Automate Ubuntu System Updates

Rainbow backlite keyboard


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.

Buildings in a city

Process Analysis for Small Businesses (Part 2)


This is the second part of a series on Business Process Analysis for Small Businesses.  In the first article we discussed the question, “what problem will this solve for your business?” and the three phased approach that you should take to answer this question.  While you can go ahead and implement all kinds of technology before you answer this question, we advise not too.  The reason being, is that technology is a tool and until you know the problem you’re trying to solve you won’t really know how technology plays a role in solving the problems you’re business is facing.  Instead, we advise that you work on developing a more thorough and complete understanding of your business by analyzing what you do, how you do it and then form a strategy for how to improve it.  It is at this final stage that you can truly take advantage of what technology has to offer your business.