• Random
  • Archive
  • RSS
  • Ask me anything

Ryan Angilly

A business guy who became a really good software developer first by accident

Friday nerdery: .slugignore for Heroku deploys

Well geez, that’s nice of you, Heroku :)

    • #heroku
    • #nerdalert
  • 3 months ago
  • 1
  • Comments
  • Permalink
  • Share
    Tweet

Typhoeus::Hydra is hawt yo

From https://github.com/dbalatero/typhoeus. Use it.

    • #typhoeus
    • #hydra
    • #nerdalert
  • 4 months ago
  • 15
  • Comments
  • Permalink
  • Share
    Tweet
Well it took setting up: whisper carbon graphite statsd (on top of node.js) But I think graphite is gonna be worth it.
Pop-upView Separately

Well it took setting up:

  • whisper
  • carbon
  • graphite
  • statsd (on top of node.js)

But I think graphite is gonna be worth it.

    • #graphite
    • #statsd
    • #whisper
    • #carbon
    • #node.js
    • #statistics
    • #nerdalert
  • 6 months ago
  • 9
  • Comments
  • Permalink
  • Share
    Tweet

normalize.css: A neat take on CSS resets

Upon further review, you kinda wonder why this was never the way reset.css was built to begin with

    • #css
    • #resets
    • #nerdalert
    • #design
    • #internet
  • 8 months ago
  • 20
  • Comments
  • Permalink
  • Share
    Tweet

My final gripe w/ Heroku has been solved: Release Management

Anyone that has maintained a “fer realz” web app knows that the release management is nothing to be taken lightly.

The common workflow for deploying goes something like this:

  1. Qualify that master is ready to be deployed
  2. Cut a release branch from master
  3. Deploy that branch to production

Days and weeks will go by, and you will continue to advance master with new feature and bug fixes.  If a critical bug is found in production, the process to fix is simple:

  1. Put the fix in master & verify
  2. Cherry pick that commit into the release branch
  3. Re-deploy release branch to production

Everybody wins.  You get to fix production without pulling your new and possibly not ready features from master into the fold.

In Heroku, you just push your git repo to their remote, and they deploy your app.  When pushing to Heroku, they will deploy whatever is on the master branch.

Sounds great, but the classic release management process breaks if you have a staging app also running on Heroku, because they both want to deploy off of master.  For example:

  1. Deploy master to production
  2. Build new features in a dev branch
  3. Merge them to master so that you can deploy to staging
  4. Find critical bug in production
  5. …?

The problem here is that master is now littered w/ the features that are on staging.  What’s a guy to do?

Well, one my favorite humans (who apparently knows git better than I do) not only figured it out, but wrapped it up in a little Rake script for all our benefit.

Michael Dwan wrote this blog almost a year ago, where he solves the problem of release management in Heroku.  At it’s core, it’s just a git trick.  Instead of:

git push staging # <— staging is your heroku staging remote

git push heroku # <— heroku is your heroku production remote

Michael figured this out:

git push staging +edge:master #<— where edge is some local branch

The +edge:master part says “Hey, staging, I’m gonna trick you into thinking that the branch called edge is really master, so use that instead.”

Now you can pick a production and a staging branch, use any other branch (including master) however you want, and not worry about being stuck in a situation where you cannot fix a critical production bug.

He wrapped all this up in a handy set of rake tasks and even put some provisions in place to prevent you from accidentally deploying the incorrect branch to production.

Brilliant.  Thanks Michael.  You rock.

    • #git
    • #heroku
    • #ruby
    • #deployment
    • #release management
    • #nerdalert
  • 8 months ago
  • 5
  • Comments
  • Permalink
  • Share
    Tweet

Heroku's new stack is a pretty big deal

Srsly.

    • #heroku
    • #nerdalert
  • 8 months ago
  • Comments
  • Permalink
  • Share
    Tweet

mulligan - a Ruby idea for dealing with things that fail frequently

Note: There seems to be some weird style issues with gist on this Tumblr theme. There isn’t enough horizontal padding between keywords.  Sorry.

Twitter fails a lot. It got me thinking about an elegant way to deal with things that fail frequently. This is how I wanted to be able to write code:

Here is how I accomplished it:

I’m gonna tweak it into a gem eventually, but I want some nerd feedback first. I can see a whole bunch of options being added: which exceptions to catch, custom handlers, etc…

What do you think?

    • #ruby
    • #error handling
    • #twitter
    • #mulligan
    • #nerdalert
  • 8 months ago
  • 3
  • Comments
  • Permalink
  • Share
    Tweet

Standing desk anyone?

hmm… @jamis has me thinking crazy thoughts.

    • #standing desk
    • #programming
    • #nerdalert
  • 8 months ago
  • 3
  • Comments
  • Permalink
  • Share
    Tweet

Rails 3 + SSL + Devise -- Done about as well as I've seen

I’ve been terribly frustrated with how Rails 3, SSL, and Devise play together lately.  We don’t have the “only SSL the login” requirement that this guy has, but I still like the way he figured out the SSL contraint + the later-matching redirect.

Well done.

    • #Rails 3
    • #ssl
    • #devise
    • #Nerdalert
  • 8 months ago
  • 43
  • Comments
  • Permalink
  • Share
    Tweet
← Newer • Older →
Page 1 of 4

Portrait/Logo

About

Hi, I'm Ryan, and I build stuff on the internet. I'm currently building Signal Genius.

I blog about my failed startup, MessageSling, at The Day Series.

Things I used to do:

  • Built and launched FourthSegment
  • Hacked at Punchbowl.com.
  • Founded MessageSling.com.
  • Spent several years at EMC

Me, Elsewhere

  • @angilly on Twitter
  • Facebook Profile
  • angilly on Flickr
  • angilly on Foursquare
  • My Skype Info
  • ryana on github

Twitter

loading tweets…

Following

I Dig These Posts

  • Photo via tmills

    A serious bath-taking bear.

    [via]

    Photo via tmills
  • Photo via tmills

    I read this thing on Vice tonight about how girls hate girls even when they’re friends and while all things women are forever hermetically sealed...

    Photo via tmills
  • Link via graysky
    cdixon.org – chris dixon's blog / Best practices for raising a VC round

    (via Instapaper)

    Link via graysky
  • Photo via dancroak

    Puppy.

    Photo via dancroak
See more →
  • RSS
  • Random
  • Archive
  • Ask me anything
  • Mobile

Effector Theme by Carlo Franco.

Powered by Tumblr