Joseph Rex

Design, Code, Fitness and Food

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. There are 3 categories of efficiency an algorithm can fall under when analyzing its usage of resources. They are best case, worst case, and average case.

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.

What happens when using CSS frameworks

I’ve always been an anti-css-frameworks person for no reason till I finally got a good reason recently. I just knew I preferred writing my own CSS even though I’m seen as a back-end developer and a lot of people think design and development should be mutually exclusive. I love design and development and I wouldn’t allow learned helplessness or people’s opinions to keep me from exploring either of them to my satisfaction.

Quality against speed in development

It is common for humans to expect things to arrive almost as soon as they find the need for them. It starts from kids wanting their parents to get them their favorite toy from a toy store. A parent that tells the child we’ll have to come back next year for this toy will make the child unhappy at that moment.

What "It's not about the money" really means

Have you found yourself telling someone it’s not about the money? I guess that’s something common with anyone passionate about what they do. Some years back I’d do anything I could do to get my hands on code even if all I’d get for it is a cheap gift.

Migrating database password algorithm gracefully

If you are a developer that keeps up with the community and best practices you will often find bits of your code and process that needs improvement for security, scalibility, performance or whatsoever. Sometimes it’s not code you wrote but code that had been used in a company you find yourself. The situation here is to change the application’s users database encyption from that salted MD5 or SHA1 hash or even a non-salted integrity based hash to a hash that uses multiple rounds like bcrypt.