ciborg and passphrase on key file
If you have a password on the keyfile lobot is using for git, jenkins will fail to checkout
ciborg and id_rsa
ciborg always upload the keyfile as id_rsa even if yours has a different name, it copies the correct file but drops it as id_rsa and has the reference to your correct name in the ciborg.yml.
Easily access view helpers from your controller, without including modules. Use view_context.some_url_helper for example.
Using controller in presenters
Sometimes you need to use the controller / view_context to access methods you could not in the presenter.
When it's the case, don't put them as a parameter of the method that need them.
This is not a value object (remember Domain Driven Design? :), this is a dependency you should inject when creating your presenter.
Faraday multipart doesn't work?
Yesterday we were trying to send multipart requests with Faraday. It doesn't work. Why?
Rspec after's run in reverse order
Not that you should probably ever have multiple after blocks at the same level, but we found out when collapsing multiple after blocks down into a single one, that the teardown happened in the opposite order than the order in which the after's were declared
Monday: SF Lunch Tech Talk
We're going to watch: "The Value of Values" by Rich Hickey.
Alexander has transferred the super powers. So send suggestions to me or add it to the wiki page: https://sites.google.com/a/pivotallabs.com/pivotalwiki/officesandfacilities/sanfranciscooffice/sf-lunch-videos
Not all PNGs are created equal
If you write a UIImage’s PNG representation to disk, read it back, and get the PNG representation again, you’ll get a different representation. In our case, we got 21 extra octets after the PNG header.
NSData *png1 = UIImagePNGRepresentation(image1);
[png1 writeToFile:file atomically:YES];
UIImage *image2 = [UIImage imageWithContentsOfFile:file];
NSData *png2 = UIImagePNGRepresentation(image2);
// png1 and png2 differ by 21 octets
If you're using date/time formats in Ruby, Python, C or PHP, this website is pretty slick for testing your formats.
heroku_san + ruby 2.0
If you are using heroku_san with a ruby 2.0.0 app and you get deployment failures and the message is:
"Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0"
You need to edit /usr/local/heroku/bin/heroku
and change the shebang line:
So that the heroku toolbelt runs with the ruby version invoked locally in your rbenv/rvm environment.
Ruby enforces that any assignment returns the RHS. Or at least it does when you call it normally.
Foo.new.bar = "sup"
(looks like its fixed in newer versions of 2.0)
Design for Hackers free email course
Summer of Design is 12-week series of emails. The learning material is designed to help developers, hackers, and makers of any kind really understand the “whys” of design. Sign up for free until June 3.
Don't hardcode placehold/cat/charliesheen services into your code
Just your annual reminder that these services go down and will timeout your tests. Just download the kitten and serve it yourself, ya dummy.
Postgres sorting is not consistent when using offset and limit
It seems that postgres will sort consistently within a "page" of results. So the results on page 2 will always be the same.
But if there are duplicate values in your sort column and those duplicates cross a page boundary, it is entirely possible that one of those items will show up both pages.
So best to throw a secondary sort column in there if not sorting by a unique column.
Checkman + Tracker
You can now monitor Tracker projects in Checkman.
Update to the latest master, install the Pivotal Tracker gem and checkout the readme.
Google's favicon service
A reliable way to get cached favicons (e.g. https://plus.google.com/_/favicon?domain=pivotallabs.com )
Making snapshots fail on AWS
We're trying to help our PM accept a story that requires a snapshot of a persistent disk to fail on AWS. Does anyone know a good way to make this happen or fake making this happen?
Monday: Muse user group
This Tuesday is our second muse monthly user group at adobe sf.
Free: get badge: http://www.mugsf.com/