RailsAdmin & Rake are not good friends
RailsAdmin skips its initialization when your Rails environment is started from a Rake task. This seems like it might be good in theory, unless of course your production app is started through a Rake task.
This does not stop RailsAdmin from working, it just doesn't do all the initialization, including any custom Authorization logic you may have defined. It seems like this has the potential for being very bad.
3.5 billion years is the age of bacteria fossils found in Australia. This is longer than earth's atmosphere has had oxygen.
The distance from the Earth to the Sun is almost, but not quite, exactly 1 Au.
Tuesday: Tech Talk: Laura Klein – "Design Hacks"
Every year, 40 million tons of nutrient-rich dust is transported by the wind from the Sahara to the Amazon rain forest.
VT102 Escape sequences
Ever wanted to print several lines to the console, erase it, and print new lines over it? I did. And that's when I read about VT102 escape sequences. For example:
will move your output cursor up a line.
For a full reference, see: http://www.vt100.net/docs/vt102-ug/chapter5.html
useful css => height: calc(100% – 10px);
If you need to combine percentage and absolute sizes and you only need to target modern browsers, css calc is for you. Valid in IE9+
DYK: SidekiqPro has a Batch class?
Yes! You can create batches of jobs, and then, JOIN them together before completing the parent job. At $500, well worth the price of the Pro license. See https://github.com/mperham/sidekiq/wiki#sidekiq-pro for more details.
I'm just a fan.
gem install system_keychain
A gem to make it easy to store credentials in the system (OSX) keychain (particularly useful for writing command-line tools).
Contributions of additional (non-OSX) backends are welcome.
38,000 is the number of man-made objects that have orbited the earth since the launch of Sputnik in 1957
Sputnik is The world's first artificial satellite. It is the size of a beach ball (58 cm. or 22.8 inches in diameter), and took about 98 minutes to orbit the Earth on its elliptical path.
Google Analytics doesn't like floats
Using Google Analytics with the iOS API doesn't work with floats. Ryan says: that's also the case with the web API, not iOS specific.
Rails 4 GUID Primary Key
If you use this feature, it will break your rake db:test:prepare. Either manually migrate your test database, or wait for the 4.01 release to fix it.
Tuesday: eXtreme Tuesday Club
6:30-8pm. Talk about TDD and software design
Parse iOS SDK Depends on Facebook SDK if you use -ObjC linker flag when building your project, which you probably do.
The new Parse iOS SDK has a quiet dependency on the Facebook SDK.
If you link all categories implementations from libraries in an iOS app using the -ObjC
linker flag, the Parse library will whine that you don't have some Facebook SDK categories
2 ways around this:
bring in the Facebook SDK, yuck.
stop using the -ObjC linker flag and use the
-force_load linker flag once for each static library / framework that your project links
"Fun" facts that I learned while doing this:
-force_load goes on a single line in other linker flags the following line is it's target, your library
if you include third party libraries via a dependent project,
-force_load has to point at the correct build configuration, a typical one for me looked like this:
-force_load at the mach-o binary in a static framework … works
2:00 minutes is the amount of time a human being can survive in space unprotected
Debugger Gem Contains GPL code
It takes an especially vigilant legal department to find that a development dependeny claims to be BSD but contains GPL code. Luckily for us, we've got one.
I've opened an issue to see if we can get it removed: https://github.com/cldwalker/debugger/issues/96
Thursday: Games Night
Games Nights every other Thursday. Fourth Floor event space right after work. Pizza will be provided.
vendorer gem for dependencies
junit-nested: Messy test structures for Java
junit-nested lets you have nested (non-static) inner test classes of arbitrary depth, and @Before and @After blocks of the outer levels will be run appropriately. (Think nested describes in Jasmine/Cedar.)
WARNING: Do not use this as an excuse to neglect object design.
Coffeescript source map in Chrome
The coffeescript source map spec has been updated and breaks in Chrome v28.
You will need to use Chrome canary until it ships in the mainstream release
Showterm gem to create terminalcasts
Gem to record “terminal casts”, i.e. to record terminal input and output and then give it a hyperlink. E.g.: http://showterm.io/8ab649402503bd21b3666
gem install showterm or find more at https://showterm.herokuapp.com/
private attributes in ruby
Did you know that you can make an attribute access private?
@stuff = stuff
@stuff = stuff
And now, Foo.new("x").stuff will raise an error!
BREACH attack against compressed TLS
If you haven't been following the email thread on this.
There is a new vulnerability for leaking secrets that are constantly transferred over compressed HTTPS. With a MITM observing HTTPS traffic, the person in the middle can secrets (eg – XSRF tokens) using several thousand requests to the server with TLS and compression enabled.
For rails (This is not a guaranteed fix): https://github.com/meldium/breach-mitigation-rails
For django: https://www.djangoproject.com/weblog/2013/aug/06/breach-and-django/
Like some PDF thing explaining it? http://breachattack.com/resources/BREACH%20-%20SSL,%20gone%20in%2030%20seconds.pdf
This is a derived attack of CRIME, where it is possible to inject data into a compressed TLS request using the same technique.
Disabling compression resolves this attack, at a significant performance hit.