Honk Button Userscript

Honk Button Userscript

Prompt: Write a userscript that displays a button in the top right corner of any webpage which plays a honking sound.

Secure Shellfish App Store Review

SSH Terminal: Secure ShellFish

Magical, irreplaceable.

As developer Anders Borum originated professional-grade git integration on iOS with Working Copy, which remains unmatched, Secure Shellfish remains the reference standard for remote filesystem access across the board on this platform, despite how many competitors have arisen since its introduction.

I must admit: I overlooked Secure Shellfish for years and I’m not entirely sure why. I’m glad that ended last year, though, as I’ve actually since acquired a fair amount of remote file management in my day-to-day working life. Shellfish’s magic isn’t necessarily obvious, but I promise you it is worth finding out, and what may at first glance look like a somewhat disjointed series of functions actually comes together to form an absolutely irreplaceable application.

FX050

FX050

An artificially-generated verse about my virtual airline flight.

From Memphis skies, we take to flight
Our journey’s set, destination in sight
To Denver’s heights, we’ll soon ascend
On board FX 050, our adventure begins.

The engines roar, the ground fades away
The rush of wind, our spirits at play
Above the clouds, a new world we find
As we soar across the horizon’s line.

The miles fly by, the time ticks on
A journey of hours, but it feels like none
Our hearts beat strong, with each passing mile
As we follow the path, in the sky’s great smile.

The Rockies rise, to greet us soon
A majestic sight, a breathtaking view
As we glide down, to KDEN’s gate
Our journey ends, but our memories stay.

So here’s to FX 050, our trusty steed
That took us on a journey, one we’ll always heed
From Memphis to Denver, we flew with pride
And to the skies, our hearts will always guide.

a-Shell App Store Review

The notable boundary-pusher in the iPadOS/iOS local command line.

There are now quite a few terminal emulator-esque apps on the App Store, but I’ve been using a-Shell since it was joined only by Blink (from which it was forked) and iSH. As it was then, a-Shell remains the only one of these with which one can actually accomplish command line tasks locally beyond screwing around. I am ultimately not a command line native, and I don’t have the basic theory beneath my use of Python scripts, yet I’ve been able to accomplish startlingly powerful things within this app, thanks in large part to gracious and immediately-available support via the project’s Discord server.

If you’ve found yourself here by way of a Siri Shortcut’s requirement, I would encourage you to take the time to investigate the commands said shortcut(s) run - try running them yourself!

Jayson App Store Review

Jayson App Icon

I Am No Longer Afraid of JSON

All of Simon’s apps are genius and wholly unique, but Jayson will always have a special place in mine own heart as the single application which finally killed my phobia of JSON, in general. It is by far the most elegant and intelligent means of manipulating JSON dictionaries I’ve ever seen on any platform. I’ve worked with both the iOS and macOS apps, now, and both are - dare I say it - a genuine joy to use. BUY!

Jayson

Keychron K2

iPad Pro Keyboard Case, iPad Pro, and Keychron K2

Having broken my beloved Varmilo VA108M (which I absolutely intend to fix one day in the near future, FYI,) months ago and just last week completely totaled the period (.) key on my Absurdly Overpriced Toilet Professional iPad Keyboarding Apparatus, I decided to buy an on-sale variant of Keychron’s K2 with the loudest switches (the blue ones) available, assuming that surely no keyboard could be truly, disruptively loud.

I was very wrong.

I do love that one can connect it via USB-C (not that it makes sense in any situation I can imagine) and that there’s a dedicated screenshot key!

Hot Swap

TextExpander App Store Review

TextExpander Folder

I know a lot of the reviews here express discontentment with TextExpander’s support on iOS. I hear that, but - as a Bear and Drafts user - I rarely encounter this as a limitation. I also use an external keyboard with my iPhone, though, which makes calling the TextExpander keyboard anywhere else somewhat inconvenient. (Keyboard switching is done with the function key, if you were wondering.)

From what I understand, though, TextExpander’s SDK is quite easy to implement, so it’s also a question of other developers acknowledging that it’s a worthwhile and desired addition to their applications.

I’m not sure I’ve seen it mentioned here, but the native iOS/iPadOS/AND macOS feature now entitled “Text Replacement” is certainly worthwhile for anyone looking for something like TextExpander. It can easily be made to function quite similarly.

On Drafts' Mail Integration

Send2Self Example in Mail

One of the app's most universal 'native' advantages, revisited.

I've spent more cumulative time playing with my Obsidian configuration in the past 24 hour hours than the sum of the whole I'd spent doing so in the 3(?) years since I installed beta (or was it alpha?) one. While I still find it janky as hell and deeply untrustworthy – among far too many other woes – I must admit that the bulk of shear hype surrounding its existence has indeed resulted in enough developer attention to achieve some technically interesting capabilities. Naturally, most of these feel absurdly redundant in context and all rely on age-old dependencies, but... well, today I uploaded the text of my almost five-year-old Microsoft Surface Laptop 2 Review to its own dedicated Archive.org page in thirteen different formats rendered using Obsidian's (desktop-only) Pandoc integration!

I lambaste with the sincere intent, at least, of being genuinely constructive, and I began upon this post hoping to do so and finally get around to highlighting one of Drafts' most essential (and taken for granted, I suspect) powers in its entirely cross-platform, system-level integration with Mail on Apple Platforms.

One of Drafts' most immediately apparent advantages as a native iOS/iPadOS/macOS application is readily found in its integration with Mail. Though I've personally managed to almost escape my twenties having yet to endure an email-heavy job, I still find the practice of sending topical/sacred information to myself to be the upmost reliable and direct means of retrieving it.

As I've configured it, within Drafts on any of its 3 platforms, all I need do is press ^M to have the text of the current Draft sent instantly to an iCloud Mail alias I use for such things.

If I were sending to more folks than just myself on a regular basis, I'd definitely make use of Drafts' Mail Action Wizard to help simplify and solidify the process of creating a dedicated action, which almost certainly would not have the Send in Background toggle selected, as demonstrated, for the sake of giving myself a preview of outbound messages to... important folks. For macOS users, there's also a bespoke Catalyst app called Mail Assistant, which I've yet to try.

Formatting

The parameters of the Mail action step can be filled with any combination of items from the original Drafts template tags array or from the relatively new set of mustache template tags.

The current version of my personal Send-to-Self action sent this example result using the format represented in the Gist embedded above. If you'd like, you can wrap the [body] tag (or any part of the message, actually) in double %s and select the Send as HTML toggle to have the result rendered as HTML. (See this example.)

Setting a Drafts Mail-to-Self-specific rule on iCloud Mail on the Web

If – like me – you're an iCloud Mail user primarily from iOS/iPadOS, here's how to create an iCloud Mail rule for messages you've sent yourself from Drafts:

  1. Visit iCloud.com/mail in your web browser and authenticate.
  2. Open the Rules settings menu by tapping the gear icon in the upper left ⇨ Preferences ⇨ Rules.
  3. Create a new rule with the “Add rule” link.
  4. By default, the “If a message...” field selection should be “is from.” In the text entry field, enter drafts-mail@drafts5.agiletortoise.com.
  5. By default, the “Then...” field selection is “Move to Folder.” I have personally set mine to “Move to Folder and Mark as Read,” but this depends on your preference. Select a folder or mailbox for Drafts messages to be moved to and click “Add.”

Publishing via Email

I've spent a lot of time this year working on integrating Drafts with NeoCities, Write.as, and other publishing services, but – for new users, especially – Drafts' mail integration offers a pathway to publishing with virtually zero configuration for those services who still offer mail-to-save/post email addresses. These include WordPress, Blogger, Write.as, LiveJournal, Evernote, Day One, Things, Todoist, and more.

Perhaps the easiest method of setting this up would involve finding your private email address for a given service(s), pasting them in the aforementioned Mail Action Wizard, titling the action by the name of the service, and installing. There's also an Email to Myself action on the Drafts Action Directory to get you started.

Going the other direction, users of Apple Mail (the client) might find it pleasantly surprising that one can drag a message from Mail into Drafts in order to automatically create a markdown-formatted hyperlink that opens said message from anywhere.

For more details, see the official 'Sending Mail with Drafts' Integration Guide.

Discuss...

#software

Fucking Off Forever*

08312022-210803 Homescreen

*Or at least until I can regain a reasonable editorial perspective of current happenings.

As I touched on in my 2021 overview of The Psalms, this blog has undergone some very significant – and mostly involuntary – changes of late. This summer has abruptly brought some life happens which will inevitably contribute further changes to a degree that warrants a very bloggy sort of Update Post.

Most importantly, perhaps, is that I've found myself with a real, tangible, full-time Big Boy job as a nighttime custodian of my actual elementary school. Though I suppose it's never been revealed before, here, I actually love cleaning and love this school, particularly, so I'm more excited than I've ever been for any sort of documentable employment, but this means I will imminently be transitioning from a lifestyle with virtually zero time-bound obligations to working 3-11:15PM, Monday through Friday. Undoubtedly, this will have a profound effect on my recently-announced consultancy business, but I'll be making an effort to formally update the adjacent Fantastical Openings links with revised availability.

iPad Media Center

Adjacent to this news are the experiences I've had in the past few weeks helping a friend ready her third-grade, public school classroom, which have been particularly enlightening with regard to the extent that iPads have been integrated into the education of young children in this country. Some highlights from this discovery (in this particular, Title I Midwestern elementary school):

  • Every child will receive a 5th-generation, WiFi-only iPad (iPad6,11) which they will be able to take home over the course of the school year.
  • The district paid $299 per unit for said iPads, a mere $30 off their full retail price for the rest of us, $329.
  • The random device I picked up from the pile shown in the images embedded above had not been updated beyond iPadOS 15 (since March of this year.)
  • Responsibility for the maintenance, setup, and deployment of said iPads rests entirely on a single individual, who is also responsible for the “media center” (what many of us know as the Library.)
  • Responsibility for ongoing hardware considerations (charging and storage) is left entirely to individual teachers.
  • Net contributions from Apple, Inc. to this new aspect of childhood education reside some six or seven figures in the negative.

In the two weeks preceding our district's start date, I had the painful opportunity to tour some of my friend's colleagues' storage solutions for their student iPads. The image below is the one I chose to append to my appeal to the MacStories Discord, attempting to leverage workspace-obsessed yuppies' knowledge for the benefit of public education.

Sad iPad Rack

There were a few helpful replies, which made it clear that organizations with actual budgets for device storage have gravitated toward rolling carts.

Going Forward

The time I haven't spent in this medium has been redirected toward a few key sources. My Raindrop collections have continued to grow, including a particular one I'd like to highlight here, called Blessed Web Utilities.

With its new ownership, I've continued to pour more and more energy into Siri Shortcuts published on RoutineHub. I'm proud to have been asked to participate directly in the platform's upcoming aggregatory efforts. I've also established a reliable habit of sharing Shortcuts documentation/source files on the extratone Telegram channel, among many other aspects of my ongoing Online Life.

I've also restarted an Extratone-era habit of using redirects to simultaneously simplify and index topical URLs to both my own projects and external resources. My new, NeoCities-bound Redirection Index should be a robust way to keep up with David Blue, Online, therefore.

As always, I hope you'll freely contact me with comments/suggestions/feedback/rants/etc. As for this particular feed, I doubt there will be much noticeable change from its status quo in the past ~two years.

Discuss...

#meta

Siri Shortcuts and the DJ Screw Discography

DJ Screw Discography Shortcut Result

The most magical configurables I've ever created for iOS by a long way.

Though I don't believe I've ever discussed it, here, the continuance of the fandom for Houston music legend, DJ Screw, on into the 21st century is an issue I remain very invested in. I doubt you want to hear much about it, but the issue of actually obtaining audio files from the Screw collection is a worthwhile one to engage for context's sake. I was first introduced to the ~343-chapter collection by my high school best friend, who'd acquired it via an ancient Pirate Bay torrent some hero set up in the early 2000s[^1]. It was complete – probably – and more or less correctly organized by chapter, but that's about it as far as reliable metadata was concerned. The results one would find elsewhere on the web, from sites like DatPiff, were hardly any better – many, in fact, were obviously sourced from that same torrent.

DJ Screw on the iTunes Store and Apple Music

Listen on Apple Music

In the interim, a lot has changed about music consumption. You know this, but – as you might've already imagined – none of the mainstream services you fuckers partake in have managed to do Robert Earl Davis III justice in the modern era. Apple Music and Spotify, both, will send you in neatly identical spirals pretty much regardless which of their pet vectors you choose to populate with His Name. As much as I've vouched for the former, it's perhaps the worst of them all in this context – departing the marque entirely into the (respectable but... incorrect) world of non-Davis SLOWED 'n” THOWED[^2] almost immediately.

Perhaps one day, I'll find it within myself to tackle this issue – DJ Screw in the Щ́̇͋ͯ̋̅Σ̾̒͋ͯͭ ̊ᄂ̋̈͐İͬV̏̆̊͛̍̌Σ̆ͣͣͭ͐ͫ̆̊ ͪͬ̿̈́̑ͤ̚IͫП̎̿͑ͦ͆̚ ͣͫ͌ͨ̈Λ̃͛̓ͦͪ͒̑̽ ͛̑ͤ͊ͭƬ̒I̅͌̊̑ͧͪM̈́̓Σ̋̏͂͐͊͆ͣ, generally – but I actually have extremely wonderful, urgent news. You see, dearest archive.org was actually provided the entire, impeccably tagged Discography by actual Culture Heroes some years ago. All of it, accessible in multiple file formats, embeddable, superbly shareable! This is the most important truth I have to impart to you today, really, but – for iPhone, iPad, and Mac users, there's even more...

Automation

Download Random Screw Tape Shortcut

As of right now, just two Siri Shortcuts – Download Random Screw Tape and DJ Screw Discography[^3]. The first is perhaps the most delightful – if all goes well, running it right out of the box should result in a random tape from the library downloaded in a folder of your specification (at install,) as well actual playback, in correct order, within the shortcut, itself.

This is magic, yes, but the second is true power. After picking folders at installation for 1) downloaded archive.org-sourced .zip files to live in temporarily before they are extracted and deleted and 2) your complete, correctly metatagged DJ Screw Tape library could – in theory, anyway – magically appear in a single, undoubtedly several hours-long run. I have yet to actually test the full bit myself, technically, but I can advise you to set Auto-Lock (Settings ⇨ Display & Brightness ⇨ Auto-Lock) to Never, make sure you leave the Shortcut open within the Shortcuts App, itself, and give it a shot, if possible.

Discuss...

#software #automation #music

[1] I attempted to find this torrent for the sake of this post and well... The Pirate Bay looks a lot different than I remembered. [2] This is not criticism. If it was, it would be ridiculously hypocritical. [3] If RoutineHub is struggling/you find it untrustworthy, the direct iCloud Share links are here and here. Please contact me if you encounter any issues.

macOS Ventura Wallpaper Siri Shortcuts

macOS Ventura Wallpaper Siri Shortcuts

These two Base64-Bound Baddies might simplify your yuppie existence for another few weeks.

Somehow, I managed to find myself in possession of two Very Large image files: the(?) new dark/light wallpaper pair coming in macOS Ventura. (Here they are in full, light and dark, so we’ve got that out of the way.) I don’t actually remember where they came from, so I hope that doesn’t matter much to you. (Maybe don’t contact me if it actually does lol.)

Anyhow, I’ve actually had them for quite a while, but I’ve been meaning to do what I’m trying to tell you about for far, far longer. Basically, files (like images) can be stored within single Siri Shortcuts entirely in plaintext form thanks to the magic of base64 and the now quite familiar Base64 Encode action. I’ve been meaning to “”””ǝ ƃ ɐ ɹ ǝ ʌ ǝ l”””” this capability to simplify my own, sick, superficial, yet craven need to cycle through inordinately huge image files as my desktop backgrounds/wallpaper for literally years, now, but I finally just fucking did it, all for you.

VenturaLight

VenturaDark

They’re very simple (3 whole actions!) but please keep in mind that they are also gargantuan. Since I’m super smart in a way I definitely love very much, I happen to know that all of one’s Siri Shortcuts are actually stored in a single sqlite file that is constantly being prodded every which way by iCloud Drive’s mania… Keeping these around is not going to help.

VenturaLight Shortcut

Retrieve Live NPR Program Information with Siri Shortcuts

What's on NPR? Banner

A modified shortcut to query live program information from your NPR station.

This past month, MacStories hosted a community Siri Shortcuts contest called Automation April. One of its winners – a shortcut called “What's on KUTX?” credited to Jack Wellborn – caught my eye as a lifelong dependent upon National Public Radio. Via John Voorhees' comment:

The solution Wellborn came up with is ingenious. It turns out that KUTX uses a web API that can return information about the currently playing track. The API is used to drive an ‘On Now’ widget on the station’s website, but Wellborn discovered that they could query the API and get the track information back as JSON. So, they built a shortcut that queries the API when run, returning the info about the currently-playing song.

I began playing around with the NPR API Jack used and discovered quite accidentally that their shortcut could be modified to display current program information for those NPR stations that are not music-oriented, like mine. For the vast majority of the 24-hour cycle, KBIA – “Mid-Missouri's NPR station” – plays news programs, mostly from NPR, itself, supplanted by BBC news late at night.

After some trimming and the addition of the URL for KBIA's Apple Music Stream, I came up with What's on KBIA?, which displays upon run the current program's title as well as a hyperlink to open its distinct webpage. By way of a simple Choose from Menu action, it then prompts one with three options:

  1. Open the program's webpage (again.)
  2. Open KBIA's stream in Apple Music.
  3. Open KOPN's stream in Apple Music. (KOPN is Columbia's community radio station.)

What's on KBIA? Shortcut

Creating a Shortcut for Your NPR Station

All I really needed to customize Jack Wellborn's original shortcut was my NPR station's “UCSID,“which, for reference, is 5387648fe1c8335046a1d4b4. Upon installation of my What's on NPR? shortcut, you'll be prompted to specify this. Unfortunately, retrieving it via NPR's API requires special authorization, for some reason, but – since we're retrieving data from an NPR station's playback widget already configured to use the API – it's actually as easy as opening your browser's “Dev Tools” or showing on your given station's homepage. If you're unfamiliar, here's a handy guide to doing so on some popular desktop web browsers.

Web Inspector

Honestly, though, if you're already on your iOS/iPadOS device and you're willing to install a single, free Safari Extension, I believe you'll find Web Inspector to be the single, simplest method of retrieving your station's UCSID.

Finding UCSID-Web Inspector

Finding your station's UCSID with Web Inspector

  1. Navigate to your station's homepage (ex. kbia.org.)
  2. Start playback of the live stream you'd like to query (may or may not be necessary, depending.)
  3. Open Web Inspector via the Safari Extensions Menu.
  4. In the DOM tab, use the search icon to filter for ucsid.
  5. Your station's UCSID is the value for the data-stream-ucsid field.

Depending on how modern your station's website is (I think – I'm supposing, here,) you may or may not find this field. For reference, here is the HTML source of KBIA's webpage from which I drew in its entirety. If you're having trouble, please feel free to contact me however you wish, ideally with your preferred station's identifier/web url.

Broadcasts

“Integration” with the Broadcasts app

Broadcasts is a very popular and highly-praised universal Apple application for internet radio streaming. By default, my What's on NPR? shortcut includes an action to begin streaming a station in Broadcasts, but it requires further configuration.

Broadcasts App Integration

In all likelihood, a search of the Broadcasts Directory for your station's four-letter identifier should yield results. Once you've added your station to your library in Broadcasts, hold its icon (or ^ Tap) to present the context menu (shown in the screenshots embedded above) and select Edit. The exact value for the Name field in configuration menu that results must be supplied as the answer to the second configuration step of my What's on NPR? shortcut. If you do not wish to use Broadcasts, you need only delete or replace its single action in the shortcut's default configuration.

If you've followed along this far, you now have both values you're prompted for at installation of said shortcut, by default: your station's ucsid and its name in the Broadcasts app. You need only continue if you'd prefer to add options for Apple Music and/or VLC.

Finding an NPR Station's Apple Music URL

“Integration” with Apple Music

If you'd like to have a menu option to begin streaming your NPR station in Apple Music, begin by searching within the app for your station's identifier (as shown in the screenshot embedded above.) Use the triple-dot menu's Share Station option to copy its Apple Music URL. (WBEZ's, for example, is https://music.apple.com/us/station/npr-news-wbez-chicago/ra.872998937.) Replace or append to the Broadcasts option with a menu option pointing to an Open URLs action containing the resulting URL. (Refer to my What's on KBIA? shortcut to see this implemented.)

VLC

“Integration” with VLC media player

The VLC media player iOS app does not yet have its own Siri Shortcuts actions, but it does have a handy URL scheme which allows one to stream or download the contents of any raw media URL. Using Web Inspector as described above, I was able to find the raw stream URL for KBIA (https://playerservices.streamtheworld.com/api/livestream-redirect/KBIAFM.mp3) quite quickly in the Resources tab whilst streaming live.

Finding Raw Stream URL-Web Inspector

To add an option to my shortcut to open the stream in VLC, I would add the following value in an Open URLs action:

vlc-x-callback://x-callback-url/stream?url=https://playerservices.streamtheworld.com/api/livestream-redirect/KBIAFM.mp3

Once again, if you have any trouble configuring What's on NPR? – whether that be with finding your station's UCSID and/or “integrating” playback with another app, please do reach out.


Discuss...

#automation #configuration #local

iPod Shuffle First Generation Anecdote

Sorry I’m so late with this but I forgot I had something to contribute lol.

My first and only dedicated mp3 player was a first-generation iPod Shuffle — which was not only the most elegant looking USB drive one could find at the time, but — imo — remains the single highest-value mainstream consumer tech product I’ve ever owned. It was a 512mb stick with playback controls and a 3.5mm audio jack at one end. From what I remember, you could just freely store any combination of non-media files and media files in the root separated by a single directory. I was in 5th grade (11 years old) at the time (2005,) and public schools were just beginning to suggest students invest in a flash drive for carrying/storing digital school assignments.

I say highest value because got dang was that thing handy. Idk if I can communicate it, really, but it unified so many functions into one very high quality (and extremely tough) device. (I accidentally put it through the wash at least 3 separate times and it never actually stopped working.) It even came with a lanyard attachment!

Idk if there’s something wrong with me or what but I’m especially sentimental about this thing because I remember wholeheartedly believing and anticipating tech to progress along these lines — design priorities that especially made sense to me. Clever, lean permutations/amalgamations of once single-function products….

I took that photo during a tech podcast years ago — I was doing this same anecdote lol. I find it to be the best idea Apple, Incorporated ever had and yet looking at the everymac page now, I see it was discontinued less than 9 months after it came out. :cry:

-MacStories Discord Message URL

TildeTown on iPhone with Blink Shell

Blink Folder

The ideal means of On The Go participation in The Tildeverse.

I was completely unaware of the Tildeverse’s origin story – documented in a Medium post by WIRED Editor-in-Chief, Paul Ford – until this year, somehow, though I knew of its existence as far back as 2018. I was living in an unairconditioned Portland apartment, then, and had found myself stuck with Linux for the first time in my adult life. Consequentially, this period of my life became my first true introduction to the Command Line – a space about which I knew no more than the layest layman. Hopping between my ten-year-old, post-corporate system’s shell and the DOS machines I was emulating on it (exploring the history of word processors, mostly,) I believe I struggled through dare I say a Rite of Computing Passage, obtaining the capability (and eventually, the muscle memory) to navigate a filesystem with cd, ls, and (on DOS) dir. It wasn’t until I came home in ‘19 that I discovered the two primary emulated Linux shells on iOS: iSH Shell and a-Shell.

iSH Shell and a-Shell

The former is designed to emulate Alpine Linux and has just recently added direct filesystem access via the Files app. The latter is, I’m told, quite extensible, and includes Siri Shortcuts actions that have enabled it to underpin powerful scraping shortcuts like SW-DLT – a sort of frontend for youtube-dl and now yt-dlp. Both are open source, but a-Shell is actually a fork of our subject app, now called “Blink Shell & Code” in the App Store.[^1]

bbj Out

Blink’s tag is “a professional, desktop grade terminal for iOS.” Its landing page touts a “first class iOS experience, with software and hardware keyboard, and the full edge-to-edge experience” experience. On iPad, Blink’s heyday was well documented by the likes of Paul Miller’s 2018 article for The Verge and Fatih Arslan’s 2019 “Using the iPad Pro as my development machine.” These pieces more or less detail different use cases of the exact sort Blink was designed for – “professional” work done using an iPad as the terminal for a remote Linux/macOS machine.

Apreche Reply

Since I’ve apparently ended up with a primary life mission of doing stuff on my iPhone originally meant to be done on iPads, I’ve managed to find myself an active member of the Tilde.Town community – a place exclusively accessible via SSH, aside from public pages – exclusively through my iPhone 12 Pro Max. I’m not the first to use Blink to do this – note Apreche’s reply to my thread, embedded above – but I suspect I’m the first to spend significant Town Time on my fucking phone, so I thought it might be worth laying out some of the particulars I’ve learned along the way.

It’s important to note that 99% of the use detailed in this guide/account involves the use of a paired Bluetooth keyboard.

Blink Settings

Locally

First, Blink’s settings menu is accessed by typing config and/or ⌘,. Unfortunately, there’s no method of installing the entire selection of available fonts or themes – you’ll have to do so one at a time, though you can optimize the process by learning/copy-and-pasting the url scheme for the fonts/themes directories on their respective repos. I especially recommend CLRS, Man Page, and MonaLisa, but this Post is saturated with too many mocked up screenshots of Blink themes to reasonably continue that list any further.

Local UNIX Commands in Blink-ManPage

Compared with its fork, a-Shell, Blink’s local UNIX command list is a bit sparse. It’s accessed exclusively with TAB. Where a-Shell has pickFolder, Blink has link-files, which does effectively the same thing: the Files app is opened, prompting you to select a folder, which will become visible and accessible in the command line.

Repository Cleaning

Linking The Psalms’ GitHub Repository in Working Copy with link-files in Blink had profound results. I was offered a brief glance of that enhanced productivity command line evangelists always seem to be on about, if only because the files and directories were color-coded by type so distinctly. open also somehow lead to swifter previews than in Working Copy, despite that app’s brilliance.

BaityYouTubeThumbnail

Some other particularly intriguing standouts include say, which unfortunately does not use your preferred Siri voice to speak aloud text, but rather the oldest there is. facecam will open a manipulatable circle of your device’s front-facing camera view, as shown in the screenshot embedded above. openurl will instantly open a formally-formatted web URL in Safari, which can come in handy. pbcopy and pbpaste really do manipulate the iOS system clipboard, which I probably find more impressive than I should. code is the newest to the bunch and will open a local instance of GitHub Codespaces(?) If this is truly useful on iPad – which plenty of positive feedback on social suggests it is, to at least a few human beings – it is barely usable on iPhone, which is to be expected, really.

Blink and Code

Blink’s own “UNIX Command Line Tools Roundup” does an okay job of outlining the rest of the basic networking and file management commands included that act locally, though I’ve still been unable to find out what skstore does. xcall opens x-callback-URLs, though I’m still trying to figure out what the command’s options are. ed the ancient command line text editor is available, though I’ve yet to learn to use it, and uptime appears to be actually accurate? Being able to run whois locally on iPhone has its uses, especially given the aforementioned support of pbcopy. whois bilge.world | pbcopy copies The Psalms domain registry information to the iOS clipboard in a flash.

Blink Keyboard Shortcuts

Keyboarding

To its credit, I think Blink’s landing page represents the most explicitly pro-keyboard literature I’ve ever seen for an iOS app. From my fairly extensive use, its Bluetooth keyboard support fully reflects these declarations, even on iPhone. Out of the list of shortcuts you see in the screenshot embedded above, Share Selection is by far the one I use most, usually to open a link from the Tilde IRC chat. If I’m lucky/accurate, double tapping said link will select all of it and only it.

After a link is selected – which sometimes involves rotating the phone and/or zooming far out to get longer URLS in a single line – I’m able to call it up in the iOS sharesheet with ⌥U, then open it in Safari with a Siri Shortcut I’ve placed there entitled “O P E N.” Or – in the case of a direct link to a file – I could use another shortcut of mine just below it, called “DOWNLOAD,” which uses the Get Contents of URL action to download files directly to my Downloads folder in iCloud Drive. Googling a selection (⌥G) has come in handy once or twice. I tried the Stack Overflow shortcut for kicks, but was meant with an endless string of CAPTCHA requests.

Blink Custom Key Presses

An extraordinary feature of Blink’s which I originally misunderstood and have just begun to play with: custom key presses. In Config ⇨ Keyboard ⇨ Custom Presses, one can assign any text that can be hex encoded (Base16) to a keyboard shortcut. I’ve created a Siri Shortcut that requires the free version of GizmoPack to aid myself (and you, hopefully,) in quickly converting plain text commands to this format. In the screenshots embedded above, the shortcuts listed on the left correspond in order with the commands listed on the right. You’ll note I’ve begun to attempt assigning quick keys to my most commonly typed-out commands.

Importing Keys in Blink Shell

Remotes with SSH and Mosh

If you’re entirely new to SSH as a concept, I’ve found no better introduction than Tilde.Town’s own SSH Primer. I screwed up my first attempt at obtaining a key, but Town Maintainer vilmibm kindly responded to my Twitter DM in December of last year asking to instate a new key. I can’t remember whether or not I generated it originally within Blink, but regardless, the app’s key management is as intuitive as I’ve seen.

Blink Autocomplete

One of my unexpected favorite bits about Blink is its autocomplete feature which applies to both “commands and hosts” as quoted from its singular mention in the docs. There very well could be a better means of typing out absurdly long filenames in other terminal emulators, but I’ve personally not come across anything remotely like this magic of Blink’s. Especially for someone newish to the command line like myself, its autocomplete occasionally borders on “intelligent autosuggestion” without actually crossing the threshold in an irritating way. Once I configured Tilde.Town as a host (with the local name Tilde.Town,) all I need do to connect is begin to type ssh T or mosh T (ssh keys == mosh keys, which I wish I knew weeks ago) and TAB to complete the full ssh Tilde.Town or mosh Tilde.Town commands.

Adding Files App Locations in Blink

Once you’ve connected to Town, you should take advantage of Blink’s Files app integration by adding a location at the bottom of its entry in the Hosts menu. This adds Blink to the master, root list of file providers in the app. From there, all of the Files app’s features (including drag-and-drop) will apply to Tilde.Town as long as you’re sustaining at least one connection via ssh or mosh.

Blink File Providers

To illustrate, here’s a wee, one-take tutorial on uploading images this way:

Novel Chat Fixed

Chat

The IRC client TildeTown uses is called WeeChat and – especially if it’s been as long for you as it had been for me – you might find (as I did) learning the ropes to be a bit dubitable. I’ve duplicated the full User Guide for your consideration. I got stuck at the concept of switching buffers, so my Big Pro hint is to start off running /buffer 1 followed by help. In order to display the chat even remotely readably in portrait mode on an iPhone, you’ll need to remove the buffer list by hiding it. (Try /help bar in the first buffer.) You’ll also need to zoom out a bit and set the display mode to Fill via the menus that appear with a three-finger tap anywhere on screen. To achieve the look shown in the screenshot embedded above, you’ll need to hide a few things, but I’ll come back to those specific commands in a sec.

Assuming you intend to stay connected to Town IRC On The Go, I’d advise always starting your intended chat window with mosh, which – through a whole bunch of alchemy I’m incapable of understanding – establishes a much more flexible sort of connection that’s actually realistically dependable from within the uncertain world of a backgrounded iPhone app. Optionally, the geo command can be used to force iOS into allowing Blink a more genuine background running state with geo track. Additionally, geo current displays a nicely-formatted set of location information:[^2]

{
  “Latitude” : 38.933988900043886,
  “AltitudeRef” : 0,
  “GPSVersion” : “2.3.0.0”,
  “DateStamp” : “2022:03:09”,
  “Altitude” : 203.0797061920166,
  “Longitude” : 92.388242309618036,
  “LongitudeRef” : “W”,
  “TimeStamp” : “14:35:13.140000”,
  “LatitudeRef” : “N”,
  “DOP” : 35
}

As you’d expect, the persistence allowed by this feature – which does, indeed, extend to remote files access in the Files app as you move about the world – comes at a significant consumptive power and resource sacrifice. If you parse the slapdash language in the docs, the implication is that you should only need to use the geo command to make ssh connections persistent, not mosh connections. Since encountering this wording, I’ve yet to have an opportunity to explore the real world truth of this supposition because I have only my rotting legs to propel me around, these days.

If I remember correctly, I once found a surprisingly capable (for the time and circumstances) iPhone IRC app in Colloquy’s iPhone OS offering, though it appears to have fallen far, far out of support, now. LimeChat’s iPhone app isn’t listed on the App Store anymore and its landing page proudly touts support for iOS 4 multitasking!

Connections are kept in 10 minutes after going to background.

My memories of computer use from that time are ever so vague, but after just a brief junket to the era’s surviving app literature, some abyssal images within me were stirred. I suspect I tried every possible solution as I’ve always tended to, even back then, on my first generation iPhone and then my 4S. I remember Colloquy being the most tenable, but far from persistent, of course. As I recall, one could maintain a conversation as a passenger on a car trip, for instance, but remaining ambiently, eternally Logged In – as is the ancient custom of Internet Relay Chat – was too far out of reach to even be of consideration.

To be honest, I still find the whole idea unnatural, and I’m not alone, but I can promise you that running Blink on a recent iPhone with the average American cellular connection is as close to the full WeeChat experience as is possible on a handset, today, for whatever that may be worth to you. Thanks to some incredibly helpful new TildeTown friends, its copious configurability pivoted from an insurmountable, puzzling ordeal to a never before conceived of solution. If you haven’t already, skim the actual conversation contained within the pre-header screenshot, above.

WeeChat Configuration

The following is the precise set of commands involved in making WeeChat look as the screenshot does, though in no particular order. As m455 pointed out, fset is the tool that lists available configurable options and their current status in a linear way. The default of the second option in the list is apparently 11, but I fiddled quite a bit to find 9 more optimum.

  • fset
  • /set weechat.look.prefix_align_max 9
  • /bar hide bufflist
  • /bar hide fset
  • /bar hide title
  • /bar hide nicklist
  • /set weechat.look.buffer_time_format "%M"

If you eliminate the value of the very last command (so just “”) and add /bar hide status to the list, you’ll end up with a more minimal-looking, timestamp-less experience:

Spacedust Chat-Minimal

If indeed there is a “reasonable” configuration for command line IRC display on a telephone in the year 2022, surely, this is it.

Town TV

Town Television

Due largely to its primary market of iPad-bound developers living and working in remote Digital Ocean droplets, significant effort (I assume) has been expended in making Blink Shell one of the few iOS apps which usably supports external AirPlay displays, even, yes, on iPhone. As far as I can tell, all of the iPad options in the appearance settings menu seen below have also functioned in my tests on iPhone, casting an entirely separate set of Blink windows to my mom’s Huge Ass Samsung television in ten-eighty pee.[^3]

Blink Appearance Settings

If you’ve somehow found yourself this far, you’re probably looking for the keyboard shortcut⌘O, which switches your currently active cursor between the device and the external display. “You can also move windows between iPad and External Display with ⇧⌘O,” say the docs. Other considerations I’ve discovered through experiments with this: You can lock the phone with the external display running, but it won’t update, even with mosh or withgeo track. AirPlay will also cease after a period I couldn’t be bothered to determine, so if anything, this is more of an inconvenience than a feature.

Notifications in Blink

Other Considerations

Blink has a URL scheme – blinkshell://run?key=[YourKey]&cmd= – but it’s not particularly useful, largely because it’s for the moment left without any real documentation. I was able to create a Drafts action that runs one’s current selection as a command in Blink, but the app doesn’t appear to like it very much, if you know what I mean. Blink also integrates with iOS system notifications – as exemplified in the screenshot embedded above – and they do work consistently with mentions in town chat, even outside the app, though I’ve yet to see one including any useful information. You’ll know that something happened, maybe. Recently, the app has taken to displaying a nondescript notification every time I re-open WeeChat, even without new messages since the last time I opened it.

Somehow, upon logging into macOS for the first time since installing all the aforementioned themes in Blink, I found the same themes available in the Mac Terminal. I’m sure there’s an explanation involving hidden iCloud Drive folders – and I can’t imagine being anything but pleasantly surprised to find oneself flush with more Terminal themes – but it’s still worth a heads up.

Philosophically, one might declare the practice I’ve outlined here to be definitively against everything the Tildeverse is about – the small web, Linuxy stuff. Bringing this up in TildeChat a few times, I was met only with acceptance. In fact, acceptance, curiosity, and support is all I’ve been met with throughout my first few months as a townie, and I hope this Post encourages/aids more folks to come join me in this shared computer. You can find the sign-up form for TildeTown here and the corresponding GitHub Issue for this post (with a bunch more screenshots) here.

#software #configuration


[1] Blink’s icon is perhaps my most favorite of any application, ever. [2] Yes, that is my real location information and yes, I did include it intentionally. Please come kill me as soon as possible. Also, “DOR” is apparently an acronym for “Dilution of Precision,” which is a mildly interesting measurement to read up on. [3] As the screenshots I captured suggest, anyway. Obviously, I do not posess the means to test the true resolution display to mine eyes.

Run Siri Shortcuts with Hyperlinks

Shortcuts Run Links

There seemed to be a bit of confusion regarding a shortcut I posted on RoutineHub a few days ago entitled “Generate Shortcuts Run Links List,” so I thought I’d attempt to overview how I’ve come to use Shortcuts’ URL scheme as my primary method of calling shortcuts across both iOS and macOS.

The basis of the whole shit is shortcuts://run-shortcut?name= and shortcuts://x-callback-url/run-shortcut?name=. Using these along with URL-encoded shortcuts titles (for those containing a space,) we can create links that will run shortcuts from anywhere on iOS or macOS as hyperlinks. These days, this is how I run most of my even semi-regular-use shortcuts, largely from my first Dot in Iconfactory’s Tot.

Tot

With a few exceptions, all the links you see in the above screenshot above “Drafts Instrument Panel” are shortcuts run links of the same type. Most of these, I typed out by hand with a TextExpander snippet. Here’s what the mess looks like underneath:

Tot Code

I had a bit of an issue creating the shortcut, itself. Though Shortcuts includes a native URL Encode action, I couldn’t seem to get it to reliably generate URL-encoded shortcuts names, which is why I inserted the Text Case action, instead.

Discuss...

#automation #software #configuration

Apple Rag Review

Apple Rag

A quick review of Apple, Inc’s first venture as a textile company.

Now that Apple, Incorporated is a textile company, I thought it might be pertinent of me – someone with incredibly filthy hands – to review its first textile product, the Rag. Back in my day, we were taught not to touch the screen. It’s not good for it, they’d say. Now, that’s all we do, and it makes me profoundly uncomfortable. I have used a fleet of microfiber cloths (ashamedly sourced from Amazon until recently) to rigorously scrub away the CRUD that results from my disgusting, gorgeous hands touching anything for any duration. I also use Vinegar-based Windex (which is just vinegar,) which has definitely eroded my 12 Pro Max’s Oleophobic coating away entirely. It smells wonderful, though.

What’s brought me great grief since the Apple Rag’s debut, notably, have been the discussions I’ve heard on Apple-adjacent podcasts like Connected[^1] post-release of the Rag, detailing just how sparsely Touchscreen Pros like Federico Viticci actually clean their Pro Screens. Less than once per week, if I recall correctly. I asked this question in the MacStories Discord to only a single response:

Never, really. Sometimes with the side of my hand, but that's only when I really notice the screen being dirty.

I’m assuming silence from the rest of the crowed indicates embarrassment. I clean my 12 Pro Max’s screen once every two hours, bare minimum.

Rag on Couch

Methodology

I must admit – it took me a bit to understand the correct methodology for the Apple Rag. At first, I was trying to use the Rag like I’ve used other microfiber cloths, but it’s uniquely suited to flat rubbing upon mostly already cleaned glass screens, which makes sense, I suppose. Unlike regular microfiber cloths, its surface does not lend well to liquid cleaning solutions or scrubbing non-glass surfaces. Nor does it to cleaning truly grubby surfaces. As far as I know, it’s not washable – I probably shouldn’t have thrown the packaging away, but I didn’t expect to review it.

I would advise a strong, rotational approach under moderate pressure when using the Rag on your device’s screen. I would not advise you use it on your face or hands. I also would not advise you use it to clean your dog’s paws after a muddy bout. More reasonably, it’s not even all that great for cleaning glasses lenses. (It might just be that mine are particularly dirty.)

Conclusion

It sounds a bit silly, but $20 is actually a ridiculous amount of money to spend on a single microfiber cloth. I’d link you alternatives, but I’m committed to never sharing Amazon links on this here blog. For what it’s worth, the Apple Rag appears to have a strong resistance to liquids (they just fall off,) and a truly unique competency at cleaning glass screens.

Discuss...

#hardware


[1] No, I don’t remember the specific episode I’m talking about, sorry.

SYSTEM COLORS Telegram Themes

SYSTEM COLORS Telegram Themes

(For iOS, that is.)

Make no mistake — I did virtually nothing to create the following themes, nor do I know anything about Telegram theme development, generally. Frankly, I shouldn’t have even taken the time to whip *these* up, but I wanted to at least dip my toe in the experience for [a strangely sentimental essay I’ve been working on](https://github.com/extratone/bilge/issues/228) about the service’s service in my working life.

The one thing I *did* do is track down the most accurate translation of [iOS’ core system colors](https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color/) in hex I could find, which I spammed in each reasonably-generateable format all over every dead end group chat and channel I once created and have (shamefully) subsequently neglected and forgotten on this service.

— color-pink: #ff2d55;

— color-purple: #5856d6;

— color-orange: #ff9500;

— color-yellow: #ffcc00;

— color-red: #ff3b30;

— color-teal-blue: #5ac8fa;

— color-blue: #007aff;

— color-green: #4cd964;

I originally started using the [Big Boy Editor](https://themes.contest.com) and immediately realized that there is no apparent means of translating the iOS themes I’d found recently into .tdesktop themes without 1.) implementing an unofficial, but highly tedious translation matrix between the entirely different formats, or just 2.) fuckin eyeballing it.

  • [SYSTEM BLUE](https://t.me/addtheme/systemblue)
  • * [SYSTEM PINK](https://t.me/addtheme/systempink)
  • * [SYSTEM PURPLE](https://t.me/addtheme/systempurple)
  • * [SYSTEM RED](https://t.me/addtheme/systemred)
  • * [SYSTEM GREEN](https://t.me/addtheme/systemgreen)
  • * [SYSTEM ORANGE](https://t.me/addtheme/systemorange)

I started with [perhaps the best light theme for this app I’ve ever found](https://t.me/addtheme/tgbetacore) in terms of ultimate legibility in blinding sunlight, loading its (apparently early iOS-inspired?) style as a duplicate in the Bitch Mode “editor” found within the iOS app, itself. Then, I simply replaced its singular hex color asset with the equivalents you see above in the three classes to which it was assigned…

…and now I’m a real life Software Developer™! How amazing is tech in 2021, right???

Please do feel free to act upon literally any sort of compulsion to contact me however you wish. [This link](https://bit.ly/whoisdavidblue) will pull up my full VCF contact card on a mobile device.