Syria is off the list
Syria went on the American terrorism list in 1979 and came off it on Monday. I wrote the careful version for Unblock Syria. This is the one where I'm happy, and still angry.
Software engineer · product designer · digital transformation advisor
Building software since 2008, now at Booking.com. Before that, Spotify, Backbase, and Udacity. I’ve open sourced dozens of projects, and maintain the ones people use.
I run Harf Labs, and Unblock Syria with a lot of help. I’m from Aleppo, live in Amsterdam, and write here in Arabic and English.
Building something new at Harf Labs. Restoring digital access with Unblock Syria.
Experimenting with water fasting. Practising thuluth, slowly.
Syria went on the American terrorism list in 1979 and came off it on Monday. I wrote the careful version for Unblock Syria. This is the one where I'm happy, and still angry.
One model reads Arabic handwriting at under one per cent word error. The best anyone has managed on classical calligraphy is forty-five. I went looking for the missing data that would explain the gap and found the opposite — a script whose rules were written down in the tenth century, and again in software in the 1980s.
An IPTV client needed Picture-in-Picture, and the VLCKit line it ran on does not have it. Notes on owning a C engine rather than consuming one — pointer isolation, lifetimes nothing checks, a patch set carried against VLC's own source, and what that costs.
SwifterSwift passed five hundred extensions and began colliding with other libraries. A member added to a type you do not own is not scoped to your library at all — it is global, and no module qualifier reaches it.
GitHub stopped accepting passwords for Git in August 2021. A token in a credential helper solves the typing but not the expiry; a key solves both, and reaches the HTTPS URLs you did not write yourself.