An Unexpected Position

UT is now back from spring break, which means that after a relaxing round of putting some time in on reading for pleasure and working on fun stuff cough cough mwoarena cough I'm now back at school with new due-dates and assignments in hand. Coincidentally, I'm already behind on my various assignments while new and interesting things to do are popping up as fast as I can write them down. Buisness as usual that is, but for that I'm now tracking my time.

As a personal dicipline, I got a faux-leather notebook about 2.5" x 4" and have been conciously logging todo items, ideas and my time usage in this one book. This makes it easy in theory to look at my time and go "oh hey, this is the sink". The reality is that it seems I don't have any of the suspected sinks. The obvious things on which I could blame a lack of productivity is the bottomless time sinkhole of news (HN and Reddit largely) and gaming. Rather the sinkhole seems to be what I have long pretended to be work: Writing Clojure code and lurking on Freenode's #Clojure channel.

What brings me to this conclusion? One word: Sad. Sad is a non-trivial program which as the git log reflects I hacked in what ammounts to a single three day sprint. The resulting codebase is the first Clojure code I've written which I think is both clean and stable but that's besides the point. Sad freaking does code generation! I mean how many programs can claim to eat arbitrary ammounts of BNF and generate a valid parser? Yeah, I thought not... Only mine! The parsers are even human-readable and approximate human-generated code thanks to some serious macro hacking with the ~' symbol prefix.

Then this afternoon rather than do the physics homework itself, I went and wrote Imprecise which is designed to automate the sort of toleranced arithmetic operations which the physics work was calling upon me to perform.

Now I think that both of these are great tools... if I didn't I would be ninja deleting the github repositories and adding the codebases to the list of things I want to clean up some day when I "get free time" or whatever that means. However while they may be great tools and they were valuable exercises in some of Clojure's internals writing them was a poor choice in time management. In the longest term, having these tool kits will pay off... I can do my homework faster and implement more complex grammars now which is great... but I still didn't finish the physics homework before it was due yesterday because I was sinking time into those two. And yet here I sit typing a blog post rather than sleeping, thus further handicapping myself for the morrow.

Creatures of Habbit

One issue is that I'm trying to change a whole lot in one go. First of all I am used to a 2am bedtime and a 7am wakeup, a sleep pattern which is above all in the long term unsustainable and which I feel is contributing greatly to my general lack of focus. I'm trying to transition to a 10pm to 6am sleep schedule followed by a morning workout. In three days of supposedly being on this schedule however I've only managed it once. Add to this mess of change in habits and sleep deprivation that I'm exploring aderall with my doctor and I'm just all kinds of messed up at present.

And the trick seems to be that I need to avoid my old habits. Certain behaviors such as hanging up my backpack and sitting down before my big desktop computer are strongly related to goofing off. The ritual is that I'll browse HN, maybe r/gifs if I'm feeling stressed and exhibiting more avoidance behavior than usual followed with high probability by a reboot into Windows where I waste the rest of the evening playing games.

Yeah. I don't do a lot of homework at my desk.

So I need to stop trying to do so. My desktop isn't portable and I'm not going to get rid of it so I need to work elsewhere. I shouldn't even bother returning to my room until I'm ready to goof off if this is the habitual behavior to which that is associated. Not because I don't want to weaken that behavioral link.. but because it is easier for me to avoid that routine by just swapping out books grabbing my ultrabook charger and heading for a common room or library to study.

Picking and Choosing

Today we had an organizational meeting for UT Austin's 2013 SCC team, we agreed on three of this year's team members: Julian Michael, myself and a TACC affiliated student I don't know yet who provided support for our efforts last year. I believe that there are six first timers vying for the remaining three slots. Anyway point is that I'm now looking at the SC stuff and going "oh I should get Cobbler and Rocks virtual clusters set up on my machine so that I can get used to adminning them again." and "Oh I should go check out the various machine scheduling systems for supercomputers and do some tests of how well they schedule competiton-like loads" followed by "Oh I should roll my own scheduler and while I'm at it why not apply a simple genetic algorithm to optimizing the program parameters?". Each one of those ideas is realistically a full weekend project and I have these at the rate of about five or more a week. Less on the aderall, which was part of my hope but when I'm around other people ideas just seem to flow.

So I kick off five or more semi-viable ideas a week... and of these I need to pick one, suppress the other four and keep that one project on a tight leash so that I don't go on two day sprints like the one that the git log shows for Sad's development timeline. And I think that the answer to the tight leash as with the gaming is just not letting myself get into that swing until I have time that I can burn churning out code for some project.

One thing I can do to help manage this is stop using emacs .desktop files, meaning that when I kick off a new editor session that I don't resume the context of whatever project I was working on last. Another thing I can do is rework how I carry my little black notebook to try and make dumping ideas easier, or start using an emacs tool like org-mode or deft since when I'm not standing odds are I have my ultrabook out and am in a position to jot down notes in a text editor.

Priorities

While these are good tools and valuable analysies, the bottom line is that I need to make the concious decison that my school work comes before any personal project and that's the end of it. It's an admission which I just have to make and it represents a fundimental shift in my approach to school and life yet it is one without which I don't think I will ever be able to function.

And with that off to bed.. at least I'll get six hours tonight rather than five. At this rate I should normalize sometime mid next week. I can only hope.