Simple things should be simple, complex things should be possible. 
 
 Alan Kay 
 
 They say “life comes at you fast”, and as I’ve hit two major milestones in my life (40 years old and 20 years in a career), I’ve been doing a lot of thinking – thinking about software, thinking about my career, thinking about where I’ve been and what I want…
March 1st, 2022 
 It was sometime mid 2019 (I forget when exactly) when my Dad surprised us all with a decision that he wants to train to do an Ironman ! He had some running experience with a few marathons under his belt, and my sister completed Ironman Lake Placid in 2016 so he’s seen one in person. We don’t really see any harm in it, we just don’t want him to push himself…

 Not everyone who says to me, ‘Lord, Lord,’ will enter the kingdom of heaven, but only the one who does the will of my Father who is in heaven. 
 
 Matthew 7:21 
 
 In 2016, Donald Trump was elected President of the United States of America, buoyed strongly by the overwhelming support of Evangelical Christians. This has triggered a lot of soul-searching and research into just…

 Freedom isn’t free, 
it costs folks like you and me. 
… 
And if you don’t put in your buck ‘o five, 
who will? 
 – “Freedom Isn’t Free” from Team America, World Police 
 “Freedom” may be the most misunderstood concept of the 21st century. The calls and cries of “freedom of speech” and…
It’s important to never forget that life is complicated. From the beginning to the end and everything in between, there are very few topics that can be considered truly black-and-white. To close out this trilogy of articles about life (see: Life, Part 1 and Life, Part 2 ) I’d like to talk about “everything in between” with a specific focus on medicine and healthcare. 
…

 Thou shalt not kill. 
 
 Exodus 20:13 (King James Version) 
 
 In Life, Part 1 I focused on the beginning of life, the Christian view of life, and the immensely complex and difficult topic of abortion. For Part 2 I’d like to discuss the other end of life: taking it and guns. 
 Americans have a morbid obsession with guns, much more so than pretty much any other…
I gave a talk at Mountain West Ruby Conf entitled “Keep Ops Happy: Designing for Production”, a discussion of tips, tricks, and suggestions for how to design an application in a way that makes it easy to deploy and maintain in a production environment. 
 The slides: 
 
 And the video: 

Building an MMO focused calendar tool for scheduling player, guild, or server events as an experiment in applying different patterns to Rails web-app development. See the Designing a Rails Application series for the accompaning articles.
Life. Life is a weird thing. We can instantly identify when something is alive, however we do not have a good working definition for what constitutes “alive” or not. Also, until we find definitive proof to the contrary, it sure seems that the majority of all life in this unfathomably vast Universe is concentrated right here on our little blue planet. But what an amazing place it is!…
It’s finally time to address the issue that initially prompted my collection of articles on Christians and Christianity, but before we go anywhere, I need to lay out a few caveats. 
 First, if this is your first time here or you otherwise have not read my other articles, please do so before continuing on this piece. Those articles are Christianity , A Christian , Evil and Sin and The…
The Bible, the source of all major teachings and writings defining Christianity, is a common tripping point for many people trying to understand the religion. The Bible contains such a myriad of lessons, stories, and situations that it can be difficult to know where to start or how to understand it. The very structure of the Bible has also often caused confusion and consternation when people take…

 Do not judge, or you too will be judged. For in the same way you judge others, you will be judged, and with the measure you use, it will be measured to you. Why do you look at the speck of sawdust in your brother’s eye and pay no attention to the plank in your own eye? How can you say to your brother, ‘Let me take the speck out of your eye,’ when all the time there is a plank in your own…

 The greatest trick the Devil ever pulled was convincing the world he didn’t exist. 
 
 The Usual Suspects 
 
 And so we come to what’s probably the most difficult discussion for any Christian, but at the same time the most important aspect of understanding Christianity and its beliefs. I started with an introduction and list of the core rules of Christianity in…

 “The most important [commandment],” answered Jesus, “is this: ‘Hear, O Israel: The Lord our God, the Lord is one. Love the Lord your God with all your heart and with all your soul and with all your mind and with all your strength.’ The second is this: ‘Love your neighbor as yourself.’ There is no commandment greater than these.” 
 
 Mark 12:29-31 
 
 A Christian is one who,…

 “I like your Christ, I do not like your Christians. Your Christians are so unlike your Christ.” - Mahatma Ghandi 
 I’m beginning here a series of posts that have been weighing on my heart for a while now. With the election of Donald Trump to the Presidency of the United States, helped in no small part by the Evangelical Christians of this country, I can no longer stay silent. The…
This is a long overdue update to my previous post Managing Resque with Upstart and Monit . Much has changed in the world of process management and system administration and it’s time to update my previous post with what I see is the current Best Practice. 
 First, Monit is gone. I haven’t installed or used this tool in a long time. That isn’t to say Monit is a bad tool,…
Back in May of 2012 I started an experiment to help me learn how to develop and design Rails applications to be maintainable in the long term. Specifically I wanted to figure out how to stay away from Fat-Model Massively-Coupled code bases typical in Rails applications. To ensure I gave myself an environment of learning and didn’t fall into old habits through this process, I gave myself a…
In Part 3 of this series of posts I talked about abstracting persistence layers and the various patterns used, as well as showing the pattern I built into raidit . I’ve now built the ActiveRecord-based Repository implementation, thus finishing raidit, so now it’s time to talk about how this went, what I learned, and if this pattern is a good model for future projects. 
 The…
I would like to start this off by recommending all developers who care about building readable, well designed code go get a copy of Uncle Bob’s Clean Code . This book is a treasure trove of examples on refactoring and renaming to make cleaner code. 
 
 I’ve come to realize that there is nothing more important to crafting good, well designed code than choosing good names.…
Choosing a persistence library at the start of a project is almost always a mistake. As the beginning is the point of highest ignorance, why make such important and hard-to-change decisions before there’s any definitive knowledge of the real needs of the application? The most important aspect of any given application is it’s business rules and domain model, both of which are code. In…
If you haven’t yet, please read Designing a Rails App Part 1 . 
 It’s well known that starting a project can often be the most difficult phase of the project. You have ideas and probably some preliminary design work, but actually codifying those ideas requires a different thought process and a little bit of motivation. Often, to alieviate the difficulty of starting, you get the…
There is a rather frustrating problem with Rails development: nigh every Rails application quickly trends towards unmaintainability. These Rails apps become monolithic, bloated, difficult-to-understand and even harder to maintain over time. This isn’t an attack on Rails itself, it is just a set of libraries, but this is a pervasive problem in the Rails community today. I myself have ended up…

	This post is out of date. See my latest: Managing Resque with Upstart .
 

 
 Resque , the unix-y process and child based background worker library from Github , is a joy to use. It's simple to set up and to integrate into your code, only requiring Redis for the queue, and runs through a single rake task from the command line. It really couldn't be easier for how scalable…