This is a follow-up post to this post, wherein I started a quest for a new ViewDeck maintainer. I say quest, but I actually meant "let's just throw it out there and see how it goes".
So I had already left for my job at Apple and had my first work day there done, when I received a DM from Michael Ochs, asking if I had already found a new maintainer. To be honest, at that point, I was a bit afraid I might not find one. That was fine it itself, but I really wanted to "disconnect" myself from the project, even though I hadn't really touched it in a few years.
One more blogpost written on American soil. The flight home yesterday didn't work out exactly as planned, one could say.
One month in California: completed. And a crazy month, it has been.
I started my new job at Apple, and while learned an impressive pile of new things, it feels like I don't know anything at all yet. I have immensely enjoyed working with the people at UIKit: it been a welcoming and fun environment, filled with smart and hard-working people. I can truly say I'm going to miss these folks when I get back to Belgium to continue my work there. I know I'm lucky to be living in this day and age where technology allows us to communicate so easily with each other, and technology will do it's best do make this remote adventure work. But it's more than the work... I'm going to miss the social part of working here: the hallway talks, the early morning breakfasts at Caffé Macs, the lunches with some of the team on our balcony, the lets-get-coffee-in-the-lobby trips. Those are not really part of work, but they really are (you see what I did there, right). I will get by without them, but I'm quite sure I'll miss those moments a lot.
On the other hand, I've missed my wife and kids immensely, so I can't wait to get back home to see, hear and feel them again. Again, FaceTime was a big boon in this case: when one of us felt the need to talk to the person on the other side of the ocean, a call was arranged quickly. I loved those moments, irregardless of their length. They always made me happy and gave me a boost to continue.
So yeah, these last few days I've been stuck with double emotions: I'm pretty sad that I have to leave this great workplace, and I'm pretty happy to go home.
But hey, "I'll be back"!
The last few weeks have been very different from the first two weeks. While the first were clearly about adaption and fitting in, these last 2 weeks felt more about making the best of my time here. I explored more, and felt more relaxed than I had been in the weeks before. Also, no more jetlag leftovers. All gone, baby.
Last weekend was the full last weekend I'd be here, so I took full use of the time I had. On Saturday, I spent the afternoon driving around Highway 1 along the Pacific Ocean. I drove from Santa Cruz to Half Moon Bay. I loved it. So quite, such nice views. I don't like do drive around, but this was a very relaxing trip, and it was a great opportunity for some nice pictures.
On Sunday I had arranged to meet up with Matthias and a colleague of him at Showpad to visit Alcatraz. I never made there it before during my trips to SF, but now seemed like a good moment. The weather was particularly good (given that we were past halfway through October), even at the island itself (which is apparently not that common). The whole visit was a bit too touristy for my taste. For example, there's an audio tour you can do which was fine in itself I guess but I would have preferred something else I feel. It felt too "well groomed".
We did have a bit of luck though: our group of 3 got a chance to visit the leftovers of the old Alcatraz citadel below the current prison building. Apparently the whole first floor of the citadel is still present underneath the prison, and I can be visited by small groups of 10. These visits are official, but kinda random: nothing really organized or scheduled. You just need some luck. I have to say: I loved that part. It's so crazy that everything is still down there in pretty good conditions. A place with quite a history, and you feel it.
And for the rest: I think I could get used living here (imagine that!). Americans still can't drive, but I learned how to adapt to that. I stopped eating junkfood (although the last few days are worse again since I don't want to throw away all the leftovers in my fridge). I slept a lot better by turning on the airco for a hour or 2 when going to bed; I guess the slightly cooler temperatures at night help a lot too. I actually had trouble getting in early in a few times, but I mostly made it more than early enough (finding a parking spot is a bitch otherwise). It takes a while to get used to the "fuck it, just do this" attidute most Americans seem to have here, but once you get the hang of it, it's cool. I'm going to miss paying for stuff by holding my Watch to a terminal. I'm going to need some getting used to driving manual again. I'm looking forward to be able to take my bike to go shopping (although that's technically a problem due to the length of my stay here, and not the place I am).
So yeah, that's it. It's been good, but it's time for the next step.
And before I go: a big, big shoutout to Steve Breen: this guy has been so incredibly supportive for me in the last month, I'm sure this whole ordeal would have been a lot more tough without him. I owe you one, buddy!
A second week of living in the United States. Two weeks already, time flies when you're having fun.
Some observations and highlights of one week in California:
And oh... Working at Apple has been great so far. Can't wait for more.
I've been a developer for while now... 18 years, to be exact.
I started in 1997, fresh out of university - without carrying any kind of degree, to be honest. I had learnt a lot there though: I had my first tastes of the internet there, and saw the web in its infancy, growing to a budding communication tool for a wide variety of people. And so I started in October 1997 as a web developer in an Antwerp-based company called iM@Gic. It was a fun place to work at, and we made some great sites there given the technology we had to our disposal (all coded in Perl, baby).
Update Sept 28th: this article is now also cross-posted on the iCapps blog, as part of their #iCappsiOSMonth series in September 2015
Recently a malware issue for the iOS app store (which is a rarity in itself) called XcodeGhost made its appearance. I'm not going to go into the gory details, but it boils down to a malware injection through a patched version of Xcode. When building iOS apps with such an Xcode, the app binary is modified transparantly, injecting malware into your app at runtime. Nothing is downloaded from the internet, the malware just gets compiled into your app.
There's not a lot you can do about this, except to make sure that you're using a legit Xcode. You can do this by never-ever downloading a version of Xcode from a location other than Apple's, which is either from the Mac App Store, or from http://developer.apple.com) (I know this is easier said than done, saying this from my chair in the middle of super-connected Europe).
I'm pretty sure that if you found this blog, you also know about a little piece of software I wrote a few years ago: ViewDeck. The initial commit was on December 3rd, 2011. I'd been doing nearly a year of iOS development at that moment, and both the Facebook and Path apps came with this nifty new feature we now call "a hamburger menu".
I remember finding it an interesting piece of user interaction and wondered how it was implemented, and so set out one night to try to recreate something like it myself. At that point, not an awful lot of libraries existed that recreated that UX, so I had no way to base my code on somebody elses creations. By the end of the night I had a mostly working prototype, and decided to continue working on it, and to share it with the world. After all it might come in handy for someone else and it was a fun way of showing of what I did (YEAH BABY).
I'd like to mention a trick I use often while debugging, a trick I learned from my good friend Markos Charatzas: triggering a sound when a breakpoint is hit. It's a pretty simple but useful trick, especially if you're debugging repeatable actions and you want to know when they happen.
I'm talking about this:
I've been working on a largeish project for a client for the last few months. We're have to modularized our code into several sections using CocoaPods (this is a post worth on itself, really).
One of the problems you encounter with this approach is that for each pod, CocoaPods creates a bundle with resources for that pod (at least it does so when you tell it to do that). It's the only good way to package pod resources into the main app. This means that our resources do not all live in the main bundle but in seperate bundles (which themselves do live in the main bundle). This is no problem in itself, but it can cause loading problems of resources in those bundles. It doesn't pose that much of an issue when you specify images in a nib since iOS will search in the nib's bundle too, but it's a bit harder to get resources from within your code
UIKonf 2015. It's been a while already, but I've too busy afterwards to do a decent writeup. I feel like I should though, because it's the first conference I attended where I was also a speaker (if you don't count my adhoc lightning talk at NSSpain last year, that is). Attending a conference as an announced speaker is different. Which was to be expected, of course.