Rails, Angular, Postgres, and Bootstrap is in print!

January 22, 2016

About a year ago, PragProg approached me to see if I was working on anything book-worthy. I'd just created https://angular-rails.com to document the pain of configuring Rails to do something it clearly didn't want to do—let you write an application with lots of front-end. Meanwhile, I'd been learning more and more how great Postgres is.

The result is my new book “Rails, Angular, Postgres, and Bootstrap: Powerful, Effective, and Efficient Full-Stack Web Development”. It's been in beta for a while, but official print verison is now for sale.

You can buy it now and start embracing the full stack of web development using some awesome tools that will serve you well for years to come!

Hierarchy of Software Needs

January 13, 2016

If you regularly work with web technologies, you've no-doubt pulled your hair out dealing with the technologies used for front-end development (and, let's be honest, back-end development, too :). Almost everything about front-end work feels terrible, from the weakness of JavaScript as a language, to the myriad half-documented tools that all somehow manage to do less than make, to the absolute bizarre notion that we are building user interfaces with technologies designed to write term papers.

But why are these experiences unpleasant? I would argue simply that they don't fully meet our needs as programmers. And we can think about those needs as a hierarchy, each need building on the need below it.

My Talk from Full Stack Toronto 2015

November 30, 2015

My talk from Full Stack Toronto, called “Rails, Postgres, Angular, and Bootstrap - The Power Stack” is up, where I make the case for using not just using a CSS framework, an MVC framework, a middleware framework, and an amazing database, but for using Bootstrap, Angular, Rails, and Postgres and using them together.

Rails Validations vs Postgres Check Constraints

November 15, 2015

Before using Postgres, I would have to rely heavily on Rails validations to ensure data integrity—MySQL simply doesn't provide the tools to do this. This always felt wrong. Outside of rogue processes connecting to the database, there's also application bugs and, well, the ActiveRecord API itself: update_attribute skips validation! That means it's hard to rely on Rails validations for data integrity, but there isn't a great alternative for creating a great user experience.

Postgres has the answer: check constraints. As we'll see, check constraints are tool for data integrity and work much better than Rails validations. But Rails validations are still a great tool for user experience.

Embrace the Full Stack

November 05, 2015

The latest edition of PragPub is out, featuring an article I wrote on embracing the full stack. This is more of a motivator for why you should be more well-rounded as a developer (which then should motivate you to buy my new book :). I cover things from grid-based design to database indexes.

This may seem like an immense amount of learning and work, but it hopefully feels more achievable now. You could get a cursory understanding of these topics in a week. What happens when you do is that you start to take a more holistic view of your application and of how to build features.

Pick up your copy here

Simple Rails Apis With Stitches

November 04, 2015

New post on the Stitch Fix Tech Blog about how we create Rails-based HTTP APIs using a simple gem called stitches:

With this set of conventions, it was important that developers not feel these were optional features they could leave out to cut corners, so it seemed logical to make it as painless as possible to follow them. The result is stitches, which works as a generator and backing library. It's not an engine or a DSL or anything complex. It's just a bit of Rails configuration, designed to be explicit and obvious.

My New Book

July 29, 2015

My new Book, Rails, Angular, Postgres, and Bootstrap: Powerful, Effective, and Efficient Full-Stack Web Development is in beta:

As a Rails developer, you care about user experience and performance, but you also want simple and maintainable code. Achieve all that by embracing the full stack of web development, from styling with Twitter Bootstrap, building an interactive user interface with AngularJS, to storing data quickly and reliably in PostgreSQL. Take a holistic view of full-stack development to create usable, high-performing applications, and learn to use these technologies effectively in a Ruby on Rails environment.

I've been working on this for quite a while, and pretty excited about it. If you want to really level up your abilities as a Rails developer, this is the book for you.