Part of what I love about Artsy is its engineering culture, and part of that culture includes being aware of your career and taking the next steps to become a better engineer.
The push to develop my career is something I’ve never felt as strongly as I do here. I’m lucky enough to work where we have an open source compensation framework to help guide me on next steps, and my mentors proactively make sure I have every opportunity to improve myself.
I came across a study today that discussed politeness in the context of open source communities. Being a Canadian open source developer, I was naturally intrigued.
I’ve spoken in different venues about functional reactive programming in iOS, using either Objective-C or Swift. Now, before Swift came out, I told people to try ReactiveCocoa because that was the only FRP library available. And it’s a great library, too!
Now there are several FRP libraries to choose from, and people have begun thinking that because I no longer recommend ReactiveCocoa, I no longer think it’s a good project. That’s just not true, ReactiveCocoa is demonstrably a great project. The reason that I’m no longer recommending it – or any other library – is because the frameworks themselves don’t matter.
I’ve been giving a lot of thought to community-building within the context of open source software. Ideas have been bouncing around my head for some time and lately I’ve been trying to make sense of them, to articulate them clearly.
For my day-to-day bag, I like to carry my camera with me. I use small rangefinder cameras, so I don’t need a large camera bag. However, my 15" Retina MacBook Pro doesn’t fit in a small bag, so it needs its own separate carrier. For the past few years, I’ve been looking for a suitable solution: a bag that has room for a 15" laptop, but is no bigger than needed for a camera (one that’s just too big to fit in a laptop case).
Such a bag does not exist.
In the end, the only way to get a bag that held both items was to change the size of my laptop.
Consider hybrid cars: they have two motors with independent power sources, but everything interoperates in a really clever way. For example, speed and acceleration will determine if using the electric motor or the gasoline engine – or both – is most efficient.
But the engine also produces electricity which can be used to charge the battery or power the electric motor. Quite a complex system!
I was impressed when, recently in a taxi, I saw this information displayed visually on the car’s dashboard. It looked something like this.
A few years ago, I wrote this post on putting a collection view inside a table view cell. Collection views were still pretty new and there wasn’t a lot written about them, so my post got pretty popular. It now accounts for over a fifth of my entire blog’s traffic.
Since Swift was announced, I’ve been getting regular requests to rewrite my tutorial in Swift. Which brings us to today’s topic.
A while ago, I realized that I was deeply unhappy with my email setup. I got hundreds of emails a day, and dealing with them all took a lot of time and energy. So I decided to do something about it.
I recently returned from a two-week long trip to Europe. I spoke at three conferences and a meetup, and I gave a six-hour lab on reactive programming. I was also maintaining regular contact with work to address some critical issues related to an upcoming deadline, even though I promised them (and myself) that I would be focusing on the trip.
Three countries, three talks, one workshop, seven take-offs and landings – these all add up to one unavoidable outcome:
I am exhausted.
Star Trek Voyager is one of the best pieces of science fiction television ever. After listening to Brianna Wu discuss it on Unjustly Maligned, my wife and I decided to go back and watch it through again.
Now, all TV has good episodes and bad episodes. We only wanted to watch the good ones. A while back, we used this handy guide to TNG in 40 hours to go through just the best episodes, but I couldn’t find a corresponding resource for Voyager. So here we are.