Pinned toot

Over the 15+ years I've been using GNU/Linux, there are many programs that have become second nature to me. As a hacker, I enjoy tinkering with my system---why use a desktop environment when I could do the same thing with 100s of programs and hand-written scripts...!?

Each day I feel up to it, I'll give thanks to a free/libre program that has made a positive impact on my life, from every corner of my operating system, with the hope that others will find them interesting too.

Pinned toot

Over the past year, my GNU Social timeline has gone almost completely silent; it seems that many people have moved to Mastodon and maybe those instances have stopped federating.

Further, GNU Social development has been stalled for a long time.

So this seems like an inevitable decision to give Mastodon a try. I'll start by following people and will post both on here and GNU Social initially. See social.mikegerwitz.com.

I submitted a proposal for a session. I did not speak last year because of worries around COVID-19, and this year I'll almost certainly be attending remotely. The @fsf will be considering both remote and in-person proposals, should in-person be an option.

Consider submitting your own proposal! For more information, see:

fsf.org/blogs/community/submit

How can you stop data thieves, data brokers, and police from snooping on your credit card payment history? Pay in cash. We support the federal Payment Choice Act, which would require retail stores to accept cash from in-person customers. eff.org/deeplinks/2020/09/pass

Want to render plain text in a more interesting (or obnoxious) way? `cowsay` and `figlet` offer good fun.

Bonus points if you can actually use them in a context that is productive and useful. You've almost certainly seen figlet's output before in a number of different contexts, such as motds and headings.

I work mostly from the command line, but sometimes I need to open an external GUI program to do something visual.

Since I don't often use those programs, I may forget what I installed to open a particular file.

The command `xdg-open` from xdg-utils will try to DTRT and invoke the right program for you. You can query and change preferred programs using `xdg-mime`. And this works without a desktop environment (e.g. I use i3wm).

My last post on free software I use mentioned a substitute for using search engines for word definitions.

Another common use of search engines is unit conversions (e.g. 3 miles to km). For that and more, I use GNU units (gnu.org/software/units/).

I can't do any justice to this program with the number of characters I have left, so please, check it out; you won't be disappointed.

@mikegerwitz pro tip: curl also supports the dict protocol: curl dict://dict.org/define:discombobulate

@mikegerwitz There's also a slew of supplementary dictionaries available, or you can simply create your own in the dict format

Several translation dictionaries, and on Debian, US Census locatin data also.

Dictd is networked, so you can query it from other local hosts, if you like.

The Call for Sessions for #LibrePlanet 2021: Empowering Users is now open! Have something to say about the role user freedom, free software, digital ethics, or technology plays in empowering users? Submit your session before Oct. 28th! u.fsf.org/1y7

One of my favorite command line tools is `dict`---a dictionary and thesaurus. I use it multiple times a week. If you find yourself prefixing search queries with `define:`, this tool is for you.

If you install `dictd`, you also get the freedom and privacy of answering your own queries on a system you control, without the need for Internet access.

Another tool I often use at the end of a pipeline for data visualization is gnuplot (gnuplot.info/). It supports far more sophisticated graphs than I can ever hope to have use for.

I typically prototype using its interactive prompt, and then either write that to a static script, or generate the script and pipe it. It's an essential tool for command line data processing.

I use Graphviz (graphviz.org/) for more things than I could possibly recall. It is one of my core tools for data visualization for a wide range of data, and it's quite easy to use and generate graphs for.

If graphs get so large that the visualizations are no longer possible to grok, or if querying is needed, I may opt for a graph database instead.

The graph description language DOT (en.wikipedia.org/wiki/DOT_(gra) is simple enough to be useful for mapping out thoughts too.

To adjust the color temperature of my screen, I use redshift (CLI). I use an i3 keybinding to perform adjustments manually rather than relying on the time of day, since lighting varies wildly depending on the room I'm in, whether we have lights on, weather, etc.

I also sometimes use it to reduce strain on my eyes instead of reducing screen brightness because my X200's monitor makes a high-pitched whine when I reduce brightness even the slightest.

...I get some intense nostalgia looking at some of those screenshots.

Speaking of compositing, I remember back in the day I bought a new video card just so I could have smooth effects with Compiz and Beryl, like a cube desktop; painting fire; rain; wobbly windows; etc.

And now I have no effects to speak of.

(Compiz Extras + Beryl later merged into Compiz Fusion, which is now just Compiz.)

Yesterday I mentioned that I use i3 as my window manager. Unlike some others, i3 does is not a compositing WM---it doesn't provide double buffering.

en.wikipedia.org/wiki/Composit

Consequently, I may notice tearing when scrolling in my web browser, switching workspaces, or looking at fast-scrolling terminal output.

To fix that, I use compton. It provides other features, like shadows and transparency, that don't make sense for me in a tiling WM. I just use the `-CGb` options.

I use the tiling window manager i3 (i3wm.org/). When I log on, I'm greeted with a blank screen. Most of the time I have a fullscreen terminal or web browser, without even a title bar.

On my 4k work monitor I can actually take advantage of sophisticated tiling.

I used to use xmonad (another tiling WM), so my keybindings resemble what I'm used to from that.

I make heavy use of workspaces. i3 also allows me to rarely use the mouse/trackpoint.

Let's start with a program that knows how to get out of the way: unclutter.

I don't ever see this program run, and I usually forget it exists. I have it placed in my ~/.xsession as `unclutter -idle 1 -root`, which hides my mouse cursor after one second of inactivity. This is great for me, since on a typical day, the only time I use the mouse is when I use a web browser; otherwise, it gets in the way of whatever I'm reading or typing.

Over the 15+ years I've been using GNU/Linux, there are many programs that have become second nature to me. As a hacker, I enjoy tinkering with my system---why use a desktop environment when I could do the same thing with 100s of programs and hand-written scripts...!?

Each day I feel up to it, I'll give thanks to a free/libre program that has made a positive impact on my life, from every corner of my operating system, with the hope that others will find them interesting too.

Show more
Mike Gerwitz's Mastodon Instance

Mike Gerwitz's personal Mastodon instance