Skip to content
View samsonjs's full-sized avatar

Sponsoring

@ljharb

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 is supported. This note will only be visible to 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, of which I'm possibly most proud.

Pinned Loading

  1. SJSAssetExportSessionSJSAssetExportSessionPublic

    An alternative to AVAssetExportSession with customizable audio and video settings

    Swift 10

  2. samhuri.netsamhuri.netPublic

    the contents of samhuri.net

    JavaScript 3

  3. AsyncMonitorAsyncMonitorPublic

    Easily monitor async sequences using Swift concurrency

    Swift 19

  4. NotificationSmugglerNotificationSmugglerPublic

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

    Swift 21

  5. compilercompilerPublic

    an x86 compiler written in ruby

    Ruby 31 2

  6. lakelakePublic

    Lake Scheme

    C 3