Friday, July 8, 2011

I tweet too much, so I'm blogging this (beautiful code)

Warning: I am going to be rambling because I am bored and I need to take a mental break, whenever that happens I usually read technical articles, watch politics, or use twitter. Anyways, I realize the more I read, the more I want to lecture people, but at the same time I try very hard not to be annoying because time is a resource and I don't want to annoy people with my lectures. So now, I will be writing my ramblings, I don't expect anyone to read this crap, but sometimes it's just fun for me to go back and read the stuff I was thinking years later. Now back to the main topic.

I am writing some python code for Litter (LAN Twitter), and the more I write the code, the more I feel it is the most beautiful piece of code that I have ever written. I am using threads properly with a synchronized queue object in python using the message passing model that both Dr. Boykin and Tanenbaum advocates. I am doing unit testing for each functionality, and I am also defining the __doc__ strings in Python. Also, I am also using SQL lite, so I'm trying to optimize storage, and using PRIMARY KEYS to get logarithmic lookups and all that fun stuff. However, although I am having all of this fun, it's taking me forever to write this code. Great software engineering is very sweet when you feel like you are following all of the rules, but they get annoying when you have deadlines. I wish I did not have any deadlines, but then I think of the many great software projects that never took off such as GNU Hurd, because they stuck to ideology or (coding purity). Anyways, sometimes I don't care, I try to stick to ideology, but sometimes, I do care and I just try to get it done. I look at Stallman, he tries to stick to ideology but people see him as fringe and eccentric. Anyways, I really enjoy writing this code and I want to do it right. It's going to take me forever, most people will assume that it's incompetence or laziness (maybe it is, maybe it's not), but I'm enjoying writing this code and taking my time doing it. I try very hard not to make coding a job, but a fun pasttime, like playing basketball, or walking to campus while listening to music, or using Google reader to read my tech articles. If it feels like a hobby, my mind provides less resistance, hence more productivity. Finally, I'm writing this beautiful code, and I'm excited to see what comes of it. But I may have to put it on hold because I will have higher priorities that I need to fulfill.

P.S. - Blogging, tweeting, Facebooking is my way of describing myself to the world so that people will know exactly who I am and there will be no surprises. By giving people as much data as possible about who I am, they can make the most informed decision about what role I can play in their lives (most times, no role at all I guess). Until next time, Internetland. Shoutout to P2P, Free software, and Stallman.

No comments:

Post a Comment