Blossom API Gem

tl;dr

I created the blossom_api gem for Blossom's API.

gem 'blossom_api'

...then:

$ bundle

...and finally:

my_project = BlossomApi::Project.new(
  organization_id: 'xxx',
  project_id: 'xxx',
  access_token: 'xxx'
)

my_project.create_card 'New feature', 'Description of the feature'

...more features to come.

The rest

A team I work on has been testing out using Blossom for our project management over the past couple weeks. So far, I have really enjoyed how it both tailors to developers and looks good while doing it. I'd definitely recommend it.

Leading up to making this switch, our development team's structure had really be compromised. There was no central point of entry for the other departments to make requests, or ask for solutions. In order to try to clear up communication, keep everyone informed, and move effectively, it made sense to me that only developers should have Blossom accounts. This degree of separation is not meant to be mean, it's just not ideal for other departments to be muddling about in our project management software. Who better to make decisions about priority, assignment, and implementation than the people actually developing?

To help bridge the gap caused by this, I created a system for other staff to be able to submit requests to an "Inbox" project through a form on the staff portal. Then, I can go through and assign requests in Blossom appropriately. The ability to create cards is available in the gem.

I also created a calendar interface to the Blossom API so that other staff can see what we are working on, our project completion of tasks, etc. I haven't extracted that in to the gem yet, but I plan on doing a lot more with it.

First Friday Jams - Caribou Playlist

Last month, Caribou released a playlist on YouTube containing over 1000 songs that have influenced him over the past couple years. It's really incredible, and diverse. He knows music. Hope you enjoy it as much as I have.

I should mention there is also a Spotify version of this playlist, but it's not near as comprehensive.

Caribou also released a great album last year called Our Love.

Open Source Christmas

This month, I've been participating in the 24pullrequests challenge. The idea is that you use open source projects all year for free. So, why not spend December giving back?

I've been able to submit a pull request to an open source project for each day this month up until Christmas Eve. That's 24 pull requests to 8 different open source projects, including:

Check it out!

Do Not Use Custom SSL Domains On Cloudfront

I've been using Amazon S3 and Cloudfront to deliver assets for several Rails apps for a while. It's a really great way to offload work from your application server, and it delivers your images, css, js, etc., really fast using caches around the world.

Basically, you send your assets out to S3, and set up Cloudfront to point at them. I've got this automated, and don't even think about it anymore. I will have to share that set up in a later post. But for now, on to the real issue.

Cloudfront supplies you with a subdomain -- somerandomstring.cloudfront.net -- and you can load all your files over https with it. It will even let you set up multiple subdomains pointing at your files so that your browser will download more items in parallel. So, I thought, wouldn't it be nice if I could set up subdomains of my own domain (assets1.mydomain.com, assets2.mydomain.com), point those at AWS, and deliver assets using Cloudfront that way. I figured there would be a nice way and affordable way to do this, as most AWS stuff is reasonably priced. So, I started the process of setting this up without even thinking about it.

"...we charge a fixed monthly fee of $600 for each custom SSL certificate you associate with your CloudFront distributions..."

- Amazon

And that was the end of that.

Edit - 1.13.2015

Robert pointed out in the comments that there is another option for using custom domains with SSL on Cloudfront using SNI. This is much more affordable, since there is no extra cost. You just pay normal Cloudfront rates for HTTPS requests. However, the caveat is that some older browsers don't support SNI.

In the case of the project I was working on, the team didn't think it was wise to drop support for those older browsers. So, we just stuck with the standard Cloudfront domains. SNI is a great option if you are targeting modern browsers.

First Friday Jams - Pool Lights

Lucas Hogg had a new album come out last month. It's really great, and it has been a staple in my "albums-to-work-to" since. Check it out, and if you like it, buy it.