Singular is available!

Start Reading

Programming

Zack

Setting up Prettier in Atom

One of the things that I’ve missed about Go is the incredibly convenient gofmt tool. Through static analysis of your code (that means it converts it into an AST, an intermediary representation) gofmt can take your messy code and rewrite it in a standardized format. It completely eliminates a whole category of code “aesthetics” arguments.

read more

Zack

Testing with Jest, Promises, Mocks, and Third-Party Libraries

As javascript development has largely become a jigsaw puzzle of trending buzzwords, I’m going to write today about a technique for employing Jest and Dependency Injection to test a Node.js application with asynchronous promise-driven third-party libraries. Sounds fun, right?

read more

Zack

Serializable Service Objects

I have to admit, I really like using Service Objects when I'm working in Rails. By which I mean, a tableless object that has domain knowledge for a particular interaction.

read more

Zack

How I Review Code

Ok, I've had a few beers, and I've got my favorite record playing (2112 by Rush, of course) so now I can write about code reviews.

read more

Zack

Reading List Update

A long time ago I brought up the matter of reading Computer Science books to backfill my education on the matter.

read more

Zack

Why I'm excited about React.js

Even after a bad experience with client-side MVC, I'm excited to try React (it's totally different). The Flux pattern detangles client-side spaghetti and makes code which is more reusable and more easily reasoned about.

read more

Zack

Co-Controllers in Rails

Four months ago, I started work on a new product. My coworker and I were talking about strategies we wanted to take on this green field project, and we came across a thought-provoking gist by DHH. I'm not fully aware of the whole origin story of it, but his Tweet indicates it's a pattern they use in Basecamp to avoid bloating a controller.

read more

Zack

Introduction to Go (golang), Part 1

If you read this blog for any amount of time you’ll know that I really like technology, specifically web development technologies. I’ve written about my experiences with Ruby on Rails, Batman, and a few curiosities along the way.

read more

Zack

Solving a Hard Problem for Ruby with Go

About a year ago, I was tasked with solving a hard problem (a tricky resource reservation problem with arbitrary quantities and spans). As with all problems, there were constraints in this case use Ruby, use MySQL, make it respond in under 100ms, handle spikey traffic.

read more

Zack

ActiveModel: Model

I started reading ahead into ActiveRecord…whoa…that’s some crazy stuff right there. Mind was blown with the sprawling nature of it…so many avenues and byways of logic, it’s going to take some serious time to get to the bottom of that. In the mean time, let’s jump into ActiveModel in earnest.

read more

Zack

ActiveSupport::Concern Digression

It happened again. While reading through ActiveModel I realized that I had skipped over something cool in ActiveSupport, so I’m going to circle back and cover it.

read more

Zack

ActiveSupport: Testing and Stringy Booleans

One of the things that I really like about the Ruby community is the serious focus on testing. When you’ve really got your testing dialed in, there’s a tremendous sense of peace knowing that you can refactor to your heart’s content…and add new functionality of course…that too.

read more

Zack

ActiveSupport: Self Deprecation and Deprecations

As I write today’s journal, I am struck with how I’m not the ideal tour guide of the Rails source. Having never contributed to the code and coming at it with fresh eyes, I’m bound to get things wrong in my notes here. Hopefully when I do, you fabulous readers out there can provide some corrections in the comments section which I can fold back into the body of the post.

read more

Zack

ActiveSupport: thanks, try, tap

The more time I spend with the Rails source, the more I appreciate it. I’ve always appreciated it for what it could do, but now I’m appreciating it directly, for what it is. I find it to be quite elegant, pragmatic, aesthetically pleasing, and educational. Inside the black box, it’s really quite nice.

read more

Zack

ActiveSupport: Hash Extensions

At RailsConf this year, Aaron Patterson talked a bit about “aggressively trimming negativity” from his life and focusing on the positive things. I’m working on that as well, which is part of the genesis of this Rails source journal. People like to complain about things, the more familiar the more often it sometimes seems. Before I started this project, I’d fill gaps in time with reading Hacker News, but the negativity really wore on me. Now, I instead get to go digging for really cool stuff in Rails that informs my every day work. I love it.

read more

Zack

ActiveSupport: Humor, Defaults, Security

Reading the source of Rails gives insight into the minds of the contributors over the years. It lets you know how they like to write code (of course), but it also gives you little glimpses into the personalities of particular people who shaped Rails in big and small ways. As a reader, you walk away from comment reading sessions knowing just a little bit more about the code, and the people behind it.

read more

Zack

Reading the Source of Ruby on Rails

I have decided to read the whole source of Ruby on Rails and make notes as I work my way through it. I have used the framework for far too long without doing such an obvious step and have just accepted the “magic” of how things work. Well, I’d like to see how the magic is made, and perhaps in so doing, I can become more useful as a Rubyist. These posts are going to read more like a journal, as that’s precisely what they are.

read more