26 Jun 2013

Social media has come a long way since I first starting dabbling with the Internet in the ’90s. I purchased this domain back in 2000, and planned for years to turn it into my own personal weblog, long before “blogging” was a thing. In later years, I wrote under several pseudonyms on sites such as Livejournal. Soon, it became apparent that this “Social Media” thing was catching on, and I found myself on Twitter and Facebook.

As time went on, the quality of my writings diminished, and the 140 character quick status update became a normal thing. My writings became less nuanced, and more spasmodic. More troubling, I found myself getting into Internet Arguments more frequently. As these platforms became more popular, I noticed a general decrease in the overall intelligence of conversations on my news feed, and macros, once humorous, started spreading memes, well known Internet hoaxes, and knee-jerk political propaganda. In short, Twitter and Facebook began to resemble the old AOL days. Rather than stick around for the deterioration of the medium, I thought long and hard about why I started writing in the first place. I realized that I had strayed far from my original ideas.

One of the niceties of living in a digital age is that accessing old journal entries is often as easy as accessing an old backup. Since I was a teen, I have kept a rat’s nest of backups. As I migrate to newer and newer technology, I copy and compress the old data for archive purposes. These backups form a Russian Doll configuration, since the next backup includes the backup tarball from the previous backup, and so on, and so forth. It is pretty much Turtles all the way down to the backup of my original 20 megabyte drive on my old 80386 IBM clone. Anyway, I managed to dig up a list of some of the original ideas I had from the ’90s, and found some inspiration as to why I decided to start writing in the first place. In short, I recognized writing as a means of communication, but it was a means to an entirely different end.

Now, I am not the sort of person to go back on childish ideas I cooked up during my teens, and decide that during my mid-life crisis, I would finally get that souped-up Camaro, or perhaps other things I might have once aspired to own or do. However, I see nothing wrong with re-evaluating why I bother writing on the Internet at all. Since I was young, I enjoyed the idea of creating things, and writing about these things. I imagined putting out a magazine like DOS World, Dr. Dobb’s Journal, 2600, or Phrack. What intrigued me about these magazines wasn’t necessarily their week-by-week content, but rather, that each had articles that tickled the imagination. The projects that most contained were just the beginnings of Real Things, that were just begging to be modified. Sure, some of the magazines got into territory that could get one in trouble in various legal jurisdictions, but these magazines were treasure troves of knowledge. This knowledge was captured not in the inaccessible language of the academics, but in the jargon of the layman and hacker. I wanted to write for such magazines.

Many years have passed since I entertained such fancies. I have made a career of building technology, and it is still a passion of mine. Still, the idea of pursuing my own personal projects has always been at the back of my mind. My interests have changed over the years, but my curiosity has never waned. Why not do what I wished to do so many years ago, with the knowledge and experience that my career has provided me?

My hope for this website is to narrowly focus my writings on technology topics that interest me. Mostly, this site will be a place where I can talk about my personal projects. I put together a mind map of some of the topics I hope to cover, and some of the projects at which I have been chipping away over the years. On paper, I have some unifying themes that pull together various topics in Computer Science, Mathematics, and Electrical Engineering that should be both refreshing and interesting.

Some of the first posts will begin to lay the groundwork for future projects. Many of these projects will be open sourced for both the benefit of the community, and hopefully, so that they may inspire others in the same way that the giant magazines of the past inspired me. The topics will range from compiler front-end design, to hardware hacking, to cryptography and Abstract Algebra, to modern computer security, graphics, utility projects, and even software engineering. Along the way, I will explore ideas using examples and providing relevant source code and schematics so that others can see how the process of building these projects works.

While this plan may appear to some as ambitious, to me, it is just life as normal. Personal projects have always provided me with an outlet, and I have always enjoyed taking on projects that challenge me. Instead of providing vague references to what I work on in my free time in the terse form often employed in Social Media, here I have the flexibility to dig deep.

In my next post, I’ll describe some of the compiler front-end work I’ve done in the past. We will begin examining jxnf, a parser-generator DSL and language toolkit that I started writing about a year ago. From here, we will be able to launch ourselves into the land of Source-to-Source Compilers, which is a quick and dirty way to start experimenting with both language design and compiler development. I have written a dozen of these types of compilers over my career, and they have allowed me to write software in a way that extends beyond what the average developer can do on his/her own.

Justin Handville