HN user

avdi

156 karma
Posts4
Comments28
View on HN
Where’s _why? 14 years ago

I dunno reg, it struck me as ordinary journalistic due diligence. Showing up at his doorstep might have been a bit much (although we praise reporters for doing that in cases with just slightly more scandal than this one). But she didn't do that.

Overall, I thought it was one of the best-written pieces of of mass-market journalism about our community that I've read in... well, years actually. Stuff like this should be encouraged.

I deliberately used a dated example because I figure it would probably ring a bell with a lot of people. Realistically this is a choice a lot of people were probably making around 5 years ago, and the answer at the time would almost undoubtedly have been PHP. Or Java/JSP. From what I've seen I think PHP is a pretty horrid language, and we all know how boring Java is. But the point is five years ago they were both well documented and it was easy to find answers if you got stuck, which wasn't as true of the others, especially for web programming purposes. Once you learned PHP it would have been pretty easy to understand where Rails or Django was coming from as they became popular, and "get" how they differed from PHP and why it mattered.

Confident Code 15 years ago

I almost invariably isolate any API calls behind some kind of wrapper facade. In fact, a lot of the presentation is about exactly that: adapting Ruby's IO primitives--which can raise various exceptions, and may return a process exit status in the form of a global variable--in code that isolates their idiosyncrasies.

Confident Code 15 years ago

Footnote to (a): except for the slides which are intended to be unreadable because they are about the shape of the code rather than the content. An effect that works very well across a room but which is rather lost when viewing the slides on the web and without narration.

Confident Code 15 years ago

I'm not sure what you're getting at here, other than that trying to treat an array of arrays as an array of Hashes is a bad idea.

Confident Code 15 years ago

Hi HN. If you get some value out of these slides, great! But please, do me a favor: don't try too hard to construct a narrative from a stack of slides which:

a) represent about 15% of the actual semantic content of the presentation; and

b) are shaped by the consideration that there's a limit to how much code you can put on a slide and have it still be readable.

A lot of this material has been covered in more detail on my blog (http://avdi.org/devblog) For instance, I wrote a whole article about Maybe, NullObject, and the limits of the ability to make objects falsy here: http://avdi.org/devblog/2011/05/30/null-objects-and-falsines...

I had someone else report an IE7 crash recently. I wish I could narrow down WHICH JS is the problem. It's just stock WordPress+various widgets.

Ruby has a public/private divide which can easily be circumvented. But the circumvention is a bit ugly, which is a good thing - it makes the circumvention obvious in the code.

Personally, I think Ruby hits a sweet spot here: the privacy curtain is strong enough that Ruby WILL let you know when you've stepped off the path of using methods which are part of the stable API. But you can then tell Ruby "yes, I understand, and I know what I'm doing".

Heh. I love that you can publish dozens of technical language-tips articles in relative obscurity, then have one purely philosophical post shoot up reddit and HN - and all the language lawyers come out and quibble about the code samples!

Not that I'm complaining, mind you, I actually learned something from this comment. Thanks!

All of the alternative tools - bzr, hg, darcs - have highly optimized protocols as well. This may be a documentation issue - I've never seen documentation for using a dumb server with git. Also, can clients submit changesets back via simple FTP? Darcs can, IIRC.

I didn't "heap together a few complaints out of a day's worth of tweets". That's a single contiguous chunk (spanning less than an hour, as you can see) of the results for "GitHub" on search.twitter.com yesterday.

As a committedly multilingual prgrammer, I'm not sure what you mean by saying I think in Blub (and yes, I'm familiar with that article). Is it because I failed to note that Lisp is in many ways far more powerful than Ruby?

I don't think it makes a particularly good case for AOP myself. AOP is just another, slightly more structured, form of the same thing - a structured COME FROM (see INTERCAL), if you will. The ability to globally append to or modify arbitrary functions in existing code is no substitute for a) limited extension within the scope where the extension is actually used and b) actually coding classes with well-documented extension points, whether Emacs-style "hooks" or some other mechanism.