Job Queues

By Daniel Morrison

I got talking yesterday about async jobs in Rails and thought I’d put my thoughts on the blog too.

Collapsing old Rails Migrations

By Daniel Morrison

I don’t like deleting old migrations in my Rails apps, but if I did, here’s how I’d do it,

Five O'Clock  Somewhere

By Daniel Morrison

Some fun with Postgres to find users for whom it is a certain time.

Fix for Heroku Breaking Ancient Apps

By Daniel Morrison

Have a really old Heroku app that recently broke? We help with a handful. Here’s what we do to fix them.

Keep Your Certificates Current Using Cron & Dead Man's Snitch

By Daniel Morrison

A rethinking of a 2015 post to keep certificates current. Now using cron and Dead Man’s Snitch.

Unpacking opportunities behind tech buzzwords: IoT

By Daniel Morrison

You’ve heard of IoT, but do you know what it is really? We’ll share a few ways it is being used in the home, business, and the classrooms.

Showing Off Some Projects at Collective Idea

By Daniel Morrison

Our team does a lot of very cool work, but we’re often barred from talking about it. So recently we decided to focus on some projects we can talk about and wrote up some case studies. Here are three.

Welcome Patrick O'Dell

By Daniel Morrison

We’re happy to add another designer to the Collective Idea team!

Welcome Kyle Magnuson

By Daniel Morrison

It’s true… we hired another Hope College graduate.

Welcome Sasha Wolff

By Daniel Morrison

We’ve added a marketing person to our team!

Welcome Troy Spruit

By Daniel Morrison

We’re very excited to belatedly welcome Troy Spruit to the Collective Idea family.

Avoid parsing Rails controller params by using Metal

By Daniel Morrison

While looking at a controller today, I came to the conclusion it’s better to use ActionController:API instead of ActionController::Metal. Here’s why.

How to Create a Trending Hashtag

By Daniel Morrison

During the third and final Presidential Debate, the hashtag #TrumpBookReport was trending on Twitter. Turns out, I created this hashtag sensation, and I can teach you my tricks.

Free SSL on Heroku

By Daniel Morrison

Starting today, Heroku has a new free SSL offering. Use it with Let’s Encrypt for a fully free SSL system.

My Ruby Epiphany

By Daniel Morrison

I’ve been using and teaching Ruby for many years now, but I recently had an epiphany about private methods.

Celebrating Our Newly Expanded Office Space

By Daniel Morrison

This past year we expanded our office space and our team. We held a Grand Opening party to celebrate.

A Sense of Place

By Daniel Morrison

Out of all the places in the world we can set up shop to do software development, we’re in Holland, Michigan and thriving.

How We Work: Space

By Daniel Morrison

Our space is a bit different than many offices, but is a reflection of how we work.

GitHub's Price Hike and Why We're OK With It

By Daniel Morrison

GitHub is changing their prices for organizations. Here’s why you should stop worrying.

Walk Through the Collective Idea Office

We’re in the middle of expanding our office in located in Downtown Holland. Before we unveil the office it its entirety, check out our previous [i] space in 3D!

Let's Encrypt with a Rails app on Heroku

By Daniel Morrison

I needed to renew an SSL certificate today, so I used it as an excuse to try Let’s Encrypt for a free certificate for a Rails app hosted on Heroku.

PostgreSQL 9.5 Upgrade with Homebrew

By Daniel Morrison

PostgreSQL 9.5 was released yesterday and has a lot of cool new features. If you’re on Mac OS X and using Homebrew, you can upgrade with the steps below.

Bicycle Fleet

By Daniel Morrison

We’re launching a fleet of bicycles from our office!

Keep Your Certificates Current Using Your Test Suite

By Daniel Morrison

How can our test suite tell us when a certificate expires? We’ll show you.

Welcome Dana Jones

We’re excited to welcome Dana Jones to the Collective Idea team!

Quick Setup for Your Rails Apps

By Daniel Morrison

We need to make getting up and running with our Rails apps easier. Here’s my attempt.

Fixing Intermittent Failing Tests

By Daniel Morrison

Some tricks to help you fix tests that sometimes fail.

Welcome Ray Brown

By Daniel Morrison

We’re very excited to welcome Ray Brown to the Collective Idea family.

Welcome Laura Mosher

By Daniel Morrison

We’re very excited to welcome Laura Mosher to our team!

Our 10th Birthday

By Daniel Morrison

Collective Idea turns 10 today!

HIPAA Means Turning Off External Services

By Daniel Morrison

Healthcare.gov leaks patient data to 3rd parties. Does your Healthcare startup do the same?

Quickly Test Slow Uploads

By Daniel Morrison

How do you test a slow file upload? Force it to be slow.

Let's Simplify Ruby

By Daniel Morrison

I want to make Ruby better by making it smaller. Who wants to help?

How we write a Gemfile

By Daniel Morrison

Tips on how we like to organize Gemfiles and keep it clean.

has_and_belongs_to_many Isn't Dead!

By Daniel Morrison

People are under the impression that HABTM relationships are deprecated because of the newer Has Many Through relationship. Both are good, and both have their place, but HABTM is still valid, vibrant, and useful!

DNS, ELBs, ANAMEs, and TTLs, Oh My!

By Daniel Morrison

We had an issue this morning with Dead Man’s Snitch which led to some surprising issues with ANAME DNS records.

Welcome Chris Rittersdorf

By Daniel Morrison

We’re very excited to welcome Chris Rittersdorf to Collective Idea!

Today in Silly Apps

By Daniel Morrison

A couple years ago we built a really simple web app to track data loss now it tracks when you’re sick too. Here’s our silly app of the day.

Welcome Tres Trantham

By Daniel Morrison

We’re happy to announce that Tres Trantham has joined the Collective Idea family.

Welcome Spencer Toth

By Daniel Morrison

Today we’re thrilled to announce the addition of Spencer Toth to the Collective Idea team. Spencer is joining us to take our marketing and strategy to new levels.

Welcome Victor Sirotek

By Daniel Morrison

We’re excited to welcome Victor Sirotek to our team!

Collective Idea Acquires Dead Man's Snitch

By Daniel Morrison

Today we’re very excited to announce that we’ve made a new product acquisition: Dead Man’s Snitch.

Building Awesome Rails APIs: Part 1

By Daniel Morrison

After teaching an Advanced Rails class last week, I realized that we use a lot of patterns internally to build great APIs in Rails that many people don’t know about. We didn’t invent most of them, but we use them with great success, so we need to start sharing.

Turning Off

By Daniel Morrison

Now is the time to disconnect. Not forever, not always, but we need to disconnect so we can reconnect with the world.

Meet Downside, our First iPhone Game!

By Daniel Morrison

I’m extremely excited to introduce Downside, our first foray into building a game for iOS.

Conference Season: 2013

By Daniel Morrison

We’re gearing up for Conference Season. Want to see us in the flesh? Avoid us? Here’s the start of our schedule so you can plan accordingly.

So We Bought a Printer

By Daniel Morrison

After doing a bit of boring research, we bought a printer. Here’s hoping this helps someone in the same boat!

Building Office 2.0

By Daniel Morrison

A little peek behind the scenes about how we built out our new office.

Office 2.0

By Daniel Morrison

We’ve officially move to our new office, and have lots to share on the process.

Fully automated, almost free backups

By Daniel Morrison

One of our clients was recently burned by their hosting company not providing the backups they expected. As we helped transition them to a new system, I focused on setting up solid backups and am very pleased with the results: Fully automated, offsite backups for under $2/month.

You Still Have to Test on the Server

By Daniel Morrison

It doesn’t matter how good your test suite is, you have to run through on your server to know it works.

Fun with Unicode Math in Ruby √

By Daniel Morrison

We had way too much fun with Ruby and Unicode, and the result is that you can now join in the fun with our unicode_math gem.

Pick a Side

By Daniel Morrison

I noticed a strange JavaScript loading fallback today. Often simplicity can trump having fallbacks.

Welcome Jonathan Pichot

By Daniel Morrison

Today we welcome Jonathan Pichot to the team, and we’re very excited to do so!

Fighting off a DDoS

By Daniel Morrison

Harmony has been fighting a DDoS attack for over a month, and we’re sharing a bit of how we fixed it.

Welcome Eric Milford

By Daniel Morrison

Welcome Eric Milford to the team.

The Password Rant

By Daniel Morrison

LinkedIn screwed up, but you can be smarter. When you store a password, you’re holding a key to untold secrets. The goal is to keep that key safe from everyone, even you.

Delete Your Email Rules

By Daniel Morrison

Today I removed all of my rules in Mail.app. It is easier than you think, you just have to get less email.

Welcome Brian Hempel

By Daniel Morrison

Welcome Brian Hempel (officially) to the team.

Welcome Jason Roelofs

By Daniel Morrison

Jason Roelofs joins the Collective Idea team today and we couldn’t be happier.

Collective Idea acquires Harmony from GitHub

By Daniel Morrison

We’re very excited to announce that Collective Idea has acquired Harmony from GitHub. Harmony is an amazing app for building websites, and we’re very excited to help guide it to continued greatness.

Welcome David Genord II

By Daniel Morrison

Welcome David to the Collective Idea team!

Walken on Rails

By Daniel Morrison

Our new screencast series features narration by Christopher Walken.

Finish Weekend in Ann Arbor

By Daniel Morrison

We’re bringing Finish Weekend to Ann Arbor!

Slow it Down

By Daniel Morrison

Most of the time, you test your apps on a fast connection, especially when working on a local machine. Most of your clients/visitors/customers aren’t so lucky, but how do you simulate their connection speed?

If you have installed Xcode on Lion, you have access to a very cool tool called Network Link Conditioner.

Give pry a Try

By Daniel Morrison

One of the things holding us back from developing on Ruby 1.9.3 has been ruby-debug. So after many people suggested we try it, we gave pry a shot. I don’t know why we didn’t before; it is quick, easy, and allows a wide range of Ruby versions.

Welcome Ryan Glover

By Daniel Morrison

We’re thrilled to welcome Ryan Glover to the team.

Type it Faster!

By Daniel Morrison

Dear Everyone, update your keyboard settings so I don’t see you taking forever to delete a few characters.

Likes vs. Favorites

By Daniel Morrison

I like lots of things, but only have a few favorites.

Thinking about Ruby's Symbols

By Daniel Morrison

Symbols in Ruby are confusing to new users.

Use Chrome with Cucumber & Capybara

By Daniel Morrison

Swapping out Firefox for Chrome is easier than you think!

ASCII Logo Guidelines

By Daniel Morrison

On the proper use of [i].

Welcome Tim Bugai

By Daniel Morrison

Welcome Tim to the Collective Idea team.

Welcome Jason Carpenter

By Daniel Morrison

Meet Jason, a smart mechanical engineer turned programmer.

On Stand-Up Desks

By Daniel Morrison

We have been using stand-up desks almost exclusively for over a year. Some thoughts and tips.

Quick Win: JavaScript async

By Daniel Morrison

Do you know the difference between defer and async in your script tags? You will very soon.

Off to SXSW 2011

By Daniel Morrison

A bunch of our team will be at SXSW as usual. Find us and say hi!

When Refactoring Goes Bad

By Daniel Morrison

Refactoring is an important part of any project, but what happens when it doesn’t work?

Welcome Zach Moazeni

By Daniel Morrison

Zach Moazeni joins the Collective Idea team.

HOW TO: Setup a new local & remote Git Branch

By Daniel Morrison

HOW TO: Setup a new local & remote Git Branch

Clever Custom Datatypes with MongoMapper

By Daniel Morrison

A whole world of rich objects is within your reach with MongoDB.

Welcome Steve Richert

By Daniel Morrison

Welcome Steve to the Collective Idea team.

2010: The Open Source Tools that Made it Great

By Daniel Morrison

My list of open source tools that made a big impact on our work this year.

SSL with Rails

By Daniel Morrison

Lots of people have been wondering about SSL after seeing Firesheep in action. Here’s how to get started with Rails.

Quick Win: Zendesk

By Daniel Morrison

Now, I don’t know anything about ZenDesk, but I know a JS snippet when I see it. And I also know I can make it better. Here’s my quick win of the day:

Not Getting Things Done

By Daniel Morrison

We all have different issues that keep us from trusting todo apps. What about you?

Welcome Chris Gaffney

By Daniel Morrison

Meet Chris, the newest member of our team.

They Stole My Idea!

By Daniel Morrison

EarthAid.net stole my idea! So why am I happy instead of mad? Because ideas are worthless.

Our Notes on Remote Pairing

By Daniel Morrison

Relevance posted some notes on remote pair programming so here are ours too.

Living in the Moment

By Daniel Morrison

Are sports black & white, or is there room for human fallibility?

sitemap.xml in Harmony

By Daniel Morrison

We added a Google Sitemap to our Harmony-powered site. Here’s how to do it.

Clever Background Changes

By Daniel Morrison

Our backgrounds change, but they’re not random. We’re more clever than that. Let me explain…

On an Agile Space

By Daniel Morrison

Our workspace helps us work, and for the first time we have one of our own.