Skip to content
View adam12's full-sized avatar




  • Pro


@softwareniagara @hanami @ruby-community @unpoly @midstack @gemdocs
Block or Report

Block or report adam12

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.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, 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

Hello 👋

I'm Adam, a long-time software developer and entrepreneur based in the Niagara region of Canada. Most of the time I provide consulting to other organizations through my consultancy, Mediadrive. But you might also find me working on one of my startups or micro-bets, such as DNSLint or Suspenders.

While I am familiar with many languages and technologies, Ruby is my first love, and most of the software I ship is written in Ruby.

I'll happily work with other languages such as Golang, JavaScript, Python, Elixir.

While I am thankful for the opportunity and world that Ruby on Rails opened for me back in 2005, I don't believe that a monoculture is great for any language, and since 2015 have been working daily with Ruby but with minimal Rails involvement. I will still use Rails if the job requires, but enjoy working with other fantastic libraries in the Ruby ecosystem.

In 2013, I connected with the local grassroots organization Software Niagara, and loved the community built around this organization so much, that I promptly injected myself into championing the ongoing organization festivities. Through the years, we maintained a regular cadence of multiple free events for the local software community, such as DevTricks.

In that same year, to break the monotony of remote work, I connected with the local group Cowork Niagara which was meeting twice weekly at a local coffee shop. The organization aspired for more, and I joined in the formation of Co-work Niagara Co-operative Inc., as a founding member and Corporate Secretary. The co-operative went on to open a physical co-working space in downtown St. Catharines, followed by one located in central St. Catharines. At it's height, Cowork Niagara served many members and contributed back to the community through it's hosting of many local organizations, Software Niagara included.

Today, you'll find me mostly working from home.

Current projects

I recently built rbz as an experimental Ruby packaging mechanism for single-file archives (ala jar, phar, or shar of other ecosystems). Crazy? Maybe. It was based on a Ruby bug tracker ticket from over 9 years prior.

As part of one of my small bets, I've been working on building and shipping DNSLint, a brandable DNS toolkit for web hosts and MSPs. I've also recently launched Suspenders, a toolkit for the DirectAdmin control panel.

In an ongoing attempt to improve Ruby documentation, I (along with Mediadrive) host and support, an experimental Ruby documentation hosting website. Gemdocs currently hosts over 2.4 TB of documentation for published Ruby gems.

Ask me about

  • Software Niagara
  • Remote working
  • Hosting gem documentation at scale
  • Non-Rails Ruby
  • Starting and running a coworking space
  • Organizing a grassroots software meetup
  • Running a software consultancy for ~ 20 years

Contact me

hello [at] adamdaniels [dot] ca
adam12 @


  1. ecto_network ecto_network Public

    Ecto types to support MACADDR and Network extensions provided by Postgrex.

    Elixir 56 19

  2. phoenix_mtm phoenix_mtm Public

    A small collection of functions to make it easier working with many_to_many Ecto associations and checkboxes to create them.

    Elixir 28 15

  3. devjournal devjournal Public

    My own developer journal tool

    Crystal 5 1

  4. tzwhere tzwhere Public

    Time zone lookup by latitude/longitude using nearest neighbor implementation

    Ruby 4 3

  5. batteries batteries Public

    Tired of copying the same Rake tasks to every single Roda/Sinatra project you start? Me too.

    Ruby 4 1

  6. roda-unpoly roda-unpoly Public

    Easily add support to Roda for the server protocol expected by Unpoly

    Ruby 11 1