Welcome to the lab.

Bunch 1.2.2

Wow, compared to the barrage of updates in the last half of last year, it’s been a while since the last Bunch release. For those who missed it, Bunch is my text-file-based batch application launcher, replete with handy features for setting up “contexts” in your digital workspace. This update focuses on Bunch’s features for sending key commands.

For a couple of versions now, Bunch has been able to send key combinations and type strings in target applications. While the current key combo syntax works great for modifer+letter combinations, it was pointed out on Twitter that it was unable to handle combinations containing system keys like arrows, delete, caps lock, or anything that needed more than one letter to describe it. This has been fixed in multiple ways:

  • You can just use a key name in the normal shortcut format, e.g. {@up} would press Command-Up Arrow
  • You can combine them with modifer names (spelled out) using hyphens, e.g. shift-cmd-up (a full list of recognized key names is available in the docs)
  • You can use unicode symbols for arrows, e.g. {@↑} (or ↑ ↑ ↓ ↓ ← → ← → b a enter).

As mentioned in the Tweet that triggered this update, this makes it easier to use Bunch with something like Moom, allowing you to extend your Bunches with window management capabilities.

I also (finally) noticed that the escape keys you can use when sending strings to be typed included a conflict where \\n tried to be both Enter and Down Arrow, leading to an identity crisis of sorts. The escape codes have been updated such that \\u is up and \\d is down (and \\n is Enter/newline as it should be). I also added \\h for delete, and \\a/\\e for home/end.

Lastly, I was using the typing feature to trigger TextExpander snippets and noticed that when I tried to use snippets that required whitespace to trigger them, it was failing. I cleverly had Bunch stripping whitespace from the beginning and end of the string, so any whitespace that was specified got lost. That’s fixed now, and Bunch will trust that you meant to include any and all spaces you send it. Just in case, I also added an escape for \\s to force a spacebar press if needed.

Grab the latest update from within Bunch using Bunch->Check for Updates. Or, if you’re not already using it, download it from the Bunch project page and give it a shot.

The IndieWeb and Webmentions

I don’t know if you’ve noticed, but a while back I added a nifty feature to posts on this site which displays activity from Twitter and Mastodon (likes, retweets, replies) on each post. In most cases, more responses to my work happen on social media than in post comments, so I really wanted to be able to integrate those social mentions with the existing comments. This is a static site running on Jekyll, so it took a little extra work and relies on a few external services.

Screenshot of Webmentions as displayed on BrettTerpstra.com post
Webmentions displayed on a BrettTerpstra.com post

SearchLink: Checking your work

We’ve been exploring SearchLink lately in a series of posts. If you’re following along, you’ve installed SearchLink and explored the various !bang searches, and maybe even added a custom configuration and a few custom searches of your own. And you’ve probably realized that an important step is being able to quickly verify the search results.

The whole point of SearchLink is to avoid switching to your browser while you’re writing. As a result, you have to trust that SearchLink found the right result — otherwise you’re switching to your browser in addition to running SearchLink, which is worse than just switching to begin with. As you might expect, I have some options for you.

Thinking faster with mind maps

It’s come to my attention that the way I brainstorm has a lot to do with my ADHD. Brainstorming is kind of a superpower of the ADHD mind. It takes some work to go deep on a single topic, but we’re great at the surface level associations and development. I believe that the techniques I share can apply to anyone’s brainstorming, the ADHD connection just helped clarify for me why the things I do (and the tools I use) work for me.

I’ve said it before: I like mind maps because they make it easy for my thoughts to come out in whatever order they happen to come up, and as disorganized as they are in my head. I don’t have to know what my top level groupings will be. I don’t need to know how things are going to be sorted at all. I can just spill them out into something I can assess and manipulate. Being able to start churning out ideas before I start pondering organization — before I even have to decide what it really is I’m brainstorming — gets things rolling with zero delay.

Brett’s Favorites 2019

Looking back at last year’s picks, almost every one of them is still in regular use. I’ll skip repeating most items from that list this time, with the exception of apps that had notable updates in 2019. I do recommend taking a look back, though!

As always, this is not a complete list of everything I’ve loved this year. It’s an incomplete list of things that got a lot of use or remained top-of-mind all the way through December.

SearchLink: Next Steps

More from “SearchLink Tips”

Continuing on from the previous SearchLink Basics post, this one will cover custom site searches and setting up a default configuration.

Custom searches

In brief, a custom search is simply a site-specific search performed using Google or DuckDuckGo with search parameters that include site:customsite.url. There are some other variations available, but that’s the essence of a custom search. You can access this type of search on the fly by just using a domain name instead of a search abbreviation in a search. For example, running the following search will search for searchlink on this site only:

!brettterpstra.com searchlink
=> [searchlink](https://brettterpstra.com/projects/searchlink/)

However, if there are site searches you use often, it would be worth having an abbreviation, right? That’s where a configuration file comes in.