configuration &mdash; The Psalms https://bilge.world/tag:configuration A <a href="https://davidblue.wtf/db.vcf">narcoleptic yokel</a> on software and culture. Wed, 21 Sep 2022 10:32:49 +0000 Retrieve Live NPR Program Information with Siri Shortcuts https://bilge.world/npr-siri-shortcuts?pk_campaign=rss-feed <![CDATA[What's on NPR? Banner A modified shortcut to query live program information from your NPR station. !--more-- 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. https://twitter.com/NeoYokel/status/1533556819624349697 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: Open the program's webpage (again.) Open KBIA's stream in Apple Music. 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. centera href="https://apps.apple.com/us/app/web-inspector/id1584825745"img src="https://i.snap.as/6dahYnnY.png" alt="Web Inspector" width="30%"/img/a/center 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 Navigate to your station's homepage (ex. kbia.org.) Start playback of the live stream you'd like to query (may or may not be necessary, depending.) Open Web Inspector via the Safari Extensions Menu. In the DOM tab, use the search icon to filter for ucsid. 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. centera href="https://apps.apple.com/us/app/broadcasts/id1469995354"img src="https://i.snap.as/e68mJ9cQ.png" alt="Broadcasts" width="30%"/img/a/center "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.) centera href="https://apps.apple.com/us/app/vlc-media-player/id650377962"img src="https://i.snap.as/RZYRoIw8.png" alt="VLC" width="30%"/img/a/center "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. Links What's on NPR? on RoutineHub What's on NPR?'s Issue on my iOS-specific GitHub Repository Source-HTML Source-JSON Source-PLIST --- a href="https://remark.as/p/bilge.world/npr-siri-shortcuts"Discuss.../a #automation #configuration #local]]>

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.)

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

]]>
https://bilge.world/npr-siri-shortcuts Mon, 06 Jun 2022 00:19:31 +0000
How I Maintain a Vocabulary List in Drafts with Terminology https://bilge.world/drafts-terminology-vocabulary?pk_campaign=rss-feed <![CDATA[Terminology URL Scheme and Vocabulary Workspace !--more-- As I wrote in my app store review of Terminology (which is not shown publicly, I’ve since learned,) I prefer it over popular dictionary apps like LookUp (which I also have and use regularly) because it allows me to add new terms that don’t show up in search results. Somehow, the idea that one might store words that don’t necessarily appear in any dictionary seems a foreign one to the creators of LookUp, which I’ve since found out to be the cause of its Siri Shortcuts actions failing on me. https://twitter.com/NeoYokel/status/1477323450549219328 Terminology does support adding “custom” terms, if unintentionally, through its “notes” function. Because it’s related to Drafts (they’re from the same creator,) it was quite easy to “integrate” the two in order to form the workflow you see demonstrated in the video below. https://imgur.com/gallery/Q04Kxrg First, I use the Lookup in Terminology action paired with a keyboard shortcut (^⇧D) in Drafts to search a selected word in Terminology. There, I “like” the word and - if needed - add a definition via the notes button (immediately to the left of the heart in the upper right corner.) I’ve configured a custom button - “[Drafts-definition](terminology://x-callback-url/importAction?name=Drafts-definition&shortName=Drafts&description=Send%20term%20and%20full%20Markdown%20definitions%20to%20Drafts&urlTemplate=drafts://create?text%3D%5B%5Bdefinitions%5D%5D%250A%5B%5Bnote%5D%5D&dispatchType=0 terminology://x-callback-url/importAction?name=Drafts-definition&shortName=Drafts&description=Send%20term%20and%20full%20Markdown%20definitions%20to%20Drafts&urlTemplate=drafts://create?text%3D%5B%5Bdefinitions%5D%5D%250A%5B%5Bnote%5D%5D&dispatchType=0)” - (which you should be able to import with that hyperlink) that sends the term including its notes back to Drafts with the following configuration: drafts://create?text=[[definitions]]%0A[[note]] That button results in a new Draft in a specific format, demonstrated by this example: Antagonistic Vocabulary Draft Example I then manually add the “Vocabulary” tag to the Draft, completing the process and placing it within the parameters defined by my Vocabulary workspace, which shows only drafts with that tag, sorted alphabetically. Publication For the past few weeks, I’ve been wreaking havoc on NeoCities’ global activity feed using the action group I created on the /drafts directory of davidblue dot wtf. Specifically, the action that uploads HTML files to that directory named by the UUID of the draft. (Here’s the corresponding link for this post, for example.) With consequent draftopenurls left in the footer of each as per my current, more or less universal HTML template, I’m able to immediately open the appropriate draft locally. Vocabulary Index Shortcut In order to maintain an updated index of the whole list, I’ve created a Siri Shortcut which transforms the UUIDs of the drafts in the vocabulary workspace into markdown-formatted hyperlinks of their web-dwelling counterparts. Terminology Favorites List Even if you’ve no intention of publishing your personal vocabulary - or integrating it with Drafts - Terminology is still the dictionary app I’d recommend over any others. a href="https://remark.as/p/bilge.world/drafts-terminology-vocabulary"Discuss.../a #configuration #software #automation]]> Terminology URL Scheme and Vocabulary Workspace

As I wrote in my app store review of Terminology (which is not shown publicly, I’ve since learned,) I prefer it over popular dictionary apps like LookUp (which I also have and use regularly) because it allows me to add new terms that don’t show up in search results. Somehow, the idea that one might store words that don’t necessarily appear in any dictionary seems a foreign one to the creators of LookUp, which I’ve since found out to be the cause of its Siri Shortcuts actions failing on me.

Terminology does support adding “custom” terms, if unintentionally, through its “notes” function. Because it’s related to Drafts (they’re from the same creator,) it was quite easy to “integrate” the two in order to form the workflow you see demonstrated in the video below.

First, I use the Lookup in Terminology action paired with a keyboard shortcut (^⇧D) in Drafts to search a selected word in Terminology. There, I “like” the word and – if needed – add a definition via the notes button (immediately to the left of the heart in the upper right corner.) I’ve configured a custom button – “Drafts-definition” – (which you should be able to import with that hyperlink) that sends the term including its notes back to Drafts with the following configuration:

drafts://create?text=[[definitions]]%0A[[note]]

That button results in a new Draft in a specific format, demonstrated by this example:

Antagonistic Vocabulary Draft Example

I then manually add the “Vocabulary” tag to the Draft, completing the process and placing it within the parameters defined by my Vocabulary workspace, which shows only drafts with that tag, sorted alphabetically.

Publication

For the past few weeks, I’ve been wreaking havoc on NeoCities’ global activity feed using the action group I created on the /drafts directory of davidblue dot wtf. Specifically, the action that uploads HTML files to that directory named by the UUID of the draft. (Here’s the corresponding link for this post, for example.) With consequent draftopenurls left in the footer of each as per my current, more or less universal HTML template, I’m able to immediately open the appropriate draft locally.

Vocabulary Index Shortcut

In order to maintain an updated index of the whole list, I’ve created a Siri Shortcut which transforms the UUIDs of the drafts in the vocabulary workspace into markdown-formatted hyperlinks of their web-dwelling counterparts.

Terminology Favorites List

Even if you’ve no intention of publishing your personal vocabulary – or integrating it with Drafts – Terminology is still the dictionary app I’d recommend over any others.

Discuss...

#configuration #software #automation

]]>
https://bilge.world/drafts-terminology-vocabulary Tue, 03 May 2022 06:31:51 +0000
TildeTown on iPhone with Blink Shell https://bilge.world/tildetown-iphone-blink-shell?pk_campaign=rss-feed <![CDATA[Blink Folder The ideal means of On The Go participation in The Tildeverse. !--more-- audio controls   source src="https://davidblue.wtf/audio/blink.m4a" /audio 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. 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: Mini Tutorial: Uploading images to the Tildeverse with Blink Shell video controls source src="https://tilde.town/~extratone/videos/uploadingimageswithblink.MP4" /video 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: { “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.prefixalignmax 9 /bar hide bufflist /bar hide fset /bar hide title /bar hide nicklist /set weechat.look.buffertimeformat "%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. 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.]]> 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.

]]>
https://bilge.world/tildetown-iphone-blink-shell Mon, 14 Mar 2022 01:47:53 +0000
Run Siri Shortcuts with Hyperlinks https://bilge.world/run-siri-shortcuts-with-hyperlinks?pk_campaign=rss-feed <![CDATA[Shortcuts Run Links Imagine running shortcuts from anywhere you can place a link. !--more-- 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. a href="https://remark.as/p/bilge.world/run-siri-shortcuts-with-hyperlinks"Discuss.../a #automation #software #configuration]]> 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

]]>
https://bilge.world/run-siri-shortcuts-with-hyperlinks Fri, 04 Mar 2022 17:10:47 +0000
Windows Eternal Drafts Theme https://bilge.world/windows-eternal?pk_campaign=rss-feed <![CDATA[WindowsEternal-iPadPro I believe I have finally manifested the Drafts interpretation of Winders users’ dreams. !--more-- If you still follow me on Twitter, you’ve seen me posting a lot of mockups and links related to Agile Tortoise’s Drafts, lately. I know it probably seems like a phase - and I suppose it is, technically - but I’ve actually been using this darned application for the entirety of my adult life. It’s just that I’ve only recently (read: since 2020 or so) returned to Drafts as my primary text living space from Bear for what I’m sure you’ll regard as silly reasons. In terms of themes for Drafts, I’ve already hit you with one based on this very blog and “Windows Iowa” - both of which have faired far better than I would’ve ever expected on the Drafts Directory. Switching SwitchingLandscape Now, though, I would like to present “Windows Eternal” - a celebratory theme of ye olde Winders™ Aesthetic, based on one of my very favorite themes for Telegram Messenger for iOS. Telegram Theme I’m actually not sure what it was called originally, but I’ve archived the Telegram theme as Windows Eternal, too. WindowsEternalTelegramLandscape WindowsEternalTelegram If you or someone you know might remember who the original creator was, please do get in touch because they absolutely deserve to be credited here and elsewhere. Windows Eternal Portrait Clean Details If you’re interested, the full source of Windows Eternal is publicly available, though I would recommend using the “Open in Theme Builder” button on its Drafts Directory page to view the details visually, especially if you’re a Drafts user who’s never tried it. You’ll note that I made heavy use of #327c7d (that darkish green color) as often as possible along with #bfc0c1 (the main gray) and #000DA6 (the main bright blue.) Buttons Drafts Directory Link GitHub Issue Source Tilde (More screenshots) Telegram Theme a href="https://remark.as/p/bilge.world/windows-eternal"Discuss.../a #software #configuration]]> WindowsEternal-iPadPro

I believe I have finally manifested the Drafts interpretation of Winders users’ dreams.

If you still follow me on Twitter, you’ve seen me posting a lot of mockups and links related to Agile Tortoise’s Drafts, lately. I know it probably seems like a phase – and I suppose it is, technically – but I’ve actually been using this darned application for the entirety of my adult life. It’s just that I’ve only recently (read: since 2020 or so) returned to Drafts as my primary text living space from Bear for what I’m sure you’ll regard as silly reasons. In terms of themes for Drafts, I’ve already hit you with one based on this very blog and “Windows Iowa” – both of which have faired far better than I would’ve ever expected on the Drafts Directory.

Switching

SwitchingLandscape

Now, though, I would like to present “Windows Eternal” – a celebratory theme of ye olde Winders™ Aesthetic, based on one of my very favorite themes for Telegram Messenger for iOS.

Telegram Theme

I’m actually not sure what it was called originally, but I’ve archived the Telegram theme as Windows Eternal, too.

WindowsEternalTelegramLandscape

WindowsEternalTelegram

If you or someone you know might remember who the original creator was, please do get in touch because they absolutely deserve to be credited here and elsewhere.

Windows Eternal Portrait Clean

Details

If you’re interested, the full source of Windows Eternal is publicly available, though I would recommend using the “Open in Theme Builder” button on its Drafts Directory page to view the details visually, especially if you’re a Drafts user who’s never tried it. You’ll note that I made heavy use of #327c7d (that darkish green color) as often as possible along with #bfc0c1 (the main gray) and #000DA6 (the main bright blue.)

Buttons

Discuss...

#software #configuration

]]>
https://bilge.world/windows-eternal Sun, 20 Feb 2022 11:17:58 +0000
The Fastest Route to Twitter Jail https://bilge.world/twitter-jail?pk_campaign=rss-feed <![CDATA[TwitterJail My new Twitter Jail Siri Shortcut marks a milestone in Social Foolery. !--more-- I graduated high school in 2012. Back then, TweetDeck was still a standalone desktop client that allowed one to post with just the ENTER or return key. I'd made it part of the Drywall Prime Directive to generally keep @ihadtopee in Twitter Jail as much as possible, which meant pounding my way into it ASAP, daily. This was often my very first task upon returning home from school. All memories - much less computing memories - are quite obscured from that era, but I wouldn't be surprised if I was spending a cumulative 45 minutes every school day punishing the fuck out of my first flat generation w/keypad Apple Keyboard to TweetDeck in Windows 7. https://twitter.com/TWlTTER_JAIL/status/746295481123274752 It's not that automating Tweets wasn't possible in that era - I'd been posting WHEN IM COMIN DINE IN MY FOREIGN AND IM ROLLIN ONE DEEP THAT SHOULD TELL YA BOUT ME across all my social accounts every morning at 0610 since Freshman year via IFTT (now IFTTT) - but doing so at any sustained rate required actual knowledge. https://www.youtube.com/watch?v=4qyHYslaQx4 Today, even an rube like myself can whip up a Siri Shortcut capable of jailing a user account in less than four minutes from nill - what appears to be a statically-set rate limit of 310 Tweets in that time. Mind you, we're talking about entirely on-device processing here, and - in case you weren't aware - the device I'm referring to is my fucking cellular phone. TwitterJailTimeline Twitter Jail technically requires three apps - two of which are ridiculously small, 100% Apple cross-platform, and entirely free - and the third represents simply the most refined and delightful means anyone has ever interacted with The Bird Site. Requirements Actions - Free across all platforms and just 3.3mb to download! Tweetbot (You might also try Aviary if you absolutely cannot bring yourself to pay a subscription fee, ever.) Data Jar (More or less optional.) Upon installation, you'll be asked 1.) to set the default number of repeats (Tweets) per run. Obviously, I'd recommend ~310 to optimize your jailing. 2.) To specify which Tweetbot-authenticated user account you'd like to get jailed, and 3.) which "key path" (jar) you'd like to store the URLs of said Tweets in. The third is almost certainly useless and entirely optional (just delete the Data Jar action,) but... you never know when... you might need... those URLs. Depending on your device (to some extent, I'd imagine,) proceeding to run the shortcut shouldn't take long. It randomly generates 91 characters text from a string (which you should also feel empowered to customize/add to,) Tweets them from your specified account, and stores the URLs of those Tweets in the jar you may or may not have specified. You might expect me to express envy of any youths reading, but I absolutely feel none. All I can do is encourage you to fucking try Mastodon for God's sake and your own. Twitter Jail macOS Update: macOS Version Published I’ve created a macOS version of Twitter Jail which also requires the Actions app but substitutes Aviary for Tweetbot given the former’s native Siri Shortcuts action does not require the app to open for each Tweet. 1] It's actually still available from [various sources - including the Mac App Store - but has fallen way, way out of support. #automation #software #configuration]]> TwitterJail

My new Twitter Jail Siri Shortcut marks a milestone in Social Foolery.

I graduated high school in 2012. Back then, TweetDeck was still a standalone desktop client[^1] that allowed one to post with just the ENTER or return key. I'd made it part of the Drywall Prime Directive to generally keep @ihadtopee in Twitter Jail as much as possible, which meant pounding my way into it ASAP, daily. This was often my very first task upon returning home from school. All memories – much less computing memories – are quite obscured from that era, but I wouldn't be surprised if I was spending a cumulative 45 minutes every school day punishing the fuck out of my first flat generation w/keypad Apple Keyboard to TweetDeck in Windows 7.

It's not that automating Tweets wasn't possible in that era – I'd been posting WHEN IM COMIN DINE IN MY FOREIGN AND IM ROLLIN ONE DEEP THAT SHOULD TELL YA BOUT ME across all my social accounts every morning at 0610 since Freshman year via IFTT (now IFTTT) – but doing so at any sustained rate required actual knowledge.

Today, even an rube like myself can whip up a Siri Shortcut capable of jailing a user account in less than four minutes from nill – what appears to be a statically-set rate limit of 310 Tweets in that time. Mind you, we're talking about entirely on-device processing here, and – in case you weren't aware – the device I'm referring to is my fucking cellular phone.

TwitterJailTimeline

Twitter Jail technically requires three apps – two of which are ridiculously small, 100% Apple cross-platform, and entirely free – and the third represents simply the most refined and delightful means anyone has ever interacted with The Bird Site.

Requirements

  • Actions – Free across all platforms and just 3.3mb to download!
  • Tweetbot (You might also try Aviary if you absolutely cannot bring yourself to pay a subscription fee, ever.)
  • Data Jar (More or less optional.)

Upon installation, you'll be asked 1.) to set the default number of repeats (Tweets) per run. Obviously, I'd recommend ~310 to optimize your jailing. 2.) To specify which Tweetbot-authenticated user account you'd like to get jailed, and 3.) which “key path” (jar) you'd like to store the URLs of said Tweets in. The third is almost certainly useless and entirely optional (just delete the Data Jar action,) but... you never know when... you might need... those URLs.

Depending on your device (to some extent, I'd imagine,) proceeding to run the shortcut shouldn't take long. It randomly generates 91 characters text from a string (which you should also feel empowered to customize/add to,) Tweets them from your specified account, and stores the URLs of those Tweets in the jar you may or may not have specified.

You might expect me to express envy of any youths reading, but I absolutely feel none. All I can do is encourage you to fucking try Mastodon for God's sake and your own.

Twitter Jail macOS

Update: macOS Version Published

I’ve created a macOS version of Twitter Jail which also requires the Actions app but substitutes Aviary for Tweetbot given the former’s native Siri Shortcuts action does not require the app to open for each Tweet.

[1] It's actually still available from various sourcesincluding the Mac App Store – but has fallen way, way out of support.

#automation #software #configuration

]]>
https://bilge.world/twitter-jail Mon, 14 Feb 2022 08:35:27 +0000
Using Drafts with NeoCities https://bilge.world/using-drafts-with-neocities?pk_campaign=rss-feed <![CDATA[DraftsxNeoCities A Drafts Action Group for interacting with WebDAV-enabled sites. !--more-- audio controls   source src="https://davidblue.wtf/audio/draftsandneocities.mp3" /audio Thanks to recent learning, I have managed to manifest one of my alltime fantasy integrations: I have tied Drafts and NeoCities together directly via my NeoCities Action Group, which uses Drafts' native WebDAV support to (technically) interact with any website based on the protocol. I created it largely to interact with NeoCities over iOS, but frankly I was already doing so more effectively than the Action Group will ever offer with the iOS app Koder. It’s odd and a bit out of support, but incredibly useful and supported all the way back to iOS 9. Unfortunately, many of its functions - like deleting remote files, for instance - will result in a crash on modern devices. Also unfortunate - I’m afraid my Action Group doesn’t offer solutions to these problems. On iOS, it’s limited in function to pushing files to your WebDAV server and then opening them in a web browser. NeoCitiesActionGroup It wasn't as simple as HTML encoding the draft] content with percentage signs, either. In order to produce [satisfactory results, I had to wrap every output in a very custom HTML template which I would very much encourage you to personalize before using (considering especially that it includes my personalized footer links and colors.) You can view that template in full here. To be honest, I can’t quite recall where I found the original, but it was probably either included with a native Drafts action or found among Stephen Millard’s TAD library. toDraft-UUID The most reliable means of identifying, pushing, and retrieving a draft from a WebDAV site (that I found, anyway,) is by using its Universally unique identifier (UUID) in its pathname. An apt example: the draft I’m currently whittling on, enumerated 7247282E-340B-4890-A2F7-0481AF31321E. The action above - Draft to /drafts as UUID.html - will push the contents of your current draft to /drafts/the Draft’s UUID.html. (That's how I created the example.) NeoCitiesActionGroup-Viewedonmacos I've done my best to color code the actions based on the potential "severity" of their result, but the way they display will depend almost entirely on which particular Drafts theme you're using at the moment. Nevertheless, blue/green indicate the "safest" actions - like the ones that simply open a link to a draft you've already pushed - and yellow/orange/red actions involve pushing/manipulating files at the root of your site. Below is the full documentation of each of the actions (and the separators, even,) including individual install links, though I would very much recommend you install the whole bit. You'll need to edit each action and replace davidblue.wtf with your own URL(s) unless you'd like to try and attempt my absolutely gargantuan NeoCities password. NeoCities Action Group Root Type: Separator Keyboard Shortcut: Icon: Colour: none Confirm to Run: false Notifications: All Log Level: All Number of Steps: 0 Unique ID: 69B625EC-D9E2-41B7-9767-3532666E7C97 Description: Push Draft to Root as HTML Type: Action Keyboard Shortcut: Icon: 383-keyhole Colour: orange Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 81C89DC8-F26E-4644-87D7-BF454B345C24 Description: Push the current draft to the /drafts directory as an HTML file by the draft’s safetitle. Draft to Root as UUID.html Type: Action Keyboard Shortcut: Icon: binary Colour: yellow Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: ABAA6A02-806F-4B45-BEA6-E9D5F8D32236 Description: Push the current draft to the root directory as an HTML file titled by its UUID. Draft to Root as Text Timestamp Type: Action Keyboard Shortcut: Icon: alarm Colour: orange Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: EFF08ADA-81B6-49C3-B132-5DB477A95685 Description: Push the current draft to the root directory as a .txt file titled by timestamp. Draft to /{title} as index.html Type: Action Keyboard Shortcut: Icon: indent Colour: red Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 15401CFC-114E-429C-B747-054E19C46911 Description: Push the current draft to /NeoCities as index.html Open /{title} Type: Action Keyboard Shortcut: Icon: idea Colour: green Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 34630C90-6180-4394-A296-C2A5018DFEFB Description: Open /drafts/[Current Draft UUID].html. /path Type: Separator Keyboard Shortcut: Icon: Colour: none Confirm to Run: false Notifications: All Log Level: All Number of Steps: 0 Unique ID: 6F0BE49F-3B6F-49AF-ABA7-04BA7F437C1A Description: Push Draft to /drafts as HTML Type: Action Keyboard Shortcut: Icon: 383-keyhole Colour: orange Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 34A59A1C-95A8-42A9-9C23-677E9731EFC8 Description: Push the current draft to the /drafts directory as an HTML file by the draft’s safe_title. Draft to /drafts as UUID.html Type: Action Keyboard Shortcut: Icon: binary Colour: none Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 9C9FCDA8-687C-475A-8213-A8185CEFEE4D Description: Push the current draft to the /drafts directory as an HTML file titled by its UUID. Open pushed /drafts file by UUID. Type: Action Keyboard Shortcut: Icon: idea Colour: green Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: BADE45C1-AEC4-46A6-B4BE-7B88B2357C04 Description: Open /drafts/[Current Draft UUID].html. Draft to /drafts/{title} as index.html Type: Action Keyboard Shortcut: Icon: indent Colour: violet Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 5555699A-B3A6-432D-9A20-ECA78F6A5D88 Description: Push the current draft to drafts/NeoCities as index.html Open /drafts/{title} Type: Action Keyboard Shortcut: Icon: idea Colour: green Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 1E5CB9D6-B8FE-4934-8AEC-E795A651C45A Description: Open /drafts/{title} Draft to Specified Path as index.html Type: Action Keyboard Shortcut: Icon: signs-alt Colour: orange Confirm to Run: false Notifications: All Log Level: All Number of Steps: 2 Unique ID: A7D5BE00-36D3-4E08-9058-7923571189AA Description: Push Draft to specified directory as index.html. /[input]/index.html Misc Type: Separator Keyboard Shortcut: Icon: Colour: none Confirm to Run: false Notifications: All Log Level: All Number of Steps: 0 Unique ID: 06296787-B9EE-4759-9B9C-5F994CAA894A Description: Push clipboard .txt to clipboard/timestamp Type: Action Keyboard Shortcut: Icon: clipboard-content Colour: blue Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 98AF9E4B-1D48-4F95-8D2D-C879FE16BE40 Description: Push contents of the clipboard to the /clipboard directory as a .txt file. Open NeoCities Workspace Type: Action Keyboard Shortcut: ⇧⌃N Icon: cat-face Colour: gray Confirm to Run: false Notifications: All Log Level: All Number of Steps: 1 Unique ID: 4B8E95CE-F6A3-4F53-88CB-B01C8398A990 Description: Open workspace entitled “NeoCities.” NeoCities list / (macOS-Only) Type: Action Keyboard Shortcut: Icon: directions-merge Colour: gray Confirm to Run: false Notifications: All Log Level: All Number of Steps: 2 Unique ID: 898038F4-E5E4-4BDA-B15A-D2ED2D388D82 Description: Calls a shortcut entitled “NeoCitiesRoot” with a Run Shell Script action containing the following: neocities list / Can only be run on macOS and requires the NeoCities CLI. #software #configuration #automation]]> DraftsxNeoCities

A Drafts Action Group for interacting with WebDAV-enabled sites.

Thanks to recent learning, I have managed to manifest one of my alltime fantasy integrations: I have tied Drafts and NeoCities together directly via my NeoCities Action Group, which uses Drafts' native WebDAV support to (technically) interact with any website based on the protocol. I created it largely to interact with NeoCities over iOS, but frankly I was already doing so more effectively than the Action Group will ever offer with the iOS app Koder. It’s odd and a bit out of support, but incredibly useful and supported all the way back to iOS 9. Unfortunately, many of its functions – like deleting remote files, for instance – will result in a crash on modern devices. Also unfortunate – I’m afraid my Action Group doesn’t offer solutions to these problems. On iOS, it’s limited in function to pushing files to your WebDAV server and then opening them in a web browser.

NeoCitiesActionGroup

It wasn't as simple as HTML encoding the [draft] content with percentage signs, either. In order to produce satisfactory results, I had to wrap every output in a very custom HTML template which I would very much encourage you to personalize before using (considering especially that it includes my personalized footer links and colors.) You can view that template in full here. To be honest, I can’t quite recall where I found the original, but it was probably either included with a native Drafts action or found among Stephen Millard’s TAD library.

toDraft-UUID

The most reliable means of identifying, pushing, and retrieving a draft from a WebDAV site (that I found, anyway,) is by using its Universally unique identifier (UUID) in its pathname. An apt example: the draft I’m currently whittling on, enumerated 7247282E-340B-4890-A2F7-0481AF31321E. The action above – Draft to /drafts as UUID.html – will push the contents of your current draft to /drafts/the Draft’s UUID.html. (That's how I created the example.)

NeoCitiesActionGroup-Viewedonmacos

I've done my best to color code the actions based on the potential “severity” of their result, but the way they display will depend almost entirely on which particular Drafts theme you're using at the moment. Nevertheless, blue/green indicate the “safest” actions – like the ones that simply open a link to a draft you've already pushed – and yellow/orange/red actions involve pushing/manipulating files at the root of your site.

Below is the full documentation of each of the actions (and the separators, even,) including individual install links, though I would very much recommend you install the whole bit. You'll need to edit each action and replace davidblue.wtf with your own URL(s) unless you'd like to try and attempt my absolutely gargantuan NeoCities password.

NeoCities Action Group

Root

Type: Separator Keyboard Shortcut:
Icon:
Colour: none
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 0
Unique ID: 69B625EC-D9E2-41B7-9767-3532666E7C97
Description:

Push Draft to Root as HTML

Type: Action
Keyboard Shortcut:
Icon: 383-keyhole
Colour: orange
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 81C89DC8-F26E-4644-87D7-BF454B345C24
Description:
Push the current draft to the /drafts directory as an HTML file by the draft’s safe_title.

Draft to Root as UUID.html

Type: Action
Keyboard Shortcut:
Icon: binary
Colour: yellow
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: ABAA6A02-806F-4B45-BEA6-E9D5F8D32236
Description:
Push the current draft to the root directory as an HTML file titled by its UUID.

Draft to Root as Text Timestamp

Type: Action
Keyboard Shortcut:
Icon: alarm
Colour: orange
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: EFF08ADA-81B6-49C3-B132-5DB477A95685
Description:
Push the current draft to the root directory as a .txt file titled by timestamp.

Draft to /{title} as index.html

Type: Action
Keyboard Shortcut:
Icon: indent
Colour: red
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 15401CFC-114E-429C-B747-054E19C46911
Description:
Push the current draft to /NeoCities as index.html

Open /{title}

Type: Action
Keyboard Shortcut:
Icon: idea
Colour: green
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 34630C90-6180-4394-A296-C2A5018DFEFB
Description:
Open /drafts/[Current Draft UUID].html.

/path

Type: Separator Keyboard Shortcut:
Icon:
Colour: none
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 0
Unique ID: 6F0BE49F-3B6F-49AF-ABA7-04BA7F437C1A
Description:

Push Draft to /drafts as HTML

Type: Action
Keyboard Shortcut:
Icon: 383-keyhole
Colour: orange
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 34A59A1C-95A8-42A9-9C23-677E9731EFC8
Description:
Push the current draft to the /drafts directory as an HTML file by the draft’s safe_title.

Draft to /drafts as UUID.html

Type: Action
Keyboard Shortcut:
Icon: binary
Colour: none
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 9C9FCDA8-687C-475A-8213-A8185CEFEE4D
Description:
Push the current draft to the /drafts directory as an HTML file titled by its UUID.

Open pushed /drafts file by UUID.

Type: Action
Keyboard Shortcut:
Icon: idea
Colour: green
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: BADE45C1-AEC4-46A6-B4BE-7B88B2357C04
Description:
Open /drafts/[Current Draft UUID].html.

Draft to /drafts/{title} as index.html

Type: Action
Keyboard Shortcut:
Icon: indent
Colour: violet
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 5555699A-B3A6-432D-9A20-ECA78F6A5D88
Description:
Push the current draft to drafts/NeoCities as index.html

Open /drafts/{title}

Type: Action
Keyboard Shortcut:
Icon: idea
Colour: green
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 1E5CB9D6-B8FE-4934-8AEC-E795A651C45A
Description:
Open /drafts/{title}

Draft to Specified Path as index.html

Type: Action
Keyboard Shortcut:
Icon: signs-alt
Colour: orange
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 2
Unique ID: A7D5BE00-36D3-4E08-9058-7923571189AA
Description:
Push Draft to specified directory as index.html.

/[input]/index.html

Misc

Type: Separator Keyboard Shortcut:
Icon:
Colour: none
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 0
Unique ID: 06296787-B9EE-4759-9B9C-5F994CAA894A
Description:

Push clipboard .txt to clipboard/timestamp

Type: Action
Keyboard Shortcut:
Icon: clipboard-content
Colour: blue
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 98AF9E4B-1D48-4F95-8D2D-C879FE16BE40
Description:
Push contents of the clipboard to the /clipboard directory as a .txt file.

Open NeoCities Workspace

Type: Action
Keyboard Shortcut: ⇧⌃N
Icon: cat-face
Colour: gray
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 1
Unique ID: 4B8E95CE-F6A3-4F53-88CB-B01C8398A990
Description:
Open workspace entitled “NeoCities.”

NeoCities list / (macOS-Only)

Type: Action
Keyboard Shortcut:
Icon: directions-merge
Colour: gray
Confirm to Run: false
Notifications: All
Log Level: All
Number of Steps: 2
Unique ID: 898038F4-E5E4-4BDA-B15A-D2ED2D388D82
Description:
Calls a shortcut entitled “NeoCitiesRoot” with a Run Shell Script action containing the following:

neocities list /

Can only be run on macOS and requires the NeoCities CLI.

#software #configuration #automation

]]>
https://bilge.world/using-drafts-with-neocities Sun, 13 Feb 2022 15:38:41 +0000
Zalgo Text in a Keyboard Shortcut https://bilge.world/drafts-zalgo-action?pk_campaign=rss-feed <![CDATA[ZalgoTextinaKeyboardShortcut !--more-- Earlier this afternoon, I put out an ask on Twitter regarding how to use JavaScript to create a native Drafts Action for Zalgo Text. Delightfully, tagging @draftsapp in that post paid off, for just a bit ago, Greg - Drafts’ sole creator and guardian - actually replied with a link to an action he’d just posted called “Zalgos.” https://twitter.com/draftsapp/status/1492645727729766400 Obviously, I installed it immediately, and configured it to ^ + ⇧ + Z. Now, within Drafts, I can select and Z̻̯͔̘̲ͥ́̕̕͝a̵̜̤̫͓̘̘̾́͊͛͜ĺ̸̶̦̣̉ͧg̶̶̟̩͒͗̊̆ͦ͜͡o̲̎̿̇́̂ ą̨̙̳̟̕n̆̄҉̸̥̳̯̱̲̂ͧ̊͟͞y̺̋ͮ͟ t̻̣̾ͣ̔̏è̘ͮ̋x͎̣ͫt̢̺̙̋͒. video controls source src="https://user-images.githubusercontent.com/43663476/153733588-cae8e5ec-51fe-4f46-a14a-a3552bb0337c.MOV" /video As I said on Twitter, this is almost certainly the second most thoughtful gift I’ve ever recieved, though I had to share it with you. I’ve also created a shortlink: bit.ly/ddzalgo. #software #configuration]]> ZalgoTextinaKeyboardShortcut

Earlier this afternoon, I put out an ask on Twitter regarding how to use JavaScript to create a native Drafts Action for Zalgo Text. Delightfully, tagging @draftsapp in that post paid off, for just a bit ago, Greg – Drafts’ sole creator and guardian – actually replied with a link to an action he’d just posted called “Zalgos.”

Obviously, I installed it immediately, and configured it to ^ + ⇧ + Z. Now, within Drafts, I can select and Z̻̯͔̘̲ͥ́̕̕͝a̵̜̤̫͓̘̘̾́͊͛͜ĺ̸̶̦̣̉ͧg̶̶̟̩͒͗̊̆ͦ͜͡o̲̎̿̇́̂ ą̨̙̳̟̕n̆̄҉̸̥̳̯̱̲̂ͧ̊͟͞y̺̋ͮ͟ t̻̣̾ͣ̔̏è̘ͮ̋x͎̣ͫt̢̺̙̋͒.

As I said on Twitter, this is almost certainly the second most thoughtful gift I’ve ever recieved, though I had to share it with you. I’ve also created a shortlink: bit.ly/ddzalgo.

#software #configuration

]]>
https://bilge.world/drafts-zalgo-action Sun, 13 Feb 2022 00:49:26 +0000
Automating Write.as Posts on macOS https://bilge.world/automating-writeas-posts?pk_campaign=rss-feed <![CDATA[Post to Writeas Blog A setup for posting to Write.as blogs directly using Siri Shortcuts, the Write.as CLI, and (optionally) Drafts for Mac. !--more-- Though there is currently a Write.as desktop application in the works for macOS and the web editor is certainly no slouch, I thought I'd attempt to take advantage of my newfound knowledge of the Write.as CLI, Drafts Actions, and Siri Shortcuts on macOS to manifest one of my all-time dream integrations: publishing directly to write.as with Drafts. To start - assuming you already have the CLI installed - lets run writeas help post in our shell: WriteasHelpPost For my own use, I really needed to consider just two arguments, here: which blog I'm posting to and in which format. Since my blog's CSS overwrites all but monospace, I always publish in --sans. Keeping this in mind, I allotted for these two options in my Siri Shortcut as customizations set on install. ShortcutSetup Now, whenever it's run, my shortcut will be running this command: write-as post -c chaff --font sans plus whatever input I've given it. By default, it will grab from the clipboard, but I'm going to use a custom Drafts action to send input, instead. DraftstoWriteasAction Very simply, this action simply calls a shortcut entitled "Post to Write.as Blog (macOS)" sending the [[safe_title]] of the Draft as the markdown title followed by a space and then the draft's [[body]]. video controls source src="https://user-images.githubusercontent.com/43663476/152664747-1a6fce01-85d6-46ff-bd13-e41d33544c78.mp4" /video a href="https://remark.as/p/bilge.world/automating-writeas-posts"Discuss.../a #software #automation #configuration]]> Post to Writeas Blog

A setup for posting to Write.as blogs directly using Siri Shortcuts, the Write.as CLI, and (optionally) Drafts for Mac.

Though there is currently a Write.as desktop application in the works for macOS and the web editor is certainly no slouch, I thought I'd attempt to take advantage of my newfound knowledge of the Write.as CLI, Drafts Actions, and Siri Shortcuts on macOS to manifest one of my all-time dream integrations: publishing directly to write.as with Drafts.

To start – assuming you already have the CLI installed – lets run writeas help post in our shell:

WriteasHelpPost

For my own use, I really needed to consider just two arguments, here: which blog I'm posting to and in which format. Since my blog's CSS overwrites all but monospace, I always publish in --sans. Keeping this in mind, I allotted for these two options in my Siri Shortcut as customizations set on install.

ShortcutSetup

Now, whenever it's run, my shortcut will be running this command: write-as post -c chaff --font sans plus whatever input I've given it. By default, it will grab from the clipboard, but I'm going to use a custom Drafts action to send input, instead.

DraftstoWriteasAction

Very simply, this action simply calls a shortcut entitled “Post to Write.as Blog (macOS)” sending the [[safe_title]] of the Draft as the markdown title followed by a space and then the draft's [[body]].

Discuss...

#software #automation #configuration

]]>
https://bilge.world/automating-writeas-posts Sun, 06 Feb 2022 01:39:58 +0000
Text Replacement https://bilge.world/text-replacement?pk_campaign=rss-feed <![CDATA[TextReplacement Declare a Personalized Vocabulary across Apple’s OSs with Text Replacement. !--more-- If you’re like me, your cumulative experience of typing on iPhones for more than a decade is probably saturated with needlessly disruptive, unsolicited, and inaccurate autocorrection. Certain proper nouns and a dozen or so quasi-localized dialectal terms in our day-to-day writing/speech have been treated by the system's autocorrect as foreign objects, regardless of how frequently we use them. Technically, this isn't supposed to happen, but - if you've got the patience and the time - there's a native feature across iOS, iPadOS, and macOS that allows you to declare your own user dictionary called Text Replacement. https://youtube.com/watch?v=4Pu4VCiApMU You can find the Text Replacement menu on iOS - as pictured in the screenshot embedded above - by navigating to General ⇨ Keyboard ⇨ Text Replacement or (maybe) by tapping this link. If you think you might use it often, I'd suggest installing this Siri Shortcut I created that navigates directly to the Text Replacement menu. To be honest, I’ve no idea what you’ll find there if you’ve never created a single entry and - since there’s no way to import or export from the menu - I’m not willing to delete all of mine to find out. TextReplacementEntry Tap the plus (+) symbol in the upper right hand corner of this menu and you should find yourself on a screen identical to the one shown in the screenshot embedded above, with two text entry fields labeled Phrase and Shortcut. To simply define a phrase - like “Extratone,” for instance, we needn’t actually use the latter, though I almost always do. I would suggest making two entries for those terms that aren’t always lowercase/uppercase - Extratone and extratone. My suggestion: you needn’t waste too much time sitting and noodling over potential entries. Instead, try to notice the next time you encounter a frustrating misapplication of autocorrect. Add the Siri Shortcut I shared above to your homescreen so that you can quickly access the menu in this situation. Adding a single word shouldn’t take you more than a few seconds, this way. Here’s the result of my continuing this practice for the past few years: https://gist.github.com/extratone/3c7788e41d32958a04a2ab693fe0512c Text Expansion The goal of this guide was to help those experiencing repeated incorrect autocorrect actions, but Text Replacement’s explicit purpose is also worth consideration. Similar in function to a favorite third-party app of mine called Text Expander, you can also use Text Replacement to create text shortcuts to lengthy/tedious/otherwise difficult to replicate text strings. This includes emojis! As you’ll note in the Gist embedded above, my typing out moyai with replace the text “moyai” with “🗿.” In order to escape the shortcut and simply print the word “moyai,” all I need to do is tap the esc key on my keyboard or the x in the upper right hand corner of the autocorrect object. See this demonstrated in my video guide and/or the GIF embedded below: https://imgur.com/gallery/K3EWBqh What I forgot to mention in the video is that the Text Replacement dictionary is persistent by default across iOS, iPadOS, and macOS via iCloud. You’ll find the menu in the last one at System Preferences ⇨ Keyboard ⇨ Text. Text Menu in macOS From here, you can actually Select All and drag the contents of the text menu to Finder, which will result in a file entitled Text Substitutions.plist. Technically, this does allow one to back up their Text Replacement configuration, although actually restoring said backup would have to be done by hand, term by term. https://imgur.com/gallery/EeTksyI https://twitter.com/atnbueno/status/1506348606374170635 a href="https://remark.as/p/bilge.world/text-replacement"Discuss.../a #software #configuration]]> TextReplacement

Declare a Personalized Vocabulary across Apple’s OSs with Text Replacement.

If you’re like me, your cumulative experience of typing on iPhones for more than a decade is probably saturated with needlessly disruptive, unsolicited, and inaccurate autocorrection. Certain proper nouns and a dozen or so quasi-localized dialectal terms in our day-to-day writing/speech have been treated by the system's autocorrect as foreign objects, regardless of how frequently we use them. Technically, this isn't supposed to happen, but – if you've got the patience and the time – there's a native feature across iOS, iPadOS, and macOS that allows you to declare your own user dictionary called Text Replacement.

You can find the Text Replacement menu on iOS – as pictured in the screenshot embedded above – by navigating to General ⇨ Keyboard ⇨ Text Replacement or (maybe) by tapping this link. If you think you might use it often, I'd suggest installing this Siri Shortcut I created that navigates directly to the Text Replacement menu. To be honest, I’ve no idea what you’ll find there if you’ve never created a single entry and – since there’s no way to import or export from the menu – I’m not willing to delete all of mine to find out.

TextReplacementEntry

Tap the plus (+) symbol in the upper right hand corner of this menu and you should find yourself on a screen identical to the one shown in the screenshot embedded above, with two text entry fields labeled Phrase and Shortcut. To simply define a phrase – like “Extratone,” for instance, we needn’t actually use the latter, though I almost always do. I would suggest making two entries for those terms that aren’t always lowercase/uppercase – Extratone and extratone.

My suggestion: you needn’t waste too much time sitting and noodling over potential entries. Instead, try to notice the next time you encounter a frustrating misapplication of autocorrect. Add the Siri Shortcut I shared above to your homescreen so that you can quickly access the menu in this situation. Adding a single word shouldn’t take you more than a few seconds, this way.

Here’s the result of my continuing this practice for the past few years:

Text Expansion

The goal of this guide was to help those experiencing repeated incorrect autocorrect actions, but Text Replacement’s explicit purpose is also worth consideration. Similar in function to a favorite third-party app of mine called Text Expander, you can also use Text Replacement to create text shortcuts to lengthy/tedious/otherwise difficult to replicate text strings. This includes emojis! As you’ll note in the Gist embedded above, my typing out moyai with replace the text “moyai” with “🗿.” In order to escape the shortcut and simply print the word “moyai,” all I need to do is tap the esc key on my keyboard or the x in the upper right hand corner of the autocorrect object. See this demonstrated in my video guide and/or the GIF embedded below:

What I forgot to mention in the video is that the Text Replacement dictionary is persistent by default across iOS, iPadOS, and macOS via iCloud. You’ll find the menu in the last one at System Preferences ⇨ Keyboard ⇨ Text.

Text Menu in macOS

From here, you can actually Select All and drag the contents of the text menu to Finder, which will result in a file entitled Text Substitutions.plist. Technically, this does allow one to back up their Text Replacement configuration, although actually restoring said backup would have to be done by hand, term by term.

Discuss...

#software #configuration

]]>
https://bilge.world/text-replacement Wed, 02 Feb 2022 23:56:36 +0000