Local bookstores and the missed opportunity

As I watch small, independently owned bookstores continue to desperately cling onto their customers for survival, I can’t help but feel really angry that Amazon cornered the market on e-books for no better reason than these bookstores decided they didn’t want to be a part of it.

Now, e-books haven’t taken over the market in quite the same way digital music supplanted physical media (for reasons I’ll actually get into in a minute), so bookstores are still hanging on by a thread and telling you that it’s your duty to shop at local bookstores because otherwise they’ll fall prey to behemoths like Amazon. When you give these nominally for-profit bookstores your money for some dead trees, you’re made to think that you’re practically giving to charity.

Let’s indulge ourselves in a fantasy about an alternate reality where things went a little differently:

When iPods started flying off of shelves in the early 2000s and music lovers started buying music from iTunes instead of record stores, a group of small bookstore owners got together and asked themselves: what if this happened to books?

Bookstores needed a way to adapt to the modern world of e-books. Even though the simple transaction of buying and distributing the e-book itself can be performed without having to interact with a human, the bookstore is still a great place for community. It’s a place for book enthusiasts to gather and interact. Bookstores are small businesses with well-educated and thoughtful employees and clientele. They are small, local businesses worth supporting.

E-books were also an opportunity to democratize publishing of books. Without the large fixed costs and complexity of printing books, e-books could be a viable way for smaller, niche authors to distribute their work. Instead of just a handful of big publishers controlling everything, perhaps we would see a new world where lots of smaller publishers would spring up. By having retail space and direct relationships with local customers, local bookshops could provide the critical connection to these customers.

But for this to work there would have to be some standards set. There would need to be a standardized file format for the e-books, otherwise customers would grow frustrated with having to use different software for every book they want to read. Companies would need to develop e-book readers that people could read their books on, and software to run on those e-book readers and support standard formats.

Partners got on board, and before they knew it, a thriving industry was born. Hundreds of local bookstores started offering e-books from a plethora of publishers. You could sample and purchase e-books right at the book shop, as well as on the bookshop’s web site. The e-reader makers soon developed e-readers that could connect to the web, and it became possible to buy books right from the device you read them on.

Because the e-books were all in a standard format, you could buy books from any bookstore and use them on any reader you want. E-readers were available from several companies. Because e-books were all interoperable, you could pick your e-reader of choice based on its merit alone, not the library of content it came with. Before long these companies were developing all sorts of useful features, like letting you scribble virtual notes in your books and easily sharing passages with friends to discuss.

Before too long the major publishers followed suit. They initially tried selling copy-protected books on proprietary platforms of their own making, but customers found it all too confusing and inconvenient, and they got on board with the standards everyone else was using. Bigger bookstores like Amazon also started offering e-books. Amazon grew to become the biggest seller of e-books by market share, but because there were so many bookstores selling e-books, their market share was still well under 10% of the market. And although customers would sometimes buy a book or two from Amazon, local bookstore patrons still loved buying from their local bookstore.

E-books, being digital rather than physical goods, could be sold a bit more cheaply than paperbacks, and customers took advantage of this and bought more books than ever before.

Because people were now accustomed to the practice of buying electronic reading material, print periodicals followed suit. Newspapers started being delivered to people’s devices directly, and the practice of literally printing new newspapers every single day on paper, putting them on trucks, then bikes, then delivering them door to door became a quaint memory. And although local newspapers no longer brought in revenue from classified ads, the operational savings of electronic delivery combined with a healthy subscriber base allowed them to thrive, alleviating fears of dozens of struggling local papers getting acquired and consolidated into bigger companies.

Bookstores didn’t get on board with this, though. At some level I understand; distributing digital media wasn’t their core competency; moving physical books was. But before computers and the internet existed, this was nobody’s core competency; it had to be invented by someone. Of course, this was a job far too big for any single bookstore to take on, but it’s disappointing that a group didn’t band together to try to build a solution, especially after seeing the writing on the wall when iPods became ubiquitous in the early 2000s.

Instead, we live with the hegemony that is Amazon. They largely rule the world of selling e-books. The Kindle is nice and their store has a great selection at low prices, but you can only read the books on Amazon-made apps and devices, most of which aren’t that great (seriously, have you tried using the Kindle app for desktop Mac?). Apple has an offering of their own in the iBookstore, but you only get to read the books on their backlit screens which isn’t that easy on the eyes. Barnes and Noble has the Nook, and there are a couple of other e-readers on the market, but each one can only be used to view books purchased in their own ecosystem. Now that I’ve bought a Kindle, the idea of buying a Kobo and having to start a new collection of books from scratch is a nonstarter.

There are some other e-book sellers. A few e-book stores are actually foolhardy enough to try to sell copy-protected books, and I’ve even been to a couple local bookstores with ways to buy e-books that you read read using software that’s exactly as shitty as you imagine it would be.

I do luckily get most of my technology reference books from sites that sell the books DRM-free, where I can usually download in a variety of book formats (I often choose PDFs because they are laid out exactly like the printed book, but if I want I can also choose EPUBs or MOBI files to read on my phone or Kindle, respectively). And there are some smaller publishers that sell self-published books in a non-copy protected format. A handful of authors care about this enough to sell DRM-free materials too, like Cory Doctorow.

But these are far from the mainstream, and if I want to read mainstream e-books, I am relegated to reading them on Amazon. Meanwhile, I love visiting Powell’s in downtown Portland; it’s an incredible bookstore in its own right, but overall when I’m shopping in most bookstores I feel more like I’m doing them a favor by helping them keep the dream afloat.

I’ll keep hoping for a better e-book future, and in the meantime I’ll keep hounding book authors to offer DRM-free e-books if they don’t already, and I hope enough people are doing that that in a few years, you’ll be able to get a good chunk of e-books (and audiobooks) this way. 🤞


Unpopular opinion: Ring’s drone camera is unjustly maligned

photo of ring drone

FULL DISCLOSURE: I was a relatively early employee of Ring. I had equity in Ring and made money when Ring was acquired by Amazon, and then I made money from the Amazon stock I bought with said money. I have a variety of opinions about Ring and having been on the inside has left me with more criticism than praise, but I’m not immune to having bias, so take these opinions with a grain of salt.

There were plenty of takes on Twitter this week about Ring’s newly announced indoor drone that will fly around inside your home patrolling it. It’s their most ambitious hardware project to date.

At some level I get it; the concept sounds so wild that it immediately invites criticism. A massive tech company designed a drone that flies around your house recording things. Also, tech companies at the scale of Amazon should be subject to incredible scrutiny in everything they make.

But my reaction to the product itself was the opposite: finally, an indoor security camera I wouldn’t feel weird having in my house!

I’ve been interested in indoor security cameras for awhile, but I don’t want cameras in my home that are always able to see things. The drone cleverly addresses that; when it’s docked the camera is covered. And when it’s recording, you’re going to know. It’s a drone, so it’s going to be making some noise, and when it’s flying around it’s bound to catch the eye. And critically, I could configure the drone to only record when I leave home and arm the security system. (And sure, I could configure the non-flying cameras to do that too, but I can rest assured that the drone isn’t going to get hacked and start recording me without me knowing).

Of all of Ring’s cameras, this is perhaps the least likely device to non-consensually record people (who didn’t break into your house). I’ve carefully configured my doorbells’ and outdoor security cameras’ motion detection zones so that movement has to be on my property for them to start recording, but even then there’s no guarantee a passerby won’t be recorded because it’s possible the camera might happen to be on for another movement when they happen to pass by.

Furthermore, I’m encouraged to see that Ring is stepping up privacy by enabling end-to-end encryption for videos on doorbells that can handle it (I’m hoping this includes the Pro doorbell and isn’t just exclusive to devices that connect to 120V). We’ll have to see how meaningful the encryption ends up being (if it’s E2E encrypted but Ring has the keys, then what’s the point?) but a step like that shows me that Ring is beginning to understand customers aren’t going to trust them just because they say “trust us”. The hundreds of thousands (probably millions) of Ring cameras watching the area around Ring customers’ homes might well add up to one of the biggest surveillance camera operations in the world. It’s been eating at my mind for years that the company has all of these video files sitting there, unencrypted and viewable by anyone in the company that can get to those files. E2E encryption being an option helps me rest a little easier about that situation.

Bottom line: this drone improves on indoor security cameras in some really clever ways but that all got lost in the noise because of collective knee-jerk reactions to the thought of drones, and instead people are thinking of it as reaching new heights of privacy invasion.


Thoughts on the loss of RBG

There is an alternate reality where she died where I can reflect on her life with the awe and admiration that her life and career deserved.

In that reality, I’m not super torn up about her death. She had an incredible run and her legal decisions have had ripple effects on law and justice in the US that reverberate throughout the rest of its history.

And in that reality I can acknowledge that she wasn’t perfect. Liberal as she was, she fell short of overcoming racism. In her entire career she only hired one black clerk, and her comments about Colin Kaepernick (for which she did later apologize) demonstrated that even trailblazers have blind spots, and that it’s important to always be welcoming in the next generation of trailblazers because for all of us, there will be a day when we will start getting in the way of progress.

But that isn’t the reality we get to mourn RBG in, is it?

Instead I am stuck worrying about Mitch McConnell applying a double standard that we could tell from miles away he was going to apply, and indeed he came up with a doozy of a bullshit reason for why it was okay for him to not hold hearings for Merrick Garland in 2016, but how he will indeed hold confirmation hearings for whomever Trump nominates.

In Portland we only just today got a break from the incredibly smoky air from the nearby wildfires that were keeping us holed up in our houses. And that’s just shortly after we were gearing up for the possibility we’d need to evacuate because of those wildfires and heavy winds. And that’s in addition to the general long-term threat caused by the climate change we’ve been letting happen for decades without trying to address with urgency.

And of course all that is in addition to the fact that we’ve been living in a pandemic for most of the year and the US is handling it worse than just about every other country in the world.

Also, the US is being pushed to reckon with centuries of racist history, and we’re struggling to do anything about it.

And most of the US agrees with me that we should do something about these issues, and presumably as a democracy that means we’d have leadership doing something about it, but we don’t, because of a mix of gerrymandering, the electoral college, and the fact that in the Senate, every state gets two senators, meaning that California, a state that if it were its own country would have the fifth largest economy in the world, gets as many senators as Montana. 37 times as many people, but the same number of senators.

It must have been such an incredible burden for Justice Ginsburg to bear, knowing that the court, already ideologically shifting further right, was somewhat being held in balance by her, and that she needed to stick it out until after Trump left office to avoid the court shifting incredibly far-right. To stay on the bench not because it was her ambition (which it was), but to soldier through illness after illness while continuing to work because there was no other good option.

The context makes all the difference.

And it’s in this context that the news of her death leaves me feeling so much despair. RBG’s death in itself isn’t the despair; it’s more the sprinkling of salt that brings out the flavor of despair in everything else we’ve been experiencing in recent history.

I look forward to a hopefully not too distant future where the wounds of today have healed and we can look back at RBG’s life and feel the inspiration I wish I could feel today.


Clipboard History with Alfred

Note: this is your last chance to win a free Alfred Powerpack!

If you want to enter, you should own a Mac, since you’ll need one to actually use Alfred!

To enter, do one of the following:

  • follow me at @harpaa01
  • Subscribe to icanthascheezburger via email
  • Subscribe via RSS at the link above and leave a comment with your email address (I won’t publish the comment)

If you also mention one of these posts on Twitter or Mastodon or Micro.blog (and mention me so I can see it) you’ll double your chances.

Winners will be randomly selected on Wednesday. I don’t want to reveal too many numbers here, but let’s just say you’d have really good chances of winning if you entered.

homer simpson saying he likes those odds

Copying and pasting is a nice little productivity boost that you get when using a computer, but the fact that you can only ever have one thing in the pasteboard at a time is kind of limiting.

With Alfred, you don’t have to feel limited in this way: enter Clipboard History.

alfred clipboard history

This is the kind of feature where you first hear about it and your reaction is an unenthusiastic “hmm, neat.”

But I promise: once Alfred is keeping your clipboard history and you actually get used to it being there, it’s liberating.

It’s easy, just invoke Alfred, type in the keyword to get to the clipboard viewer (mine is c) and hit Enter, and you’ll be greeted with recent Clipboard items.

“What was that URL I had a few minutes ago? Oh, no worries, I’ll just grab it quick.”

Ever feel a little bit hesitant to delete some text from your document? Just ⌘X and you can cut it with confidence that it’s right there if you change your mind, even if you copy some other text to the clipboard later.

Got a list of different things you are going to copy from one file to another? Don’t keep cmd-tabbing back and forth; just copy them all in sequence, then use Alfred to get the one you need, right when you need it.

The clipboard history is searchable, so even if you don’t 100% remember when you copied something, or even if you don’t quite remember exactly what the text was, you can quickly find it.

If you copy images to the clipboard, Alfred handles that too!

By default, Alfred won’t keep sensitive items in the clipboard history, like things copied from your password manager or the Keychain.

But wait, there’s more!

Keeping recent clipboard items is great, but what if you just have some snippets of text that you frequently want to include in documents?

Alfred’s got you.

Enter snippets!

alfred snippets

You can give snippets of text a name, and then when you’re searching the clipboard history, you can search for the snippet of text by name.

And if you want to use Alfred as a basic version of TextExpander, you can also add the ability to automatically expand snippets when you enter the keyword.

These snippets are highly useful, and you can import them from the web. I’ve imported a collection of emoji by name, for instance.

You should use Alfred!

This is my final post in this Alfred series. I’ve shown you how to do a variety of things with Alfred, and it’s still hard for me to describe exactly what Alfred is for, because Alfred can be used for anything you really can imagine setting it up to do.

But at the end of the day, Alfred buys you back some time in your day, a few seconds at a time. Sometimes when you use it, it buys you back a few minutes. But it helps you do things without effort and without thought.

And when you’re in “the zone” and Alfred can keep you in the zone by making it possible for you to do something like type in the glyph for ⌘ without having to dig into the character viewer, Alfred just gave you back more than just that couple seconds.

I don’t spend tons of time using Alfred (and you shouldn’t!), but I invoke it many times a day:

CleanShot 2020 08 31 at 18 39 51 2x

And if Alfred kept track of my usage across every device I’ve used it on, it would no doubt tell me that I’ve used Alfred at least fifty thousand times since I first installed it 10 years ago, almost to the day.

Thanks, Alfred!

Keyboard Projects: Iris

Over the past year I’ve developed a periodic habit of going on keeb.io and just ordering up a kit for a keyboard just to try it out. Like with most mechanical keyboard supply shops, you have to keep a close eye on when things are in stock, but they have some fun and relatively simple keyboard kits.

I recently embarked on trying to find an answer to the question “what if I had a keyboard that was like the Planck, but had just a couple more keys on it?”

There are a couple Planck-like keyboard projects out there that kind of fit the bill of what I was looking for, but I noticed the Iris kit on keeb.io and decided to give that a shot.

It’s a split ergonomic type keyboard with an ortholinear layout. Each half has 28 keys; a 6×4 grid, plus space for 3–4 thumb keys on the corners of each half.

Now, its default layout is set up not quite like a Planck; it’s actually using the top row as number keys, like this:

Iris keyboard layout (default)

But this is a fully programmable keyboard, so I don’t need to concern myself with such limitations!

Instead, I decided to lay mine out as though it’s a Planck, just with some extra keys added:

my Iris keyboard layout

Switches and Keycaps

Once you’ve picked what kind of keyboard you’re making, the next most important set of choices are going to be which switches you’re going to use, which will in turn inform which key caps you can use. The switches, if you’re not familiar, are the component that goes beneath each key cap, and it’s the “mechanical” part of a mechanical keyboard; it actually has mechanical components within it that are responsible for actuating when you press a key, and are also responsible for a good chunk of the clickiness you feel when you are typing on a mechanical keyboard.

The Iris PCB, luckily, is quite flexible! It supports three main types of switches: Cherry MX-style switches (by far the most commonly used in modern mechanical keyboards), ALPS switches (very popular in the 80s and 90s with some die hard fans still today), and Kailh Choc switches (a thinner switch that enables you to build a low-profile keyboard with less key travel and less thickness).

I initially decided to lay mine out with ALPS-style switches made by Matias. Because ALPS-style switches use a different plastic stem shape, that severely limited my key cap options, so I just bought a set of blank key caps from Matias.


Building the keyboard is pretty straightforward. The latest PCB is basically all pre-made; you just have to solder the switches in, then screw the case together. It’s a good beginner project, too, because there are only 56 contact points you have to solder on each half.

Once I had the keyboard together, and once I ported my layout over to it and flashed it, I gave it a whirl. But the thumb keys proved to be a problem; they were basically blocking the two keys they’re in front of.

So, I decided to try something experimental: what if I bought a few low-profile Choc switches, and used those for the thumb keys instead?

That’s got to work, right? The PCB supports both types of switch.

It was a little janky, and the PCB wasn’t built to have more than one variety of switch in it at once, but with a little flexing, I got the Choc switches (Jades, if you were wondering) soldered in and they worked!

PCB flex

Show me the keyboard!

It came out looking pretty cool. Note that despite my stint living in Wisconsin, I’m not as much of a Packers fan as the key caps let on; the supplier I got the key caps from included some color key caps as freebies.

Iris glamour shot

close up of the Iris keyboard

And of course, you’re probably wondering how it sounds. Well, I am delighted to say that the ALPS-style clicky switches are some of the clickiest you can get, and these are nothing short of really satisfying to listen to:

Mind you, with this particular choice of case and plate and keycaps, I am ending up with a somewhat different sound than these same switches produce on another keyboard. Let’s hear these ALPS switches on my Ergodox Infinity, for instance:

The difference is more pronounced in person, but the sound is deeper than on the Iris.

Also, the four thumb keys are using “thick click” Kailh switches, which also have a lovely little sound and feel to them:

I think if I could do it over again I’d have picked the slightly stiffer Navy Blue Choc switches.

Parting Thoughts

Whenever I’m using a Planck or similar 48-key keyboard, I’m always thinking to myself “if I just had a couple extra keys here that’d be just perfect.”

And so I give myself a few extra keys with the Iris, and I realize it’s not the productivity boost I thought it’d be.

The issue: With the Planck, everything is within super easy reach. The thumb keys on the Iris are just far enough away that your fingers second guess themselves when you try to use them. That slows me down more than you might think. So even if this gives me some new dedicated keys I can now hit without a layer switch, it’s still actually just faster for me to hit the equivalent key on the Planck, even though hitting that same key involves two keystrokes.

I’ll give myself more time though. This keyboard is still a lot of fun to type on and I really do like how rich and clicky it sounds. Also, the switches are still a little stiff and would benefit from a little more time to break in as well as a bit of lubrication.

This is a great quarantining project too. Material costs are $100–150 depending on what components you pick out, and the soldering work is pretty easy. Hit me up if you have questions about it.

Fully Programmable Keyboards

I first got hooked on mechanical keyboards in 2012 for the simple reason that they felt really nice to type on. They make nice satisfying clicky sounds, but also they just feel nice under your fingers. It’s a delight to the senses.

But the bigger thing that’s kept my interest in mechanical keyboards as strong as ever is the growing industry of enthusiasts making highly customizable keyboards.

Let’s talk about keyboards that are “fully programmable.”

Not all mechanical keyboards are like this. In fact, most mechanical keyboards you find at retail aren’t. But when I’m recommending a keyboard for someone, I almost always recommend one that’s fully programmable.

But what does it mean that the keyboard is fully programmable?

Most of you are probably using a keyboard that looks, more or less, like this:

apple keyboard

You have been taught that each key does what it says it does, and that’s that. That means if the keyboard’s layout has a weird design decision, you’re kind of stuck with it.

Fully programmable keyboards aren’t restricted like this.

On a fully programmable keyboard, you get to tell your keyboard which key is which, and that becomes embedded in the keyboard’s firmware. That means those customizations are still there, no matter which computer you connect it to.

You can do this in software with apps like Karabiner an AutoHotKey on your computer, but it’s a pain to install that software, and if you want to use the customization on, say, an iPad, this isn’t an option. But when the keyboard itself can be customized, the customization is in the keyboard.

Let’s go over a few simple example things you might want to customize on a typical keyboard:

  • Swap the Windows key and the ALT key so that the Windows key is just to the left of the spacebar like Mac users are accustomed to
  • Turn your Caps Lock key into a CTRL key
  • Turn your Caps Lock key into an Esc key
  • Turn your Caps Lock key into both a CTRL key and and Esc key! When you tap it, it’s Esc, and when you hold it, it’s CTRL. Whoa!
  • Turn that extra CTRL key into a key that’s shift+cmd at the same time so you can type some of those more obscure keyboard shortcuts without having to do finger acrobatics
  • Make your Shift keys do double duty by having them type a frequently used symbol when you tap them, but otherwise when you are holding them down, let them be a Shift key.
  • Take a spare key and make it so that when you hold it down, it gives you a whole other layer of keys on your keyboard, full of all your frequently used keyboard shortcuts.

Quite simply, a keyboard with programmable firmware will work just the way you want it, and if you don’t like how it’s working, you can change it. Do you keep hitting the “-” key when you meant to hit the 0 key? Just make them both a 0 key and assign the “-” key somewhere else where you won’t accidentally bump into it!

Is it awkward for you to type keyboard shortcuts with lots of modifier keys at once, like shift+ctrl+alt+5? Turn the modifier keys into one-shot keys so that you can just press them in sequence, then press the 5, then it’ll work as if you were holding them all down at once.

When the keyboard is programmable, you get to be in charge!

Fully programmable keyboards are pretty cool with standard layouts, but they also open up a whole new world of keyboard options for you. Look at this tiny little keyboard, for instance:

split Planck keyboard with cute key caps

If you showed me this photo several years ago I’d have been intimidated. “I’ll never learn how to type on this!” This is now one of my most-used keyboards. I had the confidence to try it out because I knew that its layout could be customized any way I like.

With my keyboard fully customizable, I have a whole new dimension of tool-sharpening available to me, and I take advantage of that multiple times a week. I’m often coming up with simpler keyboard shortcuts that are macros for more complex ones, or finding ways to make it less awkward to type certain things on a variety of keyboards.

Programmable keyboards have fundamentally changed my relationship with keyboards. It’s not the keyboard’s world; it’s my world, and the keyboard is a tool I can craft to be just so.

Your keyboard is a very intimate tool. Your fingers are always in contact with it. It is the vessel by which your thoughts travel from your mind to the computer screen.

If you do your job at a computer you spend hours a day interacting with a keyboard, so don’t fuck around with some flimsy generic $15 keyboard. Get a keyboard that is a delight to the senses to use, and works with you, and for you.

And if programmable firmware blows your mind, wait till you find out what other ways your mechanical keyboard can be customized!


Security ProTip: Fake Security Question Responses

There are a lot of web sites (banks come to mind) that force you to add a series of security questions to your account, and you often don’t get to pick the security questions.

This is a terrible security practice.

Security questions are as good as a password usually, and they’re usually asking you things about your own life that aren’t changeable, and that people can possibly learn about you. Even worse, you don’t know whether a web site is storing these responses at rest in plain text. If they are and you gave the web site your real high school nickname, then you’re one data breach away from having the world know that people in high school called you “Harps.”

But no one says you have to tell the truth when providing answers to these security questions. Instead, use your password manager to generate fake security question responses and put those in as passwords:

entering fake security responses into 1Password

I choose to have 1Password generate memorable passwords that are multiple words with spaces as separators between the words, and I also set these up as passwords in 1Password (instead of text) so that they are masked by default, and so I can just click them and copy to my clipboard. It’s also easy to reveal them in case I’m calling customer service and I need to recite them over the phone.


Building Custom Jigs With Alfred

note: I’m giving away some Alfred licenses!

Because I love Alfred so darn much, I’m giving away Alfred Powerpack licenses to some lucky readers. If you want to enter, you should own a Mac, since you’ll need one to actually use Alfred!

To enter, do one of the following:

  • follow me at @harpaa01
  • Subscribe to icanthascheezburger via email
  • Subscribe via RSS at the link above and leave a comment with your email address (I won’t publish the comment)

If you also mention one of these posts on Twitter or Mastodon or Micro.blog and mention me you’ll double your chances.

I’ll pick winners next Wednesday, September 2, 2020!

I like to watch experienced craftspeople do woodworking from time to time, and the more I watch good ones doing their work, the more I realize it has a lot in common with software development as a craft.

One such similarity is that woodworkers will often see opportunities to make themselves more productive by building little custom tools for themselves such as jigs to help hold a piece of wood in place, or to help make consistent cuts when doing some repetitive work.

Here’s a common enough use case: I have a projects folder where I keep all my programming projects. I very commonly want to just open one of the folders in that projects folder with my editor of choice.

Alone, Alfred makes this not too difficult:

alfred accessing a project folder

That isn’t bad.

But we can do it faster with a workflow.

This workflow has two components: a script filter input and an action that runs a script.

This is the script filter:

script filter

The code for the script filter:

I’m not that good at Bash scripting and I lifted this code from some other Alfred workflow years ago. But to customize it, you’ll want to change the directory where it says cd ~/projects to match the directory you keep your projects in. You can also customize the text to say whichever editor you plan to have projects open in.

The action script is set up like so:

script action

The script reads simply /usr/local/bin/mate ~/projects/{query}. Your editor will be a different binary. If you use VS Code and you’ve set it up to launch from the command line the path to the binary will be /usr/local/bin/code instead.

With everything set up, let’s see how it looks:

alfred script filter workflow in action

Not bad!

Alpha Lima Foxtrot Romeo Echo Delta

Ever been on the phone with customer service and you need to spell something out, and you think “man, I wish I actually knew that NATO alphabet so I could spell out letters using words and sound like a military badass”

Alfred lets you be that badass. You’ll need a third party workflow for this. Download it and add it to Alfred, and once you do, just type nato into Alfred followed by the phrase you want to spell to the person on the phone. And if you press Enter it will display in large type.

demonstrating using Alfred to display Nato alphabet words

I don’t always need this, but when I do, it’s useful. And if I ever do need it, it’s just a couple keystrokes away.

Now, go forth and look for an excuse to say “niner” to someone.

Want an Alfred license?

Because I love Alfred so darn much, I’m giving away Alfred Powerpack licenses to some lucky readers. If you want to enter, you should own a Mac, since you’ll need one to actually use Alfred!

To enter, do one of the following:

  • Follow me, @harpaa01 and DM me to say you want a PowerPack
  • Subscribe to icanthascheezburger’s email newsletter
  • Subscribe to the RSS feed, then also leave a comment with a way for me to reach you (comments are moderated and I won’t publish it)

To double your chances, share a link to this blog post on your Twitter account (mentioning @harpaa01). And if you have over 100 followers your chances are tripled.

I have gotten zero takers so far on this, so an Alfred Powerpack literally could be there for the taking!

Searching the Web Far and Wide with Alfred

This is a use case that got me addicted to application launcher style apps before Alfred even existed (back then Quicksilver was all the rage).

It doesn’t take that long to Google something; you just go to an open browser window and type something in the address bar and hit Enter. If you’re savvy with your keyboard shortcuts you’ll know that ⌘L will focus your keyboard on the address bar so you don’t even need to lift a finger from the keyboard.

But that still takes a second, especially if you’re not in a browser right this minute.

Alfred’s got you covered. Look no further than the Web Search feature:

alfred web search settings

The best part: this doesn’t just work with Google; you can search just about any site on the web that supports search. You can jump right into a Google Image Search, for instance (my shortcut for that is gim), or search Amazon for something.

performing an Amazon search with Alfred