Build 2014

Justin goes over his experience at the Microsoft Build conference this year:

With things like C#, the Roslyn compiler/frameworks, and the modern WinRT runtime, it feels like Microsoft is way ahead of Apple in the future looking regard. As a developer, I’m jealous of a lot of the technologies coming out of Microsoft. As a user? They’ve got a long ways to go before I consider using Windows over a Mac.

That said, this is the new Microsoft. They don’t need me to use Windows or Windows Phone as long as I use Microsoft services like Azure, Office 365 and the like.

After following what both he and Brent Simmons have been doing with Azure, I’m more than a little curious to tinker with it. I’ve only recently tried something higher level than AWS, I was a heroku virgin. So, I don’t feel I’m biased. The price wars, as well as a number of arguments for/against VPS vs higher level have had this on my kind lately.

Mobile Services as a first class citizen on Azure is interesting. AWS is trying with their push service, but it feels like an afterthought at the moment.


Were the National Security Agency an agency charged with the security of our nation, it would have reported the Heartbleed bug immediately instead of exploiting it.

NSA Said to Exploit Heartbleed Bug for Years

If an organized hacker ring sabotaged security standards and major tech infrastructure for years, compromising the security of hundreds of millions of people and many governments including our own (and potentially causing billions of dollars in damages when these exploits were found by others), and exploited any flaws they found or created to spy on millions of people in the world including our own citizens, what should they be charged with?



Mass criminal sabotage, cybercrime, cyberwarfare, and computer fraud? Obviously.



Terrorism? Maybe, but not quite.



At what point do the NSA’s actions qualify as treason?



I’d say they’re well past that point.

~ Marco

Brian on Data Migration

Pretty much any migration can be done without stopping the world. You migrate in steps, with double writes and double reads at some points. Here’s the general outline Paul’s Talk on Core Data

it’s more that I’m eternally on the fence about Core Data.

Brent Simmons goes into a few examples on the mind games you have to play when thinking about Core Data scenarios. We are all pretty wired for relational thinking. More recently we’ve learned to think more TKTK. Core Data and it’s object graph is yet another way of thinking

I’m learning Core Data as part of my next app and am enjoying it so far. Eventually I’ll be tackling sync. I need to see for myself how bad Coe Data sync is. I’ve had some exposure to FMDB by tinkering with Marco Arment’s FCOfflineQueue in the same app.

Begging For App Ratings

John Gruber recently suggested that users who are annoyed by “Please Rate This App” panes should leave one-star reviews.

We have a “contact us” menu item under our Help menu, but if users decide to post reviews instead, we cannot provide any tech support. So we also can’t tell the other four people that their crashers should be fixed now, and they should update to the version on our website (or wait for the App Store approval). Apple’s customers are Apple’s customers, except we’re supposed to support them, but we aren’t provided the tools by Apple to do so. Azure Takes Over

There’s still a lot of the old Microsoft there, the Windows, Office, Exchange, and Sharepoint (WOES) company. It’s most of the company by far, surely. (I just made up the acronym WOES. It fits.)

Brent Simmons talked a little about the new Microsoft CEO coming from the azure team and what it could mean. I love this acronym.

Tips and Resources for beginning iOS Development

While you are planning and building out your application, think about the user experience and interface a lot. Tweak, try things out, and above all, design something that avoids complexity. If you look at all of the top selling apps, they are the ones that have removed complexity, and distilled down the application idea into its most simplistic form possible while still maintaining a good range of functionality. There’s a fine line begin being simple and being useless, and it’s up to you to find that line and stay on the useful side.

I’m trying harder to plan out the design of my next app when appropriate. This time I sketched out all the user flows I could think of, in advance, on paper.  This helped a lot when modeling classes and data.  This is something I really have to force myself to do, I really just want to jump into the code. But, we know that just bites you in the ass, you just end up with spaghetti code.  Case and point being the massive UIViewController in Weather Notifications.  It’s due for a refactor. I have a post in draft about the new features for that app.

As I code, I do find issues with the flow. I’m playing around with the app in the simulator, realize that what I designed just doesn’t work, so I fix it in the code. The philosophical question at this point is do I update my mocks? Why didn’t I catch it? Is there a way I could have? Still thinking about the answer to those.

Quote of the day by David of 37signals

“But what’s the harm in over-testing, Phil, don’t you want your code to be safe? If we catch just one bug from entering production, isn’t it worth it?”. Fuck no it ain’t, and don’t call me Phil. This line of argument is how we got the TSA, and how they squandered billions fondling balls and confiscating nail clippers.