Welcome to the lab.

Web Excursions for August 10, 2020 - CLI edition

Web excursions brought to you in partnership with MindMeister, the best collaborative mind mapping software out there.

A special command-line-only edition for the terminal nerds.

Searcn and Displace, a truly great alternative to using sed for string manipulation in the shell. Search and replace with standard regex and in-place modification of files, using a simpler, more intuitive syntax.
Starship: Cross-Shell Prompt
A minimal, fast, and customizable prompt for any shell (including Fish). You can even incorporate individual modules from it (e.g. git status, ruby/python version, etc.) into your existing prompt.
Update all the things from your command line. From brew packages to App Store apps, all with one command.
A tree-oriented file manager with multiple panes, file management tools, and built in preview. Snazzy and superfast.
sinker/tacofancy: community-driven taco repo. stars stars stars.
A community-driven, object-oriented taco recipe repo. Via Jeff Severns Guntzel.

Check out MindMeister and start brainstorming, collaborating, and boosting productivity.

Get instant code examples with LaunchBar

A long while back I linked a CLI called howdoi. It’s an excellent little tool that searches StackOverflow for code examples for any given query. It recently updated, so I thought I’d try my hand at a LaunchBar action for it.

There’s already an Alfred workflow, if you’re looking for that.

This action requires two things: the howdoi CLI, and pygmentize from the pygments package. Both of these can be installed with Homebrew:

brew install howdoi pygments

Once those are installed, just download and double-click the action below to install it. When you run it, it will ask for your query. Assuming it finds a result, it will offer you the option of viewing a syntax-highlighted version of it, copying the raw code to the clipboard, opening the source URL, or saving the query to the howdoi cache. I’m not sure about the utility of the latter option, and setting up the cache requires manually creating a ~/.keep directory. But I figured I’d cover the bases.

Technical details: To do the preview I had it write the code out to a temp file, run pygmentize on it with -g to guess the lexer and -f html to output HTML, then write out a style and the formatted code to another temp file. That temporary HTML file is passed back to LaunchBar with an item action to open QuickLook on it.

Please enjoy.

HowDoI for LaunchBar v1.0.0

LaunchBar interface for the howdoi CLI

Published 08/06/20.

Updated 08/06/20. Changelog

DonateMore info…

Solving RVM and OpenSSL issues with Homebrew

Recently I ran into issues trying to install new rubies with RVM. All of my errors centered around openssl, and they took me a fair amount of time to resolve. So I’m putting this up mostly as notes to myself and hopefully to help anyone else who runs into this.

Homebrew (fairly) recently updated the openssl formula to 1.1. RVM (and some random daemons on my machine) require openssl 1.0 to compile/install older rubies. In fact, I was running into issues even trying to install Ruby 2.6.5. Manually trying to install openssl 1.0 didn’t work for me, nor did a dozen other solutions I tried. Here’s the magic formula that worked:

brew uninstall openssl --ignore-dependencies
brew tap-new $USER/old-openssl
brew extract --version=1.0.2t openssl $USER/old-openssl
brew install openssl@1.0.2t

This creates a “tap” for the older version of OpenSSL so you can install it with Homebrew. Once this is all working, you can actually install v1.0 next to it and with the right path settings, use them both as needed.

The secret to getting RVM to use the right version is pkg_config. By setting the path to the openssl 1.0 version of this in the PKG_CONFIG_PATH environment variable, you can get rvm to install using the older libraries. Here’s the incantation (using Bash):

PKG_CONFIG_PATH=/usr/local/opt/openssl@1.0.2t/lib/pkgconfig \
rvm install 2.6.5 --with-openssl-dir=/usr/local/opt/openssl@1.0.2t

Credit for this goes to Jakob Skjerning.

Like I said, once this is working you can just brew install openssl to get an up-to-date version installed, leaving the 1.0 version in place. When you need to use it, you can just apply the paths needed and everything else will continue using 1.1+.

Hope that helps someone (and probably future me).

Web Excursions for July 15, 2020

Web excursions brought to you in partnership with MightyDeals.com, featuring great deals on software, training, and design resources.

Clicker for Prime Video
I’ve mentioned these “Clicker” apps as DBK Labs has been releasing them. They just put out this one for Amazon Prime, and I like it. It adds Picture-in-Picture, Touch Bar control, Quick Resume, disable auto-play trailers, skip pre-roll ads and intros, and a few other features… If you use Prime Video, this is useful enough to easily justify the $8 price tag.
Lora fonts — serif family for text

Lora is a well-balanced contemporary serif with roots in calligraphy. It is a text typeface with moderate contrast well suited for body text. (Open Source!)

The details of UI typography - WWDC 2020
Speaking of typography, from Apple’s WWDC Videos:

Learn how to achieve exceptional typography in your app’s user interface that enhances legibility, accessibility, and consistency…

Andrew Canion - Replicating Hey.com Features in Regular Email Systems
This is very, very close to the system I’ve been using for a couple years with Sanebox, MailMate (on Mac) and Spark (on iOS). So close that now I don’t feel the need to get around to writing mine up any further… 😉1
Welcome to AltStore
A cool idea for sideloading iOS apps without a jailbreak or enterprise certificates. Still wrestling to get it working, but my desire to run the newly-available Clip (iOS clipboard manager) makes me willing to continue trying.
  1. I’ve always made a point never to use emoticons or emoji in my writing here, preferring to express emotion through language. But I’m making exceptions from here on out for Web Excursions.

A CLI for Hook.app

I’ve been meaning to create a command line utility for Hook.app for a while now. I’ve mentioned Hook before, but if you haven’t heard of it, it’s a powerful Mac productivity tool which creates and navigates links between documents, urls, and even things like OmniFocus tasks. I wanted to have some of its power in my terminal.

I created the hook command to scratch this itch. It’s currently experimental, but I’d love it if any Hook users who happen to be command line lovers wanted to take it for a spin and let me know how it goes. You can find basic documentation and installation instructions on the project page. (Spoiler, it’s a Ruby gem you can install with gem install hookapp).

It has a project page now, but if you’ll listen, I’ll tell you a little bit about it here…

The next big thing for Marked 2

I know you need an nvUltra update, so I’ll attempt that in less than 50 words: 99% finished, beta testing going well, couple bugs left, need to finalize our pricing model. Our personal lives are dictating release timing, and it may be out another month or so. I promise a more thoughtful update soon.

But I do have this other thing you might like today.

I have a new update for Marked 2 almost ready for release. It incorporates a change to its very core, though, that there’s a nontrivial chance I’ve broken some part(s) of its extensive feature set and haven’t noticed yet. That’s why I’m asking anyone who uses Marked to download the beta below and give it a whirl. You can always switch back to the stable release, and I promise it won’t destroy any data or harm your machine (not liable, of course, standard disclaimer). It would just be very helpful to have people use it the way they always do and see if anything in their routine no longer works as expected.

If you’re into testing and don’t want to read all the stuff I’m about to say, and it might be a lot, just download the beta build below and get going. The beta is free to use and time-limited. You can run it alongside your current version. If you use the MAS or Setapp versions, your current preferences won’t show up in the beta, but it will work all the same.

Please use the Beta Testing category of the Marked support site for feedback and bug reports. (Note: please start a new conversation for every report, Tender is not great for multi-user, multi-threaded conversations.)

Download the beta here. Ok, antsy pants, just take it and go.

Generic NPR sign-off plays softly.

Did you stick around to learn more? Thanks! The suspense was killing me.

A quick SearchLink update

If you’ve noticed SearchLink suddenly started returning raw DuckDuckGo links, you’re not alone. I’m not sure exactly what changed, but I had to make some changes in the processing of the results to get it back on track. There’s a new version (2.2.15) available for download, below or on the project page.

SearchLink v2.2.15

Generate Markdown links from web searches without leaving your editor.

Published 11/10/14.

Updated 07/08/20. Changelog

DonateMore info…