There is never enough time
I recently interviewed some students in the co-op program at Concordia University for an internship position this summer. Overall I was quite pleased with the quality of the candidates. There was one conversation that really stuck out for me. Each of the students was asked what they did outside of school to keep up to date with technology and learn on their own. About half of the students gave me examples of extra-curricular projects they worked on, part time jobs that they had done that were related to the technology field, or just programs they had written for their friends, their relatives, etc. The other half came up with the excuse that in the co-op program it was just too much work to be able to handle doing extra stuff. I'm not quite sure why the co-op program is more work than a regular program, assuming that people in the regular program go get a job during the summer, but that is an aside. My main concern for these students is that if they get a real job, and perhaps a family, and home to look after, there is not going to be spare time to stay up to date with technology. You have to make the time. Regardless of how hectic your schedule is, I believe that is essential that you spend time on stuff that is not assigned to you. If you don't, you will become a slave to whatever work is given to you and never be able to develop your own career direction. Interestingly, the people with the extra-curricular activities had the higher GPAs!
Why I like hyperthreading…
One of questions that I had before buying my latest desktop was how beneficial is hyperthreading. I read all the performance reviews that compared the hyperthreaded P4s to their single threaded brethren and the concensus was pretty much that for today's applications there is little benefit. Applications need to be written to take advantage of multiple CPU's before any benefits is gained. The problem that I had with these benchmark reviews was that it only really took into account running one application at once. For gamer's I can see how that makes sense. For doing software development work I can easily find myself switching between 5 or 6 applications constantly. One of the most frustration experiences when working in this scenario is starting an operation in one application and switching to another, with no response. The first app is hogging the CPU and you are stuck twiddling your thumbs until your PC springs back to life with a flurry of window swapping. What hyperthreading effectively seems to do is limit one application to 50% of the CPU. This guarantees that when you choose to go something else whilst you compressing that 500meg zip file that you will have some CPU horsepower left. Obviously the downside is that your Zip file does not compress as fast it might. I don't care too much as there is always something else I can work on in the meanwhile. It may not be the right choice for everyone but it works for me.
Some people are missing the point
Steve Main has a great article on web services, the current implementation methods and why so much of the current debate is pointless.