Posts

Showing posts from August, 2015

Five Things That Will Help You Become a Better Software Developer

Image
Computer Science is built on many core concepts such as algorithms, data structures, programming paradigms, network communications, database persistence, etc.  Colleges usually teach you enough to understand the concepts and the lessons operate on a very theoretical level.  The lessons don't necessarily teach where or how to apply them.  Here are some things that you can learn today to help you put those concepts into practice.

You don't have to become an expert, but tinkering enough to get a good understanding will go a long way for your software development career.

Video Game Development

Video game development is significantly different than line of business programming.  And many of the game concepts will not likely ever be implemented on a line of business application. Game actions occur in real time and lead to a different way of thinking about programming. One thing game development will do is help you see deeper into computer science.

Video games will challenge you eve…

How to Remove Malware on Mac

A few days ago I downloaded some software off the internet on my Mac. As you know Apple does not recommend downloading and installing software from the web.  They recommend to download software for the app store.  I really though I needed that software so I did anyway. As it turned out it installed a lot more than I bargained for.

The symptoms were that my Chrome browser stopped working after receiving a "Call-us for help in removing malware from your Mac" pop up.  Safari was working but I was getting hi-jacked on every hyperlink. Instead of going to the actual links Safari would end up on commercial ads. Eventually the browser would end up with the pop up that had a toll free number asking me to call it because I had malware on my Mac. Once that ad popped up, it rendered the browser useless. Of course I figure they were the actual malware, so calling them would likely lead to some serious trouble.

I searched the internet for an answer, on my windows box because my mac was u…

Quickstart for Unix

Image
This past week I was suddenly thrown into doing some work in Solaris.  My task was to install some server software.  Solaris is a Unix based system so this meant that I had to learn Unix quickly.

I've taken courses in college related to Unix and Linux based systems but as with anything,  in a classroom you only do enough to pass the course but not as much as you would in a real world environment.

Moving around the Unix command line and inspecting and modifying files was a bit painful but after a little bit of practice I was able to get through it.

Here are some of the hurdles I ran into and some of the resources that I found to get over them.

The Unix Command Line

In Solaris the command line is anything but unavoidable. Solaris has a GUI but if you want to do anything significant the command line is the way.  The command line will help you move around the folder structure. It will help you move and manipulate files and execute shell scripts that may be part of software your need …

You Can't Handle the Truth!

Image
"You can't handle the truth!" is an all time favorite movie line by Colonel Jessup, played by Jack Nicholson, in the movie A Few Good Men. In the movie Lieutenant Kaffee, played by Tom Cruise, is trying to get Colonel Jessup to admit ordering a "Code Red".  Kaffee is demanding the truth to which Jack Nicholson's character replies "You can't handle the truth". Col Jessup goes on to explain that he is the one that has to make the difficult daily choices to protect the very freedom that Lt. Kaffee enjoys but chooses to question the method on.  Life is like that sometimes.  We are afraid to tell the truth; to be honest.  For many different reasons we refrain from being honest. This apprehension is necessary in many cases to avoid being rude or unpleasant.  Yet other times, it may be necessary to be unpleasant because the truth is not only important but necessary and obligatory.  Providing estimates and level of efforts in software development is …

Software Development Can Be Better

Image
Programming allows us to do just about anything with computers.  We can receive input, transform it, stage it and have it produce something useful on the output end.  One thing that I have observed in my 15 years of writing custom software is that we re-invent the product with every project.

In a previous post I stated that programmers are like auto mechanics but mechanics have an advantage over programmers because, for the most part, all cars are the same.  I am not a mechanical engineer and will admit that I don't have the background necessary to design an automobile. However, I think that if I researched enough and got the right people, welders, machinists, I could possibly come up with a way to assemble a simple automobile (nothing fancy, more like a go-cart).  I could simply grab the different necessary components and assemble them into an automobile. The trick would be in making the components compatible with one another.

I think line-of-business (LOB) software has the capa…

My Project Deadline is Approaching and I Am Terrified

Image
The task of delivering software is a challenging job. It is full of hurdles, unknowns and can cause the smartest people to run for their lives.  I am part of a team that will be delivering a major release for sizable product and don't know that I will be able to deliver on time.  I'm scared that this will be the software that is not delivered on time, or even worst, gets delivered but fails to work as intended.  This particular delivery is full of unknowns.  We have some challenges to solve on some things that we have never done before.  We are at a point where we don't know what we don't know and the time started ticking a few months ago.  Will this be the delivery that I am discovered to not be a smart as my bosses think I am?

Delivering software is like that, always running behind or so it seems. You are always solving new problems. The lessons of the last project provide some value but only get you partially there on your new delivery.  The task at hand requires u…