As We May Code
NSHipster
by Mattt
4y ago
Chris Lattner often describes LLVM as a process of lowering. You start at the highest level of abstraction, source code written in a programming language like Swift or Objective-C. That code is parsed into an abstract syntax tree, (AST), which is progressively transformed into lower-level, intermediate representations until it finally becomes executable binary. What if, instead of lowering source code down for the purpose of execution, we raised source code for the purpose of understanding? It’s a weird premise, I know. Bear with me. You could say that we already do this to some degree with s ..read more
Visit website
WWDC 2020
NSHipster
by Mattt
4y ago
Like everything else in 2020, this year’s WWDC had to be a little different if it was going to happen at all. When Apple first announced that the conference would be fully remote, nobody knew what that would look like, exactly. What parts of the dubdub experience would be kept in this new format? What details would be lost in translation? Could they actually pull it off? For context: Apple live-streamed its first keynote in 2013, and technical sessions in 2015. Attendees of WWDC 1997 could obtain a collection of CDs with video recordings of sessions — a far cry from the VHS tape for WWDC 1990 ..read more
Visit website
Cross-Pollination
NSHipster
by Mattt
5y ago
April is the month when apple trees start to bloom up here in the Pacific Northwest. All across Oregon’s Willamette Valley, from Portland stretching south to Eugene, long-barren branches sprout white, 5-petaled blossoms tinged with pink. Any other year, our family would be taking weekend trips southwest to Sherwood or east towards Hood River to visit their orchards. Like the Fuji and Gala varieties that predominate in this region, most apple cultivars are self-unfruitful — which is to say that they require cross-pollination to produce a good crop consistently. There are a few cultivars that ar ..read more
Visit website
Contact Tracing
NSHipster
by Mattt
5y ago
An ounce of prevention is worth a pound of cure. Early intervention is among the most effective strategies for treating illness. This is true not only for the human body, for society as a whole. That’s why public health officials use contact tracing as their first line of defense against the spread of infectious disease in a population. We’re hearing a lot about contact tracing these days, but the technique has been used for decades. What’s changed is that thanks to the ubiquity of personal electronic devices, we can automate what was — up until now — a labor-intensive, manual process. Much ..read more
Visit website
RawRepresentable
NSHipster
by Mattt
5y ago
Programming is about typing. And programming languages are typically judged by how much they make you type — in both senses of the word. Swift is beloved for being able to save us a few keystrokes without compromising safety or performance, whether it’s through implicit typing or automatic synthesis of protocols like Equatable and Hashable. But the OG ergonomic feature of Swift is undoubtedly automatic synthesis of RawRepresentable conformance for enumerations with raw types. You kno ..read more
Visit website
@
NSHipster
by Mattt
5y ago
Birdwatchers refer to it as (and I swear I’m not making this up) “Jizz”: the general characteristics that form an overall impression of a thing. Walking through the forests of the Pacific Northwest, a birder would know a nighthawk from other little brown jobs from its distinct vocalization, or a grey-cheeked thrush by its white-dark-white underwing pattern. Looking up in the sky, there’d be no mistaking a Flying-V formation of migratory geese from the undulating murmuration of starlings. And while a twitc ..read more
Visit website
Objective-C Direct Methods
NSHipster
by Mattt
5y ago
It’s hard to get excited when new features come to Objective-C. These days, any such improvements are in service of Swift interoperability rather than an investment in the language itself (see nullability and lightweight generics). So it was surprising to learn about this recently merged patch to Clang, which adds a new direct dispatch mechanism to Objective-C methods. The genesis of this new language feature is unclear; the most we have to go on is an Apple-internal Radar number (2684889), which do ..read more
Visit website

Follow NSHipster on FeedSpot

Continue with Google
Continue with Apple
OR