Over the last few months I have been suffering from some bouts of senioritis. Nothing fatal, but it’s set me back by a few weeks, especially for my long-term projects like my thesis. At the same time, I’ve come to realize that every semester I start off with some grand plans but I just get too busy at the end of it to accomplish. Part of it is just being an engineering and computer science double major, but a large portion is also a flawed personal work ethic.
Though I make jokes about my laziness all the time, I do try my best to get stuff done. Unfortunately I’ve never managed to set up and stick to a formal plan of action. Most of the time I’ll implement a system or just put in more hours when I hit a heavy workload, but then I’ll stop once the busy period ends. That serves to get me through the hard times without affecting my grades (or making me pull regular all-nighters) but it also means that I end up wasting a lot of time and not working to my full potential during regular workloads.
I’ve been wanting to fix this situation for a while, but never figured out how. I use a to-do manager regularly and that helps to keep track of tasks that must be done on time. But it doesn’t help me make good use of the time that isn’t directly scheduled. Also I don’t want to block schedule all my time and live tied to my calendar and to-do list. I want my schedule to have some flexibility and variety, but not enough to cause choice paralysis.
I found the beginnings of a solution about a week ago, but I only formulated it on Monday. I read an article about forming rituals — things you do every day without thinking because doing it will help you reach a goal. The author uses the example of exercise — it’s something you just need to do every day without thinking. If you stop to think you’ll start coming up with reasons not to go to the gym. So what were my rituals? I realized that I didn’t really have any. I was working on a reactionary basis, reacting to homework and assignments and exams instead of getting work done every day — work that I enjoyed and really wanted to do.
I’ve decided to implement some rituals, but in a looser sense. I know that I can get classwork done on time because somehow I manage to make the time, but my other activities fall by the side. There are 3 main activities I enjoy but don’t do as much as I would like to — reading, writing and programming. So my rituals are that every day I will:
- Spend 30 minutes reading fiction. For now it’s classics on my Kindle right before bed time and then books from the library once I’ve exhausted that list.
- Spend 30 minutes reading non-fiction. This list gets fed by RSS feeds and links coming in via tweets. The actual reading will be either in Google Reader or in Instapaper.
- Write one complete piece. This will be a blog post (for The ByteBaker or the Lafayette Voices), a subsection for my thesis, or homework for screenwriting class.
- Write some code. Either something for my thesis or my computational art project. I’m hesitant to quantify this as I don’t know how. Definitely something to think about and come back to in a week or two.
All this does add to the amount of stuff I need to get done each day, but that’s the point. Till now, I’d be lucky to get two of the above done each day. I need to do all four in order to be the person I wanted to become (a well-read hacker with great communication skills).
To get the time to do everything I’ll be cutting down on the time I spend on email and randomly browsing the web. Anything interesting I want to read gets buffered in Instapaper for reading as part of the 30-minute non-fiction block. Hopefully I’ll completely eliminate the time wasted sitting around and wondering what to do (and the frustration that entails). But at the same time the rituals are flexible enough that I’m not strait-jacketed. The point is to show up and take away the randomness that might prevent me from getting things done. Will it work? I’ll find out soon enough.
Is Scheme faster than C? The cheapest way to make your code faster is to throw more hardware at it. But for a cash-stripped college student reworking the algorithm is probably a better idea. Here’s a suspense-filled story of how superior algorithm devised in Scheme and ported to C turned out to be faster than a naive C implementation.
On Writing Books for Programmers I think writing is an important skill, especially for programmers. Putting your thoughts in writing helps with the thinking process. But this piece looks at writing from another perspective — namely writing for (as well as by) programmers. It’s worth reading if you’re writing for programmers, even if it’s not a book.
Parallelism and Concurrency in Programming Languages Rob Pike is certainly a person worth listening to when it comes to programming languages. And of course concurrency and parallelism is all the rage nowadays. Put the two together and you have a lot to learn from this talk.
Firefox 4 beta Google Chrome might be giving Firefox some stiff competition, but the folks at Mozilla are definitely holding their own. Firefox 4 is getting an impressive set of improvements and features. I think their user interface model is better than Chrome’s in some ways (especially with Panorama). There are still rough edges and most extensions will probably not work, but it’s stable enough for people to check out and use on a daily basis.
The Bytebaker is a good few years old now and through most of that time it’s been a purely technology oriented blog. The readership has grown steadily, but I don’t take tons of readers and the ones that I do get are generally concentrated on a few posts (which are mostly Python related). Of late I’ve been giving some thought to what direction I want to take this blog in the near future.
There is a part of me that wants to keep The Bytebaker purely technology related. On one level it makes sense: it’s one website and it should have a concrete theme so that people who come here regularly know what to expect and find. But on the other hand, it’s written by one person — me, and I have more than one interest. I love music and movies and I’m trying to get back into reading regularly and I have thoughts about them that I would really like to share sometimes. But a lot of the time I either don’t share at all or it gets fragmented between here, my Tumblr blog or my static website. I’ve come to learn that maintaining multiple websites, like maintaining multiple computers, is hard and not something to be taken lightly.
With that in mind I thought it was a good idea to take a few steps and think about what I wanted to do with the Bytebaker and my other blogs and websites. In some ways I’ve been thinking about the path taken by Marco Arment and John Gruber. Their websites are technology-oriented, but also reflects their own personalities too. I think it’s a good format and something that would work well for me, because as I said, I think a lot about tech but it’s not all I think about.
However, I don’t want to just have a blog, at least not right now. I want to keep a plain static website for a number of reasons. I want a place where I can point people to if they want to know just about me, not my writing or thoughts. It’s a place to show off my projects and my writing which don’t fall nicely into a blog format. This involves papers I write for classes and things like short stories and poems that I’ve written. The blog is a great format, but it doesn’t fit everything. Since I plan on being an academic for a few more years, I also want someplace to put papers I’ve publish and things (like a resume) that would only be of interest to a small audience. I also want to keep experimenting with CSS and HTML5 without breaking my blog and a static site is the easiest way to do that.
Luckily I don’t have to decide between the two: I can have both. I already have a blog with a decent readership right here and I have a static site which is already a showcase of my projects and other writing. And the tumblelog I won’t miss much. For the time being I’m happy with just merging the Bytebaker with my tumblelog and getting a bit looser in the type of things I allow here. I’m going to rethink the categories here to reflect that. I’m changing the theme to the brighter, spacier DePo Square which is very well suited to the things I have in mind. No I’m not actually moving anything over because I don’t think there is anything really of that importance there right now. As for the website, I’m keeping it the way it is since I don’t have the time to rethink it right now. But in the end I want to be something like Professor Karl Stolley or Scott Chacon’s website: an overview of who I am with excerpts of my online activities.
I’m hoping that this change will bring with it shorter, more rapid posts offer a wider range of subjects (though probably still dealing with tech). Personally I hope it’ll remove the blocks I feel when I want to post something but don’t know where. It’s been a while since I’ve had a single unified blog and I’m rather excited to see how things turn out.