Skip to main content

Posts

"That's not my job"

Recent posts

Murmuration: A view into Artificial life.

Murmuration refers to the phenomenon that results when hundreds, sometimes thousands, of starlights(starlings) fly in swooping, intricately coordinated patterns through the sky. My introduction to the word, murmuration, was by the Jazz trio, GoGo penguins. Murmuration is the 5th piece they perform in one of their live performances: link . It is one of the most enthralling pieces of music I've heard. I implore you to check them out:  https://gogopenguin.bandcamp.com/ . When we observe these starlings fly we see a pattern that stands out. And when there's a pattern involved there is a strong possibility an algorithm exists to explain it and implement a computer simulation which helps me to segue into Boids algorithm. Boids algorithm is an artificial life program, developed by Craig Reynolds. It simulates the flocking behavior of birds. Boid is a shortened version of Bird-oid, which refers to the bird-like object. Boids are an example of emergent behavior,i.e. the algorithm wo...

The Dawn of programers

A programmer, also most associated with their new moniker a coder, is a person who writes or creates computer software. The definition of the word code is " a system of words, letters, figures or symbols used to represent others especially for the purpose of secrecy". It is fascinating how programming came to be associated with this word, "code". In 1936, Alan Turing first describe a simple abstraction of a computational device. In 1940, "The Bombe",  an electro-mechanical device   was used to decipher the German Enigma-machine. In 1945, Turing went on and envisioned that We shall need a great number mathematician of ability. because there will be probabliy be a good deal of work of this kind to be done.  With the evolution of technology, we moved on from electro-magnets to punch cards to transistors. In 1971, Dennis Ritchie and Ken Thompson at bell labs came up with a new programming language 'C', and a new operating system UNIX. There w...

Understanding TDD - Part 2 - Adopting TDD

In part 1 of this series, we explored the fundamentals of Test Driven Development. After wrapping our heads around the principles and understanding the origins of TDD we will now look into applying TDD.  Understanding TDD - Part 1 - "What is TDD?"

The Pursuit Of Clean Code

There are different ways to interpret the meaning of clean code. The idea of clean code is a subjective concept and every developer has their own interpretation of it. Clean code is code that is easy to understand and easy to change"  When we say "easy to understand" what does it really translate to? Easy to understand can be easy to read, it can be easy to understand the flow of the code, easy to understand sequence events. Easy to understand can also quantify to the ease to understand the purpose and function of the methods and variables defined or declared. Easy to change can be interpreted as easy to extend and refactor, and it is easy to fix bugs. Easy to understand can be anything! it's up to the readers interpretation. When we write code it is generally in as higher-order language. This implies that we intend the code to be understood by other developers or other people. A higher-level language is not directly interpreted by the computer. A hig...