Great Minds Think Different

Yes they do.

Tuesday, November 21, 2006

Lisp sucks, the articulate version

I have a job for which I'm supposed to learn Lisp. My employer has said to me, many times, that many people find Lisp daunting at first, but gradually get used to it and come to love it as they learn it. In all of the Lisp books I've read, in the introductions, the authors usually devote an entire section to expounding on the virtues of Lisp. So Lisp definitely has its devoted proponents, which baffles me.

It's pretty clear why most Lisp books seem to infatuated with the language. It's not just because they're books about Lisp (it's perfectly possible for a book about a language to be completely dispassionate — witness K&R, which actually points out design flaws in C on occasion). Here's the argument: first of all, new books about Lisp are no longer being written, simply because even if it ever was a mainstream implementation language, it's been soundly eclipsed by C and C++ and their ilk. Lisp is now only used in niche markets like artificial intelligence research and cognitive modeling (two related fields). Therefore, Lisp books currently in existence are generally old. Therefore, they are from an age when there were few or no compelling alternatives to Lisp as an implementation language. Lisp is a very old programming language — among those in which new programs are still written, only Fortran is older. Lisp itself is from an age of strictly procedural programming languages. In a context like that, it's easy to understand why lots of Lisp books tout Lisp as a "productivity-multiplying" language. In fact, the book from which I've learned the most about Lisp (wittily entitled "Lisp"), cites the following as a reason why any computer programmer worth his salt should learn Lisp:
Lisp facilitates procedure abstraction and data abstraction. By hiding the details of implementation from places where they're not needed, Lisp makes it easier to think about the overall structure of a program.
In response to that, all I'm going to do is point at Java. I hate to use Java as a shining example of anything other than suck, but there it is, a language that's actually gotten pretty widespread (more so than Lisp, at any rate) which makes procedure and data abstraction darn near mandatory.

Abstraction is the core of what programming language designers aim to do nowadays. Maybe the emphasis on abstraction is in fact due to Lisp (I can't deny that Lisp has been heavily influential on programming language design), but that doesn't change the fact that there are more modern, more readable, faster and better-designed languages nowadays that all facilitate abstraction just as well as Lisp. So that's certainly no longer a reason to learn Lisp.

Back to what I was saying, the reason that such a high proportion of Lisp books seem to argue that if you're going to learn a programming language, Lisp had darn well better be it, is that there was a time when, in fact, Lisp was the sensible choice if you had to choose one language to learn. I offer my condolences to any programmer who learned the craft during that time.

Still, though, it's undeniable that Lisp has properties shared by no other programming language today. I can't think of any language, even a niche one, that does symbol manipulation to the same degree that Lisp does. I'm sure they exist, but I don't know of any other languages that allow you to selectively specify symbols that shouldn't be evaluated. In any language that supports closures, selective evaluation can be faked, but it's not part of their syntax. Lisp can be procedural, functional, or a primitive type of object-oriented. Lisp source code is equivalent to data that Lisp programs operate on (i.e. source code is made up of Lisp lists); this makes Lisp a sort of mind-bending meta-language over a meta-language. Of course that's not at all useful in practice (yes, it makes it stupidly easy to write a Lisp interpreter in Lisp but it's not much harder to write one in a better language), and it comes with the crippling downside that Lisp source code is extremely hard to read. What I'm saying is that I agree that Lisp has a laundry list of features, some of which no other programming language has, and which do not all appear together in any other language. This may sound like several points in favor of Lisp, until you realize that few, if any, of those features are at all useful or productivity-enhancing.

So why are the fields of artificial intelligence and cognitive modeling so enamored with Lisp? Certainly not because Lisp is an easy language to learn. Nor, in my opinion, does it have any features or peculiarities that make it particularly well-suited to those areas. The only option left, I think, is that code in those areas started being written back in the days when Lisp was in vogue, what with its primitive object-orientedness in the face of the rigid sequentiality of languages like ALGOL and Fortran. Back then, computing was still an endeavor restricted to academia — commercial software was not being written in earnest. This is why commercial software for the mass market didn't become similarly locked in to Lisp by tradition. Nowadays, I really believe there's no particular reason to write code for AI research or cognitive modeling in Lisp. Any reason there originally was (Lisp is the best language available, Lisp does abstraction, etc.) has been completely obsoleted. It's the status quo — if you're writing AI or modeling code, you do it in Lisp because that's just how it's done. And, of course, there's so much legacy code in Lisp that it's kind of foolish to try moving it all to another language, and of course code in a new language would be unable to interface with older Lisp code. The fact that there's such a large AI and modeling code base in Lisp means that it's pretty much mandatory for a researcher in either area to learn Lisp — in a sort of throwback to the old days, if you've got to choose one language to learn, make it Lisp. And because the situation just propagates itself thus, there's no reason for a researcher to learn any other language.

So there you have it, my cogent argument as to why Lisp, an outdated and, by many standards, inferior language continues to be used in some areas and promoted for rather baffling reasons. I say cogent to distinguish it from any irate diatribes I may have posted or may post, probably centering around the fact that Lisp syntax contains way, way, way too many parentheses.

Labels: ,

Saturday, November 11, 2006

Ride the lightning

Warning: this post is completely devoid of any intellectual merit.

The Lightning Gun in UT2004 has grown on me. I used to think it was a gimpy replacement for the original UT sniper rifle (which I guess was deemed overpowered), but I've gotten used to it. I thought its two main disadvantages (incredibly slow rate of fire and slight delay between pressing mouse and actual firing) made it worthless.

Then I played a deathmatch on skill level "Skilled" and went through the entire game (25 frags) without dying, using only the Lightning Gun. This was mainly thanks to the Damage Amp and the Berserk adrenaline combo, along with the fact that I started adjusting for the trigger lag and I was really good at aiming for a couple of minutes. But seriously, Lightning Gun + Damage Amp + Berserk = RIDICULOUS UNSTOPPABLE ZAPIFICATION MACHINE.

I can't score headshots with any reliability (when I do, it's just luck), unlike in the original UT where I could use the Sniper Rifle and never get anything but headshots. I think this is because the character models in UT2004 are all stupid and have their heads merged into their torsos, whereas the UT characters had discernible heads.

The Lightning Gun is awesome. The same cannot be said of the UT2004 Flak Cannon. It was by far my favorite weapon in the original UT (according to my stats, in all the time I've played the game I've scored 5419 frags with the Flak Cannon, with the Sniper Rifle in second place with 1715 frags). In UT2004, the weapon's dynamic is completely different. First of all, it's actually a viable medium-long range weapon now because the bits of flak shot out by the primary fire don't seem to be subject to gravity. But this change seems to coincide with a change in the speed of the projectiles, which completely throws off my timing. The secondary fire is now completely impotent. I guess the designers supposed the primary fire's long range would compensate for the secondary fire sucking. But that means the secondary fire is now redundant, because you can't use it at short range — you'll kill yourself.

Oh well, can't have everything.

Labels: ,

Friday, November 10, 2006

Yet more random news about idiots

Dead Woman Wins Local US Election

OK, the stupidity of the voters of Jerauld County amazes me. If you had a chance to elect someone named Merlin, why wouldn't you??

Labels:

Thursday, November 09, 2006

Scientific research debut postponed

Backside Firework Prank Backfires
A man suffered internal burns when he tried to launch a rocket from his bottom on Bonfire Night.
I have nothing to say about this.

Wednesday, November 08, 2006

From the Department of Duh

Here is an article. Allow me to summarize the conclusions this "revolutionary" study reaches:
  • Boys and girls are different.
  • Girls are better at emotions.
  • Boys are big stupidheads.
  • Hormones make both sexes go completely batshit.
Uh...tell me, where's the news in there?

Seriously. Here:
Due to this revolutionary technology, we now know that areas for emotional memory and communication are larger in the female brain, perhaps explaining why, on average, women remember fights that men insist never happened, and why women use 20,000 words a day, while men use only 7,000.
Translation: "Women are grudge-holding whiny beyotches, men are dumb." It's nice to know that gender stereotypes have basis in science.

Another one:
The teenage male brain reorganizes too. Flooded with testosterone, many become absorbed in sexual fantasies and the need to masturbate.
Good God, this hasn't been news since testosterone was invented.

And here's the topper:
"...Of course, little boys and little girls act differently. Adult men and adult women act differently, too. But it has really been ignored until probably the middle '90s."
If by "middle '90s" you mean "Ice Age", then yes. Otherwise no. Somehow, the cavemen worked out that the dudes would go out and chuck sharp things at mammoths and play with fire, and then come home to burp, watch football and scratch their crotches, while the chicks would stay home and clean the cave and cook the mammoth and watch the kids and nag the dudes for leaving their dirty socks on the floor. They didn't need a bunch of "scientists" to tell them to do that.

If all you need to do to break into scientific research is state the incredibly obvious, then I can do it too. Watch this space for my début as a leading researcher.

I suck

Last night, I watched part of VH1's "100 Greatest Songs of the 80s". Most of them were songs from artists that I know were popular but I'm not really interested in, like Duran Duran. If you remember, a few posts ago I said something about how Iron Maiden, Van Halen and Guns 'N Roses defined the 80s. Well, I would just like to amend that, get rid of Iron Maiden and replace it with the band that is seriously the best hair metal/just plain wacky awesomeness band of all time:
DEF LEPPARD!
"Pour Some Sugar On Me" was the second place song (second to some Bon Jovi song). When it came on I was like "WOOOOOOO" because it's an awesome song. Awesomer than cheese. As they said on the show, it is the ultimate strip club song. Joe Elliott himself was on the show, saying, "When it says 'you got the peaches, I got the cream', WE'RE NOT TALKIN' ABOUT PEACHES AN' CREAM, KNOW WHAT I MEAN?" It was great. Yes. That song is 80s hair metal embodied within a song. And 80s hair metal is good.

Speaking of GNR, "Sweet Child o' Mine" was 7th on the 100 Greatest Songs list. That made me happy. I do think "Sugar" deserves a higher spot because it's just so 80s, as in, "LOOK AT ME, I HAVE REALLY TIGHT PANTS AND POOFY HAIR AND WOO GIRLS ARE FUN". Being a rock star in the 80s must have been so great.

Labels:

Tuesday, November 07, 2006

Election day

I just got back from casting my ballot. When I got home, I thought to myself, "Which news source do I trust to give me the most accurate, unbiased news about how the election is going?" I came to the rather unsettling realization that I don't trust any of the major US news outlets to give me accurate, unbiased news about the election. Then I came to the realization that cheese is good, so I went and ate some cheese. But that didn't change the fact that I don't trust any major news media players to do what they're supposed to: supply accurate, unbiased news.

The source that came the closest to earning my trust in that little moment of reflection was the New York Times. Then I was unsettled again when I read one of the top headlines on the main website: "As Voters Pass Judgment, Many Confront Technical Bugs." My voting district wasn't using Diebold machines, thank God, but from preliminary reports it seems that the Diebold machines are again throwing monkey wrenches in some already bollocksed works. Honestly, if I were the government, I would be like, "Diebold, you suck. You're completely incompetent at making the machines that the voting public trusts to convey their votes, which determine who's in charge of the country. A block of cheese could do a better job than you. DELETED." Then I'd slap them upside the head six times. Then I'd probably slap myself upside the head eleven times for allowing Diebold machines to be used to elect me, again, but that's beside the point.

Here's a thought I had while I waited for the nice 400-year-old lady to find my name on her giant list of voters: either democracy really isn't all it's cracked up to be, or people don't realize it. Otherwise, why would so many people pass up the opportunity to do exactly what democracy is all about? Everyone I know here hasn't voted, here or in their home states. And I know they're not apathetic about politics, either. Maybe it's because an individual's vote has zero tangible impact on anything. Knowing that, a lot of people don't get enough satisfaction from voting to justify the bother of registering and going to the polling place. I mean, voting took an hour out of my afternoon that I could have spend doing more fun things (like eating cheese). But I figure that if I vote, then I've earned the right to bitch about politics. And, for some reason I can't really pinpoint, I felt like I should vote, even though I really don't care that much about who governs or represents the state. I dunno, maybe I'm not such a cynic after all.

Labels:

Monday, November 06, 2006

That time again

It's at times like this that I wish Bloom County were still around. By "times like this," I of course mean election season in the US.

Bloom County did political satire almost without equal (except perhaps Doonesbury). During presidential election years (there were two during Bloom County's run, '84 and '88), the political satire would go into overdrive. The cast would hold a caucus of their party, the National Meadowcrat Party, and inevitably choose Bill the Cat as their presidential candidate. This despite the fact that Bill was in a catatonic trance one of those times and dead the other time. I think it's rather an exaggeration to say that presidential candidates are spaced-out wrecks who just sort of loll around and go "ACK" all the time, but that's what makes it funny.

Where BC's satire shined was its lampooning of the entire climate and commotion surrounding what is, at its core, theoretically, a very simple process. It took shamelessly overt shots at both political parties, sometimes because of ridiculous characteristics particular to those parties, and sometimes just for being political parties and thus ludicrous.

BC balanced political satire with humor; it never got too preachy or vicious. Even though I don't know much about 80s politics (except Michael Dukakis sucked and Reagan was president for most of the 80s), it's still funny to me.

Speaking of elections, if you live in the US, go vote tomorrow.

Sunday, November 05, 2006

Oh noes

I was reading "Ghost Rider: Travels on the Healing Road" by Neil Peart, when I came across a certain passage and my world suffered a sudden, catastrophic bouleversement.
More good music on tonight. Some tracks off "Nirvana Unplugged".
Neil Peart, who is Drumming Incarnate (he is a physical manifestation of drumming itself), thinks Nirvana is good music. Oh God. Oh God. What am I to think? Here I was thinking that Neil only liked music befitting a man who is a physical manifestation of an art; that is, music that is either outside his genre (e.g. jazz, which he does like) or music of his genre produced by musicians even greater in stature than he (e.g. the Beatles, whom he does like). He likes Nirvana? What the hell? Nirvana is for angsty, rebellious kids who were teenagers in the mid-to-late 90s, not for people who are Drumming Incarnate.

Still, is there something to this? There's a good argument to be made that Nirvana is (was) a "greater" band than Rush. Although nowhere near as virtuosic (or long-lived), Nirvana certainly achieved greater commercial success and recognition than Rush did. Nirvana entered the public consciousness in the 90s; they defined the 90s rock scene. Many years later, when people write histories of rock music, Nirvana will be one of the bands that goes down as one of the seminal bands of the decade, much like Led Zeppelin and Black Sabbath defined the 70s and Van Halen, Guns 'N Roses and Iron Maiden defined the 80s (this is so debatable it's not even funny, but I think this is a decent shortlist).

There's no way one can argue that Rush defined any decade of music. They just weren't popular enough. They reached their peak in the late 70s and early 80s (with Moving Pictures) but even then, the average person wouldn't have heard of them. I'd argue that they were hugely influential on the genre of progressive rock, but influence doesn't exactly equal success, and progressive rock is sort of a fringe genre anyway. And, of course, in terms of musicianship Rush has few equals (Nirvana most certainly not among them). It really depends on what definition of "greatness" you use, obviously. But under several definitions (just not any that matter to me, personally), Nirvana is a greater band than Rush. So is it really so bad for Neil Peart to think Nirvana is good music?

Well, it depends on his definition of "good music", of course.

Labels: