Random Thought
The underlying principal of free-market economics is that individual actors will, in the aggregate, make optimal choices. Why should we believe this to be true?
The underlying principal of free-market economics is that individual actors will, in the aggregate, make optimal choices. Why should we believe this to be true?
Well, I'm done with another semester. That finishes off my third year here in Claremont. One to go. Woo.
As you may have seen around the Internet, there was a
fairly significant break in the SHA-1 hash function, which is used
by default in GnuPG. This is worrisome, since GPG/PGP signatures are
one of the only things I'd actually trust to verify somebody's identity
online. So I've generated a new key with a 2048-bit RSA primary (for
SHA256 and SHA512 support) and a 4096-bit ElGamal encrypting key (which
took about 15 minutes to generate, so better be worth it). The key ID is
CB8AA0FF
, and the fingerprint is
5C35 D713 3E10 9A19 FFFC F58A 68E8 3B57 CB8A A0FF
I've already gone
ahead and signed the appropriate keys with it, and I'll be revoking the
old key in a couple of months.
Oh, I suppose I should put in an actual link to the new key. Here's my key transition statement, and here's the new key itself.
If you were to examine the Code section of this website, you would find that it now contains actual, real live content. Amazing!
So, I've been mulling over this post for a
couple of weeks, ever since I bought the new Decemberists album,
“The Hazards of Love”. I suppose you could label it something of an
"indie rock opera". But, after a couple of weeks with it, I personally
would label it "The Best Album of 2009". The plot is a bit bizarre,
about a woman Margaret, her forest-spirit lover William, the Queen of
the forest, and a murderous rake, and it's a bit of a far-out story. The
idea of having an album that isn't just a collection of singles is bit
out there for these times. And, mark my words, this is not an album
full of singles. By themselves, these songs are good, but none of them
is great. However, as a whole, the album is amazing. I've listened to it
at least five times in the last two weeks, and it really is awesome to
listen to straight through.
Musically, this album clearly borrows from a lot of past genres. The second track, The Hazards of Love 1 (The Prettiest Whistles Won't Wrestle the Thistles Undone) reminds me pretty strongly of some Pentangle tracks. The prominent acoustic bass line at about 1:15 into the song could easily fit in with Market Song, Haitian Fight Song, or something else off of “Sweet Child”.
Then there's track 10, The Rake's Song, which is one of the songs from this album that might stand alone as a single. Heavy fuzz-bass, a fairly simple acoustic guitar line, and the powerful voice of Colin Meloy give this song a folk-rock-ish feel. The lyrics make it disturbingly memorable.
Let's see, what else? I suppose that no review of this album would be complete without talking about The Queen's Rebuke/The Crossing. The instrumentals on this song provide such a powerful wall of sound that it almost elicits comparisons with Led Zeppelin, Pink Floyd, or some other 70's heavy-rock band. Shara Worden's vocals on this song remind me a bit of Sandy Denny in Fairport Convention, but with a darker twang.
Track 15, The Hazards of Love 3 (Revenge!), is a bit of an oddity. It opens with the main Hazards of Love/The Wanting Comes in Waves melody, then abruptly transitions to a harpsichord and vaguely chromatic childrens' voices. Combine this with screeching strings and chopped synthesizers, and it's a seriously creepy song. Which is appropriate, I suppose, for a song about the ghosts of murdered children coming back to take revenge via patricide.
The album ends on a completely different tone, of course. The Hazards of Love 4 (The Drowned) has laid-back New Wave-y rhythms with a melody that could almost be... country? Or maybe that's just the pedal steel guitar giving me that impression. It's a completely different style than the rest of the album, anyway. But it's still excellent, and, having heard it, I couldn't picture the album ending any other way.
Just from these tracks, you can see that this album charts an enormous amount of musical space. I'm sure that it won't be for everybody. But, well, it has my recommendation.
I've been playing with The Gimp a bit recently, using edge-detection, colorization, and some other filters on some of my photos to make vaguely-abstract desktop backgrounds. I think it's worked pretty well, so I'm posting a few of the things I made here. Well, more specifically, over at Flickr]. Let me know what you think.
{.lfloat} As you may know, in the editor wars, I come down firmly on
the side of vim. Vim is a lean and effective modal editor,
contrasted with emacs. One of the features of Vim that I enjoy using
(but did not know about until recently!) is modelines. A modeline is a
small piece of text that you can put at the end of a file to give your
editor an instruction. It is generally placed in a comment. For example,
if I'm editing Python, I never, ever want to use soft tabs (well, I
generally don't like soft tabs anyway), so I might put something like
the following at the end of a file:
# vim:expandtab ts=4 sw=4
When vim opens this file, it will parse that line and pass the space-separated arguments to "set". So this is equivalent to my typing in :set expandtab ts=4 sw=4.
Another great usage of these is for setting syntax highlighting. Vim is generally good at guessing the file type for syntax highlighting from the stuffix of the file. For example, file.py will be detected as a Python file and highlighted appropriately. But what about a file like /etc/apache2/vhosts/default.conf? It should be highlighted as an Apache configuration file, but the suffix .conf tells Vim nothing. The solution here is to use a modeline. My Apache configuration files end in the line
# vim:syntax=apache filetype=apache
which makes it a lot easier to read them.
There are a few different formats. The first (and simplest) is what I have shown above: a comment character, a space, the text "vim:", then a space-separated list of arguments. There may not be any non-argument text on the line. This means that the following is invalid:
/* vim:expandtab ts=4 sw=4 */
Obviously, this is a bit annoying, because there are lots of comment-formats that require both an opening and an ending (C, Pascal, and SML come to mind immediately). There is, thus, an alternate syntax:
/* vim: set expandtab ts=4 sw=4: */
Note that the set statement is now delimited by colons on both sides. This is important! If you leave off the trailing colon, Vim will get very unhappy with you.
Another handy feature of modelines is that you can limit them by version. For example, if I want to use something that was introduced in Vim 6.0, I could use the following:
# vim600: set expandtab
The vim600 means "any version of Vim 600 or later", where 600 in Vim versions translates to 6.0.0.
Enjoy! If you want to learn more, I recommend reading the Vim documentation section on modelines or the Vim Tips Wiki article Modeine magic.
First, some background for the non-technical among you. A window manager is a piece of software that controls the windows on your computer. It will do things like placement, drawing, keybinding, et cetera. If you're on Windows or Mac OS X, you have a window manager built-in to your operating system and cannot easily change it. However, if you're on a more traditional *nix (Linux, Solaris), you are free to select your window manager. In this post, I'll talk a little about what I use and why it's awesome.
read more
Well, my job search is over. As of today, I've accepted an
offer from Google for a summer internship. I'll be in New York City
from June 1st through August 21th, working at
Google's 9th Avenue office. I'm not sure where exactly I'll be living (I'm looking to
apartments, student housing, etc., but haven't settled on anything yet),
but I'll try to keep you, my loyal readers, up to date.
It was a hard decision (I had a few offers, including DreamHost and DirecTV, plus more interviewers interested), but, I mean, it's sort of hard to say no to working for Google. It also didn't hurt that they offered me the most money. :-)
Anyhow, whee! Now I can go back to worrying about work now, instead of three months from now. For the time being, though, it's back to spring break with me.
So, I working on my algs problem set just now; which is to say, I was browsing the web and trying very hard not to think about amortized runtime analysis. Anyhow, I found this awesome webcomic called minus. I know, I know, I'm years behind the curve, and it's a little... odd. But it has a persistently beautiful surrealism to it. Anyhow, you all should go read it. And, of course, all of the other webcomics I read are listed under "Links" above.