1. Confidently Manage Business Logic with ActiveInteraction

    Co-authored by Taylor Fausak.

    We are proud to announce the release of ActiveInteraction version 1.0. ActiveInteraction is a gem for managing application specific business logic. Instead of living in controllers or models, business logic can find a home in interactions. They are designed to integrate seamlessly with Rails by behaving like ActiveModels. Use ActiveInteraction to shrink your controllers, slim your models, and DRY your code.

    Read More
  2. Building Custom Rails Attribute Validators

    The validation that ships with Rails is useful, albeit generic. It leaves us to construct our own validators as dictated by our domains. Most of our domains share some common data types like emails or phone numbers. Individually they might require SSNs, SINs, credit card numbers, URIs, or any other of a million types of data. The good news is that Rails gives us the tools necessary to build our own validators.

    Read More
  3. Time for a Talk

    One thing I like to do is teach and share. I help organize our lunch and learns at work. I’ve presented a few times but I haven’t done any outside of work. As a regular attendee of the Dallas Ruby Brigade (DRB) I figured it was time for me to present to the group. I decided to extend a previous presentation I had given called “It’s About Time”.

    Read More
  4. Building Identicons and Playing with Clojure

    I’ve been playing with Clojure on and off for a little while now. I’ve worked through problems on 4 Clojure and Exercism.io but I’ve been looking for a small project to take on. Last Wednesday when GitHub announced identicons for users without avatars and I found my project. My goal was to take a string and output an identicon for it. For identicons a particular input should always generate the same identicon. Also, the identicons should be unique for each input.

    Read More
  5. Fun with Elixir

    Most of the code I write is written in Ruby. I work with it during the day and I play with it at night. I’m a full stack web developer so I get to cavort with JavaScript and CoffeeScript regularly. But every now and then I like to pick a language and take it for a spin. I haven’t done it as often as I would like but when I do it’s always interesting. Recently, I decided to take some time and toy around with José Valim’s new language Elixir1. I’ll skip to the end and tell you this: I’m having a lot of fun.

    1. Version 0.10.1 

    Read More
  6. Private and Protected: They Might Not Mean What You Think They Mean

    Ruby1, like many other languages, provides a built-in way to change method visibility. Used properly it can help create a roadmap for others developers to follow. The problem is that markers of the same name can vary in meaning between languages. If you’ve taken up Ruby after learning another language like C++ or Java and you haven’t reexamined the meaning of “private” and “protected” then you’re almost certainly not using them the right way. Let’s spend a minute investigating their use in Ruby.

    1. Version 1.9.3 

    Read More
  7. Time to Donate: My Experience With Rails Girls


    During a lunch discussion over some dumplings, Shufen mentioned that she was going to start a Rails Girls in Dallas. Several of us immediately volunteered. I have an affinity for teaching so this struck me as a great opportunity to do something I love. Additionally, an event like this might help a teenager pick a future. It could motivate a mother to reenter the work force after years of staying home with her children. It might help a small business launch or provide an existing one with a much needed boost. The decision to help was quick and easy.

    Read More
  8. Battery Life in the Land of Tmux

    The code for this can be found on GitHub.

    From time to time I find myself immersed in my terminal. Bouncing around in Tmux1 between vim, console and whatever else I’m doing. With my terminal in fullscreen mode I don’t notice the power draining from my battery.

    OSX Battery Warning

    This is a fixable problem.

    1. Version 1.7 

    Read More
  9. Tooling Around: MySQL's Client Config File

    There are several good GUI options out there for working with MySQL. For the CLI fans or those forced to use a machine with no GUI it’s possible to have a good experience using the default MySQL1 client.

    1. Version 5.5.25a 

    Read More
  10. Faster ActiveRecord Migrations Using change_table :bulk

    Instead of individual alter statements we combine them inside change_table with :bulk => true. Read More