Archive for the ‘News’ Category

Serving the Past Future

Friday, June 12th, 2009

I added a link to the Time Traveler Convention on my notes a while back.  Figured I’d propagate it here too.

Original Link: Time Traveler Convention
The Time Traveler Convention
May 7, 2005, 10:00pm EDT (08 May 2005 02:00:00 UTC)
(event starts at 8:00pm)
East Campus Courtyard, MIT
42:21:36.025°N, 71:05:16.332°W
(42.360007,-071.087870 in decimal degrees)

Analogs and Parallels

Saturday, January 12th, 2008

I’ve been reading a book titled Dreaming in Code recently, which is a rather extensive case study of the development of an open-source project named Chandler. Many of the lessons and references to programming in general have hit home with my experience. Things like the fact that many programmers would rather program than eat or sleep. In fact it is 3:13 AM right now and I’ve been reading a bit about Knuth’s Literate Programming effort – something that I am sad to say that I don’t know nearly enough about. Evidently the faculty at UNL doesn’t put much stock in his CWEB language. Or at least not at the under-graduate level. Either way, I’ve never written a program using it.

I often wonder what the distinction between mere random behavior and intelligence is. Good ideas are usually born from the ashes of old ideas (formulas, conjectures, and theorems in the parlance of mathematics). Two un-related ideas can be combined in a moment of ingenuity into something awesome. I do not believe in pre-determination or true chance. But of course, you would expect me to say that.

I started a post a while back (which I haven’t finished yet) named “Semantic Comments.” When I happened to come across Knuth’s Literate Programming effort earlier this morning, I was struck by a sense of deja-vu but with a twist. Knuth strives to define meaning in English – a language accessible only to humans. I would prefer to define meaning in terms accessible to both humans and machines. It bothers me that comments are seen as an after-thought – something that the computer shouldn’t have to deal with. It just seems that we lack the precision to express our thoughts accurately.

I started this post with the desire to discuss the Turing Test and online chat bots. Somehow in the last 50 years, despite rapid improvements in memory and processor speeds, a truly intelligent conversation with a machine still eludes us. Some people, like Ray Kurzweil, would argue that we just haven’t reached a sufficient point of maturity in hardware to emulate human brains. Why must we resort to emulation, however? Are we not clever enough to figure out a solution without reverse-engineering ourselves?

Anyone who has spent more than 30 seconds with a modern chat bot will clearly notice a complete lack of depth. Projects like A.L.I.C.E. can seem to be responsive and mildly entertaining, but there is a definite sense that you are talking to a brick wall. My gut feeling is that people who write chat bots focus too much on the details. The bot has to be able to remember your name, or parse a sentence like “I hate you” and respond with a quip. Where do these requirements come from? In their effort to write a “convincing” chat bot, these authors miss the point: creating an intelligent system that can think and respond to your actions.

If I write 2+2=4, most anyone with a basic education will understand what I mean. Language is built upon successive levels of knowledge – all starting with interpretations of the real world. We know what the word “Apple” means depending upon the context. But constructing a chat bot is inherently out of context. It would be as though someone stuck you in a dark room and translated Chinese to you one word at a time and gave you no access to the external world.

So rather than focus on the arcane methods of sentence parsing and learning models, perhaps what chat bots need is a good dose of reality. Nothing less than a whole solution will suffice. You can’t eat Chinese food with a toaster.

Code Mountain

Wednesday, November 28th, 2007

I came up with an idea this afternoon for a source code visualizer for Enterprise solutions. Basically it would provide a source code cloud built from files and their dependencies. Each cloud would be a logical block (function, if-statement, loop, etc.) and the user would be able to zoom in/out to any level as needed. You would then work on an application as a whole rather than on a set of files. Everything would still be saved out to standard files, but the entire application would be accessible in a visual manner that wouldn’t require lots of commands to open and close said files.

Basically I want to be able to quickly move between parts of a project using the Mac OS X Expose feature, but without subjecting myself to Mac OS X. I also want seamless integration with VIM. CloudVIM if you will…

The app would also tie into another idea I had a while back: multi-history versioning for files.  Basically I want to be able to view the state of a file at any given point during my editing session, even if that means branching into multiple edit histories.  Combining these ideas into CloudVIM would allow a developer to easily navigate to any source code at any time within a specified timespan.  Coupled with SVN for storage this would provide a powerful debugging model I think.

We need a good use for 1TB hard disks anyway.

Dust Bunnies

Monday, November 26th, 2007

I exorcised the demons from my laptop over the Thanksgiving break.  Turns out that running an Athlon 64 at 2.0GHz with 3+ years of dust collection is a bad idea.  I had been forced to run everything with the power savings set to maximum (which under-clocks my CPU to 800MHz).  Running anything CPU intensive would ultimately lead to programs crashing as the poor CPU attempted not to DIAF.

Airspeed Velocity of an Un-Laden Swallow

Tuesday, November 20th, 2007

European: 24 mph

http://www.style.org/unladenswallow/

Megan (one of my co-workers) was repeating Monty Python lines this afternoon. Figured I’d dig up a proof of the airspeed velocity of an un-laden swallow from Google.

Power Corrupts?

Wednesday, November 14th, 2007

Well I finally decided to extract my copy of Wordpress and get things rolling tonight. I spent a good number of hours a couple of weekends ago getting software updated on my dedicated server and removing the Plesk admin interface that had been pre-installed about 2 years ago. As I have been configuring my copy of Wordpress, I stopped to ponder why I need to have control over where I host my files…

It isn’t as though hosting my automagic musings on another server would really be all that bad. I wouldn’t have to manage the software updates or keep track of bugs and hackers. Yet despite the risk of screwing things up, I still prefer having control over my data. I pay a monthly hosting fee to have access to a linux system which I’m free to do with as I wish. I enjoy that freedom.

Short Version: Programmers <3 control.