Joseph Rex

Design, Code, Fitness and Food

Cohesion against coupling

Coupling and Cohesion are two major principles for structured design in software. It’s commonly heard that high cohesion and low/loose coupling leads to good software design. Cohesion is an act of sticking together. In physics cohesion gets contrasted against adhesion as the sticking together of particles of the same substance where adhesion happens with dissimilar substances. With this in mind we know that any 2 things can be put together and we could assume a cohesive code.

Why go to college

We are in an era where knowledge has become so accessible that we question the need for higher education which was once known as the touchstone for professional excellence. Having so much data at our fingertips and knowing how to apply them is a great advantage of living in this century.

Frontend asset management in rails applications

In rails planet it’s easy to assume that asset management is at its best with the assets pipeline it provides which includes sprockets for simple requires. Sprockets is great but could be better with a properly structured application.

Algorithm Analysis: Best, Worst and Average Case

Algorithms are a sequence of decisions we make to solve a problem. Like every decision in life we can make great decisions and really terrible decisions. But it doesn’t end there. Good decisions vary, they can come easy and can take a lot harder process to reach an expected outcome.

Thoughts on Semantic Styling vs Visual Styling

After reading this rebuttal to Jeffrey Zeldman’s Kiss my classname what came up on my mind is I think everyone’s doing this wrong. This is the main problem with the industry. Impatience to accept and learn why opinions that differ from yours could be relevant.

The Big O notation explained

The big O notation (also asymptotic notation) helps determine how a function may decline or scale with a larger set of inputs (n). According to Wikipedia,

It is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity Wikipedia

Setting up uploads with paperclip and fog in rails applications

Paperclip is a great gem and one of the most used gem for handling file attachment in rails applications. Carrierwave is another good choice. This article describes how to use it with the fog gem (a gem that helps you connect with almost any cloud service). This article will use a Car model to handle scenarios of car image uploads. Start by adding the necessary gems to your Gemfile

Using version managers and virtual environments

It’s a new year and 2015 was a blast for me. I successfully ticked every item on my list for 2015 and I had even more that I hadn’t expected from the start of the year. In July, I got an email from PacktPub about reviewing a book on building GUIs with Python. The opportunity was influenced by the article I’d written on the subject and I’m glad I did. The book was completed and published in December and I got really excited to see that I’m a part of something that’ll impact the lives of people around the world. It is available on Amazon and PacktPub and I urge you to grab a copy as there’s so much to learn from it.


© Joseph Rex