June 7, 2020

Zig C Interop Adventures

So this post initially started out as a sort of experience report on how I got Zig working with a C library (open62541) I am quite familiar with, especially in terms of C interop, as I was using it with CGo. However, this little experiment did not go quite as planned… Quick Background and Motivation OPC Unified Architecture (UA) is an industry standard for the communication between devices, primarily designed for manufacturing/factory floor settings. ... Read more

October 7, 2018

Detecting MIME type and file extension in Swift (using Uniform Type Identifiers)

Why do we want to detect the MIME type or file extension? The Matrix spec defines several messaging types for attachments (essentially binary blobs). The generic m.file can be used to send any type of file as an attachment. Common file types like audio, video, and especially images however have their own message type (m.audio, m.video and m.image respectively). So when sending images (or video, or audio) we want to send it using the appropriate message type. ... Read more

July 3, 2017

Error Handling in Swift?

I’ve been writing a lot of Swift recently, both for iOS and macOS (maybe some server side Linux stuff in future too). Whenever you learn a new language you initially take some idioms from other languages with you. I am primarily a JavaScript developer, where, due to the nature of things, most operations are asynchronous, so they are wrapped in promises. Error handling in this case is mostly handled in anonymous functions where the first parameter is the error object: ... Read more

April 24, 2016

Weekly Picks No. 6

These are programming and non-programming things I found interesting this past week (18.04.16 - 24.04.16): Rolling Random Romans by Joël Quenneville: Excellent little tutorial on Elm. Launching Mission Control Day (part 1)

April 17, 2016

Weekly Picks No. 5

These are programming and non-programming things I found interesting this past week (11.04.16 - 17.04.16): BSD for Linux Users: Although a bit dated, it’s still an excellent essay by Matt Fuller on the differences both on the technical and philosophical aspects of BSDs and Linux. Passive event listeners: a new DOM API proposal that should help with performance when using scroll handlers (especially on mobile). Table for two: Our favorite two-player board games onby Aaron Zimmerman on Ars

April 3, 2016

Weekly Picks No. 4

These are programming and non-programming things I found interesting this past week (28.03.16 - 03.04.16): This should totally be a thing: https://twitter.com/davechenell/status/710549108692541440 String Types in Rust by Andrew Brinker S3Git is “git for Cloud Storage”, a clever little tool, that allows one to easily sync files with “distributed, decentralized and versioned repositories”. It uses the BLAKE2 Tree Hashing Algorithm for both deduplicated and hydrated storage Wekan: I’ve been using Wekan for a while now, and absolutely love it. ... Read more

January 31, 2016

Weekly Picks No. 3

These are programming and non-programming things I found interesting this past week (25.01.16 - 31.01.16) and why: github.com/zeithq/micro Very intersting micro services library with a beautifully minimalistic API. An excellent example for good APIs. Typescript 1.8 Beta I’m a huge fan of Typescript and the 1.8 release will make it even better, allowing for easier JS and TS interop. I’m looking forward to using it. Alduin Colourscheme I’ve been using base16-ocean (light and dark) up until now, but I instantly fell in love with this colourscheme, and am now using it both for my terminal as well as vim. ... Read more

December 20, 2015

Weekly Picks No. 2

These are programming and non-programming things I found interesting this past week (14.12.15 - 20.12.15) and why: Intel NUC I bought this little barebones PC along with a 120GB SSD and 8GB RAM to be used as a simple home server. So far, I have nothing but good things to say about this little machine. Installing Ubuntu Server 14.04 LTS went without a hitch and Docker runs like a charm. ... Read more

November 23, 2014

Weekly Picks No. 1

These are programming and non-programming things I found interesting this past week (10.11.14 - 23.11.14) and why: Golang Examples Learning a new language, and especially one with so many interesting features, is difficult without good examples. Gyver A clever little tool that helps you organize your thoughts and ideas or just gives you inspiration. Little Secret by Nikki Yanofsky Note, I found them this week, it does not mean they are new this week. ... Read more

September 3, 2014

HannoverJS August: Metalsmith Talk

I gave a little introductory talk about Metalsmith at last month’s HannoverJS. You can find the slides here: Source Presentation

© Robin Thrift 2020