Delete Previous Word or Path Item in Terminal

Jump to Post

In pretty much any Cocoa app, option-delete is an incredibly useful shortcut to delete the previous word or path component. If you mess up typing a word, for example, you can start fresh instead of having to use the mouse/trackpad or hit backspace multiple times. For paths, it’s great for when you want to remove a few components from the end of a path.

In Terminal, however, this is not possible by default. You can enable a command in the Edit menu called “Use Option as Meta Key” and it will restore this Cocoa editing behavior.

Pair this with the ZSH auto-suggestions, and good grief is this going to save me so many backspaces. 16 years I’ve been using that terminal, had no idea that’s what this option did.

Getting Small Again

It’s been quiet here at home lately. Grey and overcast, rain morning, noon, and night. A good time to rest and recover from a lot of busy weeks. I’m essentially an introvert, and while I enjoy visiting it tends to take a lot out of me. I’ve always preferred long conversations over coffee to loud concerts or clubs. I’m on the couch this morning, my wife’s dog is next to me. The dog kept us up a lot last night. It’s nearly silent, but for the breath of the dog and the clack of the keys.

I watched “Amazing Stories” on TV the other day, the one about a guy who went back in time to 1919. While he spent most of the show trying to get back to 2019, he found that he actually preferred life 100 years ago and wound up staying. It’s an interesting thought experiment to consider the things that we’ve gained over the past century, like civil rights, women’s rights, advances in medicine, heating and cooling, the ability to stay in touch over long distances, but also to think about the things that we’ve lost along the way too. Independence, civility, an overall slower pace of life. I live in a small town and I think a lot about what could revitalize it. Folks that lived here for a long time say that it used to be different, the buildings that are crumbling and empty around the square used to be stores that were stocked and full, kept in top shape. A person could walk down to the square and see their neighbors going about their business.

The butcher, the baker, and the candlestick maker.

What I miss is the opportunity for someone to open a shop selling what they’ve made with their own hands, and be able to make a living off of it. People in town say that things changed when the state put in a highway that bypassed the town, but I think that was only a symptom… a sign that pointed to a real cause. Things fell apart because people stopped shopping in the town. They stopped shopping in town because they could get things cheaper if they drove 20 miles to shop at Walmart instead. The desire for cheap goods has decimated small towns and small businesses, making us dependent on massive corporations that exploit the world’s poorest and most vulnerable to make a $5 t-shirt.

What I wouldn’t give for a generation of makers and independents to turn this around. Sometimes I like to write or envision future scenarios where that’s taken place. Not that there’s not a place for big companies. Something like the MacBook or iPhone simply can’t be created by a mom & pop shop, but they could definitely be made here, by us.

We still have a fantastic barber and a, well, mediocre doctors office in town. Although, of course, the doctors office just recently stopped being independent and is now part of a regional system. Now when I call to make an appointment I get re-routed to someone 25 miles away instead of a mile down the road. I was in the office one day when an elderly gentleman was waiting in line right in front of me, and I asked him about how things had changed over the years. He didn’t have much time to talk but the description he gave was striking. I asked him what happened and as he was walking out the door he turned and said “everything got big, big, big!”

I don’t want to go back in time to 1919, I rather enjoy the privileges and comforts that we have now (especially considering that the idealized past so many think about was generally only great if you were white and male), although I also believe that a lot more of us could benefit from living more of Teddy Roosevelt’s “Strenuous Life”. I want to go forward. I want to live in the future where we’ve figured out these things. Where we’ve created self-sustaining communities of independent makers, linked by high-speed rail systems and electric cars powered by the wind and the sun. Where we all grow gardens full of good food, and we know where the goods we buy come from, and maybe even know who made them. Where we know our neighbors. Where we know the mailman’s name and recognize his uniform and know approximately when to expect him. Where teachers are revered for the responsibility they have. Where the ability to fix a broken thing is given the respect it deserves.

I wish I knew how to make that vision a reality, and now in this isolated time of the Coronavirus, it seems more relevant than ever. We spent too many years getting big, what we need now is to get small again.

Cloud Backup with Arq and B2

I’m a fan of the three-pronged approach to backups. I’ve got two different drives attached to my iMac, one for Time Machine for hourly backups, and the other for SuperDuper! for nightly clones of the internal drive. For many years I’ve also had BackBlaze running for a third off-site backup in case the house goes up in flames. At $6 per month it wasn’t bad, but at the beginning of the year when I did a review of subscriptions and decided what should stay, it didn’t make the cut. Not having an off-site backup bothered me though, and I considered starting it back up again till I heard the guys on ATP talking about Arq and thought I’d give it a shot.

What I like most about Arq is that it’s a standard Mac-assed Mac app. It fits in with the rest Mac environment, is light on resources, and just works as expected. The developer, Stefan Reitshamer, has been working on it since 2009 and has built a good business around it, releasing a Windows version and their own cloud backup option.

At $50 Arq itself is a bit pricy, but by pairing it with Backblaze’s own B2 online storage I’m only paying around $1 per month for the storage. Compared with the normal Backblaze service price of $6 per month, I’ll have recouped my money after five months of using Arq. My personal dataset that I’m backing up isn’t that big, but it is important.

I like having more control over my backups, and knowing that if I add something to the Arq backup set that it’ll stay there, no matter if I disconnect a drive or if the data is deleted from my Mac. More control means that there’s more setup than Backblaze or Crashplan, but that’s a tradeoff I’m willing to live with.

Over the Air

I recently dropped our cable service and switched our home entertainment system to be centered around the Apple TV (the box, not the service), with an app installed to watch live news, sports, and other local channels. Here’s how I did it.

I used the otadtv.com tower locator to find that there were several over-the-air broadcast antennas within 30 miles of us. Since we live in Iowa and the terrain is almost entirely flat farmland, there’s very little to get in the way of a signal.

Equipment

  • RCA Outdoor Yagi Satellite HD Antenna - link
  • Tablo Dual Lite OTA DVR - link
  • Seagate Portable 1TB External Hard Drive - link
  • Apple TV HD - link

The RCA antenna is inexpensive, and mounted cleanly on the post on my roof recently vacated by the old Dish antenna we haven’t used in years. The one downside to the antenna is that the converter that screws into the antennas dipole was incredibly fragile, I accidentally snapped off both ends screwing them on by trying to screw them on too tight. Luckily the part is only $2-$4 at any local hardware store, so I bought two and kept one in a cabinet just in case.

The Tablo box is a DVR that hooks straight into the coax coming from the antenna. It then hooks into the local network either by ethernet, which I do, or over the wireless network. Since the box was going to be sitting right next to my modem and Eero router, it made sense to plug it straight in. The 1TB hard drive hooks into the Tablo box for DVR and commercial skipping capabilities. Finally, since I wanted the same experience upstairs that we have downstairs I bought a second Apple TV, but since the TV is so much smaller I opted for the slightly less expensive “HD” version instead of the “4k”. When and if we upgrade the upstairs TV to 4k, I’ll probably just buy another Apple TV box to go along with it.

Home Network

We upgraded our home cable service last year to a bundle of TV channels, home phone service, and internet. The only thing I was interested in the was the internet, but my wife enjoyed a few shows and liked having the cable, so we kept it. We needed two cable boxes, but only one of the boxes they delivered was a proper DVR, the other one would stream shows from it across the network. There was a ridiculous coax network setup when Mediacom installed the cable, but I changed it so each cable box hooked up over ethernet to an Eero router to communicate over the home network, and the boxes could download the tv guide from the web.

The new setup has each Apple TV plugged into ethernet into an Eero router, networked to the base Eero where the Tablo box is hooked up. I’ve got the Tablo app downloaded on the Apple TVs which gives me a single interface for movies, tv shows, and local news, weather and sports. As a bonus, I can now watch the morning news on my iMac or MacBook in Safari by visiting my.tablotv.com. We are still in the testing things out phase, but assuming everyone’s happy with the setup I’ll cancel my cable and drop back down to just internet service. With the reduction in price this setup should pay for itself in about four months.

How Long Will macOS Be Unix?

I’ve started to worry about the Unix core of macOS. Possibly unnecessarily, but there have been a few troubling signs over the years, the biggest of which is obviously the lack of access to a decent development environment on iOS. On iOS, web development is possible, but only in the barest, most basic sense of the term. As soon as you need to do anything even remotely complex, like build a Django project, run the server locally, and browse the site for testing, you are out of luck. That’s fine, because it’s iOS and I don’t need to do development on my phone, but for years Apple has been saying that they thought iOS and specifically the iPad was the future of computing. In the past few months we’ve seen other signs that point towards Apple looking to simplify their products to the point where they’d no longer be usable for me.

Another obvious sign is that Apple has deprecated what they call “scripting languages”.

Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include scripting language runtimes by default, and might require you to install additional packages. If your software depends on scripting languages, it’s recommended that you bundle the runtime within the app. (49764202)

Well, fine, for years we’ve needed to download the Xcode Command Line Tools to install git and a compiler. I imagine (hope) that future versions of the download will include the scripting languages needed to bootstrap Homebrew.

What bothers me the most though is that Apple has removed the man pages from their online documentation. Even the old archived links no longer work. In fact, if you start at developer.apple.com/opensource, and follow the link at the bottom to “View Unix Documentation”, you are brought to an extremely out of date archive page with five (5!!) links, none of which are relevant. I’ve been listening to Swift and Objective-C developers complain on podcasts about how the language documentation is incomplete or out of date, but that’s nothing compared to what’s been done to the Unix documentation. So far, the best we can get is doing a search on the open source repository… until that goes away.

I use a Mac because I love the simplicity and reliability of the user interface coupled with a solid Unix core, and because the indie developer community produces some of the best software in the world. The text editor I’m using now for example, BBEdit. Personally I think it’s clear that the Mac’s model for a software ecosystem is the best we’ve been able to come up with. Provide a person with the ability to craft an application themselves, and be able to make a living off of doing so by selling to a global audience. This results in high quality, sustainable software built by people who care deeply about their work and are motivated to continue developing it. Not to mention that the community built between writers, developers, artists, and hobbyists is welcoming, friendly, and inclusive.

One of the reasons for the Mac’s success in the 2000’s and 2010’s is because it made such a great developer or sysadmin machine because of the Unix architecture. Being a Mac, if you never needed to know about it, you would never see it, but if you did need it, the Terminal app was always right there in the Utilities folder, pop it open and you’re off to the races. Unfortunately, given recent moves by Apple, I’m not sure how much longer I’ll be able to stay with the mac as my primary work machine. If I literally can’t get my job done, I’ll be forced to go somewhere else. That really doesn’t sound appealing to me.

Do You Drink?

Jump to Post

The wife of the bed and breakfast asked me if I wanted western or Japanese style breakfast. I knew I’d be served Japanese for most of the walk, so I chose western. She baked me five loafs of bread. She couldn’t believe I didn’t eat them all. The husband kept gesturing me to rip them apart and shove them down my gullet.

Hilarious.

Nostalgic Development

Like many my age, my first introduction to writing code was creating basic web pages, mimicking what I could find by right-clicking on a site and selecting “view source”. HTML was, and continues to be, simple. There are nested elements inside the top and bottom tags, and the styling sheet defines how those elements are presented. But, somewhere along the line we’ve collectively lost our way.

For example, I recently worked on a rather large Python web app. The basic concept of a web app is fine, it dynamically creates the HTML on the backend and handles the input from the page. A layer on top of the HTML, but a necessary one to develop anything dynamic. The Python environment has its own package manager, and bundling things up is fairly simple. Then the developers decided to do some modernization of the UI, which required significant modifications to the build pipeline.

Instead of a pure Python environment, we now needed Node.js. We aren’t running a node server, we only need it for the build process. Not to build the actual application, mind you, just the CSS and javascript. Node famously comes with its own package manager, npm, and thank goodness, because our site suddenly needs 899 packages in the node_modules directory. Building on top of node we’ve got React and webpack. Webpack is a bundler used to process javascript and SASS files to compile them into javascript and CSS suitable for deployment. Why do we need SASS? I have no idea. I also don’t know why we need to compile our javascript down into bundled javascript.

We’ve taken what was simple and beautiful and piled on so much clutter and junk that it’s nearly unrecognizable from the days of “view source”. As in all things, I’m sure there’s a lot about this situation that I don’t understand. I’m sure that the developers of these projects have good intentions, and see a definite need for their work. It’s just that I don’t see it. I don’t understand why we need these layers of abstraction.

I’ve been creating web pages for 20 years, in one form or another. I really thought that HTML 5 would be a renaissance of simple, usable web development, but for the most part, that hasn’t happened. Well, at least we finally got rid of Flash.

Digital pollution - Derek Sivers

Jump to Post

I prefer coding everything by hand, because I don’t like the huge piles of garbage that the automated generators create. These programs that generate a website, app, or file for you spit out thousands of lines of unnecessary junk when really only 10 lines are needed. Then people wonder why their site is so slow, and they think it’s their phone or connection’s fault.

Derek should have seen FrontPage way back when. It was the absolute worst.

Mudita Pure Kickstarter

Jump to Post

Modern take on a classic phone. Enjoy no distractions, an E Ink display, ultralow SAR value and the features you need.

Another take on a minimalist eInk phone. I like it. If it eventually comes out, I might buy it.

Maccy - clipboard manager for macOS

Jump to Post

Clipboard manager for macOS which does one job - keep your copy history at hand. Period

Very cool, I’ve been thinking lately that I’d like to replace Keyboard Maestro’s clipboard manager with a dedicated app. KM’s just seemed far too slow. We’ll see how this goes.