Live data from Hacker News

Reminder: "Broken gets fixed, but shitty lasts forever"

jamesgolick.com

21–30 of 38 posts

Re: Reminder: "Broken gets fixed, but shitty lasts forever"

#21
post #3

http://twitter.com/#!/tenderlove/status/37665907648110592 I think the responses here, and especially this blog post, are completely out of line. Yes, he's a community leader, but he still has the right to write lazy code to solve problems quickly. It's not like he published it as a gem, blogged about it, and tried to convince a bunch of people to use it. It was just a tweet about a fun hack.

Yes, maybe. But a fun-hack with the addition "should make it generic".

A quick ack VERIFY_NONE above an out-of-the-box install of a gem-loaded shopping framework reveals 6 instances of VERIFY_NONE, one of which in a function called aply_ssl_options ...

The interesting part of the OP in my opinion, is more about the copy-paste technique which makes this kind of "just use gem-install" code into back doors. [edit: deleted double post... xmonad's surprising short cuts are a blessing]

Re: Reminder: "Broken gets fixed, but shitty lasts forever"

#23
While true, it has to be balanced with the fact that you are tasked with creating a product to earn (or save, etc) the company money. Perfection can never be reached, and you have to say 'Good Enough!' at some point and just ship.

And really, if it's crappy code and lasts forever... Isn't that good enough? If you never have to touch it again, then it was as perfect as it needed to be. If you DO have to touch it, it was broken and will get fixed.

I'm not advocating writing crappy code. I'm just saying that you have to draw a line somewhere. I've met amazing coders that will fiddle with the code forever and never finish because they just keep making it better, more readable, prettier, more extensible, or some other thing forever.

Re: Reminder: "Broken gets fixed, but shitty lasts forever"

#24
post #12

I think it's a perfectly valid criticism. One of Rails' biggest influences on the Ruby community (aside from making you feel like a jerk if you don't write tests) is that there is one "best" way to do common things and you should only deviate from the convention when necessary. This is great most of the time, because it allows people to jump right into code they've never seen before (or haven't looked at in a while)…

[deleted]

Re: Reminder: "Broken gets fixed, but shitty lasts forever"

#25
Using sensible wrappers around Net::HTTP would resolve the issues with the unreasonable defaults.

Wrest (http://github.com/kaiwren/wrest) would be a good-fit here: it defaults to VERIFY_PEER for SSL connections, has client-side caching support, comes with a fluent API, redirect support, callbacks, patron (curl) back-end etc. etc.

The project is being actively maintained, and we're working to add async support using EM for now.

Re: Reminder: "Broken gets fixed, but shitty lasts forever"

#27
DO we have a term for this in the small?

Those small utilities you wrote a decade ago in perl when your company was tiny, over a couple of days that end up a staple of daily use in a company 10 years later and any attempt to re-factor or replace them 10 years way is met with extreme resistance? What do we call that - Crappy-enough software? (I say this as the author)

(Actually, going back and looking at said code, it's not badly written at all, it's entirely readable, a few perl scripts, no spaghetti, and it's clear how they interoperate just by reading them. So it's not crappy or badly written - it's just overly simplistic.)

Re: Reminder: "Broken gets fixed, but shitty lasts forever"

#28
post #17
post #16

Earlier quoted context omitted.

Oh yeah I agree that Three20 is a cluttered, monolithic mess. What I should have said was that Three20 was the first major attempt (that I know of) to break away from the strict nested-controller way of making data-driven apps by implementing a pretty nice URL-based application model. Matt Gallagher has also done a good job of deconstructing the Apple Way and try new approaches: http://cocoawithlove.com/2009/03/recre…

Does recreating UITableViewController to be slightly more flexible really constitute a new approach?

It's not slightly more flexible, it's hugely more flexible. As someone who has apps that consist of a complicated web of tableviews, Matt Gallagher's work is amazing and helped me immensely.

Although, I think this link is better: http://cocoawithlove.com/2010/12/uitableview-construction-dr...

Post reply on HN