Network knowledge « BuzzMachine

Knowledge, he says, “has been an accident of paper.” We convinced ourselves that a set and knowable worldview was possible because the media into which we put our information created that comforting expectation. Same goes for news: “All the news that’s fit to print” is the greatest conceit imaginable: that everything that matters happens to fit in what we can afford to produce. We know so much better now.

Why I'm Interested In Haskell - iRi

I see Haskell as a collaboration between academics and some of the more academically-inclined practicals to attempt to create a truly useful language whose state space encompasses a wide set of useful things while retaining as many of the state-space-reducing properties of their beautiful theories as possible. It is a unique-to-my-knowledge blend of the practical and the academic.

Consequently, the Haskell community is the only community I know that is doing new things in the field of language and API design. The Haskell community is not just shuffling around objects and global state and adding a dash of syntactic sugar and converging on another dialect of CLispScript, they are breaking genuinely new ground. As far as I know they are the first language to take being functional completely seriously and not just provide convenient escape hatches back to imperative-land when they can't figure out how to do something purely functionally, and still strive to be a practical solution to real programming problems, and therefore they are the first sizable community actually trying to build real, useful systems out of the reduced-state-space tools.

I'm just finishing up the Haskell chapter of Bruce Tate's "Seven Languages in Seven Weeks", and I definitely need to drill deeper into Haskell. Clojure looks very interesting too.

The Best and Worst Jobs of 2011 - WSJ.com

Software engineer Jesse Severe says he can pretty much throw a dart on a map and find a job. The 41-year-old from San Diego says he's contacted by headhunters at least once a month, at times has been able to work from home for half his workweek and makes a comfortable living.

All those factors and others landed software engineer in the No. 1 spot on a newly-released study of the 200 best and worst jobs by CareerCast.com, a career website owned by Adicio Inc. (Until last year, Wall Street Journal owner News Corp. held a minority stake in Adicio.)

The most reassuring part of this article? "The 41-year old..." Age discrimination is a serious worry for my tribe; approaching 50 as I am, it's good to hear that we're doing well.

Working hurts less than procrastinating, we fear the twinge of starting - Less Wrong

When it comes to procrastinating, the obvious, salient, commensurate-seeming tradeoff, is between the (assumed) pleasure of reading a random Internet article now, versus the (assumed) pain of doing the work now.  But this, as I said above, is not where I think the real tradeoff is; events that are five minutes away are too distant to dominate the thought process of a hyperbolic discounter like a human.  Instead our thought processes are dominated by the prospective immediate pain of a thought, a cost that isn't even salient as something to be traded off.  "Working" is an obvious, salient event, and "reading random articles" seems like an event.  But "paying a small twinge of pain to make the decision to stop procrastinating now, exerting a bit of frontal override, and not getting to read the next paragraph of this random article" is so map-level that we don't even focus on it as a manipulable territory, a cost to be traded off; it is a transparent thought.

This is brilliant stuff, but phrased in a very geeky way. that does appear to fit the target audience -- I found this article through Hacker News -- but as one HN commenter pointed out, this is not just a problem for programmers; it's true of virtually any kind of creative undertaking or 'knowledge worker' task. How could this be stated in a more approachable way?

Stop Googling

Yesterday, one of my inter-web buddies IM’d me and asked if I had used Typhoeus before. I said yes, so he asked me if it was possible to follow redirects using it. He said he google’d it and nothing turned up.

I sharply responded, “LOOK AT THE CODE!”. We had some banter back and forth and a few minutes later he was automatically following redirects. It seems these days that developers often think if something does not turn up in a google search, it does not exist.

Put Another Nickel In

So, I finally signed up for a paid music service: Slacker Radio. I'd been listening to the free version for a few days. It seemed to have the right set of features for my expectations -- bunches of genre-specific channels, and a recommendation I can have fun confusing. (It's a game I like to play: stump the recommendation engine. I feed in Steely Dan, Massive Attack, Sarah Vaughan, Frédéric Chopin, Weird Al, and a Gregorian chant or two; and tell it "recommend something, I dare you".) But I got sick of the commercials, so I upgraded. Technically, I'm still on the free trial, but I had to enter my credit card info even for that.

Speaking of manifestations of the terpsichorean muse (and the Firefox spell checker gets a point for knowing how to spell 'terpsichorean'), I've got a persistent earworm: "Something the Boy Said" by Sting has been running through my head for several days now. I don't dislike the song; but it's not my favorite, in fact it's not even my favorite from that album. I have no idea why it's stuck in my head, and has stayed there despite listening to it several times. (That often cures an earworm for me, but no such luck in this case.) On repeated listenings -- real and obsessive-imaginary -- it does strike me as a very Police-y tune, in the vein of "Wrapped Around Your Finger" or "Tea in the Sahara"; I can easily imagine Andy Summers and Stewart Copeland playing it. (There'd be more flourishes in the drumming, though; I don't know if that would make it better or worse.)

The album that song came off of, Ten Summoner's Tales, is one of my desert island picks, even if the list were as short as five albums; there's a lot of very good material there. (Though as is often the case, the flagship single from the album, "Fields of Gold", leaves me unmoved.) "Seven Days" and "St. Augustine In Hell" are great fun; "Shape of My Heart" is simply sublime; "Love Is Stronger Than Justice (The Munificent Seven)" is ... forgivable; and the 'eleventh tale', "Epilogue (Nothing 'Bout Me)" is a nice bouncy finish. It's good enough that I didn't regret the breakup of the Police after that; if that's what it took for Sting to do that kind of music, good for him.

I haven't paid attention to Sting in a while; I was WILL YOU SHUT THAT BLOODY BOUZOUKI UP!

... sorry. Anyway, seeing him listed in the 'soft rock' and 'easy listening' category, along with Celine Dion and Kenny G, left a bad taste in my mouth. It also rubbed me the wrong way to see him doing softer, acoustic remakes of his older works: to me it seems like a way of pleasing crowds and selling discs without covering any new ground musically. Granted I've heard only part of his modern output, but nothing I have heard of his has grabbed me since "We'll Be Together".

But, I've never believed that music comes with an expiration date. I think I'll queue up Synchronicity in Winamp and chill for a bit. See you when I'm back from 1983.

D versus Go: Geek Smack-down!

Er, not so much. It's the rarest of things, a rational, polite discussion of two competing technologies: in this case, Google's Go programming language, and the independently developed D programming language. From the sound of it, Go has simple goals and meets them admirably; while D -- at least the second version of the language, where development is now concentrated -- is more ambitious but not yet fully baked; Go and D are apparently designed as successors to C and C++ respectively.

There are plenty of other contenders out there. There seems to be an idea in the air, that we need a new system programming language. I tend to agree. C++ was meant to be a successor to C, but by forcing all features to be upward-compatible with C, it left behind C's primary virtue of simplicity. Java was intended as a successor to slash replacement for C++, but it left C even farther behind, adopting a virtual machine and sacrificing the ability to run on bare hardware. The dynamic languages -- Perl, PHP, Python, Ruby -- saw fair to unseat Java, at least in some domains, but did so at the expense of pure performance.

Meanwhile, those building the infrastructure -- operating systems, networking stacks, and compilers and interpreters for all the above languages -- continued to use C, whatever its shortcomings, because nothing else quite fit this very large and important problem domain nearly as well. Now people are starting to notice that our critical infrastructure is all in a language designed nearly forty years ago.

It's no sign of disrespect to Dennis Ritchie and his colleagues to think that maybe we've learned a thing or two about programming languages in the last four decades; if nothing else, we know by now what all the pain points are in C. One would hope we could come up with something better by now, as long as we keep our focus on the right problem domain: system programming.

For someone like me, it's fun to watch something like this unfold; it's like the Olympics for computer geeks. Without the vuvuzelas.