I Do Not Agree to Your Terms
Apple introduced their News app at WWDC, and the other day they sent me an e-mail saying they want to include this blog in News.
Welcome to my web site. My name is Mike Ash. I'm a programmer at Plausible Labs by night, and a glider pilot by day. I'm an alumnus of the University of Wisconsin-Milwaukee and the Université d'Orléans . I currently reside in the Washington, DC area.
Visit mikeash.com → On Hacker News Sep 2008 – Jul 2017
Software Engineering 6Systems & Performance 3Society, Policy & Culture 1Security & Privacy 1Programming Languages 1Career & Management 1
Apple introduced their News app at WWDC, and the other day they sent me an e-mail saying they want to include this blog in News.
Ever since the iPhone 5S was announced a couple of weeks ago , the world of tech journalism has been filled with massive quantities of misinformation . Unfortunately, good information takes time, and the world of tech journalism is more about speed than accuracy. Today, as suggested by a variety of readers, I'm going…
In the previous article on ARM64 , I mentioned that one advantage of the new architecture is the fact that it has twice as many registers, allowing code load data from RAM less often, which is much slower. Reader Daniel Hooper asks the natural question: just why is RAM so much slower than registers?
Nearly three years ago, I got involved with Apress to contribute to two books. The experience went disastrously wrong. It was a profoundly unpleasant experience and I want to warn any other prospective authors to avoid this publisher, and encourage readers to buy from other publishers. Warning: this post is…
The big tech news this week is that the FBI is trying to force Apple to unlock a suspect's iPhone. One of the interesting points around this story is that the iPhone in question is an older one, an iPhone 5c. Newer phones have what Apple calls the Secure Enclave, which some say protects against requests of this…
Subtypes and supertypes are a common part of modern programming. Covariance and contravariance tell us where subtypes are accepted and where supertypes are accepted in place of the original type. This shows up frequently in most of the programming most of us do, but many developers are unaware of the concepts beyond a…
Blocks are perhaps the most significant new language feature introduced by Apple in years, and I've written a lot about them before. The new C++ standard, C++0x, introduces lambdas, a similar feature. Today, I want to discuss the two features and how they are alike and how they differ, a topic suggested by David…
Since the introduction of Swift, speed has been a key selling point. Indeed, it's right in the name of the language. It's said to be faster than dynamic languages like Python or JavaScript, potentially faster than Objective-C, and even claimed to be faster than C for certain cases. But how exactly does it do it?
Some people have a favorite color or a favorite food. It may come as no surprise that I have a favorite compiler bug. Today, I'm going to demonstrate it and pick it apart, a topic suggested by reader Daniel Jalkut.
In my last article I discussed the basics of Swift's new Codable protocol, briefly discussed how to implement your own encoder and decoder, and promised another article about a custom binary coder I've been working on. Today, I'm going to present that binary coder.
Reader Paul Kim pointed out an entry on Michael Tsai's blog about making dispatch_once fast . While the comment in the dispatch_once source code is fascinating and informative, it doesn't quite delve into the detail that some would like to see. Since this is one of my favorite hacks, for today's article I'm going to…
Tagged pointers are an interesting technology used to increase performance and reduce memory usage. As of OS X 10.10, NSString got the tagged pointer treatment, and today I'm going to take a look at how it works, a topic suggested by Ken Ferry.
I just got my first application in the iTunes App Store, and I wanted to tell the story of what it's like to publish one, from start to finish. The app, NetAwake , is an independent project I wrote with my friend Joshua. It makes an interesting story, I think, because unlike the sordid tale of some people's struggle…
accessors (2) advertisement (11) advice (4) apple (7) apress arc (6) arduino assembly (11) assert (2) atomic (3) audio (4) autorelease (3) blocks (14) bolo (3) book (4) books (2) braaaiiiinnnssss (2) bridging bug (3) c (19) c++ (4) c99 casestudy chemicalburn (4) clang (5) classic (2) cocoa (42) code (4) codeinjection…