lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

64
active users

#cli

4 posts4 participants0 posts today
Fedify: an ActivityPub server framework<p>🎉 Big thanks to <a translate="no" class="h-card u-url mention" href="https://hackers.pub/@2chanhaeng" rel="nofollow noopener" target="_blank">@<span>2chanhaeng</span></a> for his first contribution to <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a>! He implemented the new <a href="https://unstable.fedify.dev/cli#fedify-webfinger-looking-up-a-webfinger-resource" rel="nofollow noopener" target="_blank"><code>fedify webfinger</code></a> command in <a href="https://github.com/fedify-dev/fedify/pull/278" rel="nofollow noopener" target="_blank">PR #278</a>, which allows isolated <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/WebFinger" target="_blank">#<span>WebFinger</span></a> lookups for testing configurations. This addresses the need for developers to test WebFinger functionality without performing comprehensive object retrieval.</p><p>The contribution includes:</p><ul> <li>A new <code>fedify webfinger &lt;handle&gt;</code> command that accepts <code>@user@domain</code> format handles or URIs</li><li>Clean JSON output of WebFinger JRD results</li><li>Proper error handling for invalid handles and lookup failures</li><li>Complete <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/CLI" target="_blank">#<span>CLI</span></a> integration with help text and usage examples</li> </ul><p>This was originally filed as <a href="https://github.com/fedify-dev/fedify/issues/260" rel="nofollow noopener" target="_blank">issue #260</a> and marked as a <a href="https://github.com/fedify-dev/fedify/issues?q=sort%3Aupdated-desc+state%3Aopen+label%3A%22good+first+issue%22" rel="nofollow noopener" target="_blank">good first issue</a>—perfect for newcomers to learn the codebase structure while contributing meaningful functionality. The PR has been merged and will be included in the upcoming Fedify 1.8.0 release.</p><p>We appreciate all first-time contributors who help make Fedify better for the entire <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> community. Welcome aboard, ChanHaeng!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/opensource" target="_blank">#<span>opensource</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
Tommi 🤯<p>I had the honour to be invited by <span class="h-card" translate="no"><a href="https://zeal.center/@ZFAVClub" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>ZFAVClub</span></a></span> to participate in an online live workshop exploring the mighty and wonderful CLI tool of the <span class="h-card" translate="no"><a href="https://mastodon.archive.org/@internetarchive" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>internetarchive</span></a></span>, in collaboration with <span class="h-card" translate="no"><a href="https://social.coop/@dweb" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>dweb</span></a></span> 💕</p><p>If you are interested in data preservation and digital commons, please do watch it, as we did our best to shed some light on the most powerful yet little known features of this software.</p><p>The <a href="https://pan.rent/tags/InternetArchive" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>InternetArchive</span></a> is an invaluable resource for unlimited, public, open, and free storage for the whole Universe. It seems too good to be true, but it is!</p><p>We also touched upon the value of <a href="https://pan.rent/tags/FreeSoftware" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FreeSoftware</span></a>, <a href="https://pan.rent/tags/Linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Linux</span></a>, <a href="https://pan.rent/tags/decentralization" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>decentralization</span></a>, and <a href="https://pan.rent/tags/publicDomain" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>publicDomain</span></a>.</p><p><a href="https://archive.org/details/youtube-8Pr05zlXdlo" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">archive.org/details/youtube-8P</span><span class="invisible">r05zlXdlo</span></a></p><p><a href="https://pan.rent/tags/archive" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>archive</span></a> <a href="https://pan.rent/tags/commonGood" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonGood</span></a> <a href="https://pan.rent/tags/librarian" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>librarian</span></a> <a href="https://pan.rent/tags/library" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>library</span></a> <a href="https://pan.rent/tags/hacker" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hacker</span></a> <a href="https://pan.rent/tags/hacking" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hacking</span></a> <a href="https://pan.rent/tags/hackerLibrarian" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hackerLibrarian</span></a> <a href="https://pan.rent/tags/DWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DWeb</span></a> <a href="https://pan.rent/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a> <a href="https://pan.rent/tags/terminal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>terminal</span></a> <a href="https://pan.rent/tags/tutorial" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tutorial</span></a> <a href="https://pan.rent/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://pan.rent/tags/workshop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>workshop</span></a></p>
mr_daemon<p>Just casually adding features to my program that I wish everything had</p><p><a href="https://untrusted.website/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://untrusted.website/tags/exosphere" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>exosphere</span></a> <a href="https://untrusted.website/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://untrusted.website/tags/cli" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cli</span></a></p>
nico[lien] <a href="https://pksunkara.com/thoughts/git-experts-should-try-jujutsu/" rel="nofollow noopener" target="_blank">Git experts should try Jujutsu - Lobsters (</a><a href="http://pksunkara.com" rel="nofollow noopener" target="_blank">pksunkara.com</a> via epidemian) <a class="hashtag" href="https://social.tourmentine.com/tag/gik" rel="nofollow noopener" target="_blank">#gik</a> <a class="hashtag" href="https://social.tourmentine.com/tag/git" rel="nofollow noopener" target="_blank">#git</a> <a class="hashtag" href="https://social.tourmentine.com/tag/cli" rel="nofollow noopener" target="_blank">#cli</a>
Geekmaster 👽:system76:<p>In case anyone wants to run their own <a href="https://ioc.exchange/tags/LLM" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LLM</span></a> on their personal devices, I can suggest <a href="https://ioc.exchange/tags/lmstudio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lmstudio</span></a> It allows you to download any major model that's out there to your own laptop/desktop, and then you can use it's Graphical Interface to interact with it in a familiar interface environment, as you would <a href="https://ioc.exchange/tags/Claude" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Claude</span></a> or <a href="https://ioc.exchange/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a> or <a href="https://ioc.exchange/tags/Gemini" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Gemini</span></a>. It will also let you know if your device has enough resources (power) to run a specific model variant: <a href="https://lmstudio.ai/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lmstudio.ai/</span><span class="invisible"></span></a></p><p>For those of you who love the Terminal (aka: Command Line Interface or <a href="https://ioc.exchange/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a>), check out <a href="https://ollama.com/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">ollama.com/</span><span class="invisible"></span></a></p><p>For starters, I suggest the <a href="https://ioc.exchange/tags/gemma3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gemma3n</span></a> model (works great on tablets, laptops, or phones), or <a href="https://ioc.exchange/tags/llama3" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>llama3</span></a>.1 for the most common interactions. While most of us geeks will have very powerful personal systems, or servers in our home racks, most people do not have high-end systems/devices. The gemma3n model is lightweight, very powerful, and a solid general purpose LLM.</p><p>What's the benefit of running LLM's locally? <a href="https://ioc.exchange/tags/Privacy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Privacy</span></a> is a big one (it's running on your local machine, not a cloud server) - so you can ask it questions against sensitive business data, PHI/PII, etc.. You can also run it <a href="https://ioc.exchange/tags/offline" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>offline</span></a> (no Internet connection required) so if you wanted to <a href="https://ioc.exchange/tags/airgap" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>airgap</span></a> your interactions, or play with it on vacation (on a plane, lost in the back country, etc.), you can absolutely do that - even with the Deepseek model.</p><p>I started playing with both LM Studio and ollama myself - been asking models basic questions like "what is the capital of Italy" and also more complex questions like "write me a <a href="https://ioc.exchange/tags/powershell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>powershell</span></a> script to add users of a specific OU to a number of Security Groups within AD" and so far, it's been very accurate. The PowerShell script llama3.1 provided worked out of the box (after I revised variables to match my environment).</p><p><a href="https://ioc.exchange/tags/AIForward" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AIForward</span></a> <a href="https://ioc.exchange/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a> <a href="https://ioc.exchange/tags/AiResearch" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AiResearch</span></a> <a href="https://ioc.exchange/tags/FunWithAI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FunWithAI</span></a></p>
DWeb<p>⚡ Use the Internet Archive like a Hacker-Librarian! 🔮</p><p>Join a hands-on workshop where we’ll demystify the CLI and turn it into your super power for archiving, accessing, and uploading content to the <span class="h-card" translate="no"><a href="https://mastodon.archive.org/@internetarchive" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>internetarchive</span></a></span>.</p><p>Hosted by the <span class="h-card" translate="no"><a href="https://zeal.center/@ZFAVClub" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>ZFAVClub</span></a></span>, with the participation of <span class="h-card" translate="no"><a href="https://pan.rent/@tommi" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>tommi</span></a></span>, we’ll learn and share our experience using the awesome ia <a href="https://social.coop/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a> tool!</p><p>🗓️ Jul 3, 16:00 UTC (9 PDT, 18 CEST)<br>PARTICIPATION IS FREE</p><p>ℹ️ Info + registration: <a href="https://lu.ma/zv3blohp" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lu.ma/zv3blohp</span><span class="invisible"></span></a></p><p><a href="https://social.coop/tags/DWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DWeb</span></a> <a href="https://social.coop/tags/InternetArchive" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>InternetArchive</span></a> <a href="https://social.coop/tags/IA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IA</span></a> <a href="https://social.coop/tags/terminal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>terminal</span></a></p>
Paco Hope #resist<p>As I oxydize my <a href="https://infosec.exchange/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a> with these fast, cool utilities written in <a href="https://infosec.exchange/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a>, it mean that I have to do a lot of rust compiling the first time I start setting up a system.</p><p>So I do <code>cargo install cargo-binstall</code> as the first compliation. From then on, I can do <code>cargo binstall</code> for an awful lot of utilities and just download them, rather than compile from source.</p><p>Some need to be compiled from source, so I always install <a href="https://github.com/mozilla/sccache" rel="nofollow noopener" target="_blank">sccache</a> (and then set the <code>export RUSTC_WRAPPER=/path/to/sccache</code> in my environment) to speed up compilation on my local machine.</p><p>Now that I've gotten used to <code>fd</code>, <code>rg</code>, and <code>sd</code>, I kinda can't work without them.</p>
Paco Hope #resist<p>I am slowly oxidizing my unix CLI. A lot of people have made <a href="https://rustutils.com/" rel="nofollow noopener" target="_blank">rust based versions of common unix utilities</a> and some of them are REALLY good.</p><p>Like <code>fd-find</code> for doing essentially <code>find . -name blah</code>. And <code>rg</code> (ripgrep) which does <code>grep -R</code> but it's aware of git, files like <code>pyc</code> or <code>.bak</code> files, and it excludes them by default. </p><p>Now I have <code>sd</code> which is hopefully replacing the last thing I used <code>perl</code> for. I write <code>perl -pi -e s/x/y/g</code> <strong>a lot</strong>. Just doing a quick string replace inside a file. So <code>sd</code> can start doing that.</p><p>I'm also trying to get used to <code>zellij</code> instead of <code>tmux</code> and <code>starship</code> for modern prompt decorations like the kids do.</p><p>These kids, my friends, are <em>welcome</em> on my lawn.</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/cli" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cli</span></a> <a href="https://infosec.exchange/tags/linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linux</span></a></p>
Goffi<p>I realize that people may not be aware that Libervia CLI is available in Debian and derivative, and that it's really powerful.</p><p>You can do nearly everything with it : share files, publish blog (I use it to write my blog posts with Neovim), send encrypted messages, make audio/video calls, encrypt a pubsub node, automate tasks with ad-hoc commands, etc.</p><p><a href="https://libervia.org/__b/doc/backend/libervia-cli/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">libervia.org/__b/doc/backend/l</span><span class="invisible">ibervia-cli/</span></a></p><p>Would you be interested in CLI tips from time to time?</p><p><a href="https://mastodon.social/tags/xmpp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>xmpp</span></a> <a href="https://mastodon.social/tags/libervia" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>libervia</span></a> <a href="https://mastodon.social/tags/cli" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cli</span></a> <a href="https://mastodon.social/tags/debian" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>debian</span></a> <a href="https://mastodon.social/tags/ubuntu" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ubuntu</span></a></p>
Dimly Lit Corners<p><a href="https://c.im/tags/Goals2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Goals2025</span></a> </p><p>Moving away from the constant upgrade cycle &amp; moving closer to the ideals of <a href="https://c.im/tags/PermaComputing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PermaComputing</span></a> <a href="https://c.im/tags/MalleableSoftware" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MalleableSoftware</span></a> </p><p>Design and setup a redundant system of old/used, cheap, low-power devices running ia: <a href="https://c.im/tags/Guix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Guix</span></a>, <a href="https://c.im/tags/Linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Linux</span></a>, <a href="https://c.im/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FreeBSD</span></a>, <a href="https://c.im/tags/macOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macOS</span></a>, <a href="https://c.im/tags/HaikuOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HaikuOS</span></a>, <a href="https://c.im/tags/Plan9Front" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Plan9Front</span></a>, <a href="https://c.im/tags/X11" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>X11</span></a>, <a href="https://c.im/tags/P9" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>P9</span></a>, <a href="https://c.im/tags/NFS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NFS</span></a>, all working together </p><p>Become an expert on <a href="https://c.im/tags/MicroControllers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MicroControllers</span></a> <a href="https://c.im/tags/ESP32" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ESP32</span></a> <a href="https://c.im/tags/STM32" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>STM32</span></a> <a href="https://c.im/tags/RP2040" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RP2040</span></a> <a href="https://c.im/tags/MIPS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MIPS</span></a> <a href="https://c.im/tags/RiscV" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RiscV</span></a> </p><p>DIY sensors which sing like birds to communicate their status</p><p>DIY robots "drones" </p><p>Move as much as possible of my computing needs to the <a href="https://c.im/tags/Terminal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Terminal</span></a>, <a href="https://c.im/tags/Emacs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Emacs</span></a>, <a href="https://c.im/tags/Rio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rio</span></a> <a href="https://c.im/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a> <a href="https://c.im/tags/TUI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TUI</span></a> <a href="https://c.im/tags/P9" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>P9</span></a> </p><p>Get an <a href="https://c.im/tags/3DPrinter" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>3DPrinter</span></a> and learn to use it</p><p>Design and build my own portable 8dot <a href="https://c.im/tags/braille" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>braille</span></a> terminal &amp; try out if 3x3 or 3x4 dots is also workable.</p><p>Design and build my own low-power computers, their OS, and tools</p><p>Writing more of my own tools <a href="https://c.im/tags/DIY" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DIY</span></a></p><p><a href="https://c.im/tags/SmallTalk" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTalk</span></a> <a href="https://c.im/tags/ObjectPascal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ObjectPascal</span></a> <a href="https://c.im/tags/Prolog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Prolog</span></a> <a href="https://c.im/tags/Scheme" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Scheme</span></a> <a href="https://c.im/tags/Racket" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Racket</span></a> <a href="https://c.im/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a> <a href="https://c.im/tags/Haskell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Haskell</span></a> <a href="https://c.im/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> <a href="https://c.im/tags/Go" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Go</span></a> <a href="https://c.im/tags/ObjectiveC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ObjectiveC</span></a> <a href="https://c.im/tags/Swift" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Swift</span></a></p><p>Deploy <a href="https://c.im/tags/LoRa" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LoRa</span></a> <a href="https://c.im/tags/ReticullumNetwork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReticullumNetwork</span></a> <a href="https://c.im/tags/RNodes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RNodes</span></a> <a href="https://c.im/tags/MeshCore" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MeshCore</span></a> <a href="https://c.im/tags/Meshtastic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Meshtastic</span></a> </p><p>Start an <a href="https://c.im/tags/InternetResiliencyClub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>InternetResiliencyClub</span></a> </p><p>Add <a href="https://c.im/tags/Tor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tor</span></a>, <a href="https://c.im/tags/I2P" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>I2P</span></a> support by <a href="https://c.im/tags/WebProxy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebProxy</span></a> </p><p><a href="https://c.im/tags/SolarPowered" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SolarPowered</span></a> <a href="https://c.im/tags/SelfHost" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SelfHost</span></a> over <a href="https://c.im/tags/I2P" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>I2P</span></a>, <a href="https://c.im/tags/OnionService" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OnionService</span></a> <a href="https://c.im/tags/Blog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Blog</span></a> <a href="https://c.im/tags/Wiki" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Wiki</span></a> <a href="https://c.im/tags/Repositories" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Repositories</span></a> <a href="https://c.im/tags/GopherHole" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GopherHole</span></a> <a href="https://c.im/tags/Darcs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Darcs</span></a> <a href="https://c.im/tags/Mercurial" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mercurial</span></a> </p><p><a href="https://c.im/tags/SelfHost" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SelfHost</span></a> my own <a href="https://c.im/tags/EmailServer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EmailServer</span></a>, which will only accept email from <a href="https://c.im/tags/KnownServers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>KnownServers</span></a> <a href="https://c.im/tags/CommunityEmail" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommunityEmail</span></a> <a href="https://c.im/tags/MutualEmailAcceptance" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MutualEmailAcceptance</span></a> </p><p>Share files via <a href="https://c.im/tags/BitTorrent" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BitTorrent</span></a> over <a href="https://c.im/tags/I2P" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>I2P</span></a> </p><p>DIY <a href="https://c.im/tags/HomeAutomation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HomeAutomation</span></a><br>DIY <a href="https://c.im/tags/GardeningAutomation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GardeningAutomation</span></a><br>DIY <a href="https://c.im/tags/GreenHouse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GreenHouse</span></a> </p><p>Get a house cat, train the cat, use voice and gestures</p><p>Start asking money for advice &amp; technology support</p><p>Build/program my own opportunistic and strange cryptocurrency miners <a href="https://c.im/tags/BTC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BTC</span></a>, <a href="https://c.im/tags/XMR" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>XMR</span></a>, <a href="https://c.im/tags/ZEC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ZEC</span></a>, etc <a href="https://c.im/tags/Art" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Art</span></a> </p><p><a href="https://c.im/tags/MakeMoreArt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MakeMoreArt</span></a> <a href="https://c.im/tags/LearnToDraw" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LearnToDraw</span></a> <a href="https://c.im/tags/Learn3DModeling" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Learn3DModeling</span></a> <a href="https://c.im/tags/LearnGenerativeArt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LearnGenerativeArt</span></a> <a href="https://c.im/tags/LearnToComposeAmbientMusic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LearnToComposeAmbientMusic</span></a> </p><p><a href="https://c.im/tags/ReCreateJottit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReCreateJottit</span></a> <a href="https://c.im/tags/ReCreateInstikiWiki" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReCreateInstikiWiki</span></a> </p><p><a href="https://c.im/tags/WriteMore" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WriteMore</span></a> <a href="https://c.im/tags/PublishMore" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PublishMore</span></a> <a href="https://c.im/tags/Letters" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Letters</span></a>, <a href="https://c.im/tags/Essays" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Essays</span></a>, <a href="https://c.im/tags/Missives" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Missives</span></a>, <a href="https://c.im/tags/Reports" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Reports</span></a>, <a href="https://c.im/tags/Treatise" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Treatise</span></a> </p><p>…</p><p><a href="https://c.im/tags/Incomplete" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Incomplete</span></a> <a href="https://c.im/tags/Ongoing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Ongoing</span></a> <a href="https://c.im/tags/NotFinal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NotFinal</span></a></p>

"Microsoft recently released Edit, a new terminal text editor written in Rust. It's pretty nice - it's reminiscent of nano but with a retro MS DOS feel.

I wanted to run it on my Apple Silicon Mac. Microsoft don't (yet) provide compiled builds for that platform, but they do have a release for aarch64-linux-gnu. I figured I'd run that in o Docker container (I have Docker for Desktop installed) to try it out.

One thing lead to another and I ended up creating and shipping a new Docker image to GitHub's Container Registry. This means anyone with an Apple Silicon Mac and Docker can try out edit against the files in their current directory by running this command:"

til.simonwillison.net/github/c

Screenshot: Publishing a Docker container for Microsoft Edit to the GitHub Container Registry - Microsoft recently released Edit , a new terminal text editor written in Rust. It's pretty nice - it's reminiscent of nano but with a slightly more modern feel.
til.simonwillison.netPublishing a Docker container for Microsoft Edit to the GitHub Container RegistryMicrosoft recently released Edit , a new terminal text editor written in Rust. It's pretty nice - it's reminiscent of nano but with a slightly more modern feel.

🆕 blog! “Convert Shotwell Photo Metadata to Digikam Metadata”

Mostly notes to myself.

Shotwell stores most of its information in a database. Which I lost. Because I'm an idiot.

But a bunch of metadata is also stored in the image's EXIF metadata!

Most importantly is the "Original File Name" which should become the "Description" in DigiKam. Unfortunately,…

👀 Read more: shkspr.mobi/blog/2025/06/conve

#cli #HowTo #linux

Linux bash terminal icon.
Terence Eden’s Blog · Convert Shotwell Photo Metadata to Digikam Metadata
More from Terence Eden

Convert Shotwell Photo Metadata to Digikam Metadata

shkspr.mobi/blog/2025/06/conve

Mostly notes to myself.

Shotwell stores most of its information in a database. Which I lost. Because I'm an idiot.

But a bunch of metadata is also stored in the image's EXIF metadata!

Most importantly is the "Original File Name" which should become the "Description" in DigiKam. Unfortunately, there's no way to copy those values automatically on import.

So here's a one-liner which will read the "Original File Name" and store it in the "Title" EXIF - ready for DigiKam to parse!

 Bashexiftool "-XMP-dc:Title<XMP-getty:OriginalFileName" whatever.jpg

If you want to make sure any existing Title isn't overwritten, use:

 Bashexiftool "-XMP-dc:Title<${XMP-getty:OriginalFileName}" -if "not defined $XMP-dc:Title" whatever.jpg

Finally, to do it recursively, across all files:

 Bashexiftool -r "-XMP-dc:Title<${XMP-getty:OriginalFileName}" -if "not defined $XMP-dc:Title" /path/to/images

Linux bash terminal icon.
Terence Eden’s Blog · Convert Shotwell Photo Metadata to Digikam Metadata
More from Terence Eden
Replied in thread

television

git.permacomputing.net/televis

I've been in situations of giving a lecture or a workshop where there was no screen or projector available, or... No cable. The usual workaround that I've seen friends and colleagues use is to have everyone join jitsi/zoom/bbb/etc and do the screen sharing there. This works but feels like a grotesque variation of the "a multinational corporation's service as the easiest way of copying files between two nearby devices" entry from the crappy everyday tech bingo.

So here is a response with television, a simple binary that takes screenshots of your desktop at regular intervals and serves the result over http on an amazingly well formatted html page that can be accessed by everyone over LAN/WLAN with their browser. It's *not* a video stream, it's really a 1fps style screensharing web thing which is plenty enough for slides, GUI/TUI/CLI action, etc.

🧵 3/?

git.permacomputing.netFiles - television - a simple LAN/WLAN desktop public broadcasting service
Replied in thread

Aaaand there you go: My first very own Python package on PyPI.

pypi.org/project/felloff/

felloff is a CLI tool to extract, edit (non-interactively, i.e. via command line switches), or remove YAML front matter in text files.

Now also supports editing existing files in place (instead of just printing the changed version to stdout).

Also, if you installed the 0.1.0 version please upgrade to 0.1.1, there's been a silly bug that broke reading from stdin … 🤦‍♂️

#Python#CLI#YAML