Minimizing for More Clarity (Raspberry PI 3 + Docker setup)

I’ve been working a lot with C and experimenting with Assembly Language the past few months and the attractiveness of minimalism has grown on me. I recently decided to downsize much of my coding environment to a Raspberry Pi in an effort to be as minimal as possible.  For any extra computing I have access to various cloud servers (Amazon, Digital Ocean). There are certain pros and cons to doing this –but so far the pros have been great:

Read More

Stack-less Graph Search Algorithm (DFS) & Queue based BFS

In the past few days I’ve been thinking about implementing depth-first-search algorithm that doesn’t rely on the stack (data structure) and the stack (activation record). Graph traversal relying on the most minimum data structures. I decided to go ahead and try.  To refresh my memory, after a few years of not writing graph algorithms, I decided  on https://en.wikipedia.org/wiki/Depth-first_search

Read More

How to learn a new Computer Language (Intermediate)

In the past few years I’ve had to learn or interact with new languages at a decent level to solve important tasks (Python, Ruby, Java, Lua, C++).   This is not an exhaustive list, but these are some critical tips and tricks that have helped me significantly when learning/mastering a new programming language:

Read More

The absolute Must knows in Computing:

If I can summarize the absolute must knows in computing (four) it would be:  Filesystem/Files, Memory, Sockets (Networking), and Multiprocessing/Multithreading

Read More

Managing the Finite State Machine

Managing the Finite State Machine

After circumventing the idiosyncrasies to a particular programming language and programming style the essence of  “excellent” Software Engineering is simplifying the Finite State Machine (FSM). Before simplifying a FSM one must ponder what exactly is a Finite State Machine? Just as it sounds: it’s a machine that has finite states. 

Read More

Engineering Day 4 (The Interview)

So you have an interview coming up. You’re excited, you want to wow your interviewer, but how do you do that? Some general advice to keep in mind for your next interview.

Read More

Engineering Day 3 (Don’t Ship before you build your boat)

An experience I’ve had to deal with a lot:

Don’t ship, before you build your boat.  Said differently: Don’t set for sail before you have a boat.

Read More

Engineering Day 2 (Why we write Software)

Today  I’d like to examine the question of why we write software.

Read More

Proper Engineering Day1 (Efficiency & Elegancy)

There’s a difference between a “programmer” and a Software Engineer.  

Read More