Wednesday, September 30, 2009

Netbooks

I recently purchased a new netbook. I chose the Samsung N120 and I have to say it's been one of the best purchases I have made in the past year. The Samsung is great but I think its more the idea behind and the capabilities that having a computer with me wherever I go that makes it so attractive.

As I have mentioned before I am a Computer Science undergrad and that means, you guessed it, a lot of computer based assignments. Having my netbook is great because even in those 40 minute breaks that I can't get to the lab I can still get good work done.

When I first got it, it came with Windows XP loaded. I added the Ubunutu Netbook Remix on so I could dual boot the system but I quickly realized that the GUI layout was dumbed down so much that anyone attempting to utilize any power user functionality would be completely hampered. I should have waited but in my haste I attempted to remove the netbook remix so I could put the full version on there. Unfortunately I went too fast and ended up corrupting XP beyond repair. After lots of time trying to fix XP I finally gave up and put Ubuntu on as the single operating system.

After that large ordeal I couldn't be happier. Ubuntu runs like a charm and this experience is finally forcing me to get up and truly learn Ubuntu. There is a known bug with the Atheros wireless cards but after about 2 hours I finally found a fix that worked. (Here it is if you are having the same problem)

If you have been flip flopping on whether to spend the money I would strongly advise you to go ahead and get it.

Saturday, September 26, 2009

The wonders of local thespians

Last Night the girlfriend and I went to go see a play put on by a local thespian society. I will admit that I was not too excited to go but the experience turned out to be very different than I had expected.

We arrived at around 7:15 and were shown up the stairs the society had the entire third floor to themselves and the area had a quaint feel to it. It consisted of a ticket window/bar/concessions stand, some couches, a stage, and about 50 chairs.

The play, "One Flew Over the Cookoos Nest," was lively and fun. It made me happy to know that little places like that still existed. If you can I would suggest looking up your local thespian society and going to one of their plays. Bigger isn't always better.

Thursday, September 24, 2009

Reflections

I am starting to put the finishing touches on a watered down version of and SQL library and wanted to record some of my reflections regarding the project.

1. Plan, Plan, Plan, and then plan some more: Not enough planning was done on the project and this caused us lots of hardships later on down the road. I feel as if we were able to recover but a better api could have been created had we planned more in advance.

2. Focus on performance the first time around: I generally have a high focus on performance while I am coding but when the project got big and I got tired I felt like I got sloppy and the performance suffered. I am now going back and optimizing but if I had just done it the first time around I would have saved myself some time.

3. A single function should never have more than 5 arguments: Sadly due to poor planning we were forced to have a function with 9 arguments. Four of these have default values but calling the entire function feels like a chore. No one should do that to another programmer.

4. Error reporting is key: We did a pretty good job of error reporting and it has been helping tremendously to the user.

5. Don't drag your feet on testing. I am not a big fan of plugging in numbers to my code and hoping that it works. Testing can sometimes feel degrading and serve as a stark reminder of your tiny stupid mistakes. Testing an entire set of functions in one night though is worse. Test as you go and you won't have to bother with it later.

All in all the project went well. We did a lot more than I thought we had to but it was enjoyable to do. A good exersize for any aspiring student of programming. Who knows? You might fall in love with databses.

Tuesday, September 22, 2009

Brand new programming students

Many students enter the computer science field expecting to stare at a computer for eight hours a day writing code. What many students will come to find is that generally this is not true. While coding is an integral part of computer science the true hunk of what makes a good computer scientist good is not his or her programming abilities but his or her ability to formulate efficient algorithms. Learning a language inside and out is a great skill to have and will help further ones knowledge of the field but this skills usefulness may be short lived. Just 15 years ago no one had even heard of or wanted to program in Java but it is now one of the largest and most widely used languages in the world. With the shifts from one language to another moving as fast as they do it is wise for students to focus on their studies of algorithms and not so much the intricacies of certain languages.

Companies in today’s market are searching for good engineers not code monkeys. Microsoft even has a position titled "Program Manager" and many Program Managers are usually assigned to a project. The Program Manager is typically a computer scientist who almost never writes any code. Instead they focus on the overall design of the software and how the different components will fit together.

Therefore if I may offer new students a word of advice it would be this. Complete all your assignments in lab and seek to gain knowledge in your language of choice however pay closer attention to the algorithms you are using your language to represent and the general principles that the assignments are attempting to display.

Welcome

Welcome to my blog. The first post is always the most thought about yet the least read and I have no intention on breaking that relation.

To star, here is a small background:
I am a Junior Computer Science Major from Texas A&M University and I am enjoying every second of it. I graduated High School from a public school north of Dallas in 2006 and went immediately to college. I have worked at a large defense contractor with two summers of background in hardware and one summer as a systems engineer designing and maintaining snmp networks. I have also served as two semesters as a peer teacher here at A&M.

Goals for the blog:
I intend on this blog primarily focusing on software and programming related issues but don’t be surprised it some of my other interests creep in as well. I expect to be making multiple posts with small tidbits of information for learning students to help them avoid the misunderstandings that I was victim to or have seen happen to my students.

Conclusion:
Once again welcome and I hope you enjoy. Feel free to post comments on any of my posts however please keep them family friendly.