Welcome to the lab.

Web Excursions for April 22, 2024

Web excursions brought to you in partnership with NordVPN. Secure your internet browsing effectively and affordably.

Google Graveyard - Killed by Google

Killed by Google is the Google Graveyard. A full list of dead products killed by Google in the Google Cemetery. Up-to-date and shocking in scope. I bet there are a few on here you’d never even realized were a thing.

xero/figlet-fonts
A huge collection of figlet/toilet ascii art fonts from xero.
btt.js
BetterTouchTool MacOS automation in JS. I haven’t played with this yet but it looks really fun. Let me know if you take it for a spin.
ttscoff/Marked2-obsidian
I made a Marked plugin for Obsidian. It’s my first try and I really don’t know what I’m doing, but it seems to work perfectly. Waiting for it to be included in the Community Plugins for easy install (which could have happened by the time this goes live), but you can install from the source if you’re anxious.

NordVPN secures your internet browsing, plus it can make it look to services like you’re coming from any country. Check it out today.

Bear giveaway!

I’m excited to offer the next giveaway, 3 1-year subscriptions to Bear Pro ($29.99 value each) for Bear. Bear is a great app for note taking, journaling, and organizing information with Markdown support. It’s gorgeous to work with, elegant in its functionality, and works great with Marked for all of your export needs.

From the developer:

Powerful tools to take notes, plan your week, write a book, or even build a wiki, fast, native apps that keep pace with your imagination, online and off, and send notes to others, export to many formats, and share ideas with the world–if you want.

Check out the Bear site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, April 26, at 12pm Central. The drawing is for 3 1-year subscriptions to Bear Pro ($29.99 value each) for Bear, one per winner. Note that if you’re reading this via RSS, you’ll need to visit this post on brettterpstra.com to enter!

New rule: All signups must have a first and last name in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!

Giveaway ends in...

One entry per person, a full name and valid email required to win. Giveaway ends on 04/26/24 at 12:00 PM. I will never sell or misuse your email address.

Stay tuned for more giveaways every week through September, 2024 (and maybe beyond).

If you have an app you’d love to see featured in this series of giveaways, let me know. Also be sure to sign up for the mailing list or follow me on Mastodon so you can be (among) the first to know about these!

A plea to nvALT users

I’ve said this before, but I need to keep repeating it based on the number of queries I get. nvALT is at end of life, unless someone picks up the reigns and modernizes the (open source) code base. As it stands now, nvALT barely functions on modern OSs.

Fletcher Penney and I have designed nvALT’s successor, nvUltra, to work only with a folder full of Markdown files, which is the only way I recommend using nvALT. If your nvALT files are stored as individual Markdown files, switching to nvUltra is no problem, nor is switching to any other Notational-Velocity-like system. It will even work in Obsidian. But if you store your notes as a database only, you’re screwed when nvALT stops working for you.

So please, if nvALT is still running for you, go into Preferences->Notes->Storage and change “Store and read notes on disk as” to “Plain Text Files.” If your previous storage method was database, all of your notes will be immediately written out as plain text files, safe and secure and easy to port to a new (working) notes system. The files will now be in the same folder nvALT shows in the folder selector at the top of the Notes preference pane.

nvALT is not even working well enough for me to get a full screenshot. But here is my best attempt.

If your notes are stored as Rich Text Files (RTF), you’ll need to convert them to Markdown to make use of other apps like nvUltra, The Archive, or Obsidian. If you don’t know Markdown, don’t sweat it. It’s very easy to learn and it’s really just plain text, so as long as you know how to write, you’re already kind of writing Markdown. It’s only necessary to learn any syntax if you need to do things like create bulleted/numbered lists, add bold or italics, or create links.

So, again, please immediately switch your storage method to plain text files. The nvALT database format has no easy out for people ready to switch. I may try to write an importer for nvUltra (or generally to output Markdown), but I have not done so yet.

If you want on the nvUltra beta, email me through the contact link on nvultra.com.

The Unite 5 giveaway winners!

The Unite 5 giveaway has ended, and I have winners to announce!

The winners!

Congratulations to:

  • Robert Williger
  • Angelo Machils
  • Mike Shaffer
  • Jim Dye
  • Denton C Jacobs

You should have received an email with details, please let me know if you didn’t hear anything!

But I didn’t win!

If you didn’t win, sorry, but Unite 5 is still worth checking out. If you want to turn your most-used websites into powerful standalone apps, Unite is the best way to do it. You can use the link www.bzgapps.com/pstra for 20% off Unite 5 for a limited time.

By the way, Unite 5 is also available on Setapp, along with hundreds of other amazing apps. You should probably get a subscription.

Next up is Bear. Check back every Monday through September, 2024 for more giveaways. The next giveaways include:

See the full list of upcoming giveaways!

If you want to suggest an app you’d like to see in this series, let me know on Twitter or Mastodon, and join the email list for notifications!

Unite 5 giveaway!

I’m excited to offer the next giveaway, 5 licenses ($49.99 value each) for Unite 5. Unite creates Single Site Browsers, self-contained apps designed to work with a specific website. You can create an SSB for Facebook, one for Slack, one for any tool you use that has a website. Keep your data separate, customize behaviors, and see the interface the way you want to.

From the developer:

Getting started with Unite is simple. Just input a URL, or choose a site from our extensive app library. In just a few clicks, you’ll have your very own macOS app, designed by you, for you.

Check out the Unite 5 site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, April 19, at 12pm Central. The drawing is for 5 licenses ($49.99 value each) for Unite 5, one per winner. Note that if you’re reading this via RSS, you’ll need to visit this post on brettterpstra.com to enter!

New rule: All signups must have a first and last name in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!

Sorry, this giveaway has ended.

Stay tuned for more giveaways every week through September, 2024 (and maybe beyond).

If you have an app you’d love to see featured in this series of giveaways, let me know. Also be sure to sign up for the mailing list or follow me on Mastodon so you can be (among) the first to know about these!

The Photos Workbench giveaway winners!

The Photos Workbench giveaway has ended, and I have winners to announce!

The winners!

Congratulations to:

  • Stuart Marshall
  • Thijs Hagen
  • Christopher Dahrén
  • Yinan Chen
  • Robert Gilmore

You should have received an email with details, please let me know if you didn’t hear anything!

But I didn’t win!

If you didn’t win, sorry, but Photos Workbench is still worth checking out. Make your photo management and organization life easier. Photos Workbench is a complete set of tools to that you’ll really appreciate if you have a sizeable photo collection (and who doesn’t these days?). You can still save 20% using this link or entering code PWTERPSTRA24 at checkout.

Next up is Unite 5. Check back every Monday through September, 2024 for more giveaways. The next giveaways include:

See the full list of upcoming giveaways!

If you want to suggest an app you’d like to see in this series, let me know on Twitter or Mastodon, and join the email list for notifications!

Photos Workbench giveaway!

I’m excited to offer the next giveaway, 5 licenses ($29 value each) for Photos Workbench. If you’ve had an iPhone or any digital camera for a while, Apple Photos is probably chock full of pictures. And you probably haven’t named, tagged, geocoded, or rated most of them. Photos Workbench works with Apple Photos to make all of these operations as simple as possible. Take the pain out of organizing your photos!

From the developer:

Photos Workbench works with Apple Photos to help you organize, name, and compare your photos. Batch change titles. Drag and drop photos onto a large map to add locations. One-click apply keywords using keyword palettes. Use ★★★★★ ratings to mark and find your best shots. Compare photos and find the images worth editing, printing, or sharing.

Check out the Photos Workbench site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, April 12, at 12pm Central. The drawing is for 5 licenses ($29 value each) for Photos Workbench, one per winner. Note that if you’re reading this via RSS, you’ll need to visit this post on brettterpstra.com to enter!

New rule: All signups must have a first and last name in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!

Sorry, this giveaway has ended.

Stay tuned for more giveaways every week through September, 2024 (and maybe beyond).

If you have an app you’d love to see featured in this series of giveaways, let me know. Also be sure to sign up for the mailing list or follow me on Mastodon so you can be (among) the first to know about these!

Back in my day… some thoughts on blogging then and now

I’ve been blogging for over 20 years now, making websites for 28 years, and before all of that I was running a BBS that had users from all over the U.S. (but only one phone line/modem, so it was slow communication). And I’ve seen an unsettling shift over the last 10 years that I feel like writing about.

It used to be (10, 20 years ago) that birds of a feather in the blogging world would share each other’s work and sustainably build audiences together. I was part of an informal “network” of blogs that frequently shared each other’s posts, when they were noteworthy, and getting “seen” was as easy as making good content. Getting mentioned on a larger site meant measurable traffic and often new subscribers to your work, and it was a meaningful way of building an audience. The audience I currently have is largely a product of those days.

My larger projects brought in new readers. 20 years ago MoodBlast was my starting point, then the Blogsmith Bundle got attention from Merlin Man, Marked got attention from Daring Fireball, and all of that netted new traffic and more followers. These days, it’s a lot harder, and the attention of major players has much less impact. Bunch got a fair amount of press. Write-ups in major online media outlets, features from creators like David Sparks, and even some print publications worldwide. And I saw a swell in the number of downloads every time, but none of it filtered back to building my readership. Not the way MoodBlast or Marked did a decade ago.

I think I’m doing better work than ever, and it is getting noticed, it just doesn’t tip the needle anymore. I’m not suffering for traffic, but “new” traffic is definitely coming from unusual and unpredictable places that are nearly impossible to capitalize on. Even getting linked on Hacker News doesn’t tip the needle the way it used to (or the way getting Dugg used to. IYKYN.). Gone are the days, seemingly, when I could make something new and have “major” bloggers notice my work, and thus increase readership. I don’t even know how to scratch the surface of the largest blogs anymore, and many of the independent blogs that I could count on have gone the way of the Dodo. And I, at the age of 45, do not have the energy and “hustle” required to make it on new platforms. I will continue doing what I’m doing, and will probably eventually follow my peers into digital obscurity. It’s not that I steadfastly refuse to adapt to new things, I try new things all the time, it’s that these platforms have come to reward behavior I don’t think is beneficial to the end user, and I tend to opt out. I’m not going to “hustle” to make more money for someone else, which is the way we’ve allowed everything to become structured.

These days, we all share our links into the morass of social media, where even our own followers have a hit-or-miss chance of seeing them, thanks to The Algorithm. We “like” creators’ work, but it just becomes a little tick in a metric that’s really only useful to advertising companies whose money is primarily going to the platform provider, not the creators that provide its content. Social media sites are invested in keeping you, the viewer, on their platform, and sending you to a third-party site is detrimental to their ad sales and attention metrics. This doesn’t, in general, benefit the creators. It benefits the platform. Medium and Substack are truly profitable for a select few, with an intense amount of attention and energy (i.e. hustle) involved in getting there. Creation of original content is not, by and large, rewarded by any of these platforms, and you’re ultimately creating content for a corporation to use as they like. Fewer and fewer creators are actually owning the content they create, and it’s disheartening.

Side note: I’ve been reticent to take on new sponsors lately. The returns just aren’t there for the sponsor anymore. I don’t know why, honestly, but my readership is happy to click on links but hesitant to actually spend money. The economy? I don’t know. I just know that I charge a reasonable rate for sponsored posts, but the feedback I’ve gotten from sponsors over the last couple of years is that it didn’t pay off. Which sucks for all of us. So if you like my work and would like to fund me regardless of sponsors, please become a subscriber!

Search Engine traffic is down for many of us because the major engines’ output is flooded with ads and content that is, at best, knock-off content designed to spam the results. I think Google and Microsoft have given up on trying to quell the “SEO” hackers, or even keep up with them. And now they want to spew AI-generated detritus all over the place. Original content is dying, if not dead.

This is all to say that I recognize that things have changed. I just don’t think it’s for the better. Gone are the halcyon days of independent bloggers sharing original work, and the knowledge networks that cropped up between them. Gone are the days of a rising tide that lifts all boats. The tide is just Social Media, and it is, at my most generous, not concerned with the boats. I think, in fact, it’s actively hostile toward them.

I will continue to share noteworthy things I find via Web Excursions and reviews. If you have an article or project you’d like to show my audience, contact me one of the many ways I’m available. And again, if you want to support my work, it’s just a click away.

The The Archive giveaway winners!

The The Archive giveaway has ended, and I have winners to announce!

The winners!

Congratulations to:

  • Devon Greene
  • Justin Tomich
  • Michalis Litke

You should have received an email with details, please let me know if you didn’t hear anything!

But I didn’t win!

If you didn’t win, sorry, but The Archive is still worth checking out. If you loved nvALT, The Archive is a great notetaking app that shines in its place. You can still save 33% on your purchase using the code DONTBESAD when purchasing.

Next up is Photos Workbench. Check back every Monday through September, 2024 for more giveaways. The next giveaways include:

See the full list of upcoming giveaways!

If you want to suggest an app you’d like to see in this series, let me know on Twitter or Mastodon, and join the email list for notifications!

CurlyQ and automated JavaScript execution

I’ve been wanting to add JavaScript execution to CurlyQ for a while and finally got around to it.

In case you’ve missed it, CurlyQ is my command-line web automation tool for fetching, parsing, and responding to web page content, designed to be used as part of a *NIX pipeline. It can grab titles, links, metadata, and more from any web page. As part of its functionality, it can also use Firefox or Chrome to save screenshots, and that’s part of what I’ve improved.

The screenshot command now accepts a --script parameter. This can be a JavaScript string, or - to read from STDIN, or a path to a file which will be read and executed before taking a screenshot. You can also now define an element ID to wait for before taking the screenshot (or executing the script) using --id ELEMENT_ID. As long as the ID is a valid element on the page, the screenshot will trigger once that element is loaded (via HTML or dynamically), with a timeout of 10 seconds. You can also define a --wait X flag in the command to wait for a specified number of seconds after executing a script before the screenshot is taken.

Further, I’ve added a new subcommand, execute, that has the same parameters as above and simply allows you to load a page in the browser and execute a script on it. I really wanted this because it’s the easiest way to automate NiftyMenu:

curlyq execute -b chrome -s "NiftyAPI.find('file/save').arrow().shoot('file-save')" file:///Users/ttscoff/Desktop/Code/niftymenu/dist/MultiMarkdown-Composer.html

That command will save a screenshot of the File->Save menu item for me, allowing me to fully automate menu screenshots for any of my apps. I can have NiftyMenu generate an up-to-date view of the app’s menu bar, with styling for the current OS, and output detailed screenshots with callouts automatically. This will be a huge timesaver when it comes to documentation.

You can update/install the latest version of CurlyQ with gem install curlyq. The improvements in this post are available as of version 0.0.12. Enjoy!