Rubyists across the globe will no doubt be flocking to my blog by the millions to read my wrap up of day 1. Not really. But my business paid for my ticket, so I should make some notes or something.
Here's the talks I went to, and the main points I took home.
The beginning: Cameron wanted to do photojournalism, but upon seeing a random iphone user's pic featured on the cover of a major newspaper after the london bombings, and a couple of other similar incidents, decided he wanted to be creating the technology that allows that stuff to happen.
And the first part of the talk was an inspiring speil about the role of devs in making that kind of world-changing stuff possible.
The middle: Dev is splitting in two: dev as a commodity (which is being shipped offshore, and with which we can't directly compete) and dev as a creative role (eg. original, bespoke solutions to tricky problems), which is what you've got to be doing.
The antisocial programmer locked in his basement banging the keyboard all night offers dev as a commodity, and has no future in programming as a creative endevour. (At least, not in a city with Sydney's living costs.)
There shouldn't be a hard-drawn distinction between 'creatives' and 'developers'.
The end:
If you don't stay on top of your game & latest tech, there's an inevitable erosion of skill level. It will work out fine in the short term, but will bite you soon enough. Having said that, don't jump onto a new tech cos it's cool (aka 'hipster driven development'). Find the right balance.
Do take on technical debt. But do so consciously, and with a plan to deal with it. And make sure the client is aware of it, and willing to pay to resolve it.
A very rough summary, likely with technical errors, and not covering all the points of the talk:
There are almost 100,000 uniquely named gems. Which means almost 750,000 total gem-versions. And they each have dependencies.
Currently, for bundle install
to resolve dependencies, it has to download a blob with all that info, and it must download it from a server in the US, which sux in Australia. And cos it's all sent as a single blog, it's not like you can cache stuff and only download what's changed since you last ran bundle install
.
The makeover will use a text file to store all the gem names / versions / dependencies info, which makes it far easier to cache and only download what's changed.
A pretty technical talk, with lots of live coding, most of which I didn't follow very well. The main thing I did take home:
Further reading: Rack on Rails and Rebuilding Rails, and also https://github.com/nishantmodak/chotu. And also http://ruby.about.com/od/rack/a/What-Is-Rack.htm
How to manage parenting and programming: