Perhaps most psychotic is Paul Graham's family of admirers, which includes me. We have been clamoring for YEARS for the Grahamster to release Arc, and lo and behold, he finally has. This news was met with resounding cheers, but even before these cheers had begun to soften, dissenting voices arose. Many people, far too many people, were quite displeased with the fact that Paul had neglected to support UTF-8. This move pretty much shuts out the non-English speaking world from using Arc, at least for the time being. He has also taken some flak due to the languages inherent terseness, almost to the point of unreadability. Upon reflection over a dinner at Crapplebee's concerning functional programming, the misuses of Python, and many other topics with one John Watson, he mentioned that the code was extremely difficult to unravel based upon its output. Now if most people said this, I might snort slightly and point them politely towards grep, but Watson knows what's up. He searched high and low for various strings output by the blog example (not the least of which was how the URL is generated), and came up empty. Both of us agree that Paul's propensity towards three-letter commands may be hindering the readability of his code, but we are both tremendously excited to be among the first to use an interesting and powerful new functional programming variant. Imagine being there when McCarthy produced the first variety of Lisp! The ability to arrive on the ground floor is boundlessly exciting.
Not much else to report. I added some links to my link page. Some good sites to check, I left uncov up there even though Ted has stopped updating, which is extremely sad. That was one of my favorite sites to waste time on. The archives are all still there, and all of them are worth reading.
This is the first of a series of journal entries for my AI class, taught by Wheeler Ruml at UNH. Each entry is meant to be a retrospective of sorts about my reactions to the class, and to various interesting parts of artificial intelligence in general.
I was interested to learn about A*, a search algorithm which I had heard much about but never actually investigated. After reading a brief overview about in in Wikipedia, I became curious about some of the other state-space search algorithms that returned admissible results. Some digging around revealed B*, which seems quite similar to A* except for the fact that it uses intervals for each node in the search tree as opposed to single values. I would be curious to see if this is ever faster than A* for a common problem; obviously it must be faster for some cases, but which ones? It would be interesting to run both algorithms on a variety of sets of data to benchmark one versus the other.
I also discovered the Bellman-Ford algorithm, which piqued my interest when I noticed it solved a problem posed by Brad Larsen in class. Brad had noted that negative edge weights often played havoc with some of the algorithms we discussed, so I was pleased to notice the BF algorithm, which is a variant of Dijkstra's shortest-path algorithm which accounts for the possibility of negative edge weights. Instead of choosing the minimum edge weight path to expand, it expands all the paths and adjusts those that are negative until no negative edge weights remain. It seems a little counter-intuitive the way it is described here, and I wonder if it could be better explained. It seems to be used in some forms of routing in that all nodes in a network are constantly examining nodes they can reach, noting the shortest path, and propagating this information about the shortest path outward upon the network. Interesting stuff!

I was going to call this one "No blasters! No blasters!" but it didn't make much sense, and two Star Wars titles in a row is too much for even a gigantic nerd like me to stomach. Not that the current title is all that great...fuck it.
Anyway, whilst eating lunch with my pal B. Larsen* he mentioned the quintessential programming language shoot-out, which I had not seen in quite some time, and is worth taking a look at if you haven't seen it in a while. It includes many hip new languages like Erlang and Ruby, and is quite detailed in how the languages are benchmarked.
Among the most interesting pieces of information are the outliers. Everyone knows C is fast. But Haskell (a favorite of Larsen's) and Steel Bank Common Lisp (my langue de plume) both are much faster than I might have guessed. And look at Ruby and PHP! Ruby is 54 times slower than C!** All this definitely makes for some interesting discussion. One cannot help but wonder why so many startups seem to favor such slow languages...
* His blog will likely never be updated again. November! Unbelievable.
** Yes, I know Ruby 2.0 will be much, much faster. Even so, a great deal of web startups use Ruby NOW. I question their judgment.
So once again I take up the task of laying down some of my thoughts about the whole world, and why it kind of sucks, and why some parts of it are awesome. It is kind of an exercise in vanity to assume anyone is reading this, but I kind of enjoy going back and re-reading my ridiculous shit, especially the parts of it that almost made sense.
So what made me decide to start blathering on again? Unless you live under a rock which doesn't happen to get cable, newspapers, or radio, we are in some trouble. People are screaming their heads off about the end of the financial world as we know it, and some of it actually seems to have less than the usual amount of hyperbole.
But who cares? Programmers should. Yahoo! is not, nor has been for quite some time, a front runner for web searches. Their day in the sun passed a while back. But a 700-person layoff at a major tech company is a bad indicator for programmers in general. One can't help but wonder if the mini-bubble driven by Google's insanely high stock price might collapse under the weight of such dire financial news. If this happens, VC for web startups may evaporate.
However, since no one can predict the future, people are going to soldier on relentlessly with their startups. Really, there is little else to do. The odds are against success all along, what could a little recession do to the odds that would make them any worse?
EDIT: Looks like I'm not the only one curious about the recession's effects: http://news.ycombinator.com/item?id=101703

There are certain computer programming languages now in use that attract a weird following. Ruby has become a really fanatic-attracting language to the point where if I meet any Ruby developers at a party I just sort of edge away from them assuring them that I know exactly how awesome Ruby is and that I sacrifice a goat to Yukihiro Matsumoto every night, screaming and gibbering snippets of Ruby code while I slay the beast.
As weird and clique-y as they are, they always seemed kind of sane compared to the Rails people I met. For those of you unfamiliar with this term, I congratulate you. You are probably doing something important. Even if you aren't, it's still sort of pleasing to me that you aren't familiar with this buzzword-laden nightmare, much less one of these deranged individuals trying to tell me that my CS degree was worthless, and that I should have focused in "business science" with a minor in "information." *
Now, I would like to start a startup. And while that means taking a certain amount of good natured ribbing about Web 2.0, I am kind of tired of people assuming I am tasteless enough to use this shitheap. And now I have been vindicated by an unlikely source: a leader of the Rails community!
Or an ex-leader, I guess. It's always kind of cool when someone fairly well-respected by a large group loses his shit and denounces his following. Zed Shaw is the Jim Jones of Railstown.
I look forward to reading his updates, and so should you. Another voice is added to my choir of profane blogs I check from work every day!
* Actual quote from Rails-jockey I met in Boston once upon a time.