Archive for the ‘software’ Category

A Filesystem on Noms

Since Noms dropped last week the dev community has seemed into it. “Git for data” — it simultaneously evokes something very familiar and yet unconstrained. Something that hasn’t been well-noted is how much care the team has taken to make Noms fun to build with, and it is. Noms is a content-addressable, decentralized, append-only database. It borrows [...]

Posted on August 9, 2016 at 8:54 am by ahl · Permalink · Comments Closed
In: APFS, btrfs, FUSE, go, noms, software, ZFS

I Love Go; I Hate Go

I liked Go right away. It was close enough to C and Java to be instantly familiar, the examples and tutorials were straightforward, and I was quickly writing real code. I’ve wanted to learn Go since its popularity was surging few years ago. In no danger of being judged an early adopter, I happily found [...]

Posted on August 1, 2016 at 8:19 pm by ahl · Permalink · Comments Closed
In: software

APFS in Detail: Conclusions

This series of posts covers APFS, Apple’s new filesystem announced at WWDC 2016. See the first post for the table of contents. Summing Up I’m not sure Apple absolutely had to replace HFS+, but likely they had passed an inflection point where continuing to maintain and evolve the 30+ year old software was more expensive than building [...]

Posted on June 19, 2016 at 12:37 pm by ahl · Permalink · Comments Closed
In: APFS, software

APFS in Detail: Data Integrity

This series of posts covers APFS, Apple’s new filesystem announced at WWDC 2016. See the first post for the table of contents. Data Integrity Arguably the most important job of a file system is preserving data integrity. Here’s my data, don’t lose it, don’t change it. If file systems could be trusted absolutely then the “only” reason [...]

Posted on June 19, 2016 at 12:37 pm by ahl · Permalink · Comments Closed
In: APFS, checksums, RAID, software

APFS in Detail: Performance

This series of posts covers APFS, Apple’s new filesystem announced at WWDC 2016. See the first post for the table of contents. Performance APFS claims to be optimized for flash. Flash memory (NAND) is the stuff in your speedy SSD. Apple changed the computing industry when it put flash into the iPod and iPhone, volumes for which [...]

Posted on June 19, 2016 at 12:36 pm by ahl · Permalink · Comments Closed
In: APFS, flash, FTL, NAND, performance, software, SSD, TRIM

APFS in Detail: Space Efficiency and Clones

This series of posts covers APFS, Apple’s new filesystem announced at WWDC 2016. See the first post for the table of contents. Space Efficiency A modern trend in file systems has been to store data more efficiently to effectively increase the size of your device. Common approaches include compression (which, as noted above, is very very likely [...]

Posted on June 19, 2016 at 12:35 pm by ahl · Permalink · Comments Closed
In: APFS, snapshots, software

APFS in Detail: Encryption, Snapshots, and Backup

This series of posts covers APFS, Apple’s new filesystem announced at WWDC 2016. See the first post for the table of contents. Encryption Encryption is clearly a core feature of APFS. This comes from diverse requirements from the various devices, for example multiple keys within file systems on the iPhone or per-user keys on laptops. I heard [...]

Posted on June 19, 2016 at 12:34 pm by ahl · Permalink · Comments Closed
In: APFS, software

APFS in Detail: Overview

Apple announced a new file system that will make its way into all of its OS variants (macOS, tvOS, iOS, watchOS) in the coming years. Media coverage to this point has been mostly breathless elongations of Apple’s developer documentation. With a dearth of detail I decided to attend the presentation and Q&A with the APFS [...]

Posted on June 19, 2016 at 12:29 pm by ahl · Permalink · Comments Closed
In: APFS, software

First Rust Program Pain (So you can avoid it…)

Like many programmers I like to try out new languages. After lunch with Alex Crichton, one of the Rust contributors, I started writing my favorite program in Rust. Rust is a “safe” systems language that introduces concepts of data ownership and mutability to semantically prevent whole categories of problems. It’s primarily developed at Mozilla Research [...]

Posted on June 22, 2015 at 12:07 pm by ahl · Permalink · Comments Closed
In: Rust, Scrabble, software

On Systems Software

A prospective new college hire recently related an odd comment from his professor: systems programming is dead. I was nonplussed; what could the professor have meant? Systems is clearly very much alive. Interesting and important projects march under the banner of systems. But as I tried to construct a less emotional rebuttal, I realized I [...]

Posted on February 24, 2013 at 9:46 pm by ahl · Permalink · Comments Closed
In: software, systems