Skip to content
View samsonjs's full-sized avatar

Sponsoring

@ljharb
@samschott

Organizations

@1SecondEveryday

Block or report samsonjs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
samsonjs/README.md

Booyakasha!

I'm a software developer in Victoria, BC. Professionally I mostly make iOS and web apps and do system admin / devops (and dabble with Android). For fun, I mostly write Ruby and C and Swift. My personal site is samhuri.net and you can find me on Mastodon at @sjs@techhub.social.

Most of my recent open source work is in Ruby and Swift. I'm a maintainer on grape_logging and grape-active_model_serializers. On the Swift side I made SJSAssetExportSession, a modern version of SDAVAssetExportSession for Swift 6 and strict concurrency, AsyncMonitor for monitoring async sequences with Swift concurrency, and the now-Sherlocked NotificationSmuggler for embedding strongly-typed values in notification user-info dictionaries.

Back in the day I made strftime, a strftime implementation for JavaScript that somehow picked up 650+ stars, and format, a printf-like formatter for JS. In my more masochistic days I went cross-eyed reading Intel's mod-r/m docs and wrote this x86 compiler in Ruby. The last month that I lived out in Shawnigan Lake, I read The Little Schemer and wrote a little Scheme in C, called lake. My website uses this old thing, gitter, which is a GitHub API client for Node and browsers and somehow still works.

I make tiny fixes and improvements to other open source projects now and then. And I've contributed dozens of typo fixes, which I'm possibly most proud of.

Pinned Loading

  1. SJSAssetExportSession SJSAssetExportSession Public

    An alternative to AVAssetExportSession with customizable audio and video settings

    Swift 10

  2. samhuri.net samhuri.net Public

    the contents of samhuri.net

    JavaScript 3

  3. AsyncMonitor AsyncMonitor Public

    Easily monitor async sequences using Swift concurrency

    Swift 19

  4. NotificationSmuggler NotificationSmuggler Public

    A tiny Swift package that makes it easy to embed strongly-typed values in notifications.

    Swift 21

  5. compiler compiler Public

    an x86 compiler written in ruby

    Ruby 31 2

  6. lake lake Public

    Lake Scheme

    C 3