Code Tests – Airplane Itinerary Problem

stressed out man with hands on his face


This is a code test that I’ve recently encountered and struggled to solve during the interview. The problem isn’t actually that difficult but when under the pressure of a paired coding test, I sometimes freeze up. What I typically do when I struggle to solve something in an interview is go back to the problem later on and figure out the solution so I have it in the back of my head for future interviews. I find that by doing this, I end up learning and growing as a Software Engineer. I encourage you to read the problem statement and try and solve it yourself before reading on to see how I solved it. I chose to implement it in JavaScript.

Rainbow backlite keyboard

Automate Ubuntu System Updates


Security is such an important thing these days and one of the best ways that you can protect yourself is by ensuring that your system is always up to date.  A large part of updates that you apply to your system is security patches.  This post is a “quick tip” for those that might be new to Linux, particularly those on Debian based distros like Ubuntu where we will demonstrate an easy way to setup automatic system updates so you never have to wonder if you’re system is up to date again.

Code on a screen

Observer – A Tool for State Management


 This is the second in our Software Design Pattern series of posts and today we are going to take a look at the Observer pattern.  The formal intent of the Observer Pattern as defined in the GOF Design Pattern book is, “Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.”  This pattern is actually used quite often, for example when you create a listener on an element in JavaScript for when that element is clicked.  Anytime you have a situation where one object needs to know when another object’s state changes, you can use the Observer pattern.

orange fractual

Singleton – Pattern or Anti-Pattern?


Patterns are interesting to me.  You can observe patterns almost wherever you look.  Where you see a repeated pattern it seems obvious that some sort of thinking has gone into what you’re observing.  Patterns imply design and design implies a designer.  As a Christian this has great meaning for me because the design that is observed in creation such as the Fibonacci sequence points to a designer that had purpose in the way this world was made.  This is much like software design.  A good software solution always results from a very intentional and skilled software engineer thinking about the way the software should be written and then building the solution accordingly.  Software solutions do not just happen, a designer must make choices and follow best practices to build something that solves the problem that is being addressed.


How Much to Charge?

This is not an easy question to answer but it is also possible to over analyze and make it a lot harder than it needs to be.  I also want to say, before going any further, that I am still working to do this better but what I want to do today is share a little knowledge from my own struggles in trying to do this well so that maybe you don’t have to make the same mistakes.  This post is really for those individuals who are trying to start out with a business where you are freelancing or otherwise and are struggling to charge the right price to your customers.  You’re afraid that if it’s too much no one will want to hire you and if it’s too little you won’t be able to pay the bills!  Well, hopefully I can help you take another step or two in this journey.

Legos on the floor

Three Options for Building with WordPress

WordPress is one of the leading Customer Management Solution options currently available for building a website.  It is responsible for 35% of the websites that are currently hosted on the internet at the time of writing this post.  So there are a whole lot of websites that use WordPress and it is an extremely viable option for building a website for your business.  If this is something you are considering, this post is for you.  In my experience there are basically three different ways that you can use WordPress to build a website.  First, you could build a custom theme from scratch.  Second, you could use an existing theme that is already built.  Third, you could use a special kind of theme that includes a page builder.  In this post I will be providing a brief explanation, based on my own experience of these three methods to help you better understand which might be best for you.