Blogs / Personal blogs

Mike Ash

mikeash.com

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.

Popular posts
14
Total points
2,132
HN comments
700
Rank
#763 personal

Visit mikeash.com → On Hacker News Sep 2008 – Jul 2017

Software Engineering 6Systems & Performance 3Society, Policy & Culture 1Security & Privacy 1Programming Languages 1Career & Management 1

1

Covariance and Contravariance

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…

2

Objective-C Blocks vs. C++0x Lambdas: Fight

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…

4

A binary coder for Swift

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.

5

Tagged Pointer Strings

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.

6

mikeash.com: NSBlog

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…