Dec 5
Don't get me wrong- the JJ has most of the works you'll need as a CS undergrad, especially if Java's the only thing you're exposed to (although what that says about the reader I leave as an exercise). However it's not that hard to push the boundaries and find a few glaring seminal works either omitted completely or severely lacking in quantity.
It's not sufficient to have a solitary copy of a significant text and 20 copies of a lesser one when the latter is not only objectively better but more likely to age well, a particularly acute problem in a CS section. "Underwater basket-weaving Synergies with Java" or whatever might get mediocre kids through exams in 2011, and maybe that's all the CSI department cares about, in which case I'm wasting my time convincing them that shelling out for a few more copies of SICP every so often would get a decent return on investment. But on the off-chance that they give a shit about something other than producing fodder for cube-farms I'm compiling a list of what I think is currently found wanting.
An omission qualifies as the absence or shortage of physical copy from the shelf; I don't care if they have a link to an electronic copy on the catalogue search, I'm referring to dead trees:
If When I find any more I'll update the list.
Oct 3
...or why posting benchmarks of fib a function in x language:
- is a slightly puerile approach to discussing performance and scalability
- ignores any number of reasons why people would choose node.js, other than throwing out received knowledge for the hell of it
But with the discussion raging (it now appears Haskell is the cure after all) I thought I'd venture a clojure solution:
And the requisite benchmark of questionable utility:
With that we've proved:
- A fib function can indeed be written in clojure, and its return value piped to a web browser
- Um, that's about it
Presumably the OP will be enraged to find that clojure also has its own web server (piggybacking off aleph here). That said I didn't realise retro CGI scripting was so avant-garde in 2011; guess I'm not 'deck' enough to realise but then I don't have a fixie or an assymetric haircut either :/
Really I haven't dabbled with node much because I just don't can't warm to javascript; I find the language constructs native to lisp dialects (mostly clojure and scheme) much more elegant and alluring, but it's a subjective thing. Having grown accustomed to continuations, first-class concurrency primitives, pure functions, lambdas etc JS (and by implication node) feels like distinctly barren linguistic territory.
I only wrote this post because I was at a loose end but it is surely proof by contradiction that this dialogue achieves nothing. You need more than contrived benchmarks to qualify the shortcomings in a language. Leave them to college kids like me with nothing better to do ;)
Aug 18
It's said that more than any other programming community Lispers tend to dislike working on problems that have already been solved. But this dogmatic avoidance of duplication doesn't seem to have permeated the rubyists' zeitgeist to the same degree.
I'm not in the habit of regularly compiling ruby interpreters for the hell of it- it's something I'd do maybe twice a year tops. I recently rebuilt rubinius and ruby 1.9 for Lion and that'll probably be it for 6 months. If you keep all your interpreters in userland and you aren't such an idiot that you can't install them yourself, how is it that the nebulous concept of a ruby version manager has come into vogue?
Switching interpreters shouldn't be any more complex than having a script to symlink the executable paths for you:
A couple of clarifications:
- I install all my rubies into ~/.ruby/
- The current ruby gets all its executables symlinked into ~/.ruby/current/bin
- I added ~/.ruby/current/bin onto the end of my $PATH
- That is all
I have it saved in /usr/local/bin/si. SI is short for 'switch interpreter'. A monkey can use it, although none have been known to do so.
The hash of interpreters is hard-coded and I can't even remember what else I did to get it working but that's not the point. It's a 15 minute job I tackled and forgot about 2 years ago. Let's use some initiative, stop writing version managers and do some bloody work.
Apr 13
It is no measure of health to be well adjusted to a profoundly sick society. ( Jiddu Krishnamurti)
Why do programmers hemorrhage endless man-hours setting up some kind of CMS, configuring servers and toying with the intricacies of themes just to write the occasional blog post? It's not like any IT pro I'd actually want to have a pint with ordinarily needs to placate their narcissism that much. Without wanting it to sound like a shameless plug for Tumblr, Posterous et al, aren't blogs as a service (new buzzword eh?) a classic example of the 80/20 rule? I fail to see what value you add to your views by wasting your weekends on some batshit rails config just so you can masochistically watch it fall over if you ever find yourself at the top of hacker news.
That is all.