Licensing and Distributing a Paid CLI on macOS With Ruby, Rails, and SwiftUI

I gave this talk at Rocky Mountain Ruby on October 6, 2023 in Boulder, Colorado. The video is up on YouTube, and the slides are available on Speakerdeck. A blog post version of the talk will be coming soon to this site.


Distributing licenses and enforcing limitations for my “Ruby on Mac” CLI was a super interesting and fun problem to solve. It involved tools such as ruby-packer, shc, Apple’s DeviceCheck API, and creating a .pkg installer. I’ll take you on that journey with me, with lessons learned and code samples.

Guest on IndieRails Podcast Episode 6

I’m honored to be featured in the 6th episode of IndieRails (one of my favorite new podcasts), where I talk to Jeremy Smith and Jess Brown about my journey that led to starting my Ruby on Mac business.

Moncef’s story is sure to be an inspiration to anyone looking to start their own business. In this episode, he shares his journey from Morocco to UVA, AOL, and several other interesting experiences, ultimately leading to the creation of his own company: Ruby on Mac. Join us as we learn about the mistakes he made along the way and how he gained the training and confidence to leave the security of his full-time job and start a business!

The 6 Characters That Could Bring Down Your Rails App

Lightning talk at Euruko 2021 based on this article.

Speeding up Tests With Creativity and Behavioral Science

February 18, 2020 at ParisRB, Europe’s #1 Ruby conference.


Once upon a time, a large and slow test suite haunted engineers on a mission to improve the lives of US veterans. Every day, they wasted time running tests locally and waiting for CI builds to finish. They threw parallelization at the problem, and eventually forgot it was supposed to be a temporary solution.

One day, they decided to do something about it, and declared, “We will not rest, until we speed up our tests!” They found the congestion in a single file, and relieved it permanently using an unconventional method. They also discovered other ways to permanently speed up the tests. In the end, they gained an extra 15 days every year to have a direct impact on a veteran’s life.

Through this real-life story, you’ll learn analytical approaches for finding and fixing bottlenecks in a test suite in situations where generic profiling tools can’t help. You’ll also learn how to use behavorial science to craft a persuasive message and increase team adoption.



Smart Decisions and Happiness All Around with Analytics

June 22, 2018 at RubyNation 2018 in Arlington, VA

I gave an overview of how we built the analytics framework for, the decisions made along the way, how we ended up with our final implementation, and how it improved our Rails controller design and developer happiness.

I also demonstrated how analytics can help drive decisions based on data and actual customer usage rather than assumptions, and how it facilitates troubleshooting elusive bugs.

Presenting the Ohana API for Human Services

A talk I gave at the Code for America Summit on October 15, 2013, along with Beverly Johnson, Director of the Human Services Agency in San Mateo County.

Harnessing Data to Maximize Outcomes

A panel I was part of at the Healthy Communities Data Summit in San Francisco on May 21, 2013, where I spoke about my Code for America fellowship project: Ohana API.

iOS Automated Testing with Calabash: Tips & Tricks

A talk I gave at the Mobile Testing Summit in San Francisco on November 1, 2012. The slides are also available.