Live data from Hacker News

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

jamesgolick.com

11–20 of 38 posts

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

#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) and know exactly what's going on without having to follow a bunch of code paths and random classes. Having trouble with a poorly documented gem? Just jump into the code because all gems are laid out the exact same way.

However, often when you know something is pretty standard functionality (like doing an SSL request with net/http), you know it's been solved many times before and just find the first article on Google about it and do it that way. And you're about 100 times more likely to just blindly copy and paste the code when it comes from the guy who wrote the most popular Ruby HTML parser.

I see the same thing all the time in iOS development. Everyone just uses the same patterns that Apple puts in their documentation, which is why Joe Hewitt's Three20 framework was such a big deal.

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

#13
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)…

Is "the guy who wrote the most popular Ruby HTML parser" actively promoting this, though? I know that everything thinks Twitter is an advertising platform, but it could be he just thought it was a cool hack and wanted to show his friends. It's invigorating to get positive feedback about something you think is cool even if the actual feat accomplished is relatively small, like flipping a flag on Ruby's SSL module.

He didn't write a tutorial based on this methodology and I definitely don't see it pimped around anyway. gist is a pastebin, after all.

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

#14
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.

It's also a little cowardly to write a post like this and then disable comments on it.

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

#15
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)…

..which is why Joe Hewitt's Three20 framework was such a big deal.

Three20 wasn't a big deal because it was different from Apple. The noise behind Three20 is that it was (and still is, to a large degree) a cluttered mess of a framework that made it near impossible to use one part without importing the whole thing. I believe that Joe Hewitt has basically said as much on Twitter as well.

If you were to instead point out Apple's template code as a good example of code that is widely-used and not very good, you would have a much better analogy..

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

#16
post #15
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)…

..which is why Joe Hewitt's Three20 framework was such a big deal. Three20 wasn't a big deal because it was different from Apple. The noise behind Three20 is that it was (and still is, to a large degree) a cluttered mess of a framework that made it near impossible to use one part without importing the whole thing. I believe that Joe Hewitt has basically said as much on Twitter as well. If you were to instead point ou…

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/recreating-uitableviewcontr...

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

#17
post #16
post #15

Earlier quoted context omitted.

..which is why Joe Hewitt's Three20 framework was such a big deal. Three20 wasn't a big deal because it was different from Apple. The noise behind Three20 is that it was (and still is, to a large degree) a cluttered mess of a framework that made it near impossible to use one part without importing the whole thing. I believe that Joe Hewitt has basically said as much on Twitter as well. If you were to instead point ou…

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?

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

#18
post #9
post #6

Earlier quoted context omitted.

The fact that you can't delay "forever" is a cheap semantic trick. You can delay for so long that you run out of money / investor patience. There's a vast graveyard of game companies which can attest to it.

I suppose one has to excuse Gabe Newell for not understanding this, because his company has been unsuccessfully trying to go out of business in exactly this fashion for most of its existence. Their failure to go bankrupt during any of their long delays is as notable and impressive as any of the games they've actually shipped.

Valve is an extraordinary company. That quote does not apply to non-extraordinary companies and hence is idiotic to repeat as a general rule.

It is as meaningless as if you quoted Feynman saying "think about a problem long enough and you'll solve it".

The implicit assumption in either case is one of an underlying quality process and that is one helluva an assumption to make.

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

#19
I find it repulsive that poor diligence on the part of a programmer can be blamed on some ‘community leader’ setting a bad example. As a programmer, all code that goes into your project is your responsibility. When things go well you’re the only one who gets paid, therefore when they go wrong you’re the only one who should get the blame.

See also: http://enfranchisedmind.com/blog/posts/fyi-my-open-source-us...

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

#20
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.

[deleted]
Post reply on HN