Content tagged Personal

Blogging Overhaul

posted on 2012-08-22 09:37:11

Folks, this Wordpress blog will soon disappear. I've wanted to get rid of Wordpress for a while and half-wrote some blog software back in Spring 2011. Some coworkers had a similar plight so we all agreed to finish our blog engines in a one week sprint. I'm done and will likely switch over in the coming days. My livejournal, for those of you still reading that, will no longer receive crossposts and go dark. The blog will be at and there will be an RSS feed at There is no ATOM support at this time know, patches welcome. :) For the curious, the new software is called Coleslaw after a nickname of my favorite poet Milosz. It's basically a jekyll-alike in Common Lisp. Anyway, see you on the other side.

A Fun, Maybe Useful Exercise...

posted on 2012-08-18 04:34:09

A random walk through 30 years of history...

1960s: Lisp, Simula, Algol, our hallowed forefathers
1971: Unix released in Assembly, the advent of time
1972: Unix ported to C or, the advent of Portable/Commodity OSes
1973: ML interpreter in lisp appears, the advent of Typed FP?
1974: Deutsche+Greenblatt, the advent of LispM Dreams, fast implementations
1975: Sussman and Steele, the advent of Scheme
1976: Copyright Act of 76, the advent of Proprietary Software
1977: Apple II, Atari 2600, the advent of 'hobby computing'
1978: 8086, The first BBS, TCP split into TCP/IP, the advent of networking
1979: CADR LispM paper published, the advent of Single-User Workstations?
1980: Smalltalk-80, the advent of OOP? (76 wasn't released outside PARC)
1981: Symbolics LM-2 sells, the advent of the LispM
1982: Commodore 64; Sun-1 workstation or, the advent of the Unix Workstation
1983: MSFT announces Windows; Stallman founds GNU, the advent of free software
1984: Apple Macintosh or, the advent of consumer graphical PCs
1985: Symbolics registers first domain, NES, Intel sells 386, the advent of home computing? (spreadsheets, office suites, etc)
1986: IETF is formed, IMAP is developed, efforts to add OO to Common Lisp, more standards
1987: GNU Compiler Collection, the advent of free toolchains
1988: Soundblaster, MS-DOS 4.0, a boring year
1989: General Public License, the arrival of free software
1990: Haskell 1.0, Caml Light, the arrival of Typed FP? not quite yet...
1991: Linux 0.01, the advent of open source
1992: Alpha+OpenGenera, Linux GPL'd, Windows 3.1 is released, the advent of the Dark Ages
1993: Pentium I released, the advent of the "One True"(ly bad) Architecture
1994: Linux 1.0, XFree86, Red Hat, the advent of the distro
1995: IE 1, AOL 3 hits 2 million users, the advent of the net
1996: Linux 2.0 w/SMP, Apache leads web servers, the arrival of open source
1997: Wifi+HTTP 1.1, CD-RWs+Office 97, IE, nullsoft founded, the advent of the modern age
1998: US v MSFT, Netscape open sources Mozilla, the 6-year browser war purgatory
1999: Google Incorporates, the advent of Search

A tentative Strange Loop 2012 Schedule

posted on 2012-06-17 00:30:57

Strange Loop has posted their schedule for 2012 and my company has been kind enough to send me. Without further ado, here's my current thought on which talks I'll attend. I just can't wait for September. :)

;; Sunday, September 23 (Emerging Languages Preconf)
-- 7:30 flight? ZOMG WHAT WAS I THINKING?!?
09:30 Jeremy Ashkenas - Symbiotic Languages: Transpiling into Javascript
10:30 Ostap Cherkashin - Bandicoot: code reuse for the relational model
11:30 Hakan Raberg - Clever, Classless and Free?
12:40 Michael Fogus - The Reemergence of Datalog
13:20 Brian McKenna - Roy
14:40 David Herman - Rust
15:50 James Noble - Grace: an open source educational OO language
16:30 Jose Valim - Elixir: Modern Programming for the Erlang VM
17:10 David Pollak - Visi: Cultured & Distributed

;; Monday, September 24
09:00 Michael Stonebraker - In-Memory Databases
10:00 Dustin Getz - Monad Examples for normal people, in Python and Clojure
11:00 Pieter Hintjens - Software Architecture using ZeroMQ
-- (or Functional Design Patterns - Stuart Sierra)
12:20 Neil Milstead - Augmented Reality and CV
13:00 Craig Kersteins - Postgres Demystified
14:00 Neha Narula - Executing Queries on a Sharded Database
-- (or Clojurescript by David Nolen)
15:30 Scott Vokes - Data Structures: The Code That Isn't There
-- (or Lessons from Erlang by Garrett Smith, Types vs Testing by Paul Snively and Amanda Laucher) GAAH
16:30 Rich Hickey - The Database as a Value
17:30 Lars Bak - Pushing the Limits of Web Browsers
20:00 Matthew Taylor - Humanity 2.0

;; Tuesday, September 25
09:00 Jeff Hawkins - Computing Like the Brain
10:00 Chris Granger - Behind the Mirror
11:00 Nathan Marz - Runaway complexity in Big Data...and a plan to stop it
12:20 Carlton Mills - Computer Architecture of the 1960s
13:00 Oleg Kiselyov - Guess lazily! Making a program guess and guess well
14:00 Cliff Moon - The Audubon Society for Partial Failures
15:30 Ola Bini - Expressing Abstraction, Abstracting Expression
-- (or Building visual, data-driven UIs with ClojureScript)
16:30 Bret Victor - ?
-- And then I'm out because of my 7:30 flight. Sorry Brendan Eich!


3 Years In

posted on 2012-05-18 13:00:01

It's been 3 years since Dad died, 2 years since I've been single. It's hard to believe, really. And wouldn't you know, I had a dream about Dad for the first time in a while. He had cancer but was still alive. We'd all moved back to Cross Creek where I'd spent the first decade of my life or so. I had my job at CMG, I think, and I was talking to Dad who confided in me that he and Mom were having serious financial trouble. I remember being shocked that something hadn't been mentioned to me sooner and feeling guilty for somehow missing that I could have helped for so long. I'd just been enjoying life as I am these days, a good job, good friends, etc. I was talking to Mom or Dad about how I could support them when I woke up. In the dream, Dad still had all his hair. I don't think I've ever had a dream about him post-hair and post-chemo. I'm thankful for that. He wasn't the same person once his hair was gone.

I'd been a bit depressed the first half of this week and I couldn't figure out why. It wasn't until talking to mom Tuesday night that she reminded me we were coming up on the 3-year anniversary. I'd thought about it when someone asked about dad a few weeks back but it slipped my mind. I'm thankful for my job and coworkers, I love them dearly and even on my grumpiest, most "Office Space-y" days I'm happy to be in the office. I'm thankful for my friends who keep Atlanta fun and keep life interesting even when we all just want to have a drink and be together at the end of a long day. I'm thankful for my mother, who's weathered plenty and still figuring out how to have fun. Mostly, of course, I'm thankful for dad. I still don't know how he did it all. But thanks to him, I can too.

April Adventures

posted on 2012-04-15 21:21:09

I've been working on some of the depression issues mentioned a few posts back, making progress. Been making a concerted effort to have fun. Lots of weekend trips to Athens, socializing, concerts, that sort of thing.  Starting to create things again too! I've made a mixtape for the first a proper mixtape. Did it in Audacity. Didn't try to do tempo/beat-shifting or anything fancy, just 29 minutes of cutting and fading. I still think it turned out quite well for a first effort. It leans strongly in the electronic/dance direction so if that's a big turn off for you steer clear. Anyway, onwards and upwards. And to steal from Milosz and Neruda: "Yes, this is my gift to you. Above ashes on a bitter, bitter earth. To you, to the one who unknowingly has awaited me, I belong and acknowledge and sing."

Here's the mix and the tracklist. (EDIT: Here's a vastly improved version of the mix, the associated tracklist, and where you can listen online.)

Cool Waters Ahead

posted on 2012-03-09 04:39:23

Disclaimer: This is going to be a much more personal entry than normal. Just to get down some recent thoughts and revelations that I've had. I've read people talking about blogs as subject-focused, about building them almost like products. But this thing is a record, a mosaic, and a journal. So here we go.

On and off depression is the one thing I still really feel like is holding me back and don't like about myself. Part of the reason I stayed single (even became single in the first place) was to address this issue. I've resisted taking medication since I went cold turkey in February of 2005. For the seven years prior to that, I had been on a daily cocktail of Tegretol (a mood stabilizer), Risperdal (an anti-psychotic), Effexor XR (an anti-depressant) and Adderall (ADHD med/legalized extended release cocaine). It was a non-trivial cocktail. I may take up a light antidepressant until I can learn to keep myself in the upswing without it. But this post is less about that and more about celebrating continuing to become mentally and emotionally healthier and making it as far as I have.

Let's start with that last part. The meds I used to be on were *not* an accident and though I didn't love the experience they had their use. I demonstrated many of the precursors for Bipolar Disorder and the primary reason I was on the meds was to curb the likelihood of my brain ingraining the sort of patterns that can only be fought by regular Lithium intake later. I have a close blood relative who has suffered from Schizophrenia and another who received 33 shock treatments over the course of a bad episode. I think we can safely say that things have panned out so far. I've been medication free for 7 years and all indications are that the meds steered me away from forming some pretty deep canyons for the chemicals in my brain to run through.

In addition to that, and please believe this still sounds slightly ridiculous to me, I'm a survivor. I've actually been through a lot of shit and even when I acknowledge that I don't really tend to give myself credit for pushing beyond it. Granted, I had a lot of help. I've been surrounded by a lot of tolerant, patient people that saw through the problems and helped buy me time to work through them. One thing in particular that I've forgotten about is just how much my biological father fucked with me when I was younger. (Not my Dad, John, whom I regularly miss and dearly love.) Here are some examples:
* When I was 2, my father left me on the sidewalk outside our condo and went to work for the day. A neighbor found me at or on my way to the Bohler Road MARTA bus stop and brought me home. This, perhaps unsurprisingly, prompted a divorce.
* When I was 3, he told me that Mom wanted a girl, not a boy. I was rather passive aggressive when I got home.
* When I was 5, I said to Mom, "Terry is emotionally unavailable to me, isn't he?". Frankly, I still find this a little hard to believe, precocious though I was.
* When I was ~8, I remember riding back from the liquor store in his Toyota Celica with some wine and him opening it and having me pour some into a cup for him. Classy.

I was also molested by a step-brother (Terry was unaware of this), suffered through a bit of military school in Boonville, Missouri where I was one of the smallest and youngest children, and probably some other stuff. So it wasn't easy. I spent the first 18 or 19 years of my life not feeling safe, not trusting myself to connect with society or the world. When you get burned so much, why bother? But I came around. I'm remarkably functional, even warm. I *like* people. That's kind of a fucking miracle. And there is some strength in me to get to where I am today. It's something worth respecting and I'd do well to remind myself of that once in a while.

Tonight, I'm taking the opportunity to remember that with my blend of genetics and chemistry I could've wound up a total sociopath or just a non-functional, drug dependent nutter. I want to get healthier still and become an even more fully realized version of myself that isn't as prone to bouts of low energy that I coast through. So I'll figure it out and fix it. And I'll achieve.

2011 in Review

posted on 2012-01-01 03:07:22

'I am only a man: I need visible signs. I tire easily, building the stairway of abstraction.' - Veni Creator, Czeslaw Milosz

So...I haven't written here in a while. I actually have a half-written post about how I'm disappointed with this administration and we're on a slippery slope towards throwing away some of our fundamental freedoms, like ...oh I don't know, habeas corpus...but since I started writing it the situation has deteriorated further. So great. I figured a year in review might be a little easier to write.

I'm exhausted. 2010 was a tough year but 2011 was a lot harder. On the other hand, the rewards have been greater. I've graduated, gotten a great first job, a lovely 12th story midtown apartment, written about twice as much code on personal projects as last year, and done some solid financial planning. Burke is moving to Indiana for a new job and I think he'll be much happier there. Luckily I found somebody to take his spot so we won't have to break lease.

Last year, Xach started a reddit thread on /r/lisp called 'Your Year in Lisp' which I replied to with some positive thoughts. This year has been even better. I wrote *a lot* more code. By comparison, last year I worked on 2 open source lisp projects and about 4 personal projects. This year I worked on about 8 personal projects and 2 open source projects.

What's really nuts is my realization that I've only been hacking real code for two years. I'd been reading SICP(starting in January '08) and hacking little snippets under 100 lines previously but never worked on a substantive piece of code. My first commit on a real codebase was this nasty diff to paktahn which I wrote about in this blog so long ago.

That was in October 2009. Before that, the most interesting and largest scale code I'd written was a script to process my ATT csv call logs. October 2010, I was still mostly hacking Paktahn though I did some minor work on Weblocks and also did some part-time PHP hacking. That was the first code I got paid to write. This October, I was putting the finishing touches on cl-scrobbler, a Lisp library for scrobbling to, and integrating it with Shuffletron.

I've been talking to Andy Hefner, the original author of Shuffletron, about merging my changes upstream and hope to find time to make that happen in 2011. I've started work on a MOS 6502 emulator in Lisp. The 6502 is the CPU that powered the original Nintendo. Also, I'm professionally hacking on a scary big Python CMS. There's also work I'm doing to get Paktahn to a state where I can pass off my role as maintainer to some interested guys that have been helping me with it. This decision is partly motivated by the fact that I switched to Debian recently and Paktahn is an archlinux specific tool.

I don't know what will come in the new year. I mostly hope to survive. Aside from continuing to improve my performance at work, I'd really like to increase my knowledge of Systems Programming in the coming year. That's going to mean a lot of C hacking. The last few months I've lost a lot of motivation and fire when it comes to personal hacking and studies. That will honestly be my biggest struggle going into the new year. Thank God I've got two more days to catch my breath.

On Data Loss

posted on 2011-10-27 21:02:24

I've been meaning to blog more and have a more long-form, personal post in the works. Hopefully I'll get that out tonight. I don't reflect as much through writing as I used to and I miss that. Anyway, something interesting just happened at work. We have a beloved IRC bot at my office named olga. One of our favorite features of olga is that she'll write a haiku for us on demand. More precisely, we can give her a phrase that is five or seven syllables and she'll remember it. When we ask her to construct a haiku she picks two random 5-syllable phrases and a random 7-syllable phrase. The most impressive invocation of olga haiku I've seen to date is: "What we do in life / Is there a step I'm missing? / Inexorably". I wish *I'd* fucking written that. It's gorgeous.

So...I inadvertently deleted all of olga's sevens. Someone was asking for an example of how to *remove* an entry and I posted an example that apparently matched a perl regex to nuke the universe. So I trust perl even less now and I've never even actually used it. The fiasco resulted in this delightful github commit fixing the vulnerability. We modify olga's haiku database a few dozen times a day conservatively. It's like a collective cultural store for our exceedingly delightful and nerdy hackers. After the chaos and laughter subsided, a coworker and I grepped through our irc logs of the past few months searching for matches to the "haiku add.*sevens" pattern. We'll probably be able to restore things decently enough. There are server admins with still more extensive logs we may be able to get access to...but that's not what's interesting about this to me. What's interesting about this to the emotional response we had to the whole event which made me think that data loss with computers in modern times can be somewhat akin to a phantom limb sensation.

Think about it. You have *no* idea how much data you have and, if you're a quirky statistical outlier archivist-type like me, only a vague idea of what the most important and recent elements in that dataset are. You probably don't even know *where* your data is. It's on Google's servers, Amazon's servers, your phone, your PC (possibly several) and maybe even your personal server. Even if you're not a hacker/computer type, you've got data coming out of your ears. In modern society, effectively *EVERYONE* is an information packrat. And the question is, what cognitive and emotional burden does that sort of behavior result in?

The most interesting part to me is that I suspect many cases of data loss aren't troublesome unless you're aware of them. We have *so much* data that unless you're sure an operation accidentally deleted data you didn't intend to lose, you might never miss it. How big is olga's 7-phrase dataset? I have no idea. But I honestly expect it's in the high hundreds if not thousands of phrases. If we lost 100 of them...would we ever notice? Doubtful. But *knowing* that a bunch of data was accidentally lost feels like losing property except for the fact that it's hard to assess just what value that property had, what measures can or should be taken to ameliorate the event, what meaning the loss really has.

This has funny implications for SciFi authors as well. The idea of memory diamond or some sort of storage medium for someone to record their entire life (lifelogging) is predicated on the fact that no data would ever be lost...because at that scale, you simply don't know what is important and what can be lost because the *value* of the data is context-sensitive, especially temporally. Moments of nostalgia make it impossible to say, "Scrap this, lose that", and if you don't know what data has been lost then the whole thing is suspect. And don't laugh *too* hard, between Steve Mann, the MIT Media Lab and folks at Yale and elsewhere there's a decent amount of research towards making lifelogging possible. Anyway, I just wanted to get some of these thoughts down. It's definitely been another fun day at the office. :)

Editor's Note: Discussions with a coworker have reminded me of two things:
1) We really are likely statistical outliers much more than this post suggests. I tried to hint at this possibility with the archivist bit but it's never the less important to reinforce.
2) People obviously know the difference between important data and unimportant data. This interesting phantom limb-like effect really seems to come out with tons of miscellaneous, less important data (IRC logs, browsing history, etc) that you keep because you can rather than essential information or emotionally substantive data (photos, videos, MP3s, certain emails, etc).

Self-Improving Means...

posted on 2011-09-05 22:59:45

Per Vognsen, whom I greatly admire, recently tweeted the following: "Least favorite type of blog: Unaccomplished 20-somethings writing self-improvement 'how to be awesome like me' articles." I would put myself in the category of unaccomplished 20-somethings but, happily, I'm not trying to tell you guys how to be awesome like me. ...cause I'm just some dude. And here's what's going on in ma domepiece (i.e. "head")...

My writing on this blog has flitted back and forth between being for an audience and being for myself. Of late, I think it's definitely swung back towards just for myself though I hope to blog some about hacking or other techno rants again in the near future. Of late, the only way I've been able to get anything down is to try and transcribe the massive looming smorgasborg of coagulating nonsense in my head. Which rather mirrors my life. Things have been good lately. I'm quite busy but I've been putting investment strategies and student loan payoff plans into place, moving, adjusting to my first "real" job, learning to be an adult (which itself is a loosely defined collection of things) and so on. I also just signed up for an AI course at Stanford that they're offering free online this Fall. My CS and programming skills are nowhere near as broad or deep as I'd like them to be. And let's not even discuss my math chops!

I've finally gotten back into a rhythm of hobby hacking again which I'm quite thankful for. My latest project has been Shuffletron, a command line music player I use daily but am not the original author of. So far I have added playlists and now...scrobbling! I'm a big fan of, simply because I listen to tons of music and enjoy tracking those habits via graphs and a few simple statistics. A lot of other people enjoy using it and so I thought I'd add scrobbling support to shuffletron. It was involved enough that it deserved its own library and that has given birth to the unimaginatively named cl-scrobbler which I've been working on for about 3 weeks now to my surprise and chagrin. Also unexpected was the ~575 lines of code (counting whitespace and tons of docstrings) it has taken to produce said library. Granted, it would be 130 lines of code less if I just added a dependency on Arnesi for plain old FIFO Queues. Anyway, I'm hoping to get it into Quicklisp in the near future and then package up shuffletron as a new potential piece of silly software for Archlinux hipsters to consume from the AUR.

Tonight I hope to start writing a study buddy that will help me get through a large directory of academic papers and code I'd like to read by picking different bite sized, daily portions for me to get through. There are things I'd like to do every day to try and continue improving my skills and I would appreciate having some automation help me do them. More on that in the near future...

Overcast with scattered thunderstorms

posted on 2011-08-06 21:55:22

Today is my 25th birthday. So far I've mostly done chores: grocery shopping, laundry, handing over the keys to my old apartment, odds and ends. And, by design, I don't have any social plans for this afternoon or evening. I'm usually pretty pensive and melancholy around my birthday. This year continues the trend. Generally, when my birthday is coming up I think, "Okay. You've gotten this far and accomplished this much. Maybe it wasn't all you wanted but at least you're further than last year. What's next?" Not the best party conversation. :)

In all fairness, it's been a good year. I finally finished my undergrad degree, got my first job as a professional programmer (a damn good job at that), and moved into an apartment with one of my oldest and dearest friends. That said, I've been struggling a lot lately. A large part of that is because I don't know what I want for myself anymore or what my goals are. Personal relationships both romantic and otherwise, career ambitions and hobbies all seem up in the air. It's had me feeling pretty mixed up. I can't say I'm terribly proud of where I am at 25. Oh, well. I'll certainly enjoy taking some time off this winter to try and sort through things more. At least I've had fun hacking on Andy Hefner's Shuffletron (a Common Lisp command line app, something I have *some* experience with...) music player lately. The main changes so far have been to add playlists and a long TODO file. It's a fun diversion until I get ever so slightly more acclimated to my professional coding life and come up with a serious project that will push me more.

It's been hard to post lately for two reasons. The first is that I've simply been busy. The second is that I haven't had much to say. My thoughts are jumbled. The same thing happened last year and like last year I'm going to borrow some of the words of my favorite poet, Czeslaw Milosz. Wherever you are, thanks for reading this far and I hope the sun is bright and your world is well.

Conversations with Jeanne

Let us not talk philosophy, drop it, Jeanne.
So many words, so much paper, who can stand it.
I told you the truth about distancing myself.
I've stopped worrying about my misshapen life.
It was no better and no worse than the usual human tragedies.

For over thirty years we have been waging our dispute
As we do now, on the island under the skies of the tropics.
We flee a downpour, in an instant the bright sun again,
And I grow dumb, dazzled by the emerald essence of the leaves.

We submerge in foam at the line of the surf,
We swim far, to where the horizon is a tangle of banana bush,
With little windmills of palms.
And I am under accusation: That I am not up to my oeuvre,
That I do not demand enough from myself,
As I could have learned from Karl Jaspers,
That my scorn for the opinions of this age grows slack.

I roll on a wave and look at white clouds.

You are right, Jeanne, I don't know how to care about the salvation of my soul.
Some are called, others manage as well as they can.
I accept it, what has befallen me is just.
I don't pretend to the dignity of a wise old age.
Untranslatable into words, I chose my home in what is now,
In things of this world, which exist and, for that reason, delight us:
Nakedness of women on the beach, coppery cones of their breasts,
Hibiscus, alamanda, a red lily, devouring
With my eyes, lips, tongue.
Guava juice, the juice of la prune de Cythere,
Rum with ice and syrup, lianas-orchids
In a rain forest, where trees stand on the stilts of their roots.

Death you say, mine and yours, closer and closer,
We suffered and this poor earth was not enough.
The purple-black earth of vegetable gardens
Will be here, either looked at or not.
The sea, as today, will breathe from its depths.
Growing small, I disappear in the immense, more and more free.

On Slow Processing

posted on 2011-06-29 04:25:49

To paraphrase the writing of Matt Albie, "This is not the blog post we intended when the week began." [1]
Ed. Note: This is 1000 words of self-indulgent drivel. Welcome to the World Wide Blogosphere.

Things have been moving wildly fast of late. It's been pretty damn hard to know what to make of it, frankly. As a consequence of things moving so fast, I've been pretty far outside my normal routine for over a month...almost 2 months. In some ways, I view the divergence and my activities (vastly more drinking and socializing than normal) as a coping mechanism. You've got to try to either make sense of the new world or keep yourself from being freaked out or crippled by it. Evolve. Fast. Under the surface, I know that the real work is going on. The slow processing. I *hate* slow processing.

Slow processing is what happened after Dad died a little over 2 years ago. It's what happened after I broke up with Teresa a little over 1 year ago. Thankfully, this year has been a brighter, less traumatic side of slow processing spurred on by graduation, an apartment with one of my dearest friends and a truly great job. Slow processing is important. It helps you figure out where you went wrong or what has changed about your circumstances and environment that necessitates new goals and outlooks.

I think in a lot of ways, I'm doing slow processing because I only had my life figured out this far. Survive to 20s, get a good job...blank space. That's stressful. And terrifying. I know I want to be married at some point though I still have a lot of fears about having kids. In part because a) you have to take as a given that you're going to make serious mistakes and b) there are enough people doing it that there's no way to distinguish yourself or your kid. The amount of faith required is tremendous. It gives me respect for the people that do it in some ways...but I'm sort of wary and distrustful of the whole enterprise. Then again, you can't fix the earth having too many of the "wrong kind" of people without trying to make some of the "right kind". Some huge presumptions and judgments being made in that very sentence though, eh? Who has the right to reproduce? Unfair.

My bigger problem is that I don't know what my personal goals are. I'm settling into a rhythm now, getting back into exercise, cooking, skateboarding and hobby hacking (though only on the weekends, weeknights I'm still drained from work). My boss and others seem to be satisfied with my performance at Cox so far and I'm thankful for that. I, however, am much less satisfied. I don't want to say *unsatisfied* but I'm certainly not patting myself on the back and thinking I'm a bad ass when I get home. It's more like, "Keep at it. You'll get there." ... if not necessarily that gentle and kind. You have to push yourself, you can't trust *anybody* else to know your limits or do it for you. I was thinking earlier that your 20s is all about being (almost) totally and consistently unsatisfied with your performance and position in life...but it makes more sense to me as a lifelong outlook really. That said, you *have* to find a way to do it that doesn't tear down your efforts to improve and demotivate or it just destroys you. I'm still working on that...

So where does that leave us? It's back to that very tiresome, age-old question of what matters. I've got limited time here, even less of which when my body is in peak physical condition and tonight I wanted to run until the whole thing turned to slag. I think marriage is important to me personally because I want to share and trust myself with someone. I don't want to wonder who will provide a good sounding board for my thoughts at a given time...and the world moves too fast and life is too short to spend alone. As for life goals, I don't have a good grasp on them at the moment. I read about some of the work done on Google+ today and have been following various compiler developments with a decent amount of interest of late. I doubt I'll ever be quite that good a programmer. The sacrifices are significant.

So what can I do in my time that matters? I'm fine with the answer that "nothing really matters" and I do not say that with a heavy heart. There's something very beautiful about the arbitrary right to sketch out and gradually stumble upon or decide the meaning of your existence. Sure, only a handful of people will notice your absence a year after your death and only a handful more will really hinge on your existence while you're alive. So what? That's plenty to live for. But I don't think it answers the question of real, higher-level goals and objectives. So do you strive to be the best in the world at something you care about? Or love people near to you and have a content, maybe average, life? I don't know. I'm a little disgusted by too much self-indulgence and taking it easy. It seems like settling too much, though that word and my mental approach to the question is condescending, pre-judgmental and full of bias. Then again, I'm not motivated enough by a particular cause to forgo consideration of the self and forsake all else whether the cause be civil liberties, IP law, art or optimizing compilers. I guess I'm just in an awkward middle period again. As my good friend Max would say, "C'est la vie." As the office IRCbot olga has said, "What we do in life... / Is there a step I'm missing? / Inexorably."

[1] Watch more Studio 60. It's good for you.

Two Years

posted on 2011-05-20 02:07:42

Yesterday was the 2 year anniversary of my father's death. It's hard to believe it's been that long. Appropriately, I had a dream the night before where I couldn't find him and didn't know his cell number or address. Luckily, I wound up spending most of the day relaxing, enjoying the weather and seeing people then had dinner with Mom and drinks with a friend after. There was a minimum of sulking and what memories Mom and I shared were, of course, fond ones. I think dad would be pretty proud of Mom and I. That might have been hard to say 6-12 months ago but it's a little easier now. I made myself go back to school and get a degree, I've got my first job lined up and it's a great one, Mom and I are closer than we've ever been and so on. All told, I'm pretty happy and maybe somewhere he is too. There's probably not a strong argument for this post but I feel compelled to make note of this day somewhere and if your own blog isn't the place, what is?

Faster than sense

posted on 2011-05-15 03:51:35

Things have been moving really rapidly of late. 11 days ago I was taking my last exam, 5 days ago I had my 3rd interview with Cox, 4 days ago I got the job offer and accepted, today I applied for a 12-month lease on a 2 bedroom 12th story apartment in Midtown with one of my oldest and dearest friends. It all feels like a surreal, ridiculous, out-of-body experience. I'm not altogether sure how to cope with or interpret the change at the speed it's happening. I've been trying to just relax and give myself time off. Soon it will be time to start familiarizing myself with Django and Python though. And there's no end of work to do on Coleslaw.

I've set up a Windows box to pursue two things I haven't in a *long* time. Some light PC gaming and Music Production. I've played with Ableton some but haven't really dug in yet. Here's hoping I actually spend some time learning about making music this Summer and Fall.

I am genuinely excited about the job and also the new apartment. Cox honestly seems like a fantastic place to work filled with smart and cool folks. I'm slightly intimidated simply by virtue of the fact that it will be my first full-time programming position and I expect the learning curve to be substantial but I'll overcome. And having a budget for real food so I can try new recipes again will be fantastic.

Ye Olde Smorgasborg

posted on 2011-05-06 21:18:23


This post may come off as a bit scattered. The main reason is that so much has been going on. I've finished my last semester at SPSU and should be picking up my diploma soon, I've been running around looking for a loft to move into with my friend Burke come late June and I've been working on getting a job. There's been progress on all of those fronts and I look forward to writing about them soon. Finally, I have a new Lisp project that I've been having fun hacking on and wanted to talk about. I was going to wait until I was ready to release version 0.1 but it's beginning to seem like that might be a few months out and I just can't help myself. I'll talk mostly about my motivations, design goals, some early results, my immediate plans and similar work others have begun recently.


The project is a piece of Lisp blog software I've christened "Coleslaw". I've wanted to write my own blog for a while for a variety of reasons. The most significant is that it would be a good learning experience and fun. Additionally, then I could just run SBCL and PostgreSQL on my servers and scrap MySQL and PHP. I'd been putting it off for some time as I'm no web development expert but I had an opportunity to get course credit for working on it some this semester so I decided to get the ball rolling.

Lately a piece of Ruby blogware named Jekyll became surprisingly popular. There are two interesting things about Jekyll to me. The first is that it uses a static-site compilation model rather than generating pages dynamically (as Wordpress does). The second is that it requires and provides no admin-interface as a result. It simply watches a directory for new posts and regenerates as much of the site as necessary.

The simplicity (and somewhat simpler security model) of writing blogware that didn't have an admin interface and just keeping everything in flat files really appealed to me but I knew many people still love admin interfaces and database backed webapps and for good reason. Though you should always have backups of course. Anyway, it's thanks to Jekyll and several similar clones that I really started looking into the design of something that could support both options.

Design Goals

The original design goals were to support a *single-user* blog with either a dynamic backend that provided an admin interface and made use of a database or a static backend that simply compiled posts from a watched directory to an HTML output directory. Since then I've decided a bit more separation of concerns is in order. Down the line I'd like to support the following "large-scale" options with Coleslaw:
  • Where is the data? (mongodb, postgresql, flat files, lisp data persisted with cl-store or similar, etc)

  • How is the data served? (Static files, Dynamically generated w/optional caching)

  • How is the data edited? (web-admin-interface-p)

  • Who serves the data? (S3, Lisp server (hunchentoot/etc), System HTTPD (lighttpd/apache/etc)

  • How are comments handled? (Cloud service (disqus/etc), Stored and generated locally, disabled)

  • Above and beyond that I'd like to have a few bundled plugins for things like Analytics, Syntax Hightlighting, LaTeX support, Import from other blogs, Crossposting. Finally, Coleslaw should be easy to theme.

    Early Results

    The code is presently on github and I haven't hacked on it for a few days because I've been relaxing post-finals. That said, I'm looking forward to getting back into working on it in the near future. At this time, only the static backend has been started and there's still no implementation for directory watching to update posts. Comment support also hasn't been completed. That said there's a preliminary theme (stolen from ckeen's hyde, thanks ckeen!) and an example site running backed by S3. Note that the posts shown are all imported from an XML export of my Wordpress blog. The current import plugin only supports wordpress and only handles posts, not comments. The code used to generate the example site was pasted here.

    I feel pretty solid about the internal API for indexes and posts and my plugin infrastructure as well as the theming situation. cl-fad, local-time, cl-closure-template, cl-docutils and cl-markdown are the current hard dependencies for the core because I'd like to support ReStructuredText, HTML or Markdown input for posts. Just for giggles my friend Neil also made a logo in large, medium and small. Here's medium: Medium Coleslaw Logo

    Immediate Plans

    I started working on plugins for disqus comment support as well as mathjax LaTeX support but the whole experience made me want to revamp my API for "injections" which allows plugins to throw various bits of JS in the page HEAD and BODY. I'd like to support arbitrary predicates (say, to only add the mathjax scripts when posts are tagged "math") and allow for distinguishing between whether something should be injected on post pages or index pages in addition to the current "should I inject this in the HEAD or BODY?" functionality. Once that's done, I'd like to support syntax highlighting via Python's pygments library. Then I'll get around to the directory watching/updating semantics. Once that's done I can work on the dynamic backend and start *THINKING* about a 1.0. That's the state of things today. I'd love to hear from you if you have thoughts, opinions or a desire to contribute patches/help. :D

    Recent Similar Efforts

    I've found it pretty comical that 2 other (more experienced and talented) lispers recently began writing lisp blog software shortly after I started working on coleslaw. Who knows, if they had gotten around to it 6-9 months earlier I might never have wound up working on coleslaw, but I'm glad I have. It's a lot of fun.

    If you find coleslaw interesting it's worth looking at nuclblog(cl-store serialized data, dynamic, Markdown) by Cyrus Harmon (slyrus), lisplog(drupal import, custom flat file database, dynamic) by Bill St. Clair (billstclair) and arblog(mongodb-backed, dynamic, ReStructuredText) by Andrey Moskvitin (archimag).

    Random Updates

    posted on 2011-04-01 22:25:45

    The last 2 months have flown by. My time as an undergrad is coming swiftly (and happily) to an end and I'm finalizing my plans for after graduation. I said Paktahn 0.9.4 would be out by the end of February and wound up being two weeks late on that. Paktahn is out now and my users seem to be pretty happy. At the end of the day, it's all about customer service. There were a number of bugfix/point releases to 0.9.4 due to the libalpm C library that paktahn has long used having some API changes in version 6 that needed accomodating. I found a regression in libalpm though which was pretty fun.

    I seem to be staring at a lot more C code this semester than usual. Aside from paktahn, one of my classes has me working on the cl-opencv library which is a set of FFI bindings to Intel's OpenCV computer vision library. This semester has been the first time I've used CL's FFI and the CFFI library and in spite of some hiccups it's been a lot of fun. It certainly opens up a new world of possibilities being able to reuse all the C code that's already been written. I remember looking into /usr/include/ one day recently, seeing gobs of C header files and feeling joy. It almost makes me want to write and compile some C myself. ... Almost. ;) Unfortunately I have more than enough lisp software to keep me busy for a spell and I hope to have more to say on that subject very soon.

    Other than school I've been enjoying skateboarding, as usual, and eating lots of Sushi. And my latest musical kick, as I'm sure some of you were wondering, is Childish Gambino. Gambino is the alias of Donald Glover who you may also know as Troy from the delightfully funny TV show Community and as a former staff writer on 30 Rock. His EP and last album, Culdesac, are available on his website for free. The guy is crazy prolific. That's all for now...

    Paktahn Progress

    posted on 2011-02-01 05:39:00

    In the last 3 weeks, Paktahn 0.9.2 and 0.9.3 have been released. Go install or upgrade it, quick! Leslie Polzer has passed on the role of Maintainer to me and I was privileged to accept it. Paktahn had been pretty quiet from May-Aug 2010 and was practically silent Aug-Dec 2010. As a consequence, a big part of my focus right now is revitalizing the project, making it clear we're still working on it and making it easy for new contributors to join in.

    The biggest focus of the last two releases have been bugfixes, unifying the code style and reorganizing the project some. For example, my old gitorious repo has been taken down, all the TODO items are now in one place, etc. That doesn't mean there are no new features though. Among other things you can now finally upgrade all packages by running "pak -Syu --aur", pak -Ss which behaves like pacman -Ss extended to support AUR and various UI improvements. The rest is visible in the NEWS as always.

    My plans for the next two releases can be found in the TODO. The short version is that I'm going to improve our option handling so pak can be used for as many pacman tasks as possible (i.e. -Q*, etc) and clean up the code for the next release. There should also be some small UI improvements. After that, I'm going to get a solid test suite in place. My github repo is the canonical source location at this point but Leslie's Issues page is the canonical bugtracker. As always, please file any bug reports or feature requests you have there. If there's any other feedback you have about the project you're welcome to post it on our forum thread.

    I'm going to try to run a tighter release cycle for a little bit. There have already been two releases in January. I guarantee that there will be another point release so 0.9.4 is out by the end of February, I can't guarantee any more than that at this time though. That's all for now. I've got to get to sleep for an early class.

    Full of Ideas

    posted on 2011-02-01 03:07:54

    For some reason I keep coming with ideas that I don't have time to execute on tonight. So this is going to be the dumping grounds.

    1) The RIAA creates a service/social network for DJs where they license (probably DRM'd) stem files so people can mashup artists can get exactly the sample they want. You could do a 99 cent per stem model or bundle all the stems for a track for $5 or something. The license would demand that redistribution was forbidden but non-commercial derivative works were fine. The point? Being a mashup artist/DJ these days is all about being a performance artist anyway. DJs and mashup artists often give away their music anyway so this is a straight win for them. Haven't you ever wanted to sample that one track but just the bassline at that one point in the song? Now you can. And now the RIAA can work on monetizing a huge amount of previously *ignored* content that it owns the rights too. The songs aren't the only valuable property.

    2) Dope Wars for Mobile with Augmented Reality style, Location-based trades. C'mon. Next time you're at the MARTA station, go hunting for the Smack stash while you wait for the train. Have leaderboards and turf wars. Try to recruit people into your gang or what have you. Play with your friends. Win.

    3) I can't wait until the day that livecoding is cool. When will it happen? Probably when people are making sick music live with code on the regular. We haven't seen that artist yet. And it's tricky to think of how you can make code flexible and expressive enough to be a good instrument. There are three types of sounds you'll use in a sense: samples, synths and effects. Beyond that, you need some level of templating/sequencing and mixing support. You also really want a client/server or development/production thing going on. If you're doing it live, unless you rehearse and preplan stuff you're going to come up with some bad ideas. Have a server going that loops the current measure or something and have the DJ's headphones hooked up to the client where you experiment then select a hunk and "push". Oh God do I wish this software existed...

    4) A song of the day site...if you don't already know what I'm talking about from my Facebook posts...well, don't worry about it. But think about this: We don't need the RIAA. We already handle both the Distribution and Promotion angles of the music biz either way. And people like sharing music. 8tracks is an interesting model here. It takes the abstract idea of a mixtape and tries to give that a life of its own and socialize it. We can do that for all our media, music is just the easiest at the outset from what I can tell. In my opinion, the only thing like this that's really taken root is reddit for websites. Let's be more interesting.

    5) So privacy and censorship are serious issues on many people's minds lately and with good reason. Things in Egypt are pretty crazy. I don't know anything about distribution or security but using things like PGP and XMPP OTR have made me wonder how we can make them ubiquitous, largely unnoticed, user-friendly and everyday phenomena. I'd say it's just a question of ensuring that stuff is activated on shipping products but then you have to deal with key management. Users don't want to have to put their keys on a new device or fiddle around so their identity is established and stuff interoperates. I don't have a solution for that...and that is the real issue. It occurred to me though that with all the data stored on social services an interesting way to handshake with your friends would be to prompt them to disclose their most recent foursquare check-in or scrobble and confirm it against the upstream servers. It's interesting in the sense that it should change regularly so no key is valid for a very long time. It's interesting in that you could randomize which service was used (Facebook activity, foursquare,, tripit, youtube, reddit, etc). It just interests me. The problem is all that data is usually publicly available anyway. I'm also not a security wonk so I'm sure the idea is riddled with dumb even if the data was private. Oh, well. I guess my point was that's easier in some sense than key distribution because no regular person knows or cares what a private key is. But they're all interested in their social data. Hmm.

    PS: Yes, privacy and anonymity are two separate and equally important issues. I'm talking about privacy above.

    How to Make Delicious Chicken Tenders

    posted on 2011-01-28 00:20:32

    For about two years I've been occasionally throwing parties to play video games or watch TV and movies. Over that time, I started luring people in with the promise of Fried Chicken and I think I've refined this recipe enough that it's pretty good. There are a good number of other things I cook but they tend to be stolen recipes (say from the Pioneer Woman or Alton Brown) and this is the only one I can come close to calling my own. At any rate, here we go.

    This recipe makes ~3 lbs of chicken tenders which works out to between 18 and 24 pieces. There are three parts to these tenders. There is a hot sauce we'll marinade them in, the breading and the tenders themselves. Aside from the list of ingredients you'll need a deep frying pan, tongs, a mixing bowl, the usual measuring cups and some gallon freezer bags. I tend to get a bag as close to ~3lbs as I can of Chicken Tenderloins the same day I plan to cook them and leave them in the sink to thaw for 4-5 hours before I cook them. The breading and hot sauce don't take very long so they can be done early or just before cooking the chicken.

    First comes the sauce...

    3 Tbs. Butter
    3 Tbs. Olive Oil
    4 (large-ish) to 6 (small-ish) cloves garlic, minced
    2 Tsp each: Cayenne Pepper, Sea Salt or Kosher Salt, Black Pepper
    2 Bottles of Texas Pete Buffalo Wing Sauce. Approx 18 oz. each.

    Start by melting the butter and olive oil in a saucepan on medium heat. Once the butter is melted, add the garlic and sautee it until golden brown. Mmm...Garlic

    Normally I'm good and mince (or talk someone else into mincing) fresh garlic but I was lazy and used some of the pre-minced stuff this time. You'll be pretty distracted with other aspects of the hot sauce anyway. CHEATER!

    Next you'll want to get 2 teaspoons of Cayenne Pepper, Sea Salt or Kosher Salt (Kosher here) and Ground Black Pepper ready along with 2 bottles of Texas Pete Buffalo Wing Sauce.
    Flavor Country Add the spices once the garlic is golden brown, then pour in the first bottle of Texas Pete and stir. Stir Once it's blended nicely, add in the second bottle of Texas Pete and stir occasionally until it begins to boil. You can have a taste if you like but your nose should give you fair warning of what you're in for. Once it starts boiling, reduce the heat to low and let it simmer for 5 minutes, then remove it altogether and allow it to cool. This will make enough for at least 2 batches of tenders, probably 3 or 4. The sauce is excellent on a few sides as well and refrigerates fine so I just try to keep some on hand. Yummy Hot Sauce See? Plenty. That's got to be 4 cups at least.

    Now let's prepare the breading...

    3 Cups Flour
    4 Tsps. Kosher Salt or Sea Salt
    3 Tsp. Paprika
    2 Tsp each: Garlic Powder, Cumin, Cayenne Pepper, Black Pepper
    1/3 cup Buttermilk

    The breading is good because we just the throw the damn spice rack at it. Here's our cast of characters. The Cast Start by putting 3 cups of flour in a mixing bowl and then add the other spices but hold off on the buttermilk for now. You should have a lovely splash of colors in there. Flour and Friends Now stir gently with a fork until the flour appears blended. Before you start cooking the tenders, slowly pour in the buttermilk while stirring with the fork. Better Flour + Buttermilk = Breading This will help the breading adhere to the tenders and makes a wonderful difference in how consistently your tenders retain their breading.

    Finally! Let's make some chicken.

    ~3 lbs. Chicken Tenders/Tenderloins
    1 Cup Hot Sauce
    3 Tbs. Cornstarch
    A bunch of vegetable or canola oil.

    This is the gross and rather unpleasant part. We're going to reach into our bag of mostly thawed chicken tenderloins and drop them into a gallon freezer bag filled with a cup of Hot Sauce and 3 tablespoons of Cornstarch. Oh, did I forget that part? Grab a gallon freezer bag and mix those two together in it. Then set the two bags up in your sink and you're ready to go. The Setup Get some warm to hot water running, take each tenderloin out of the bag, give it a little rinse to make sure it isn't stiff and at the very least has all the ice off it then plop it in the marinade. Once you've done this with all the tenderloins, seal the bag (I recommend Ziploc) and shake it around a bit until everything seems well coated. Once that's done you'll want to marinade the chicken for 1-2 hours at room temperature. Lay them down flat and even somewhere and set a timer. Go do something useful. I suggest writing code or making good playlists. Do Something Else

    Once the tenders are almost done marinating you can go ahead and start heating the oil and cooking other parts of the meal. It'll take 20-30 minutes to cook 3lbs of tenders 3 at a time once the oil is hot. As a side, I heartily recommend some Crispy Crowns. No Tater Tots aren't good enough and no, Kroger brand knock-offs won't quite work. Ore-Ida, contact me for payment details. Subtle Product Placement

    Put your deep frying pan on the stove, add several inches of Canola or Vegetable Oil and set the stove to medium. Now we'll start breading the tenders. Pick them up from the bag and give them a little shake to drip off any excess marinade, then toss them into your mixing bowl and shake it around a bit. It's all in the wrist. Also, if anyone wants to buy me a Lumix GF1 I'll take better pictures. Promise. After the black box shaking magic, you'll get some nice, well-breaded tenders. If you're not satisfied feel free to use your hands to lightly rub or pat some breading into them. Then lay them on some plates with paper towels. Output

    About now it's time to test if the oil is hot. Toss a little pinch of breading in and you should see this happen: The Oil is Hot! If it did, you are now "Go for Chicken". Lower 3 pieces in with the tongs and get excited. They should bubble up somewhat substantially. We are go for Chicken I tend to cook them about a minute and a half a side. After 3 minutes (or a little more, use your own discretion) is up, take them out one by one with the tongs letting any excess oil drip off before placing them on a serving plate to cool. Let me know if you have any suggestions for improvements. Decadence

    A rant about 8tracks

    posted on 2011-01-09 06:15:54

    A few months back I discovered a playlist sharing service called 8tracks. It allows you to upload tracks or search among already uploaded tracks to create playlists (with a minimum of 8 songs) that you can then share with your friends. There were some light but sensible requirements on playlists, they couldn't contain more than 2 songs by the same artist or from the same album. As a listener, you could skip to the next track in a playlist but you couldn't do that more than...I think twice an hour. Otherwise, that was it. You could follow people to get informed about their new mixes and there were some commenting and tagging features. It's a simple idea but it had a slick interface and it was very easy to browse around and add your own playlist. In other words, good fun.

    I immediately threw up two similar playlists I'd come up with way back in 2006 or so, listened to a playlist or two of a friends and did some work. I visited 8tracks once in a while to look for new music and meant to get around to posting more playlists of my own. I finally got around to working on a playlist over the holidays but had some nasty suprises in store when I tried to upload it. The RIAA (record labels) have forced 8tracks to remove community tracks so I have to upload each song myself AND after the playlist has been listened to once by a given listener the track order is randomized on each future listening.

    Now 8tracks is doing their best to appease these foolish companies that think this will somehow help their bottom line by keeping people from listening to or discovering new music. 8tracks is also doing their best to not let this ruin the service and, if you're a Mac user, they have provided a tool that will let you drag and drop playlists from iTunes and automatically do all the song uploading for you. Why would that matter? Because even with decent upload bandwidth you're looking at spending ten minutes looking for files on your filesystem and waiting for them to upload. But I don't use iTunes, or use a Mac...or Windows for that matter.

    I was really excited about 8tracks as a service and hoping to use it more in the future. I know the site is working towards rectifying the situation to restore the old functionality and I sincerely hope they find success. There are a number of reasons that this state of affairs is really terrible for them. Here are a few:

    • The whole point of a good mixtape involves the sequencing of tracks for coherency, flow, emotional potency and storytelling. Does the music industry really not understand that randomizing a mix at worst fundamentally destroys it or at best turns it into just a selection of songs?

    • I'm pretty sure it won't magically force people who otherwise *weren't* buying music (like me) into purchasing albums. Keeping people from being exposed and engaged in music is not the way to market penetration, relevance or consumer interest. Guaranteed.

    • One significant reason the site was such a joy was the simplicity of it. You simply searched for songs, dragged them into a list, arranged them and hit save. It was easy to use, attractive and fun. This is one of those "design really counts" moments. Forcing the user to open a file browser constantly and sit around waiting on uploads immediately limits the site to those with fast connections or patience and dedication. You've taken a potentially large market and limited it to a much smaller number of hardcore users.

    • Let's not even mention the fact that 8tracks has to worry about an entirely new technical problem. If they're storing each user's songs individually, how do they manage to consolidate the 8,000 uploads of Bad Romance or what have you? I'm sure you could binary diff the files or get a SHA-1 hash of them as they come in and then have duplicate files just point to an entry in a Distributed Hash Table or something. Unless they do the hashing client side (which admittedly isn't hard) they're still going to have to deal with a lot of bandwidth usage for all those identical copies being uploaded. This isn't impossible by any means, it's just unreasonable. Their is no reason this is a problem which they should have to spend their time on. It doesn't do anything to enhance the core values or draw of their site. It does *nothing* for their value proposition to me, the consumer. That said, users had the option of uploading files all along if they weren't in the "community tracks" so hopefully the developers were already doing something like this.

    As I understand it, 8tracks is a side project for a number of folks and none of them yet work on it full time. It shows a delightful level of polish if that is indeed the case. A huge part of that polish came from the User Experience which has, at least in my opinion, been severely damaged by the record labels. What's so sad is that this site did nothing but allow users to discover and share new music in a fun and interesting way and it was engaging in large part because the User Experience/Design was just damn good. Given the limitations that were already there I sincerely doubt anyone was trying to avoid buying music by skipping through playlists and listening to music there. Any human over the age of 6 is smart enough to just listen to the radio (or internet radio) or navigate to or a torrent site by now. Keep shooting yourself in the foot, recording industry. Maybe one of these days you'll get a whole red cent out of it.

    Looking Back, Looking Forward

    posted on 2011-01-03 01:02:26

    A 2010 Overview

    So it's apparently 2011 now. That happened fast.

    As I wrote on reddit, I think my year went very well where Lisp is concerned. Aside from Lisp, I can happily say that I'll be receiving my degree in May after completing 3 more courses: CS Capstone, an independent study on Functional Programming with Haskell and Chemistry I. I have 2 potential part time gigs for Spring and enough prospects in general that I'm not afraid of being unable to find a job when I graduate which is nice. I also have enough code projects and ideas to bury myself. I'm pretty happy ultimately with how 2010 turned out. I made some more progress in my development as a programmer and have almost wrapped up my time as an Undergraduate. Finally! It was tough breaking up with my girlfriend of 2+ years, Teresa, back in May but I still feel good about it in the sense that it was the right thing to do. Most of all, I stayed true to myself and I had fun.

    Upcoming Code Stuff

    Now for a brief update on Paktahn, Weblocks, Clockwork and the CL Web Primer series...
    First of all, the CL Web Primer series is not over. I haven't given up I've just been busy with other projects and some end of year decompression. There's actually going to wind up being one more post about Clockwork itself once I implement the last feature (and maybe do some CSS styling to make it look less like ass). By that point, the Postmodern backend which has been merged into Weblocks should be production ready. The main issue now is that you have to manage the DB connections for each request thread manually which is a real pain. I'm working on fixing it at the moment by extending the Store API and hooking into handle-client-request. Hopefully that will be done tomorrow or at least by the end of this week and get merged shortly after.

    Once the Postmodern backend is going and the last clockwork post is made I have ideas for several projects to make use of the Postmodern store. One is a RESTful blog with Wordpress import and crossposting support for Livejournal. Another is a Magic the Gathering card/deck database similar to Deckbox. There are a few other ideas but I'll likely do one of these two and continue the CL Web Primer series with it.

    Ah, Paktahn. I would be a little frustrated with us if I were a user. It's been a while since I've had time to hack on bugs or new features and there are 4 or 5 important bugs I'd like to squash so we can get a release out before school starts back up. It'd be particularly nice to get some fresh blood on the project. I can instruct or help reasonably well I just think Leslie and I are pretty preoccupied with other projects. It's a question of time mostly, so if there are any Archlinux using Lispers that have any interest *please* feel free to contact me on twitter, facebook, gmail, fork it on github, leave a comment, etc.

    Holiday Hacking

    Personal hacks...
    Over the holidays, I did a good bit of hacking on emacs and dotfiles. I also switched from using Chromium to using Conkeror as my browser and from Pidgin to Erc+Jabber.el (emacs modes) as my chat clients to force me into the Emacs mindset a little bit more. For a long time, I've had emacs and stumpwm installed but not really treated them as extensible lisp software that I should be playing with. I also improved my server config and its corresponding build process a bit. You're probably asking why do this. There are a lot of reasons why. All I'll say about it for now is that Archlinux+SBCL+Emacs+Stumpwm+Conkeror is about as close as you can get to a modern day lisp machine and it is a lot of fun.

    Other than that, I threw together a version of tic-tac-toe that should never lose as part of a job application. I'd never written any Search algorithms before and knew nothing of Minimax so that was a fun learning experience. As usual, the code is on github. One other thing I've toyed with is a backup script which is made easier by the fact that I recently started using SSH agent. Between that and another Common Lisp script I use called randomfile, I ought to throw those up in my dotfiles in a scripts directory and then make a blog post about CL *nix Scripting or something. Who knows, by 2012 maybe I'll have gotten around to it. ;)

    Albums of the Year

    posted on 2011-01-02 19:36:10

    I haven't written an Albums of the Year post since the end of 2005. Generally, I don't write Albums of the Year posts either because I'm lazy and don't feel like it or am a bit sensitive about running my mouth. Obviously, such a post is stuck in the realm of subjectivity and opinion but even though I listen to *a lot* of music I never am as versed as I feel I ought to be to write one of these.

    This year I've tried to be more open about my music taste though, particularly through a series of "Song of the Day" posts on Facebook, a complete log of which I've been keeping here. Each entry is a song that either came on shuffle and reminded me of why and how much I enjoy it or something that was stuck in my head. I try to limit myself to a few songs per artist so as to not flood people with whatever I've just discovered/rediscovered. It's not a perfect picture of what I've been listening to this year...but then neither is my data on

    As in previous years, a big part of this year's listening10 will be catching up on albums from the prior year that I missed. I check in on a few end of year lists over the holidays and always find a lot of good stuff that slipped past my radar. As a consequence, I'll be listing 5 albums from last year that I may have downloaded but only really "clicked" for me or were discovered in 2010 along with 10 albums actually released in 2010. Then I may list a few albums I've already found for 2011 that slipped past me or some expected home run albums that weren't. I'll update this post to expand a bit on each entry in the next week or so. Let's begin.

    Top 10 Albums of 2010:
    1. Laura Veirs - July Flame: I can't believe I haven't seen this on other end of year lists. It's an incredible and beautiful album that deserves far more recognition than it is getting. I've listened to this at least once a month since I discovered it. It consistently thrills and delights me.
    2. The Morning Benders - Big Echo
    3. Teebs - Ardour
    4. The National - High Violet
    5. Four Tet - There Is Love In You
    6. Shad - TSOL
    7. Band of Horses - Infinite Arms
    8. Broken Social Scene - Forgiveness Rock Record
    9. Two Door Cinema Club - Tourist History
    10. Tame Impala - Innerspeaker

    Top 5 Albums of 2009 discovered in 2010:
    1. Metric - Fantasies
    2. Jay-Z - Blueprint 3
    3. Jon Hopkins - Insides
    4. Local Natives - Gorilla Manor
    5. Bloody Beetroots - Romborama

    Top 5 Albums of 2010 I'm likely to discover in 2011:
    1. Flying Lotus - Cosmogramma
    2. Emeralds - Does It Look Like I'm Here?
    3. Janelle Monae - The Archandroid
    4. Cee Lo Green - The Lady Killer
    5. Deerhunter - Halcyon Digest

    Top 5 Albums in 2010 that I expected to rule but were only good:
    1. Gorillaz - Plastic Beach
    2. Two Door Cinema Club - Tourist History
    3. Massive Attack - Heligoland
    4. Girl Talk - All Day
    5. Band of Horses - Infinite Arms

    A short update and emacs/screen note

    posted on 2010-09-14 14:00:14

    In short, I'm busy but life has been really good lately. I've been learning new skateboarding tricks (fakie backside 180 kickflips FTW), the weather is good, music is good, the 20 hour a week job has been good and classes have been...well, pretty easy so far. Plus I've been busy socially. Having a car and not being broke may have something to do with that.

    Moving on, I've been playing with weblocks a lot the last few days. I've got a nice little setup that I look forward to posting about here at some point but I was getting frustrated by my screen session hanging whenever I tried to search or save in emacs. The common denominator there is C-s and it turns out that C-s and C-q stop and resume output on a terminal. This is well covered under a Flow Control section in the screen manpages. The best solution seems to be to disable flow control and if you can't do that, tell emacs to switch some keybindings around to deal with it.

    The two options I noticed for disabling flow control were running "stty -ixon" and adding it to your .bashrc or adding "defflow off" to your .screenrc. Zach Beane was kind enough to comment and note that you can also use C-a C-f in screen to toggle the control flow setting between on, off and auto (which he normally prefers). As the .screenrc entry will be specific to screen while the other will affect all shell usage, I'd prefer to stick to the .screenrc method but it didn't seem to work so I'm using the bash trick as well. That's all for now. Hope this helps somebody one day. Cheers, folks.

    Work and School

    posted on 2010-08-30 15:16:37

    It's been 3 weeks since my last post and that is starting to become disappointingly normal. Summer has drawn to a close and the first week of school has flown by. I also got a part-time job during that first week. Friday was my first day and was pretty fun. I'm on a team of six in a company of ten so things are informal, productive and unbureaucratic which is nice. I'll be working about 20 hours a week mostly in PHP and Javascript writing Drupal module extensions. I'm not thrilled about the PHP but needing to use Javascript, CSS and SQL more while working on production web software can only do me good. I've been putting off banging my head against web development for some time now. Hopefully 20 hours a week is the right amount for work/school balance.

    As for classes, combinatorics has a good teacher and students but I'm already a little behind. Last week was kinda crazy. My CS courses have but I've tweeted about that and don't particularly want to recount it here. Short version: I was told in a 4000-level CS Upper Elective that I should withdraw because there "wouldn't be very much programming" and heard my software engineering professor describe using Save As as "version control". Finally, I have a Chemistry course and lab which is predictably fine. Should be a pretty standard semester.

    I didn't code much over the summer but I did fix a few paktahn bugs and just last weekend made a bugfix release with Leslie (0.91). Of course, I've already found and fixed another bug. When no network connection is present and name resolution fails, a usocket:ns-try-again condition gets thrown and the user sees that error message and goes "huh?". Presently, our restarts only catch usocket:socket-error conditions which is a separate condition hierarchy. I lined up a fix in 5 minutes but there's a very little bit of code duplication that's bothering me. I'll come back to it in a day or two and either find a better way or commit it. On the bright side, Leslie says my lisp style is improving. Here's hoping. There's always so much more to learn. :)

    I've been in a pretty heavy coma since breaking up with Teresa, not that it's all or even mostly attributable to that event. I've just been burnt out. Cooking, entertaining company (i.e. movie parties), listening to music and skateboarding are the main things I seem to be able to enjoy and make myself do lately. I've been trying to work my way out of it lately and, thanks in part to certain friends, looking at the metalevel of how I can be more organized, productive and happy. My friend Will, for example, sent me a copy of Getting Things Done by David Allen which I've gotten in to the last week or so. There are very valid points in that book about energy, motivation and time management along with ideas that I'll try to apply in the coming weeks.

    I can't think of much else to say for now. There's tons of high-level big stuff going on. Oracle is suing Google in a move that can only hurt everyone, Paul Allen apparently can't build working products with billions of dollars and bunches of patents but can sue half the tech world for violating them, etc. Privacy is still going in the trash, Religious Freedom may be in the gutter already as many Americans hopelessly believe that all Islamic people are violent extremists. The programming language world is busy as always with interesting activity I'm aware of in Factor, SBCL, Clozure, Clojure, GHC and more. I could tell you about the good things I've been listening to like Laura Veirs and the Morning Benders. But right now I need to stop and recharge a bit. Cheers.

    On my birthday

    posted on 2010-08-07 04:04:40

    It's getting harder and harder to post. I'm done with summer classes. Two A's and a C, so Fall will have to be better. The C was in my easiest class funny enough. I've got 16 days of freedom left. Today was my birthday.

    I felt compelled to post something...and I settled on poetry since I don't have my own words handy at the moment. I grabbed Neruda because I post too much Milosz and the page happened to fall open to this. It wasn't what I had in mind....but I might have to give up and just let it be.

    The Son

    Ah son, do you know, do you know
    where you come from?

    From a lake with white
    and hungry gulls.

    Next to the water of winter
    she and I raised
    a red bonfire
    wearing out our lips
    from kissing each other's souls,
    casting all into the fire,
    burning our lives.

    That's how you came into the world.

    But she, to see me
    and to see you, one day
    crossed the seas
    and I, to clasp
    her tiny waist,
    walked all the earth,
    with wars and mountains,
    with sands and thorns.

    That's how you came into the world.

    You come from so many places,
    from the water and the earth,
    from the fire and the snow,
    from so far away you journey
    toward the two of us,
    from the terrible love
    that has enchanted us,
    that we want to know
    what you're like, what you say to us,
    because you know more
    about the world we gave you.

    Like a great storm
    we shook
    the tree of life
    down to the hiddenmost
    fibers of the roots
    and you appear now
    singing in the foliage,
    in the highest branch
    that with you we reach.

    PS: The more I read Stephen O'Grady and Charles Stross (and I've only read Accelerando and Halting State...and his blog over the last 3 months) the dumber I feel and the more I'm aware of how much I don't know but want to know.

    Why Computer Science?

    posted on 2010-07-18 01:56:03

    It's bedtime here but I couldn't help but post this quote by kragensitaker from reddit. I've always meant to get around to writing an explanation of why I think Computer Science is a lovely discipline. This addresses it in a very different way than I was hoping to but absolutely merits posting here.
    Well, a thousand years ago, geometry was the field holding those special secrets. Computers are just the automation and generalization of geometry. Everything except that generalization of geometry (now known as "mathematics") is contingent on the physical universe we happen to inhabit.

    The most remarkable thing about all of this is that apparently that physical universe can be simulated, analyzed, and even predicted with mathematics. So, too, with all the universes we can imagine. And of course this is much easier to do with automated mathematics.

    So a computer is not just a machine; it's not just a machine that imitates other machines; it's not just a machine with a universe in it; it's a machine with all possible universes in it.

    Of course, this is not somehow discontinuous with the multi-millennium discipline of geometry, or for that matter writing and arithmetic. It's merely the current step.
    That's part of what makes it such an extraordinary field, to me, and makes the bullshit worthwhile.

    There's also, though, the human side. Computers are not merely simulators; they are also communicators, through which we can diffuse universal access to human knowledge. This is an educational and liberal achievement unparalleled in human history. The dream of Diderot is less and less a dream and more and more a reality. And thus even PHP is forgiven.

    BATB 3

    posted on 2010-05-21 13:57:52

    Battle at the Berrics 3 is coming up. For those of you who don't know what that is, it's a game of Skate between some of the worlds best skateboarders. For those of you who don't know what Skate is, it's like Horse in Basketball except you spell Skate and battle over skateboarding tricks rather than shots from various parts of the court.

    As I said, this is BATB 3. BATB 1 and 2 were both awesome and had some of the most ridiculous and consistent skating I've ever seen, particularly in the finals and semis. Consequentially, trying to predict who is going to win is totally ridiculous. Barring the possibility of injuries or other nonsense, the finals are just as likely to be decided by somebody having a really off day as anything else. I mean, take Mike Mo vs Torey Pudwill for example. Is *anyone* excited to call that? All the same, here is my preliminary bracket. I'll try to figure out the semi-finals and finals later. Also, if you feel like debating these picks feel free to let me know where I'm way off. Even though I'm not. I've seen the future people. This is it:


    Quad 1
    Chris Cole vs. Joey Brezinski - Chris Cole
    Danny Garcia vs. Johnny Layton - Danny Garcia
    R2 - Chris Cole
    Gilbert Crockett vs. Shane O'Neill - Shane O'Neill
    Greg Lutzka vs. Eric Koston - Greg Lutzka
    R2 - Shane O'Neill

    Quad 2
    Cesar Fernandez vs. Benny Fairfax - Benny Fairfax
    Josiah Gatlyn vs. PJ Ladd - Josiah Gatlyn
    R2 - Josiah Gatlyn
    Cory Kennedy vs. Jimmy Cao - Cory Kennedy
    Erik Ellington vs. Ryan Gallant - Ryan Gallant
    R2 - Cory Kennedy

    Quad 3
    Peter Ramondetta vs. Mike Mo Capaldi - Mike Mo
    Mark Appleyard vs. Brandon Biebel - Mark Appleyard
    R2 - Mike Mo
    Rick Howard vs. Marc Johnson - Marc Johnson
    Torey Pudwill vs. Marty Murawski - Torey Pudwill
    R2 - Torey Pudwill

    Quad 4
    Dennis Busenitz vs. Chico Brenes - Dennis Busenitz
    Paul Rodriguez vs. Sean Malto - Paul Rodriguez
    R2 - Paul Rodriguez
    David Gonzales vs. Billy Marks - Billy Marks
    Heath Kirchart vs. Steve Berra - Heath Kirchart
    R2 - Billy Marks

    Q1 - Chris Cole
    Q2 - Cory Kennedy
    Q3 - Torey Pudwill
    Q4 - Billy Marks

    Semi-Finals 1+2 - Cory Kennedy
    Semi-Finals 3+4 - Billy Marks

    Finals - Cory Kennedy
    Runner-Up - Torey Pudwill

    A Year Ago Today

    posted on 2010-05-18 13:00:04

    A year ago today, my Dad, John M. Glenn Jr died of non-smokers lung cancer. Mom and I still miss him terribly but I think if he were here he'd be proud of how we've carried on and on how much we've accomplished and enjoyed in the intervening time. Wherever you are John Glenn, you are loved and remembered. We were lucky to know you.

    A Summer Schedule and 10,000 Hours

    posted on 2010-05-17 13:00:35

    Today is the first day of my summer courses. I'll be taking Distributed Computing, Programming Language Concepts, Information Security Administration, Astronomy and the corresponding Astronomy lab and cramming all that into 8 weeks. Hooray. The Distributed Computing and PLC courses are online which helps ease my scheduling and transportation concerns somewhat...though by the end of summer there is a possibility I'll have a car again obviating my need to take public transit an hour and a half to get to campus. As it stands, classes are Monday through Thursday, start between 10 and Noon and end by 3pm everyday.

    That ought to give me plenty of time to work on personal studies...but there's a problem with that. I haven't been good about making my personal CS studying structured since the great 2008 experiment/debacle. There are a lot of reasons for that experiment's failure. I lost steam studying only SICP in 2008 and not having any immediate idea how to write software that was useful to me or anybody else. Perhaps more significantly, I wound up with not only a full time job but also housewife duties in May 08 which practically ended the time and tight scheduling that had been crucial to my progress. I'm likely still going to have housewife duties but I think I can carve out enough time this summer to give things another go.

    Why Bother?

    Long before Outliers, many studies suggested that 10,000 hours of practice are required to achieve expertise. Peter Norvig has a post called "Teach Yourself Programming in Ten Years" that is often linked to in discussions of learning to program and it links to a few of these studies. ...but that link is, perhaps, a bit over cited and it's impact softened as a consequence. I prefer the comment by nostrademons on that post, reproduced here for posterity:
    I don't think it works quite like that.

    When I got my first programming job, straight out of high school, I finished tasks in 2 days that took the other programmers there 4 months. I figured that if I was that much faster than them, I ought to be able to become a world-class programmer in just a couple years (or more accurately, I thought I could become a world-class physicist in my 4 years of college and then a world-class programmer in the 2 years afterwards).

    So I resolved to take all the shortcuts I could. I'd read all the classic books in the field and learn from those with more experience than me. I'd take internships with experienced, accomplished programmers and pick their brains for everything I could. I'd take on volunteer coding tasks so I could get some experience building things on my own. I'd cherry-pick all the tough courses at college so I got the best part of a CS degree without having to sit through stuff I already knew.

    I did all that. I've read all the classic CS books - GoF patterns, Mythical Man Month, Extreme Programming stuff, Pragmatic Programmer, Knuth, SICP, TAPL, Dragon Book, On Lisp, etc. I've worked with programmers that wrote large chunks of curses, Rogue, vi, Jini, JavaSpaces, HotSpot, Gallery, Stratus, Equalogic, DEC compilers, Python, Google, and a bunch of other projects they don't brag about. I wrote Amherst's course-evaluation system, and rewrote the software for a 100k-user site, and wrote one of the front-page hits for [haskell tutorial]. I have that CS degree, and aced the algorithms class of which you speak, and took compiler design and OS and computer graphics too.

    It's been 9.5 years since that first programming job, and it still feels like I have a really long way to go before I'm actually a world-class programmer.

    The part I didn't realize, in my youthful arrogance, was that I was comparing myself to the wrong people. When Norvig tells you how to become a programmer in 10 years, he's assuming you're already taking all the shortcuts you can. It still takes 10 years. Most of the people you'll meet straight out of high school, or in most colleges, or in random companies, will never become programmers in the sense that Norvig's talking about. Eventually they'll give up trying, and start grumbling on Reddit about how the software industry is mostly boring cubicle farms where they push around Enterprise JavaBeans and never use the algorithms that they learned in college.

    Let me just say, I *love* this comment. I've thought about printing it out, hanging it over my bed and reading it before I go to sleep every night just for the kick in the ass it gives me. I'm probably too relaxed to ever achieve the level of expertise nostrademons is talking about (and see the "experiment" link above if you don't believe me) but I want to keep learning. I think it is far too easy in this field to not follow both theory and practice, to either stop writing code or stop keeping up with the theory. I have a real passion and interest for programming and I plan to try to avoid that.

    How To Do It

    I'm not sure to what degree schoolwork, paid work or personal projects can contribute to the 10,000 hour figure. I feel like if it's not a concerted effort to get better in an area where you are weak or otherwise generate forward motion, if it's not dedicated practice rather than plodding repeated movements, it doesn't count. Many of us are adults though and if you want 8 hours of sleep 7 nights a week with social time, transit time, time to eat and time to relax then a week goes from 168 hours to 112 hours to 72 hours (after a 40 hour workweek) to less really quick.

    Assuming you set aside an hour every work day (M-F) for dedicated personal studies, 52 weeks a year, it would take you about 40 years to achieve 10,000 hours. I have to assume Norvig or others would include school or a job assuming that it continued to push your limits. Otherwise, we're talking 20 hours a week (or 4 hours after work+school+etc every workday) to get there in 10 years. At any rate, I've said I'm in no rush and that I'm probably too relaxed to achieve the level of expertise discussed above. As a consequence, I'll only do 5 hours a week from 4-5pm Monday through Friday.

    I'm not going to have quite as structured a study plan as I did in 2008 though I will be doing the exercises, there will be specific books I study from and hopefully I'll find time to blog about it and not just push to github. Monday-Tuesday will be Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron, Wednesday-Thursday will be Algorithm Design by Kleinberg and Tardos and Friday will be Peter Norvig's Paradigms of Artificial Intelligence Programming in Common Lisp. Let's see how this goes...

    What Kind of Day Has It Been

    posted on 2010-05-13 21:40:12

    It's been a hell of semester. And if you don't get the title reference, click here and then watch lots of Studio 60 and The West Wing.

    This semester had everything. There was a cash shortfall due to my not requesting enough Financial Aid loans because I was unaware that online courses cost almost twice as much per credit hour since the state won't subsidize them. I had a busier than usual course load. I reluctantly chose to graduate in May '11 rather than December '10 rather than trying to shove 32 credits into Summer and Fall. There was an internship that I much enjoyed though it was marred by some communication difficulties of mine the first two months or so. There was even a professor who had some communication difficulties, particularly in the specifications of his course project. That was lots of fun.

    My grandfather died of the same non-smoker's lung cancer Dad died of. The anniversary of Dad's death, by the way, is next Tuesday. Strangest of all, I came to the realization that I wasn't prepared for a life long relationship with Teresa and, as a consequence, broke up with her on Monday. That part was terrifying and actually about a 6 month process. It's all still quite hard to explain. I tried to do the best I could once I was sure of my decision (late March/early April) to not cause all that upheaval before finals and graduation. It seemed like the most responsible decision at the time.

    At this point, I've moved back in with my mother to house sit while she spends a month in Europe. She leaves May 22nd so this conveniently coincides with the anniversary of Dad's death. My 5 summer courses start next Monday and are: Distributed Computing, Programming Language Concepts, Information Security Administration, Astronomy (because I'm feeling worn out and lazy) and the corresponding lab. June 19th Mom will return from Europe and I'll move back into the Aventine to a 2-bedroom with a former college roommate of mine, Ben Minor.

    Despite all the chaos, I feel oddly good about where I am. I got 2 As and 2 Bs this semester which is fine I suppose... but I learned a lot and that's good. I tried to handle the situation with Teresa with as much grace and respect as I could muster. In general, I've been faced with adversity and tried to demonstrate character and integrity as best I can. I'm not sure what Dad would say if he was around to see it but I'm trying to pat myself on the back and call it a job well done.

    I do feel that I'm in the right place and have made many of the correct decisions. I am where I want to be. Now, it's a matter of keeping on, trying to relax just a little this week (which is tricky since I'm woken by hammers at 7:30 as Mom's house is being renovated and the roof redone...did I mention we can't use the stairs or top floor today?) and getting organized for summer courses and beyond. If you're reading this, keep doing your best. I love ya.

    A Brief, "Postmodern" Shout-out

    posted on 2010-04-12 01:11:48

    Things have been crazy lately but I'm not here to give a full update. I will say that there's been good with the bad, family, friends and supporters all the while and that the bad is mostly the usual bureaucratic and financial troubles that are just a part of life. I'm trying to post more regularly. Today is a brief programming post.

    This semester I've been taking a database course and we're building a small, silly webapp as the final project. The course uses SQL+PHP and I asked my professor if he wouldn't mind if I used SQL+Common Lisp. He accepted and so I've been using the Postmodern library for Common Lisp to talk to my Postgresql database. Postmodern has been really nice to use so far but there's one thing that I had a little trouble with that I'd like to document here.

    Generally, if you're writing classes in Lisp you're using CLOS and an example might be something like this:
    (defclass user ()
    :initarg :username :reader :username)
    :initarg :password :reader :password)
    :initarg :salt :reader :salt)
    :initarg :email :reader :email)
    :initarg :first-name :reader :first-name)
    :initarg :last-name :reader :last-name)
    :initarg :zip :reader :zip)))

    Postmodern has a nice method for interacting with the database via class definitions that it coins "Database Access Objects". Note that DAOs neither are nor attempt to be a full ORM solution, a very sane decision in my humble and inexperienced opinion. Anyway, to make a normal class into a DAO class is easy, just do this:
    (defclass user ()
    :col-type string
    :initarg :username :reader :username)
    :col-type string
    :initarg :password :reader :password)
    :col-type string
    :initarg :salt :reader :salt)
    :col-type string
    :initarg :email :reader :email)
    :col-type string
    :initarg :first-name :reader :first-name)
    :col-type string
    :initarg :last-name :reader :last-name)
    :col-type integer
    :initarg :zip :reader :zip))
    (:metaclass dao-class)
    (:keys username))

    All you have to do is add col-types to each slot so the system knows what type is stored in the database rows, list the components of the primary key and declare it a member of the dao-class metaclass. With that done, you can easily work with CLOS objects and fairly seamlessly select, update, delete or instantiate+insert them into the database. Creating the table itself can be done as follows: (execute (dao-table-definition 'user)). However, this is really intended as a shortcut for cases where you have a simple table definition. Say you wanted to allowed users to own collections of things, maybe collectible cards, and track those in the database as well. You ought to have foreign key constraints on the database so that collections couldn't be owned by users that didn't exist or consist of cards that didn't exist or were made up.

    In the case where foreign key constraints are desired or other more complex checks should be made, the preferred method is to write a deftable definition in addition to the class and then create the table with (create-table 'class) or (create-all-tables) if you have several tables. This would make for nasty code duplication since you'd still need a dao-object class to interact with the tables as nicely as possible. Thankfully, there's a macro to clear the situation up and import the simple parts from your dao-class specification. A possible deftable for the collection class might look like this:
    (deftable collection
    (!dao-def) ;; Import the existing info from the dao-class definition.
    (!foreign 'user 'username) ;; Ensure that the username that owns the collection exists in our user table.
    ;; Ensure that each card in a collection has a name and edition corresponding to a card in our database.
    (!foreign 'card '(card-name card-edition)
    '(name edition)))

    Of course, if your tables are already created and you just want to access them or you want to create them at the psql prompt, you don't care about any of this. Hmm...I guess that's supposed to go at the top. Anyway, a more careful and thorough reading of the documentation would've shown me this but examples are nice and here one is in case anyone googles around for it like I did. As far as I can tell, this is the preferred current approach for table creation. Corrections welcome and thanks to Marijn Haverbeke for writing postmodern. It's been wonderful so far.

    Ye Olde Personal Update

    posted on 2010-02-17 05:32:19

    2010 has, to date, been an odd year. I'm not entirely sure what I expected but I had something more idyllic in mind. The last two weeks, I've been struggling mightily with some personal issues and come to recognize some character flaws in the process. That's never fun. In particular, I have some communication problems and there are scenarios in which I simply shut down. Without warning or even conscious recognition, I withdraw and disengage. There are some rough similarities in these scenarios but not enough for me to figure out something conclusive about causality. The flaws caused trouble in both my personal and academic life in late January and early February.

    My actual school courses have been going well so far but I've been screwing up my internship and am in the process right now of getting caught back up in that department. It's quite embarrassing as this is something I had looked forward to and involves people that I look up to. Murphy's Law applies to timing of our character flaws and communications problems too, I suppose. Valentine's Day was nice at least. I enjoyed preparing some really lovely Steaks with a Cognac-Peppercorn sauce. Clearly, my life is not *too* hard.

    To try and keep that positive note, I'll end with a few things that have made me happy lately:
    - Music by Local Natives, Band of Horses, Ametsub, Massive Attack (Heligoland is pretty solid),  Fleet Foxes, Jon Hopkins, The XX and Miles Davis' Flamenco Sketches.
    - Writing wrappers for web services/APIs is (so far) reasonably straightforward and fun. It's nice to know that there's a ton of good data out there waiting for neat uses to be made.
    - I have ideas and a desire to contribute to way more programming projects than I have time for. Some are others' projects. Some I'd start myself. I maintain that this is a good thing as long as I stay focused on what's on my plate and finish one thing at a time.
    - I have ideas for future blog posts and github uploads. Still, I'm sticking to my "no pressure blogging" schedule for 2010. There are more important things than...well, this self-aggrandizing whatever it is. That said, I've always been surprised that I find my blog so useful for remembering where I was, what I was thinking and what I was struggling with years later. Some days it's the only way I can convince myself I'm moving forward.
    - Factor is a nice language and I've spent a few hours playing with it again. There are trivial and non-trivial things I like. The biggest thing is the exceptional interactive nature of the language and how well integrated it all is. From a design standpoint, I just appreciate it. It seems to get a lot of things, compromises...right. More on that another time. Factor 0.92 was released today! It's been 2 years since the last release and I'll look forward to helping test a few things before 1.0 and keep hoping for native threading before 2.0. :)
    PS: The Factor logo is a raptor! How has Randall Munroe *not* written an XKCD comic about this?
    - I've finally found a few people (3) at school that are legitimately interested in programming and care about it. It's taken over a year. That's far too damn long.

    Paktahn 0.8.2 and other news...

    posted on 2010-01-14 04:36:33

    The last week has been thoroughly insane in ways both good and bad. As a gift, I had my thoroughly aged Nokia 6010 replaced by a shiny new Nexus One. Much as I would've liked an N900 they aren't subsidized by any carrier and so will remain out of my price range. I've also switched service to T-Mobile and thus far been quite satisfied. Then again, coming from a phone without a data plan I have no way of evaluating the 3G I'm getting.

    The holidays were good. I have a skateboard again so when the weather clears up I can get back to enjoying that.  Time with mom was really good as was some peace and quiet and time to reflect. I took the opportunity to discover some new music as I usually do and also to read two novels by Vernor Vinge that I thoroughly enjoyed: A Fire Upon the Deep and A Deepness in the Sky. Careful, those wiki links have spoilers. As for the music, I've considered compiling a top 5 favorite albums of 2009 list but haven't gotten around to it. Besides, should tell you most of that. I will say I've been deeply enjoying Jon Hopkins, Ametsub and Minus the Bear this week. It's kind of an odd mix.

    Moving on, I got back into code last Tuesday after a long holiday absence. I really needed the break to recharge. 2009 was a full year. I spent the bulk of the second half of last week and the weekend writing code, reading code or screwing around with configuration files...which are all things I enjoy a good bit. Over the break I had fooled around with a new window manager (StumpWM in lieu of XMonad) and started using clbuild instead of asdf-install. I also spent a little time adding a lot of projects to clbuild in case I felt like playing with them. In the course of all this fiddling, I made a fresh archlinux install in a new partition with essentially nothing but Lisp and C compilers, a tiling window manager, Chromium, Emacs and a music player. To some degree, I'm fleshing it out still. It's a dumb diversion but every now and then I just have to rip my system up a little. It's hard to explain.

    On Sunday, after 3 months of work Leslie and I finally made the Paktahn 0.8.2 release. For all intents and purposes, the wait was worth it. A lot of new features and fixed bugs are present but there is still so much on my Paktahn.todo list. And of course there are bugs to fix. It's hard to explain why I'm so invested in Paktahn. Part of it is the work I've put in to date, part of it is how pleasant it's been working with Leslie and how much I've learned. Another large part is that there is great joy in having written some part of my day to day software and having a (relatively) deep understanding of it. It's kind of silly because AUR Helpers are a dime a dozen (or two dozen) but I'm still having fun.

    The Paktahn release was not without some drama though. Almost immediately after the release I started having odd issues building paktahn with sbcl. The resulting executable would exit as soon as you ran it complaining of a fatal error and a lost gc invariant. Not what you want to see. The bad thing was the error was intermittent and I couldn't isolate the cause. I had issues with it in my old archlinux install as well as the new one, with old and current checkouts of my code and with a checkout of Leslie's tree. I'm pretty sure I tried it with a fresh, recompiled sbcl and also tried removing all fasls and recompiling. I got very confused in the course of all that trying to figure out what happened. I should've been taking notes. At this juncture, it builds fine again and I can't get it to act up. :( Ah, well. At least I can get back to developing. It certainly gives me some impetus to finish the CCL port I started Dec 28th.

    So on to school this semester. I'm interning at a company called Kloudshare and have begun work on open sourcing a portion of their code. It's good fun and I hope to have more to share on that note very shortly. The administrative person I spoke with before break failed to get the internship registered in SPSU's system though so I spent a good deal of Tuesday getting that worked out with her. Then I had the unpleasant experience of learning that online courses are *substantially* more expensive than offline ones. Apparently, the state doesn't subsidize them because they can be taken advantage of by anyone or something like that. In my case, I was just trying to avoid an hour and a half commute both ways and try to find more time to code. I guess you really can't have it all. Now I have to jump through more financial aid hoops. Joy.

    Soon I hope to have some code to show here. Maybe I'll spend 10 minutes and just throw my dotfiles up on github for the hell of it tomorrow. Other than that...I miss long form writing, poetry, essays...but my focus is elsewhere. Plus I'm tired. The rest will have to wait for another day.

    2010 Already?

    posted on 2010-01-02 04:07:07

    It's hard to believe it but the new year is already upon us. 2009 was a big year. Dad's death was a serious blow but I have to recognize that a lot of good came my way too. I started genuinely programming, moved into an apartment with Teresa and finished half of a BS in CS at SPSU. One more year like last year and I'll at least have a diploma...but the further I go down the programming rabbit hole, the more ignorant I realize I am. It's not like I'll even approach competence at the end of 2010. Oh, well. That's how it is and I can deal with that. Hell, I think that's part of why I like what I'm doing.

    Speaking of programming, I haven't done near enough of that over the break but I'm trying to get back on top of things this week before classes start. At least my classes this semester require code. I also have a cool internship lined up. Yet another reason to get coding. I made a number of resolutions last year, some successful, some not. I blogged regularly but I didn't exercise enough. I maintained a 3.5 or better GPA the first two semesters but didn't excel during the fall. Some of that may have had to do with Dad's death, I really hadn't expected him to die in 2010. I think more of it had to do with burnout (on SPSU, not CS) and not liking any of my classes/professors. I also spent virtually no time reading HTDP and little time sampling my music.

    My predictions weren't half bad. I was wildly optimistic about the drop in SSD prices but much closer than I would've guessed about the game console war being almost a draw by the end of 2009. Apple has continued to infiltrate the mainstream but I think Linux had more progress in 2008 than 2009. Sadly, neither of my IP Law predictions came to pass and that area needs progress as much as ever.

    I'm not going to bother with predictions for 2010 or resolutions either. I think it's better to work, enjoy what I'm doing and see where it takes me. Happy New Year. And good night.

    Vacation Time

    posted on 2009-12-17 17:22:58

    At long last, this year is drawing to a close. I've ended my semester on a mostly positive note and am looking forward to the Christmas holidays. Why you ask? Well, for a few reasons.

    There are people to catch up and hang out with. I've got books to read: A Deepness in Sky and maybe Diaspora. There may be some light video gaming between FFXII and Borderlands. But mostly, I have projects. I need to dive in to the code I'll be working with on my internship next semester...but not just to get a head start. The company I'll be working with is working on some pretty cool stuff and there are plenty of places where even a naive fellow like myself could be of help, provided I don't get in people's hair/workflow too much. I want to try to get a Paktahn release out by Christmas with Leslie. That means giving a good read through of the analysis of why SBCL's PKGBUILD fails on x86_64, fixing it and getting the result to juergen. Also for Paktahn, I want to start work on a branch using Unix-options for CLI argument handling and look over/improve a proxy branch I've been working on. Maybe a unit tests branch, as well. Besides that I have some programming books I'd like to read a bit of (and you have to do the exercises!) and various other small projects to toy with.

    All that has to wait until at least tomorrow though. I'm taking today off to be with my girlfriend and relax a bit. She leaves Sunday at which point I'll go full into project-mode, I expect. :)

    There's probably more to say here but I'm forgetting whatever it is...and my rice is ready. Cheers.


    posted on 2009-12-10 03:33:41

    The semester is finally drawing to a close. I had my last class sessions today. Exams are on Monday and Wednesday followed by a much needed break. It's been a long 3-semester year with more twists and turns than I could've guessed. No matter what happens, the break will be here soon.

    I have a variety of projects to work on over the break. I have one code base to get familiar with and another to get features and bug fixes written for. I also need to finally get around to writing the successor post to On Minimalism. Between the writings of Brian Hurt, Paul Snively and Roly Perera I'm getting a better idea what my thoughts and issues are and can hopefully come up with something good to say. I also might push out another "redlinux" release for the hell of it and have various other pet projects.

    Now, for the recreational stuff. I'm going through another exploratory phase in my music listening and need to filter through some of the stuff I've pulled down from the vastness of the net. I just finished the first fiction reading I've done since...oh...Summer 2007? It felt good to read for pleasure again. I read Vernor Vinge's A Fire Upon the Deep and was thoroughly impressed. I'm looking forward to reading A Deepness in the Sky over the break.  Maybe Rainbow's End or Greg Egan's Diaspora if I'm feeling up to it. I can say that recharging my batteries will be my priority for whatever remains of December after finals. That and figuring out where I am in life and sensible goals for the next year. Of course, spending some time with Mom will figure prominently as well.

    Another Home Stretch

    posted on 2009-11-30 00:04:07

    I'm way behind on my blogging schedule. It's been over two weeks since the last one.

    It's hard to believe 2009 is almost over. It's been an overwhelming year with a fair amount of negatives (dad's death, girlfriend's dad's death) but also a lot of positives (back in school with good grades, a nice apartment, fun programming projects, an internship for 2010 and a deepening relationship with the lovely Teresa Finn).

    This semester has been much harder on me compared to the last two for reasons I won't elaborate on here. My last two big papers are due by tomorrow and Dec 4th, respectively. Then I'll be pretty free until exams on the 14th and 16th. I'm almost there but the end seems wildly far away. In part because I'm having trouble focusing on doing what I need to do today. I'm preoccupied with all kinds of concerns about graduating on time, finances, finding a job, where I'll be moving and other things that just flat out don't matter right now.

    Though there are personal projects I'd love to work on, I may be a vegetable most of this holiday season.

    Back to paper writing...

    Way Behind

    posted on 2009-11-10 14:55:33

    So, I'm coming up on the two week mark since my last blog post. Sorry about that. A big reason why is that I have been working on a post that might actually have some substance to it. It's still about programming and CS but it might actually have something interesting to think about. Sadly, it's not done yet. In lieu of that, I'll post some quick bits of news.

    • I've still been hacking on paktahn like a fiend whenever I can.

    • I've started playing Final Fantasy XII again. I love that game series. Also, it's soundtracks.

    • I finally caved and got a twitter account. I'm kind of embarassed but I was following a bunch of people by checking their twitter page a few times a day. It'll save time on that, at least.

    • It's rather hard to sum up all the music I'm into but my top 15 artists on is a really good starting point. If there are any you haven't heard of, they're worth at least giving a shot.

    • I cannot wait to be done with school. Optimistically I can fanagle my way into getting credit for a literature course from my Oglethorpe days. If I do that and never get a D or F in any courses, I can graduate by December 2010. That's 5-6 courses a semester, 3 semesters a year. Otherwise, it's May 2011 for me. Blerg.

    • On Dad: I think I only really started missing him recently. I think in Summer I didn't even have time to process his death (or just didn't know what to think), August-September I was depressed and now I just miss him sometimes. It's not terrible but there's definitely a time or two a week where I'm all, "Man! I wish Dad was hear to {talk to, hang out with, listen to music with, play guitar with, play video games with, watch movies with, be a family with, etc, etc, etc}".

    I was going to add a number of different "newsy" things here such as: the recent successes about PATRIOT act and State Secrets reform, the enjoyable experience of working with the ECL compiler developers, some thoughts on my first Factor program (which still needs some touch up work) and various other things but I'll leave that til another day because sadly, I have a test tomorrow to study for. More coming your way soon, folks.

    Miracle Day

    posted on 2009-10-29 00:55:19

    Ever since I blogged about good things happening to me last week, I've been slipping into depression. And the descent became rapid. The last three days were the worst of it. I had almost completely lost my ability to function. Just getting on the bus and making it to class, that was pretty good. That was an accomplishment. There were a variety of reasons for this but certainly one of the most prominent was how overwhelmed I felt by my Algorithms class. The first test had decimated most of the class (a handful of people got better than a 60) and the second one was today. Thankfully, it was a much gentler test than the first.

    It's the teacher's first semester at my school and if my sources are accurate one of the reasons the second test was so much easier is that he has received enough complaints to be on some sort of probation. Whether or not that's warranted or not I can't say. What I can say is that I came into this semester drained. Partly due to prior semesters and a bit of academic exhaustion, partly due to Dad's recent death. I was hoping my courses would re-energize me this Fall. I found that all my courses drained me. It was terrible. Thankfully, I started working on some Open Source Software and that has been a real boon to me. Being able to share my enjoyment of programming and feel productive with somebody else helped give me a boost that I really needed. It kept me afloat. That said, if I had bombed the test today I don't know if I would've been able to handle it well.

    I was concerned that if I bombed the test (which seemed probable) I would be so defeated that I'd have a hard time picking myself up and making a good effort on my other courses. Bombing the second test would have meant near certain failure in the class and I wasn't in a good position to take that blow. Thankfully, I'm still in college and I caught a break. A lot of people complained and the second test was a good bit easier. Whether that's fair or not is out of my hands. In the real world, I won't get many breaks or second chances. I'll just be required to meet the bar. Period. And sooner or later I'll miss it. I will fail. At which point, I'll just have to pick myself up. But not today. Today I'm going to keep trying to float and start working on finding my optimism.

    Here's a pros and cons analysis and some oddly well timed material I stumbled on today.

    He's easing up on us. We already weren't understanding the material well. Now he's easing up on us.

    I am not going to fail the damn class.
    I can study CLRS and Kleinberg-Tardos and Levitin (all Algorithms books) at home to my heart's content, this semester and/or after. I've always vastly preferred self-study and learning by experimentation anyway. :)

    Tasty links that might also cheer you up:
    High Anxiety - Raganwald's new github-thing
    Optimism - Also Raganwald's new github-thing

    A song I've been enjoying:
    Two Door Cinema Club - Something Good Can Work
    Found at

    The Good Things

    posted on 2009-10-22 15:54:41

    This is a test of something a little different. This will be a personal post detailing some good things that happened to me yesterday. Ya know, because that perspective is good.

    Good Things that happened to me today:
    My algorithms test got pushed to next Wednesday. Two days is time for me to learn more.
    I setup plans to see Where the Wild Things Are with Max (possibly others...) this weekend.
    I got to listen to a lot of good music: Bill Evans Trio, Bibio, Four Tet, Memory Tapes, Deerhunter, Two Door Cinema Club, French Kicks...
    I wrote a simple wrapper macro on with-interrupts for ECL<->SBCL portability.
    I just enjoyed seeing people: Alisa, Bansri, Christian, Elisha, Kelly, Trevis, Professor Snook, Professor Brown, pretty much everybody.
    Don Gerz made a funny post on my wall.
    I enjoyed reading some news on reddit and hackernews. I also enjoyed Chris Cole week at the berrics.
    My financial aid finally came in. I need to check up on that Friday.
    I got warned about a quiz on Friday. Always better to know in advance.
    A bug I found in ECL got confirmed by Juan Jose Garcia-Ripoll. Might not get fixed right away but hey, that's something.
    I defeated some (but not all) of my Algorithms homework. It's progress.
    I felt attractive.
    Teresa felt like making a grocery run. There was Sorbet for dessert.

    Since Last Time

    posted on 2009-10-19 23:04:56

    Well, it seems a lot has happened since last time. An additional lisp library for concurrency called Calispel has been released and is up on Cliki. Unfortunately, it depends on cl-jpl-utils which in turn depends on cl-rsm-queue, neither of which are on Cliki. Such is life. There are good things though, a release candidate for CCL 1.4 has been put out. I've also started a branch porting Paktahn to Embedded Common Lisp. It didn't wind up being as tricky as I thought. Hopefully, I'll have something I can merge to master in a week or two. Of course, I wouldn't have gotten anywhere without Leslie. Geez, that guy is patient. Anyway, what about non-lisp news? The ACM Reflections conference is over and hopefully videos will be posted soon. Additionally, there's been some discussion about whether or not it's time for Factor 1.0. There's still really great work being done on the language implementation. I would like a proper book for it and binaries to be available in my linux distro but I can wait.

    There's also been a good discussion on what math programmers need to know on reddit recently. The outstanding comments (IMO) are here, here, here and here. Similarly, there was a good thread a few weeks back titled "What do you wish you knew when you started programming?".  A few of my favorite comments are here, here, here and here. More importantly, there was a very enjoyable article and followup about Office Politics as interpreted by Hugh MacLeod and The Office. As some folks in the hackernews thread mention, the model isn't universally applicable. Yep, that's right. It's a model. Go figure.

    Well, it's been a very hard week. Mostly because I just hate my Algorithms class. I don't hate algortihms just the way it's being presented and taught. I'm pretty sure I can overcome the obstacles involved, I'm just much less motivated to do so than I would like. The last two semesters I really had a fire under my butt about school for some reason. Maybe not but when I had to rise to the challenge, it was relatively easy to do so and I was kind of proud of that since it was a divergence from my past. This semester the fight just isn't in me and I have next to no pride in what I'm doing in school. I'm sort of coasting and I'm finding it hard to break out of that. Of course, I'm learning the material and I'm doing extracurricular things to improve my knowledge, joy and understanding because I care about programming. Whether that's stupid or not is another question but also kind of irrelevant, I didn't choose to be fascinated by this stuff. I just can't help it. So I'm not doing what I love, I'm doing what I can't help but do. It's gonna be a long road.

    I've still been getting a few things done. I've written a few quick hackish, sbcl-dependent scripts. Maybe I'll post some of the code for them soon. I started working on Redlinux again. The last release I made was back in May and a lot has changed since then, more about my approach than about Redlinux. I'm hoping to make a new release by the end of November. So far the big change is my build process. As in, now there actually is one. It should be trivial to rebuild from scratch in the future. See what a non-distribution it is? The upcoming release should have a nice proper script for creating a new user and doing a little initial setup. Above and beyond that, I'm hoping to work on the documentation some. If anything, the real problem is it may not fit on a single CD with all the programming software I've bundled in.

    A while back I wrote a post on getting an undergraduate CS education for under $1,000. It was mostly focused on which books and resources were ideal for self-study. I reworked said list and posted it on Amazon over the weekend. A lot of my decisions about what's worthwhile for self-study has changed (since I've actually read more). My motivation stems largely from the fact that I prefer self-study to school. Finally, there are two slightly older articles of mine that linked to a bunch of really interesting articles that are still among my favorite blog posts I've stumbled upon since trolling the internet for programming stuff. I'm hoping to do a real writeup on a number of these articles and add in a few of my own ideas in the near future. And since I'm calling it "the near future" you know advance I'll never get around to it. Well, hopefully not. :)

    That's all for now. Back to homework guys.

    Just a Feeling

    posted on 2009-10-13 23:33:16

    Last time I blogged, I was midway through midterms and just starting to work on some lisp projects. It's hard to imagine that was only a week ago. Since then, midterms are over, I've realized my only difficult class is Algorithm Analysis (the nature of whose difficulty I've blogged about before) and become an official Open Source contributor. Admittedly, it's on a small scale but when I was just getting interested in open source a few years ago I never would've figured this would happen so soon. It's been a great learning experience so far and incredibly fun. I still need to get started working on adding libvorbisfile bindings to Andy Hefner's Mixalot but today I'm going to try to dump some links out of my browser, get some thoughts down and do some Algo homework.

    I mentioned recently that I've been wanting to write a lisp post but been unsure what to focus on. I've wanted to respond to posts made by others in various places over the last few months asking about the liveliness or validity of lisp as well as whether the language is still changing or whether the departures of prominent Common Lisp users matters (search for the second occurrence of "norvig"). Experienced lispers might just ignore that question at this point, I don't know. It does come up far too often. For my part though I want to try and address this because I know the more attention I've paid to the lisp community, the more I've seen how active, alive and, most importantly, friendly it is. It's been a little surprising in some ways compared to the false preconceptions one can get from blog and reddit chatter. Now, it may be undermanned. There's certainly more work to go around than people to do it but that's true of many places. Anyway, I simply have to get some of this out of my system. Here are a few thoughts...and links.

    First of all, just this morning I poked around for libraries on concurrency and parallelism and found the following: erlisp, erlang-in-lisp (which may become active again, who knows), cl-future, csp, pcall, eager-future, cl-muproc, cl-stm, chanl, patron, philip-jose, cl-mpi, cl-cluster and, of course, the distributed schemes Termite and Gerbil. Poking around for GUI libraries I quickly found: cl-gtk2, ltk, mcclim, commonqt, celtk, cells-gtk3, cl-smoke, cello, wxCL, cells-gtk, lisp-tk, clg, and cl-ncurses. Even cl-ncurses has seen some recent activity! :)

    Now I grant some of these libraries are unmaintained and others are code stubs that never quite got off the ground. But 6 of the concurrency libs were started this year and of those 6, 3 have seen code updates in the past 3 weeks. Of the GUI libs, the CommonQT and CL-GTK2 bindings have both seen commits in the last month. Sadly, the libraries are spread out all over everywhere from Cliki to Github to random repositories dotting the cyber landscape. There are many reasons the library situation isn't perfect but it isn't dead either. Just look at all the projects and work-in-progress-projects in clbuild! Moreover, there are discussions about what Lisp needs to move forward. Some of them involve CLtL3, a new standardization effort, and others involve infrastructure improvements, a central package respository for example. The talk is out there. Books are still being written, people are still working on the implementations and making releases, low level experiments are still being done even though the lisp machines are gone...well, mostly.

    But mostly I just wanted to put this all out there for now. To celebrate the tremendous, if seemingly fractured, development and FUN people are having with this language. Because that's what I'm having. Fun. You want in on it? Then get ready to get your hands dirty.

    Keep It Together

    posted on 2009-10-06 15:25:26

    So, the last time I really posted a personal update I didn't have many good things to say. I was a bit depressed. But I seem to have climbed out of that hole. Midterms are mostly over and I have a much better feel for my classes with them behind me. The only one I haven't taken is the American Government midterm which I'll take tomorrow at 3pm. A decent amount of stress is off now that they're out of the way. I'm still a bit overextended. I'm pulled in many directions by a desire to do many things but I might as well be honest. I like it that way.

    Particularly, I'm trying to contribute to two different pieces of Open Source Software. One is Mixalot, a suite of Common Lisp libraries for interfacing with Linux's ALSA sound sytem and playback of MP3 files. The other is Paktahn, a package management wrapper for Arch Linux which is meant to replace Yaourt. Paktahn is also written in Common Lisp. Notice a trend? I want to use Mixalot to work with Ogg Vorbis (*.ogg) files which it doesn't support. I told Andy Hefner I'd like to try and contribute some libvorbisfile bindings which would let Mixalot work with that file format. Unfortunately, that involves interfacing with C code which I don't know much about. It's definitely an order of magnitude harder than most things I've worked on before. Plus I've had I haven't gotten much done on that front yet. Leslie Polzer is writing Paktahn and he pointed me in the direction of a fairly straightforward, well-defined problem that needed solving. I got around to working on that and have made pretty good progress. With a little more work it may even make it upstream for the next release. That's wicked fun!

    I've wanted to write a blog post on Lisp for a little while but couldn't narrow down what about Lisp to focus on. Lately I had been looking at mailing lists, documentation and source code repos for a lot of Common Lisp libraries. Perhaps what shocked me most was the realization that Lisp has plenty of work to go around for silly noobs like myself. There are all sorts of trivial little tasks all over the place that maintainers are too busy solving real problems to fix. And that's awesome! I can be very helpful probably to a wide number of different projects. Now, I don't know a lot and I don't have time to "help" near as much as I'd like...but I can still learn something and be of use. And I'm pretty happy about that. So Common Lisp: Have fun on the fringe, benefit from learning a non-standard language with some awesome features, be useful and get mentored by some smart folks. What's not to love? I'll try to post something more thoughtful about this later. But for now, all I have to say is that this is a really good thing and I can't wait to see where it takes me.

    For now though, it's back to studying.

    Make it happen!

    posted on 2009-09-29 14:54:56

    So, I've been mad about certain government activities for years and the way the government has ignored them or brushed aside activities to end them.

    We may finally, really have a chance to stop this now and to roll back some of the very real damage that's been done. Please, everyone, support the efforts to repeal telecom company immunity and reform the long unrestrained surveillance laws.

    I've got a phone call or two to make.

    PS: Apparently, some companies think the world needs yet another HD video connector standard. My face enters my hands. That is all.


    posted on 2009-09-27 20:47:27

    Today is not my best day but it is a nice day. The sun's out. I had a fantastic brunch with Teresa and some dear friends. I skateboarded a bit.

    Unfortunately, the further I go the more I'm aware that this semester is much harder than it should be. I didn't particularly enjoy summer semester but it didn't seem this...difficult. A few months back I alleged that I was low energy but not depressed. I'm not as sure that's the case anymore. Things are too hard for me to think that everything is running as ordinary. It doesn't help that I'm not enjoying any of my classes this semester or that none of them require me to write code which is what I'd really like to be doing right now. I do feel that the best way to learn this stuff is to use it.

    But in general, I just feel overextended lately. I don't believe that taking a semester off is an option and I'm already almost in the middle of this one. Energy comes and goes as does my mood but applying that energy to productive tasks (particularly some of the seemingly useless academic ones) has become vastly more challenging. It hasn't felt so hard in a long while. I'll try to rise to the challenge because I don't want to regress. Hopefully, this will pass in a short while.

    At least I know what I want to be working on. Even if I don't know how to get there...or how long it will take.

    Silly School

    posted on 2009-09-15 16:01:47

    This post is likely to be a bit scattered. Partially because I need to get back to doing homework in a minute but also because my brain has been in a lot of places lately. So here's a linkpost with thoughts on IP Law, Linux and other stuff. I also have a bunch of Lisp links but I'll dump those separately later...after I get some homework done.

    I keep hearing about stupid moves by Microsoft lately. It's very confusing because in many ways my opinion of them has improved over the last few years. Not that I'd ever want to use a Windows-based OS again. I'm just too happy in Linux land. My point though, is that the company clearly has an old culture of anti-competitive wonkiness and a newer culture that seems more focused on creating good products and less on market manipulation. Maybe it's all just weird management stuff though. Hopefully that will change sooner rather than later. On the other hand, Sony seems to be getting their console act together between dropping prices and actually putting out effective advertising for perhaps the first time in history. I'm also quite pleased with Google taking a (more official) stance on Data Portability. It's something I feel pretty strongly about though I won't speak more about it today.

    My hatred of AT&T seems to be perpetually growing. The FCC is trying to come up with a more formal definition of broadband and the carriers are, in my view, trying to make that definition demand as little of them as possible. Generally, I've gotten to a point where I hate telecoms. So, I have a message for them: Give me fiber, or whatever wireless connectivity you're pimping this week, and shut the hell up. In other news, IP Law is still completely ridiculous and I can't begin to summarize or explain that here. I can offer an example or two though. The first is a list of seven felonies with less severe penalties than music piracy. It's meant to be humorous. It's sadly surreal. I'll actually let that be enough of an example for today and link to a discussion of what fair use might look like in the 21st century and a curious idea of making digital property "stealable". Last but not least, I'm at least glad that good arguments against software patents are being made to the Supreme Court. Crossing my fingers on that one!

    Peter Seibel's Coders at Work has finally come out. I was looking forward to the book for a good while and have been enjoying reading the interviews. LtU recently posted about it also. I've got 7 of 15 knocked out. I've been surprised that the two interviews I think I've enjoyed the most were with Simon Peyton-Jones and Brendan Eich. I was expecting the Lispers or Smalltalkers to be more to my liking. *shrug* I'll likely write a review or at least talk more about it when I'm finished.

    I've been following a few pieces of software (as usual). It's nice to see the competitiveness in the browser market of late. The Chrome Linux team was disbanded recently and I take it that work is now part of mainline so hopefully there will be an official Chrome release for Linux "Real Soon Now". I should also note the emerging standard for 3D Graphics on the web. Something good will come of this. Additionally, GHC 6.12 is coming along nicely. Lots of bugfixes the last few days. Looking forward to GHC 6.12.1 RC getting out there even though I won't be using it. Rock on, Haskellers. Pitivi also made another release. Now if only Arch would get an updated pitivi package, I'd be a very happy man. Oh, and there hasn't really been any more news on the N900. I'm keeping my ear to the ground.

    Finally, this is the month of Linux conferences between the Atlanta Linux Conference this weekend, the almighty Linux Plumbers Conference next week and the X Developers' Conference after that. Speaking of X, anholt reports continuing progress on the Intel front and I feel warm and fuzzy inside. All for now folks, later!

    To New Beginnings

    posted on 2009-09-08 02:38:12

    Something changed. Right under my nose, in the middle of everything, something changed. I just realized it tonight. It was me. Specifically, I can say something now. Something that I couldn't say for the first 21 years of my life: There are things I want to achieve and obstacles in my path.

    For the longest time, there really wasn't anything I wanted to achieve, anything I was too deeply invested in. I was pretty uninterested, more inclined to giving up than choosing a direction and moving forward. Sometime around last August, that changed. I'd say as early as last January but I feel that's too generous. The important thing is I'm doing something that I really do want to do: learning about computers and code. I'm moving forward. And I didn't even know it. It's funny, obstacles don't seem like that big a deal once you know the path you're on.

    Two Weeks Already?

    posted on 2009-09-02 21:17:28

    This semester is flying by. It's really hard to believe and, honestly, quite scary. Aside from my Computer Organization and Design class, I feel like I'm learning quite little. With regards to COAD, I feel like I've mostly learned interesting trivia to date with a few useful larger concepts.

    I'm trying to keep in mind that I'm here for the degree and that even if SPSU teaches CS at a more superficial level than I'd like that I can teach myself both while at SPSU and for many years afterwards. That part is not new. The hard part remains motivating myself in such a fashion that I blaze through the SPSU (oftentimes) busywork and have time and energy for personal studies after. My gut tells me that it's my perspective on the SPSU work which causes it to demotivate me and drain my energy. Hence, it's my perspective I'll have to figure out how to change. But first...

    Today, I'm going to do something I don't normally do. Bitch. I'm presently in my Introduction to Algorithms class. It's a subject I'm personally compelled to learn and learn well. Unfortunately, the lecturer is pretty bad. Part of this may be a language barrier issue. The professor is not a native English speaker. His enunciation is fine but his ability to elucidate the concepts is thoroughly lacking. The first week he was dismissive of certain students' questions without explanation but this has improved.

    Perhaps the most disappointing aspect is that there are free video lectures from MIT on this material taught by one of the authors of the textbook we're using. They move at a faster pace than we do (3 lectures of ours ~= 1 of theirs) but their lectures remain substantially clearer and better motivated than those of my professor. Moreover, I gain more understanding more rapidly by simply reading the textbook than by listening to him. Sadly, I have a hard time doing this in class because of ambient noise and other factors.

    Finally, our syllabus is simply intolerable. In this course, a 60 is a passing grade, a 70 is a B and a 40 is a D. I really have little more to say here. Either the assumption is that we won't grasp the material well yet should pass on unscathed so that graduates are produced to sate industry or the class is so abysmally and impossibly difficult (or poorly taught) that a70 denotes thorough understanding of the material. Either way, this was the class I was most looking forward to this semester. To date, it's quite a disappointment.

    Catching Up

    posted on 2009-09-02 03:10:31

    I was hoping to make a few posts today but I'm working on homework for tomorrow so that won't come to pass. I wanted to get something up before tomorrow though so I thought I'd mention a recent technology development that has brought me some joy.

    I've been putting off getting a smartphone for a few years now. At first, because I didn't think I would make good use of the extra features and more recently because I wasn't satisfied with the available options. That dissatisfaction was primarily of a sort of political nature rather than a technical one. That is, I was satisfied with the quality of the technology available but not satisfied with the freedom and control it allowed. I seem to have written briefly about this before in 2007. I'd like to expand on it at some point, in particular on What Technological Freedoms Are and Why They Are Worth Fighting For. I wonder if there's an interested audience. Then again, much of what I write may be without that.

    For a time, there was an effort for a technically mediocre but politically liberated device called the OpenMoko which I was following mostly back in 2007. They made a valiant effort but ultimately fell short of what I deemed a suitable product. Also, my phone was less in need of replacing in 2007. More recently, I've been watching the cell phone market with an eye towards replacing my aging Nokia around Xmas. Android phones had been striking an acceptable but less than perfect balance between freedom and technical excellence but they still weren't quite what I wanted. There had been whispers for months about a Nokia phone which would be based on Open Source and thoroughly awesome.

    Finally, they announced it. It looks to be completely and ridiculously awesome. There are a few over the top videos and two hands-on videos (warning: latter video in Italian) but if you're really interested check out the specs and software features pages. Very Happy. Also, possibly the most important thing...Freedom:

    N900: Jailbroken on Arrival

    Anyway, I'll be fiending for that thing until it's in my hands. In the mean time, I hope to get some more posts up. Surely, I can crank out one during my Algorithms class tomorrow. Explanation forthcoming...

    Back For More

    posted on 2009-08-20 21:46:18

    Today has been better than the last few days. I may be coming out of my emotional coma which would be convenient since school starts next Monday. I got some lisp written and I'm sketching out some fun stuff to work on and talk about here soon.

    A lot of my struggle lately has been feeling overwhelmed by how much I want to know and my failure to find the time and energy to absorb some of it.

    I feel like I'm learning to learn at 23. I know a few things about that.
    1. It's not going to be fun.
    2. It's about being disciplined, setting measured goals and meeting them.

    In the past, I'd gotten bogged down on personal programming\CS learning goals and tried to restart elsewhere or change the goals to regain momentum. No more resets. Persistence is the name of the game.

    Though I'm smart, I spent most of the years between 12 and 22 not committing myself in academics and pursuits of the mind. In some regards, I feel like I'm playing catchup. That's what some of this "I feel like I'm learning about learning" stuff is about. Picking the discipline back up. Because the fact is, the only way to really master Computer Science on the level I want to is to put in at least 10,000 quality hours.

    I'm not a genius and I don't want to be. I want a fair amount of work/play balance. Of course, CS is in many ways play for me. That said, I want to be more like hackers like Slava Pestov, Luke Gorrie, Per Vogsnen, Edward Kmett and Wren Thornton. I respect each of them for different reasons but they all understand the field on a pretty broad level. I'll keep working in that direction because I want that breadth. It'll take a while...but it took them a while. Hell, aside from Slava I think all those folks are over 30. It's worth the investment though. Thinking about the issues is just too fun.

    Note to self: Just remember, you don't know how brilliant you can be. You won't ever be von Neumann...but don't get convinced that you're stupid. Or a failure.

    More soon...

    An Update on Updates

    posted on 2009-08-13 20:49:05

    Dear Friends,

    I appear to have entered into a coma. I'm not depressed, sad or grieving but I am a victim of constant exhaustion and perpetually low energy. I expected to only need rest the two weeks after classes wrapped up and then be able to spend 3-4 weeks "playing". Playing meaning working on things that I like, Lisp, Haskell, reading CS books, weekly blogging and the like.

    This has not come to pass. Instead, I'm on vacation and very blob-like. Some of this has to do with my father's passing. What I'm sure of is that I need this time and that growing as a person, learning more about code and so on, will disappointingly have to wait.

    A lot has been happening (nerd news-wise) and the tabs in my browser have filled back up. It's not up to the record number of spring semester (200+?!?) but I hope to dump out a few linkposts and clean out the cruft over the next week or so. Before classes start back up. Oy vey.

    In the meantime, I'm missing you folks.

    PS: My berrics bracket is totally f-ed. Thanks a lot, Chris Haslam! ;)

    Almost 23

    posted on 2009-08-05 21:50:33

    Tomorrow will be my 23rd birthday. Frankly, it's hard to believe that August has arrived. These summer weeks seem to be flying by. That said, I'm reasonably excited and much less stressed about my birthday than I was earlier this week. There are a host of reasons I stress over my birthday but I'll talk about that another time. Maybe tomorrow. :)

    There will be a little get together at the apartment starting at 9 tomorrow evening. Nothing too particular, mostly video games but with the potential to include skateboarding, programming, music, movies and other nerdery.

    Friday night Teresa and I see Devon for the first time in a while and then Saturday we're going on a week long vacation to Charleston and Williamsburg. It should be awesomesauce. Hopefully, I'll get some more Common Lisp code written.

    Tonight is sort of the last hurrah of my dear friend Burke being in town. He's going back to Indiana to complete his studies at Purdue before Teresa and I will be back from vacation. He had been in town for a summer internship at McKesson. Tonight will likely involve: Sushi, Skateboarding, Music/Code/etc in that order. Good times.

    Stupid Skateboarding

    posted on 2009-07-30 01:11:51

    The last week has positively flown by. I'm being much less productive than I hoped to be with my month off but I can tell that I need it. My batteries were pretty drained after the last 7 months. On some level it's disappointing but for now I'm enjoying the vacation.

    I injured my wrist skateboarding Tuesday evening and am recuperating fairly well. Seems like a serious bruise or a mild sprain to me. Hopefully I'll be over it soon. That's contributed somewhat to my coding slowdown.

    Other than that, I've done well on my battle of the berrics predictions for the last week. I did try Funtoo in a VM but may replace my OSx86 install with it for fun sometime in the near future. We'll see.

    Oh, and Palm and Apple are still at war. It's just darling.

    More news on all this in just a few days...

    Midweek Miscellany

    posted on 2009-07-24 00:35:53

    So, a quick post of things that have been happening.

    It's official. Apple and Palm are at war. And I couldn't be happier about it. Apple has pulled stupid, anticompetitive maneuvers many a time that simply serve to frustrate users of its software. One is making sure that iTunes only works with iPods. Palm made a phone that was designed to sync with iTunes and sync it did. Apple intentionally released a patch to iTunes shortly after the release of Palm's Pre phone that broke that functionality. Palm has just released a fix that restores the sync functionality. So guys, are you just gonna keep doing this or will there be a court date I should know about?

    The HTC Hero has finally started to see reviews drop and while the software is good, the phone's CPU is old and now I'm waiting...again...for either a wild Maemo phone announcement from Nokia or some solid reviews (or just confirmation at this stage) about the Sony Ericsson Xperia X3 (aka "Rachael"). I certainly wouldn't mind getting the Hero but it looks like my next phone purchase won't come until at least Xmas.

    In the meantime, there are plenty of other things holding my interest. One is the Coders at Work book Peter Seibel is working on. It's schedule keeps getting pushed back but it should be out "Real Soon Now". Nick Levine is also working on a book called "Lisp Outside the Box" for O'Reilly that has some cool contents. No word on a release date yet though. I'll be watching.

    One piece of big and great news is that Teresa has switched to Ubuntu. Jaunty i386, to be specific. Her XP install kept having problems and I didn't feel like spending time fixing them. Since switching her last weekend, things have gone quite smoothly.

    I also had a little interest in trying Karmic out because of their Android support but didn't feel like messing with my partition table. I figure I'll upgrade her system when it releases and won't have an Android phone anyway. I still have a little bit of a distro fixation lately it seems because I finally want to play with a source-based distribution and have been particularly intrigued by Daniel Robbins' Funtoo project. It's a gentoo derivative and given how much free time I have I'll likely try it in Virtualbox soon. It'd have to be insanely great to pull me away from Arch however. As attests, Arch's "stable\current" packages just can't be beat. :) Of course, there are disclaimers on's site about the numbers. I'm not trying to start a flame war and I'll be trying Funtoo unstable/future anyway.

    My buddy Max posted a link to coder girl. This doesn't fit in anywhere, it just makes me speechless. Cheers.

    Legal Links

    posted on 2009-07-22 14:11:23

    Today's linkpost will focus on two topics. One is the NSA's immoral spying activities which Obama promised to fix on his campaign trail and the other is the ever expanding mire of modern Intellectual Property Law.

    Let's start with the NSA. There have been three separate arstechnica articles lately about the failures of the NSA spying program. One of the articles discussed the extent to which the program's secrecy made it useless to traditional intelligence workers, another talked about how the warrantless wiretapping that was exposed was just the tip of the iceberg and a third condemned the continuing money being thrown into data centers for the NSA whose output we cannot quantify or evaluate.

    That said, it all made me realize just how much arstechnica is an echo chamber for my own views. In Cass Sunstein's book and other places he is a bit more alarmist about this than I would be but he's still a smart guy and onto something. With that in mind, I should at least comment that there does seem to be some positive pressure for Obama to live up to his promise, however meager, between angry senators and increased news coverage. In addition, some hold a much more balanced view that promotes waiting and seeing. The NSA position was a major factor in my support of Obama though or at least the belief that he would bolster what are, in my view, weakened civil liberties and constitutional law...and I'm a bit impatient and touchy about it.

    As for stupid IP law, the madness just goes on and on. It's hard to know where to begin. I think I blogged about this already but a quick and obvious example is a music industry group that thinks they should be able to charge you each time your phone rings if you have a "musical ringtone". As a matter of fact, they're cleverly suing AT&T over it. At least my enemies are fighting each other. But let's just break their view down for a second. So, you can buy little 10-15 second clips of songs to serve as ringtones when people call you now. And these guys think that whenever someone calls you...and that song, or clip of a song, plays in public, it counts as a public performance of the work and copyright law entitles them to money. What? The same group struggled to get girl scouts to pay royalties for singing copyrighted songs around a campfire, such as "Happy Birthday" and "Row, Row, Row". I don't normally swear on this blog but might I say, Get The Fuck Out. You have no idea what music, or culture for that matter, is good for. Just leave. I get pretty irate about this stuff. Strange conclusions are being reached about what good copyright law is doing.

    On the bright side though, Obama has made a USPTO choice which supports patent reform. Patent law, like copyright law, has gotten wildly out of hand in the last two to three decades and I fervently hope Mr. Kappos takes steps to bring some sanity to the system. Above and beyond that, there are still reports coming from academia alleging that piracy is not stopping artists and the pirate party has made it to parliament in Europe. There are also continuing efforts to try new approaches that adapt to modern conditions. Let's just consider IP Law to have two sides and call it a day for now. And I don't mean BSD vs GPL. Sheesh.

    Telecom Thoughts

    posted on 2009-07-21 14:26:43

    Since I've been getting a new phone I've spent a good deal of time lately thinking about the telephone industry. I have several problems with it but I suppose the largest is that I don't want voice service. I really just want to be paying for data. I'm happy to pay for Data at home and Data on the go. But I think it should all just be data. This sentiment is shared by a number of my friends. While you can get data-only plans for smartphones it is not clear to me that they are truly unlimited as some are advertised. I was looking into what would be required to maintain a "phone number" if you did have an unlimited data plan with good coverage.

    It seems you would need to use Local Number Portability to transfer your phone number to a virtual number provider which would then route all calls to that number to an SIP address. Then as long as you had an SIP provider that had some way to handle outbound calls to phone numbers you could get by with 3G just fine. I can't tell if Google Voice might wind up resembling such a service but here's hoping, even if that would give Google an undue amount of power in my life. Better them than ATT. There's an SIP app for Android besides the Google Voice app called SIPdroid that looks pretty good and a list of SIP service providers here. The GV Android app presently still routes calls through the PSTN. At least SIPdroid lets you route calls through 3G or Wi-Fi but routing VoIP through 3G likely violates the TOS for most mobile carriers. Oh, well.

    Of course, there's an Android app for Google Voice already and it's rumored that number portability is coming to GV soon. We'll see. In addition to that, there are some other good things happening. Verizon is pushing FiOS and a group at is fighting for more competitive access to so-called "special access" lines. Finally, someone is trying to communicate how we think to the telecoms which can only do good.

    Officially Summer

    posted on 2009-07-21 01:17:25

    My summer has arrived. I've really just been recooperating since I turned in my last paper last Thursday. I've started work on a bunch of linkposts that will go up over the next week as I try to dump browser tabs like a madman. I'm definitely in excess of 100 tabs. It's bad. Other than that, I've been doing precious little. Mostly working on my social calendar. It's been nice. I have been exploring some Jazz though. I don't care if they're obvious picks, I've been really enjoying Miles Davis, John Coltrane, Bill Evans and Dave Brubeck.

    At this point I'm practically decided that I should get a HTC Hero somewhere between now and next January to replace my current phone. It depends on when AT&T starts carrying them and at what cost. Other than that, my Battle at the Berrics 2 predictions were on point this weekend which was nice. That said, a part of me thinks it's going to come down to Torey Pudwill vs Paul Rodriguez based on footage of both of them actually playing skate. Whatever happens, it's sure to be ridiculous. Maybe I'll post a "revised" bracket at the end of Round 1, or each round, but no promises.

    Baked some Chocolate Chip Cookies tonight from the Pioneer Woman's recipe but I think I'm looking for something a bit more chewy. Maybe I just need to bake them differently but I'll worry about that later. For now, I'm enjoying cookies. I'm going to go learn org-mode for a bit and try and organize some task lists to work on between now and August 24th when school starts back up. Linkposts and lisp code will be here very shortly, I'm sure.

    The Last Mile

    posted on 2009-07-12 16:20:06

    So, I'm really in the home stretch now. I'm spending all day today trying to get something like 7 pages written on Weapons of Mass Destruction which I painfully don't care about. I've finished and submitted all my other finals and assignment. It's the only thing left. I have to give a presentation with my group on some questions about China's specific stances with regards to WMDs on Tuesday and then we have a group ~25 page research paper to turn in Thursday. My group and I really want the 25 page paper wrapped up by Tuesday so we can just sit around between Tues. and Thurs. and then hand it in and walk away. Then I'm off for a bit. I'll probably whine about how one month isn't enough of a break in the near future.

    I haven't managed to get to the skatepark this week or write much lisp. I have watched some Cowboy Bebop during evenings with Teresa and I've enjoyed it. It's also got me looking into the music of Yoko Kanno. Which in turn is pushing me to try and start exploring Jazz. I've always put that off because it's a huge and rich genre...hell, I put off exploring a lot of older genres (Jazz, Classical, 60s and 70s pop and rock) for that reason. The depths seem too great to plumb. It's still good fun to try. Aside from skateboarding at brookrun, I hope to play videogames a bit, catch up with friends and finish a screencast of a lisp solution to project 2 in CS once my classes wrap up this week.

    I've been positively eating it on my berrics predictions lately. At least Mark Appleyard won today. I think that makes me 3 for 6. Round 1 and I'm already eating it. Awesome. I'll try to do a revision in the interlude between Round 1 and Round 2. I also hope I'll finally catch up on a blog or three that I've had a hard time keeping up with. Hopefully, Don will start posting again too. It's like he's a ghost! What might he be up to these days? Later, folks.

    Almost Done

    posted on 2009-07-07 00:14:40

    I've been increasingly disconnected from everyone lately. School has been a fairly large part of that. After 7 months of non-stop activity including moving, the death of my father and the death of my girlfriend's father, I'm ready for a little break and a little quiet. Thankfully, from July 20th the August 24th I won't have to think about due dates and my time will be my own. I hope to be a bit more social and communicative then...but I get the feeling I'll still need to turn a few folks down to build energy back up.

    The 4th of July weekend was pretty good. I wasn't as productive as I could have been but I made good headway on my CS schoolwork which would've been a real pain this week otherwise. The last class for CS is Thursday and it's the final exam. I'm hoping to do the final project in Lisp (I've already done it in C++ as required) and post a screencast of my solution to the class Google Group by then. The teacher has expressed interest in seeing it. Unfortunately, that will have to be behind my other classwork in priority. The class I'm really most wanting to be over is also the last one to end, Weapons of Mass Destruction. It satisfies a requirement for a Science, Technology and Society course and was the only such Summer '09 offered course that really fit my schedule. It's hard to explain why that class has become the one I really want to avoid schoolwork-wise but at least it will be over soon.

    Battle at the Berrics 2 kicked off last weekend and while my first two predictions were spot on I also think they were obvious. My whole bracket was shot this weekend when Torey Pudwill beat Jimmy Carlin. I didn't have Carlin going to the finals or anything but I was hoping that Carlin would just edge out Pudwill first round so I wouldn't have to consider Pudwill going all the way. I also was wrong about Janoski v. Ramondetta. Some major reworkings are in order and I hope to post them soon.

    Also this weekend, I checked out a Kaki King album from last year titled Dreaming of Revenge. She just seems to get better and better. I also stumbled on what I found to be some deeply amusing chiptune by a fellow named Tugboat. It's essentially an NES-style 8-bit megamix of hip-hop songs from the last few years. Cute. It seems there's plenty more chiptune where that came from and I really don't know how I feel about that.

    Finally, I've got a list of tricks I'd like to land over at Brookrun before Fall semester starts and various unprioritized goals regarding lisp programming on the same timeline. I probably should also wrap up the funnyWords programs in lisp and haskell with the suggested optimizations and some sort of review post. What are you guys up to?

    Brookrun and Bibio

    posted on 2009-06-29 18:14:28

    I've gotta say, I had a really good weekend. Part of that was due to the fact that I did very little "real work". I also got to hang out with two people I'm quite fond of. The other contributing factors were finding a delightful new album by a guy named Bibio and spending one very enjoyable evening at Brookrun Skatepark. In fact, I just happened to pick up 50-50s at Brookrun. Nothing to brag about certainly but it was nice to just try them and land a few after a half-dozen trys or so on some little box. Oh, and AT&T managed to repair my crummy phone I broke last weekend so I could put off buying a new one a little longer.

    The next two weeks will not likely be as fun due to finals coming up. One class ends earlier than the others so its final is the 9th. It happens to be Data Structures, the most interesting and challenging of my courses. This week's crunch is all going to be Weapons of Mass Destruction and Computer Science. (Edit: I actually found out my last Public Speaking speech will be due the day before my Data Structures Final Exam and Final Project. Thrilling, add one to the crunch.) The week after that will be Software Ethics and Public Speaking. I have to admit, I'm less worried about the latter two. Good music should make a difference though and nothing helps listening to good music like good headphones. I'd previously owned a pair of Sennheiser HD-212s for a little over 4 years. They were definitely getting long in the tooth but I had no plans of replacing them until I accidentally left them at the bus stop back in May. There was a long search for an appropriate replacement which culminated in my purchase Saturday of some Audio Technica M50s. Thus far, I am quite pleased. They certainly make Bibio sound good.

    Speaking of Bibio, the album is wonderful. I'm not sure how to explain it. It's a collage of different sounds, the guy has a very wide range of styles on display. Everything from hip-hop beat production to folk. I still really like tracks 1, 4 and 7. Seriously though, just give the title track a listen. It's lovely, isn't it? I'm also getting into Minus the Bear but haven't spent enough time listening to it to call out anything in particular. Well, maybe the song El Torrente. I've also decided to do a little bit of Rap and Hip-Hop mining to see what I can find that I like. I've always been partial to Aesop Rock and The Fugees...but that's certainly not digging deep or challenging myself. I believe Rap has more to offer. Potential listening includes: Edan, Madvillain, Ghostface Killah, The Roots, Cannibal Ox and Jay Dilla with smatterings of N.W.A., Public Enemy, De La Soul, Nas, Atmosphere, Gang Starr, Rakim, Notorious B.I.G., Madlib, Talib Kweli, Mos Def and A Tribe Called Quest.

    I'll keep you guys posted on how it goes. I'm still really enjoying lisp. I intend to make it back to Haskell but I expect most of my "play code" to be in Common Lisp for a little while. I've got so many tabs open in my browser backlog that whenever I finally decide to do a linkpost it'll be positively massive. Maybe I'll try to break it up in chunks though, yeah? Anyway, that's all for now. Back to schoolwork. July 22nd can't come soon enough.

    Battle at the Berrics 2 Predictions

    posted on 2009-06-25 14:14:28

    I said I'd do it. Here they are:


    Off Every Wall in the Building: An Update

    posted on 2009-06-25 14:11:15

    Quick thought: It may be the saddest aspect of contemporary American culture that we pursue quick fame and riches over what is worth doing.

    Things aren't bad over here. School is wrapping up in the next two to three weeks so I'm about to enter another pseudo-crunch mode and I feel like I just wrapped up midterms and Spring finals before that. My plan is to try and spread the crunch out so as to not kill myself. To that end, I'll be writing a short essay on WMDs this weekend, starting CS Project 2 and hopefully starting work on my portion of the WMDs group project and my persuasive speech. My persuasive speech is about IP Law, of course. There are so many good things to say when it comes to IP Law. It's more relevant than most of my peers realize. (Note: I don't rock music ringtones.)

    Also, Brookrun really is an awesome skatepark. I plan to buy an annual pass and head over there at least once a week for a good while. Unfortunately, I busted my phone skating there last night. I bailed a backside 180 launching off some pyramid. Oh, well. I needed a new phone anyway. Now I just need an intermediary phone until I upgrade to a smartphone...which has me wondering, do I really need to upgrade to a smartphone? GPS and mobile Internet would be damn handy. Plus, they double as MP3 players and I could code for it if it was an Android or (presumably) Maemo phone. *sigh* Anyway, my running of two potential smartphones (Samsung i7500, Nokia N900) has widened to three (HTC Hero) as of yesterday's HTC unveiling. None of the damn things have release dates stateside though. Get it together US Carriers.

    I've also been enjoying some of my music that I haven't listened to in a while. Old stuff, like Incubus. Seriously, Make Yourself is a quite lovely album as is Morning View. They probably qualify as summer music for me but then...I listen to everything always.

    So here are four songs I've enjoyed rediscovering lately.
    Modest Mouse - This Devil's Workday
    Found at

    Modest Mouse - 16The Good Times Are Killing Me
    Found at

    Incubus - Nowhere fast
    Found at

    Winterpills - A Benediction
    Found at


    posted on 2009-06-23 03:45:24

    This is just going to be a quick post before I get back to work. Things rather suck lately. And when I say things, I mean summer school. I'm just not motivated about my work. I don't really feel like I'm learning and growing as much as I could be. I'm interested in doing what energizes me and spending time with the people I love, doing what I love. Unfortunately, I've got to make it to August before relaxation can become a priority. On the other hand, I have phenomenal support from most everyone in my life, I'm happy with most aspects of how my life is going and mom and I seem to be handling Dad's death pretty well.

    So what have I been enjoying lately? Pixar's Up means a great deal to me and I've seen it 3 times now, Armond White be damned. I've been skateboarding a lot more and I finally got around to checking out Brookrun Skatepark with my good friend Burke, see? It's just 10 minutes away. Yes!

    On the technical side, I've been playing more and more with lisp (I love it so) even though I can't stop reading the haskell reddit. Hell, Haskell is even about to wind up on the iPhone. I also have pulled down a bunch of Erik Naggum posts which I'd like to read and hopefully learn something from. Last but not least, I'm looking forward to getting a phone in the near future to replace my aging Nokia and I'm leaning towards an Android handset (the Samsung i7500/Galaxy) or a rumored Nokia running Maemo 5. Either way, it'll be August before I know for sure at which point I'll try to defend the reasoning behind my purchase.

    There's plenty of other stuff I'd love to post but that's it for now. Hopefully, I'll have a chance to post more and dump some links out of the browser closer to the weekend. Back to schoolwork. :(

    Chemical Brothers - Where do I begin
    Found at

    On John Glenn

    posted on 2009-06-16 22:35:52

    I might as well go ahead and post this. I'm unlikely to objectify or improve the writing and I'm unlikely to ever be satisfied with it. I can't seem to toss it either. It does show some facet of the story. Please don't take what follows as sufficiently capturing my father.

    In so many ways, I am not sure I will ever be able to explain John Glenn. And how could I? To some extent, it feels like he'll forever be the inside scoop that belongs only to my Mother and I. A sort of eternal "you had to be there". This is, of course, not entirely true. We are far from the only people to have gotten a glimpse of the man John Glenn was as the testaments of others indicate. But there is, I think, no substitute for being able to observe him up close and without pause for nearly 20 years. And it's quite tricky to explain just how blessed I am for being privy to the view. Blessed. That's a word I don't use a lot. I'm not a very religious man, certainly not as religious as my Mother. Or my Father. Yet in this case I'm not sure the word blessed covers it. So how would I explain it? The best I've been able to come up with so far is this: My Father was a man so good that my Mother and I were able to let him die. Had he been any less of a man, we would've been unable to bear his departure.

    It sounds crazy, doesn't it? You would think that the more wonderful a man is the more terrible he is to lose. My Mother has suggested in conversation that she and I did well to not be selfish (as we usually are) and act supportive of him in his final days but that thinking seems erroneous to me. I disagree with the notion that such strength or fairness came from us. Indeed, my good qualities of that nature I have not acquired, I have inherited. In fact, it may be more accurate to say I came upon them by osmosis but I'm getting ahead of myself. In the days following his death, people had a great deal to say about my Father and the kind of man he was. It was very kind but mostly prosaic. I (and perhaps Mom too) kept our mouths shut not because we had few words but because we didn't want to upset people with the radicalness of our speech. The truth is, John Glenn must have been out of his mind because after a period of prolonged observation he decided to join himself at the hip with both my Mother and I. And that was over 15 years ago.

    Due to social niceties, people hear that sort of talk and laugh and try to progress the conversation. Unfortunately, it's the truth. When Mom and Dad met, Mom and I were both a wreck. We both individually had some problems but the two of us together were so messed up that you'd have more optimism about fixing corruption in politics. Lost causes, I believe is the term. None of this, mind you, seemed to phase John Glenn. He placed himself right into the center of our world as though he noticed a chair with his name on it and simply knew it was where he was supposed to be. He became our rock. He kept Mom and I from smashing into each other like two great asteroids and spinning off into the void forever. The way he did it is in large part the thing I can't explain. One of his college friends described him at the reception after the funeral as "constant". Though such a simple description falls short it has the right flavor to it.

    No matter how turbulent Mom and I got, no matter how serious our disputes or misbehavior, no matter our rage, John was calm, John was patient. But above and beyond that, he didn't join our yelling, he didn't engage in our hatefulness and he wasn't indifferent to our points of view. Mom has referred to him as a saint many times but I don't recall any stories of saints going through as many trials, or any so difficult. Again, social customs will tell you to take this last statement lightly. If I were you, I wouldn't. Dad was there through military school, through wrecked cars, through run-ins with the law, through run-ins with schools, through years of squandered opportunity and irresponsibility, through years of disrespect and animosity towards authority which simply did not befit a man of his character and warmth. I don't know if I'd call that patience, it's starting to sound like it borders on masochism. Maybe he was out of his mind. Of course, masochists endure punishment in pursuit of their own pleasure. John Glenn was never preoccupied with his own pleasure. He had higher ends.

    Through it all, you couldn't help but observe that he was still loving, still calm and still supportive. He was constant. He was still there, not about to quit. He was still putting in more than good a faith effort, doing more than his part, giving it more than just the old "college try". And you had to get the sense watching that he had the right idea. He was a lot happier than I in my misery and angst or Mom as a worry wart. Victory through osmosis. If you can't beat em, join em. John Glenn kept being the kind of person we all ought to be, until those of us subject to repeated exposure finally just came around. I'm actually not a little snot anymore and Mom is half-way to being as loving and patient as he was. That would be a lot for anybody but coming from where she used to be it's crazy. Just ask her.

    It wasn't just that though. John Glenn made time for us. He worked from home so he could set his own schedule, so he could see us more and so that he could stop whatever he was doing to help us whenever we needed to talk to him throughout his work day. I'm honored to say I was in a band with him. That was in High School, you know, when your parents are supposed to be really lame. He played lead guitar, my friend played bass, I played drums. He picked up a dumb collectible card game with me in Middle School. In High School, I was supposed to read The Great Gatsby, The Scarlet Letter and Walden in a particular class so he got copies of all three and read them at night with me, highlighting interesting sections and discussing them with me later. Who does that? I mean, what kind of person voluntarily does that? He played video games with me and my friends. Not all of them mind you but he had a few. He'd try to know what I was interested in and even dabble or become passingly familiar with it to enrich discussion. And in later years we would go running at the park together. All that is above and beyond just putting up with me and my mother and keeping us from going crazy. That's the kind of man he was.

    So when I say that if he had been any less of a man, Mom and I would've been unable to bear his departure, I'm not kidding. John Glenn didn't have an effect on our lives or treat us very well. John Glenn saved us. He taught us to love, to communicate, to wait for the right thing to come along, to have faith in ourselves, to have faith in living and just trying to do our best and make it. In the end, I think he benefitted from us to some degree but I can't call it parity. Of course, John Glenn was never watching the scales. I finally got my act together before the end and he got to see me thrive a little, thank goodness. Thanks to him, Mom and I are on excellent terms and won't tear each other to tatters. We can communicate. And as for Dad and I, well by the time the end was near in my mind there was no ground left to cover. No last minute questions or concerns. I didn't have to tell him how I felt the same way he didn't have to tell me. He had shown me.

    Not my best day ever...

    posted on 2009-06-13 19:13:07

    So, I'm trying to be productive and having some difficulties. I've been low energy since Dad died and I don't think that's a secret. I'd really prefer a vacation to four accelerated summer courses and various other responsibilities. That said, this week was midterms and I've mostly survived. The grades won't be my best ever but I also don't think there is cause for much concern. Besides, I had a 3.76 GPA last semester bringing my cumulative (at SPSU) up to 3.4. I'll live.

    I'm actually trying to wrap up the last midterm right now so that I can spend the remainder of my time between now and Tuesday working on Project 1 for Data Structures, the specficiations for which seem somewhat ambiguous to me. Anyway, back to work for now.

    One quick note. Battle of the Berrics 2 has started. Make your brackets, people! I've made mine, I'll detail it in a separate post soon.

    And a quick song:

    Groove Armada/Richie Havens - Hands of Time
    Found at

    Silly Slime

    posted on 2009-06-11 18:00:40

    Recently, SLIME has been acting funny. I think it's since an archlinux update but I hadn't had time to look into it. When I used the ~ key in the SLIME editor window (not the REPL) was causing some debugger error. So if I wanted to write a format string like "~a~%" then I was hosed. I got fed up with it and using Emacs C-h k found that the key was invoking the "slime-sync-package-and-default-directory" function. Googling seemed to indicate this function was normally bound to "C-c ~".

    At any rate, it shouldn't be bound to "~" so I went to the slime site lisp directory and ran grep -r "slime-sync-package-and-default-directory" *. Among the results was this:
    contrib/slime-repl.el: ("~" 'slime-sync-package-and-default-directory))
    Aha. So the simple fix was changing the "~" to "\C-c ~". All seems to be well now...but what an odd thing to have to fix in the first place. *shrug*

    Back to studying for Data Structures...and maybe lunch.

    The Occasional Mashup

    posted on 2009-06-11 14:42:47

    So, whether you like mashups or hate them I do think they can be original and fun. Case in point: Modest Mouse vs. Ratatat. Charming. The entire Modest Rat corpus can be found here. Scroll down to the Jan 24th entry for a link to the zip file with all the MP3s. Nothing like artists giving away music.

    Whether mashing up pop (rap) acapellas and instrumentals a la Girl Talk is something that requires talent or is musically good or not I'll leave to others to debate. I thoroughly enjoy Girl Talk.

    I will say that I wish there were acapellas and instrumentals for the more indie stuff I listen to. It's kind of sad, I'd love to sample Marvin Gaye's Trouble Man...but there's not an acapella of it anywhere. There are other Marvin Gaye songs...but my mind tends towards mashing up stuff that doesn't have acapellas. And DIY acapellas never do sound quite right. Maybe someone will eventually make software that can extract vocals properly...I'm not holding my breath.

    Off to class for now, I've got a Computer Science midterm at 5, a Professional Practices & Ethics midterm due Saturday and then CS Project 1 due Tuesday. Those 2 CS assignments (midterm + project) make up 45% of my Data Structures grade. Good times. Back later. Probably will finally touch up and post something I wrote about Dad.

    Better than TV

    posted on 2009-06-01 17:06:02

    Here are a few video lectures I've enjoyed that simply never could have made it to Television. Too much of a niche audience I suppose. They'll go from most comprehensible to non-nerds/programmers to incomprehensible to non-nerds/programmers. Soon I'll post up something actually productive or cool. For now, it's all school.

    I still really like Giles Bowkett's RubyFringe presentation from last year. It really starts in after the musical presentation of the first seven minutes. It's good fun even if you don't program and you can see a glimmer of why programmer's would be interested in what it is they do.

    I also fervently love "The Graphing Calculator Story" which I read in text somewhere before stumbling across this video.

    Finally, I watched Zed Shaw's CUSEC talk last night and was forced to conclude that I both like Zed Shaw and very much like his talk.

    Now, when you need a break, watch something.

    Tab Terminator

    posted on 2009-05-28 15:01:32

    So, my browser is getting full again and I feel like clearing out the backlog. Prepare yourselves for a linkpost! Also, I'll try to arrange links by progressive nerdiness or some such.

    NOTE: I've been terrible at keeping up with other people's blogs. If you're a friend of mine and I haven't read/commented in a while, I'm sincerely sorry. I'll be trying to catch up soon. Also, if you haven't heard about the underground sensation tearing up comedy clubs everywhere, his name is Justin Morgan and I'd keep your eyes peeled for him.

    I've been hearing about a few albums that might be good and that I should check out as a consequence. They follow:
    Doves - Kingdom of Rust
    White Rabbits - It's Frightening
    Night Control - Death Control
    Danger Mouse and SparkleHorse - Dark Night of the Soul

    It's occurred to me recently that I really kind of need a phone and I'm ready to take the fancy smartphone leap. I did a quick survey of the competition yesterday and narrowed my choices down to 4 models, none of which are released yet and one of which isn't even official. Don't ask me about all that. I'm sure we'll discuss this later. Here they are: Palm Pre, Samsung I7500, Nokia N97, and the Nokia N900 (because Rover is a very stupid name for a phone). Hopefully some official word about the N900 will break soon.

    Okay, so there's an awesome site about Literate Programs here. If you're looking for some code to read it's probably not a bad place to start.

    There was recently a great discussion on proggit about most used emacs commands. That's some handy stuff to keep track of. Between that and the emacs-fu blog I referenced two posts back I'll be learning a good while.

    Considering that it's old news, there's still a fair amount of hollering about MIT switching from Scheme and SICP to Python and continuing debate on the value of SICP. Indeed, it's not the holy bible and grauenwolf is getting a too many downvotes. He makes a number of very good points. I haven't taken time to read through the whole thread (should I?) but psnively seems to have the right idea to me, as usual.

    O'Reilly Radar put up a pretty good article on the things HTML5 will enable and the resulting scramble to the finish by a lot of big players.

    There was a good discussion on the Haskell reddit about making -Wall the default for GHC, I chimed in because there didn't seem to be enough discussion to suit my tastes and though I'm an idiot I'd at least learn something. Learn I did and I'm wondering if this bug is one of those referenced in response to my comment.

    Other random Haskell stuff: Recommendations to learn monads after functors, monoids, etc from Conal Elliott, a curious DSL from Sir Kiselyov, a neat package of adaptive datatypes from Dons, an interesting article on benchmarking EC2 with GHC compile times (which would be more relevant if I was trying to put off buying a computer or looking into working remotely) and some Haskell responding to Factor that I wish I could read.

    Three last things: I found this cool programming problems blog that offers small, fun puzzles like Project Euler. It's called Programming Praxis. There's a really neat paper that's over my head called Types are Calling Conventions which makes a little sense but I wish it made more. And lastly, some thinking on the productivity boost of Object Oriented Languages that harkened back to some things Wren Thorton wrote and so on. Later!

    The Week After

    posted on 2009-05-26 14:18:37

    I want to thank everyone who commented or sent messages for their love and support over the past week. It's been most appreciated. Things are slowly returning to normal. I wrote something substantial about Dad last night but I'm going to hold off on posting it for a bit. I want to make sure it's of the right quality. There was a write-up in the AJC, in print and online, which is alright but the obituary by Dad's college roommate (which is unfortunately not online) hits the mark much better I think. That or Mom's tributes to him on Caringbridge.

    Quick (but serious) pop quiz, Compare and contrast these two quotes. They may be my two favorites. Tell me what they make you think in terms of their different approach to the benefits and drawbacks of the advance of human knowledge. I think the dichotomy between them pretty neatly encapsulates my scattered thoughts and feelings about human progress.

    Civilization advances by extending the number of important operations which we can perform without thinking about them. - Alfred North Whitehead

    We are living now, not in the delicious intoxication induced by the early successes of science, but in a rather grisly morning-after, when it has become apparent that what triumphant science has done hitherto is to improve the means for achieving unimproved or actually deteriorated ends. - Aldous Huxley

    I'm mostly enjoying my summer courses, particularly Data Structures. It's given me an excuse to relearn pointers and learn how to actually use gcc/g++ and makefiles. I'm still a long way from being any good or knowing what the hell I'm doing though. C'est la vie. The Sixteenth Edition of the Haskell Communities and Activities report is out, in PDF and HTML. I was mostly excited to see a progress report on the Glasgow Haskell Compiler which is some top notch technology if ever there was any. Just look at the stuff they're working on! I've been poking around the Computer Language Benchmarks game recently, too. Gotta love SBCL and GHC.

    There are a few pieces of software I'm anticipating a release of. Here they are with links to the blockers for each: Firefox 3.5 because I live in it, Chromium's (Google Chrome) Linux Beta and Songbird which I don't really use but track with some interest. I'm also looking forward to a new Pitivi release (which should happen today, actually) and GHC 6.12 but that's months out still. Emacs 23 should also be fun because emacs releases are so punctuated but it's a pain to find a release schedule anywhere or even a list of blockers! GEEZ! Outside of software, I'm really looking forward to Peter Seibel's book Coders at Work which appears to be reaching it's endgame.

    Speaking of Emacs I've been spending a bit more time in that incredible editor trying to become more proficient and found the Emacs-Fu blog to help immensely. There was also a guide to using the extension that ships with Mercurial that I found pretty helpful in getting off the ground quickly. I'll wrap this up by posting three songs I enjoyed listening to this morning.

    Max Richter - Horizon Variations
    Found at

    Andrew Bird - Anonanimal
    Found at

    School Of Seven Bells - Iamundernodisguise
    Found at

    Dad's Visitation and Funeral

    posted on 2009-05-20 03:25:13

    Normally I don't write these "Note" things but you know what they say about exceptional circumstances. This will be cross-posted to my blog and is stolen from Mom's caringbridge journal.

    Thursday, May 21, 6 - 8pm:
    Visitation at HM Patterson's (Spring Hill facility) Atlanta GA

    Friday, Mary 22, 10am:
    Funeral Service at All Saint's Episcopal Church, Atlanta, GA

    Friday, May 22, immediately following the service:
    Graveside service at Arlington Cemetery (Sandy Springs)

    Friday, May 22, immediately following Graveside service:
    My aunt and uncle, Sandy and Spencer Wiedemann, have graciously offered to open their home to those who would like to gather.
    Their address is 340 Cameron Ridge Dr, Atlanta, GA 30328.

    Suitable Title Not Found

    posted on 2009-05-18 15:43:58

    My father, John M Glenn Jr passed away (very peacefully I'm told) at 10:15am.
    I had just gotten on a train to Arts Center to get on a bus to school.
    I know I'll have more to say about him later, I'm not sure I'll find much to say about his passing. It's pretty hard to analyze or make sense of. There are really only two places to approach it from, an objective and detached place that can't signify the importance of the event as it's just the course of life or an emotional, irrational place which can't grant it importance enough.

    In Motion

    posted on 2009-05-10 21:22:32

    I'm not quite sure where to begin. The last week flew by between finals, moving and family matters. Teresa and I are moved in and mostly unpacked in the new apartment. We're pretty happy here so far. Grades are coming in and so far I've gotten a B in Discrete Mathematics and As in CS and Technical Writing. I expect I'll also get an A in Global Issues but I'm a little disappointed in my Discrete grade so maybe I'll work through some of Rosen's book over the summer.

    The biggest news from last week pertains to Dad. Mom and Dad got news from the doctors that the cancer was no longer responding to treatments and was getting worse. He can't walk without assistance and has been moved into the dining room. He's now under hospice care. It's hard to say how much time we'll have with him but the odds are good that he won't make it to Autumn. I just hope he gets one more Father's Day. I'm actually off to go fix Mom some Couscous and Parmesan Crusted Chicken for dinner but in the next 24 hours I hope to get a blog post up with a tour of the apartment posted.

    After that, I'm hoping to spend the week playing with Haskell, Lisp and maybe some Discrete Math or Calculus before summer classes start on the 18th. I'd also like to throw a pool party somewhere in there. As for how I'm doing with Dad, I've had a lot of time to prepare and I'm just thankful for the 15 or so years we had. That said, I expect the hammer just hasn't dropped yet. We'll see.

    Current Craziness

    posted on 2009-05-03 05:40:15

    So, how about a personal update to go with that code madness? I have my last two finals in Discrete Math and CS 102 Tuesday. Then I get to pack and fill out change of address forms in preparation for Teresa and I moving to our new place Tuesday. Then I have about a week before May 18th when summer session starts to square away things with the old house\landlord (cleaning, etc) and relax a bit. I'm looking forward to my Data Structures course this summer as well as to the Sixteenth Haskell Community Activities Report and the release of Pixar's Up. I hope to go see Up with a ton of people when it releases. Also, Pitivi was supposed to finally drop the first release of their 0.13.x branch in April and that date has slipped a bit. Hopefully they'll put out a release soon.

    Last but certainly not least, Dad has moved into the dining room and is now getting around via a wheelchair. I don't get the impression that the cancer is beginning to win and he can walk a little but odds are good he'll never be back to full mobility. Pray for him if you can and if you're interested in tracking his progress Mom is keeping a journal here.

    Just because I need it, here's some Sigur Ros:
    Sigur Ros - Svefn-G-Englar
    Found at

    Quick Music Post...

    posted on 2009-04-25 15:51:31

    Then back to working on a final CS project. Sorry if I haven't been around.

    Jamie Lidell - All I Wanna Do
    Found at

    The Velvet Teen - Chimera Obscurant
    Found at

    Placeholder Post

    posted on 2009-04-20 15:58:32

    So another week has passed and apparently it's time for me to write another blog post. I have some interesting things I've been wanting to talk about but unfortunately I don't have the time to post right now. I may later on this week, say Friday, but finals and schoolwork is taking precedent for the time being.

    I'll still say a few brief things here just so you know what's coming.

    • Dad has had some recent complications and we're still waiting for word from the doctors as to what can be done about them. More forthcoming.

    • I happened to remember and watch Fist of Legend over the weekend which got me thinking about Cross Training and reading modern martial arts history on Wikipedia.

    • I've been recognizing some things about why I like Smash Bros so much and why Street Fighter IV has been trying for me even though I find much to commend it.

    • Teresa and I are all set to move in to the Aventine at Ashford May 8th. There will be a goodbye Windsor house party/video game tourney/thing before then.

    On Trunks

    posted on 2009-04-14 04:25:27

    I can't believe it's mid-April. That's just wrong. Everything is going really well but it's hard to believe how fast this semester has gone by. Last week was pretty good. It just seems like so much is happening. I'll say this, I have a really fantastic and interesting group of friends whom I deeply care about. It's good stuff. This morning was adventurous. No fewer than three trees came down in our yard. It was pretty epic.

    One thing that helped a lot lately was a song...

    John Hiatt - Have A Little Faith In Me
    Found at

    Things haven't been easy in a lot of ways and it's been hard to keep the faith. Then again, I don't seem to be the only one that's struggling right now. Also, this is going to be another rather linkpostish entry. Sorry.

    UC Berkeley has a youtube channel. More and more institutions are doing this (The Obama Administration, anyone?) and I think it's a good thing. Stanford has some too but I'm more specifically interested in their CS Colloquia than anything else I've seen.

    Speaking of the Obama Administration, I'm a bit frustrated with them and there are two primary reasons. One is that, apparently, Habeas Corpus is too good for some people even though we're shutting down Gitmo. I spoke to a friend today who remarked, "What on earth is there that two consecutive presidents would be afraid of releasing?". I hope it's not the will and fury of a fickle American public. The second is that they've actually STRENGTHENED the Bush Administration's position on Warrantless Wiretapping. I'm particularly livid about this because this is one of the biggest reasons I wanted Obama in office in the first place. The Consitution is increasingly in tatters and I'm pretty sure that counts as a broken campaign promise. The EFF's Kevin Bankston spoke about it on Countdown with Keith Olbermann.

    Here's one link that just doesn't go anywhere else. It's a very interesting Wikipedia article about Math in the Sciences and relates to some of my ideas about math being "the Thing at the Bottom". I may write a little more about that later on but I've been thinking about it a little more often lately.

    I've been a little interested in live coding lately but the available software is still not quite what I'm looking for. That said, Impromptu is the closest if only it wasn't OSX-only. I hate non-cross platform software in 200x. I even considered installing Hackintosh OSX on my X200 to get it going. I'll probably end up playing with Fluxus as it seems like the next best thing but it has to be built from source. *sigh* Gross! At least there's an AUR package.

    Now that Kernel 2.6.29 and an updated X stack and Intel video card drivers are downstream, the software release I'm most looking forward to is Firefox 3.5. I spend a large portion of my life in that browser so any significant updates, especially those with performance improvements, are a big deal. Mozilla is already planning for Firefox 3.6 however and they seem to have quite ambitious plans indeed. Unfortunately, one other project I've been eyeing for quite some time seems to be struggling. OpenMoko, whom I was hoping would eventually produce a replacement for my aging Nokia phone, appear to be struggling mightily and the later models I was hoping for have been cancelled I'll together. I'll be crossing my fingers for their survival. They were indeed innovating but look like they might go the way of the OLPC project. Reinvention into obsolescence.

    Beyond that, there have been a few cute things on Reddit of late. A Programmer Competency Matrix got put up recently and was, of course, lambasted for being bullshit. That said, it's cute and fun and for CS *students* it would serve as a pretty decent reminder for the things they ought to really have down by the time they enter the workforce. I'm talking about the log(n) column too not just the other stuff.

    I'm a little confused about CPU Frequency Scaling. I've removed cpufreq from my Daemons array due to reasons I mentioned before. Namely, it wasn't doing anything and may have actually been causing problems. Now this guy is talking about how it's fail anyway. This is the same cpufrequtils we're talking about right? How did this get so widespread as good practice? Silly herd mentalities. Shame on me!

    I hope to start exposing myself to new music a bit more regularly. Between's recommendation engine and the backlog of pirated songs spanning everything from Tapes 'n Tapes to Triosk I think I'll be busy for a while.

    I'm still distracted by personal code but I'm doing an awful job spending time on it. There's a nice article here about using Lisp for shell scripting. I love that kind of small practical example, even if you get looked down upon for being a newb reading it. You've got to teach yourself somehow and bootstrap yourself somewhere, right? I'm also looking forward to trying out Urwid this week to work on a user interface for Pycooker. If I have problems I can always fall back on Curses. More on the abomination of my intended progress later.

    Finally, I'd like to cook these Cream Cheese Wontons sometime in the near future but I don't know where I can get some wonton skins. Anybody have any ideas? That's all I can think of for tonight. Now if only I didn't have school in a few hours.

    Apprehensive About April

    posted on 2009-04-07 03:31:00

    I sort of forgot that schoolwork all bunches together for a nice crunch towards the end of the semester. Consequently, I'm juggling a fair bit at the moment. Not least because I'm also sorting out Financial Aid and Housing for the next year. On the bright side, I've got some fun projects in the works and I'm not too worried about my classes. I can say I'll be very glad to be done with the semester, even though my summer classes start May 18th. Thankfully, they all are in the afternoon Monday through Thursday.

    Here are a few other things that have been going on:

    President Obama gave the Queen of England an iPod loaded with 40 Showtunes. And we don't know if that's legal. Think our Intellectual Property laws are messed up yet?

    Apparently there's a pretty nice concrete skatepark near me. With any luck Burke and I will be regulars over the summer while he's here. :)

    Unladen Swallow seems to be moving along nicely. I jumped in to check on their progress. Speaking of Python, Mark Pilgrim is working on Dive Into Python 3 and it's online. There are also a few fun articles on Functional Programming in Python. Oh, and Named Tuples kind of rock. You'll need Python 2.6 to use them though.

    Arch Linux is planning an April release and they've got a fair amount slated to get done. I'm rather excited about it.

    Some devs implemented a MapReduce framework in Bash over the weekend. I think it's awesome.

    John Cowan has an endearing list of Essentialist Explanations about languages that's fun to peruse.

    Last but not least, I've been on a real John Mayer streak lately but here are two other songs that I've really enjoyed. E.Z. L.A. by The Folk Implosion is simply awesome. That whole album is, so get that. No City by Aesop Rock is also quite excellent. I still prefer Labor Days though. In other news, Mayer and the Gorillaz have albums slated to come out in the near future. You're thrilled, right?

    All Over Everywhere

    posted on 2009-04-02 20:31:30

    This week has ended up being pretty nice, if off the wall. Teresa and I were getting locked into an apartment over at the Aventine at Ashford. I'm also beginning to dig into Financial Aid applications for 2009-2010 and preparing for all the schoolwork I've got to do in April. Oh, and before I beat you with them I might as well warn you that this is another linkpost.

    I'm planning on doing some hacking with a friend this weekend and was looking at data structures on Wikipedia, primarily Radix Trees and Tries(Prefix Trees).

    Looking at which languages had libraries already, I found that Haskell's ByteString-Trie was written by a fellow named wren ng thorton. I chased a few links and stumbled on wren's livejournal where I read my favorite thing since the Minimal Social Compact. I may not be smart enough to follow every thread in there but I'm smart enough to know that his thoughts resonate and I wish wren the best of success. I really enjoyed Objects are a Big Pile of Fail too but for different reasons.

    Speaking of Haskell, Conal Elliott's blog hosted a really good discussion on what portability means in terms of semantics, GHC 6.10.2 was released and the Haskell-Platform Mailing List put out a call for volunteers to help Duncan and Dons et al help get it out the door. You can say a lot of things about that language but you can't say it doesn't have momentum. Mmmm.

    That other language I'm fond of has had some fun developments recently. It's not a huge deal necessarily but there's an interesting article by Slava Pestov on implementing a SmallTalk front end to Factor's VM. That's good fun.

    Yesterday was eventful. I fixed some drywall and got a book in the mail. I'm rather excited about it. Its called The Elements of Computing Systems and between the book and companion web site (see: study plan), you'll build a computer from top to bottom out of NAND gates. A minimal Operating System implemented in a High Level Language, implemented on a VM, implemented on an Assembler, implemented on Machine Code, implemented on a specific Computer Architecture, implemented from Chips and Gates on whatever substrate proves suitable. Beneath that, of course, is Physics.

    Also, it's been a long time since I was regularly checking Anandtech but when Anand keeps kicking out awesome articles about SSDs and the development of breakthrough graphics products I've gotta keep checking in for more. Keep it up, Anand! He's also managed to turn me into an OCZ Vertex fanboy.

    Last but not least, it's important that somebody tell the Music Industry (and the Content Industry as a whole, actually) to bug off but I'm not sure that Charlie Nesson would be my first choice for the job. That said, it's important that somebody is trying to do it and I at least appreciate his goal of turning Copyright into a matter which people actually think about. We'll see what happens.

    It's True

    posted on 2009-03-28 22:21:35

    This is just a quick link post. There may be one or two comments but I'll try to keep my mouth shut and I promise I won't ramble on like an idiot about language preferences. I know I don't write enough code.

    Pixar is making another movie called Up and it's out at the end of May, God bless them. I am amazed by the consistent quality stuff they churn out and really can't wait. Trailer here. Watch it!

    Also on the entertainment front, I think this is rendered and not real but I wish I could pay money to play it. I spent a large portion of my childhood playing Mega Man 2 so the idea of Mega Man 2.5D is positively awesome.

    Via Rafe Colburn: Obsession Times Voice. Makes the point that you should do what you can't help but do, not what you love.

    HLint: Personally, I wish every language had a library like this. Hi, let me suggest more idiomatic expressions of your code. Also, the Holumbus developer's blog made me very happy in just one sentence: "There’s no reason why Haskell can’t be used to build distributed systems, so let’s do it." Damn skippy, sir. Damn skippy.

    TUNES Learning Lounge: Filled with lots of good stuff.

    Dreamsongs by Richard Gabriel: Mob Software. Every now and then I forget about Richard Gabriel. Then I stumble across his work and remember that he's a great thinker. I particularly enjoyed the section on The Changing Face of Software.

    I stumbled on the blog of Daniel Lyons, who coincidentally responded to my recent post on where to put the abstractions in CS and had some nice followup questions. He also has a good post on some of the problems with the industry and another post on complexity and languages.

    My favorite summary of ILC 2009 so far is Vladimir Sedach's, primarily because of the remarks on patch loading, the commentary around Sussman, and the link to Mob Software reminding me that, sure, parallelism is one problem but Amorphous Computing and long-lived systems provide a whole new bag of interesting problems to start working on. I remember stumbling onto Jacob Beal and Radhika Nagpal's pages a while back. Apparently it's also going by Spatial Computing now and there is a good presentation on it here. Also, who knew Pascal Costanza plays Magic? I might just have to go to one of these Lisp conferences after all. :)

    Speaking of Sussman's comments, Jao Ortega has posted for the first time in almost a year on that very subject. He's gone into more depth on Sussman's talks than anyone else I've seen.

    One last interesting point that I gathered that Vladimir made explicit from Shivers and Sussman is "that unspecified behaviour actually gave you more opportunity for expressive power" which makes me a little sad. I still haven't decided how I feel about formalism. I need to write more code first. Still, my initial reaction is not exactly positive.

    I need to figure out what I think of this later.

    Last but not least I've got to mention the work on Unladen-Swallow. The project (which has support from Google) is looking to create a branch of CPython which performs 5 times faster and get it upstream. They've already made a first release with some solid gains and I'll look forward to keeping an eye on them.

    Endless Blather

    posted on 2009-03-26 02:55:34

    This post has everything.

    It seems like a lot has happened in the past day or two. I'm all wrapped up preparing for a test tomorrow but there are other interesting things afoot. Teresa turned 20 today and there's going to be a party in her honor on Sunday. Kernel 2.6.29 has been released, it turns out cpufrequtils was never really doing anything and Skate 2 finally got a patch enabling custom soundtracks. EA Blackbox, even though you're two months late I'll take back some of those mean things I said. Speaking of games, someone finally wrote a Fei Long Guide for SFIV. It should hold some good lessons but I think I've got a lot of it down by this point.

    I've got the webserver setup to play around with weblocks, leftparen and happstack. Hopefully one day I'll actually spend some time on that. It would be nice if weblocks was asdf-installable. I don't know. Maybe I'll just prototype GUIs in Chicken Scheme, Common Lisp and Python. QT seems to be the cross-platform GUI toolkit of choice. It's the only one with recent bindings for all three languages.

    Oh, before I forget, if you're interested in the best general write-up on SSDs I've yet seen you should read this article from Anandtech. Generally I prefer the stuff at Arstechnica but I've yet to see anyone with an article this thorough and excellent on SSDs. Well done, guys. Speaking of which, OCZ Vertex 120GB are under $400. OCZ, you've earned my faith by this one. I'll choose you guys when I have cash to blow via pricegrabber.

    There are endless good recipes on the Pioneer Woman's website. I had an abundance of Chicken, I check under Entrees->Chicken and find Braised Chicken and Parmesan Crusted Chicken. I've tried the Parmesan Crusted Chicken and the Braised Chicken. The Parmesan Crusted Chicken was pretty fantastic. Braised Chicken was tasty but I didn't like it as much.

    The arguments about concurrent and parallel programming are ongoing. GHC is planning a new release for Autumn. I really hope the Haskell Platform is off the ground by then. Also, if you use Xmonad there's a good guide to Urgency Hooks here. Open Source development is still being thoughtfully explored. See, The Free as in Beer Economy and Freesouls.

    The International Lisp Conference '09 has been going on and different people have said different things about it. Andy Wingo seems to have some decent writeups. Sadly, some of the things he say make me think of what Paul Snively said in his Road To Lisp survey (which I realize is likely quite dated), "My own thinking is that Lisp is the cockroach of programming languages: it'll be the only one left after the apocalypse. Not bad for a dead language." Maybe in a few decades I can hope I don't suffer the bias of echo chambers. Maybe not.

    Last but not least I'll just note that I'm really enjoying Elbow tonight while doing math. Really enjoying it.

    Elbow - Weather To Fly
    Found at

    Trying to Focus

    posted on 2009-03-16 18:19:24

    I've put myself in a rough position over the past few days. I should've been getting more math done but that's the past. I'm having a fair amount of trouble with inductive proofs but not because induction is tricky. Induction makes sense. Remembering how to transform equations with algebra is tricky and I'm quite rusty which makes it mostly frustrating and/or embarassing.

    Anyway, there's a test on Thursday and I've got 5 sections of Homework problems to get through by then. Hopefully, if I can pull that off I won't do too poorly. I got an 89 or some such on the last test. I had some extra credit that bumped it up to an A.

    I've been worried about my future a lot lately. I know that to some degree I went back to school just to know I'd be able to make money when I got out. In some ways, it was a move of desperation. In others, I thought it made sense to wrap up. Trying to teach yourself to code and working full time in IT wound up being a bit conflicting for me.

    The important thing is I don't just want to make it. I don't want to just get out of school and be employable but I'm not learning enough or coding enough on my own to be more than that. So I'm looking at how to impose more structure and have more discipline to get more real coding done because this shortlog is just ridiculous, even though I did write a decent amount of Haskell over the break.

    I want to see commitment and I want to see commits. I want to turn this guilt into motivation and that motivation into code. I can't say I love programming yet, I'm just fascinated by it...but I think if I keep at it one day I might get there.

    PS: Listening to Gorillaz, their debut album. Definitely quality. Listening to Tim Hecker's new stuff. It's nice, particularly "Borderlands". A bit of Jaydiohead. It's nice. And Panda's weirdly pleasant, particularly "Comfy in Nautica" and "Bros".

    Brick by Brick

    posted on 2009-03-10 19:34:08

    So spring break is finally here and I've gotten nothing done the past...5 days. I threw a small get together on Friday, went to a friend's stand up show on Saturday, saw the Watchmen on Sunday, and saw the same friend yesterday to watch Synecdoche, NY...which reminded me that I just don't get Charlie Kaufman films. The Kaufman films amaze me they're just incomprehensible. I can't infer the meaning to his metaphors, usually.

    That's not all I've done these past few days but you get the picture. Worse (or better) still, my social schedule is booked. I'm already hanging out with people Tuesday night, Wednesday night, Friday night and Saturday night. It's ridiculous. I'm never going to get my math homework done. Anyway, where was I?

    The more I think about it the more interested I am in writing or composing music of my own and there's no question that I want to do it digitally. I may even write my own software tools to do it but that's way down the line. A lot of the trouble is I don't know how to get started making music on a machine at all. Or off one. It's sort of this big, ominous thing for me. I don't think of myself as being that creative or talented anyway but I don't care. I'm going to try it. I'm still sampling things occasionally. I just need to find some piece of software to help me string it all together.

    I've been at least a little productive. I've cranked through the first few chapters of Real World Haskell and would like to keep a one chapter a day pace. The code is browsable on the new server's mercurial repo. One good thing has occurred to me these past few days. Spring break isn't wildly different than my normal schedule. Sure, I don't have homework or Tuesday or Thursday classes but I don't think that's holding me back from being truly productive or learning things I want. If I just invent the right structure for myself I think I can do still more than I'm doing now. It's something worth thinking about.

    After all, there's so much out there to study. I'm interested in picking up some Category Theory from a (djvu) copy of Conceptual Mathematics I found out on the interwebs. I'll probably buy a copy at some point, I have a problem when it comes to books. Anyway, aside from that there is tons of great free material out on the web. Herbert Wilf's Generatingfunctionology and A=B are both available free online and there is an interesting text on the Basic Concepts of Mathematics and one on Modern Algebra, and another on proofs that I may work on. Beyond that, there's tons of free material on Haskell and Lisp so I have no reason to be bored. Oh, and as always Brian and Robert over at Enfranchised Mind are always putting out good articles.

    Last but not least, BT wrote the entire song that follows in the CSound programming language. Granted, it took him 6 months and hundreds of pages of code but still...

    BT - All That Makes Us Human Contin
    Found at

    Trying to Stay Ahead

    posted on 2009-03-04 16:31:57

    There are a bunch of links I want to dump out of my browser and I can't think of a coherent way to do so. Here we go:

    The berrics has finally wrapped up. Unbelievably, I predicted Benny Fairfax's defeat of PJ Ladd. What a Long Shot. That match was awesome. Similarly the PJ Ladd vs Billy Marks match was damn fine. I feel a little robbed about Marc Johnson still but I made decent predictions.

    The Bush Administration's legal counsel was the devil. I don't really have any good words for this. I told you so maybe? *sigh*

    This is a minimal social compact for the 21st century. I've only read bits and pieces of it and need to go through it again but it's hella cool.

    Copyright is really going to struggle to figure out the 21st century and the consumer products it's bringing. Just check out this Ars Technica piece revolving around the kindle. New media is continuing to eat old media's face. (See: newspapers folding)

    Miru Kim takes pictures of herself in abandoned industrial complexes and urban ruins. It's rather interesting and at the very least there are some good photos. She feels compelled to take them nude though so it's NSFW. She also gave a lecture about it. The Bennett School is interesting and the Catacombs and St Jacques are just crazy. I don't know what I think.

    I believe I posted a link to this before but just in case I still find a bunch of futurists bantering on about the direction of things to be interesting most of the time. So here is The State of the World in 2009 with the Well and Bruce Sterling.

    While we're on futurism I might as well mention that genetics is exploding and it won't be long before we're all seeing it. For the record, I do think we should be careful and concerned but if we take the right precautions I promise that synthetic biology will be flipping awesome. Also maybe solar power will close the gap at last. Go figure that the simple, elegant solutions are the right ones.

    If you think Computer Architecture isn't in the middle of drastic upheaval for the first time in two decades, read this and then punch yourself in the face. Okay, so maybe that's not as indicative of the upheaval as it could be but I don't have a solid link explaining the shift to multicore architectures (probably) featuring simpler individual cores. Anyway, it's fairly interesting that the industry heavyweight (i.e. Monopoly) may have to completely reinvent itself depending on what the market does at this crucial juncture.

    I know you readers care about multicore support in Programming Languages. Neat GHC mutterings in a new paper. Can we expect GHC 6.12 in the next few months? While we're on Haskell, I thought that this library to automatically generate typesafe bindings to C code was pretty f-in awesome. If we have to deal with the legacy of C code, this should help tons. Hackage gets more useful by the day. Other papers? You got it. Lambda the Ultimate helped me stumble on this interesting approach to Compiler Optimization from some smart doctorate seeker named Ross Tate.

    A while back an article called Hard Work and Practice in Programming got posted to both hackernews and the programming reddit and generated a lot of comments. It was both discouraging and motivating at the same time. I'm afraid of all the work I'd have to do to know all I want to know but I'm slowly moving in the right direction. That's actually what's been distracting me lately and what the title of this post is about. I want to be ahead of the curve and able to deal with parallelism. There are few programming languages in which that's even possible and that'll only become more pronounced and important in the coming years. Moreover, I know that whatever I end up doing with programming the language I write code in makes a difference to me in how much I enjoy it.

    Some languages I like more than others, some paradigms feel more productive or sensible to me than others. Unfortunately, my tastes lean towards the esoteric which means that to work professionally in the languages I like it might require a Phd unless the market starts adopting them pretty quick. Or at least a Masters. There's a lot of mathematics involved and I could stand to brush up on my Calculus as it is. Ah, well. I really just need to shoot a sheepish e-mail to Don Stewart or Bryan O'Sullivan asking what I can do beyond getting my BS and writing Haskell and Lisp to be prepared to get jobs at a place like Galois.

    Then again, I think part of my concern is that while getting a job writing High Assurance would at least be fun, challenging and use Haskell, I'm not sure my passion is in somebody else's software. On the other hand, I haven't figured out what I want software to do for me yet. Hopefully working through the BS will point to some ideas. I still have the idea of a social network for self-schooling or autodidacts lingering in the back of my head. School's fine but I've always wanted a bit more flexibility than I've been able to get at the institutions I've attended.

    Speaking of the math involved, I've been harboring an interest in Category Theory lately due to Haskell and I really enjoyed this man's story. I may be a theory learner myself. I definitely appreciate working through the abstract in SICP a lot more than working through some arbitrary example in CS class. Anyway, there's more to gather from this and maybe with a bit of work I'll actually be able to tackle Herstein's Topics in Algebra. It's been calling my name for a little while. Well, more later. I've got a midterm to finish.

    Redlinernotes Reborn

    posted on 2009-02-27 23:29:33

    I can't believe it's only been 8 days since I posted last.  Life has been moving at an insane speed but I've been really happy.  A lot of things are just sort of coming together lately and I have to say it's a pretty pleasant change of pace. Dad's on the mend. We don't have the cancer beat but it's certainly at bay for a little while. He'll likely never be out of the woods completely. Schoolwork is going pretty well. I haven't been working absolutely as hard as I can but I have low A's or high B's in all my courses. I planned out my course schedule for the next few semesters and figured out that I'll graduate in December of 2010. That's with 4 course summer sessions. It's longer than I'd like but nothing from Oglethorpe carries anywhere. Plus CS is my second time switching majors so I was practically starting over. *sigh* Still, I have a plan and that's pretty nice. I also did taxes this week and found out I'll get a $1500 rebate.

    You also may notice that is going significantly faster of late. I finally manned up and began paying for "real hosting". There are a number of benefits, not least of which are freeing up my home connection from requiring a Static IP. Moreover, the upload speed and latency are much, much better at the hosting facility. It's a Virtual Private Server running ArchLinux which I purchased through Linode. It's $20 a month and so far I couldn't be happier with it. I may do web development on it in Haskell, Scheme or Lisp at some point but that's down the road a bit.

    Not everything is roses though. I got hosed on my berrics predictions. Of course, I blame Steve Berra. Marc and Steve were supposed to have a nice game of skate but then Steve caught something awful that looks like chicken pox. Instead of putting the round off further, Steve MC'd and pitted Marc against Johnny Layton who failed to make his first round appearance. Marc was definitely having an off day. He missed like 4 tricks before beginning to hit his stride and it was too little, too late.  If I recall Marc missed a regular 360 flip and a nollie flip. It was painful to watch. Anyway, my whole bracket is F-ed.

    I'm having a Street Fighter IV tournament tonight. I've been spending a lot of time working on my game this week. For some reason I get really competitive about fighting games but only fighting games. I don't think SF4 has the mass appeal or the elegance of Smash Bros though. I'll probably try to write more on that later and I should acknowledge I have a strong bias that I'm trying to compensate for from years of Smash Bros play. So far I've settled on Fei Long as my main character and I'm planning to spend some time getting decent with Gouken as my secondary. The tournament should be fun, at any rate.

    Other than that, I'm having trouble thinking of what else has been going on. The one bug in Linux that's been bugging me is fixed upstream so the next ALSA release will make me pretty damn happy. I'm increasingly enamored with Haskell. I'm slowly beginning to work my way through Real World Haskell and plan to spend a good bit more time on it over spring break (March 8th-14th if you were wondering). It's the only language I've seen that seems like it can handle issues of parallelism and concurrency more or less today. I'm definitely keeping a close eye on it.

    The Generic Quick Post

    posted on 2009-02-19 21:20:53

    I didn't even realize I hadn't posted in over a week. I just got through the first big "crunch period" in school and did pretty well. This weekend will be relaxation and unwinding to a pretty large extent. So what's happened besides the school stuff?

    I got Street Fighter IV. I am planning on throwing a tournament...details forthcoming. I already think I prefer my Smash Bros tournaments.
    I'm enjoying Fleet Foxes and also The Stills and Vampire Weekend at moment. Mmm, mmm, music.
    ArchLinux finally put out a new release for the first time in a while. They're also going to try to drop releases with each Kernel release from now on which would be pretty damn cool. A distro that releases 4 times a year? Watch out. Not that most of us Archers don't just install and roll along...
    This is my jam and beautifully and entertainingly explains what I'm trying to say about parallel programming and the future. It also advocates haskell a bit which is nice.
    This just generally talks smack about for loops which is not a bad thing. I'm so sick of for loops. I'm not going to get into my snobbery right here. Just know that the fact that I ought to learn C for the future so I can deal with the past is a little frustrating at times.
    Finally, I'm 3 for 3 on my berrics predictions and with any luck I'll be 4 for 4 this weekend when Marc Johnson finally fights Steve Berra.

    Touching down

    posted on 2009-02-10 23:39:13

    Things have been fairly ridiculous for the last 10 days. I won't go into details because they concern some other people that might not want them discussed. That said, things have been fairly ridiculous and I've had a hard time focusing on doing schoolwork or anything else. I'm trying not to get overwhelmed by everything. I feel like I can't keep up with school and personal pursuits but that's far from the truth and I'm slowly trying to get my head together. That means it's time for something uplifting though and I've haven't posted any Milosz in a while so here we go.

    Earth Again by Czeslaw Milosz, excerpted from Unattainable Earth pg. 8
    They are incomprehensible, the things of this earth.
    The lure of waters. The lure of fruits.
    Lure of the two breasts and long hair of a maiden.
    In rouge, in vermillion, in that color of ponds
    Found only in the Green Lakes near Wilno.
    And ungraspable multitudes swarm, come together
    In the crinkles of tree bark, in the telescope's eye,
    For an endless wedding,
    For the kindling of the eyes, for a sweet dance
    In the elements of the air, sea, earth and subterranean caves,
    So that for a short moment there is no death
    And time does not unreel like a skein of yarn
    Thrown into an abyss.

    PS: My bracket predictions have been correct for the berrics two out of two times thus far. Post some brackets people!

    Fumbling through February

    posted on 2009-02-05 02:18:44

    Some days (or nights) you just feel like an idiot. There's no rhyme or reason and there's just no stopping it. I suspect that it's a result of wanting to do so many things and being unable to cover it all. The last week or so has flown by. Everything seems to be moving very quickly. I've done alright on some of my new year's resolutions but others have fallen behind. Clearly, I'm blogging enough and I've been exercising and/or skateboarding fairly frequently. I haven't extracted samples from my music library since around the second week of school though and I haven't made any progress on HTDP or really any code.

    Moreover, I'd like to participate in the Summer of Code if at all possible and really want to work my way all the way through Real World Haskell and The C Programming Language in the near future. The latter things will have to wait for academics and essentials. I just hate not being able to do it all. I think I have the time, I'm just not dedicated enough. I'm not sure.

    That said, things have been going pretty well in 2009. Even better than 2008 which was mostly good to me aside from some work troubles and restlessness towards the end. Things with Teresa are outstanding, I'm at least partly enjoying school, I'm dealing with financial aid and I've got friends and hobbies on the weekend. I'm doing well in my classes and need to get back to that for now. There's work left to do.

    Aside from work there are two interesting things in the next two days. Tomorrow, a Killzone 2 demo is launching on the European PSN. It should prove interesting as a technology showcase. I remember reading a cool paper about it but I can't remember where I found it. Aha. Google found it for me but be warned it's a PDF. So here's a quick primer on the Deferred Rendering techniques they used if you're interested

    Alien Workshop is releasing Mind Field on Friday and I'm quite looking forward to seeing that. They've got a hell of a team these days and Heath Kirchart has the ender. I always liked Kirchart. While we're on a skateboarding note I should mention "The Berrics". The Berrics is a combination of the first names of Steve Berra and Eric Koston, close friends and prominent pro skaters who co-own this private skatepark. They've decided to hold a rather far-ranging Game of Skate and I might as well get in on the action and post my foolish bracket before things get further along:

    Marc Johnson will beat Berra, sorry Steve. I saw footy that showed Erik Ellington beat Jimmy Cao which wraps up the second round. For the quarterfinals, Benny Fairfax will take out Erik Ellington, Marc Johnson will take out Billy Marks, Mike Mo Capaldi will take out Mike Carroll and in an upset PJ Ladd will take out Eric Koston. For the semis, Marc Johnson will take out Mike Mo (this is actually probably an upset) and Benny Fairfax will take out PJ Ladd (this is definitely an upset). Finally Marc Johnson will take the crown.

    Okay. Enough of this whiny nonsense. Back to work. *sigh*

    Normal Thoughts, Nerd Thoughts

    posted on 2009-02-01 00:18:46

    I'm going to try to keep this short. Top 5 things that have been stuck in my head the last 2 days.

    1: Actually, 1 hasn't been stuck in my head it's a few interesting news bits from this morning. One being an interesting interview and look at Middle East policy with Obama, the other being Jessica Alba calling out Bill O'Reilly on WWII neutrality. I normally wouldn't post the latter sort of junk but I found it pretty funny for one reason or another.

    2: Amon Tobin is awesome. Literally, awesome. My favorite two albums of his are Supermodified and Permutation but I can't choose between those two. Seriously though, just listen to Nightlife off of Permutation or Slowly off of Supermodified. Listen to those for me. Please. Tell me they're not masterfully composed or beautiful. It's all sample-based. He's staggering.

    3: I'm going to be moving by the end of may. I need to save up for a down payment on an apartment (with Teresa) somewhere nearby and public transit accessible. I may also change internet service providers. If I do that, does it make sense to buy hosting from someone (I'd definitely choose a Linode 360 in Atlanta at $20/month)? I'd still keep a server at home for, uh..."file transfer operations", media serving and SSH access or some such. I just don't want to have to run off of it for bandwidth and downtime reasons.

    **Computer Nerd warning: I think what follows may be the most concise explanation of what really interests me in Computer Science that I've written, namely item 5. Item 4 is prerequisites, sort of. If you want to understand some of the reasons I'm into computing and the questions that interest me you could do worse than read what follows. Note that I think Computer Science is generally one of the most interesting fields that exists because it lets you study anything: Games, AI (Psychology/Philosophy/Ontology/Nature of intelligence), Theory of Computation (Mathematical Foundations of Logic), User Interface Design/HCI (Psychology/Aesthetics/Usability), Programming Languages (Linguistics). etc...but what follows are my personal reasons, not general ones.**

    4: I posted this reddit thread yesterday but the topics debated are so interesting to me I'm going to post it again. Consequently, I've spent this morning peeking at things like this, and a lot of the work Jonathan Shapiro has been doing over the last few years, particularly BitC and Coyotos. I came into programming last year excited about my understanding that to support the trend towards parallelism we had to rework something significant on at least one of the following levels {Computer Architecture, Operating Systems, Programming Languages}.

    I also understood that the field had a lot of lovely innovations which (debatably) never conquered the mainstream such as Lisp, Unix on one side, Plan 9 on the other, RISC architectures, etc. One always has to struggle with Worse is Better. Note that I did say debatably, Lisp/Scheme increasingly influence recent languages, Unix is slowly working towards the consumer market through OS X and Linux and has always been strong in Industry, Plan 9...well...[pdf warning]Rob Pike has some interesting words[\pdf], and Intel's x86 chips apparently hardware translate the CISC ISA down to some sort of RISC-like micro-ops.

    The point is the solutions which were elegant or "technologically superior" did not tend to be the ones favored by the market for various reasons. Note that I am not saying we all should be using Lisp Machines. These technologies were beaten in the market for good reasons but that doesn't mean they were a direction we shouldn't pursue. Consequently, I am beginning to understand that because the foundations of this industry which has taken over the world since 1970 are in many ways fundamentally unsound that we should harbor a desire to eventually rework those foundations. Namely by the insertion of abstractions to aid the modern programmer in issues of parallelism and secure and reliable code.

    5: I guess the question that really gets me is, "Where should all this abstraction be?". That is, what are the right layers in which to have the abstractions we settle upon? I think a number of things suggest that the Computer Architecture and Operating System layers are not the correct ones and that the abstractions should wind up in our Programming Languages. Backwards compatibility and the price-performance competition with existing industry being the principle obstacles to Architecture and Operating Systems. Of course, once you've figured out where the abstraction should be you have to move on to "How do we create these abstractions and put them in their place?" or the question of implementation which is for all intents and purposes much harder. This has taken way too long to write and I'm pretty spent at the moment. Hopefully, I'll get a chance to flesh out these ideas later.

    **/end nerdery**

    PS: It's begun. Mike Miller was right. I'm doomed to be a Computer Historian...

    Bursting Browsers

    posted on 2009-01-29 02:49:08

    My browser is filling up with tabs and I'm tired of it so it's time for a link dump. There were probably also things from my Google Reader that I wanted to post in here but that thing moves so fast I can never keep up with it. Honestly, it's impossible. Maybe I should start reading less.

    This year is starting to come together nicely. I'm enjoying school a lot and as far as I can tell so far I've been kicking ass and taking names...not that I should brag about it. It's not like I'm in a really tough school and it's not like I'm far into my major. Oh, well.

    I still find the two most interesting topics in Computer Science to be Operating Systems and Programming Languages. We're still so early in the computer age. I think there's a long way left to go. I don't have anything smart to say about OSes and PLs because there is too much I have left to learn. Instead, in the next few days I hope to talk a bit about Emacs and LaTeX. I swear by that text editor at this point. The more you use it the more you get sucked into it I suppose...but I can imagine switching from Firefox to Emacs for browsing.

    Speaking of which, Firefox 3.1 Beta 3 should be coming out soon and we all should want that. It's about time Tracemonkey got here...and if you have any memory usage improvements or additional stability bring them my way. I'm a ridiculous internet user to be sure and I average about 40 tabs most of which have a decent amount of javascript or images but I still think we can do better. Hammer away guys!

    Now then, about those links:
    - First of all, there are some notes from a POPL 2009 track that I found highly interesting here. I hope that things are indeed shaken up as much as they suggest over the next 10 to 15 years. There is cause for optimism as much as despair. It's been posted on LtU and hopefully some good comments will turn up there.

    - Bruce Schneier thinks we should have Data Breach Notification laws. Makes sense don't you think?

    - The Scheme Language Steering Committee is going through an election soon and I'm pretty interested in taking part. Naturally, they have a fantastic lineup of nominees. I'm one of those people that's a little dissatisfied with R6RS but I am unaware of the historic RnRS before R5RS so I should probably read up before voting. Who am I kidding though? I'll never find the time. We'll see what happens.

    - Following up from the first article, the links here to the original article, follow up, and LoperOS are all fairly interesting. I'm actually pretty happy with the state of computing as it is these days but I don't have to write code professionally...and I'm certainly not opposed to escaping todays methods\tools\PLs\OSs\ISAs\etc.

    - Speaking of tools though we do have some incredible tools today, like this Cycle Accurate x86 simulator. I don't know when I would need it...but it is there.

    - There have been some interesting thoughts on the economic stimulus lately. I think three of my favorites are this one, this one and this one. This post talks about how to spot economic BS which is of course also useful in these hectic times. We'll still forget these lessons in a scant few years, I fear.

    - I still think there's a good bit wrong with both our economic and education systems at several levels but they're the best we have right now. After all, our college admissions processes are admittedly pretty arbitrary. Hopefully they'll improve in the future but in the meantime I think a lot of the problems are summed up well here. In the meantime, let's all just think differently and remember what Brandon Marsalis said.

    - Bruce Sterling has a good bit to say about the State of the World in 2009 and though this is one hell of a thread there are some extremely interesting views present. It's definitely worth a half hour or so of reading, even if you can't finish it.

    - As for thinking about the future, keep these two things in mind: Work on something that matters and this probably will be a Genomic century.

    - While we're on the not quite computing train, I might as well mention the wonderful works of Elizier Yudkowsky again whose recent series on Fun Theory has provided some throught provoking material. *shrug* Maybe it suits you maybe not. Here is a summary. There has also been some talk on Overcoming Bias about Obama's Inauguration and Setting the Bar now. That's certainly worthwhile too.

    - Speaking of Operating Systems and Foundations of Computing and all that bull, here's something worth reading/thinking about. I haven't actually used Plan 9 but there are (I think) some very good comments in this thread and things worth pondering.

    - This is interesting if only because it seems reasonably honest/unbiased and explains many of the pros and cons of a broad array of languages. That said, I don't see any concatenative languages represented and that makes me a little sad.

    - Last but not least are a few thoughts on our new president from Rafe Colburn: Thank God the torture is over and this choice makes me deeply, deeply happy.

    Between Google Code University is pretty cool but what I'm really excited about is their Summer of Code. In the past I've read about it but if I can learn enough and get my act together quickly enough I may actually be able to participate this year! We'll see. A friend offered to mentor me for LispNYC if I can come up with an appropriate project and I'm both flattered and excited but I've got a lot to learn between now and then before I can do anything really useful. Back to my lisping. On a related note, I would keep my eye on this site over the next few months. I expect we'll all be seeing some really neat stuff.

    Finally, a few tangents. Some of the stuff people create in LittleBigPlanet is astounding. These guys need to stop their home computer office wars...but I think I can say I actually prefer my setup to theirs. I've made good choices based on my needs, so have they. That's enough for now. I should try doing something actually productive. Later guys.

    Disparate Discourse

    posted on 2009-01-22 04:42:03

    Before I bore you, I should mention something worth reading. There was an interview with Clay Shirky I read that I thought was just excellent. It's on the response to technological change and some of the effects of the change (the newspaper industry esp.). It's in 2 parts and it's definitely worth it. Check it out: Part 1 and Part 2. Also, if you've ever wondered about the people who write adware, here's an interview with one. There's a little bit of geek speak but it's not too bad and he certainly has some interesting things to say.

    I've had a lot on my mind I've wanted to mention here but I've been distracted by real life lately. You know, school, keeping up the house, budgeting, exercise, a small social life, etc. It's been a big January. Obama got inaugurated and seems to be taking his first steps well. EA Blackbox disappointed me by not including Custom Soundtracks, one of the few features I cared about, in the PS3 version of Skate 2. And wouldn't you know it, I'm just loving SPSU. I can't explain why. I especially don't know when I found it so miserable last time. The classes aren't more challenging (except for maybe my programming course) but I'm just enjoying myself a lot more. Maybe that year off really did benefit me. I'm also really loving the public transit I take two days a week to get there. If I can get through the next 30 years without a car, I'm liable to try.

    My 2 school days, Tuesday and Thursday, are both 13+ hour days. I leave at 7:30 and get back home around 9:00. It's worth having the rest of the week off though. My first class is Technical Writing which I at first hated and still think is pretty dumb. Thankfully, it's the sort of class where if you just keep your head down and do what you're told you'll do well. I'm normally not good at that but I'm managing so far and it's been getting a little easier as I've gotten less afraid the teacher will grade my work arbitrarily.

    The really odd thing which I don't know how to relate is that I'm making friends at SPSU. Last time I made a point of going to class and back to my dorm. I spoke to few (or no) people in my classes and was this ghost guy that happened to live on campus but spent most of his time at work or his Oglethorpe girlfriend's dorm. I'm still near Oglethorpe and I still see the folks I care about, particulary that girl. That said, I run into people constantly throughout the day and they want to talk or hang out with me. The lunchroom, the hallways, just walking around. It bothered me a little initially because I was used to sitting around people watching and reflecting during that time and people kept coming up to me. It seems that people my age don't really reflect much to me for some reason. Anyway, it was weird getting approached all the time at first but it's fun now.

    I have a Global Issues class which is sort of politics and probably should've been covered by a bit of Core 3 but I'm signed up for the 2nd of something like 6 debates and mine is on the issue of population control. I'm all about that and I've been thinking a bit about sustainability and anomie lately. I still don't have anything smart to say though. I have a Discrete Math class in which I actually adore the professor. Literally. She's precious. She bounces all over the damn room because she has ADD so bad she can't hold still. Or she's just that excited about Discrete Math. She specializes in Extremal Graph Theory after all. Anyway, her enthusiasm makes all the difference. I've sort of made the class fun for myself additionally by picking up LaTeX to typeset all my math homework. It all ends up looking like $\forall x \in Z^+ p | \sim p \to (q \lor r)$ or some such. God bless the almighty Emacs. I (almost) live in there. If you want to understand why someone would subject themselves to such a thing instead of just using a Word Processor like MS Word, read this.

    I've got a few programs I need to write. I need to write an application to help me keep up with my budget and I need to write a cookbook application to help me store and keep track of my favorite recipes. I'm definitely writing the cookbook app in Chicken Scheme and may or may not write the budget app in Common Lisp. By the way, I'm looking for a simple but stellar Chili recipe. Anybody have one they're willing to share?

    Part of my recent joy has been that I'm less concerned about changing the world with my life. It's sad to me quite often but the amount of effort required to not be an ordinary person is tremendous and the sacrifices great. I'll try to explain that in more detail later but in short I'd like to spend my life with a loved one quietly but intently. It's hard in some sense not to end up sleepwalking through your life and going with the flow. Anyway, for now I've got to get this posted and get to bed in the next 10 minutes so I'll be well rested for my 14 hour day tomorrow. Good night.

    Counting Down

    posted on 2009-01-13 00:45:25

    It's been a pretty eventful holiday season. I wrecked my Maxima on Dad's birthday (the 23rd), in particular. I didn't want to mention something until I had a concrete opinion to express and now I do. It was for the best. Seriously. I had spent considerable amounts of money trying to keep the car in good repair this year, it wasn't paid off yet and my parents and I had long since agreed it was a lemon but had no way to get rid of it.

    Luckily, the insurance has paid off the car, I'm fine and this enables me to cancel my insurance and have a bit more financial leeway for the coming school year. I had to figure out a method of public transit from Brookhaven to Marietta but that didn't turn out to be too tricky. It ultimately just means I'll spend about 3 hours twice a week (Tuesdays and Thursdays) on CCT and Marta. Today I went for the first time as a test run. The ride was enjoyable and afforded me a bit of time to get some sampling done. I took care of a few on-campus errands, bumped into several disparate acquaintances such as John Valentine and some Fayeteville folks and scoped out food options.

    In short, I'm ready for school to start even though they're going to make me learn C#. I hope I can use Mono most of the way.

    I keep reading about the economy, earmarks and entitlements. Is no one else thinking that the real issue here is sustainability, limited resources and population control? Minsky gave a talk on this but he's not the first person to raise the issue. When are we going to admit the planet can't indefinitely support 6 billion people or at least do the math/research to prove that it can? That's the question I'd really like us to be thinking about. If we want to be honest and accountable, the big picture is the only place to talk. The futurists and sustainability freaks seem to be pretty much the only people doing that. I'll rant about that more later but I wanted to at least note that it's been occupying increasing amounts of headspace for the past 6 months.

    Speaking of mindspace, I still really love ogling the stack languages. I played with Forth a little bit but didn't get too far. It was just a fun diversion from Lisp at the time. I still really want to check out Factor.  Frankly, after seeing how fast the factor guys grow the ecosystem and libraries around the language I believe their productivity gain claims. Go Planet Factor, Go Slava. I'm sure I'll get around to playing with it sooner or later. I have a nightly installed and FUEL setup...which actually popped up on Reddit today ironically enough.

    The only consumer-y thing I can think of that I'm excited about for the foreseeable future is the upcoming release of a PS3 game called Skate 2. Skate 2 is really just a patched-up and glorified Skate 1 to me. I'm still excited and I don't mean to speak ill of EA Blackbox but I could care less about much of the new stuff. I just wanted custom soundtracks, a tripod camera and good PS3 framerates. It comes out on January 21st and I'll disappear for a week in all likelihood exploring all it's corners.

    I still marvel at and love my new X200 and btdubs, btrfs is in for 2.6.29. For the record, I've had a newsgroups subscription with Astraweb for about a week now. I've poked around for a few Oscar screeners but haven't observed anything I couldn't find on isohunt or thepiratebay. Sure, the download speed is a boon but I'm looking for content that isn't readily available on other networks. I've checked out nzbmatrix and What am I missing?

    The RIAA has said they're giving up lawsuits and trying something else. I'll be keeping an eye out and looking for service that don't discriminate to Static IP users with their own blogs or pander to RIAA/MPAA/etc. In IP related news, Lawrence Lessig appeared on the Colbert Report. He has much more interesting things to say beyond what was covered so I'd recommend picking up some of his books, reading them free online or at least reading the Wikipedia articles on his first book and Free Content.

    I've also been catching up on my music obsession over the cold season and particularly enjoyed White Winter Hymnal by Fleet Foxes and Grounds for Divorce by Elbow the last few days. Also, I love Battles at least a little bit for writing Tonto, Atlas and Leyendecker. I'm also enjoying Amon Tobin all over again because he's a damn genius.

    I haven't been keeping up tremendously well with my New Years Blogging resolution, as you may have noticed, but I think that will change now that I'm busier. I've been doing much better with the music sampling and skateboarding. On to the coding and schooling.

    Resolutions and Predictions

    posted on 2009-01-02 02:59:31

    So this is a stupid New Years Post and maybe it's a little late. Are you supposed to post these on New Years Eve? I don't know. Anyway, here we go.


    - By May, I will be over half way done with HTDP.
    - By May, I will have analyzed over 1000 songs for samples and make at least one composition from said samples.
    - I will maintain a 3.5 GPA. Sure that's probably not rigorous or demanding but discipline before excellence.
    - I will blog and exercise (gym, jogging, or skateboarding) at least once a week.


    - Solid State Drives will attain an across-the-board performance advantage with a reasonable size disadvantage by Q4 2009. (~256gb for $300 or ~$1.25/gb) Edit: Okay, that was really stupid and not what I meant to express. Solid State Drives already have an across the board performance advantage with a (for some definitions of) reasonable size disadvantage if you get a good drive (Read: Intel or Samsung). I was really trying to comment on affordability of said quality drives. The Intels are sitting at $500/80gb right now and I don't know about the Samsungs. I'm predicting ~$300/256gb by the end of 2009. I'm leaving myself leeway by not stating whether or not I mean fiscal 2009.
    - No console will have a strong lead by the end of 2009 and we'll have to call this generation Console War a draw.
    - Linux and Mac will continue to infiltrate the consumer market but will not exceed 10% of worldwide market share.
    - The MPAA will follow the RIAA's lead and stop their lawsuits to pursue alternative means of Intellectual Property Rights enforcement.
    - IP Law and laws covering digital property and privacy will see increased scrutiny and public awareness. (Hey, I'm just hoping.)

    What haven't I thought of that I should have?

    The Years All Askew, The Year In Review

    posted on 2008-12-21 05:23:11

    It's been a big year. Of course, it's not over yet but I'm already anticipating the year to come. I'll be back in school after my out of school "experiment". Whether or not it was successful or not is a difficult question. I have a better take on the pros and cons of being in and out of school and am perhaps less naive about the "real world". I think I'm a bit more responsible and prepared for full time work and bills. I can cook. My experiment was also mostly successful. I know a lot more about computers and programming than I did going into this and I think the "play with obscure languages like lisp" bug is mostly out of my system. I'll at least be able to tolerate the Java classes better.

    That said, there were mistakes along the way and things I could've handled better. My curriculum was a bit too ambitious, especially in the face of full time work. It would've been better to start with HTDP than SICP in all likelihood given my level of programming experience. I could've done better (i.e. tolerated) hanging on to my job in spite of the recession though it's probable I wouldn't have re-enrolled in school if I'd followed that route. Perhaps most importantly, I think I could've thrown myself into a real programming opportunity with my friend Will more than I did. I maintain that a lot of that stuff was way over my head but I probably could've managed if I'd just tried hard enough. So I'll keep trying harder.

    I've been meaning to write a post for almost two months now called almost mistakes. I'm not sure if it's failed to materialize because I don't know what I want to say, don't know how to say it or some other reason. The original inspiration came from a night of conversation about education over at Oglethorpe and from me looking back on the last few years. A lot of times I feel like an idiot for following my heart. Leaving Oglethorpe to play with computers, leaving SPSU to study Lisp\CS, mentally checking out from TVS because I found it soul-sucking whether that was my own fault or not. The last few years are a blur. So much has changed and I remember it all so differently. It seems like a discontiuous function in which the line disappears between -2 and 2. I know there are good reasons but sometimes I think I should've just buckled, hunkered down, procured a degree and moved on. I'd at least be making decent money now, right? Not relying on student loans and such. I'm not sure when that post will materialize, or if, but it's been on my mind a lot.

    Other than that there's plenty of interesting news afoot so I'll try to talk about that a bit tomorrow. I've been trying to do at least something with myself lately though it's been very hard these last two months. I had a pretty good structure September-October. I was unemployed but productive. It got harder late October to present. Granted I re-enrolled in school, went through financial aid for the first time and got loans sorted out (what a mess) but I really haven't flourished otherwise. Motivation is tricky when the future is uncertain, I suppose. I'm enrolled but it still hasn't picked up. Enough for now.

    Wandering Flame

    posted on 2008-12-07 22:41:28

    It's official. I'm not dead. I mean, 4 weeks without posting? I'm pretty sure that's a personal record. A variety of things have been going on, mostly positive. I spent Thanksgiving meeting the parents of my girlfriend (you know, Teresa?) in Virginia. We had volunteered to cook while we were up which went smoothly, to my relief. One thing we cooked was particularly excellent, the Pioneer Woman's Cinnamon Rolls. They really are as good as she says. I also have finally found a Fried Chicken recipe that I'm happy with which is a plus as I'm hosting 30 Rock viewing parties on Thursdays and they make a good\simple meal.

    I've been wrestling with financial aid a lot lately. I'm excited about going back to school in the Spring but figuring out money always seems to be a bear. That seems to be true out of school too though. Most of the financial aid paperwork is done though, I've accepted some federal aid and I'm waiting on some private loans. Oh, the debtors joy. Also, I've got my schedule worked out and it's Tuesday-Thursday only so I'll be able to spend the rest of my time learning and hopefully pick up a part time job! Observe:

    Technical Writing - TCOM 2010
    TR; 10am - 11:15am; Atrium Building J-213; Jonathan Arnett
    Prog and Problem Solving II - CSE 1302
    TR; 1pm - 2:15pm; Atrium Building J-217; Jon Preston
    Same Class - Lab
    T; 2:30pm - 4:15pm; Atrium Building J-201L; John Vande Ven
    Global Issues - POLS 2401
    TR; 4:30pm - 5:45pm; Atrium Building J-101; Jason Seitz
    Discrete Mathematics - MATH 2345
    TR; 6pm - 7:15pm; D-Classroom 235; Jennifer Vandenbussche

    Of course, I have to look and recall all the lost credits from Oglethorpe. Why am I taking Global Issues again? Oh, right. Transfer fail. Moving on.

    Speaking of...a Lenovo X200 is on it's way to me and should arrive tomorrow. Damn you, online package tracking! My Thinkpad A31 just wouldn't cut it for commuting to SPSU. I tried that in Fall 2007. 45 minutes of battery life and temperamental wireless doesn't make for a good student laptop. I've also been working on RedLinux a bit lately and should be making a dual 686 and x86_64 release of RedLinux version 0.14 sometime next week. I'm also hoping to read some Lessig/Benkler or maybe one of the Open Sources books soon. I'd be wise to work through some of Spivak's Calculus or Head First Java before starting back at SPSU. We'll see. That's all for now.

    The 08 Vote

    posted on 2008-11-04 16:59:59

    I just voted. I'll repeat what I said last night: You should too. If you're eligible that is. Anyone interested in coming over to keep an eye on the prediction markets and the rolling numbers for the polls is welcome. I'm setting up a bit of a command center here in the basement with my 22" LCD watching Peter Seibel's data mashup or fivethirtyeight, if you insist, and the TV ready for CNN or what have you later.

    Also, I'll be baking brownies. That's right. Brownies. Maybe even some fried chicken. We'll see. Now come over and let's do this.


    posted on 2008-11-04 03:11:01

    This wasn't on my list of things to post about tonight I am anyway. Everyone seems to be writing an endorsement but I won't write my own. Many others have expressed my views in a much more elegant prose than I could muste. I will be voting for Obama tomorrow though and I'd like to note a few of the endorsements I've read which I felt were significant.

    Andrew Sullivan
    Cass Sunstein
    Tim O'Reilly
    The Economist

    Those meant something to me and have had some influence in my own decision. I'm not trying to sway anyone at this late date but I did want to make a statement of my own beliefs and thoughts on the matter, even if they're a scattered amalgamation of others thoughts. Please vote tomorrow in support of whichever candidate embodies your beliefs whatever they may be.

    Edit: Aside from standard news, these links should prove useful for tracking the prediction markets as the election goes down. The first has more data but requires Firefox 3. The latter is free of such requirements. They'll refresh themselves so don't wear out your reload button.

    A Quick Warning, A Quick Recipe

    posted on 2008-11-04 02:11:58

    You will probably be bombarded by a deluge of catch up blog posts/linkposts from me tonight. Sorry. That said, I made something for dinner tonight which was cheap, quick and reasonably tasty (i.e. not tooo bad). I made servings for two and I don't have measurements on anything but what the hell.

    Three handfuls of Baby Arugula
    1 Chopped Pear
    Four or Five Palmfuls of Shredded Asiago Cheese
    Magical Paul Newman's Olive Oil and Vinegar
    Mix/toss with fork and serve.

    Some form of noodles (I used spaghetti)
    16 or so oz of Alfredo Sauce (I used Classico Four Cheese)
    1 Chopped Chicken Breast sauteed with a healthy coating of Lemon Pepper.

    Cold water or some Smirnoff Ice variant to drink. Vanilla Ice Cream with blueberries for dessert.

    Simple, cheap, yum.

    Belated Blogging

    posted on 2008-11-03 22:50:51

    A lot has been happening lately and I guess I've been too wrapped up in it to write anything down here. I've been readmitted to SPSU for the Spring 09 semester, have filed the FAFSA and am currently looking into financial aid options. I'll have more on that soon but I am planning on going. Better to be there and learning than out of school doing Help Desk work and not learning enough about programming. That said, I'm totally out of funds about now and a part-time Help Desk position would be wonderful for the foreseeable future (i.e. post starting at SPSU). Or a contract position until school starts.

    Due to the aforementioned brokeness I won't be grabbing LittleBigPlanet which a few people have asked me about. I am impressed with some of the things people have churned out with it though including a working 1,600 part calculator and a recreation of Gradius. Cute.

    Will also got back in touch with me which I was quite happy about and I made some changes at his suggestion to my little hangman program. It's down to 115 lines of code and is pretty polished at this point. The only way to go forward would be to add new features but I'll put that aside until I've finished PCL. I also may have a quick weekend project to write a BASH script for RedLinux in the near future thanks to some of the great resources at the Linux Documentation Project. I've got some ideas for a future RedLinux release but I'll likely put that off until December or so.

    What else has been going on lately? Well, OOPSLA and Lisp50 happened fairly recently and I couldn't make it but I've enjoyed reading about it thanks to articles on Lispy's blog and some words from Luke Gorrie. I'm still pretty jealous of Luke Gorrie as he always seems to be playing with neat ideas and technologies and generally hangs out with the "cool kids" a lot. He was at OOPSLA and Lisp50 and then managed to be hanging out with Alan Kay, Ian Piumarta and co at VPRI when Slava Pestov came through to talk about Factor. What a jerk! (jk lukego) There's a great video of Slava's Factor talk which he delivered at Google as well. It would be neat if some of the Lisp50 talks made it online but somehow I don't expect to see that happen. I've also been keeping an eye on the btrfs and xorg mailing lists but that's not too relevant really. BTRFS for 2.6.29!

    I've been doing a little bit of reading on Lisp Machines of late and hope to run one in a VM when/if I get an X200. I'd also love to run a copy of Linux 0.01 in QEMU or VirtualBox and maybe ReactOS as well. Nothing like a small, well-understood system right? A nice external keyboard wouldn't hurt either as mine has gotten a bit beaten down over the years and is a PS/2 keyboard so it won't play with the X200. Reddit has some suggestions and I'm rather leaning towards a Das Keyboard but one of the mechanical-switching Cherry units would be fine too. Paul Stamatiou has some interesting suggestions about back to school stuff but I'll mostly stick to his thoughts on study habits and motivation. I think I've got the rest sorted out. His thoughts on living the cloud life and using newsgroups should be useful though.

    That's all for now. I'm off to skateboard and shower while there's still some good sunshine out before hunkering down with more lisp. Did I mention a new version of SBCL came out? Don't forget to vote tomorrow. Keep an eye on things with the help of Peter Seibel and Randall Munroe! won't hurt either. ;-)

    Now we're cooking with gas...

    posted on 2008-10-26 05:23:37

    As a word of warning, my blog may be a bit flooded with good old "linkposts" for the next few days. The biggest reason for that is I had a few old sessionstore.js files laying around that I had saved for one reason or another with good links in them. The other main motivation is that I'll actually refer back to stuff I post and/or link to in here as opposed to losing it forever. So...just thought I'd warn you in advance.

    I've enjoyed trying to pick up cooking a thing or two since living on my own and I'm no master chef but I'm slowly getting a bit better. Perhaps unfortunately, I've been indulging in my darker side lately though and trying to perfect a Fried Chicken Recipe. I'm trying to come up with a good almagation by experimenting with 3 separate recipes:
    One, Two and Three.

    The last recipe (from Google's former chef) is particularly tricky because it's industrial-sized (30 cases of free-range chicken) and uses every spice known to man. I haven't quite gotten around to converting the measurements for our portions and figuring out how much money I'd sink into a spice rack. At least the second time I made chicken was considerably better than the first. I'll take slow but steady progress.

    I think next I'd like to make a Chicken Caprese. Sonya made one that was lovely back when we were dating and I've poked around for some recipes but haven't found anything quite equivalent. I remember she served it over pasta (maybe with a mushroom cream sauce). I'll probably just ask Sonya for her recipe.

    I know that Teresa and I are cooking at her parents for Thanksgiving. We rather foolishly requested the task. :-) Hey, if people pay, we'll cook. At any rate, I'm planning on deviating from Turkey and running with my mother's classic Pork Tenderloin for the main course. At some point on the trip though I'm hoping to try out Pioneer Woman's Chocolate Chip Cookies and Cinnamon Rolls recipes. I already made the Blueberry Muffins and they were lovely. Pretty much everything on her site looks fantastic. Maybe it's because she starts most recipes with a stick or two of butter. *sigh* My death approaches.

    I also have some recipes for Tiropetes (cheese mixture wrappred in filo bread...mmm) and Greek Meatballs that I need to try in the near future. It'd be nice to pick up homemade hummus and spanokopitta as well. Then all I would need to throw a Mediterranean cook-off at my house would be a good kebab recipe. Any pointers?

    I'm also torn between two Pho Ga (Vietnamese Chicken Noodle soup, I swear by it) recipes and interested in grabbing a samosa recipe or two but they're rather abundant. A Thai Peanut Noodle recipe wouldn't hurt either. But I'll probably stick to Saigon Cafe and Rose of India for the time being to be honest. Other than that I just want to cook a Peppercorn New York Strip and bribe Dusty into handing over his French Onion Soup recipe. I tried one that was decent but it didn't quite knock me on my ass like his. I'll keep working on it.

    Also, I now know I'm truly far into Linux nerd territory becuase I don't give a damn about the Gnome and Ubuntu discussions about how to envision a next-generation desktop and be competitive with Apple when it comes to user friendliness. First I had to explain to my Windows friends that I didn't care about playing video games anymore. Then I had to explain to my Mac OS friends that I appreciated control, freedom, tinkerability and programming potential to aesthetics. Now I'll have to explain to the Ubuntu people that I just want a command prompt, a tiling window manager and some package repos. :-)

    Lusting for a Laptop: Lenovo the Liberator?

    posted on 2008-10-24 06:02:36

    Trust your Technolust

    I promised to go into more detail about this yesterday and I meant it. I called my good friend Kris earlier today and filled him on my plans. Hardware purchasing plans, that is, assuming I go back to school. Kris and I are in agreement that purchasing and/or assembling new hardware is one of the most exciting and fun things in the world. It's good old technolust at work. Part of why it's exciting for me is that I only make computer purchases every 4 or 5 years and for the most part I manage to not care about hardware outside that time period.

    Now, I have gotten a $300 laptop off eBay and an LCD in the past two years but that's not what I'm talking about. My personal computer (the desktop) which I hand-built back in the summer before my Freshman year of college is what I'm talking about. Any self-respecting nerd has a primary computer which stands above the rest. That's what I'm talking about. Anytime you think of replacing that you have the freedom to dream. My needs and desires have changed a lot between now and then though.

    Then I wanted a powerful computer that could play games and do anything else I wanted. As much as was possible with the $1,500 or so dollars I had available anyway. That largely meant a desktop. These days I want something lightweight with excellent battery life. Something portable. Something which is great for running Linux and playing with code but future proof as well that could replace my aging desktop at home. Now, as I've mentioned before the desktop appears to be in great shape and is plenty powerful enough but it certainly isn't mobile and you never know when hardware might start failing. The laptop I have now is alright but...well, the wireless only works on unsecured networks in Linux and the battery life tops out at around 45 minutes. Some of that could be worked around but it's less than ideal for the commuting programmer student I'll hopefully be come January.

    I've been aware of this desire for about a year now. The desire to rid myself of the desktop (or at least relegate it to server duties) and get some better mobile hardware. So I've been keeping my eyes on the laptop market. In that time only 8 machines have caught my eye and only 1 is really a reasonable option. The 8 machines I considered were the System76 Darter Ultra, the ZaReason UltraLap SR, the Dell XPS M1330, the Lenovo X200, the Lenovo X300, the Lenovo X301, the Dell Latitude E4200 and the Dell Latitude E4300. What I needed was a laptop which had A) weight under 4 lbs and battery life in excess of 5 hours, B) an Solid State Drive option, C) LED Backlighting (again at least optionally), C) good Linux support (in-kernel graphics, sound and wireless drivers, preferably working suspend/resume), D) a docking option and E) preferably some sort of next-gen AV out option whether HDMI or DisplayPort.

    At first, I forgot I'd need a dock. The Darter, the UltraLap and the XPS M1330 were quick considerations because they have Ubuntu pre-installed and the hardware works brilliantly. They're also quite affordable. The Darter lacks an SSD option but the warrantied isn't voided by buying an aftermarket SSD and installing it and it's otherwise excellent and very cheap. The UltraLap is a bit heavy and short on the battery life but otherwise good. None of them have a docking option though and none of them have HDMI or DisplayPort out.

    Of the remainder, only the Latitudes and the X200 have docking stations. The X300 and X301 have many positive qualities, meet every other requirement (except maybe the HDMI/DisplayPort) and at least the X300 is reasonably affordable compared to the Latitudes. The closer I got to really needing to make a decision though the more I realized the docking station was a real deal breaker. If this thing is going to replace my desktop at home I want to be able to walk in the door, drop it on the dock and get to work with the keyboard, mouse, LCD setup at my desk, no questions asked.

    The Latitudes, for their part, just came out and (consequently) are just too damn expensive. They also don't have any kind of option to ship without an optical drive which (let's be honest) I (and probably you) would only use to install the Operating System (if you do that) and load a few applications. There's a USB CD-ROM in the Oglethorpe computer lab I can use for that. The X200 does have such an option though and it is the X200 I will happily get assuming I'm accepted to SPSU and get some student loans taken out. Besides this tiny little 12 incher weighs 3.5 lbs with the largest battery you can get for it and people have used it unplugged in excess of 8 hours! It's not quite as thing as the Macbook Air but it's close and almost as lightweight (with the extended battery).

    Sexy, Sexy Laptop

    The last issue to work out was whether or not to get a SSD included or upgrade it later. There are 2 reasons for that. One being that the SSD option bumps the price up by $830 on the X200. Pretty drastic, right? Additionally, all the kinks aren't quite worked out of SSD drives yet. There are several people I'm aware of that have been very happy with SSD-based laptops for 6-months to a year now (Jeff Atwood and Stephen O'Grady, I'm looking at ya'll) but a Linux filesystems expert whose opinion I trust, Val Henson, has made some stern comments on the matter. Even Linus Torvalds is happy with his but at the X200's $800+ dollar price point I can wait and upgrade later when the hardware is better and the prices are cheaper. For now, I've at least found out the X200 uses a Samsung drive which OCZ sells rebranded on

    That's it for tonight. Hardware is always exciting and I hope I get to start hacking on an X200 before New Year's. That said, I've got to get some sleep tonight so that I can get back to hacking tomorrow. I made a list of code projects today among other things and there's plenty to do come morning.

    Everything in the World

    posted on 2008-10-12 05:08:07

    I can't believe it's already October. It seems like only yesterday that I decided to take a break from school. For that matter, it seems like only yesterday that I became unemployed...but this was week 3 and a pleasant week it was. I'm continuing to try and buckle down and be more productive in various ways in spite of the fact that I don't really need money for another month and a half or so. So, what's been going on of late?

    The Employment World: My interview with King and Spalding went pretty well. It was very straightforward and none of the technical questions were remotely difficult. By the sound of it, it will also pay more than my last job. That's a good and bad thing. It's good because a decent wage would be nice and my last job wasn't one in my opinion. It's bad because it may be more remedial than my last job. It's a little retroactively upsetting to realize that I'd be paid more here for what sounds like substantially less difficult technical work. We'll see. I also know it'll take a week or two before they let me know whether or not I'm on the list for an in-person interview. Thanks to everyone who asked about it and or wished me well. Devon and Don, I'm looking at ya'll.

    The Education World: My friend Will keeps sending me awesome links to research, papers, sites and articles. I also had a fascinating conversation on schools and education with Oglethorpian Chris Latshaw and was reminded why I love Oglethorpe in the process. Conversations like those made the school worth it. I should get around to writing more about all that next week. Also, (to Will) I'm half-way through Practical Common Lisp and hung up on an element of the chat program. I'm being a sissy about e-mailing you questions. I'll write this one off soon, I promise but I'm just trying to wrap a sane Chat UI around the Spread library. I'll send more details soon. Finally, I've downloaded about 100GB of video lectures about coding and math this week. I spent an afternoon queuing them up and left it running a few days. Remember me complaining about everything being in Real Format? Well, I still won in the end. It wrapped up this afternoon. My apologies to the Internet Archive's Ars Digita mirror. They must feel violated.

    The Linux World: The Linux Kernel version 2.6.27 was released Friday. Development will start on 2.6.28 now. I'm excited about 2.6.28 because I'm hoping btrfs gets pushed into mainline. That could take a little while but it's still fun. Also, this is the first time that release season has come around and I'm really not interested in Ubuntu or Fedora. Arch/RedLinux has me pretty satisfied.

    The Code World: There are some really cool lectures at the S3 conference. I posted about it before because Dan Ingalls presented the Lively Kernel but at this point I'm also really interested in the STEPS project and Ian Piumarta's work. Partially because I'm really jealous of Luke Gorrie, again. And I hope that OLPC XO's really do become more reflective and Lisp Machine like. Beyond that, I stumbled on two web framework tutorials lately, neither of which I have the time to work through really. Sad. One is in Factor and the other is in PLT Scheme. Sexy!!!

    The Friends World: Don Gerz has written a number of things that caught my eye lately. Particularly a piece about Kierkegaard. Lex has also written some provocative questions about Banksy. I hope she'll post her paper when it's done. She's also looking to try Ubuntu in the near future. Go lex! Kris Osterhage simply hasn't been posting enough. ;-)
    Chris Blair wants this election to be over. I'm rather with him on that one.

    That's most of it. I need to write up a cheatsheet for the emacs and slime commands I'm using and then 2 or 3 articles on the stuff about Common Lisp I've been learning. Maybe at the end of it all I'll go back and revise my positions from the Language Adoption and Lisp article. Other than that, I'm trying to get through Season 2 of 30 Rock before Season 3 kicks off at the end of this month and really enjoying the break from employment that I have. Now somebody hire me already! More soon, everyone.

    Planning to Plan

    posted on 2008-10-06 21:53:31

    A lot has been happening lately but I'm keeping my head above water and presently have enough cash to make it through November. Unfortunately, I'm keeping the car though my parents are helping me out by covering car insurance. I'd like to get rid of the car but the timing isn't right quite yet. On the whole things are going pretty well and since I'm unemployed I figured it's time to draft up a new and more accurate schedule so that I can get more done. Gotta keep moving forward.

    More informative entries headed your way soon...

    7:00AM - Wake up. Shower. Food. Site check (google reader/arstechnica/proggit/hn/lwn/etc).
    8:00AM - Reading and writing code (presently Common Lisp).
    11:00AM - Make lunch. Possibly write a blog entry. E-mails.
    Noon - Go for a walk and/or skateboard. Job hunting.
    1:00PM - Reading and writing code (presently Common Lisp).
    5:00PM - Video games/friends. AIM.
    6:00PM - Start making dinner.
    7:00PM - Serve dinner and watch 30 Rock (2 episode limit).
    8:00PM - Final hour of errands (i.e. bills, groceries) and/or code/a lecture.
    9:00PM - Freedom.
    Midnight - Asleep.

    Funcalls and Fun w/Code

    posted on 2008-09-29 17:49:22

    Life: I have a part-time job interview tomorrow and I've gotten by so far through contract work. I'm also really enjoying not having a car. I've picked up some new tunes and am in guitar fingerpicking mode. I should learn how to myself, really. For now though I'm just listening to Kaki King and Andy McKee. Oh, and Calexico too. They're awesome. Moving on...

    Techie stuff: I've pretty much completely switched to Xmonad. It's great and I've polished up my key layout and config for it. There will be some changes in that sense in my next RedLinux release (Fast Amazon download mirror and install guide here). For example, there won't be a Caps Lock key in my Linux. It will just be another Control key. It's not like you use it anyway, right? I'm also starting to finally get comfortable with emacs and slime. And Practical Common Lisp is a really fun and great book to pick up lisp. More on all that later. Here are some fun code snippets:

    (dotimes (x 30)
    (dotimes (y 30)
    (format t "~3d" (* (1+ x) (1+ y))))
    (format t "~%"))

    (do ((n 0 (1+ n))
    (cur 0 next)
    (next 1 (+ cur next)))
    ((= 10 n) cur))

    Pop quiz: What do these two Common Lisp snippets do?
    (reverse '(The first prints out a multiplication table up to 30x30. The second computes the 11th fibonacci number.))

    And the first macro:

    (defmacro do-primes ((binder lbound ubound) &rest expr)
    `(do ((,binder (next-prime ,lbound) (next-prime (1+ ,binder))))
    ((> ,binder ,ubound))

    Sure it's useless but it makes sense and points the way to some great possiblities. Additionally, destructured lists like so are grand. That's enough lisp to bug you folks with for one day. Deuces.

    On Precarity

    posted on 2008-09-23 00:36:54

    A number of my friends have started blogs recently and I'm pretty happy about it. Now I just need to talk Burke and Will into starting them. Anyway, I'll link to those guys later. This isn't about that. This is about being broke.

    In addition to being jobless, I'm now carless. That car was a piece though, if sold will probably be sold at a loss and over 4 thousand dollars have been spent on it's maintenance as of tomorrow...since January. I'm normally pretty polite on here but FUCK THAT CAR.

    That said, I think being broke has many lessons and interesting prospects and, to be honest, I can't say I'm sad about losing the car or my former job. Both are things I've been meaning to do for a while. I've figured out that I can now live (sans car+job) on $800 a month. I just need a source of income. Ha. Anyway, I have some interesting opportunities to explore in front of me and a short period of time to seize them. All the same, if you know of anyone needing I.T. help for around $20/hr or if there's a good way to work from home let me know. With all that in mind, I give you Sterling Hayden:
    "What does a man need—really need? A few pounds of food each day, heat and shelter, six feet to lie down in—and some form of working activity that will yield a sense of accomplishment. That’s all—in the material sense. And we know it. But we are brainwashed by our economic system until we end up beneath a pyramid of time payments, mortgages, preposterous gadgetry, playthings that divert our attention from the sheer idiocy of the charade.

    The years thunder by. The dreams of youth grow dim where they lie caked in dust on the shelves of patience. Before we know it, the tomb is sealed.

    Where, then, lies the answer? In choice. Which shall it be: bankruptcy of purse or bankruptcy of life?”

    Damn right. Oh, one more relevant, and lovely, quote but this time from the ever quotable Ben Grad:
    "I spent the summer looking for a job, and now that I have one I am mainly angry all the time. Or at least all the time I'm in the office."

    Think like Sterling Hayden, treat your lives like a challenging voyage (otherwise they won't be very interesting) and build them on a firm foundation of financial unrest.

    Free Time, Free Agent

    posted on 2008-09-18 15:22:50

    I was let go this morning. I have $800 to my name. Oh, and rent's coming up.

    I'm also quite excited though. Things really weren't too great between my former employer and I. It just wasn't a good fit though there are many positive things to be said about the company, the workplace and the people there. I'm excited about future opportunities and, naturally, hope that I get to do work with Linux. :-)

    I'll be spending most of the rest of the day preparing for that awesome Linux Conference I keep mentioning that's going down this Saturday. If you know of anyone that needs an I.T. worker or has some contract work for me feel free to drop me a line though. Time to keep my nose to the grindstone.

    Quick Edit: Apparently, someone has the same idea as me about how to do Free Educational Content Distribution. Go Stanford! I can't say I'm a huge fan of their programs approach (start with a Pascal-ish language, move towards Java, then on to C++ and a few others; maybe it's the ordering I disagree with...) but I expect the quality and coverage to be excellent. That said, they're distributing via Youtube, iTunes, something called Vyew and torrents for both MP4s and WMVs. Well done, Stanford. Well done!

    Odds and Events

    posted on 2008-09-17 14:36:11

    Good morning. Plenty has happened since yesterday. Let's recap.

    Nick Ali has written up some details about Atlanta Linux Fest in his blog. It's this Saturday on Northside Pkwy from 11am-6pm, there's pizza for $5 and I'll have my laptop and my ArchLinux derivative in case you want to see it along with download links and (if I can get some blank CDs) hard copies. You should come! I'll make it fun. I promise. Don't you all wonder why I'm so crazy about this shit sometimes? You'll know.

    I was wondering where I'd host the ISOs for my ArchLinux derivative. It looks like that problem is solved. I give you Badongo. They have a 700mb upload limit and files stay up until they're inactive for 90 days if you're a free member. That's pretty excellent. Hopefully, I'll put out releases every three months or so though they'll mostly be package updates in all likelihood. At some point in the future (circa me getting a new laptop) I plan to do an Arch64-based RedLinux build and get images for it online. Now if only I can get the RedLinux portion of my site up by Saturday...

    In bad tech news, I may have to get a computer with iTunes going just for iTunes U. I don't know if that content is DRM'd and I suspect I could strip it out anyway. I guess I'm still evaluating my options for stealing an education.

    In neat tech news, I'm generally more excited than the stuff Amazon is doing with AWS than the stuff Google is doing these days technically. Let it never be said that I don't think the Floating Data Center idea is pretty kick ass though.

    Final tech note, Wordpress optimization seems to be about two things. Installing WP-Cache or something similar and database tuning. I mean, really, it's about reducing the number of times that PHP calls or database accesses need to occur but I should learn more about databases. Later on that is, when I'm thinking about building real sites.

    Note to Benchwarmers Clairmont: I know you have a 21 and over age limit set. I'm 22. My girlfriend and my buddy Kris aren't. We won your trivia night last week and things were cool with us then. We showed up this week and someone ID'd the whole table and asked us to leave. Here's a hint: If we're not planning on ordering alcohol and just want to play trivia and eat food you're losing business by asking us to leave. It's not like we haven't been there dozens of times before. Just a thought.

    I'm looking at various options for housing next year. Our lease expires in May and I'm not sure what I'll be up to or where I'll be working but I suspect I'll want to live in roughly the same area I'm in now. I don't know that I'd want to be in the same house. The rate is good, the location is good, the home itself is really pretty decent. That said, managing 5 people in a house is a little...bleh. Teresa and I are both fond of the idea of Post Oglethorpe as a lot of our friends are there and it's close to school for her. I'm not sure how I feel about the prices though. I'd certainly want 3 people in a 2 bedroom since there are cheaper options than Post Oglethorpe available. Post Oglethorpe was sold just this August though. Maybe new management will bring changes. Time will tell.

    The Thing At The Bottom

    posted on 2008-09-16 19:01:55

    I'm finally getting to that point where I'm really curious about math. To be sure, I'd really like to beef up on my high school math (Algebra, Geometry, Trigonometry, Calculus) as I haven't done any in years! That said, I'm really more curious about Set Theory and Abstract Algebra and at least a little interested in Linear Algebra. Topology and Number Theory can wait.

    What I really think I'm curious about though are Algebraic Structures. There's a great FAQ on them here and the Wikipedia entry also looks pretty thorough. Once I read those maybe I can look into Type Theory and Formal Systems and the relations between them. That said, I'm sure I won't understand anything about Lie Algebra Cohomology or Category Theory any time soon.

    At least there are good video lectures to be had. Math, Algorithms and Data Structures here I come?

    Open Content, Mass Storage

    posted on 2008-09-16 17:53:42

    I think it's generally agreed upon that free video lectures are cool. I'm not saying that everyone wants to watch them but the fact that it's possible to download M.I.T. and Berkeley lectures, course readings and assignments most people seem to view as positive perhaps because many of us will never attend those schools.

    There is tons of content out there and it's often difficult to find it all. There are a few sources I've found that help in sorting through everything but my sources tend to lead towards what suits my studies (computer science) best. That would be Peteris Krumins blog and Lecturefox. There are plenty of Google Techtalks and Authors@Google videos that are good as well. Beyond that, I occasionally find one off blog posts that may link to content I wasn't aware of. If anyone knows of any ACM conferences similar to the Reflections conference at UIUC where videos are released please post in the comments.

    Unfortunately, most to all of these sources have a curious notion of "sharing" or online distribution. There are one or two problems that all the content they've posted online [under the egalitarian notion of global learning] suffers from. The first problem being that it's streaming content which is difficult to download (generally .flv or .rm format). The second problem being that if there is a download option for the content it's through a non-cross platform or DRM-encumbered client (such as iTunes).

    Thankfully, Mplayer exists. Mplayer is my video player/encoder of choice (though VLC is quite good, too). And wouldn't you know it? It provides support for watching, ripping and converting those frustrating rm streams in addition to everything else. Flash videos are easy enough to rip through existing Firefox Extensions.

    To make things even more exciting, there's no reason anyone can't mirror all the educational content out there. Except for legality of course, I can't speak to those details and I expect most of this content is under separate licenses. I do wonder if the Creative Commons No Derivative Works clause includes transcoding though. I suspect it doesn't based on the definition of derivative work. But to return to my original point about mirroring, storage is cheap now. Even NAS setups though they still run a good deal more than regular storage. But c'mon, it's a fileserver in a box. You knew that though, right? When you can get a 320GB PS3 or Notebook drive for $100, a 500GB external for $100 and a 1TB internal drive for $140 you know life is good. Not that I'm not excited about the day when the same will be possible with SSDs but don't worry, that day is coming.

    Also, to the folks who filmed the Lively Kernel Talk from last night as well as those filming technical talks generally: If most of what the presenter/speaker is discussing concerns what's happening on the computer screen, you should be filming the computer screen. It's a handy rule.

    Now, if you're not a Computer nerd or Software Freedom Advocate you may wonder why any of this would bother anyone. After all, you can still stream the videos with RealPlayer or watch them via Youtube in any event, right? Not quite, though I'll admit my problem is mostly with the egalitarian notions of education that I perceived (or imagined) to underpin this whole OpenCourseware initiative. If your stated goal is to make a set of educational resources available to as much of the world as possible via the internet then you're effectively after every demographic. There's not a section of the market you can afford to alienate.

    In many parts of the world, I expect it's a real pain to find the time to sit in front of a computer and stream a file. Particularly in places where internet connections are scarce and are not broadband where they are available. Particularly if the file is a one or two hour lecture that you might want to rewind or pause at various points. If a guy can't watch the file in (connected) India, how is it free learning throughout the connected world? Additionally, if someone wants to watch video lectures when it suits their schedule (say at the gym or on the train) why would you prevent them from doing so unless they had a specific brand of portable video player?

    If you're trying to promote free educational content then the first step you can take to responsibly pursue your goal is to choose the most widely viewable formats and lend your content to the widest possible types of use (including offline use but perhaps excluding commercial profit). Poor choices have been made in both respects. Flash Player historically wasn't available for x86_64 based Linux platforms though that has been recently remedied and iTunes U isn't available on Linux at all. More seriously, RM and FLV videos are difficult to download and use portably. Conversion to another format tends to be necessary as well.

    Somewhat relatedly, I'd like to suggest that the masses of Open Content out there could use a good marketing push. Open Courseware is as underused as music, images and video in the Creative Commons. Someone really needs to create a service which finds Open Content and recommends or reviews it based upon the more familiar proprietary content in Music, Film and TV that consumers are fans of. Just giving it away isn't enough.

    Less fun, More funk

    posted on 2008-09-15 17:21:18

    9 months into "the real world" I'm a bit perplexed. With all this talk of industry and full-time jobs, I for some reason expected that "the real world" would expect you to be industrious. Apparently, I am mistaken and while you'd want to end up at a job that challenges, drives and energizes you it is by no means a necessity. I've been thinking about this a lot and at some point will write more and possibly even wrap up that emerging philosophy series of posts. Particularly because I've been having lots of discussions that concern economics and/or politics lately and there seem to be some tenuous strands between those things. I go back and forth on what we need to do about the majority of people that accept and have no issue with the status quo, or at least lack the drive, energy or determination to get outside, above or beyond it. I would say that's probably 90% of us and am pretty sure I am in that category myself at present. It certainly seems unreasonable to demand the peak of human achievement from everyone and highly questionable whether people would universally like being at the peak of their potential achievement, or near it. I'll try to elaborate on those thoughts enough for them to be coherent in the near future.

    Found some good reading\watching this morning though I sometimes wonder when\how\if I'll get to all of it. One good thing is the S3 2008 conference (unrelated to Amazon's S3 architecture ) which includes video footage of a presentation on the Lively Kernel . That's pretty cool stuff and I hope I get a chance to watch it tonight. Also there was a paper co-authored by Pascal Costanza on Reflection in Programming Languages , specifically Lisp. I've read the first few pages and though some of it is over my head I think I can stumble my way through it. I really am hoping to get around to reading this paper by David Wiley titled Online Self-Organizing Social Systems: The Decentralized Future of Online Learning . Will referred it to me and it looks quite good. I'm even tempted to read some Dijkstra .

    I'm interested in getting some of the piano work of Ravel, Satie, and Debussy. I have Debussy's Children's Corner and like that. Then again, maybe I just need more Masashi Hamauzu.

    A final thought: Why are 90% of the good technical lectures on the web in RM format which I must tediously rip to download an offline copy? No, I do not trust your site to stay up with the content I want forever. Even if you're google or wikipedia. Thanks, Peter.

    Just for Fun

    posted on 2008-09-10 20:05:53

    There's so much I've been meaning to post about lately and so much that's been going on. It's very hard to keep up with it all. This will consequently seem a bit scattered but it's largely divided into Gifts, Linux Stuff (which continues to bring me perpetual joy), programming language stuff and hardware stuff.

    Redlinux: I've been working on my own ArchLinux Derivative over the past few months and mentioned it a bit here. I'm hoping to get an ISO for an installable LiveCD of it online by the end of September with a sort of beginner's guide and homepage for it set up here. There won't be a forum or anything initially. Just e-mail me for feedback/help. We'll see how that goes. I'm calling it Redlinux. Also, I put all the default *rc files and other important config files (including new user documentation and the changelog) in a new folder on the site. It's at Redlinux is currently at version v.07. The initial online release will incur an automatic version bump to the nearest .x0 rounding up.

    Logos: I'm looking to get a sort of logo for the site. I'm not sure where to go with this. I also need a separate logo for Redlinux. Any ideas are welcome. I have one for a site logo. It's a Unix Shebang combined with a lowercase Lambda. Like so: #!λ. I think it's pretty cool but it'd take some work to make it prettier. The Inconsolata font would be a good start. I don't think they have a lowercase lambda symbol though. :-(, Sad Panda. I'm thinking we call it the *Lambdabang*. Eh, eh?

    Gifts: I've been thinking about money and my actual needs and wants a good deal lately. Part of that comes from having to constantly figure out finances due to being young and broke in a struggling economy. The other part is me thinking about the few material things I enjoy and which I'd like to prioritize. Good ideas for gifts for me that I hadn't previously considered are Internet Hosting (and you know I'll want pretty serious control over the box. Maybe linode or lylix.), a subscription to LWN (Linux Weekly News) which I've been enjoying a lot lately (the back issues are free) and various books from the amazon wishlist, as always. Cooking supplies might also be good but I'm probably best off picking those myself. Homemade good food. It's expensive, but fun!

    Hardware: I've been thinking about buying a new computer for about a year to a year and a half now. I recently moved into the "strongly considering it/planning it" phase and started saving. This box would probably end up replacing my aging homemade beast of a "main desktop" which would in all likelihood become my server box. I decided fairly early on I wanted the new system to be a laptop because I'd really like to be able to go portable at any time and not be at a loss for processin power. Plus, that'll make it easy for me to move around lifestyle and home-wise which seems reasonable at the moment. To be honest, my needs are essentially met by my current equipment and the extra processing power wouldn't go to use too much as I don't game anymore. The Thinkpad A31 (present laptop) hates secure wireless networks for some reason and I wasn't able to wrestle it into submission. A larger concern would be hardware dying in the Desktop. It's still going strong but we're passing the 4-year mark and you can never be too sure. Besides, I'd love to catch some of the new emerging tech like Multicore processors, new wireless standards (Wi-Max and draft-n, I'm looking at you), and Solid State Drives! I'd also love to be able to get something based on AMD's upcoming Fusion processors but that's still a year out and I'm not sure I'll wait that long. I like the direction they've gone with the Athlon series and feel that they're more motivated than Intel to innovate. Always have. They're still not as fantastic about supporting Open Source as Intel though and that's beginning to become a deal breaker for me. Especially considering that their Shrike mobile platform may use broadcom wifi or something equally messy where Linux is concerned. I know I want something 12 or 13", preferably 13, with a minimum of 4 hours of battery life, a dual-core processor and a 60GB SSD. Ideally, it'll be Shrike-based (that's waiting a year), have HDMI or Displayport out with good Linux support and draft-n or Wi-Max. Vendorwise, I'm torn between IBM/Lenovo and Dell. I've had good experiences with Thinkpads (IBM, now Lenovo) and like them but they're not the best Open Source company. Dell has been making a real push in that direction of late and have some very competitive looking offerings which I could even buy with Ubuntu pre-installed. My final three is presently a tie between the Lenovo X300, the Dell XPS M1330 and the Dell Latitude E4300. I'll be coming back to re-evaluate when I've got about $1,500 stashed away. :-)

    Languages: In the near future, I'd like to get a post up revising some of my former opinions on Programming Languages. Particularly of the Scheme family. Some of my earlier ramblings now seem quite misguided. Plus I've been playing around with Common Lisp more and though I'm not quite a fan of the funcall syntax I'm starting to grok some of the reasoning for multiple namespaces. My experiences with PLaneT vs. ASDF-Install bear that out. *shivers* Collisions are ugly.

    Linux Tip: Ever been frustrated trying to transfer directories with spaces in them via scp? I have. There are one or two things that seem like they should work but don't. I've been too lazy to look up how to do it until today. Here's how:
    scp -r "user@host:/path/to/directory\ withspace/" .
    Simple, right? Duh.

    I was going to mention how Linux Kernel Hackers make me happy and throw a few quotes from the mailing lists on here but I think this is more than enough for now. Later, folks.

    An Update

    posted on 2008-09-05 20:07:29

    Wow. So I started a post on Friday (I think, maybe Tuesday) but I must not have saved or finished it. It's not sitting in my drafts folder. Anyway, I've been a bit up and down lately but I'm really glad Fall is starting. It may be my favorite season. I dig the cooler weather. I got my wisdom teeth out yesterday morning and that went smoother than I expected. I miss chewing food but other than that have no real complaints. I haven't needed much of the hydrocodone (basically vicodin) they gave me and haven't been sleepy or incoherent much either. In fact, I've been up since 8am today and really enjoyed catching up on e-mails and little things like that. Ah, vacations.

    Newsflash: Cooking is really fun. I've cooked a little ever since moving into the house and meant to move on to more advanced dishes but really stuck to basics (pasta, pizzas, burgers + dogs, sauteed chicken) for the first month or two. Recently though I found some food blogs and have been trying to cook real meals. I started this monday with made from scratch blueberry muffins and filet mignon and mashed potatoes for dinner. It was wicked good. In the upcoming weeks I'm hoping to pick up fried chicken and empanadas. Tonight I may just try to figure out french onion soup. :-)

    So, the next two months are huge. September there are three major Linux Conferences (X Developers Summit, Linux Plumbers Conference and the Kernel Development Summit) going on and a fourth in Atlanta. The one in Atlanta (Atlanta Linux Fest 2008) is on Saturday, September the 20th and I couldn't be more excited. It's from 11am-6pm over on Northside Pkwy and I signed up as soon as I heard about it. Plus I just got my wisdom teeth out. October there are lots of Linux Distribution releases (particularly Ubuntu and Fedora) and a number of awesome games coming out for PS3 including LittleBigPlanet, Fallout 3 and Bioshock. I'd really like to get the custom ArchLinux derivative I've developed over the summer out by October, too. Even if that just means putting the ISO on megauploads and creating a page for it on my site.

    Beyond that, I'm just trying to get back into programming. I haven't moved as quickly as I'd like but I am having fun. I'm really tempted to try to learn about Factor, a concatenative language (like Forth) developed by Slava Pestov. It looks really cool but I can't quite afford to get sidetracked at the moment. If you're interested in what it's like trying to write a modern programming language though they've got a great blog and Slava has made some great posts on the Compiler Architecture lately. My big programming focus at the moment though is trying to do some hacking for a startup in NYC. I got contacted by one of their developers and think I can learn a lot from them though how much I'll be able to help is still up for debate. At the moment, I'm mostly writing glue code for Common Lisp libraries but I'm really enjoying it. It's also made me realize just how crucial libraries and the way they're handled by a language is. I can't believe they managed to leave module systems out of the RnRS for so long! I can also see why Common Lisp opted for multiple namespaces but I'm still not sure I like it. And I definitely just don't like the syntax for funtion calls after being used to Scheme. Ah, well. There is no perfect language.

    Feel free to swing by the house if you want to help me learn to cook or see me looking like a chipmunk.

    Random Thoughts

    posted on 2008-08-25 14:14:44

    It's already Fall semester. How messed up is that? I haven't learned near as much as I was hoping to by now. That said, I'm no longer as much of an idiot when it comes to programming. I'm just unlearned. Well, maybe that's what I was before. At any rate, some good fortune has come my way in that department. I'm helping out with a very cool startup related to cloud computing and getting mentored by a guy doing the sort of work I'd be interested in. He also happens to share some of my views on society and education.

    I've had lots of financial thoughts lately. It's funny when you realize that you can count on one hand the material things that make you happy and count on the other hand your material needs. Afterwards you should figure out what it really costs you to happily live (barring dependents) and figure out just how money jobs could consequently sustain you that way. Take that, put it in your pipe and smoke it.

    Two parting thoughts:

    One, this hackernews discussion on the article Deschooling Society is excellent. Someone should make a Facebook note about it and get some OU kids in on the discussion.

    Two, Red Hat and Fedora's servers got hacked recently. The situation was resolved before any nastiness could filter downstream. CentOS servers were unaffected though and this makes me wonder if Fedora didn't share infrastructure whether they would've been hacked as well. What's the thought here? Well, it makes me think there's less incentive to attack community distributions and, similarly, community products. I could certainly be wrong. Your thoughts?

    One Week Worth of Tricks

    posted on 2008-08-03 17:18:28

    In the course of migrating my webserver to a new box this week I learned two useful tricks. They may or may not prove useful for anybody else but I think they're fun so here we go.

    One, SSH Tunnels. SSH Tunnels are useful if you ever need to surf the web securely and you're on public or untrusted wireless (say at Starbucks) or when a website is blocked by a firewall and you need to access it.

    SSH Tunnels are actually quite easy. Assuming you've got ssh setup on the remote server and an account at that server all you have to do is run "ssh -D 8080". Once you're logged in, open the Preferences for your web browser. This example will use Firefox 3. Go to Edit->Preferences, then the Advanced section, the Network tab and click Settings. Click the "Manual Proxy Configuration" radio button and under SOCKS Host put "localhost" and set the port to 8080. That's it! Surf away.

    Two, resetting your wordpress admin account password. This is useful if you're such an idiot that you forget to change the random password that's initially on the account after you install wordpress. It assumes you have an ssh account to the server hosting the blog as well as access to the database tables for the blog. SSH into the server and run "echo -n your-new-password | md5sum". Copy that down and hang on to it. Then run "mysql -u user-with-access -p". Then run the following commands:

    USE wordpress-database-name;
    UPDATE wp_users SET user_pass="md5-you-wrote-down"
    WHERE user_login="admin";

    Check to make sure it went through with "SELECT user_pass FROM wp_users;" then type "exit".

    Yep. It's good stuff. That's all I've got for now. I'm hoping to post up some mostly finished SICP sections in the next few days. If I'm lucky I'll even write something intelligent about education.

    Damn Servers...

    posted on 2008-08-01 12:59:51

    It's been a good while since I posted last. After meaning to do it for months, I've finally migrated to a new web server. I'm self-hosting so I have no one to yell at about everything taking so long but myself. At any rate, I've migrated my Desktop, Server and Laptop from Ubuntu Linux to the custom Arch Linux build I've been working on lately. Some old links in old posts are broken at the moment but I'm hoping to repair them in the coming weeks.

    For now, I'm just glad this thing is back up and functioning after the week of chaos. I'm still committing code as regularly as I can and for the first time in a long time Redline Radio is live again as well. Let me know if you're interested in getting access. We will now return to the regular posting schedule. :-)

    Me, lately

    posted on 2008-07-14 17:17:34

    It's been pretty hard to maintain a positive spirit and spin on things lately. Times are hard economically, my financial margins are narrow to non-existent and new jobs are hard to find. I've also been trying to contact some people at Northeastern to look into going to school there (mostly because it's so hard to find the time\energy for self-study at present) but the trail dead-ended. I've been unable to reach Olin Shivers (who seems pretty awesome [best acknowledgments ever], incidentally) so that's all inconclusive. Really, I'm looking to see how much work it would be to get accepted. I'm fairly enamored with their program and faculty and for one reason or another Boston sounds lovely.

    I'm still hacking at SICP when I have the energy/time but it's been really hard lately. I believe that I'm on the right path because knowing more about programming is something I have wanted for a long time but it's hard to stay the course or to stay emotionally charged up about the course. Part of that is because, as the Emerging Philosophy posts suggest, the problems I'm really interested in solving are not Computer Science problems. They're social problems. The oft-heard first project suggestion for hackers to "scratch an itch" or "fill a need" falls flat for me. The computer does everything I want it to do. I'm not looking for it to do more.

    I am making progress with SICP, I'm just behind schedule. I'm hung up on the last 4 problems (2.13-2.16) in Chapter 2.1 but I recently started plowing ahead on Chapter 2.2 to get some momentum again and am about a third of the way through it. If anyone has advice or feels like working through them with me feel free to contact me via blog, IM, e-mail, etc.

    Top 5 Hackers

    posted on 2008-07-14 16:18:53

    I got sort of preoccupied this weekend with the question of who my Top 5 Hackers are. They're not necessarily supposed to be the world's best hackers. Rather, they're programmers who I respect both technically and individually. There are plenty of people doing great work on interesting things and that wasn't the primary motivation behind this list. I'm not going to go too deeply into my reasoning or try to order the list in any particular way. I'll just lay it on you. I'm sure it will change some over time.

    Aaron Swartz
    John Carmack
    Justin Frankel
    Linus Torvalds
    Luke Gorrie

    Lingering Promises

    posted on 2008-06-30 03:34:06

    So, where the hell have I been? I mean, I haven't posted in almost two weeks? What's worse is that I've promised posts on education, governance, my attempt to nail down my own philosophical views and more programming stuff. All of them are at different stages of completion.

    The fact that nothing has made it's way up here makes me feel lazy though and the fact is I've been working quite hard but on different things. As I've noted here, the real world does suck it out of you. Part of that is that my job of late has drained me rather than energized me. I'm looking to rectify that. Thankfully the 4th of July is coming up. Those long weekends are always nice.

    Things are about the same at the house as they have been. I feel like I'm learning a decent amount by being on my own though and I'm constantly reminded of how wonderful the people in my life are and how much I love them. Hopefully, I'll get more time to work hard, be productive and be incredible in my own right.

    Also, Wall-e is fantastic and one of the best movies I've seen in a long time. It's just beautiful so go see it. Remember to love.

    Seeking a Net Win

    posted on 2008-06-19 03:36:05

    Things have been really crazy lately. I've been trying to do so much and it really is hard. The real world finds ways to eat most of the time you have. It makes you small. It's gotten to the point where it's hard to find time to do anything other than maintain a few precious friendships and keep the bills paid and the house clean.

    That said, I'm trying to push forward. I've gotten in touch with some professors at Northeastern University where I'd very much like to study Computer Science in Fall of 2010, ideally. I also wrote code today for the first time in three weeks. It's hard to find the time, man!

    More immediately I'm looking for a new job and have an interview tomorrow morning. For a variety of reasons I'm just not pleased with my current job and I think I can grow more and be happier elsewhere. Cross your fingers for me.

    Finally, Jonathan Zittrain was on The Colbert Report tonight talking about his book, The Future of the Internet and How to Stop It. I heard about it in advance and was very excited to see him speak. Unfortunately, I feel that he really botched the interview and I got into a long discussion with Ben about it. I'm pretty disappointed because there are important political issues about technology but they're rarely communicated to the public coherently and concisely and I'm no good at it myself.

    I'll probably try to think of a good way to present it and give a fuller update in the next few days though. If I don't get bogged down with the promised education post or the emerging philosophy post or the big easy posts that is. Or hell, SICP 2.1. Yeah, right.

    The Obligatory New House Post

    posted on 2008-06-04 19:36:53

    Well, I've been talking about doing this for a while but I'm just now getting the time to sit down and do it. For reasons of security, this will not be a full photo tour of the house. Only a few photos of the interior and exterior. If you want to know where I live (the address to drop by or what have you), do feel free to ask. Particularly, It's easier to get me to tell you if I already know you somehow.

    So, living in the house is really nice. I like my roommates, I like the location, I like the price, I like the Static IP from my ISP that keeps this website up. I'm in the basement of the house and I think that's awesome. One reason is that it stays pretty cold down there and I like it relatively cold. Another is that the downstairs is just a bedroom, bathroom, and a combination kitchen/living room with a washer/dryer room off to the side. I think of it almost like a studio apartment separate from the upstairs and that's perfect for me. We also have newer appliances than the upstairs folks. The biggest problem is just keeping it clean, mostly because my roommate Ben has some...deficiencies when it comes to taking care of himself (cooking + cleaning, frankly). I knew that from rooming with him at Oglethorpe though so it hasn't been a surprise. Any messiness in these photos beyond the floors needing to be mopped I attribute to him. :-)

    Beyond here there be dragons...or something like that. Click for the photo tour.

    Downtime Considered Harmful

    posted on 2008-05-28 01:25:32

    At long last, the site is live again. Clearly the downtime ended up being a little longer than expected. This was caused by a few things.

    One thing was that there were not 3 prong outlets where the server needed to go. This hosting facility (house) is a little old and the only places the DSL line runs have 2 prong outlets. So that slowed me down a bit.

    Secondly, there are 2 network cards on the server (one integrated in the mobo, the other's PCI). Linux was confusing the two. I could've fixed that Saturday evening, I grant you. I had previous engagements and better things to do the last few days though.

    Finally, Bellsouth seems to be suffering more DNS outages over the last few days which caused a bit of chaos here. Anyone who has experienced this or has any questions about it feel free to ask me. If you are having DNS issues, I advise setting your secondary DNS to one of the OpenDNS servers or getting one of your friends to do so.

    EDIT: This was originally written on Tuesday the 27th. Further delays were experienced due to internal political issues in the house but all is now resolved and the site has been up since last night. A blog entry with photos of the house is planned for later today.

    Site Downtime

    posted on 2008-05-24 20:17:38

    Ladies and Gents, will be down from 4:15pm EST - ~5:30pm to move the server to a new hosting facility (i.e. house).

    Thanks for your understanding. I look forward to filling your RSS feed again soon.


    Adulthood and Academics

    posted on 2008-05-14 03:39:37

    Admittedly, the title of this post is a misnomer. I'm no adult yet. I am trying my damnedest to keep this house running smoothly though. As of today I think we're up on all the utilities and I've got a Static IP here with AT&T so I can move my server at some point. Work's been going well and I'm taking MARTA in to simplify my life a bit. I'm cooking (if you can call it that) and keeping the dishes done and the house clean with regularity. I'd say I've almost settled into a groove. I say almost because the people actually staying in the house won't stabilize until after May 25th. Heck, even I'm gone from the 17th to the 24th to house sit for my parents. For the most part though I'm enjoying myself.

    Additionally,  I'm way behind on programming. I know. I've had a lot going on but my progress the last month or two is still just shameful. I've started HTDP to get the juices flowing again and am already through Section 03. It's definitely more straightforward than SICP if less revelatory. I'm considering going ahead and trying to blow through HTDP completely over the next month or two. Then I could circle back to SICP and hopefully be better prepared. I haven't decided on anything yet other than tidying up the presently unadorned answers to SICP 1.3 and then posting what I've got from HTDP so far. I am more than half-way through SICP 2.1 but I'm wondering if it makes more sense to knock out HTDP considering the difference in pace between the books. I'll let you know as I move forward. I'm hoping to get a post up with some pictures of my new digs in the next week or so. Feel free to drop me a line if you'd like to swing by.

    Moved In

    posted on 2008-05-04 22:10:57

    Things might be a bit quiet from me for a few days. I've moved into my new house on Windsor Pkwy and am really enjoying it. We have warm water and electricity but no internet until May 13th. It's tough but free Wi-Fi from my Alma Mater isn't far away. I'll try to post some pictures up later this week and give you all "the tour". In the meantime I've got to cook dinner and work on a presentation about the AV Equipment at the Office. It's a glamorous IT life, I tell ya. Feel free to call me for directions and visit!

    Update: So, apparently the landowner's DSL still hasn't been cut off. The internet is among the utilities that are up in the air at present. Everything should be straightened out soon.

    Moving Out

    posted on 2008-04-28 13:44:32

    Briefly, I just wanted to mention for those that don't know that I'm moving into a new house later this week. I'll be living with 4 of my friends (Ben, Teresa, Lizzi, and Amy) less than a mile from Oglethorpe University and I'm quite excited about it. Ben and I are sharing a bedroom in the basement and the girls are upstairs. I'll also get to take Marta in to work. Take that gas prices! Anyway, organizing for the move and dealing with taxes has deterred my programming progress somewhat. Of course, my own laziness is always a factor but I promise there will be more code soon.

    Other than that I was wondering if anyone was subscribed to this blog via feed (RSS or Atom) and if so what Feed Reader they used (Google Reader, RSSOwl, etc)? What's the story people?

    Leaving College to Leverage Compulsion

    posted on 2008-03-28 20:15:31

    I realized in the shower this morning that while I’ve made a few statements about my decision to leave college I haven’t really given much explanation. Moreover, I haven’t explained a tremendous amount about my views on education or the modern system of education. Those views I’ll hold for a later post. This one will be short and sweet.

    I spent 3 and a half wonderful years at Oglethorpe University and half a year at Southern Polytechnic State University before deciding to leave formal education for a while. Before I state why I left, I think it’s important to note what I feel I benefited from while I was there.
    1. An incredible community of mentors and peers to learn from (Oglethorpe), particularly social skills my Emo (ahem, Freshman) year.
    2. A library filled with interesting books with ideas waiting to be digested (Oglethorpe, I only started using it Sophomore year).
    3. A forced exposure to subjects I otherwise wouldn’t have studied (essentially the CORE program, again, Oglethorpe).
    4. Time to figure some things out for myself (Oglethorpe and SPSU). And yes, I realize this one is pretty vague.

    So, why did I leave? Well, there are a number of reasons but three stand out as prominent.

    1. Burnout. I was miserable with school post-Sophomore year. I liked college but I couldn’t stand school. I felt like it was keeping me from learning all the things I really wanted to learn. There are plenty of books I knew I wanted to read, think about, and work my way through but I couldn’t due to prior academic obligations. I was unmotivated when it comes to those obligations so I shirked them in favor of personal study. The implication is that I knew I was getting an arbitrary education. Pursuing the paper for the paper, so to speak. And that didn’t sit well with me, both because it was preventing my personal education and not supporting my future in a direct fashion. I essentially avoided working both on schoolwork and my work to try to force myself towards a degree while hating the degree because I didn’t plan to use it. I felt like a failure most days. That alone was reason enough to leave. Or, in the words of Mark Twain, “I never let school get in the way of my education.”

    2. Once I came to realize I wanted to study computer science and programming (they are arguably different) I realized there were very few schools that had the sort of program of study I was looking for. Of those that had something adequate, fewer would let me learn it the way I wanted to (at a moderate pace for fun as opposed to Ivy League sink or swim). Finally, I could get in to probably none of those schools ruling out the option of rigorous formal education. Now it would seem that I have a contradiction on my hands. I don’t want the hardship of Ivy League or heavy workload schools but I want the rigorous education. I believe that by slowing the pace you can keep the fun and rigor without the sink or swim aspect of the experience. The important thing is good material, a good approach to the material, and good supplementary material (including peers) to learn and reinforce from. The community of learning is significant but I don’t believe formal education is necessary for that.

    3. I had enough of an idea for a course of study to actually do it. That is, I knew well enough what texts were good texts to study, there were lots of online lectures and materials, and programming is very much a learn by doing thing. Some of the best in the field have no formal training and it’s a field that’s historically unusually receptive to alternative training and heretical types. Paul Graham, I must admit, had something to do with this as well. His essays led me to remember that I really would love to try being an entrepreneur at some point. Additionally, they reminded me that if I ever do end up a decent programmer I’ll probably want to work somewhere obscure that would give me maximum freedom in how and what I coded (languages, frameworks, etc etc) as opposed to at a Megacorp. Agile coding with five buddies? *shrug* Sounds good. “What are we going to make?” Working with a ton of people on some accounting or CRM program in Java? Shoot me now, please. To do what I wanted to do, I really just needed to draft a syllabus and get going. So I did.

    But I think the truth is really that I left college to leverage my compulsion to learn. I was compelled to learn these things, to read books on Programming, IP Law, Peer Production, Poetry, and plenty of other things and I’m terrible at stopping myself the way I needed to in formal education. So why not leave formal education for a bit? It seemed like the best thing to do and three months in I have to say it seems like a pretty prudent decision. I can think of two concrete reasons to go back, either because I couldn’t find work and was starving or I couldn’t learn something I wanted to. Let me be explicit, I haven’t decided not to go back but if I don’t encounter a concrete need to I probably won’t. Just wanted to be clear.

    So what do you think?

    Weak Ties & Loose Ends

    posted on 2008-03-24 13:29:26

    I had a lovely weekend. Good conversations tend to do that. I wasn't actually productive but maybe my brain was just digesting all that talk during my leisure. Also, my OLPC XO finally arrived. I've had some fun with it though there are things to get used to. I'm trying to get it set up to work with my needs a bit better which essentially means getting Gambit-C and emacs-nox installed. I'm also throwing XFCE on it for a more conventional work environment. Also, I can confirm that The National's album Boxer was the best album of 2007 that I've heard. It's phenomenal. I'll post more on all that later.

    I really feel like I should read something tasty about Ontologies and Knowledge Representations or maybe Peer Production. I don't know. I need to empty my head out. Finally, here's a tasty Neruda poem to start off the week but it's behind a cut because I don't normally post poems this long.

    Politics and Polemics

    posted on 2008-03-18 02:37:07

    Dear Livejournal Readers: I feel like there's some pretty good discussion of my last post going on at my primary blog, drop in and comment if you like.

    I've bumped into several suggestions today that prices for crude oil will spiral back down in a short term period (under a year) for various reasons. I'm not sure whether to be distressed over this news or not. I worry that we may lose ourselves again to the path of least resistance, rather than recognizing that non-renewable energy should be discouraged and there is much we stand to gain if we can kick the habit. More on that soon. Sleep tight, folks.

    Spontaneous Monday Linkpost

    posted on 2008-03-03 17:52:17

    Bookshelf Jealousy

    I need to try OpenBox and build a trim install from the ground up again. Maybe with Gentoo this time? Or should I stick to Arch of Foresight?

    I continue to hear good things about Barack Obama. Staggering amounts of good things. It's not that Marc Andreesen is saying this. It's that everyone who's had contact with the guy is saying this. Also, he's big on civil liberties. Maybe from lecturing on Constitutional Law at University of Chicago. Hopefully that means he'll handle these fiascos a little better than the current administration. It wouldn't be too hard.

    I really want to hear a good comparison of bzr and git and I'm not convinced I've heard one yet. It seems to be very "Linus made Git!" vs "Yeah but mere mortals can use Bzr!". Please guys can we elevate the sophistication in this debate?

    Luis Villa comes up with some great ideas and this is one of them. Also, I may finally have to try greasemonkey because adding pictures to my posts continually sounds like a better and better idea. Well, at least some of my posts. While we're on Luis though, I take RSS feed reading seriously but I don't get near 800 feeds a day. I'd be interested in hearing what he settles on.

    I'm wondering if I should start contributing to Ubuntu's Weekly Newsletter. It'd be a chance to do some volunteer work for a community I do care about and I have been thinking that down the road I might like to do some freelance writing so it wouldn't be a bad way to get a feel. What can I say? Ben inspired me.

    I'm glad people are thinking about the future. This article from worldchanging appears particularly promising. Anyone have any formal responses to this? I'm going to work on mine along with an update of the Secondhand Standards essay.

    Also, I'm not personally a Nine Inch Nails fan but it is pretty cool that they've released their latest album as CC'd work and I kind of hope Radiohead does that with their next album...

    Personally, I share sogrady's taste in laptops and while I'm not in the market right now I am wildly optimistic about grabbing one of these in a year or so off craigslist or something.

    I'm trying to really get into emacs. I want to settle on an editor and really learn it. Since I'm learning Scheme for the next year or so Emacs seems like an insanely reasonable place to start. Making it pretty seems like a good idea though.

    Finally, this guy is totally awesome and I hope I can come up with a project as cool as this after my self-education.

    Future Projects…

    posted on 2008-03-02 22:08:29

    I'm looking to make a "You might be an Oglethorpe Kid if..." list. Any suggestions?

    I was driving to Oglethorpe Friday night and after seeing a license plate ("ADD 7018" I think...) I had this interesting idea for a function:

    1. Takes an integer (i.e. 7018) as it's single argument.

    2. Converts it to a list of integers (i.e. {7, 0, 1, 8}).

    3. Adds the head of the list to the concatenated integer of the tail (i.e. 7 + 018).

    4. Repeat until it's a 1 digit value and return that value.

    So, on the first run you'd wind up with 025, then 25, then 7. Notice anything interesting? That's the first integer in the list. I'd like to write another function that runs the first million numbers through this function and then outputs the results in a nice readable table. That'd be interesting.

    Anyway, in other news if you check I've updated the frontpage on my site to be a bit more accurate with regards to my current activities. I also started categorizing all my old blog entries back in January and I'm done so now everything is tagged and you can pull up stuff by topic. Say if you wanted to read all my bad poetry for example. Or my crazy essays, all my rants involving Linux, or posts with Pictures, etc. Of course, the search function always works too.

    I watched Lecture 2-a of the SICP Lectures last night. The first half hour made sense but the half hour after that was more like the sound of my brain melting. I'm going to try a few of the problems and see how it goes. I also might work on some goofy playlists. If you've got some goofy playlist\artist\song you've been rocking out to recently post it in the comments. Alright, wish me luck.

    Living with Ben

    posted on 2008-02-29 00:24:09

    Living with Ben was pretty bad ass. We stayed up late arguing about stuff that only one of us really knew anything about (computers or philosophy), made crazy playlists, played smash bros, and generally had lots of fun. Dan was awesome too but he just hid in his room a lot and then popped out and surprised everybody with amazingness. You wouldn't know it from looking at the guy but he was totally the comic relief.

    I mention this though because Ben and I might end up living together again sometime after May. I'm for it. And just so you all know, I'm really hoping to live within around Peachtree Industrial, near Oglethorpe. So, if you know good apartment complexes, guest houses, etc, Holla.

    Anyway, we worked on this one playlist for like...two weeks or something? I don't know. We came up with a first version which was pretty bad ass by itself but it diverted from the direction I had in mind originally (it started off as my baby) after the Broken Social Scene track...or maybe the Ambulance LTD track. Long story short, I spent another few days to come up with this Version 2 which pretty much sticks to my original vision. Here it is for your thoughts and enjoyment:

    1. The Faces - Ooh-ooh-la
    2. Blind Melon - No Rain
    3. Fastball - Out Of My Mind
    4. The Five Stairsteps - O-o-h Child
    5. Marvin Gaye - Where Are We Going
    6. The Beatles - Come Together
    7. Ambulance LTD - Young Urban
    8. Broken Social Scene - Looks Just Like The Sun
    9. Psapp - Tricycle
    10. Massive Attack - Teardrop
    11. Corinne Bailey Rae - Trouble Sleeping
    12. Regina Spektor - On The Radio
    13. Gnarls Barkley - St.Elsewhere
    14. Jamie Lidell - What's The Use
    15. Elliot Smith - Son of Sam
    16. Ambulance LTD. - Arbuckles Swan Song
    17. Cat Power - Willie

    Tutorials I’ve been meaning to do…

    posted on 2008-02-26 21:50:16

    as part of a getting things done streak. You know? Like, learn x y per z. Anyway, aside from reading SICP and writing code, getting it posted on here, and getting this essay up these are the other thing I've been lagging on:
    An Emacs Tutorial
    Git Tutorial Part 1
    Git Tutorial Part 2
    A Much more focused collection of *nix & associated utilities sheets
    A Massive Index of Cheat Sheets

    Also, I'm not sure I buy it but there was some pretty optimistic news about Concentrated Solar Power today. I'd love to see more detailed plans and a price/time-to-completion estimate.

    Finally, if anyone has any insights about why I'm getting a bad EIP value and a kernel panic whenever I try to transfer large files (or dozens of songs) with my server, feel free to let me know. I will buy you a (coffee/beer/etc). It seems related to this issue from an openSuse user. It could also be related to me using the 8139cp module instead of 8139too for my ethernet card. Whatever, I doubt i'll get anywhere but I'll be looking into it.

    Now to grab dinner and finish that essay...

    2 Years later…

    posted on 2008-02-26 17:42:19

    and the NSA/Telcos lawsuits are still going. The Bush Administration is still saying it was necessary to wiretap the phones of hundreds of millions of Americans without warrants. The Government is still pushing to grant retroactive immunity. And it's generally a whole big mess. Doesn't anyone (in our Government) care about privacy or the violation of the Constitution?

    Sorry I haven't posted in so long (11 days). I guess I've been distracted. An essay I've working on should be up soon, as should a code/sicp update.

    Here are some things to chew on and yell at your local politicans about:
    Myth/Facts about Retroactive Immunity
    Republicans block FISA talks
    Telecom Immunity Passes in the Senate
    Domestic Call Database started before 9/11

    Seriously, just click yell at your local politicians if you want to help.

    Trial by Triangle

    posted on 2008-01-24 02:31:11

    Today was not the easiest day. It wasn't terrible either. The news was decidedly mixed. And it's not about Dad though if you're wondering he's doing well. He's undergone chemo and lost most of his hair but he's generally upbeat and energetic.

    Two things have been wearing on me today and the first is work-related. Since January 11th I've been working full time at TVS. The news was that I finally got the paperwork for my benefits package today. It's nice having benefits. Benefits are good. All the same, this meant I could start doing budgeting and working out my finances.

    Finances are some scary shit. If I didn't know better I'd swear I'd die without a sizable chunk of money a year. For now I'm still staying with my parents until summer (at their behest more than mine) and I'll find a place to live then.

    I really am making enough to be okay. It's just that there's not a lot on the margins. I don't want a whole bunch of stuff. I just don't want to worry about suddenly needing money for any reason.

    Anyway, the other struggle has been that of the triangle. I'm getting behind on my schoolwork and hoping to catch up by/over the weekend. And I was pretty distressed because I spent like 4 hours obsessing over exercise 1.12 in SICP.

    The problem is to write a procedure that computes the elements of Pascal's Triangle.

    That shouldn't be a big deal, you know? But I obsessed over it. And now I've got a silly over-engineered solution that I'm more fond of than I should be. It's an interesting problem though. Hopefully I've learned something from it.

    Mine still isn't quite working and I know there is a simpler way to do it. I cracked after a while and read about how one might solve it but I didn't peek at any code. Still, I'm stuck on doing it my way. I'm such a bastard. Anyway, it's coming together and I expect it'll be done by the end of the hour. It'll be in the week 2 recap for sure.

    Long story short I realized what I've gotten myself into today. And it's still where I want to be. It's just that I think it's going to take more work and time than I might have been able to understand.

    Dead Players

    posted on 2008-01-22 17:12:10

    The long weekend was really nice. It was good to get the time off and I’m excited about this week. I even talked to Teresa a little about potentially going back to school and maybe becoming a professor down the road. We’ll see. Unfortunately, my beloved MP3 player decided it was going to die on me. And the thing is, without being able to listen to my music everywhere I fall apart a little. The gym’s harder and less fun. Work isn’t quite as good. Ditto for driving places. Haven’t you noticed FM radio is mostly awful? Anyway, now I have to figure out what to do about that missing piece of technology. I don’t know when I’ll do it but I’ll probably try to replace it sooner rather than later due to my predilection with mobile music. Plus payday is on Thursday.

    The player I had before broke because it’s a hard drive player. It has moving parts. And you have to recognize that’s sort of an undesirable design limitation on something you take to the gym or are really mobile with. Hard Drive based players are just much more likely to fail. Flash players (which don’t have moving parts) have existed for years but they’ve only recently gotten into a storage capacity range that makes them eligible for my dollars.

    That said, this throws a kink into my technology roadmap a little. Before my player’s death I was pretty well set up for this year. Sure, at some point down the line I wouldn’t mind a mobile game system (the PSP) or a new phone that I can check e-mails on (the OpenMoko) but I really don’t consider those essentials. Now, I need a new MP3 player and playing MP3s is something the PSP and OpenMoko are well-equipped to do. Nothing like consolidation of devices, right? Thing of it is, whatever I’m going to use needs to interoperate with Linux well and have a 16gb capacity or more. The MP3s stored on my current player took up about 13gb but it helps to have growing room.

    The nice thing about getting the PSP would’ve been that it’s competitively priced with an MP3 player and would play games AND stream music from my PS3…but I’d have to be near a wifi access point. I could store the music on a memory stick and then I wouldn’t need to stream it wirelessly from home but 16gb memory sticks for the PSP aren’t coming out til March and even then they’ll be more expensive than the PSP itself. So, that’s out. SDHC memory (which the OpenMoko uses) also haven’t reached sizes above 12gb and the phone is prohibitively more expensive then a replacement player or the PSP.So, at this point it looks like getting another Creative Zen Vision M 30gb (which I did like before it’s untimely demise) or a SanDisk Sansa View 16gb. The Sansa is a $50 bump over the Zen’s ~$125 but there might be one cheaper on craigslist and I’m thinking I’ll go with that due to mostly positive reviews and it’s durability and size-benefits from being flash-based. Anyway, it was fun to at least consider the OpenMoko and PSP Slim. I did a sizeasy comparison of the devices and my current phone (the Nokia 2610) to see how they all matched up for room in my pocket. Wanna see?

    Gadget Sizeasy Comparison

    Ready for a New Year?

    posted on 2007-12-29 07:20:24

    I am. 2007 was more trouble than I was really looking for. I'm certain that 2008 is going to rock hard though.

    Part of that is that I've been cleared to work at TVS full time starting in January. That's one thing off my mind. I'll have more details when I return from my trip to Montana on the 9th. I leave next Wednesday, if you're curious.

    I've got a lot that I've been taking care of and still have to take care of before the trip. So sorry for being distant. And the blog silence. Things are picking up though. I also have a slew of interesting projects to drone on about in the New Year.

    Before all that though, a Xmas Recap. Xmas was great.

    Happy Xmas 07

    You had this much fun too, right? I'm finally moved back into my room. Most importantly, my digital life is all pimped out.


    See? I've been working on pulling so much power from one outlet that I kill the house. Unfortunately I've only succeeded in dimming the lights. Just kidding. Well, about the trying to part anyway.

    Before I get any questions I should note that the iPod is Dad's. I haven't converted yet. Additionally, the old Nokia has been replaced. The setup is great. I can switch between the laptop, desktop/server, and PS3 on the LCD. Presently I keep the speakers tied to the PS3 at all times but I'll probably buy an adapter to share them across the devices. Eventually I'll get around to doing the same for the keyboard and mouse. Fear the cable nesting that will occur.

    Cable Mess and Electrical and Heating Disasters, Here I come!

    Now, on to projects. Of course, I'm going to start programming first and foremost. I've decided I ought to progress in the following order: Structure and Interpretation of Computer Programs, then Concepts, Techniques, and Models of Computer Programming, and finally How to Design Programs. On the side I'll be working on Rosen's Discrete Math, Spivak's Calculus, and maybe Strang's Introduction to Linear Algebra. If I manage to work through even half of that this year that would be pretty good stuff. So far I own the following programming texts.

    There should be a sign: SICP Coming Soon. Right next to the Sipser. Yep.

    SICP is in the mail along with Discrete Math. I'm planning on ordering Spivak's Calculus and Strang's Linear Algebra later on.

    Besides programming though you've got to have some stuff up your sleeve and I certainly do. I'm going to set this PC up for recording work and get some guitar doodles down at some point, just for fun. I also am filming virtual footage for a skate video. It makes me the biggest nerd possible but I don't mind. I've got 1 minute and 40 seconds of decent footie so far and some friends working on parts. Beyond that I'm going to work on getting Linux up and going properly on the PS3 and getting the speakers and input devices shared between all my systems as mentioned (probably with a KVM). I also will look into getting my PS3 to behave as a legitimate media server. Finally, I'm looking at getting my website server moved to a VM and run off my desktop. I've got the VM up and we'll see about performance issues and other testing soon.

    I'm collecting Course Materials for SICP at the moment and have to run to take care of some of today's other nonsense but I'll be back for more soon. Peace!

    The Latest

    posted on 2007-12-13 05:04:46

    Yesterday a certain lovely friend of mine noted that I hadn't been writing on here lately. I admit it. It's true. I've sort of disappeared from the vast expanse of the net as the semester has drawn to a close. I'm preparing more substantial and interesting updates for later but for now here are the important notes.

    Dad: Dad's starting on chemo, I believe, next weekend. What he has isn't curable but it's also impossible to state how long it will take to kill him. It could take as little as a year but it could take as much as a decade. As we know more I'll try to keep you all filled in and in all likelihood Mom, Dad, or both of them will set up a blog for the express purpose of keeping everyone up to date. I'll post here when that happens.

    School: I've got one more exam next Monday which I was supposed to take this Tuesday at noon but for some reason thought was on Wednesday. After that I'm done with school for a year. I've been self-educating with lots of nerd (math + programming) stuff lately and will be doing much more in the year to come after relaxing a bit over Xmas break. My wishlist made in my Xmas list post a week or two back is, in essence, my syllabus. I'll be posting notes, discoveries, and more here as I go.

    Work: Two big things have happened on the work front. One, the Joomla-based intranet that I've been working on for the past two months or so went live today. It's in production and 300 people are using it. That's pretty cool. I built that. Two, I spotted a 2008 Help Desk schedule that has me working from January 11th through the end of 2008. I haven't been officially told that I'm hired but if I'm not they need to revise their schedule. I'm sure more details are forthcoming. :-)

    That's it for now. Have any thoughts on that? What have you been up to?

    Note: Nerd articles and rants to return soon.

    Thanksgiving Greetings

    posted on 2007-11-21 18:44:02

    Wow. I've been just terrible about posting in here lately. I'm alive and excited to be on Thanksgiving break though. Now, let's see if I can't update this thing without creating a disgusting mega-post.

    The news:
    - I am not going back to school next semester. For sure. I'm taking some time off and studying programming and math in my free time. I'll also be working full time and the odds look pretty good that'll be at TVSA. Awesome!!!
    - I still don't know where I'm going to be living though.
    - You probably already know I'm dating this really cool girl Teresa Finn. She's cute and nerdy and good to talk to and...ahem. Yeah.

    The questions:
    - If you still read this thing what do you enjoy hearing about? Do you primarily read it to know my crazy business or do you like my thoughts on specific subjects (poetry, computing, etc)?
    - What are you dying to get for Christmas?

    The upcoming posts:
    - One about architectural changes and shifts in the computing industry. Expect to hear all the standard fare about CPU/GPU convergence, multicore hoo-ha, virtualization, the shift towards mobile and open, and other smatterings as well.
    - One about the education system, creativity, entrepreneurism, innovation, and everything else under the sun by the sounds of it.

    A Quiet Weekend at my Getaway Home

    posted on 2007-11-03 03:14:02

    First off, I'd just like to thank everybody who commented on my last post. There was some lively discussion and I feel like I benefitted from all that. Thanks.

    So, Mom and Dad have me house sitting. That's cool with me though because they have a cozy little place and it'll give me an excuse to cook and eat real food which is always fun. I don't get to try cooking much.

    In other news, this week had more going on than I would've liked but I've persevered and all told I'm doing pretty well at School, Work, etc. Now, with that out of the way...

    I've been thinking about hardware and software lately, as usual. Some of this is related to the recent PS3 purchase and some of this is anything really.

    On the hardware end I've been thinking a lot about display technology. See, I have this nice idea that I'll buy a monitor that I can use for my video game console(s) and my PC and I can never need to own a TV. The problem with that is that display technology is completely ridiculous. 10 years ago it was easy. With CRTs things were pretty fixed. There were a few good manufacturers and you got one of those models in the price range (size) you could afford and that was it.

    Ever since the invention of the flat screen that possibility has gone out the window. Which isn't to say it's unbelievably hard to find reasonably priced (and very lightweight/sexy) flatscreens, more that there are tradeoff costs involved that I don't remember being present 10 years ago. Specifically, you pretty much have a scale with speed (response times) on one end and picture quality (color reproduction, etc) on the other end.

    Regardless of what you are told on the box, you are trading some of one for the other on some level. Now some of the nicer picture quality leaning displays have pretty good response times and some of the nicer speed leaning displays have decent color reproduction but you still have that trade off.

    But then there's this one other have to remember I want to use this as a TV for my game console. So it needs some form of video-in besides VGA and DVI cables. S-Video or HDMI would be preferable though Composite(RCA) or Component would probably be fine too. This pretty much narrows my choices to two displays, the BenQ FP222WH (which has HDMI) or the Dell 2007WFP (which has S-Video and Composite).

    Now, my personal leaning is to the Dell 2007WFP regardless of the fact that the video quality isn't as good as the almighty HDMI. The thing is though then you have to figure out how to get that pesky audio out into your desktop speakers...and then what? A switcher appliance? Or manually unplugging and replugging every time you switch between systems? Elegance is such a tricky thing. I just can't help but feel like better solutions should exist in this space. Maybe Apple will finally make a games console and make it easy on all of us.

    That said, the PS3 I do find to be pretty amazing because for all their stupid mistakes, and there are plenty, Sony has made it a pretty good and VERY open system. The only remotely closed thing they've tried to do is lock out access to the RSX (the video card) via a hypervisor.

    I've never quite understood the rational behind that decision but I read this week over on dave airlie's blog that some progress is being made at getting access to it and working 3D in spite of that. He's a hacker working at Red Hat by the way for those of you who may not know. Anyway, I found a wealth of programming resources for the PS3 and look forward to playing around with those when I get a chance.

    That's it for now. I'm taking the weekend off. But I'm prepping two very exciting articles for next week, one is about my generation's value judgments and the other is about shifts in the hardware market (mostly GPUs and CPUs) and upcoming architectures. Which one would you guys prefer first?

    PS: Bria Rose, every time you send me a mix CD God unkills several thousand kittens and Prince makes Doves Cry. You are awesome. Now, like I've said, come home.

    The Weekend Story

    posted on 2007-10-29 13:09:14

    Monday's here and while I'm not tremendously enthused about this week there's less to do than last week as far as I can tell and the weekend was pretty fun.

    Friday night it was the Halloween party at Oglethorpe. It was my standard no drinking fare but I dressed up this time (now that I'm not actually enrolled at OU anymore, ha!). Anyway, hung out there for half an hour or so I figured and generally had a leisurely evening. Think there are photos on Facebook. Yeah. Me in a bathrobe and slippers. Classy.

    Saturday I had a lot of fun going with Burke to the Ubuntu Gutsy Release Party at Meehan's on Roswell. Nick took pictures and put them on planet. The best part was I re-learned how to configure wireless over the command line and heard stories about working with old Unix systems (specifically HP-UX) from Josh. Anyway, good times.

    Afterwards, I hung out with Chris Blair who's now interested in Distributed Computing (specifically Folding@Home). And then I installed Linux on my PS3 which I'll likely redo with Burke Tuesday because a Gutsy PS3 release was actually made and is on Psubuntu. Sunday was again pretty much low-key but I sort of got some Java coding done. Just a little. Blech.

    There's tons of cool stuff happening around PS3 and Linux lately. There's also been a lot going on in the ReactOS project and I haven't been keeping you all informed about that. Ah, well. One does what one can. I've gotten a bit addicted to reading reddit as well, or maybe just Raganwald and Coding Horror. XKCD has also brought much joy of late, as always.

    Finally, I'm pretty much sure that if I continue school it will be at GA Tech (not that I can necessarily get in). I'm really not interested in continuing at SPSU. We'll see how things go and next semester may change this some but I'm not expecting it too. It's not challenging or interesting enough and I'm not studying or learning the things I want to. Next step is to see what can be done to make next semester more challenging or interesting by either transferring or taking classes at GA Tech. More on that later. Also, that opens a new problem: How does one get out of school? And, assuming I want to, how the heck does one "go back"?

    Dreams and Schemes

    posted on 2007-10-22 02:51:17

    Of late, I'm not sure what I aspire to.

    There are things that I'm certainly interested in and want to do. I also really would like to have a fairly deep understanding of computing and a good ability to program.

    It's funny. I have a feeling the way you end up great is by not trying to be great. I have a feeling you end up being great by not caring about greatness too much and just doing what you love. And I'm still not sure how much I love programming. I'm certainly unsure I love being taught it. But I've always preferred self-teaching with computers.

    Your thoughts?

    After an Absence

    posted on 2007-10-17 03:19:59

    Oh, hello. You're the only one reading today aren't you? You are. Welcome.

    10 days? 10 DAYS? Where have I been? Busy I suppose. And in case you noticed the server being down, it turns out the router it sits behind decided to go crazy...which is almost comforting. /*This entry dedicated to Raganwald, XKCD, Radiohead, and for keeping me occupied and away from you guys for so long.*/ So, what's been going on?

    First, I actually wrote something today. It's been a while since that happened and it felt good. It's not fantastic but it's a start and maybe I'll be able to polish it up some in the future. I don't know that it was inspired by the following Milosz quote, but the quote resounds particularly with me today so I'm shoving it in your face anyway.
    "There must be a middle place between abstraction and childishness where one can speak seriously about serious things." - Czeslaw Milosz, Second Space, 4. I Apologize (pg. 49)

    And here's the as yet untitled poem, please file naming suggestions below:
    How surprised was I to learn that the dichotomy was not that of good and evil, as expected.
    Rather, torn between shame and the frivolity of a bottomless awe.
    Bound mesmerized to the spectacle of the world and all the marvelous constructions within it.
    I found myself vertiginous, perhaps self-aware, but certainly unsure how to contribute to so great a vista.
    As though asked to add new colors to the horizon, or change the sound of the ocean on a starry night.
    That task is too monumental for me, I said. But awe is not enough, my immense wonder is insufficient.
    Still, it is better to make public a frivolous and joyous etonnement than to admit
    to the truth: That every man is a thunderclap receding into the distance, and silence.

    Second, on Friday we had the best video game tournament in probably 10 months or so, IMHO. I actually did well in Melee with Zelda/Sheik. Semifinals well. The small atmosphere and various special appearances made the evening though. Derin and Pete were both able to come and I had lost touch with Derin so that was particularly awesome.

    Third, the new Radiohead album is out and it's outstanding. What's more outstanding is that Radiohead are releasing and self-distributing the album as a download via their website and you decide what to pay them for it. That actually might not be more outstanding than the album itself which could be the best thing since OK Computer. More to come but I really like it and the early favorites are Reckoner and Jigsaw Falling Into Place followed by Nude and All I Need. I'm still pretty skeptical about the last track, Videotape. There's a live acoustic version on Youtube that just sounds better to my ears.

    Fourth, I figured if I'm really going to take a year off to self-study and see if learn more/better/faster/stronger/etc that I'd better come up with a sort of reading list. Thank goodness for wishlists. I figured I might as well include a bunch of the stuff from my earlier book lists as well. The Computer Science stuff is thither.

    That's all for now. More later.

    Figuring Out what to Factor Out

    posted on 2007-10-06 20:48:00

    All our lives we optimize for things. That is to say, we go to great lengths making some types of experiences more likely to occur, less costly, or easier than others. We do this in relationships, optimizing for sex and sleep or perhaps a joint exploration of new vistas, for example. We do this in work and school, optimizing our behavior so that we stay very good at our present work style most often. Here are some things I would like to try to optimize for (in my life) right now:

    -To put more (of myself) into what I'm doing. To be in things fully, not half way. This goes for school and work, particularly.
    -To stop hating a certain someone. This is a counterproductive, eats-away-at-you feeling. Not the sort of thing that can lead to anything good.
    -To choose a core subset of people that I can really care about and to love them religiously.

    With regards to figuring out the future:
    -To do more actual exploration by doing and less exploration by reading (reddit, for example). This (reddit instead of work/programming) is a way to stagnate. I need to optimize habits that will make me more likely to do more work and real things, especially new and creative things.
    -To build a knowledge base with instead of feeling like I need to read and remember and blog about everything. is the net journal.

    With regards to relationships:
    -To be less afraid. To be aware that what is lost is never what is needed and that the road to come is already paved. The interesting part of the journey is walking it and seeing who joins you. I need to be more mindful of that.

    Quick Update

    posted on 2007-09-12 03:03:33

    I'm studying for a Discrete Mathematics test tomorrow. Aaah!! I'm learning Predicate Calculus in that class though so that's exciting. It's fun to finally be a bit more versed in all that. It also helps that I listened to Faith, Evolution, and Programming Languages yesterday and feel like I have a better understanding of Type Systems Theory thanks to that.

    Other stuff: Thinking too much, as usual. Mostly about computers but also had good discussions with Teresa and Bria about the notion of progress and whether or not we are in a state of decline. More on that soon hopefully. I need to get some of those thoughts down after the discussions have fleshed out a bit more. Anyone else have thoughts to contribute or want in on the discussion?

    I really want to write something about why Computer Science as a field is provocative and unique to me. I've also sort of started my nerd/programming pdf/ebookshelf. Presently on it are the following:
    Structure and Interpretation of Computer Programs by Abelman and Sussman
    The Art of Computer Programming, Vol. 1-3 by Donald Knuth
    Concrete Mathematics by Donald Knuth
    Code Complete, 2e by Steve McConnell
    The Tex Book by Donald Knuth
    Programming Erlang by Joe Armstrong
    The Best Software Writing (selected) by Joel Spolsky
    Introduction To Algorithms, 2e by MIT Staff
    Learning Perl, 4e by Phoenix and Schwartz
    Linear Algebra and It's Applications, 3e by Gilbert Strang
    The Practice of Programming by Kernighan and Pike
    How to Think Like a Computer Scientist: Learning With Python by Downey, Elkner, and Meyers

    I also have some physical copies of other books and should probably come up with a comprehensive syllabus (similar to the one I did for open source a while back and my book wish list just before summer) for CS books in the near future.

    This means I'm now studying two languages for school and two in my spare time. Java and C for school and Erlang and Scheme for fun. It makes me feel a little crazy because I don't know that anyone else actually does this. If there was someone else at SPSU that was studying Erlang that would literally surprise the hell out of me and I don't know how to feel about that. *shrug*

    Also, I'm looking forward to possibly switching from Ubuntu to Fedora when Test2 drops on Thursday and I'm thinking of trying FreeBSD and Nexenta or OpenSolaris in the future. More on stuff like that and hardware nonsense later.

    Finally, a few songs I've been enjoying:
    Incubus - Talk Shows on Mute
    The Stills - Yesterday Never Tomorrows
    Guster - I Hope Tomorrow Is Like Today
    Zero 7 - Out of Town
    Incubus - Agoraphobia

    Thoughts Scattered, Smothered, Covered, etc.

    posted on 2007-09-10 13:38:49

    I have gone about dedicating myself to invisible empires.
    I rise and the day brings visions of struts jutting out
    of the soil to sustain immeasurable edifices to man.

    I am having fun. I can say that much.
    To Do list:
    Essay on Radical Visions.
    Lots of Discrete Mathematics to prepare for Wed test.
    Java Programming and C Programming.
    Figure out what days are with whom this weekend. Note: skate will be out.
    Gym and Laundry.
    Read one of the following good things: The Wealth of Networks, Programming the Universe, Open Sources (1 or 2), Infotopia. Also Milosz and Neruda.

    Morning Reading:

    Sixteenth Monday Update

    posted on 2007-09-03 19:03:30

    Week 15: Finished
    write e-mail to tim sweeney asking for permission to publicize conversation.
    help pete with his computer after class.
    ren and dani

    Unexpected: Hung out with Kris, Watched Good Will Hunting, Posted E-mail conversation with Sweeney, Got through about 60 pages of Programming Erlang.

    Week 16: Schedule
    It's labor day. No work, no school.
    Respond to LJ comments.
    Intro to Computing HW!
    Java and C Homework?
    Discrete Math Homework?
    tvs 7-11
    prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
    prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
    c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
    tvs 7-11
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
    intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
    tvs 7-11
    prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
    c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
    tvs 7-11
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
    Get in touch with BJ Bernstein.
    Bake cookies for Bria. Mail them.
    First Smash Tourney Fall 07?

    I was on Redmonk?

    posted on 2007-08-27 12:44:36

    Somehow I made one of Governor's link posts way back in March and totally missed it. I have no idea how I missed that. What I'm really wondering though is how in the world he found me to begin with. James, are you reading this? Additionally, at least it looks like I'm reading the right things.

    Also, I'm trying to get permission from Sweeney to blog about the things we've been discussing. I don't know if I mentioned to you guys that I received a very nice e-mail back from him that went into some good detail on his opinion. I'll keep you all posted. I know you can't wait! More later...

    Fifteenth Monday Update

    posted on 2007-08-27 12:39:29

    Week 14: Finished
    ren and dani ~9:30.
    jeff taylor at 10:15 at caribou
    dr. carpenter at 7.
    skate. with chris friday night after rick.
    skate with burke saturday morning around 8:30.
    video game party with max saturday night.
    sanford at 11.
    movie with ben. call him!

    Week 15: Schedule
    tvs 7-11
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
    intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
    write e-mail to tim sweeney asking for permission to publicize conversation.
    help pete with his computer after class.
    actually do school work?
    tvs 7-11
    prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
    prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
    c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
    lunch with olivia at 11:30?
    tvs 7-11
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
    intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
    tvs 7-11
    prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
    prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
    c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
    ren and dani,
    tvs 7-11
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234

    News for 8/27/07:

    Fourteenth Monday Update

    posted on 2007-08-20 18:35:48

    Summer: Week 13: Finished
    21st Annual Checkup/Physical @ 9:45
    Dental Appointment @ 2:30
    Read and\or listen to Google TechTalks on Concurrency.
    Program a little Erlang?
    Talk to boss about fall schedule.
    Cousin visiting for dinner.
    See Ren and Dani?
    Start packing. See people?
    Burke is in town! Help him move in?
    Move in. School starts. Oh, boy.

    Unexpected: Saw Superbad with Kris, Asked for raise.

    Week 14: Schedule
    tvs 7-11
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
    intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
    tvs 7-11
    prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
    prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
    c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
    hang out with marian james!
    tvs 7-11
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
    intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
    tvs 7-12
    prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
    c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
    ren and dani ~9:30.
    tvs 7-10
    jeff taylor at 10:15 at caribou
    discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
    dr. carpenter at 7.
    skate. with chris friday night after rick.
    skate with burke saturday morning around 8:30.
    party with max saturday night?
    sanford at 11.
    movie with ben. call him!
    movie with ren and dani. call them!

    News for 8/20/07:
    I'll fill this in later. It's getting hard to do the news. I'm busy and stuff!

    Blogging Hoo Ha

    posted on 2007-08-16 16:54:26

    I was just thinking about something...blogs may be more useful for soliciting help when you know next to nothing about something than when you know a good deal about something. For example, if I post an exceedingly technical question my readership is (statistically) unlikely to know the answer. Sure, if Dave Airlie and Patrick Logan and a bunch of other hackers read my blog I might get a quick response but it's pretty unlikely. However, if I ask a general question about which I'm simply clueless there are much better odds of getting a meaningful and informative response from my readers. As a thought, this probably isn't worth blogging. But it struck me...and I did. So there.

    Just wow…

    posted on 2007-08-16 16:49:50

    A friend of mine posted this:

    Mind Boggling

    I'm speechless.

    Thirteenth Monday Update

    posted on 2007-08-13 21:25:07

    Summer: Week 12: Finished
    Turn 21
    Fix Ken Boa's Computer
    Ren and Dani
    Bria's Going Away Party

    Unexpected: Speeding Ticket, Bailing Hay for Six Hours on Saturday, Saw Chris B., Got in touch with Jeff Taylor, Actually wrote a decent technical essay.

    Summer: Week 13: Schedule
    21st Annual Checkup/Physical @ 9:45
    Dental Appointment @ 2:30
    Read and\or listen to Google TechTalks on Concurrency.
    Program a little Erlang?
    Talk to boss about fall schedule.
    Cousin visiting for dinner.
    More programming?
    See Ren and Dani?
    Start tying up loose ends before school starts back.
    Career Services at SPSU.
    Start packing. See people?
    Burke is in town! Help him move in?
    Move in. School starts. Oh, boy.

    News for 08/13/07:
    A lot has been happening folks.
    Compiz Fusion made their first release.
    WINE has pushed out a new release as well.
    PCSX2 has some progress updates.
    Fedora 8 Test 1 was released as well.
    More later. Links too!

    Twelfth Monday Update

    posted on 2007-08-06 13:34:53

    Summer: Week 11: Finished
    Finish Music work on Zen Vision MP3 Player
    Acquisition Laptop. Load Ubuntu Gutsy Alpha 3.
    See Rick at Noon
    Read Rebel Code

    Unexpected: See John Mayer play Covered In Rain, Hang out with Ren and Dani, A Certain Unnamed Drama.

    Summer: Week 12: Schedule
    Turn 21
    SPSU Career Services
    Fix Ken Boa's Computer at 2.
    Birthday Stuff?
    Pick up a NVidia AGP card for Ken Boa.
    Bria's Going Away party at 8.
    Install Ken Boa's new video card at 4.
    Burke should be in town. Hang out?
    Ren and Dani?
    Anything unfinished from Monday.

    News for 8/6/06:
    I'm 21 and I don't feel like doing the news so there. Actually, it has nothing to do with this being my birthday and everything to do with me being lazy but because it's my birthday I'll let myself get away with that. ... Maybe I'll put it in later.

    Kindred Spirits?

    posted on 2007-08-05 19:04:32

    Dear Google,

    I've been thinking about what you might be able to do for me lately. Surely you realize that you are the de facto Web Software incumbent, even in those market segments that were just born yesterday. I was thinking, you might really be able to help me out and make Orkut not pointless at the same time. Just help me find people that are reading the same things I am in Google Reader so I don't feel crazy. That is, help me find non-programmers that can't stop themselves from reading Steve Yegge, Paul Graham, Kerneltrap, TIRDC, the Redmonk Guys, Luis Villa, Worldchanging, XKCD, Patrick Logan, NJ Patel, O'Reilly Radar, Glyn Moody, Matt Asay, TEDTalks, and Lambda the Ultimate. Bonus points if you find females within 50 miles and 3 years of myself. Also, if subjects read Milosz and Kosinski in their spare time, it helps. Okay. Now please.

    PS: I'm helping Ken Boa with some computer problems tomorrow. Sanford referred me. Does anyone else find this somewhat surreal? God, are you stalking me again?

    Blog Changes and Folk Implosion

    posted on 2007-07-30 19:35:44

    Okay, I'd like to start by saying that Folk Implosion's One Part Lullaby is such a good album and I'd really forgotten that.

    That being said, I'm just notifying readers not to expect the Friday Linux Lessons anymore. I've sort of...missed posting them the last two weeks due to crazy events but I've also sort of run out of steam.

    Consider yourself notified. If you want me to write a Linux Lesson or help you with computer questions please tell me. This even extends to Windows and Mac users and covers questions like "Brit, how do you manage to pirate everything ever?" Just ask and I'll be more than happy to answer.

    Fridays are now Q&A days. Tuesdays, Wednesdays, and Thursdays may or may not see changes soon. I'll keep you posted.

    Eleventh Monday Update

    posted on 2007-07-30 13:14:10

    Summer: Week 10: Finished
    Call Sonya
    Apple Interview at Noon
    Call SPSU about housing with Burke
    Order Justin's Birthday Present
    Figure out what happened to my paycheck
    Import Livejournal into new Blog

    Unexpected: Get MP3 player, begin standard summer music library overhaul.

    Summer: Week 11: Schedule
    Finish Music work on Zen Vision MP3 Player
    Read Rebel Code or Java Illuminated
    Acquisition Laptop. Load Ubuntu Gutsy Alpha 3.
    Read More
    Work on Laptop. Start Java Programming?
    See Rick at Noon

    News for 7/30/07:
    ReactOS has released 0.3.3 RC1 and are seeking testers.
    The WINE guys have just released 0.9.42.
    Some preliminary work on getting the "Free Java" Cacao JVM to run on OpenMoko has been done.
    Microsoft has submitted their "Shared Source" license to OSI for review in an effort to try to get in on the Open Source game. Naturally, some debate and differing views have emerged. We'll see what happens.
    Scientists at Berkeley have managed to coerce nanostructures into self-assembling.
    Thin Film Solar has had a breakthrough making it commercially viable.
    Finally, a number of former Xerox PARC researchers are trying to be first to market with a Natural Language Search Engine.

    Fall Schedule

    posted on 2007-07-27 16:52:16

    SPSU Schedule
    Intro to Computing Disciplines - CSE 1002 - 001 - 03:00 pm - 03:50 pm MW J-ATRIUM BLDG 217
    Prog and Problem Solving I - CSE 1301 - 002 - 1:30 pm - 2:45 pm TR J-ATRIUM BLDG 217
    Prog and Problem Solving I - CSE 1301 - 053 - 03:00 pm - 04:40 pm T J-ATRIUM BLDG 251
    C Programming - CS 2123 - 002 - 07:30 pm - 08:45 pm TR J-ATRIUM BLDG 161
    Discrete Mathematics - MATH 2345 - 002 - 12:00 pm - 12:50 pm MWF D-CLASSROOM 234

    More SPSU details soon to come...

    Double Posting: Activated.

    posted on 2007-07-24 17:52:06

    Ladies and Gentlemen,

    The first steps in getting the new site up have been completed. The content from livejournal has been moved over and my posts now show up both on livejournal and at "" . While work on the site is ongoing the basic functions are up and you should be able to poke around and let me know what you think. I'll keep you posted as new developments arise.

    Tenth Monday Update

    posted on 2007-07-23 19:20:00

    So, a lot has happened in the past two weeks. Is anyone else simply amazed it's already almost August? WHERE IS SUMMER GOING???

    Summer: Week 8 + 9: Finished
    Go to SPSU to work more on transfer credits
    Call Sonya
    Dentist at 3:15
    Crash at Chris' house.

    Unexpected: Read three books and sizable portions of three others. Saw Sonya 4 times. Racked up crazy amounts of minutes on phone. Skateboarding and Guitar. Find out that Burke might be moving back and would potentially like to live with me. Sweet!

    Summer: Week 10: Schedule
    Call Sonya
    Apple Interview at Noon
    Call SPSU about housing with Burke.
    Order Justin's Birthday Present
    Figure out what happened to my paycheck.
    Work on importing Livejournal Entries to wordpress.
    Guadec Videos?
    Chill. Sonya?

    News for 7/16/07 and 7/23/07:
    Guadec happened. Hopefully videos will be online soon.
    Pyro was announced at Guadec, as was the Online Desktop project. Both of these groups are trying to push things forward. Keep an eye on them.
    Njpatel announced a new AWN release and it is pretty. Keep hacking!
    Ubuntu Gutsy Tribe 3 was released.
    An update has been released by the ReactOS team announcing that 0.3.3 will be dropping soon.
    E3 happened and lots of cool games were announced. The burden is on you to research that one though.
    Songbird released a new Windows nightly with builds on other OSes soon to follow. Good progress, guys.
    PCSX2 announced that new plugins are available which emulate the analog sticks of a PS2 controller with your keyboard. Not the announcement I've been holding my breath for, but interesting.
    The ATI 2d driver is set to see a release soon and MPX is also seeing good work.
    Compiz Fusion has been relatively quiet the last two weeks because they're gearing up for their website launch. I'll keep my head to the grindstone and keep you all informed.
    Someone finally invented the mechanical flying spy. I don't know whether to smile, clap, or laugh.
    There's also research into erasing memories of late. Did no one watch Eternal Sunshine of the Spotless Mind?

    I’m Back.

    posted on 2007-07-22 00:01:00

    I'm back. The beach trip had it's ups and downs but I'm glad to be back and there's plenty that I missed in the computing world that I'm catching up on. I did get a few books read while I was there though and met a skateboarder and a guitarist that were fun to hang out with. I hadn't skated like that in a while. The books read: Emergence by Steven Johnson, The Mutt by Rodney Mullen, Identity by Milan Kundera, and snippets of Jerzy Kosinski's Passing By, Cass Sunstein's Infotopia and Seth Lloyd's Programming the Universe. Yep yep. More soon to come.

    Edit at 5:10 PM: I also just acquired the upcoming Aesop Rock album "None Shall Pass". How long have I been home? Two hours. When did this leak? Two days ago. When is it coming out? August. Nice.

    Away for a Bit

    posted on 2007-07-14 05:39:00

    Ladies and Gentlemen,

    I'm going away to the beach from this Saturday to the next (7/14-7/21). There will be no posts during that time period...which is sort of tragic because I could be covering GUADEC. But a vacation is more important. I need to remember how important it is to take time off and slow down. So, this should be good. I'll still welcome phone calls as it will be a little quiet where I am. Who knows, I may call you. I'll be down at Sweaty Palms in Grayton Beach, FL for those curious. It should be fun. Look at how easy I've made it to stalk me. Alright. Leave some love. You can begin missing Livejournal entries about music, poetry, and computer junk approximately now.

    Ninth Monday Update

    posted on 2007-07-09 17:35:00

    Summer: Week 8: Finished
    See Ember
    Lunch with Eric and Aaron
    SPSU Run Around. Figure out credits. (started)

    Unexpected: July 4th party w/Sonya, Jess, Brandon, and (temporarily) Eric. Saw Live Free or Die Hard with Ben, Transformers with Jessie, Got Hacker Culture essay draft posted.

    Summer: Week 9: Schedule
    Go to SPSU to work more on transfer credits
    Call Sonya
    See Bria when she gets off work at 3
    Dentist at 3:15
    Trivia Night with Justin and Bria?
    Sonya at 4
    Beach Trip preparation? Playlists, etc.
    Crash at Chris' house.
    Movie with Olivia? Good Will Hunting?

    News for 7/9/07:
    We'll start with something reasonably important first. There has been a Linux Kernel release. Available now at a mirror near you, the Linux Kernel version 2.6.22.
    On the Fourth we were lucky to get an update from the ReactOS team. Work appears to be progressing pretty well and 0.3.3 should be out in no time.
    That's about it for Open Source actually. I can't help feeling like I'm forgetting something but this is what I've got. All told, I think things are a little quiet since everyone is gearing up for GUADEC!
    In a surprising development, was shut down this week after years of happy quasi-legal gray-area Russian operation.
    The Microsoft-Novell deal is still not done with it's controversy, though it is very much on the back burner for even most who were initially concerned (aka me) at this point. Here's the latest courtesy of the wonderful Ars Technica.
    And there have been some more breakthroughs in Data Storage Density.
    A recent study has shown that some amount of noise in telecommunications can actually improve throughput and bandwidth. Shocking.
    Finally, I read something awesome the other day about Vertical Farming. Yeah. Read that.
    There have been plenty of other awesome blog posts, studies, etc that I've read this week but honestly I'm too lazy to post them. Beg and I'll grab excerpts or see what I can dig up. ;-)

    Site Progress

    posted on 2007-07-09 02:01:00

    This weekend has gone alright. I've caught up on some things I haven't got done in a while. I'm back into reading (which is Lessig at present) and been working on the site a little. There's tons to do. I just hope to have everything up the way I want before my birthday. Anyway, I'm mostly working on stylistic aspects right now and infrastructure (the FTP). Once that's done it's on to moving the old livejournal posts over and moving music onto Redline Radio. Anyway, have a peek folks and let me know how it looks to you. Also, let me know if you can see everything. I don't know how this looks below 1280x1024 resolution.

    Also, who thinks this guy's page layout is awesome and I should steal the frontpage design and possibly the about section?

    Crazy Days

    posted on 2007-07-06 06:39:00

    I'm not sure if I'm going to post a Linux Lesson tomorrow. I'm pretty sure I will but I almost would rather teach myself some Python Programming and post a few explanations and/or code snippets. We'll see what happens. I've been reading a blog lately by this guy Steve Yegge and it's amazing. Seriously. I just read an article he wrote last March today called, "Moore's Law is Crap" and it was one of the most entertaining, wonderful things I've read in weeks. The guy's just dynamite. His essays\rants swing from hardcore nerd discussions about compilers and syntactic structure to the usefulness of math and being happy with your job. That might not sound like much of a swing but I think it is. Did I mention he works for Google? Anyway, here's a snippet I really liked today.

    "I don't know why I blog. I'm just compelled; it just happens whether I like it or not. Don't read too much into my blogs. My opinions change from day to day. The only things I've learned, the only universal constants, are that I don't know very much, and that public whale explosions are just about the funniest thing human beings can experience during our stay on Earth. I don't know why that is, either." - Moore's Law Is Crap by Steve Yegge

    Eighth Monday Update

    posted on 2007-07-02 15:43:00

    Summer: Week 7: Finished
    Call Sonya
    SPSU Orientation
    Ubuntu Gutsy Alpha 2 Install.
    Buy Server
    Work on Server
    Hang out with Justin/Bria

    Unexpected: Hard but necessary conversation with Sonya, Good excuse to view office space and subsequent viewing, Actually getting site up.

    Summer: Week 8: Schedule
    See Ember?
    Josh's Birthday Party
    Liz's July 4th party.
    Lunch with Eric and Aaron at Mellow Mushroom @ 11:45. Hells Yeah!
    SPSU run around. Figure out credits. Ew.

    News for 7/2/07:
    The iPhone happened. Yes, it did. It wouldn't be fair of me to pretend this isn't (at least in my circles) news. I think things are being blown out of proportion and that the iPhone isn't as cool as some other efforts (ahem) but it's news.
    OpenMoko finally made a progress update on the announce-list slating the phone to be released in October for $450. Mark me down, please. The more I see and read the more excited I get. This thing is going to be awesome!
    Mesa 7.0 finally hit. OpenGL 2.1 here we are. 3.0 here we come!
    PCSX2 has also released a bit of an update stating that the upcoming version will prefer a new BIOS dump which allows for more complete emulation. Curious.
    Wine version 0.9.40 has been released with lots of DirectX improvements. Keep hammering away!
    GPLv3 released. It's impossible to say that's not significant even if it's immediate ramifications are uncertain or minor.
    Some really interesting hack work is being done on Banshee. If all pans out it might beat out Rhythmbox and Quod Libet and Songbird as my next Music Player/iTunes replacement/software-thingy.
    Some Intel researchers are looking at potential algorithms to add resolution to video in real-time with massively parallel systems.
    Biomimicry is back again as we use carbon nanotubes to make substances as sticky as gecko's feet.
    In a staggering achievement, scientists at the J. Craig Venter Institute have transplanted an entire intact genome from one organism to another. However you want to look at it, the ability to force an organism to change species is a pretty huge achievement on any scale.
    Finally, Ohio University Researchers have created some really cool nanofibers. Seriously, this might be one of the more exciting things I read this week.

    Progress Report

    posted on 2007-07-02 00:11:00

    I never thought this would be so much trouble. I'm getting the ftp server up and working more on the site as we speak. It was down when I woke up because of an AT&T service outage in my area and we didn't get internet access (and consequently the site) back up until about 3pm. At any rate, I'm headed for the gym now and will come back to work on it more later. Aside from getting the ftp server up I'm hoping to get ampache installed which would let me stream whatever music I put on the machine out onto the net. It would be an internet jukebox. Yeah! Additionally, there's still lots of content and prettifying left to be done on the general site so my work is cut out for me. Especially if I want to try to migrate all the old livejournal posts on there. *sigh* More later. Wish me luck.

    -B is Live!

    posted on 2007-07-01 12:17:00

    Dear Friends, is finally up. But BE WARNED! It is not yet pretty. At all. In fact, it's a repulsive mess. It is however online and I'll be working on it all day tomorrow so hopefully by nightfall it will look pretty decent.

    Stay classy, readers!


    Morning View

    posted on 2007-07-01 08:45:00

    Ladies and Gentlemen,

    By dawn their will be something on "". I've been hacking on the server since Friday and spent a good deal of time on it so far.

    It's given me it's fair share of trouble, in part because of a poorly supported network chipset and in part because of an esoteric Linux distribution. I purchased a better supported network card in the first case and have switched back to my beloved Ubuntu in the second.

    At any rate, the server is on the network downstairs in it's permanent location in our basement. As soon as Ubuntu Server 6.06.1 is done installing I'll ssh into the machine and get back to it.

    This has been quite a journey. Stay with me readers. The time is almost here!


    PS: Ben, are these paragraph breaks prettier?

    Server Purchased

    posted on 2007-06-26 21:06:00

    Ladies and Gentlemen,

    A small update for you. I have, as previously announced, registered for one year. Previous efforts to get some old hardware together to host/serve the site did not work as planned so I just purchased a server from "". You can see it here. It's pretty impressive what you can get shipped to your house for $120. Granted there's no monitor, keyboard, or mouse but once the server is up and hosting you don't need them. Anyway, the server is probably overkill for the amount of load/traffic my site will generate but considering the next cheapest thing was half as powerful and only would've saved me $20 I think I made the right call. Expect the site up by next friday...I'll keep you posted.


    It’s Over

    posted on 2007-06-25 22:39:00

    It's really over with Sonya and me. For one reason or another, I thought there was a chance for round 2. There definitely is not. I just got off the phone with her. She won't be giving me that chance. All told, I'm glad I tried. I really needed to try and get her back for myself but that didn't work. So, on to whatever is next. I think I'll be okay but I don't really know. If anyone does want to hang out with me over the next few days or send hugs or kisses or anything though let me know. I've got orientation at SPSU from 7-3 but I'm free after that. Call me or leave a comment.


    Seventh Monday Update

    posted on 2007-06-25 15:10:00

    Summer: Week 6: Finished
    Potentially Buy Skateboard at Ruin.
    Sonya's Birthday? (Powerless? Pretty certainly.) *tear emo tear* (Ended up being aquarium visit. Nice.)

    Unexpected: Aquarium visit with Sonya probably qualifies, as do awesome birthday parties. Phone and house calls. Wrote a crazy ass post that predictably didn't get commented on. Maybe I shouldn't write things at 4am...

    Summer: Week 7: Schedule
    TVS (an anomaly caused by taking off early on Thursday for the aquarium)
    Call Sonya? (after work today or after work tomorrow?)
    Southern Polytech State University Orientation (3-7pm); Register for Classes (Discrete Mathematics, C Programming, other)
    Gym (after work or after SPSU Orientation?)
    Read Lessig
    Read Lessig
    See people?
    Read Lessig
    See people?
    Ubuntu Gutsy Alpha 2 Release. Install on new partition. Test.
    Money hits bank. Do banking. Buy server?
    See people.
    Read Lessig?
    Play in Gutsy Alpha 2.
    Work on site\server?
    People. Justin\Bria. Others too?

    News for 6/25/07:
    CompComm has been officially renamed to Compiz Fusion. Packaging and site migration are underway. Expect the first official release this week. And be excited. There's good stuff coming.
    Neil J Patel released some software that takes advantage of the clutter API to view Flickr photos, appropriately titled Fluttr.
    I also discovered a new media center app that appears promising called Sofa. That's probably not news but what the hell. Is anyone reading this? Hello?
    Some good patch work is underway with airlied and pzad hard at work on the ati driver.
    Somewhat comically Microsoft offered Ubuntu on it's Windows Live Marketplace this week.
    There was also a great article by Steve Yegge on compilers, a good post on why Web 2.0 is silly, and a very surprising post from Lessig on a change in career focus\direction.
    A new study was done on reorienting the web's traffic distribution using peer 2 peer techniques. Intriguing, no?
    Finally, in one of those seemingly small developments sure to have a big impact, a Cornell University scientist has found a practical way to store light.

    Random Midweek Thoughts

    posted on 2007-06-20 19:47:00

    I wish I had included John Mayer - New Deep and Guster - Amsterdam in the songs of summer. They'll probably be in next week's. I also am really getting back into Amon Tobin but his jazz/samba/drum'n'bass/insanity isn't really any particular season.

    Lessig made a big announcement this week. I'll cover it in the monday update. He's smart and awesome.

    In response to Justin last night: Linux has as many problems as you want it to. Get your hands dirty.

    Speaking of, this week's linux lesson is looking like it should be fantastic. Max, get ready. Expect to learn about <tab> at the command prompt, more permissions, man pages, and the "|" key (that's shift backslash). It'll let you do fun things like "ls -l | wc -l" and "ps -ax | grep "yourmom"" and such.

    Currently setting up subversion box and building jetty\terracotta cluster. More on that in t3h future. This week is turning out pretty nice.

    Also, I was at the command prompt and ran "locate yourmom" and got nothing? So, where is she?


    Quick Vote Results

    posted on 2007-06-20 00:40:00

    Ladies and Gentlemen,

    I have to say your contributions were wonderful, particularly those made to the "other" category. One of the domain names suggested had such a wonderfully high pun factor and semantic richness to it that I decided to go with it outright. I have registered the domain from Network Solutions for one year, effective immediately. Now I just need to get a server up and have the DNS point to it. I was going to use an old system I have lying around the house here but it doesn't like me. I'd rather have a dedicated machine for this than serve off my desktop. That's just not good practice. I'll figure something out. Give me time. If anyone has an old system they are about to toss (Pentium II, 128 mb of ram or better) feel free to give me a call and let me put it to good use.

    Thanks again,

    Tip of the Day

    posted on 2007-06-19 16:25:00

    If you ever need to use IRC at school or work and you're firewalled just google "cgi irc" and use one of those. You might have to try a couple. I've been enjoying
    I'll post a solution for the more commonly used AIM sometime in the future.

    Quick Vote

    posted on 2007-06-19 00:39:00

    Ladies and Gentleman,

    I will now conduct a vote which will end at 5pm this tuesday afternoon. Simply indicate which domain name you think I should purchase. Your Choices:
    1. org or net
    2. org or net
    3. Other: Fill in here. (Bonus points if it incorporates in some way the word redline)

    Thank you,

    Marvin Friggin’ Gaye

    posted on 2007-06-18 20:38:00

    I'd like to give a shout out to some people that have been loving on me. This morning that's gonna be Ember Melcher, Cathryn McCrimmon, Bria Rose, Dallas Greene, Amanda Nichols, Jason Soby, Eric Gulley, and my father (who talked to me for an hour at 2:30 am) John Glenn. I'd also like to take this opportunity to note that Marvin Gaye's What's Going On is fucking magical and can fix almost anything. That's right. I'm dancing and I'm clapping. Thank you folks. I feel like I've really made some progress. I no longer feel like there's something wrong with me or it was something I did or didn't do. Let's see if I can't maintain that.

    PS: A huge thanks also goes out to Maziar Vafadari and Eric for dealing with me yesterday and also for everyone who commented on my post on Friday. It really has made a difference. Thank you.

    PPS: While I'm not sure if I'm behind the new Spoon album yet (is it out for consumption or do I just have it leaked?), I'm so behind the new Maroon 5 (even though I can't really listen to it much right now), Andrew Bird (in my top 5 for this year easily), and White Stripes. I'll keep you guys posted about the new Aesop Rock, Pinback, and Radiohead as soon as I get my grimy virtual hands on them.

    Sixth Monday Update

    posted on 2007-06-18 17:39:00

    Summer: Week 5: Finished
    Take Cody to the Vet for Annual Checkup
    Started Next Book: Ended up being The Future of Ideas. Haven't gotten that far due to unexpected things.
    Unexpected: Heart Wrenching Breakup, Plans to buy Domain, Build Server, Install Wordpress, and Otherwise Go Completely Crazy.

    Summer: Week 6: Schedule
    Potentially Buy Skateboard at Ruin.
    Run at the park at 5?
    Justin and Bria or other people.
    Invent something to be excited about here. Server work?
    More server work and\or people. Early sleep.
    Sonya's Birthday? (Powerless? Pretty certainly.) *tear emo tear*
    Something to distract me. Almost definitely people.
    Gym at 2:30? Something like that.
    Chill (Keep trying to get around to installing something from source. People. Stuff.)

    News for 6/18/07:
    There have been murmurings on the Mailing List (ML) about ATI re-evaluating their Linux support model. By July, we'll know where they stand.
    Neil J. Patel appears to be hacking away at Avant Window Navigator because there was a new svn release this week.
    Songbird has started pushing out nightlies again for the first time in a long time. Hopefully, 0.3 isn't too far off.
    WINE released a new version with some Direct3D fixes, as always. Keep it up guys.
    The CompComm mailing lists are crazy. Something has to happen soon. Seriously.
    There were also some new breakthroughs in photovoltaics.
    There is a group developing software to design nanotube circuits.
    There is a startup helping consumers build their own mobile networks(as in cell phones).

    That's it for this week. Pray for me and I'll catch you guys later.


    posted on 2007-06-18 07:30:00

    I think I was dumb today. This being my first significant breakup I didn't realize that we were broken up yet. I'm not sure I have realized that even now. Also, I had convinced myself there was a chance things would still work out. Also, my only two friends that I hang out with outside of school are moving in the fall and I'm transferring. Not far but I'm transferring. So, I've got a pretty fresh start on my hands. Naturally, I don't want it. I mean I'm glad to study computer science and not be at Oglethorpe but I have no idea what to do as far as my relationships with people. That's very intimidating of course. A lot is happening at once and I'm (I think understandably) pretty mixed up and confused. I also think I might be faking being okay so something bad might just set in any day now. I'll try to find a way to focus this energy but aside from reading books, working, and going to the gym I can't think of any good ones. And I feel like I'm so crazy and have been for so long (particularly with regards to Sonya) that nobody really wants to hear any of this and I don't blame them. I don't know what to say half the time. When I face problems that I can't mentally untangle I'm not sure that I do well at all. If I can't think about something clearly I'm kind of screwed. Anyway, I'm very tired so I'm going to go to bed and hope I can get it together before work Tuesday. But today was hard.

    Web Site Names

    posted on 2007-06-17 19:42:00

    Okay, so is taken by some stupid squatters who want $2,000 for it and I think that's bullshit. Of course, I don't have two grand but even if I did I wouldn't fork it over for a lousy domain name. .org and .net are taken as well. So, I need something else. I should note that if I do start a new site I won't stop writing here. I'll probably find a way to dual-post or something. I just need to think of a good domain that isn't taken yet and that's pretty tricky. To check and see if domains are available you can use this link if you want to:
    Or just tell me your ideas and I'll check. HELP!

    Sunday Morning

    posted on 2007-06-17 18:00:00

    I'm at church right now. I'm not in church but I'm at church writing this from a computer not far from the service area. I've been thinking about some things. Mostly I'm just trying to avoid having to deal with much until lunchtime. I'm trying to keep my mind among occupied. I haven't been to church in a while and it was interesting to listen to Michael speak again. I was reminded of some of the supremely good issues that Christianity forces one to address. Chiefly imperfection and pride and introspection. I was also reminded of the nonsensical approach (perhaps the word I'm looking for is presentation) that is given in the average church. I can actually watch the service from another monitor here in this control room. Anyway, I've been thinking about perspective and how difficult it is to ever be objective outside of your perspective. You can always be as objective as possible within your perspective but managing to actually go far enough out to get beyond your perspective (note: here perspective includes your understanding of the views of others) is really, really difficult. In fact, I'm having a real hard time finding a good way to define perspective. I'll try to come back to this later today. But I'm thinking about G.K. Chesterton's writings and how wonderfully prosaic his thinking was as well as his Christianity. I'm also thinking of Paul Graham and his essays on Education. And I'm remembering some of the issues I had to think about in youth groups or what have you in middle and high school. I think some of the things we had to confront were good even if the presentation or structure wasn't ideal. And it's making me wonder what a Hacker School would look like. What would a Hacker Church or Youth Group look like? What would make church or school more purposive, more elegant? They certainly aren't designed ideally now. I'm wondering how you captivate a generation of people and convince them that grappling with problems is a supremely more rewarding and better thing than having fun. Moreover, that grappling with problems can be fun (not that you shouldn't at times have regular fun too of course but more that it should be the exception rather than the rule). Christianity has a terrible tendency to make one believe that all things can be made Black and White as does much staunchly moralist thinking. Unfortunately, the real world strays much much closer to Mathematics or Literature. There is one concrete meaning or answer generally speaking. At the very least, there are answers that are definitely wrong. But there is a world of grey and interpretation and middle ground and the problem is several orders of magnitude more complex than I feel Church or Christianity prepares you to deal with and this is in part because I think it conditions you to think about things a certain way and to hold distaste for certain thoughts. Chesterton treated Christianity as a filter. He evaluated ideas particularly in terms of what their effect would be on him to some extent. He believed in the teachings of the church but he was also mindful of the fact that he should consider ideas which flew in the face of the church or solutions to problems that seemed unorthodox. However, he also considered many ideas on the basis of what spiritual effect they had on him. He thought of evolution as being a well and good idea in so much as it meant God took more time to make the world but a worthless idea in terms of equating man with the chimpanzee. Not because it necessarily wasn't correct so much as because for him the idea that he was equivalent to a chimpanzee was a degrading fact from which he could draw no implications about how to live or behave. It wasn't instructional. It was defeatist. I'm not saying that we should reject the idea that we're descended from Chimpanzees. We very well may be and provided we're not bothered by that then fine. But one must have ideas for pragmatic and practical reasons. They are meant to drive and further progress which is it's own challenge. A lot of our problem nowadays is that we're firm believers in universal solutions. Buckhead (30327) is the second wealthiest congressional district in the country (behind 90210) and we're sending our kids to cookie cutter programs with cookie cutter lives. And you know what? They will be cookie cutter adults that do not live up (on average) to the success of their parents. This is me predicting dangerously. The problem is that we need people to innovate but the parents aren't thinking that. They're not thinking we need to make sure our kids have the same crazy and ridiculous diversity of experience and adversity we had to be successful. They're thinking lets go to a safe, non-threatening, homogeneous place to raise a family that's as conforming to our idea of the good as possible. And that's largely what Buckhead is. It's kind of disgusting actually. The whole notion is that of group-think and not in the collaborative, open source, everyone can contribute everything kind of way. Buckhead is not a wiki. The problem with this is that kids aren't being taught to think for themselves, they're not being taught to find their own solutions to their own questions. They're not necessarily taught that the question (or to question) is important. And universal solutions don't work. We're slowly learning this. The trick is local solutions to local problems. Domain-specific versus Domain-inspecific. Anyway, I've got to run but more on this later. And everyone pray or wish luck on me between Noon and 2 o'clock.

    Quick Poll

    posted on 2007-06-16 18:50:00

    Dear Lazyweb,

    If I had to get a domain name ( what should that it\something be? I was thinking but I'd love to hear others peoples opinions, ideas, suggestions. Let me know in the comments.


    Fifth Friday Linux Lesson

    posted on 2007-06-16 04:31:00

    Dear Readers,

    Due to unforeseen events that have slightly scrambled my brain there will not be a Linux Lesson today. In the interest of maintaining quality and not just banging something out I will wait to write and post this entry. The odds are great that it will arrive tomorrow. I apologize for the delay and thank you in advance for your understanding.

    Brit Butler


    posted on 2007-06-15 18:55:00

    I remember when my hand was cut and I snuck over to your house on the first day we were together and you bandaged it.
    I remember when I cooked you salmon and we made love, in my bedroom.
    And so this is life. Rich, more than we are able to absorb in all it's facets, too rich for us.
    Rich, beyond comprehension. Full, beyond belief. My cup overfloweth. And I know not what to do.

    Take 5

    posted on 2007-06-14 18:35:00

    I thought I'd take a quick break to make a work post. Things have been crazy lately and work's been hard but it's also been rewarding and I think I'm learning how to manage the stress. I went to the gym for the first time in a few weeks last night and also started reading my next book, The Future of Ideas by Lawrence Lessig. For the record, I adore Lessig. I think he's a bit brilliant and I'm sure he'll end up in my next tuesday quotables. Note: With Lessig, it is not necessary but helps if you have a bent for intellectual property notions\law. Also, I really need to make some mixtapes before I go to the beach (July 14-21). What would you put on a beach trip mixtape? Note: This is not a Cancun-crazy-party-beach-trip, this is a grayton-beach-outside-seaside (which_has_unfortunately_gotten_kind_of_huge) cozy-villa-beach-trip. Think me on a screen porch playing some blues on acoustic guitar while mom and dad sear tuna and rain falls on a tin roof.

    Fifth Monday Update

    posted on 2007-06-11 22:50:00

    Summer: Week 4: Finished
    Finish Cradle to Cradle.
    Start next book.
    Met with Dr. Guzman at SPSU. Talked Functional Programming.
    Worked on VMs. Figured out server problems.

    Still Didn't: Programming Chapter 2! To be rectified today.
    Unexpected: Arch Linux Hack Guide (90% complete), Good technical writing (Software's Top 10 post). Finished Hackers & Painters by Paul Graham.

    Summer: Week 5: Schedule
    Take Cody (my wonderful 13 year old Shetland Sheepdog) to the vet for annual checkup.
    Programming Chapter 2.
    Running at the park with Dad?
    Start next book: Infotopia, Wealth of Networks, or Emergence. Probably Emergence.
    Running at the park with Dad?
    Chill (Programming Chapter 3. Install empathy (from source if necessary.))
    Finish the Arch Guide.

    News for 6/11/07:
    First, like clockwork another version of Empathy has been released: 0.7. This is unbelievable. Xavier Claessens is making point releases faster than my car's running out of gas. God bless him.
    The Compcomm developers are finally getting embroiled in discussion about releasing 0.1. Keep an eye on that mailing list. We're getting there.
    In a rather shocking development, Alex Ionescu has left the ReactOS project after rewriting over half of the kernel and effectively serving as project lead for several years. Alex left on amicable terms and there is someone to replace him so things should move along on schedule however the team will be skipping this month's 0.32 release to drop 0.33 on us in July.
    SymphonyOS has finally dropped a release after about a year's silence with 2007-06. I've got to say though unless the project picks up significant momentum I feel like they should just focus on the Mezzo desktop and drop the rest of the OS development.
    This has also been a good week for the ATI driver based on various postings to the effective newsletter, so I'm pretty pleased.
    It's been a surprisingly large week for more general scientific developments as well:
    Researchers at MIT have invented the first wirelessly powered lightbulb. That's right. They've unplugged us. I leave to your imagination where this goes next.
    Some crazy folks built a device that can simulate the effects of a hurricane. I just don't know.
    Advances have been made in convincing stem cells to morph into various kinds of tissue.
    A startup called LS9 is building hydrocarbon-based biofuels using synthetic biology. Expect synthetic biology to play a big part in saving the planet.
    Candidate genes for 7 diseases including cardiovascular disease and diabetes have been found thanks to a gene testing chip roughly the size of an iPod or Blackberry.
    Finally, a new record has been set in Quantum Cryptography by European researchers. More generally this is an advance for Quantum Computing which offers numerous promises over computing as it is today. Any advance in how we handle qubits is a good advance.

    Almost Perfect Arch Install Guide

    posted on 2007-06-10 10:28:00

    I'll fill in the blanks for the curious and also just to have this in a bit more well-documented format later. I still need to get the vncserver up and get pypanel working. Besides that this config is 95% there. Maybe I'll throw the other LAMP pieces on there later and run Ampache or something (Apache, MySQL, PHP). Then again maybe I should do it with cherokee, jetty, or lighttpd. We'll see. Oh, and it needs an IM client. I'm sort of holding out for empathy. Additionally, I may update all this to get it to run Compiz standalone rather than Openbox at some point. Screw DEs (Desktop Environments) though. This is purely an exercise to get away from them and see what I think of a DE-less universe.

    Install ArchLinux
    Edit rc.conf: change hostname to "redlinux" or whatever you prefer, change eth0="dhcp", set timezone.
    Set password. Fix fstab how you like it. Install grub or not.
    Reboot. Login as root. adduser redline. pacman -S sudo. add redline to /etc/sudoers. logout. login as redline.
    sudo pacman -S xorg openbox pypanel obconf lynx xf86-video-ati libgl-dri rxvt-unicode vsftpd feh thunar firefox slim xterm flashplugin j2re openssh vnc xinetd gtk-theme-switch2 gtk-engines alsa-lib alsa-utils gmrun quodlibet totem ttf-ms-fonts ttf-dejavu ttf-bitstream-vera gnomebaker abiword codecs conky xchat
    run xorgconfig. make sure the mouse is set to /dev/mouse. run "cd /etc/xdg/openbox", "mkdir -p ~/.config/openbox", and "sudo mv *.xml ~/.config/openbox". add "slim, sshd, alsa" to the daemons field in rc.conf. run "sudo nano /etc/hosts.allow" and add "sshd:all" to the file. run "nano ~/.xinitrc" or if necessary for write privileges "sudo nano ~/.xinitrc". comment out wmaker and add at the bottom:
    "pypanel &
    conky &
    urxvt &
    feh --bg-scale "/path/to/yourimage.jpg"
    exec openbox"
    run "sudo nano ~/.conkyrc" and make it look like this:
    "background no
    update_interval 1.0
    double_buffer yes use_xft yes
    xftfont Purisa:size=07.5
    xftalpha 1.0

    own_window no
    own_window_transparent yes
    own_window_type override
    own_window_hints undecorated,below,sticky,skip_taskbar,sk

    #on_bottom yes
    #on_top yes

    minimum_size 300 50
    draw_shades no
    draw_outline no
    draw_borders yes
    draw_graph_borders no
    stippled_borders 0
    border_margin 3
    border_width 0

    default_color white
    default_shade_color black
    default_outline_color black

    alignment top_right
    gap_x 57
    #gap_y 34
    gap_y 10

    no_buffers yes

    ${color black}$nodename - $sysname $kernel on $machine Uptime:${color blue} $uptime ${color black}- CPU Usage:${color red} $cpu% ${color black}RAM Usage:${color blue}$mem/$memmax - $memperc% ${color black}Down:${color blue}${downspeed eth0} k ${color black}Up:${color blue} ${upspeed eth0} k ${color black}Swap Usage:${color blue} $swap/$swapmax - $swapperc% ${color black} Disk Usage: ${color blue} ${fs_used /bin/bash}/${fs_size /bin/bash} - ${fs_free_perc /bin/bash}% Free"

    then run "sudo nano ~/.pypanelrc" and add:


    BG_COLOR        = "0xfaebd7"    # Panel background and tint (Antique White)TASK_COLOR      = "0xffffff"    # Normal task name colorDESKTOP_COLOR   = "0xffffff"    # Desktop name colorCLOCK_COLOR     = "0xffffff"    # Clock text color


    SHADE = 64

    ABOVE = 1 # Panel is always above other appsAPPICONS = 1 # Show application iconsAUTOHIDE = 0 # Autohide uses the CLOCK_DELAY timer aboveSHADOWS = 1 # Show text shadowsSHOWLINES = 0 # Show object separation lines"

    SHOWBORDER = 1 # Show a border around the panel"

    run "sudo gpasswd -a redline audio", then "amixer set PCM 85% unmute", and "sudo alsactl store".finally, run "nano ~/.config/openbox/rc.xml" and add a keybinding for gmrun like this:"<keybind key="A-F2"><action name="execute"><execute>gmrun</execute></action></keybind>"

    That's about it.

    Fourth Monday Update

    posted on 2007-06-04 20:52:00

    Summer: Week 3: Finished
    Filled out forms for SPSU apartment.
    Got in contact with SPSU Computer Science professor. Arranged meeting.
    Saw Knocked Up.
    Accidentally helped out scads of strangers on LJ!

    Still didn't: Programming Chaper 2, GYM! Double Shame on me. This must get rectified this week.
    Unexpected: Read bunches, figured out fall living situation, saw a good movie, and helped people.

    I'm gonna be honest. Somehow I just realized that it was summer this weekend. I think it occurred to me that traditionally summer just meant I played video games all day but what struck me was that if I wanted to I could do that! Can you believe it? Guys, SUMMER IS HERE!?

    Summer: Week 4: Schedule
    Work out Budget based on past expenses, expected income.
    Work on VMs a little.
    Finish Cradle to Cradle.
    Meet Juan Guzman (CS Professor) at SPSU at 4:15.
    Start Infotopia or The Future of Ideas or The Wealth of Networks or something.
    Music Library Work.
    Chill. (Reading, Music Library Work, potentially build Empathy from source and install CompComm if it's out.)

    News for 6/4/07:
    First, Empathy 0.6 was released. Talk about release early, release often. These guys are on fire.
    Fedora 7 was also released to the world. While this release isn't particularly noteworthy for it's technical achievements it is noteworthy for it's infrastructural or community achievements which may facilitate greater innovation and work in the future. Here's looking forward to F8.
    The team over at PCSX2 released a progress update. Good to hear from them.
    Good progress is being made on the battle against the NSA's Illegal Spying Program.
    Apparently there are fungi that make energy from radiation. They eat it the way plants eat sunlight in photosynthesis. Interesting.
    Microsoft talks about surface computing but I'm more interested in Perceptive Pixel with Jeff Han. This does make it look like Microsoft wants to move out of the desktop war though which is intriguing.
    James Watson has a copy of his own, personal genome. That's just cool. Personal genomics is around the corner and who more fitting to be a first customer than Watson? Personal medicine is around the corner too.
    People are looking into using superconducting cables in Manhattan's power grid. Damn.

    Livejournal Problems

    posted on 2007-06-02 07:24:00

    Some of you may be experiencing problems posting. Apparently, various livejournals\livejournalers are unable to post entries beyond a certain length. I'm unclear on what that length is but I've found a way around the problem. Use this link to post your entries from a web proxy: "" and it will go through. Just enter the link, fill out your username and password but don't login and then type out your entry and hit submit. Done and done. Personally I think the problem is linked to your IP address but if it works who cares.

    Breaking Livejournal

    posted on 2007-06-01 23:06:00

    You may have noticed that I didn't make a Third Thursday Literary Lines post yesterday. That's because I broke Livejournal. I wrote a post, hit the post button and then went to change the status of the post from private to public as it was posting. The post didn't go through successfully and I haven't been able to post any number of things to my livejournal from my computer since. I am posting this from a friend's computer and suspect it will go through after which blogging will resume as normal with the (belated) Third Thursday post and today's Third Friday post.

    Don't ask me how I knew this would fix it.

    Stupid Web apps.

    Third Monday Update

    posted on 2007-05-29 05:46:00

    Summer: Week 2: Finished
    Music Library Reorganization (Begun)
    Further Arch Linux Configuration
    Including unexpected crazy reinstall and Openbox experimentation
    Unbelievable Amounts of Sonya Drama
    Withdrawal from OU Fall Courses
    Still Didn't: Programming Chapter 2, GYM! Shame on me.
    As mentioned: Arch hacking involved much more experimentation than expected, also more learning.

    I also haven't mentioned to anyone yet that I had a job interview Thursday and I got the job and start tomorrow. I hope someone reads this and congratulates me cause it's a pretty bad ass job. I'll be helping with the Linux Systems Administration (working with everything to VMware ESX Servers to Apache\Tomcat machines). It's with a pretty reputable (from what I gather) sustainable architecture\design firm called TVS on the corner of Peachtree and 15th high up in the Promenade Building. I even get a parking pass...woot. Anyway, my hours are initially 7am-3pm T,W,Th. TVS also has offices in Dubai and Chicago and have worked lately on the new CDC campus.

    Summer: Week 3: Schedule
    Sonya before\until 5
    It's my friday night party out probably.

    *= Summer Reading has begun. I've gotten a number of the books on former lists or syllabi I've made. So far the summer reading list is as follows: Just for Fun by Linus Torvalds and David Diamond, Emergence by Steven Johnson, Sync by Steven Strogatz, The Wealth of Networks by Yochai Benkler (YES!YES!YES!), Infotopia by Cass Sunstein (also great), Worldchanging by Alex Steffen, Code by Lawrence Lessig, Introduction to Computing Systems by Patt and Patel, and The C Programming Language by Kernighan and Pike.

    News for 5/28/07:
    First off, Dell finally made their big announcement this past Thursday. We've known it was coming since "the big day" which I kindly added some insightful commentary to in that link. I promise I'll actually try to say something useful about this finally in the next day or two. Also, I might just delve into a lot of the mac\linux thoughts I've been having lately.
    Compiz and Compcomm Gits have grown somewhat quiet...and a poll went up on a name for Compcomm just today. Packages are soon to follow.
    NJ Patel has done a lot of work on the Avant-Window-Navigator codebase and dropped a few updates.
    And Oliver McFadden, that champion of men, is back in the Mesa git tearing up the R300 code. My hero.
    Kerneltrap posted some interesting commentary on crash dumps.
    Empathy 0.5 was announced. There are no packages yet but I'm definitely keeping my eye on this.
    The GNOME roadmap was also released. And people are still doing work on semantic filesystems, which makes me happy. But I also say just port ZFS already. Apple's doing it. They want a free ride.
    Novell is sorry for their patent blunders and idiotic agreements with Microsoft. Really.
    A very interesting commentary slipped through the cracks on me.
    Someone has brought up one of those good ol' ideas that seem to be ever kicking around under the surface.
    Sun says screw Microsoft's patent threats, if nothing else, we've got your back (to Ubuntu, Red Hat, et al).
    It sounds dumb but nanoglue. Nano-scale manufacturing needs something.
    Hydrogen fuel from starch. That's one way to get abundant energy. Maybe.
    Some good work on embedded electronics in textiles. Here comes fashion.

    Second Monday Update

    posted on 2007-05-21 23:29:00

    We'll start with a summary of last week.
    Summer: Week 1: Finished
    Bank Deposit\Finances
    Econ Ch. 13, 6
    Start Programming (C, Python, or a Functional Language {Haskell, Erlang, OCaml})
    Talk to Mom about Blockbuster Movie Delivery. Begin Piracy Scheduling. Or open Netflix account.
    Gym x3
    Work on repartitioning System for Space. Switch Arch to Else? Yup. Fedora 7.
    Unexpected Projects completed:
    Getting Rid of Windows Partition and Getting Windows running as a VM (Virtual Machine) in QEMU
    I also made a fresh arch install and had some good fun pirating some things and uploading

    Summer:Week 2:Goals
    Kower\Econ Articles
    Music Library Re-organization
    Further Arch Linux Configuration (possibly try alternative WM (fluxbox?))
    Kower\Econ Test??
    Computer Programming Chapter 2
    Econ Test
    Anything Left at Oglethorpe (Econ)
    Signatures on Withdrawal Forms for Fall

    News for 5/21/07:
    First off, there's an update on Dell's Linux offerings on the Dell blog. It's noteworthy that they appear to be helping work on hardware support for Linux. I hope that means ATI/Nvidia support.
    On the open source ATI front, Dave Airlie has announced a new release candidate of the ATI Driver.
    There's been, as usual, a ton of activity in the CompComm git but it's interestingly centered around packaging and organization. I think we're getting closer to 0.1!!!
    Purdue University had a big week, complete with an advance in fuel cell technologies that brings us much closer to hydrogen fuel and some folks at Michigan State University have made advances in corn-based biofuels.
    The University of Delaware has produced the first silicon-based spintronics device.
    A very clever start up called Soliant Energy out of California has come up with a much more efficient way to do Solar Power.
    Blizzard announced Starcraft 2!
    And NJ Patel showed back up after a near 2 month absence and is continuing work on some of his exciting projects like the Avant Window Navigator, Tracker, Affinity, and Arena. Good to have you back NJ.
    Finally, the magnificent OLPC project made it on 60 minutes. Intel is being dicks to them. Everyone who reads my blog, please stick with AMD. Really.

    Everything is Code

    posted on 2007-05-21 09:41:00

    So, we seem to be gradually acquiring a philosophy of code. Definitely not every member of the species is but there's this sort of growing awareness in certain groups that things really are ultimately pretty simple...and also code driven. It's not that information matters, it's that information is matter. The mathematicians might've been the first. It's hard to say but they definitely had some sort of head start towards this thought process\philosophy. Later the rest of the hard sciences started getting involved. Things really kicked off with the advent of Digital Circuits and Computer Science. 0s and 1s could be used to describe or simulate pretty much anything...given enough memory and time. If it's computable, the Universal Turing Machine can do it. Then something happened again, in 1972 Walter Fiers deciphered the complete genome of the Bacteriophage MS2. Genetic sequencing began to take off. Somewhere in this process, when we really began uncovering the power of the genome and the expressiveness of the genetic code our efforts naturally shifted from reading the code to writing it. Increasingly, we are discovering that not only the virtual worlds of the computer but our actual reality are programmable. We can cause chickens to have more wings, we can make E.Coli produce plastic for stitches stronger than those available, caused cows to birth gaurs, and Australia is looking into making Tasmanian Tigers walk the earth for the first time in 70 years by birthing them from wolves. And we have created entirely new genomes. Born that which did not exist. Hopefully, we will soon discover for the inorganic universe what we have discovered for the organic and virtual universes. Maybe one day we will even discover a code which governs the fundamental forces (gravity, electromagnetic, strong, weak).

    For now, I'm curious about the Genetic Code. Certainly, there is an analogue between the machine code of 0s and 1s and the Genetic Code or As, Ts, Gs and Cs. We could even define A as 0, T as one third, G as two thirds, and C as 1 to draw this analogue out a little further. I would argue that the growth of computer science was fueled by a number of things but lowering the barriers to entry for programming was certainly one of them. That is, nobody codes in binary. Even long ago, everyone coded in assembler. Now, I'm not entirely (or even remotely) comfortable advocating that the emerging industry of genetic engineering try to emulate computer science. There are way too many bugs in our programs. However, linguistically speaking, I'm curious if there is an analogue to higher level languages in computer programming such as Assembler, C, Python, Basic, PHP, etc and if there aren't such languages how one might go about creating them. Anyone have any thoughts on this?

    First Monday Update

    posted on 2007-05-14 23:12:00

    Summer: Week 1: Goals
    Bank Deposit\Finances
    Econ Ch. 13, 6
    Start Programming (C, Python, or a Functional Language {Haskell, Erlang, OCaml})
    Talk to Mom about Blockbuster Movie Delivery. Begin Piracy Scheduling. Or open Netflix account.
    Blank CDs?
    Write Tech Stuff?
    Work on repartitioning System for Space. Switch Arch to Else? Yup. Fedora 7.
    Prepare for Econ Test
    E-Mail Charlie Paparelli something. Job hunting.
    Econ Test

    News For 5/14/07:
    ATI Claims Plans to Improve (possibly open) Radeon Drivers on Linux. Big Deal if they follow through but much skepticism.
    ATI releases R600. More Forward-Looking than G8x by Nvidia but also 6 months late. Need to play catch up a bit. Performance competitive but verdict still out.
    Microsoft has decided Open Source is in violation of 235 of their patents. More on this later perhaps but generally considered a nuisance rather than a threat. (See groklaw.)
    Intel is concerned about the slowness of software in catching up with their multicore roadmap.
    The Supreme Court made a ruling on Patent Law and Prior Art that promises to help improve the Patent Cold War and also invalidate whole flocks of software patents.
    The price of polysilicon used in solar panels skyrocketed.

    Unheard Of

    posted on 2007-05-14 08:20:00

    Oliver McFadden has made 135 commits to the Mesa r300 code in a week. That's got to be some kind of record. I'm totally giving this guy a hand. Congratulations.

    Social Web One-Liners

    posted on 2007-05-05 07:50:00

    Okay, so I had this realization at about 7am this morning and I don't have much more to add to it. It was pretty obvious once I realized it but I think I'll state it here for the hell of it.

    I wrote some time back about Lessig and how the net has different levels of data collecting. I was characterizing web sites that collected information about you as bad and wondering about getting rankings for that sort of that thing so you could know what sites you were really anonymous on in some sense. Essentially though the web originally collected no data about who was on it and this anonymity was seen as good. As the web has taken on increasing functionality it has increased the data collected about users and the idea of anonymity of users has been subsumed by that of virtual identity. It allows the web to be more productive. I'll probably clean all that up later but the crux of it is the more we've moved forward in time the more data has been collected and the more the notion of online privacy (at least to the extent of anonymity) has become marginalized. Thusly, the social web has flipped the notion of online anonymity on it's head. In some sense, instead of being about not collecting information about you it's about collecting and disseminating certain information about you.

    So, the one-liner: "The social web's (web 2.0/web NOW/uggh) idea seems to be to collect and publicize data about you as a service to you where the traffic or ads you generate through using the service sponsor/monetize it!"

    Of Revolutions, or sometimes I think I should just act as a news feed\aggregator

    posted on 2007-05-04 00:17:00

    May 1st was a watershed day. It was a big day for digital revolutions for two reasons. One, Dell announced they would be selling machines with Linux pre-installed. Two, HD-DVD encryption was broken and when media companies tried to censor this fact the web denizens responded in a massive virtual riot. The tenuous connection between those two things is that they both demonstrate the growing power of networks over hierarchies where structures of organization or authority are concerned. I realize this may seem a ridiculous or unsubstantiated claim and if you want I'll argue it with you personally or in the comments. To start though I just thought I'd post a few links.
    First, a link to the official dell announcement: Ubuntu on Dell. Yay.
    Second, a nice visualization of the extent of the HD-DVD rioting: 900 thousand google results when I searched regarding the riot.
    Third, news stories about the HD-DVD rioting: from Forbes, and the New York Times, twice. I'm sure there are others.
    Finally, a few different views and examples of the protest: Youtube, IPv6 addresses, an Image Puzzle, a Song, a flickr search and our new celebrity of course has it's own website. Two, in fact.

    While I feel these produce a pretty good pastiche of May 1st's two events and their significance it may not be fully evident. If that's the case, let me know in the comments or contact me and I'll try to explain it in a short but thorough post later. I may just do it anyway...

    Update: Added the flickr search link. Very cool. Also wrote that second piece but it didn't end up being so short.

    Unless otherwise credited all material Creative Commons License by Brit Butler