Tdd

Why I Believe Rails is Still Relevant in 2019

Why You and Your Team Should Consider Ruby on Rails  

You might have read the infamous blog posts titled “Rails is Dead”, but I have seen development teams flounder over and over again when they try and reinvent the wheel using NodeJS on the backend. Rails is Scalable Despite the negative press, I’ll argue rails does scale. After developers at Twitter have spoken at length about their issues with Rails performance, it’s easy to get the wrong idea. Rails is not the fastest framework in the world… but I will argue that performance is the last thing you should worry about when you want to scale. more»

21 Commandments for Greenfield Development

A Developer's Guide to New Projects  

The “greenfield” project is known by developers as a productivity Nirvana. It is a beautiful place where there is no legacy, no bugs and endless possibilities. It is also littered with mines. I’ve recently seen a number of anti-patterns around the creation and early growth new projects, and thought I’d summarize the anti-patterns I’d seen in the past as a guide for developers to avoid these common pitfalls. 1. Get a Pipeline in Place Early Run your tests automatically. more»

Surgeons Who Won’t Sew

And What It Means for Your Engineering Team  

Then she gets up and leaves. The patient is still on dialysis, still bleeding in places, and their internal organs are still on show for everyone else in the room. The patient’s immediate future is secure, but eventually they are still going to bleed to death. As a DevOps engineer, perhaps one of the best things you can do for an engineering team is to empower them to write and utilize tests. more»

Qubula Puzzle Game

A game using ReactJS and MobX  

Qubula is a puzzle game where puzzles are generated from a gene and a random seed. An Elixir program generates the puzzles, and outputs level files in JSON. The frontend of the game is built in ReactJS, with the frontend state management written using Mobx-state-tree. Watch the video, as we TDD development of the game. more»

Ruby Module Introspection

Coding a gem for inspecting module structure in Ruby  

The AST Guidelines ruby gem gem analyses Ruby module heirarchies to ensure you do not violate bounded context design. A bounded context is a concept of domain driven design which dictates the design of complex software systems. more»

Ruby Service Objects

Live coding a utility gem for creating service objects  

The Ruby on Rails framework often gets a lot of hate over the years. Rails makes it easy to get up and running quickly. Unfortunately, its beginner-friendly approach leaves you high and dry months later when you have thousands of lines of code. Rails applications of this type are often referred to as Rails monoliths. One of the best ways to refactor and save an aging Rails monolith, is to extract service objects. more»