software

Transcribing recorded audio and video to text using Whisper AI on a Mac

Late last year, OpenAI announced Whisper, a new speech-to-text language model that is extremely accurate in translating many spoken languages into text. The whisper repository contains instructions for installation and use.

tl;dr:

# Install whisper and its dependencies.
pip3 install git+https://github.com/openai/whisper.git 

# (When needed) Update whisper.
pip3 install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git

# Make sure ffmpeg is installed.
brew install ffmpeg

# Translate speech into text.
whisper my_audio_file.mp3 --language English

One thing I do quite regularly for my YouTube channel is extract the audio track, convert it to text using an online tool (I used to use Welder until they were bought out by Veed), and then hand-edit the file to fix references to product names, people, etc.

Removing RF interference from a cell phone from audio recording

I made the mistake of putting my Wireless Go II mic transmitter in the same pocket as my iPhone for a recent video recording, and as a result, I had a lot of RF interference in the recorded track.

Thinking I could just use the nice feature of the Wireless Go II's built-in recording, I grabbed the track off the body pack itself—but found that it, too, had the RFI sound, meaning the iPhone's interference made it into the mic circuit itself, not just the wireless mic signal to my camera!

I tried Final Cut Pro's built-in voice isolation, and that helped mute the noise between speech, but during speech it was omnipresent.

I also tried accusonus' denoise plugin (RIP after accusonus was bought out by Meta), and it did better, but left the sound feeling 'watery'.

Why I haven't sold my $166 MRR SaaS product

Earlier today, I saw a post on Hacker News titled "I sold my side-project for $30k".

Besides the point that the sale price was $10k plus up to $20k dependent on the growth of the sold entity, some in the comments worried that the sale would result in users becoming unhappy with the way the service was managed by its new owners.

That's a valid concern, as most acquisitions change the direction of a product, sometimes making radical departures that bewilder the original set of users—users who are often the most invested in what used to be a smaller project.

I've been running Server Check.in for just under eight years. It has a little over 100 paid users, and 30 of those users signed up in the first year.

I don't spend much time on maintenance, and the service has a 30% margin due to very low hosting costs, but I mainly built it to be a radically different tool than all the Pingdoms and New Relics of the world.

The power curve

Besides being a software developer and photographer, I take a deep interest in spaceflight and love reading about the history and development of air- and spacecraft, with a special focus on early space program development.

A few books I've read in the past couple years have gone beyond being interesting just for their historic content—they gave me a lot of ideas to reflect on in relation to my approach to software development, especially what I'd term 'professional' software development (vs. hacking something together for fun, or churning out brochureware sites or cookie-cutter apps).

One book in particular, Failure is Not an Option (by Gene Kranz, director of Mission Control during NASA's early days into the Apollo era), illustrates high-performing teams operating well under pressure and with high stakes.

How can I get my PR merged into your open source project?

Recently I received an email from an IT student asking the following: I recently submitted a pull request to one of your open source projects on GitHub. What can I do to get this pull request merged? The answer below may sound somewhat like a cop-out, or harsh (especially considering it was to a starry-eyed student trying to dip his or her toes into the waters of open source software contribution)... but I've found that honesty is the best policy, and the best way I can maintain good OSS software is to guard my (limited) time for OSS work vigilantly, and try to not allow sentiment force the merge of any kind of code, no matter how simple/small the change. Here is my reply:

Thanks for the email! I maintain over 100 different open source projects on GitHub, all in my spare time (which can be hard to come by with 3 kids, a full time job at Acquia, and a few other hobbies!). I spend a few hours per quarter on any given project. Some of the more popular projects have dozens of issues, PRs, and new comments that need to be read through to figure out what I need to these few hours on.

Follow up questions to 'Don't drown in your open source project'

After I posted my presentation slides, transcript, and video from my presentation Don't drown in your open source project!, I received two follow-up questions (1, 2) on Twitter that I thought deserved a little better response than what I could do in 140 characters. So, here goes:

Do you ever abandon old projects? Thoughts on right/wrong ways?

Yes, in fact I've abandoned probably a dozen or so projects. The simplest examples:

Raspberry Pi Zero W as a headless time-lapse camera

tl;dr: There are many ways to capture time-lapse videos. But this one is cheap, completely wireless, and mine. If you want to skip the post and go straight for the glory, grab a copy of my Time-lapse app for the Raspberry Pi.

Time-lapses transform subtle, slow processes into something beautiful, and often make us think about things in new ways. For example, have you ever thought about just how heavy a wet snow is? The trees in your yard might know a thing or two about that! Check out a time-lapse I recorded this morning some mighty oak tree branches, as they relaxed upward as if in relief from the wet snow falling off:

I made the switch from Aperture to Photos

Aperture to Photos macOS Sierra upgrade and migrate library using iCloud

tl;dr: ~600 GB photo library, took ~3 weeks to migrate, some things are awesome (access to all my photos everywhere, on any device), some things less so (faces don't get synced, no loupe, no five-star rating system, no pro-level editing/batch workflows). All-in-all, I wish Apple didn't ditch Aperture... but it's not the end of the world moving to Photos.

There are many, many photographers who were disappointed Apple decided to discontinue Aperture development. Aperture was by far my favorite tool for both organizing and manipulating RAW photos taken with my DSLRs. It was fast, it had tons of great organizational features, and was highly adaptable.

The New Shiny

I recently read a very good interview with Jason Fried on The Great Discontent, and one of the answers towards the end of the interview struck me:

The other advice is to focus on one thing. I see a lot of entrepreneurs build something and then move onto the next thing and the next thing and the next. Building something is only step one. It’s not that hard to put something out there. Building on top of that to maintain and improve it is actually the harder thing to do. Anyone can release something, but it’s much harder to polish and refine it over time once it’s out there.

I admit I've been tempted by this same thing many times—trying out new idea after new idea, leaving the old to gather cobwebs in a closet. Lately I've been refocusing on some of my older, mildly successful projects, like my Hosted Apache Solr service and Server Check.in (they're not that old compared to other mature services, but they're old for me).

Microsoft Windows 7 Launches Thursday. Meh.

"We're living in a different world today," Microsoft Vice President Tami Reller said in an interview with CNET News.

The world is a lot different. That's for sure. It's not the same world that Bill Gates successfully launched Windows 95 into, causing a great stir in the world of personal computing. Anti-Microsoft prejudices aside, I don't know if Microsoft knows this 'new world.'

It's a world where flashy and appealing advertising, and a 'hip' CEO makes your software and hardware seem cool (e.g. Apple). It's a world where free as in beer is the norm, and things don't have to be perfect, but if they work okay and solve problems, people stick around (e.g. Google, Twitter). It's a world where office and work communication and collaboration are no longer tied to a certain computer or operating system—it's all done online (e.g. everyone but Microsoft).