Software Rollout

One of the most common questions people ask is about software, which one is the best, most efficient, well maintained etc. I have my own opinions and have shared them on many an occasion. The pieces of software in question are: web browsers, chat clients, anti-virus, office suites, and spy-ware protection. I shall discuss each one, but please realize this is just an opinion and I am not an expert (yes person who googled this site, looking for someone to make fun of. I am a programmer, not a reviewer, this is purely from my perspective). Everyone needs to realize that outside of security concerns, software choice, is just that, a choice, use what feels comfortable to you, not what your friend tells you to.

Web Browsers

This might be the largest battle out there. Which browser do I use? The most popular are probably Firefox and Internet Explorer. IE which is maintained by Microsoft is probably the most scrutinized browser of all time, and Firefox which is maintain by Mozilla. I was a fan of IE for a long time, until I tried Firefox. Firefox has a great ease of use, and follows the web standards, so that websites you are viewing are being displayed as the author intended. Firefox is also very flexible, with plug-ins and skins allowing you to have it do and look like almost anything. I give it a big thumbs up. I’m not going to bash Internet Explorer, but yeah. BUT, I am an Apple user, so I have been using Firefox and Safari. When I switched to Mac, I instantly installed Firefox because Safari 1.0 did not support RSS or any other nifty features that Firefox did. When Apple released Mac OS Tiger, that changed and I used both browsers (because of the speed of Safari). But Safari at that point was still incompatible with a lot of web features. Apple recently launched Safari 3.0 for Mac and PC, and I can say that I am VERY impressed. I am using it currently (to write this article) on a PC, and on both of my Macs. It is compatible with newer web standards, and has the great speed I have come to love!Recommendation: Safari 3.0 (when it is out of beta)

Chat

This isvery easy for me. AIM is garbage. For PC download Pidgin (formerly gaim), it is a great multi-client chat client. Tabbed windows, support for plug-ins, and open source. For Mac, if you are going to video chat use iChat, but when you are not video chatting use Adium. See, easy stuff.

Office Suites

Another easy one. Microsoft Office is the industry standard. If you have the money buy it, if not investigate Openoffice.org. For the Mac, the new Office is due any time now, but until then if you are not set in you ways about MS Office, take a look at iWork. It is not nearly feature complete like Redmond’s software, but it has enough to get the job done, and has some very, very nice templates. Office 2008 for Mac should be what the Mac community has been asking for, but then again I have seen Office 2007 and well I’m not impressed. Stick with 2003 until the bugs have been nicked.

Anti-Virus/Anti-Spyware

In terms of anti-spyware, there was a great program out there called ‘Giant’ which we had used in the office for a bit of time. Microsoft bought this software and made it there own and named it Windows Defender. If you are a PC user, I recommend it. It is the most maintenance free software I have seen, and is easy to install and use. The close runner up is still Lavasoft’s Ad-Aware. This product has been there since the beginning for me, and is still in my arsenal when fixing a computer.Anti-Virus gets the Norton card. Symantec has been doing it for a long time. I recommend Symantic Anti-Virus Corporate edition. It is small, lightweight and does the job. Hands down.

My own 128-bit Integer

C8 02 7F AB 65 E4 50 B0 3F 0C 70 02 75 6D 01 97

The movie industry decided they could own a number, because it was the value used as a “processing key” that allows the decryption of copyrighted material on some Blu-Ray and HD-DVD’s. So another website decided to deed people 128-bit integers. I figured I should get my hands on one, just in case it becomes the thing to do. Wait who am I kidding this is just stupid.

Languages - a Rant

It came up today in conversation at work (I guess that is what its called), the differences between languages and which ones should be taught to students. Being that I have learned a good deal of the languages that are popular by todays standards I felt good about voicing my opinions to my co-workers.

At the University level at least at my school C is the initial language taught. It is seen as a necessary building block to learn other languages including Java and C++. While I can not deny that it is a necessary language, I do not agree that you have to understand this language to understand the others. C being a functional language (lacking object-oriented properties) is a tedious language to master, and many students in my opinion get lost in the syntax rather than the concepts of programming, or of good programming practices. Looking for mismatched braces and missing semi-colons can be a nightmare, not to mention trying to explain pointers to a student who has no idea about much of the programming world except the 1-2 months of Introduction to C Programming. I’m not saying that Java and C are any better but we are teaching students to be great coders but not necessarily great thinkers.

I had a GREAT professor for CS3 who really harped on the algorithms and not so much the code behind it, he left the code to us to figure out. I learned a lot that way, but I have to admit that most of my knowledge is stemmed from about 3 years of programming when I was in Middle School. I learned a language called Scheme which I guess from all of my education is a derivative of LISP. A functional interpretted language. I had one very nice point to it though. There was hardly any syntax to learn. If you could visualize the function in a black-box type manner you could code it in Scheme. To this day a lof of the fundamental points of programming I learned from that language.

Most of the modern languages are very similar. If you can code in C or Java, you can code in C++, C#, J#, php, ruby, perl etc. I told one of my co-workers that I highly encourged them to take a course in Object Oriented languages, and rather than learn the language focus on the concepts and learn the UML that you are taught. Once you know the concepts then you can apply it to a language, not visa-versa.

I guess that is all of my rant for the night. I might regret this in the morning.

if($time_of_day == "night_time")
{
    echo "Good Night All";
}
else
{
    echo "Good Morning!";
}