Interesting Tweet

tweeterI tend to wake up early morning and spend some time reading on my phone. Today was not different. I browse my Tweeter account about three times a day. Typically I do not reply or re tweet. I am a firm believer that software engineering and understanding the inner works of computers and how operating systems run applications is extremely important in producing quality software.

The following is a tweet from David Mwathi (re tweeted by Marcus Biel):

“Good programmers are good because they make a diagram before they start coding”

Continue reading “Interesting Tweet”

Huffman Coding

trieAs I have mentioned in a previous blog, it is very important to reduce as much as possible distractions (i.e., email, phone, texting) while at work and to dedicate a percentage (i.e., 10% to 15%) of your daily workday to learn something. On occasions I decide to learn a new technology (e.g., Spring). Sometimes I decide to spend time polishing on topics I know (e.g., Java) while sometimes I need to refresh concepts (e.g., Huffman Codes and Tries) that I learned in school but seldom use at work. Continue reading “Huffman Coding”

Multiple Programming Languages

prog-languagesI have dedicated my professional career to different disciplines (i.e., graphics, software engineering) within Computer Science. In this blog entry I would like to summarize some observations regarding computer languages. At different stages in life (e.g., college, work, self study, and business owner) most developers are required or just decide to learn different programming languages. An issue that frequently comes up with project managers is: “Knowing and using multiple programming languages is better or worse for a software developer?” In this blog entry I would like to provide some insights on how to respond to this question. Continue reading “Multiple Programming Languages”

Coding Exercise

cubeEarlier this week I was talking with a colleague about sites that are becoming quite popular with software developers (e.g., HackerRank https://www.hackerrank.com). The format is quite similar between sites. A problem is described. You need to write correct code to solve it.

All have a window in which you can write the necessary code. Most of the constraints for the problem are described. The better sites provide some sample data sets to test your solution. Continue reading “Coding Exercise”

Top Dozen Qualities

software_developmentThis past week I read a couple articles about what hiring managers are looking for. Having co-owned and managed a software development business for over a decade and worked for small, medium and large size companies, encouraged me to write this post. Continue reading “Top Dozen Qualities”

C++ Lies, Damned Lies and Statistics

This is the last entry in a sequence of blog posts that resulted due to a conversation with two colleagues regarding the most efficient way to implement a piece of code to address some made up requirements.

Let me start by saying that the first choice for most developers would be the use of vectors.  Once such implementation is tested, if the performance is not there, one should / must look for alternate ways to optimize and / or redesign the software. Continue reading “C++ Lies, Damned Lies and Statistics”

C++ Implementation using an Array

This is the fourth blog entry in the sequence that deals with a conversation with a couple colleagues.

This blog entry shows the implementation using the C++ programming language for the problem described in the first blog entry using an array. As in the previous blog entry, let’s first look at the code used to implement the main() function. Continue reading “C++ Implementation using an Array”

C++ Implementation using a Vector

This is the third blog entry in the sequence that deals with a conversation with a couple colleagues.

This blog entry shows the implementation using the C++ programming language for the problem described in the first blog entry using a vector. As in the previous blog entry, let’s first look at the code used to implement the main() function. Continue reading “C++ Implementation using a Vector”

C++ Implementation using a List

This is the second blog entry in the sequence that deals with a conversation with a couple colleagues.

This blog entry shows the implementation using the C++ programming language for the problem described in the first blog entry using a list. Let’s first look at the code used to implement the main() function. Continue reading “C++ Implementation using a List”

C++ Conversation

c_programming_languageIncidentally, a week or so ago, a couple colleagues and I started a conversation about what might be the best way to implement a piece of code in C++.  A simple outline was jotted on a text document.  Regrettably I have misplaced the piece of paper. The purpose of the conversation was not the optimization of the specific code (at the time none was discussed), but to the approach (thinking process) a senior software developer would take to come up with an efficient implementation. Continue reading “C++ Conversation”