At 9:37AM PST, an authorized S3 team member using an established playbook executed a command which was intended to remove a small number of servers for one of the S3 subsystems that is used by the S3 billing process. Unfortunately, one of the inputs to the command was entered incorrectly and a larger set of servers was removed than intended.
Read this next time you think you're having a bad day 😱
Issue 300? That's incredible! 🎉 It feels like I just started writing this newsletter last week... 😄 When Dave started this site, I hadn't even typed my first line of code – which makes me wonder, what will the next 300 issues bring?
Dave was really looking forward to writing this 300th issue but unfortunately he's ended up unavailable today! Everything is fine and he'll be back up and running in a couple of days though, so don't worry!
I'm kinda surprised to hear that this number is so high and I can't quite decide if it's a good, or a bad thing! The advantage of a ~75% churn is that it does give you a chance to get up there. The bad news? Well next month you're probably in the 75% and heading out. As always though, while the top charts are a nice boost they shouldn't be something you rely on.
What a week! iOS 11 made its public debut, Apple increased the limit for over-the-air downloads, Xcode 9 has finally taken over, and Swift 4.0 has been officially released.
Although I won't be updating to iOS 11 on my main device 'til sometime next week, I'm definitely enjoying it on my iPod 6th gen. Looking forward to trying out all the new AR apps this weekend! 📱🎉
I'm sure that Swift 4 will be the focus of much discussion at the conference next week, but what is it? Ole Begemann has put together a guide to all the changes as a playground so you can do more than just read about them, you can try them out too. Oh and Bart den Hollander's article on breaking changes in Swift 4 is also worth a read while we're on the subject.
News of a major, yet to be released update to Swift Playgrounds for iPad in the week prior to WWDC? If that's not a good sign that next week's keynote is jam packed full of other announcements, I don't know what is! This is a fantastic step forward for Playgrounds too, with the ability to control toys from Lego, Sphero and several other manufacturers it's a big step for the educational potential of Playgrounds.
With new essays, more code, extended content and full support for Swift 4.0, the latest Swift Algorithms Book blends modern code, illustrations and computer science to help you pass the interview or build your next app. Perfect for the classroom or the office, the book takes a fresh approach to explain concepts that power search engines, databases and social networks. Use discount code "IOSDEV" at checkout to receive 20% off.
iOS subscriptions just got a whole lot more powerful. With introductory pricing, you can allow users to subscribe in your app for discounted rates for a certain amount of time, which is likely to get more users locked into your product. I know I'm going to be using these changes in my app next year – if you have subscriptions, I strongly suggest you consider doing so as well. 💪
Surprisingly, Apple left off the network activity indicator on the iPhone X, likely due to space constraints next to the notch. For apps that require a lot of network activity, it may be worthwhile to bring this indicator back for users concerned with data limits. Ortwin Gentz created an elegant replacement that appears in the top-right corner of the screen that is the perfect solution to this problem (other than Apple bringing the indicator back in future releases).
As any software engineer will tell you, memory leaks aren't a matter of “if,” they're a matter of when. Whether you're contributing to an open-sourced project, reviewing code, or working on the next big app, leaking memory is something that should generally be avoided. Here's John with a few examples of how unit tests can be used to identify existing memory leaks and to prevent new ones in the future. I agree that it may be a bit overkill, but worth considering.