RSSAmplifier

Blog

Home on Jason Roelofs

Recent content in Home on Jason Roelofs

jasonroelofs.comRSS feed ↗49 posts

Latest posts

Software Wisdom


 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…

My Dad is Still Alive

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…

Republicanism


 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


 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…

Life Part 3

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. 
…

Life, Part 2


 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…

Designing for Production: Keeping Ops Happy

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: 


Raidit

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.

rbgccxml

Ruby library to parse and query C++ header files using CastXML (previously named GCCXML).

rb++

Combines rbgccxml and rice to automatically generate Ruby extensions from C++ code.

SimpleAWS

Deprecated Small, simple, and forward compatible AWS communication library.

Rice

Ruby Interface for C++ Extensions. Expose your C++ classes to Ruby through a simple DSL.

Dotfiles

My development environment! Contains configurations for bash, my prompt, git, and vim.

What's in a Templating Language, Part 2

What's in a Templating Language, Part 1

Life, Part 1

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!…

Securing the root user on macOS High Sierra

Homosexuality

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 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…

Love the Sinner, Hate the Sin


 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…

Evil and Sin


 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…

A Christian


 “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,…

Christianity


 “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…

Modern Javascript and Rails

Bootstrap Your App

Encrypting Secrets with Chef Vault

Time to Bring Back Fixtures

Recommended Security Setup for AWS

Selective Restore in MongoDB

False positives on Travis CI with CodeClimate / SimpleCov

Ruby 2 SSL Verification Failed?

Debugging Firefox Failures on Travis

Managing Resque with Upstart

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,…

Rack::Cache, tmp/cache, and running out of inodes

RaidIt: Final Thoughts

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…

Implementing Persistence

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…

Running HAProxy behind Amazon's ELB

Playing with Go: Embarrassingly Parallel Scripts

Tests Still Slow? Might be bcrypt!

Keep your AWS environments separate with IAM users and groups.

Naming is Everything

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.…

Abstract Persistence Logic

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…

Where's Your Business Logic?

Rules for Rails App Development

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…

Designing a Rails App Part 1

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…

Manage and Monitor Reque with Upstart an Monit


	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…

Christianity

What is Christianity, what is a Christian, and what does “being a Christian” mean in today’s world?

Designing A Rails Application

An experiment in alternative code organization when building a Rails application.

(untitled)


 
 
 
 
 Redirecting you to Rice's documentation. If the browser doesn't do this automatically, click here .