Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

Though a bit niche, my #FreeSoftwareAdvent today is ed(1).

Uncategorized
1 1 8
  • Though a bit niche, my today is ed(1). As the goofball behind @ed1conf, I certainly play it up, but I certainly use it more than the average Unix/BSD/Linux user.

    A while ago I wrote up list of reasons¹ why one might use ed, and some are more obscure/improbable reasons (though I've encountered all of them in that post), there are a couple of those that drive me back to ed regularly:

    • I can still see the output of previous commands on the screen while I edit, where a full-screen editor would obscure that output that I need to incorporate in my edit

    • it's just darn fast for a quick edit, changing a variable name or adding/removing an entry in a list, etc. No startup costs for a honkin' huge $VISUAL with dozens of plugins and language-server processes and GUI rendering

    • very usable on low-bandwith/high-latency connections like I sometimes get when I remote into machines (less of a problem now, but I still experience sessions where I'll SSH in, invoke ed, make the change, write & quit, and exit the shell, in a couple seconds, while the screen repaints things oh-so-slowly

    • and most importantly, there's quality geek-cred for using it in front of others 😆


    ¹ https://blog.thechases.com/posts/cli/why-ed1/

  • stefano@mastodon.bsd.cafeundefined stefano@mastodon.bsd.cafe shared this topic on
    valhalla@social.gl-como.itundefined valhalla@social.gl-como.it shared this topic on

Gli ultimi otto messaggi ricevuti dalla Federazione
Post suggeriti
  • 0 Votes
    1 Posts
    11 Views
    Today's #FreeSoftwareAdvent entry is my podcatcher, castget(1). I've used several CLI podcatchers over the years, changing mostly because hpodder (my then-favorite) became deprecated and dropped out of repos, so I had to find a replacement.Configuration is a simple INI-style file, it allows me to post-process files (certain ones I cut off the 7-minutes of advertising at the beginning, customize ID3/ID3v2 tags), and give them a naming-convention that works for how I listen.It runs nightly from cron(8) downloading to my queue directory-tree, emailing me the resulting output, and saves its state in files that can be fairly easily tracked in version-control (annoyingly it doesn't sort them, so every run mangles them, but a little processing with vim makes quick work of them, meaning the resulting diff output is just the new podcasts and a top-level timestamp change, not a complete remunging of the file). About every 3–4GB of queued-up files, I've usually reached the ones on my player/phone, delete those, and replace them with the fresh queue. It does mean that news podcasts are largely worthless because there could be a 3–4wk lag between when the episode releases and I eventually catch it in my player.It's simple, it works, and it plays well with the rest of my ecosystem. I like it.
  • 0 Votes
    1 Posts
    9 Views
    Today in #FreeSoftwareAdvent it's Inkscape. I've used it for years, for generating meme-type images, for producing my resume, for several portfolio projects, drafting SVG source images for laser-cutter/3d-printer work, and likely dozens of other projects I'm forgetting at the moment.Having implemented a *tiny fraction* of a vector image editor/viewer (in VB6 for the PocketPC using custom XML data-structures under the hood…so early-2000s), I appreciate all the more the hard work done by the Inkscape devs.
  • 0 Votes
    1 Posts
    10 Views
    Today in #FreeSoftwareAdvent it's lynx(1). Which is amusing because it's been scheduled for today on my calendar since the beginning of the month, but @neil chose to share links(1) today as well, for many of the same reasons. 😆It's been around for decades—I used it to browse gopherspace (and maybe WAIS?) in the 90s via a 1200 baud dial-up connection to a shell account and later the nascent WWW when it arrived.Sadly, ClownFlare, Google, and anti-AI-bot/scraper tech has made many formerly-accessible-with-lynx sites now inaccessible, some blocking by User-Agent, some blocking due to the lack of JavaScript support.But it has the right amount of usability and friction, so I can use it from my command-line-only writer-deck netbook to do a little research or read some HTML documentation, without getting sucked into the modern web.My custom configuration puts it in Advanced mode (no help-bar at the bottom), specifies vi-key-bindings, a custom color-scheme, uses links-and-form-fields-are-numbered making it easy to jump to them, and text-fields-require-activation so I don't get stuck in text input boxes when using j/k to scroll up/down in the document.I also have a couple shell wrapper-functions to invoke lynx on particular URLs (Wikipedia, dictionary/thesaurus/rhyming resources, web search, etc) with the CLI arguments filled in.I also have mutt configured to show text/html messages in lynx (either using `lynx -dump` and the internal pager, or using `m` from the attachments menu to view it interactively)
  • Today it's awk(1)

    Uncategorized freesoftwareadvent
    1
    0 Votes
    1 Posts
    10 Views
    Today it's awk(1)I use it almost daily—from simple column-extraction (specifying column separators and mashing together various columns feels easier with awk than with sort(1)), to summing and running totals, to aggregating counts of data, to reformatting text, etc…so many little uses pop up.It's available on every POSIX platform making it easy to write cross-platform utilities without having to install additional run-times like Python/Ruby/Node and the heavy dependencies that come with them.I've even written cgi-bin/ scripts in awk, allowing dynamic data processing on my stock OpenBSD systems with httpd+SlowCGI without non-stock software in the chroot.https://blog.thechases.com/categories/awk/#FreeSoftwareAdvent