<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>software — The Psalms</title>
    <link>https://bilge.world/tag:software</link>
    <description>A &lt;a href=&#34;https://davidblue.wtf/db.vcf&#34;&gt;narcoleptic yokel&lt;/a&gt; on software and culture.</description>
    <pubDate>Sun, 15 Nov 2026 10:16:47 +0000</pubDate>
    <image>
      <url>https://i.snap.as/iTL3WJk.png</url>
      <title>software — The Psalms</title>
      <link>https://bilge.world/tag:software</link>
    </image>
    <item>
      <title>How to Fuck Text</title>
      <link>https://bilge.world/text-fuck?pk_campaign=rss-feed</link>
      <description>A guide to digital text fuckery (largely on Apple Platforms) from one of the world’s foremost authorities.</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/zeOD3AWR.png" alt="Fuck Banner"/></p>

<h2 id="a-guide-to-digital-text-fuckery-largely-on-apple-platforms-from-one-of-the-world-s-foremost-authorities">A guide to digital text fuckery (largely on Apple Platforms) from one of the world’s foremost authorities.</h2>



<p><audio controls="">
  <source src="https://davidblue.wtf/audio/text-fuck.mp3">
</audio></p>

<p>My <a href="https://uikeycommand.com" rel="nofollow ugc">project to properly document Bluetooth keyboard support on iPhone</a> has given me a new reverence for accessibility, generally, which might come as a hypocritical statement at the beginning of such a piece, but I <em>did</em> <a href="https://mastodon.social/@DavidBlue/107589034582138302" rel="nofollow ugc">explicitly ask you</a> if you felt this subject was anti-accessibility before I officially embarked upon writing This Post. I don&#39;t consider the answer – a very weak “no” – to be an all-encompassing excuse, whatsoever. If you feel this post&#39;s existence has the potential to do real harm, <a href="https://davidblue.wtf/db.vcf" rel="nofollow ugc">contact me</a> and I <em>will</em> straight up take it down. I dare you. Since I consider myself a genuine authority on Text Fucking, however, I am going to do my best to main unapologetic language when expressing opinions in orbit of the matter. You can trust me, I think.</p>

<p>It’s already as good a place as any, editorially, to initiate the goddamned “<em>good vs. evil</em>” discussion because we could very easily find ourselves sincerely addressing the class implications of Text Fucking, otherwise. I want to offer myself, fully, as your test target and/or guinea pig, if you will. If you’re looking for a phone number upon which to set the sights of any of the methodologies shared here (or otherwise, for that matter,) here is mine: <strong>+1 (573) 823-4380</strong>. If you’re on a mobile device, definitely try out <a href="https://davidblue.wtf/db.vcf" rel="nofollow ugc">this link to my full contact card</a>, and consider this brief list of some other potential targets of mine:</p>
<ul><li><a href="https://t.me/extratone" rel="nofollow ugc">Telegram</a></li>
<li><a href="mailto:davidblue@extratone.com" rel="nofollow ugc">Email</a></li>
<li><a href="https://twitter.com/NeoYokel" rel="nofollow ugc">Twitter</a></li>
<li><a href="https://mastodon.social/@DavidBlue" rel="nofollow ugc">Mastodon</a></li>
<li><a href="https://discord.gg/0b9KQUKP858b0iZF" rel="nofollow ugc">Discord</a></li>
<li><a href="https://raindrop.io/davidblue/social-directory-21059174" rel="nofollow ugc"><em>Everywhere</em></a>...</li></ul>

<p>I won’t share any of your identifying information anywhere, nor will I respond unless you ask, but I <em>guarantee</em> I <em>will</em> be utterly delighted to receive any volume of Fuckery in any inbox you’re capable of sending it to because I have been so at the half-dozen or so message strings I’ve received over the past few weeks. Even if you somehow manage to find a means of <em>un</em>delighting me, that would be a far better scenario for all involved parties than my catching word you used one of my shortcuts to send <em>Mein Kampf</em> to a prayer request line or some shit. I promise it will always be more fun to shoot for <em>constructive disruption</em> over edgy bullshit, especially in this New Age when nothing is certain and nobody is talking. As much as the person who wrote the Yelp! review, below, would’ve loved to advocate for contribution to the noise for the simple sake of it, he’s fucking dead.</p>

<p><img src="https://i.snap.as/K2E9UV7S.png" alt="Discerning Yelp Connoisseur"/></p>

<p>Hopefully, we’re now free to get specific. Here’s my definition from <a href="https://github.com/extratone/bilge/wiki/Text-Fucking" rel="nofollow ugc">the “Text Fucking” entry</a> in <a href="https://github.com/extratone/bilge/wiki" rel="nofollow ugc"><em>The Psalms</em> wiki</a>:</p>

<p><strong>text fucking</strong>
1. <strong>Text Fucking</strong> <em>verb</em>
a.) hardcore text manipulation.
b.) destruction of usable digital text.</p>
<ol><li><p><strong>Text Fuckery</strong> <em>noun</em>
the discipline of text fucking.</p></li>

<li><p><strong>Text Fuckery</strong> <em>noun</em>
the output... the <em>result</em> of the verb.</p></li></ol>

<p>disruption</p>

<p>I might also append an esp. in either neutral or constructive applications. Again, a Zalgoed Tweet every once in a while is funny, but mass spamming strangers in peer-to-peer spaces is not. Not funny in any sense. To draw a medium parallel with audio – as I will several times in this guide, you’ll find – genuinely disruptive text manipulation is like choosing to push your pirate radio out on the volunteer-run community station’s frequency instead of the corporate-owned hits channel’s. Any sense you might be doing something worthwhile dramatically vanishes and the possibility of accomplishing something a bit <em>original</em>, even, is nullified in the womb.</p>

<p><img src="https://i.snap.as/Cu9MC89q.png" alt="gm2"/></p>

<p>I won’t say Text Fucking is an art. Indeed, perhaps it is anti-art. It <em>is</em> a discipline, nearly. At least enough so that I believe this Post is worth it[^1]. Like most disciplines, it can be used for your particular definitions of “good” and/or “bad.” I would like to think most of my use over the years has been toward my own of “good,” but – as per the unsearchable nature of Fucked Text, generally – this is not easily verifiable or citable. Regardless of my performance, however, I genuinely believe Text Fucking can be an endeavor that leads to more “positive” outcomes, whoever you may be. As I did, you might find yourself with a greater appreciation of and a desire to learn more about those individuals and organizations working in the Accessible Technology industry, ever toward a more inclusive digital future. It’s my hope that the weaponization of such an otherwise banal part of life might empower you with the simple fact of your capabilities, even if you don’t ever choose to actually implement them in a single instance.</p>

<p><audio controls="">
  <source src="https://github.com/extratone/bilge/raw/main/audio/Voice%20Notes/textfucker.mp3">
</audio></p>

<h2 id="history">History</h2>

<p>As detailed in the audio account embedded above, I believe my Text Fucking career began somewhere around the 7th grade, at 13-14 years old. It was my second or third time flunking MS02 – the Microsoft Office II course – taken on fairly outdated school desktop machines in the 2007-2008 era, all running Windows XP. Because of some inexplicable ability to simply do what I was told, I would spend class periods trying to create the largest possible text file in Notepad by copying and pasting huge, exponentially growing globs. Eventually, I did crash a machine at least once. Though it could very well be simply the self-exaggerated recollection of preteendom, I even remember crashing the school server with one of those files. They were ginormous for plaintext.</p>

<p><a href="https://twitter.com/NeoYokel/status/1495487495622045699" rel="nofollow ugc">https://twitter.com/NeoYokel/status/1495487495622045699</a></p>

<p>My Text Fucking reached its peak proliferation in <a href="https://drywallmusic.tumblr.com" rel="nofollow ugc">the Drywall Era</a>, when I first discovered the magic of Zalgo Text. The original generator at eemo.net has been replaced by an exact duplicate at <a href="http://eeemo.net" rel="nofollow ugc">eeemo.net</a>. I have actually managed to successfully duplicate it <a href="https://davidblue.wtf/zalgo/" rel="nofollow ugc">on my own NeoCities website</a>, as well. You might say that this original Zalgo Generator is The Original Text Fucking Tool. It can still generate quantities of fucked digital text information that <em>will</em> Fuck Shit Up on any social network, and as far as I can tell, the entire program is contained within <a href="https://davidblue.wtf/zalgo/index.html" rel="nofollow ugc">a single HTML file</a>.</p>

<iframe style="border: 0; width: 100%; height: 120px;" src="https://bandcamp.com/EmbeddedPlayer/album=3533156466/size=large/bgcol=fff4e6/linkcol=00006b/tracklist=false/artwork=small/track=549558740/transparent=true/">&lt;a href=&#34;https://ihadtopee.bandcamp.com/album/suburban-anarchy&#34;&gt;Suburban Anarchy by Drywall&lt;/a&gt;</iframe>

<p>As Drywall’s first and second albums – <a href="https://ihadtopee.bandcamp.com/album/hamura" rel="nofollow ugc"><em>Hamura</em></a> and <a href="https://ihadtopee.bandcamp.com/album/suburban-anarchy" rel="nofollow ugc"><em>Suburban Anarchy</em></a>, respectively – were studies in <a href="https://en.m.wikipedia.org/wiki/Clipping_(audio)" rel="nofollow ugc">audio clipping</a>, I felt strongly at the time that Zalgo Text was the digital text equivalent, though there were others. The latter’s most wildly-entitled track, “Í£Í†Ì„Ì“Ì‡Ì¿Í›ÍÍŽÍÍ¬Ìƒ&amp;ÍÌµÍ‡Ì Ì¥ÌªÌ„ÌÍŒÍ¯Ì“​$​Ì¯Ì»Ì£ÍšÍ’Ì‰ÌÍ‘,” does not actually include any Zalgo text in its title’s final form, <a href="https://ihadtopee.bandcamp.com/track/-" rel="nofollow ugc">on Bandcamp</a>[^6], yet I think we can agree it is thoroughly Fucked. <em>Beyond The Rails</em> was my cringey “label” name, directly describing, technically, the matter of clipping audio. Indeed, Zalgo Text goes beyond the “rails” of text input/display fields reliably, depending on the intensity of the configuration you’re using to create it.</p>

<p><a href="https://twitter.com/NeoYokel/status/1493041887279734784" rel="nofollow ugc">https://twitter.com/NeoYokel/status/1493041887279734784</a></p>

<p>When <a href="https://apps.apple.com/us/app/imovie/id377298193" rel="nofollow ugc">iMovie for iPhone</a> first became available, making actual video editing and creation possible on iPhone OS in the iPhone 4 era, I took advantage of a very particular – but extremely powerful – function that was originally allowed creators on YouTube’s iOS app. It’s very hard to describe without being able to show, but it allowed for the rapid addition of tags to any video via an autocomplete-ish feature, up to the full tag limit. The series of Drywall videos that were essentially just vlogs shot from our high school lunch table – entitled <em>Men and Women of The Armed Forces, This is What You are Fighting For</em>[^7] (MAWOTAFTIWYAFF) – were all thoroughly tagged this way.</p>

<p><a href="https://www.youtube.com/watch?v=-5eMO8PJJp4" rel="nofollow ugc">https://www.youtube.com/watch?v=-5eMO8PJJp4</a></p>

<p>The most notable event in my personal text history, though, happened on Mastodon – as much does these days, if you weren’t aware. I was <a href="https://mastodon.social/@DavidBlue/102564857843257870" rel="nofollow ugc">posting about Zalgo text’s creation</a> when <strong>its actual creator</strong>, Dave Higgins – with whom I’d unknowingly been mutuals for some time, apparently – <a href="https://octodon.social/@DaveHiggins/102565065494333224" rel="nofollow ugc">replied</a>:</p>

<iframe src="https://octodon.social/@DaveHiggins/102565065494333224/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe>

<p>If there is a living God/Ultimate Sage/Premiere Authority/Professor of Text Fucking, surely it is they, so to have a conversation with them was quite an honor, especially to be able to <a href="https://mastodon.social/@DavidBlue/102565952197076202" rel="nofollow ugc">call them father</a>, of sorts. I continue to pursue this discipline in a largely automated way, as we’ll discuss in depth. It’s not an especially practical or beneficial one, no, but it is mine. (And Dave Higgins’, to be fair.)</p>

<h2 id="apps">Apps</h2>

<p>The core necessity of any good Text Fucker is a robust text editing and/or word processing application. Zalgo text is a real bitch for Electron apps like my dearest <a href="https://typora.io" rel="nofollow ugc">Typora</a>, unfortunately. On iOS, this summation also applies to <a href="https://obsidian.md" rel="nofollow ugc">Obsidian</a>, I’m afraid. I recommend native apps like <a href="https://apps.apple.com/us/app/drafts/id1435957248" rel="nofollow ugc">Drafts</a> (big surprise) – which astonishingly has <a href="https://actions.getdrafts.com/a/1vM" rel="nofollow ugc"><strong>its very own native Zalgo action</strong></a> as developer Greg’s <a href="https://twitter.com/draftsapp/status/1492645727729766400" rel="nofollow ugc">gift to me</a>! – and <a href="https://apps.apple.com/us/app/bear-markdown-notes/id1016366447" rel="nofollow ugc">Bear</a> (no less of a surprise.) In terms of default configuration intensity, the Drafts action hits the sweet spot out of the box.</p>

<p><a href="https://twitter.com/draftsapp/status/1492645727729766400" rel="nofollow ugc">https://twitter.com/draftsapp/status/1492645727729766400</a></p>

<p>If you don’t believe me, here are some more particularly robust text editors on iOS:</p>
<ul><li><a href="https://apps.apple.com/us/app/kodex/id1038574481" rel="nofollow ugc">Kodex</a></li>
<li><a href="https://apps.apple.com/us/app/koder-code-editor/id1447489375" rel="nofollow ugc">Koder</a></li>
<li><a href="https://apps.apple.com/us/app/taio-markdown-text-actions/id1527036273" rel="nofollow ugc">Taio</a></li>
<li><a href="https://apps.apple.com/us/app/typewriter-for-markdown/id1556419263" rel="nofollow ugc">Typewriter</a></li>
<li><a href="https://testflight.apple.com/join/Q6S1cuCd" rel="nofollow ugc">Runestone</a> (Beta)</li></ul>

<p>If that’s not enough for you, I suggest perusing <a href="https://brettterpstra.com/ios-text-editors" rel="nofollow ugc">Brett Terpstra’s iTextEditors Wiki</a>.</p>

<p>I have previously reviewed two wonderful Text Fucking iOS apps on this blog: <a href="https://bilge.world/unichar-for-ios-app-review" rel="nofollow ugc"><strong>UniChar</strong></a> and <a href="https://bilge.world/zalgo-generator-ios-app-review" rel="nofollow ugc"><strong>Zalgo Generator</strong></a>. There’s now <a href="https://apps.apple.com/us/app/zalgo-generator/id1304137527" rel="nofollow ugc">a macOS version of the latter</a> which is particularly powerful – or at least has particularly powerful implications. There are a few more to be discovered, though:</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153724474-6a64b3d3-cb87-428e-81d6-a900746f9886.png" alt="TextcraftIcon"/></p>

<h3 id="textcraft">Textcraft</h3>

<p><a href="https://apps.apple.com/us/app/textcraft/id1546719359" rel="nofollow ugc"><strong>Textcraft</strong></a>, by <a href="https://apps.apple.com/us/app/aviary-for-twitter/id1522043420" rel="nofollow ugc">Aviary</a> and <a href="https://apps.apple.com/us/app/mast-for-mastodon/id1437429129" rel="nofollow ugc">Mast</a> creator, <a href="https://apps.apple.com/us/developer/shihab-mehboob/id1533949185" rel="nofollow ugc">Shihab Meboob</a>, has become my goto Text Fucking app – even above <a href="https://apps.apple.com/us/app/zalgo-generator/id1304137527" rel="nofollow ugc">Zalgo Generator</a>, I’m somewhat sad to say – on both iOS and macOS.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153737944-46db7da5-6d85-41da-abd1-78a54bb58b99.png" alt="Textcraft for macOS"/></p>

<p>Textcraft offers a customizable list of 90 live “transformations” to the text you’re entering. Here’s a directly-quoted list of use cases from the app’s press kit:</p>
<ul><li>For a casual tweeter who wants to TyPe LiKe ThIs with minimal effort.</li>
<li>For an influencer needing to add hashtags before all of their words in a massive word cloud sentence before uploading to Instagram.</li>
<li>For the coder/designer needing to strip HTML or encode/decode strings in Base64.</li>
<li>For the blogger wanting fancy text in bubbles, squares, cursive, or stylised differently on their website.</li>
<li>For the website designer who wants to add underscores between all words for use in code, or change the format between cases.</li>
<li>For the journalist who wants to redact or underline some text.</li>
<li>For the cryptographer who wants to convert strings to SHA128 and SHA256.</li></ul>

<p>In my personal use, I’ve noticed it’s by far the quickest way to add m   u   l   t   i   p   l   e       c   h   a   r   a   c   t   e   r       s   p   a   c   e   s I’ve ever come across, all enabled by the app’s one-touch-to-copy function. As I said in <a href="https://tilde.town/~extratone/appreviews/textcraft" rel="nofollow ugc">my App Store review</a>, the iOS app weighs in at a featherweight 3.7 MB and a reasonable $4.99 one-time purchase fee, which is high value for someone like me.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153726269-6d8cee5d-116b-4b28-99a0-91842e502456.png" alt="TextExpanderIcon"/></p>

<h3 id="textexpander">TextExpander</h3>

<p>Another cross-platform application – this one <a href="https://textexpander.com/download" rel="nofollow ugc">extending to Windows</a>, too – TextExpander has very recently (and quite swiftly) become an integral part of my day-to-day creative life. It’s used by professionals at companies with “thousands of people,” supposedly, to “expand” any sort of text, set off scripts (on macOS,) and paste fill in-able templates. These functions are divided into “<a href="https://textexpander.com/learn/getting-started" rel="nofollow ugc">snippets</a>” as part of “<a href="https://textexpander.com/learn/getting-started/getting-started-for-admin" rel="nofollow ugc">snippet groups</a>.” In fact, I’ve created <a href="https://app.textexpander.com/public/12c50fb2360617d3cc66d757cf26383b" rel="nofollow ugc"><strong>a dedicated snippet group to accompany this guide</strong></a>. You can view all my TextExpander snippets in <a href="https://github.com/extratone/TextExpander" rel="nofollow ugc">this GitHub Repository</a>.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153726468-25b5a5a9-0381-4720-b1e7-c7fb2ef357d9.png" alt="TextFuckSnippetGroup"/></p>

<p>It’s not much just yet, but if you “<a href="https://app.textexpander.com/public/12c50fb2360617d3cc66d757cf26383b" rel="nofollow ugc">subscribe</a>” to my dedicated Text Fuck snippet group from your own account, you’ll be treated to whatever I come up with in the future, delivered to your devices in real time.[ ^5] The great pro of TextExpander is its target pro usergroup, for which it is built to be reliable and very powerful. It enables quick macros for strings as short as ⁌•-¬䷂☃︎𝄫𝄢⟫L𝔒’⌤⌄∔×−฿🄕𝄢 up to <a href="https://bilge.world/blimps-burden-chapter-6" rel="nofollow ugc">entire book chapters</a>. It also has more complex functions, likely the most relevant to our use of which being clipboard insertion anywhere within a snippet. Crucial to the strong Text Fucker, this function has high potential for multiplied volume. One might set up a snippet that duplicates the clipboard’s content nine times on new lines and attach the macro <code>\9</code>.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154876382-95749054-1a47-4dec-9e4d-0c2e1229f79e.png" alt="COMIN DINE"/></p>

<h2 id="automation">Automation</h2>

<p>Debatably, my personal history with automation began with the release of IFTT (now <a href="https://apps.apple.com/us/app/ifttt-automation-workflow/id660944635" rel="nofollow ugc">IFTTT</a>) somewhere around 2010-2011. Once it was integrated with Twitter and Evernote, I set it to save all of my Twitter favorites in separate, tagged Evernotes. The result was quite tremendous, as you might imagine, and is partially immortalized in my current <a href="https://raindrop.io/davidblue/twitter-13759854" rel="nofollow ugc">Twitter Raindrop collection</a>. Tremendous, but not in a Text Fucking sense. Sometime just after high school, though, I configured an IFTT recipe that posted “WHEN IM COMIN DINE IN MY FOREIGN AND IM ROLLIN ONE DEEP THAT SHOULD TELL YA BOUT ME” across my social networks, every morning at 6:10 AM.</p>

<p><a href="https://twitter.com/NeoYokel/status/1492783081593483266" rel="nofollow ugc">https://twitter.com/NeoYokel/status/1492783081593483266</a></p>

<p>It was in the same era that one of my handful of lifetime genius ideas came to me: it occurred to me that I could automate <a href="https://drywallmusic.tumblr.com" rel="nofollow ugc">the Drywall Tumblr page</a> entirely by signing up its “post via email” address for all the spam lists I could find. The result is axiomatic. It is also Text Fucking, emphatically. Though I certainly didn’t know it by the name “automation,” then – nor did I associate the term with anything digital, really – contemporary personal automation enables virtually infinite Text Fucking possibilities. No longer does one have to manually copy the entirety of a huge Wikipedia page in order to break their friend’s phone for 5 days – now, they need only configure a native app on their cellular telephone to send <a href="https://routinehub.co/shortcut/10919" rel="nofollow ugc">the whole of the <em>Spy Kids 3</em> screenplay</a>, for instance, to said friend, in the background, even, as they continue scrolling through the Ticking App.</p>

<p>Of course, while the means of <em>distributing</em> Text Fuckery have gotten vastly more robust, capable, and sophisticated, so too have the terminals by which intended targets <em>experience</em> the Fuckery. The friend’s handset and elemental carrier plan in our example may very well be perfectly capable of receiving an entire film script, line-by-line, also in the background, perhaps even without the target ever noticing or suffering a single consequence.</p>

<h3 id="siri-shortcuts">Siri Shortcuts</h3>

<p><img src="https://user-images.githubusercontent.com/43663476/153750918-ca0c5eb6-0d91-4d7f-b70b-550f0f44c528.png" alt="TextFuckShortcuts"/></p>

<p>A standalone method of general Text Fuckery on iOS is achieved through its relatively “new”[^2] personal automation system, Siri Shortcuts. In fact, Apple includes what I would define as a genuine Text Fucker™ of a shortcut in its default shortcuts gallery, called “<a href="https://www.icloud.com/shortcuts/51392bf23f104b93baf72000955ed334" rel="nofollow ugc">All the Single Ladies ASCII</a>” which can be used to create rather adorable text snippets like this:</p>

<pre><code class="language-txt">(•_•)
&lt;)   )╯DAVID BLUE
 /    \ 

  (•_•)
 \(   (&gt; WROTE
  /    \

 (•_•)
&lt;)   )╯THIS.
 /    \
</code></pre>

<p>Through a Reddit thread I’ve never been able to find again, I discovered a method of randomizing strings of text that led to the creation of the Shortcuts you see at the bottom of this section, all with native actions (aside from the outputs of those with specific services.) If you’re willing to splurge on the whole 3.3mb, free (for macOS, iPadOS, and iOS) <a href="https://apps.apple.com/us/app/actions/id1586435171" rel="nofollow ugc"><strong>Actions app</strong></a>, you can accomplish the same task, but much more quickly and with less resource consumption. I think you can spare the space.[ ^3]</p>

<p>Perhaps the best place to start would be with the most documented (and perhaps most unique) Text Fucking Siri Shortcut I have to offer you. “<a href="https://bilge.world/twitter-jail" rel="nofollow ugc">The Fastest Route to Twitter Jail</a>” in fact details the workings of <a href="https://routinehub.co/shortcut/11086/" rel="nofollow ugc"><strong>my Twitter Jail shortcut</strong></a>, which uses <a href="http://bilge.world/tweetbot-6-ios-review" rel="nofollow ugc">Tweetbot</a>’s shortcuts actions to send 310 Tweets of random text in less than four minutes to an account of your specification.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153768899-51ed409f-7fef-46d0-978f-8a5fc19ad5f7.png" alt="Random Text ⇨ Clipboard"/></p>

<p>If you’re new to Shorcuts entirely, what you see above will result in a string of random text copied to your clipboard, so that you can paste it whereever you might “need” to. Notably, I’ve been extremely lazy with the strings, despite having <a href="https://apps.apple.com/us/app/unichar-unicode-keyboard/id880811847" rel="nofollow ugc">the absolute best app for creating them</a> on my iPhone. I’d suggest you download it and play around yourself. As I said in <a href="http://bilge.world/unichar-for-ios-app-review" rel="nofollow ugc">my review</a>, UniChar is a beautiful celebration of the diversity of Unicode. If what I’m talking about isn’t straightforward-sounding to you, <a href="https://davidblue.wtf/db.vcf" rel="nofollow ugc">let me know</a>! I absolutely <em>will</em> sit down and build something just for you.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153781368-a58bbb73-5675-48d6-9317-3538701a27d1.png" alt="RandomTextAction"/></p>

<h4 id="text-fucking-siri-shortcuts-with-actions">Text-Fucking Siri Shortcuts with Actions</h4>

<p>These three shortcuts require <a href="https://apps.apple.com/us/app/actions/id1586435171" rel="nofollow ugc">the Actions app</a>, but the single action used across all of them – called <code>Random Text</code> – is one that works across all platforms.</p>
<ul><li><a href="https://www.icloud.com/shortcuts/ed9216202df4481d9ae001b0531384c2" rel="nofollow ugc">Random Characters ⇨ Clipboard</a></li>
<li><a href="https://www.icloud.com/shortcuts/af64b43604334d21ad5a6668471b828f" rel="nofollow ugc">Random Characters ⇨ Mastodon</a></li>
<li><a href="https://www.icloud.com/shortcuts/399a857145e34d8b94b994fa3f9ca300" rel="nofollow ugc">Random Characters ⇨ Tumblr</a></li></ul>

<h4 id="text-fucking-siri-shortcuts-with-toolbox-pro-actions-and-aviary">Text-Fucking Siri Shortcuts with Toolbox Pro, Actions, and Aviary</h4>

<p>Here are three shortcuts that may or may not be useful to you, each using Shihab Meboob’s <a href="https://apps.apple.com/us/app/aviary-for-twitter/id1522043420" rel="nofollow ugc">Aviary</a> to Tweet images en masse. The third also requires you have <a href="https://apps.apple.com/us/app/lookup-english-dictionary/id872564448" rel="nofollow ugc">LookUp</a> and a populated collection.</p>
<ul><li><a href="https://www.icloud.com/shortcuts/a328611ebcab4f8ba271c0f89e3a7025" rel="nofollow ugc">Tweet Symbol Images</a></li>
<li><a href="https://www.icloud.com/shortcuts/192008f53ad74860b1de1d7adccedb69" rel="nofollow ugc">Tweet Color Images</a></li>
<li><a href="https://www.icloud.com/shortcuts/7417bf83a7a349099e1a50b1b091285b" rel="nofollow ugc">Tweet Vocabulary Images</a></li></ul>

<h4 id="native-text-fucking-siri-shortcuts">Native Text-Fucking Siri Shortcuts</h4>
<ul><li><a href="https://www.icloud.com/shortcuts/0873152dee3e4d32828cd28bcbc1be06" rel="nofollow ugc">Random Text ⇨ Twitter</a> (<a href="https://apps.apple.com/us/app/tweetbot-6-for-twitter/id1527500834" rel="nofollow ugc">Tweetbot</a>)</li>
<li><a href="https://www.icloud.com/shortcuts/21ab008699ce44dabc9f9a249fc6f881" rel="nofollow ugc">Random Text ⇨ Twitter II</a></li>
<li><a href="https://www.icloud.com/shortcuts/3bfc10474a254aec8a0f8f89da96d198" rel="nofollow ugc">Random Text ⇨ Clipboard</a></li>
<li><a href="https://www.icloud.com/shortcuts/f550febfa39b465b88217e1717f37548" rel="nofollow ugc">Random Text ⇨ Drafts</a></li>
<li><a href="https://www.icloud.com/shortcuts/0e517d1438b44d3d980c8afb9891a724" rel="nofollow ugc">Random Text ⇨ Mastodon</a></li>
<li><a href="https://www.icloud.com/shortcuts/3c38ca0a7ec9413f9c9a6f6328fb1b09" rel="nofollow ugc">Random Text ⇨ Tumblr</a></li>
<li><a href="https://www.icloud.com/shortcuts/07668aacd5ce4e59b76dd54ffc255209" rel="nofollow ugc">Random Text ⇨ WordPress</a></li></ul>

<p><img src="https://user-images.githubusercontent.com/43663476/154006137-74a7006f-862a-40b1-96e4-258b5b49ed2d.png" alt="Text Case Icon"/></p>

<h3 id="text-case">Text Case</h3>

<p>Christopher R Hannah’s <a href="https://apps.apple.com/us/app/text-case/id1492174677" rel="nofollow ugc">Text Case</a> is by far the most modern of all the dedicated text manipulation applications I have to share with you. Available (separately) on both <a href="https://apps.apple.com/us/app/terminology-dictionary/id687798859" rel="nofollow ugc">macOS</a> and <a href="https://apps.apple.com/us/app/text-case/id1407730596" rel="nofollow ugc">iOS</a>, it’s a “flow”-based, Siri Shortcuts-resembling text formatting app with some very powerful functions.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154810776-5ecc4fb5-2fd3-48e3-be1b-d86287cd1965.png" alt="TextCase"/></p>

<p>I know that’s basically word-for-word what anyone else’s had to say about it since its debut, four years ago... I apologize for the redundancy, but the way it works is extremely hard to describe in a way that makes any sense, especially just with a few video clips and/or static images.[ ^4]</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154823905-90618f3b-45f4-42d0-940f-c8b04d395410.png" alt="MLADraft Shortcut"/></p>

<p>Without being able to share my own “flows” (unfortunately,) all I can share with you is <a href="https://www.icloud.com/shortcuts/6fd60faf566142b3b7d1fb0a0631fa1b" rel="nofollow ugc">this Siri Shortcut</a> which is called from <a href="https://actions.getdrafts.com/a/1wQ" rel="nofollow ugc">this Drafts action</a> to reformat selected text (or the entire contents of the current draft) into proper MLA Title format before amending the results to a specific draft. I also created and published a shortcut called “<a href="https://routinehub.co/shortcut/11094" rel="nofollow ugc">Speak Word Count</a>” which uses Text Case’s Word Count “format” and <a href="https://bilge.world/siri-tts" rel="nofollow ugc">Siri Speech Synthesis</a> to speak aloud the word count of either the current selection (from the share sheet) or the contents currently in the system clipboard.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154841943-3ba7b019-c146-4765-90b1-2f52e34f3911.png" alt="Fuck Shortcut"/></p>

<p>I’ve also created <a href="https://www.icloud.com/shortcuts/edcc737ed7304a17bb3b4d8897aae29c" rel="nofollow ugc"><strong>Fuck</strong></a> – a Siri Shortcut with three of my favorite Text Case formattings so far in succession: “Mocking Spongebob” (ick,) “Upside Down,” and “Clap Case.” It acts upon – and replaces – any text you’ve copied to the clipboard. Here’s an example:</p>

<pre><code>ᴉ┴ 👏 ∀ɔʇs 👏 nԀou 👏  👏  👏 ∀up 👏 ɹƎd˥ɐɔǝs 👏  👏  👏 ∀u⅄ 👏 ┴Ǝx┴ 👏 ⅄On’Λǝ 👏 ɔoԀIǝp 👏 ┴o 👏 ʇɥǝ 👏 ɔlᴉdqo∀ɹp
</code></pre>

<p><img src="https://user-images.githubusercontent.com/43663476/157349288-2fff224d-05dd-4bcf-a4e3-feec486ac6fa.png" alt="Dwafts"/></p>

<h3 id="drafts">Drafts</h3>

<p>Though I already mentioned Drafts’ Zalgo action earlier, the app worth its own heading, here, because it’s what enabled me to generate the text images embedded in this Post with a single keyboard shortcut. The magic is not in fact happening within Drafts, but rather in the Siri Shortcuts it calls and provides text for. These two are customized for me (so you’ll need to delete the actions you don’t want/need,) but will faithfully reproduce the style of the images you’ve seen as configured for <a href="https://apps.apple.com/us/app/toolbox-pro-for-shortcuts/id1476205977" rel="nofollow ugc">Toolbox Pro</a> users.</p>
<ul><li><a href="https://www.icloud.com/shortcuts/09d229c3b5064480a30ac784b7edd3ef" rel="nofollow ugc">DraftsImage</a></li>
<li><a href="https://www.icloud.com/shortcuts/fa3b63050cde48e4933bac6d9b1545df" rel="nofollow ugc">DraftsImageSmall</a></li></ul>

<p>If you plan to leave the titles the same, you might just directly install their corresponding actions: <a href="https://directory.getdrafts.com/a/1x2" rel="nofollow ugc">DraftsImage</a> and <a href="https://directory.getdrafts.com/a/1x3" rel="nofollow ugc">DraftsImageSmall</a>. There are a few actions from other creators I have yet to mention. Tim Nahumck’s <a href="https://actions.getdrafts.com/a/1Bg" rel="nofollow ugc">Text Modifier</a> action – as pictured in the screenshot embedded below – is a handy one, as is Greg’s own <a href="https://actions.getdrafts.com/a/1T2" rel="nofollow ugc">Unicode Fun</a>. He also published <a href="https://actions.getdrafts.com/a/1ly" rel="nofollow ugc">Emojify</a> and <a href="https://actions.getdrafts.com/a/1tf" rel="nofollow ugc">Fake Wordle</a>, which I find hilarious.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/158194647-1ecacacd-2783-44a7-b4af-2f07b6d6471d.png" alt="Text Modifier Drafts Action"/></p>

<p><img src="https://user-images.githubusercontent.com/43663476/158152225-bcad1dc9-f033-4e12-adee-6eb99935fd1d.png" alt="Single Page, All of Unicode"/></p>

<h2 id="other-tools">Other Tools</h2>

<p>Thanks to <a href="https://github.com/taroyabuki" rel="nofollow ugc">Taro Yabuki</a>’s <a href="https://github.com/taroyabuki/onepage-unicode-chars" rel="nofollow ugc">project</a> to display all graphical unicode characters in a single page, I created and uploaded <a href="https://davidblue.wtf/tools/unicode.pdf" rel="nofollow ugc">a PDF of them all</a>, hosted on my NeoCities. If you have trouble viewing it there, you should be able to download it from <a href="https://www.icloud.com/iclouddrive/04dxiD0KYZoebradRmjDQOaBg#unicode" rel="nofollow ugc">this iCloud Drive share link</a>. There’s quite a myriad of available “weird text” tools available on the open web, found easily with the most basic bitch search engine queries. <a href="http://megacooltext.com" rel="nofollow ugc">MegaCoolTest.com</a> is an old favorite of mine[^8] that functions a lot like Textcraft, come to think of it.</p>

<p>I originally intended to thoroughly test some of the results found when searching the App Store for “weird text,” but they’re far too numerous and – for the most part – far too janky to be worthwhile.</p>

<p><a href="https://remark.as/p/bilge.world/text-fuck" rel="nofollow ugc">Discuss...</a></p>

<hr/>

<p><a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:spectacle" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">spectacle</span></a></p>

<p>[1] Whaddya think‽‽‽ <a href="https://twitter.com/NeoYokel/status/1492589668843634692" rel="nofollow ugc">Should I write a book</a>‽‽‽
[2] I say “new” here because of how many users genuinely have never encountered the concept, whatsoever, even going on five years since Workflow was made native.
[3] A few of the single images embedded in this Post are larger than that.
[4] Nevertheless, I shall do my best to remain ashamed of my redundant inadequacy.
[5] If you find yourself trying it out, you may as well check out my main Snippet Group, <a href="https://app.textexpander.com/public/14093096578d4f40eeea15649f5cefbb" rel="nofollow ugc">Extratext</a>, which is documented <a href="https://davidblue.wtf/extratext" rel="nofollow ugc">here</a>.
[6] You might be interested to hear how human Siri Voice 2 sounds <a href="https://twitter.com/NeoYokel/status/1500149497111920642" rel="nofollow ugc">attempting to read the title aloud</a>.
[7] It just now occurred to me that the series title wasn’t exactly gender-inclusive, but the series, itself, wasn’t actually of any value, anyway.
[8] I’ve also duplicated this one <a href="https://davidblue.wtf/cool/" rel="nofollow ugc">on my NeoCities</a>.</p>
]]></content:encoded>
      <guid>https://bilge.world/text-fuck</guid>
      <pubDate>Thu, 06 Apr 2023 20:38:19 +0000</pubDate>
    </item>
    <item>
      <title>On Drafts&#39; Mail Integration</title>
      <link>https://bilge.world/drafts-mail-integration?pk_campaign=rss-feed</link>
      <description>One of the app&#39;s most universal &#39;native&#39; advantages, revisited.</description>
      <content:encoded><![CDATA[<p><img src="https://user-images.githubusercontent.com/43663476/189065881-56ddbc72-f397-4fe3-be57-e409668427fe.png" alt="Send2Self Example in Mail"/></p>

<h2 id="one-of-the-app-s-most-universal-native-advantages-revisited">One of the app&#39;s most universal &#39;native&#39; advantages, revisited.</h2>



<p>I&#39;ve spent more cumulative time playing with my Obsidian configuration in the past 24 hour hours than the sum of the whole I&#39;d spent doing so in the 3(?) years since I installed beta (or was it alpha?) one. While I still find it <a href="https://youtu.be/Q8vkBuYJOz8" rel="nofollow ugc">janky as hell</a> and deeply untrustworthy – among far too many other woes – I must admit that the bulk of shear hype surrounding its existence has indeed resulted in enough developer attention to achieve some technically interesting capabilities. Naturally, most of these feel absurdly redundant in context and <em>all</em> rely on age-old dependencies, but... well, today I uploaded the text of my almost five-year-old Microsoft Surface Laptop 2 Review to <a href="https://archive.org/details/microsoft-surface-laptop-2" rel="nofollow ugc">its own dedicated Archive.org page</a> in <em>thirteen</em> different formats rendered using Obsidian&#39;s (desktop-only) <a href="https://obsidian.md/plugins?id=obsidian-pandoc" rel="nofollow ugc">Pandoc integration</a>!</p>

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

<p>One of Drafts&#39; most immediately apparent advantages as a <em>native</em> iOS/iPadOS/macOS application is readily found in <a href="https://docs.getdrafts.com/docs/actions/steps/system#mail" rel="nofollow ugc">its integration with Mail</a>. Though I&#39;ve personally managed to almost escape my twenties having yet to endure an email-heavy job, I still find the practice of sending topical/sacred information to myself to be the upmost reliable and direct means of retrieving it.</p>

<p>As I&#39;ve configured it, within Drafts on any of its 3 platforms, all I need do is press <code>^M</code> to have the text of the current Draft sent instantly to an iCloud Mail alias I use for such things.</p>

<video controls="">
  <source src="https://user-images.githubusercontent.com/43663476/189148302-688897be-b837-4f94-b5ea-c89972516c5a.MOV">
</video>

<p>If I were sending to more folks than just myself on a regular basis, I&#39;d definitely make use of Drafts&#39; <a href="https://tools.getdrafts.com/wizards/mail" rel="nofollow ugc">Mail Action Wizard</a> to help simplify and solidify the process of creating a dedicated action, which almost certainly <em>would not</em> have the <code>Send in Background</code> toggle selected, as demonstrated, for the sake of giving myself a preview of outbound messages to... important folks. For macOS users, there&#39;s also a bespoke Catalyst app called <a href="https://docs.getdrafts.com/misc/mail-assistant" rel="nofollow ugc">Mail Assistant</a>, which I&#39;ve yet to try.</p>

<h2 id="formatting">Formatting</h2>

<p>The parameters of <a href="https://docs.getdrafts.com/docs/actions/steps/system#mail" rel="nofollow ugc">the Mail action step</a> can be filled with any combination of items from <a href="https://docs.getdrafts.com/docs/actions/templates/drafts-templates" rel="nofollow ugc">the original Drafts template tags array</a> <em>or</em> from the relatively new set of <a href="https://docs.getdrafts.com/docs/actions/templates/mustache.html" rel="nofollow ugc">mustache template tags</a>.</p>

<p><a href="https://gist.github.com/extratone/8cc2cd8cc7b8e95a80f9e60b5fe71bd4" rel="nofollow ugc">https://gist.github.com/extratone/8cc2cd8cc7b8e95a80f9e60b5fe71bd4</a></p>

<p>The current version of <a href="https://directory.getdrafts.com/a/1wR" rel="nofollow ugc">my personal Send-to-Self action</a> sent <a href="https://app.sparkmailapp.com/web-share/GFZ2OLZskkVOrDVslliHP_H7lalF_81dS00IvpJv" rel="nofollow ugc">this example result</a> using the format represented in the Gist embedded above. If you&#39;d like, you can wrap the [body] tag (or any part of the message, actually) in double %s and select the <code>Send as HTML</code> toggle to have the result rendered as HTML. (See <a href="https://app.sparkmailapp.com/web-share/elWlx8eNRiw1nWICBT5p7eGcTs5XZsFO6-JuM1n1" rel="nofollow ugc">this example</a>.)</p>

<p><img src="https://user-images.githubusercontent.com/43663476/190239278-4f5e7f12-37c1-4ad9-9c2e-7d7e76000f88.png" alt="Setting a Drafts Mail-to-Self-specific rule on iCloud Mail on the Web"/></p>

<p>If – like me – you&#39;re an iCloud Mail user primarily from iOS/iPadOS, here&#39;s how to create an iCloud Mail rule for messages you&#39;ve sent yourself from Drafts:</p>
<ol><li>Visit <a href="https://www.icloud.com/mail/" rel="nofollow ugc">iCloud.com/mail</a> in your web browser and authenticate.</li>
<li>Open the Rules settings menu by tapping the gear icon in the upper left ⇨ Preferences ⇨ Rules.</li>
<li>Create a new rule with the “Add rule” link.</li>
<li>By default, the “If a message...” field selection should be “is from.” In the text entry field, enter <code>drafts-mail@drafts5.agiletortoise.com</code>.</li>
<li>By default, the “Then...” field selection is “Move to Folder.” I have personally set mine to “Move to Folder and Mark as Read,” but this depends on your preference. Select a folder or mailbox for Drafts messages to be moved to and click “Add.”</li></ol>

<h2 id="publishing-via-email">Publishing via Email</h2>

<p>I&#39;ve spent a lot of time this year working on integrating Drafts with <a href="https://bilge.world/using-drafts-with-neocities" rel="nofollow ugc">NeoCities</a>, <a href="https://bilge.world/automating-writeas-posts" rel="nofollow ugc">Write.as</a>, and other publishing services, but – for new users, especially – Drafts&#39; mail integration offers a pathway to publishing with virtually zero configuration for those services who still offer mail-to-save/post email addresses. These include <a href="https://wordpress.com/support/post-by-email/" rel="nofollow ugc">WordPress</a>, <a href="https://support.google.com/blogger/answer/154172?hl=en#:~:text=Click%20Save.-,to%20post%20by%20email%3A,-Important%3A%20Anyone%20who" rel="nofollow ugc">Blogger</a>, <a href="https://howto.write.as/publish-via-email" rel="nofollow ugc">Write.as</a>, <a href="https://www.livejournal.com/support/faq/187.html" rel="nofollow ugc">LiveJournal</a>, <a href="https://help.evernote.com/hc/en-us/articles/360050995914" rel="nofollow ugc">Evernote</a>, <a href="https://dayoneapp.com/guides/tips-and-tutorials/create-entries-with-email/" rel="nofollow ugc">Day One</a>, <a href="https://culturedcode.com/things/support/articles/2908262/" rel="nofollow ugc">Things</a>, <a href="https://www.keepproductive.com/blog/email-tasks-into-todoist" rel="nofollow ugc">Todoist</a>, and more.</p>

<p>Perhaps the easiest method of setting this up would involve finding your private email address for a given service(s), pasting them in the aforementioned <a href="https://tools.getdrafts.com/wizards/mail" rel="nofollow ugc">Mail Action Wizard</a>, titling the action by the name of the service, and installing. There&#39;s also an <a href="https://actions.getdrafts.com/a/1Mr" rel="nofollow ugc">Email to Myself action</a> on the Drafts Action Directory to get you started.</p>

<video controls="">
  <source src="https://user-images.githubusercontent.com/43663476/189246053-c53d970a-a6ea-48da-8878-116d0abf2a2b.MOV">
</video>

<h3 id="drag-and-drop-to-formatted-markdown-hyperlinks-from-apple-mail">Drag and Drop to <em>Formatted</em> Markdown Hyperlinks from Apple Mail</h3>

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

<p>For more details, see the official <a href="https://forums.getdrafts.com/t/sending-mail-with-drafts/3597" rel="nofollow ugc"><strong>&#39;Sending Mail with Drafts&#39; Integration Guide</strong></a>.</p>

<p><a href="https://remark.as/p/bilge.world/drafts-mail-integration" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a></p>
]]></content:encoded>
      <guid>https://bilge.world/drafts-mail-integration</guid>
      <pubDate>Wed, 14 Sep 2022 19:11:36 +0000</pubDate>
    </item>
    <item>
      <title>Siri Shortcuts and the DJ Screw Discography</title>
      <link>https://bilge.world/dj-screw-shortcuts?pk_campaign=rss-feed</link>
      <description>The most magical configurables I&#39;ve ever created for iOS by a long way.</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/1ygtiLRt.png" alt="DJ Screw Discography Shortcut Result"/></p>

<h2 id="the-most-magical-configurables-i-ve-ever-created-for-ios-by-a-long-way">The most magical configurables I&#39;ve ever created for iOS by a long way.</h2>



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

<p><img src="https://i.snap.as/WB5CXuSz.png" alt="DJ Screw on the iTunes Store and Apple Music"/></p>

<p><a href="https://music.apple.com/us/artist/dj-screw/80923709?itsct=music_box_badge&amp;itscg=30200&amp;app=music&amp;ls=1" style="display: inline-block; overflow: hidden; border-radius: 13px; width: 250px; height: 83px;" rel="nofollow ugc"><img src="https://tools.applemediaservices.com/api/badges/listen-on-apple-music/badge/en-us?size=250x83&amp;h=cdbcefe9e23b0310ab61b31e72e2dcdb" alt="Listen on Apple Music" style="border-radius: 13px; width: 250px; height: 83px;"></a></p>

<p>In the interim, a lot has changed about music consumption. You know this, but – as you might&#39;ve already imagined – none of the mainstream services you fuckers partake in have managed to do Robert Earl Davis III justice in the modern era. <a href="https://music.apple.com/us/artist/dj-screw/80923709" rel="nofollow ugc">Apple Music</a> and <a href="https://open.spotify.com/artist/6TC6ZeVdvCuBSn32h5Msul" rel="nofollow ugc">Spotify</a>, both, will send you in neatly identical spirals pretty much regardless which of their pet vectors you choose to populate with His Name. As much as I&#39;ve vouched for the former, it&#39;s perhaps the worst of them all in this context – departing the marque entirely into the (respectable but... incorrect) world of non-Davis <em>SLOWED &#39;n” THOWED</em>[^2] almost immediately.</p>

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

<iframe src="https://archive.org/details/dj-screw-discography&amp;playlist=1&amp;list_height=150" width="500" height="300" frameborder="0" allowfullscreen=""></iframe>

<h2 id="automation">Automation</h2>

<p><img src="https://i.snap.as/K6iHUgs0.png" alt="Download Random Screw Tape Shortcut"/></p>

<p>As of right now, just two Siri Shortcuts – <a href="https://routinehub.co/shortcut/12610" rel="nofollow ugc"><strong>Download Random Screw Tape</strong></a> and <a href="https://routinehub.co/shortcut/12618" rel="nofollow ugc"><strong>DJ Screw Discography</strong></a>[^3]. The first is perhaps the most delightful – if all goes well, running it right out of the box should result in a random tape from the library downloaded in a folder of your specification (at install,) as well <em>actual playback</em>, in correct order, within the shortcut, itself.</p>

<p><a href="https://youtu.be/9v_oc7GmvvM" rel="nofollow ugc">https://youtu.be/9v_oc7GmvvM</a></p>

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

<p><a href="https://remark.as/p/bilge.world/dj-screw-shortcuts" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:automation" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">automation</span></a> <a href="https://bilge.world/tag:music" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">music</span></a></p>

<p>[1] I attempted to find this torrent for the sake of this post and well... The Pirate Bay looks a lot different than I remembered.
[2] This is not criticism. If it was, it would be <a href="https://whyp.it/tracks/32290/hilary-duff-with-love-bkj4Y" rel="nofollow ugc">ridiculously hypocritical</a>.
[3] If RoutineHub is struggling/you find it untrustworthy, the direct iCloud Share links are <a href="https://www.icloud.com/shortcuts/70ce2580d4a848fdac6fbf2f8a8f346b" rel="nofollow ugc">here</a> and <a href="https://www.icloud.com/shortcuts/db6d17683e21435990fb87e51e92933c" rel="nofollow ugc">here</a>. <em>Please</em> <a href="https://davidblue.wtf/db.vcf" rel="nofollow ugc">contact me</a> if you encounter any issues.</p>
]]></content:encoded>
      <guid>https://bilge.world/dj-screw-shortcuts</guid>
      <pubDate>Sun, 07 Aug 2022 01:23:32 +0000</pubDate>
    </item>
    <item>
      <title>Quick Key Command Formatting with ksc and Siri Shortcuts</title>
      <link>https://bilge.world/ksc-shortcut?pk_campaign=rss-feed</link>
      <description></description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/H5hUOetX.png" alt="Key Command Formatting with ksc"/></p>



<p>During the course of <a href="https://uikeycommand.com" rel="nofollow ugc">my iPhone Keyboarding project</a>, I managed to discover “a command line tool to document and describe keyboard shortcuts in a standardized and properly formatted way” called <a href="https://github.com/kotfu/ksc" rel="nofollow ugc">ksc</a>. It&#39;s a Python utility that translates natural-language-formatted keyboard commands “command control q” into symbolized and standardized form: <code>⌃+⌘+Q</code>. Though it&#39;s not of particular use to me at this point, with my now well-established <a href="https://bilge.world/text-replacement" rel="nofollow ugc">Text Replacements</a> and <a href="https://app.textexpander.com/public/14093096578d4f40eeea15649f5cefbb" rel="nofollow ugc">TextExpander Snippets</a>, I realized – being a Python thing – that ksc might work with the iOS/iPadOS shell emulator, <a href="https://apps.apple.com/us/app/a-shell/id1473805438" rel="nofollow ugc">a-Shell</a>, and therefore, that a Siri Shortcut for converting plain language input to formatted key commands might be a cinch, and it was!</p>

<p><img src="https://i.snap.as/OrSPAgJa.png" alt="pip install ksc"/></p>

<h2 id="requirements">Requirements</h2>
<ol><li><a href="https://apps.apple.com/us/app/a-shell/id1473805438" rel="nofollow ugc">a-Shell for iOS/iPadOS</a> (Free)</li>
<li><a href="https://apps.apple.com/us/app/a-shell/id1473805438" rel="nofollow ugc">Actions for iOS/iPadOS</a> (Also free)</li>
<li><a href="https://github.com/kotfu/ksc" rel="nofollow ugc">ksc</a> installed in a-Shell (Which should be as easy as <code>pip install ksc</code>)</li></ol>

<p>Using an <a href="https://www.matthewcassinelli.com/actions/ask-for-input/" rel="nofollow ugc">Ask For Input</a> action, my shortcut will prompt you to enter a natural language keyboard command. For the fullest explanation of supported inputs, see <a href="https://github.com/kotfu/ksc/blob/main/README.md" rel="nofollow ugc">ksc&#39;s documentation</a>. Your inputted command will be “transformed” via Actions&#39; action into “dash-case” and placed within a command in the following format:</p>

<pre><code>ksc -ms -p command(Pre-Transformation Text) &gt; Transformed Text.txt
</code></pre>

<p>By default, the arguments <code>-ms</code> and <code>-p</code> are included, but these are entirely optional. From said docs:</p>

<blockquote><p>There are several command line options to modify the output. The <code>-ms</code> or
<code>--modifier-symbols</code> options output the modifers as unicode symbols:</p>

<p>    $ ksc -ms shift command u
    ⇧⌘U</p>

<p>Apple says you should include a plus sign between symbols, but I think that it looks
ugly, so that&#39;s not the default. If you want it, add the <code>-p</code> or <code>--plus-sign</code> when
using <code>-ms</code>:</p>

<p>    $ ksc -ms -p shift command u
    ⇧+⌘+U</p></blockquote>

<p>Creating a text file for each command within a-Shell may not be Best Practices, per se, but it&#39;s the simplest method I&#39;ve found of reliably retrieving text back from the app within Siri Shortcuts. That said, the above command creates a text file containing the formatted output. A <code>Get File</code> a-Shell action paired with a <a href="https://www.matthewcassinelli.com/actions/get-text-from-input/" rel="nofollow ugc">Get Text From Input</a> native action then retrieves the file contents, which is first cleaned up via another Actions action (trimming leading and trailing whitespace) before being copied to the system clipboard.</p>

<p><a href="https://routinehub.co/shortcut/12442" rel="nofollow ugc"><strong>Download my Key Command Formatting shortcut on RoutineHub</strong></a>.</p>

<p><a href="https://remark.as/p/bilge.world/ksc-shortcut" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:automation" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">automation</span></a></p>
]]></content:encoded>
      <guid>https://bilge.world/ksc-shortcut</guid>
      <pubDate>Sat, 02 Jul 2022 06:33:12 +0000</pubDate>
    </item>
    <item>
      <title>How I Maintain a Vocabulary List in Drafts with Terminology</title>
      <link>https://bilge.world/drafts-terminology-vocabulary?pk_campaign=rss-feed</link>
      <description></description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/EQ4GSUGH.png" alt="Terminology URL Scheme and Vocabulary Workspace"/></p>



<p>As I wrote in <a href="https://tilde.town/~extratone/appreviews/terminology" rel="nofollow ugc">my app store review of Terminology</a> (which is not shown publicly, I’ve since learned,) I prefer it over popular dictionary apps like <a href="https://apps.apple.com/us/app/lookup-english-dictionary/id872564448" rel="nofollow ugc">LookUp</a> (which I also have and use regularly) because it allows me to <em>add new terms</em> 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 <a href="https://twitter.com/NeoYokel/status/1477323450549219328" rel="nofollow ugc">its Siri Shortcuts actions failing on me</a>.</p>

<p><a href="https://twitter.com/NeoYokel/status/1477323450549219328" rel="nofollow ugc">https://twitter.com/NeoYokel/status/1477323450549219328</a></p>

<p><a href="https://apps.apple.com/us/app/terminology-dictionary/id687798859" rel="nofollow ugc">Terminology</a> <em>does</em> 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 <a href="https://user-images.githubusercontent.com/43663476/165031796-5df78c01-faee-4fd4-84d0-f0bf95fd383f.MOV" rel="nofollow ugc">the video below</a>.</p>

<p><a href="https://imgur.com/gallery/Q04Kxrg" rel="nofollow ugc">https://imgur.com/gallery/Q04Kxrg</a></p>

<p>First, I use the <a href="https://directory.getdrafts.com/a/1CS" rel="nofollow ugc">Lookup in Terminology action</a> paired with a keyboard shortcut (<code>^⇧D</code>) 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 <em>including its notes</em> back to Drafts with the following configuration:</p>

<pre><code>drafts://create?text=[[definitions]]%0A[[note]]
</code></pre>

<p>That button results in a new Draft in a specific format, demonstrated by this example:</p>

<p><img src="https://i.snap.as/K0adnLf5.png" alt="Antagonistic Vocabulary Draft Example"/></p>

<p>I then manually add the “Vocabulary” tag to the Draft, completing the process and placing it within the parameters defined by <a href="https://directory.getdrafts.com/w/1zN" rel="nofollow ugc">my Vocabulary workspace</a>, which shows only drafts with that tag, sorted alphabetically.</p>

<h2 id="publication">Publication</h2>

<p>For the past few weeks, I’ve been wreaking havoc on NeoCities’ global activity feed using <a href="https://bilge.world/using-drafts-with-neocities" rel="nofollow ugc">the action group I created</a> on <a href="https://davidblue.wtf/drafts" rel="nofollow ugc">the /drafts directory</a> of davidblue dot wtf. Specifically, the action that uploads HTML files to that directory named by the UUID of the draft. (Here’s <a href="https://davidblue.wtf/drafts/F20BB579-E235-4F04-8BCE-22AAF15A97C2.html" rel="nofollow ugc">the corresponding link for this post</a>, for example.) With consequent <a href="https://docs.getdrafts.com/docs/actions/templates#identifier-tags" rel="nofollow ugc">draft<em>open</em>urls</a> left in the footer of each as per my current, more or less universal <a href="https://tilde.town/~extratone/template/1.4.txt" rel="nofollow ugc">HTML template</a>, I’m able to immediately open the appropriate draft locally.</p>

<p><img src="https://i.snap.as/2npm338t.png" alt="Vocabulary Index Shortcut"/></p>

<p>In order to maintain <a href="https://davidblue.wtf/vocabulary" rel="nofollow ugc">an updated index</a> of the whole list, I’ve created <a href="https://www.icloud.com/shortcuts/113f8e45729c4466860c3c7c668e939d" rel="nofollow ugc">a Siri Shortcut</a> which transforms the UUIDs of the drafts in the vocabulary workspace into markdown-formatted hyperlinks of their web-dwelling counterparts.</p>

<p><img src="https://i.snap.as/D8GtXEd3.png" alt="Terminology Favorites List"/></p>

<p>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.</p>

<p><a href="https://remark.as/p/bilge.world/drafts-terminology-vocabulary" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:configuration" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">configuration</span></a> <a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:automation" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">automation</span></a></p>
]]></content:encoded>
      <guid>https://bilge.world/drafts-terminology-vocabulary</guid>
      <pubDate>Tue, 03 May 2022 06:31:51 +0000</pubDate>
    </item>
    <item>
      <title>TildeTown on iPhone with Blink Shell</title>
      <link>https://bilge.world/tildetown-iphone-blink-shell?pk_campaign=rss-feed</link>
      <description>The ideal means of On The Go participation in The Tildeverse.</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/4ik6Tmwv.png" alt="Blink Folder"/></p>

<h2 id="the-ideal-means-of-on-the-go-participation-in-the-tildeverse">The ideal means of <em>On The Go</em> participation in The Tildeverse.</h2>



<p><audio controls="">
  <source src="https://davidblue.wtf/audio/blink.m4a">
</audio></p>

<p>I was completely unaware of the Tildeverse’s origin story – documented in <a href="https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf" rel="nofollow ugc">a Medium post</a> by <em>WIRED</em> 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 <em>stuck</em> 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 <code>cd</code>, <code>ls</code>, and (on DOS) <code>dir</code>. It wasn’t until I came home in ‘19 that I discovered the two primary emulated Linux shells <em>on iOS</em>: <a href="https://apps.apple.com/us/app/ish-shell/id1436902243" rel="nofollow ugc"><strong>iSH Shell</strong></a> and <a href="https://apps.apple.com/us/app/a-shell/id1473805438" rel="nofollow ugc"><strong>a-Shell</strong></a>.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/157366845-a604bd4c-3ea8-46fe-85e6-930adb8ca180.png" alt="iSH Shell and a-Shell"/></p>

<p>The former is designed to emulate <a href="https://alpinelinux.org" rel="nofollow ugc">Alpine Linux</a> 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 <a href="https://routinehub.co/shortcut/7284/" rel="nofollow ugc">SW-DLT</a> – a sort of frontend for youtube-dl and now yt-dlp. Both are open source, but a-Shell is actually <a href="https://github.com/holzschu/a-shell" rel="nofollow ugc">a fork</a> of our subject app, now called “<a href="https://apps.apple.com/us/app/blink-shell-code/id1594898306" rel="nofollow ugc"><strong>Blink Shell &amp; Code</strong></a>” in the App Store.[^1]</p>

<p><img src="https://user-images.githubusercontent.com/43663476/155115271-faa55bfd-d151-4741-9a6c-e9664a457503.png" alt="bbj Out"/></p>

<p>Blink’s tag is “a professional, desktop grade terminal for iOS.” Its <a href="https://blink.sh" rel="nofollow ugc">landing page</a> touts a “first class iOS experience, with software and hardware keyboard, and the full edge-to-edge experience” experience. On <em>iPad</em>, Blink’s heyday was well documented by the likes of <a href="https://www.theverge.com/circuitbreaker/2018/3/27/17152482/ipad-pro-web-development-setup-how-to-terminal-apps" rel="nofollow ugc">Paul Miller’s 2018 article for <em>The Verge</em></a> and Fatih Arslan’s 2019 “<a href="https://arslan.io/2019/01/07/using-the-ipad-pro-as-my-development-machine/" rel="nofollow ugc">Using the iPad Pro as my development machine</a>.” 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/157371504-32ebbca7-81bf-43c0-a762-cdbc0ad50181.png" alt="Apreche Reply"/></p>

<p>Since I’ve <a href="https://twitter.com/NeoYokel/status/1421410673049972739" rel="nofollow ugc">apparently</a> ended up with a primary life mission of <em>doing stuff on my iPhone originally meant to be done on iPads</em>, I’ve managed to find myself <a href="https://tilde.town/~extratone" rel="nofollow ugc">an active member</a> of the Tilde.Town community – a place exclusively accessible via SSH, aside from <a href="https://raindrop.io/davidblue/tilde-22520136" rel="nofollow ugc">public pages</a> – exclusively through <a href="https://github.com/extratone/jorts" rel="nofollow ugc">my iPhone 12 Pro Max</a>. I’m not the first to use Blink to do this – note <a href="https://tilde.town/~apreche" rel="nofollow ugc">Apreche</a>’s reply to my thread, embedded above – but I suspect I’m the first to spend significant Town Time on my <em>fucking phone</em>, so I thought it might be worth laying out some of the particulars I’ve learned along the way.</p>

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

<p><img src="https://user-images.githubusercontent.com/43663476/157378620-9fb29373-d49e-4519-b734-8c75caf54dad.png" alt="Blink Settings"/></p>

<h2 id="locally">Locally</h2>

<p>First, Blink’s settings menu is accessed by typing <code>config</code> and/or <code>⌘,</code>. Unfortunately, there’s no method of installing the entire selection of available <a href="https://github.com/blinksh/fonts" rel="nofollow ugc">fonts</a> or <a href="https://github.com/blinksh/themes" rel="nofollow ugc">themes</a> – 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 <a href="https://github.com/blinksh/themes/blob/master/themes/CLRS.js" rel="nofollow ugc">CLRS</a>, <a href="https://github.com/blinksh/themes/blob/master/themes/Man%20Page.js" rel="nofollow ugc">Man Page</a>, and <a href="https://github.com/blinksh/themes/blob/master/themes/MonaLisa.js" rel="nofollow ugc">MonaLisa</a>, but this Post is saturated with <em>too</em> many mocked up screenshots of Blink themes to reasonably continue that list any further.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/155014762-7b8bfc6d-d6df-418a-b43e-6d7aa56582bb.png" alt="Local UNIX Commands in Blink-ManPage"/></p>

<p>Compared with its fork, a-Shell, Blink’s local UNIX command list is a bit sparse. It’s accessed exclusively with <code>TAB</code>. Where a-Shell has <code>pickFolder</code>, Blink has <code>link-files</code>, 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/156869875-93a67975-beb2-4a25-a855-b845514ed8b3.png" alt="Repository Cleaning"/></p>

<p>Linking <a href="https://github.com/extratone/bilge" rel="nofollow ugc"><em>The Psalms</em>’ GitHub Repository</a> in <a href="https://apps.apple.com/us/app/working-copy-git-client/id896694807" rel="nofollow ugc">Working Copy</a> with <code>link-files</code> 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. <code>open</code> also somehow lead to swifter previews than in Working Copy, despite that app’s brilliance.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/155200832-d2d5fdcb-9538-4f3e-be46-e3b203f28f17.png" alt="BaityYouTubeThumbnail"/></p>

<p>Some other particularly intriguing standouts include <code>say</code>, which unfortunately does <em>not</em> use your preferred Siri voice to speak aloud text, but rather the oldest there is. <code>facecam</code> will open a manipulatable circle of your device’s front-facing camera view, as shown in the screenshot embedded above. <code>openurl</code> will instantly open a formally-formatted web URL in Safari, which can come in handy. <code>pbcopy</code> and <code>pbpaste</code> really do manipulate the iOS system clipboard, which I probably find more impressive than I should. <code>code</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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/157388631-7668b9d9-22e7-4fef-8c36-1081e213c193.png" alt="Blink and Code"/></p>

<p>Blink’s own “<a href="https://docs.blink.sh/advanced/unix-roundup" rel="nofollow ugc">UNIX Command Line Tools Roundup</a>” 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 <code>skstore</code> does. <code>xcall</code> opens x-callback-URLs, though I’m <a href="https://reddit.com/r/BlinkShell/comments/ta27h9/docs_for_xcall_command" rel="nofollow ugc">still trying to figure out</a> what the command’s options are. <code>ed</code> the ancient command line text editor is available, though I’ve yet to learn to use it, and <code>uptime</code> appears to be actually accurate? Being able to run <code>whois</code> locally on iPhone has its uses, especially given the aforementioned support of <code>pbcopy</code>. <code>whois bilge.world | pbcopy</code> copies <em>The Psalms</em> domain registry information to the iOS clipboard in a flash.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/158213859-c477ddb3-dc51-47b2-8e2f-fa0df9b339ad.png" alt="Blink Keyboard Shortcuts"/></p>

<h3 id="keyboarding">Keyboarding</h3>

<p>To its credit, I think <a href="https://blink.sh" rel="nofollow ugc">Blink’s landing page</a> 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, <code>Share Selection</code> 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 <em>only</em> it.</p>

<p>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 <code>⌥U</code>, then open it in Safari with a Siri Shortcut I’ve placed there entitled “<a href="https://www.icloud.com/shortcuts/52e6c820f965488b91ca4b76c99434af" rel="nofollow ugc">O P E N</a>.” Or – in the case of a direct link to a file – I could use another shortcut of mine just below it, called “<a href="https://www.icloud.com/shortcuts/af5a886c9b044bf194dd52127a3939c3" rel="nofollow ugc">DOWNLOAD</a>,” which uses the <a href="https://www.matthewcassinelli.com/actions/get-contents-of-url/" rel="nofollow ugc">Get Contents of URL</a> 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/158233450-e7a2eec8-1eae-478d-ab7e-35a2dec79e25.png" alt="Blink Custom Key Presses"/></p>

<p>An extraordinary feature of Blink’s which I originally misunderstood and have just begun to play with: <strong>custom key presses</strong>. In <code>Config ⇨ Keyboard ⇨ Custom Presses</code>, 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 <a href="https://apps.apple.com/us/app/gizmopack/id1505218567" rel="nofollow ugc">GizmoPack</a> 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154846142-4d16aa31-ee99-4ce9-94c5-852765d7d0b7.png" alt="Importing Keys in Blink Shell"/></p>

<h2 id="remotes-with-ssh-and-mosh">Remotes with SSH and Mosh</h2>

<p>If you’re entirely new to SSH as a concept, I’ve found no better introduction than <a href="https://tilde.town/~extratone/wiki/getting-started/ssh.html" rel="nofollow ugc">Tilde.Town’s own SSH Primer</a>. I screwed up my first attempt at obtaining a key, but Town Maintainer <a href="https://tilde.town/~vilmibm" rel="nofollow ugc">vilmibm</a> 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/157376845-c2adf11e-7f8c-44d1-8a37-fec0a9fabbcc.png" alt="Blink Autocomplete"/></p>

<p>One of my unexpected favorite bits about Blink is its autocomplete feature which applies to both “commands and hosts” as quoted from <a href="https://docs.blink.sh/whats-new#version-100" rel="nofollow ugc">its singular mention in the docs</a>. 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 auto<em>suggestion</em>” 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 <code>ssh T</code> or <code>mosh T</code> (ssh keys == mosh keys, which I wish I knew weeks ago) and <code>TAB</code> to complete the full <code>ssh Tilde.Town</code> or <code>mosh Tilde.Town</code> commands.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154846342-b9d49f30-61c4-438d-8886-0414951807f6.png" alt="Adding Files App Locations in Blink"/></p>

<p>Once you’ve connected to Town, you should take advantage of <a href="https://docs.blink.sh/advanced/files-app" rel="nofollow ugc">Blink’s Files app integration</a> 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154846662-df10d713-6f54-46d2-8fb9-d1f77d42b14e.png" alt="Blink File Providers"/></p>

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

<h3 id="mini-tutorial-uploading-images-to-the-tildeverse-with-blink-shell-https-user-images-githubusercontent-com-43663476-193413576-d210a0e1-7f93-4425-a217-362c2fb6650a-mov">Mini Tutorial: <a href="https://user-images.githubusercontent.com/43663476/193413576-d210a0e1-7f93-4425-a217-362c2fb6650a.MOV" rel="nofollow ugc">Uploading images to the Tildeverse with Blink Shell</a></h3>

<video controls="">
  <source src="https://user-images.githubusercontent.com/43663476/193413576-d210a0e1-7f93-4425-a217-362c2fb6650a.MOV">
</video>

<p><img src="https://i.snap.as/mz8lgDFt.png" alt="Novel Chat Fixed"/></p>

<h2 id="chat">Chat</h2>

<p>The IRC client TildeTown uses is called <a href="https://weechat.org" rel="nofollow ugc">WeeChat</a> 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 <a href="https://tilde.town/~extratone/manual/weechat/" rel="nofollow ugc">duplicated the full User Guide</a> for your consideration. I got stuck at the concept of switching buffers, so my Big Pro hint is to start off running <code>/buffer 1</code> followed by <code>help</code>. 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 <code>/help bar</code> in the first buffer.) You’ll also need to zoom out a bit and set the display mode to <code>Fill</code> via the menus that appear with a <em>three-finger</em> 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.</p>

<p>Assuming you intend to stay connected to Town IRC <em>On The Go</em>, I’d advise always starting your intended chat window with mosh, which – through <a href="https://docs.blink.sh/advanced/advanced-mosh" rel="nofollow ugc">a whole bunch of alchemy</a> 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, <a href="https://docs.blink.sh/advanced/advanced-ssh#persistent-ssh-connections-with-blink" rel="nofollow ugc">the <code>geo</code> command</a> can be used to force iOS into allowing Blink a more genuine background running state with <code>geo track</code>. Additionally, <code>geo current</code> displays a nicely-formatted set of location information:[^2]</p>

<pre><code class="language-json">{
  “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
}
</code></pre>

<p>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 <code>geo</code> command to make <em>ssh</em> 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.</p>

<p>If I remember correctly, I once found a surprisingly capable (for the time and circumstances) iPhone IRC app in <a href="https://apps.apple.com/us/app/colloquy-irc-client/id302000478" rel="nofollow ugc">Colloquy’s iPhone OS offering</a>, 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 <a href="http://limechat.net/iphone/" rel="nofollow ugc">its landing page</a> proudly touts support for <em>iOS 4 multitasking</em>!</p>

<blockquote><p>Connections are kept in 10 minutes after going to background.</p></blockquote>

<p>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 <em>Logged In</em> – as is the ancient custom of Internet Relay Chat – was too far out of reach to even be of consideration.</p>

<p>To be honest, I still find the whole idea unnatural, and I’m not alone, but I can promise you that <strong>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</strong>, 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.</p>

<h4 id="weechat-configuration">WeeChat Configuration</h4>

<p>The following is the precise set of commands involved in making WeeChat look as the screenshot does, though in no particular order. As <a href="https://tilde.town/~m455" rel="nofollow ugc">m455</a> pointed out, <code>fset</code> 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 <code>11</code>, but I fiddled quite a bit to find <code>9</code> more optimum.</p>
<ul><li><code>fset</code></li>
<li><code>/set weechat.look.prefix_align_max 9</code></li>
<li><code>/bar hide bufflist</code></li>
<li><code>/bar hide fset</code></li>
<li><code>/bar hide title</code></li>
<li><code>/bar hide nicklist</code></li>
<li><code>/set weechat.look.buffer_time_format &#34;%M&#34;</code></li></ul>

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

<p><img src="https://i.snap.as/FhjqlFV1.png" alt="Spacedust Chat-Minimal"/></p>

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

<p><img src="https://user-images.githubusercontent.com/43663476/157794243-413146bf-d004-4502-8ecd-b9bde2c10437.jpeg" alt="Town TV"/></p>

<h2 id="town-television">Town Television</h2>

<p>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 <em>usably</em> 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 <a href="https://www.samsung.com/us/support/televisions-home-theater/televisions/qled-4k-tvs/t-model-line-up-2020" rel="nofollow ugc">Huge Ass Samsung television</a> in ten-eighty pee.[^3]</p>

<p><img src="https://user-images.githubusercontent.com/43663476/157918199-c9007d31-cb39-4e18-9e2d-e10ac3c93974.png" alt="Blink Appearance Settings"/></p>

<p>If you’ve somehow found yourself this far, you’re probably looking for the keyboard shortcut<code>⌘O</code>, which <strong>switches your currently active cursor between the device and the external display</strong>. “You can also move windows between iPad and External Display with <code>⇧⌘O</code>,” say <a href="https://docs.blink.sh/basics/tips-and-tricks#display-what-is-blink-window" rel="nofollow ugc">the docs</a>. 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 with<code>geo track.</code> 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/158088240-a0f27c3c-1782-4323-bfc5-2c280d3c98e9.png" alt="Notifications in Blink"/></p>

<h2 id="other-considerations">Other Considerations</h2>

<p>Blink has a URL scheme – <code>blinkshell://run?key=[YourKey]&amp;cmd=</code> – but it’s not particularly useful, largely because it’s for the moment left <a href="https://reddit.com/r/BlinkShell/comments/swzphf/url_scheme_documentation/" rel="nofollow ugc">without any real documentation</a>. 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 <em>do</em> 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 <em>something</em> 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.</p>

<p>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.</p>

<p>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 <em>all</em> 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 <a href="https://cgi.tilde.town/users/signup" rel="nofollow ugc">here</a> and the corresponding GitHub Issue for this post (with a bunch more screenshots) <a href="https://github.com/extratone/bilge/issues/307" rel="nofollow ugc">here</a>.</p>

<p><a href="https://remark.as/p/bilge.world/tildetown-iphone-blink-shell" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:configuration" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">configuration</span></a></p>

<hr/>

<p>[1] <a href="https://tilde.town/~extratone/icons/blink.png" rel="nofollow ugc">Blink’s icon</a> 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 “<a href="https://en.m.wikipedia.org/wiki/Dilution_of_precision_(navigation)" rel="nofollow ugc">Dilution of Precision</a>,” which is a mildly interesting measurement to read up on.
[3] As <a href="https://github.com/extratone/bilge/issues/307#issuecomment-1065429898" rel="nofollow ugc">the screenshots I captured suggest</a>, anyway. Obviously, I do not posess the means to test the true resolution display to mine eyes.</p>
]]></content:encoded>
      <guid>https://bilge.world/tildetown-iphone-blink-shell</guid>
      <pubDate>Mon, 14 Mar 2022 01:47:53 +0000</pubDate>
    </item>
    <item>
      <title>Run Siri Shortcuts with Hyperlinks</title>
      <link>https://bilge.world/run-siri-shortcuts-with-hyperlinks?pk_campaign=rss-feed</link>
      <description>Imagine running shortcuts from anywhere you can place a link.</description>
      <content:encoded><![CDATA[<p><img src="https://user-images.githubusercontent.com/43663476/155768732-03ca73a9-9b18-414f-ae86-a27bbe01ce04.png" alt="Shortcuts Run Links"/></p>

<h2 id="imagine-running-shortcuts-from-anywhere-you-can-place-a-link">Imagine running shortcuts from anywhere you can place a link.</h2>



<p>There seemed to be a bit of confusion regarding a shortcut I posted on RoutineHub a few days ago entitled “<a href="https://routinehub.co/shortcut/11143" rel="nofollow ugc"><strong>Generate Shortcuts Run Links List</strong></a>,” 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.</p>

<p>The basis of the whole shit is <code>shortcuts://run-shortcut?name=</code> and <code>shortcuts://x-callback-url/run-shortcut?name=</code>. 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 <a href="https://apps.apple.com/us/app/tot-pocket/id1498235191" rel="nofollow ugc">Tot</a>.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/155801898-e6c74cee-c26a-458c-a915-c3f969c6f3fd.png" alt="Tot"/></p>

<p>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 href="https://app.textexpander.com/public/14093096578d4f40eeea15649f5cefbb" rel="nofollow ugc">a TextExpander snippet</a>. Here’s what the mess looks like underneath:</p>

<p><img src="https://user-images.githubusercontent.com/43663476/155803031-436d36a3-c0be-4da1-9df4-72a9d6e8e350.png" alt="Tot Code"/></p>

<p>I had a bit of an issue creating the shortcut, itself. Though Shortcuts includes a native <a href="https://www.matthewcassinelli.com/actions/url-encode/" rel="nofollow ugc">URL Encode action</a>, I couldn’t seem to get it to reliably generate URL-encoded shortcuts names, which is why I inserted the <a href="https://apps.apple.com/us/app/text-case/id1492174677" rel="nofollow ugc">Text Case</a> action, instead.</p>

<p><a href="https://remark.as/p/bilge.world/run-siri-shortcuts-with-hyperlinks" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:automation" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">automation</span></a> <a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:configuration" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">configuration</span></a></p>
]]></content:encoded>
      <guid>https://bilge.world/run-siri-shortcuts-with-hyperlinks</guid>
      <pubDate>Fri, 04 Mar 2022 17:10:47 +0000</pubDate>
    </item>
    <item>
      <title>Windows Eternal Drafts Theme</title>
      <link>https://bilge.world/windows-eternal?pk_campaign=rss-feed</link>
      <description>I believe I have finally manifested the Drafts interpretation of Winders users’ dreams.</description>
      <content:encoded><![CDATA[<p><img src="https://user-images.githubusercontent.com/43663476/154896941-f15cfe59-dd8f-4310-b4be-fe55ee4e4bc7.PNG" alt="WindowsEternal-iPadPro"/></p>

<h2 id="i-believe-i-have-finally-manifested-the-drafts-interpretation-of-winders-users-dreams">I believe I have finally manifested the Drafts interpretation of Winders users’ dreams.</h2>



<p>If you still follow me <a href="https://twitter.com/NeoYokel" rel="nofollow ugc">on Twitter</a>, you’ve seen me posting a lot of mockups and links related to Agile Tortoise’s <a href="https://apps.apple.com/us/app/drafts/id1435957248" rel="nofollow ugc">Drafts</a>, 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 <a href="https://beta.bear.app/t/the-line-width-slider-any-chance-i-ll-see-it-again/1945/8" rel="nofollow ugc">silly reasons</a>. In terms of themes for Drafts, I’ve already hit you with <a href="https://actions.getdrafts.com/t/1km" rel="nofollow ugc">one based on this very blog</a> and “<a href="https://actions.getdrafts.com/t/1kY" rel="nofollow ugc">Windows Iowa</a>” – both of which have faired far better than I would’ve ever expected on <a href="https://actions.getdrafts.com/theme_definitions?order=popular" rel="nofollow ugc">the Drafts Directory</a>.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154833948-c5c271a9-ab72-4998-a84d-e2aeb5972f5c.png" alt="Switching"/></p>

<p><img src="https://user-images.githubusercontent.com/43663476/154834066-b9aa651e-d71c-49a9-99ed-971f43ecce2e.png" alt="SwitchingLandscape"/></p>

<p>Now, though, I would like to present “<a href="https://actions.getdrafts.com/t/1wT" rel="nofollow ugc"><strong>Windows Eternal</strong></a>” – a celebratory theme of ye olde Winders™ Aesthetic, based on one of my very favorite themes for Telegram Messenger for iOS.</p>

<h2 id="telegram-theme">Telegram Theme</h2>

<p>I’m actually not sure what it was called originally, but I’ve archived the Telegram theme as <a href="https://t.me/addtheme/windowseternal" rel="nofollow ugc">Windows Eternal</a>, too.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154834629-444dc630-4789-4a9b-9698-e7652294baaa.png" alt="WindowsEternalTelegramLandscape"/></p>

<p><img src="https://user-images.githubusercontent.com/43663476/154834642-0fc9b9eb-23cc-431d-8496-d9d9b6981677.png" alt="WindowsEternalTelegram"/></p>

<p>If you or someone you know might remember who the original creator was, please do <a href="https://davidblue.wtf/db.vcf" rel="nofollow ugc">get in touch</a> because they absolutely deserve to be credited here and elsewhere.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154839440-4c97c59a-526a-4f48-bbac-251a8f553996.png" alt="Windows Eternal Portrait Clean"/></p>

<h2 id="details">Details</h2>

<p>If you’re interested, <a href="https://github.com/extratone/drafts/blob/main/Themes/Windows%20Eternal.json" rel="nofollow ugc">the full source of Windows Eternal</a> is publicly available, though I would recommend using the “Open in Theme Builder” button on its <a href="https://actions.getdrafts.com/t/1wT" rel="nofollow ugc">Drafts Directory page</a> 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 <code>#327c7d</code> (that darkish green color) as often as possible along with <code>#bfc0c1</code> (the main gray) and <code>#000DA6</code> (the main bright blue.)</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154840096-495a527f-642b-422e-bcdd-91ca442d85d9.png" alt="Buttons"/></p>
<ul><li><a href="https://actions.getdrafts.com/t/1wT" rel="nofollow ugc"><strong>Drafts Directory Link</strong></a></li>
<li><a href="https://github.com/extratone/drafts/issues/26" rel="nofollow ugc">GitHub Issue</a></li>
<li><a href="https://github.com/extratone/drafts/blob/main/Themes/Windows%20Eternal.json" rel="nofollow ugc">Source</a></li>
<li><a href="https://tilde.town/~extratone/windowseternal" rel="nofollow ugc">Tilde</a> (More screenshots)</li>
<li><a href="https://t.me/addtheme/windowseternal" rel="nofollow ugc">Telegram Theme</a></li></ul>

<p><a href="https://remark.as/p/bilge.world/windows-eternal" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:configuration" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">configuration</span></a></p>
]]></content:encoded>
      <guid>https://bilge.world/windows-eternal</guid>
      <pubDate>Sun, 20 Feb 2022 11:17:58 +0000</pubDate>
    </item>
    <item>
      <title>The Fastest Route to Twitter Jail</title>
      <link>https://bilge.world/twitter-jail?pk_campaign=rss-feed</link>
      <description>My new Twitter Jail Siri Shortcut marks a milestone in Social Foolery.</description>
      <content:encoded><![CDATA[<p><img src="https://user-images.githubusercontent.com/43663476/153813676-efbe3e23-d830-4239-940b-922c9bcb35b0.png" alt="TwitterJail"/></p>

<h2 id="my-new-twitter-jail-siri-shortcut-marks-a-milestone-in-social-foolery">My new Twitter Jail Siri Shortcut marks a milestone in Social Foolery.</h2>



<p>I graduated high school in 2012. Back then, TweetDeck was still a standalone desktop client[^1] that allowed one to post with just the <code>ENTER</code> or <code>return</code> key. I&#39;d made it part of the <a href="https://iowa.neocities.org" rel="nofollow ugc">Drywall Prime Directive</a> to generally keep <a href="https://twitter.com/ihadtopee" rel="nofollow ugc">@ihadtopee</a> in <a href="https://www.urbandictionary.com/define.php?term=TwitterJail" rel="nofollow ugc">Twitter Jail</a> 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&#39;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.</p>

<p><a href="https://twitter.com/TWlTTER_JAIL/status/746295481123274752" rel="nofollow ugc">https://twitter.com/TWlTTER_JAIL/status/746295481123274752</a></p>

<p>It&#39;s not that automating Tweets wasn&#39;t possible in that era – I&#39;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 <em>knowledge</em>.</p>

<p><a href="https://www.youtube.com/watch?v=4qyHYslaQx4" rel="nofollow ugc">https://www.youtube.com/watch?v=4qyHYslaQx4</a></p>

<p>Today, even an rube like myself can whip up <a href="https://routinehub.co/shortcut/11086/" rel="nofollow ugc"><strong>a Siri Shortcut</strong></a> capable of jailing a user account in <em>less than four minutes</em> from nill – what appears to be a statically-set rate limit of 310 Tweets in that time. Mind you, we&#39;re talking about entirely <em>on-device</em> processing here, and – in case you weren&#39;t aware – the device I&#39;m referring to is my fucking cellular phone.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153808840-473464ae-2922-45a9-a27b-46d0b7f3a247.png" alt="TwitterJailTimeline"/></p>

<p><a href="https://routinehub.co/shortcut/11086/" rel="nofollow ugc"><strong>Twitter Jail</strong></a> technically requires three apps – two of which are ridiculously small, 100% Apple cross-platform, and entirely free – and the third represents simply <a href="https://bilge.world/tweetbot-6-ios-review" rel="nofollow ugc">the most refined and delightful means</a> anyone has ever interacted with The Bird Site.</p>

<h3 id="requirements">Requirements</h3>
<ul><li><a href="https://apps.apple.com/us/app/actions/id1586435171" rel="nofollow ugc"><strong>Actions</strong></a> – Free across all platforms and just 3.3mb to download!</li>
<li><a href="https://apps.apple.com/us/app/tweetbot-6-for-twitter/id1527500834" rel="nofollow ugc">Tweetbot</a> (You might also try <a href="https://apps.apple.com/us/app/aviary-for-twitter/id1522043420" rel="nofollow ugc">Aviary</a> if you absolutely cannot bring yourself to pay a subscription fee, ever.)</li>
<li><a href="https://apps.apple.com/us/app/data-jar/id1453273600" rel="nofollow ugc">Data Jar</a> (More or less optional.)</li></ul>

<p>Upon installation, you&#39;ll be asked 1.) to set the default number of repeats (Tweets) per run. Obviously, I&#39;d recommend ~310 to optimize your jailing. 2.) To specify which Tweetbot-authenticated user account you&#39;d like to get jailed, and 3.) which “key path” (jar) you&#39;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.</p>

<p>Depending on your device (to some extent, I&#39;d imagine,) proceeding to run the shortcut shouldn&#39;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.</p>

<p>You might expect me to express envy of any youths reading, but I absolutely feel none. All I can do is encourage you to <a href="https://mastodon.social/invite/hca7L5sY" rel="nofollow ugc">fucking try Mastodon</a> for God&#39;s sake and your own.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/154838012-2deb774f-6f02-4627-b8dd-f16286968621.png" alt="Twitter Jail macOS"/></p>

<h2 id="update-macos-version-published">Update: macOS Version Published</h2>

<p>I’ve created <a href="https://routinehub.co/shortcut/11135" rel="nofollow ugc"><strong>a macOS version of Twitter Jail</strong></a> which also requires <a href="https://apps.apple.com/us/app/actions/id1586435171" rel="nofollow ugc">the Actions app</a> but substitutes <a href="https://apps.apple.com/us/app/aviary-for-twitter/id1522043420" rel="nofollow ugc">Aviary</a> for Tweetbot given the former’s native Siri Shortcuts action does not require the app to open for each Tweet.</p>

<p>[1] It&#39;s actually still available from <a href="https://downloads.digitaltrends.com/tweetdeck/windows" rel="nofollow ugc">various sources</a> – <a href="https://apps.apple.com/us/app/tweetdeck-by-twitter/id485812721" rel="nofollow ugc">including the Mac App Store</a> – but has fallen way, way out of support.</p>

<p><a href="https://bilge.world/tag:automation" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">automation</span></a> <a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:configuration" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">configuration</span></a></p>
]]></content:encoded>
      <guid>https://bilge.world/twitter-jail</guid>
      <pubDate>Mon, 14 Feb 2022 08:35:27 +0000</pubDate>
    </item>
    <item>
      <title>Using Drafts with NeoCities</title>
      <link>https://bilge.world/using-drafts-with-neocities?pk_campaign=rss-feed</link>
      <description>A Drafts Action Group for interacting with WebDAV-enabled sites.</description>
      <content:encoded><![CDATA[<p><img src="https://user-images.githubusercontent.com/43663476/152070046-41f84855-408d-44c2-bfaa-8b038331d9a6.png" alt="DraftsxNeoCities"/></p>

<h2 id="a-drafts-action-group-for-interacting-with-webdav-enabled-sites">A Drafts Action Group for interacting with WebDAV-enabled sites.</h2>



<p><audio controls="">
  <source src="https://davidblue.wtf/audio/draftsandneocities.mp3">
</audio></p>

<p>Thanks to recent learning, I have managed to manifest one of my alltime fantasy integrations: I have tied Drafts and NeoCities together directly via <a href="https://actions.getdrafts.com/g/1uF" rel="nofollow ugc"><strong>my NeoCities Action Group</strong></a>, which uses <a href="https://docs.getdrafts.com/docs/actions/steps/services#webdav" rel="nofollow ugc">Drafts&#39; native WebDAV support</a> 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 <a href="https://apps.apple.com/us/app/koder-code-editor/id1447489375" rel="nofollow ugc">Koder</a>. 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.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/152169590-518d1043-c02b-49a1-9f19-76699362ab96.png" alt="NeoCitiesActionGroup"/></p>

<p>It wasn&#39;t as simple as HTML encoding the [draft] content with percentage signs, either. In order to produce <a href="https://davidblue.wtf/drafts/A350D578-1CFA-4B5A-8655-74F6B3AD72AE.html" rel="nofollow ugc">satisfactory results</a>, 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 <a href="http://bilge.world/colophon" rel="nofollow ugc">colors</a>.) You can view that template in full <a href="https://davidblue.wtf/drafts/8700B562-8716-489A-B554-641549B6B3E5.html" rel="nofollow ugc">here</a>. 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 <a href="https://www.thoughtasylum.com/tadpole" rel="nofollow ugc">Stephen Millard’s TAD library</a>.</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153755878-5b40147a-040b-4e8f-83ae-ce187d40ec0d.png" alt="toDraft-UUID"/></p>

<p>The most reliable means of identifying, pushing, and retrieving a draft from a WebDAV site (that I found, anyway,) is by using its <a href="https://en.m.wikipedia.org/wiki/Universally_unique_identifier" rel="nofollow ugc">Universally unique identifier</a> (UUID) in its pathname. An apt example: <a href="https://davidblue.wtf/drafts/7247282E-340B-4890-A2F7-0481AF31321E.html" rel="nofollow ugc">the draft I’m currently whittling on</a>, enumerated <code>7247282E-340B-4890-A2F7-0481AF31321E</code>. The action above – <a href="https://actions.getdrafts.com/a/1ve" rel="nofollow ugc">Draft to /drafts as UUID.html</a> – will push the contents of your current draft to /drafts/<code>the Draft’s UUID</code>.html. (That&#39;s how I created the example.)</p>

<p><img src="https://user-images.githubusercontent.com/43663476/153760436-80095f77-6d9a-4325-8b09-e871bb812bb2.png" alt="NeoCitiesActionGroup-Viewedonmacos"/></p>

<p>I&#39;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 <a href="https://actions.getdrafts.com/theme_definitions?order=updated" rel="nofollow ugc">Drafts theme</a> you&#39;re using at the moment. Nevertheless, blue/green indicate the “safest” actions – like the ones that simply <a href="https://actions.getdrafts.com/a/1vc" rel="nofollow ugc">open a link to a draft you&#39;ve already pushed</a> – and yellow/orange/red actions involve <a href="https://actions.getdrafts.com/a/1v9" rel="nofollow ugc">pushing/manipulating files at the root of your site</a>.</p>

<p>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 <a href="https://actions.getdrafts.com/g/1uF" rel="nofollow ugc">the whole bit</a>. You&#39;ll need to edit each action and replace <code>davidblue.wtf</code> with your own URL(s) unless you&#39;d like to try and attempt my absolutely gargantuan NeoCities password.</p>

<h2 id="neocities-action-group">NeoCities Action Group</h2>

<h3 id="root">Root</h3>

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

<h3 id="push-draft-to-root-as-html-https-actions-getdrafts-com-a-1v9"><a href="https://actions.getdrafts.com/a/1v9" rel="nofollow ugc">Push Draft to Root as HTML</a></h3>

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

<h3 id="draft-to-root-as-uuid-html-https-actions-getdrafts-com-a-1v0"><a href="https://actions.getdrafts.com/a/1v0" rel="nofollow ugc">Draft to Root as UUID.html</a></h3>

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

<h3 id="draft-to-root-as-text-timestamp-https-actions-getdrafts-com-a-1va"><a href="https://actions.getdrafts.com/a/1va" rel="nofollow ugc">Draft to Root as Text Timestamp</a></h3>

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

<h3 id="draft-to-title-as-index-html-https-actions-getdrafts-com-a-1vb"><a href="https://actions.getdrafts.com/a/1vb" rel="nofollow ugc">Draft to /{title} as index.html</a></h3>

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

<h3 id="open-title-https-actions-getdrafts-com-a-1vc"><a href="https://actions.getdrafts.com/a/1vc" rel="nofollow ugc">Open /{title}</a></h3>

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

<h3 id="path">/path</h3>

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

<h3 id="push-draft-to-drafts-as-html-https-actions-getdrafts-com-a-1vd"><a href="https://actions.getdrafts.com/a/1vd" rel="nofollow ugc">Push Draft to /drafts as HTML</a></h3>

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

<h3 id="draft-to-drafts-as-uuid-html-https-actions-getdrafts-com-a-1ve"><a href="https://actions.getdrafts.com/a/1ve" rel="nofollow ugc">Draft to /drafts as UUID.html</a></h3>

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

<h3 id="open-pushed-drafts-file-by-uuid-https-actions-getdrafts-com-a-1vf"><a href="https://actions.getdrafts.com/a/1vf" rel="nofollow ugc">Open pushed /drafts file by UUID.</a></h3>

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

<h3 id="draft-to-drafts-title-as-index-html-https-actions-getdrafts-com-a-1vg"><a href="https://actions.getdrafts.com/a/1vg" rel="nofollow ugc">Draft to /drafts/{title} as index.html</a></h3>

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

<h3 id="open-drafts-title-https-actions-getdrafts-com-a-1vh"><a href="https://actions.getdrafts.com/a/1vh" rel="nofollow ugc">Open /drafts/{title}</a></h3>

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

<h3 id="draft-to-specified-path-as-index-html-https-actions-getdrafts-com-a-1vi"><a href="https://actions.getdrafts.com/a/1vi" rel="nofollow ugc">Draft to Specified Path as index.html</a></h3>

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

<p>/[input]/index.html</p>

<h3 id="misc">Misc</h3>

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

<h3 id="push-clipboard-txt-to-clipboard-timestamp-https-actions-getdrafts-com-a-1vj"><a href="https://actions.getdrafts.com/a/1vj" rel="nofollow ugc">Push clipboard .txt to clipboard/timestamp</a></h3>

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

<h3 id="open-neocities-workspace-https-actions-getdrafts-com-a-1vk"><a href="https://actions.getdrafts.com/a/1vk" rel="nofollow ugc">Open NeoCities Workspace</a></h3>

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

<h3 id="neocities-list-macos-only-https-actions-getdrafts-com-a-1vl"><a href="https://actions.getdrafts.com/a/1vl" rel="nofollow ugc">NeoCities list / (macOS-Only)</a></h3>

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

<p><code>neocities list /</code></p>

<p>Can only be run on macOS and requires the NeoCities CLI.</p>

<p><a href="https://remark.as/p/bilge.world/using-drafts-with-neocities" rel="nofollow ugc">Discuss...</a></p>

<p><a href="https://bilge.world/tag:software" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">software</span></a> <a href="https://bilge.world/tag:configuration" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">configuration</span></a> <a href="https://bilge.world/tag:automation" class="hashtag" rel="nofollow ugc"><span>#</span><span class="p-category">automation</span></a></p>
]]></content:encoded>
      <guid>https://bilge.world/using-drafts-with-neocities</guid>
      <pubDate>Sun, 13 Feb 2022 15:38:41 +0000</pubDate>
    </item>
  </channel>
</rss>