Sponsored Links



Archive for February, 2007

Mind Exhaustion

Posted in Techno Stuffs on February 17th, 2007

I have known myself to continue thinking about technical or academic issues even while asleep. Back in my school days, I am able to solve complex mathematical equations and comprehend previously read lessons even at sleep. When I started working, I continued to be this way, trying to solve bugs and server issues at times when I am supposed to rest my mind and body to rejuvenate myself. I don’t know why, but my mind seems to continue working if I have some unfinished business or something I wanted to finish but too tired to do so.

In the past few weeks, this had been the case for me. I’m currently working on a project that is giving me quite a hard time trying to figure out how to implement and interconnect the different classes or objects of the application. Let’s just say I’ve been given a framework or a bare API, and then explained to me how the application should work and that’s it. The way the application would work is pretty simple; client sends out a SOAP message to the server and then the server broadcasts the message to all clients with active sessions. There are of course other components, such as session handlers, inactive session monitoring threads, messaging queue initialization,etc. Simple, ei? That’s what I thought, until I got my hands on the keyboard and started coding.

After more than a week of 3-4 hours of sleep and almost 24/7 solution thinking, I noticed that I had started to experience what they call a “mental block”, and being logical with my codes was getting harder and harder, and my codes are starting to be crappy. It was like I’m just typing codes without really thinking. It was then that I realized that I need to do something about it, or end up not finishing the project at all, or maybe finishing it but it would just be full of crap. I also realized that I am not a machine that can continuously work without rest. But I think some machines need to rest too, just like a car’s engine that couldn’t really run 24/7.

So I decided to rest for a while and try to relax my mind. I tried to enjoy some fresh brewed coffee while star gazing at night, watch feel-good movies, and just enjoy other things that won’t require me to be in front of my PC. It was then that I felt that I’ve been rejuvenated and fresh ideas started coming in. It was one early morning while watching the sun rise that I was able to compose some solutions to the project I’m working on. Stream of appropriate codes started rushing through my mind, and it’s like the pieces of the puzzles are now making sense and going into the right place. That’s when I realized it’s time to code again, and this time around I was finally able to accomplish what was required of me on the project. ;)

Subversion At Last

Posted in Techno Stuffs on February 1st, 2007

As the title suggests, I finally got the chance to make use of Subversion. I’ve been a CVS guru for quite some time and I really think it has done a great job providing me with the things I need for work collaboration and source code management.

But last weekend, when I finally decided to make use of a source code management system for my pet projects, I took a glance at Subversion. Installing it was not really that hard and there’s a lot of documentation available when you Google around. So without looking at other options, I decided to install Subversion on my VPS.

As I’ve said, installing it was easy and there’s a lot of HOWTO’s out there so I won’t elaborate on that part with this post. I would rather express my first impression of Subversion rather than go into its technical details. Initially, it’s a bit confusing when you’re coming from CVS, since it has a different way of managing your source code tree and versions. Just look at its suggested directory structure:

/myproject/trunk
/myproject/branches
/myproject/tags

This means that under your project directory you have to create 3 subfolders named trunk, branches, and tags. Weird ei? CVS doesn’t really need such structure since it handles the directory structure of your project. I’m still not aware of the real advantage of this and I’m really curious to find out.

Anyway, with that said, I tried creating an initial tag for my project and based on the documentation of Subversion, this is done by creating a directory under the tags folder, usually named as your version number and then copying the source code you want to tag. This is automatically done though using svn commands or if you are a GUI person TortoiseSVN. So basically a new tag version of devel-0.1.1 would look like this in your project directory:

/myproject/tags/devel-0.1.1

I’m still confused as to what advantage this has to offer. For me, what CVS does makes more sense. Then again, I’m still a bit new about Subversion so my opinion may not really be acceptable for most people. I’ll soon learn a lot about Subversion, and I’ll revisit this first impression of mine. ;)

[tags]Subversion, CVS, Source Code Management, TortoiseSVN[/tags]