Keeping the Past Straight

Short synopsis of school and work and its impact on my life.

1988 K
1989 1
1990 2
1991 3
1992 4
1993 5
1994 6
1995 7
1996 8
1997 9
1998 10
1999 11
2000 12
2001 F
2002 S OA
2003 OA
2004 J OA
2005 S OA-aij
2006 S aij
2007 aij
2008 aij-EFJ
2009 EFJ

Serving the Past Future

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)

Daily Rinse

I posted a couple of old drafts from my database today and cleaned up all my spam comments.  I’m making an effort to write something here each day.

Recently I’ve been working with OpenSSL and TLS encryption standards (NSA Suite B to be specific).  There has been a lot of progress in cryptography in the last few years – even SHA-1 hashing is relatively “insecure” these days.  86d318d2590715b5306d5f6c2d526ef7

I’ve apparently been lured in by World of Warcraft way too effectively, judging by the frequency of my updates here and elsewhere online…

I took my server down to update Apache and configure mod_rewrite.  Pretty URLs FTW.

Fun Stuff

I like following xkcd.  I had stashed a link to this comic a while back.  WiFi hijinks!

http://www.xkcd.com/341/

First 100 Dot Com Web Sites

Pulled from http://thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/first71.html.

SYMBOLICS.COM    March 15 1985
BBN.COM    April 24 1985
THINK.COM    May 24 1985
MCC.COM    July 11 1985
DEC.COM    September 30 1985
NORTHROP.COM    November 7 1985
XEROX.COM    January 9 1986
SRI.COM    January 17 1986
HP.COM    March 3 1986
BELLCORE.COM    March 5 1986
IBM.COM    March 19 1986
SUN.COM    March 19 1986
INTEL.COM    March 25 1986
TI.COM    March 25 1986
ATT.COM    April 25 1986
GMR.COM    May 8 1986
TEK.COM    May 8 1986
FMC.COM    July 10 1986
UB.COM    July 10 1986
BELL-ATL.COM    August 5 1986
GE.COM    August 5 1986
GREBYN.COM    August 5 1986
ISC.COM    August 5 1986
NSC.COM    August 5 1986
STARGATE.COM    August 5 1986
BOEING.COM    September 2 1986
ITCORP.COM    September 18 1986
SIEMENS.COM    September 29 1986
PYRAMID.COM    October 18 1986
ALPHACDC.COM    October 27 1986
BDM.COM    October 27 1986
FLUKE.COM    October 27 1986
INMET.COM    October 27 1986
KESMAI.COM    October 27 1986
MENTOR.COM    October 27 1986
NEC.COM    October 27 1986
RAY.COM    October 27 1986
ROSEMOUNT.COM    October 27 1986
VORTEX.COM    October 27 1986
ALCOA.COM    November 5 1986
GTE.COM    November 5 1986
ADOBE.COM    November 17 1986
AMD.COM    November 17 1986
DAS.COM    November 17 1986
DATA-IO.COM    November 17 1986
OCTOPUS.COM    November 17 1986
PORTAL.COM    November 17 1986
TELTONE.COM    November 17 1986
3COM.COM    December 11 1986
AMDAHL.COM    December 11 1986
CCUR.COM    December 11 1986
CI.COM    December 11 1986
CONVERGENT.COM    December 11 1986
DG.COM    December 11 1986
PEREGRINE.COM    December 11 1986
QUAD.COM    December 11 1986
SQ.COM    December 11 1986
TANDY.COM    December 11 1986
TTI.COM    December 11 1986
UNISYS.COM    December 11 1986
CGI.COM    January 19 1987
CTS.COM    January 19 1987
SPDCC.COM    January 19 1987
APPLE.COM    February 19 1987
NMA.COM    March 4 1987
PRIME.COM    March 4 1987
PHILIPS.COM    April 4 1987
DATACUBE.COM    April 23 1987
KAI.COM    April 23 1987
TIC.COM    April 23 1987
VINE.COM    April 23 1987
NCR.COM    April 30 1987
CISCO.COM    May 14 1987
RDL.COM    May 14 1987
SLB.COM    May 20 1987
PARCPLACE.COM    May 27 1987
UTC.COM    May 27 1987
IDE.COM    June 26 1987
TRW.COM    July 9 1987
UNIPRESS.COM    July 13 1987
DUPONT.COM    July 27 1987
LOCKHEED.COM    July 27 1987
ROSETTA.COM    July 28 1987
TOAD.COM    August 18 1987
QUICK.COM    August 31 1987
ALLIED.COM    September 3 1987
DSC.COM    September 3 1987
SCO.COM    September 3 1987
GENE.COM    September 22 1987
KCCS.COM    September 22 1987
SPECTRA.COM    September 22 1987
WLK.COM    September 22 1987
MENTAT.COM    September 30 1987
WYSE.COM    October 14 1987
CFG.COM    November 2 1987
MARBLE.COM    November 9 1987
CAYMAN.COM    November 16 1987
ENTITY.COM    November 16 1987
KSR.COM    November 24 1987
NYNEXST.COM    November 30 1987

Upgrade OMG

I upgraded to WordPress 2.6.3 today.  Realized it has been nearly a year since I have posted anything.  I’ve been busy, what can I say?

Analogs and Parallels

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.

2008 Tidings

I realized today that I haven’t published an article here since November.  Apparently between work and the holidays, December skipped right off the radar.  Sadly, I am uninspired to write anything at present.

Code Mountain

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

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.