Show more

The `xrandr` utility can be used to configure outputs for X11 from the command line. For example, you can use it to configure and inspect resolution, position (relative to other monitors), rotation, scaling, refresh rate, DPI, and much more. It can even apply geometric transformations.

As an example, since I don't use a desktop environment, I have a script that detects when I connect/disconnect my laptop to/from its dock, and applies the appropriate monitor configuration.

@ashwinvis @mikegerwitz there's also the wonderful xcape tool which let's you assign different actions to a key when being pressed alone or together with another.

In other words, with the remapping and xcape you can use capslock as both ctrl and esc - best of both worlds.

`setxkbmap` can be used to modify the keyboard layout under X11. For example, I use `setxkbmap -option ctrl:nocaps` to bind capslock to ctrl, to cut my pinky and wrist some slack.

Some people bind capslock to escape (e.g. `-option caps:escape`) because that's the keyboard layout under which vi was developed. I don't bother, because ^[ is equivalent to escape in a terminal, so I get more utility out of having ctrl:nocaps.

(See `man xkeyboard-config` if your system has it.)

My 9 and nearly-7yo sons enjoyed following along with what I thought would be a tedious tutorial on 2D sprite cutout animation and skeletons. They're too young to understand the language in them, letalone fully understand it (and the necessary prior knowledge), but they were getting a hang of it and having a blast. Turns out, tedious was good as rote practice.

They've drawn their own characters, so I wanted them to see how they'll have to draw individual components.

@mikegerwitz @ArneBab Yeah, @cwebber explained it very well:

Tools like NPM and Node support and encourage complexity by making it easy for developers to build gigantic dependency graphs and to ignore everything at the levels below.

It’s both an “impressive” feature and an invitation to create this incomprehensible mess.

And I can't even recall the number of times I ran `glxgears` in my youth to profile and debug video driver issues.

A couple useful debugging commands for X11:

`xeyes` will render two eyeballs that follow your mouse cursor. Though I've used it more for entertainment, testing X11 forwarding, and testing configs with `startx`.

`xev` outputs useful information about X11 events, including keypresses and mouse movements. It's useful for discovering the names/codes of keys for keybindings. And running it can even help you recover if some program has captured X11 input and hasn't released it.

You have TWO MORE DAYS to submit a talk for the fully-online #LibrePlanet 2021! We want YOU to submit a session about how you're empowering users to take full control of their computing:

I've mentioned GnuPG support in Emacs a number of times for encrypting documents. But it can also be used standalone via the `gpg` command.

My first contribution to GNU Guix was to get pcscd and scdaemon working with GPG, allowing me to use my Nitrokey (a USB smartcard). Those daemons typically run in the background and you don't have to worry about them.

gpg-agent can also double as an SSH agent, so you can use your smartcard in place of an SSH key on your filesystem.

When running commands that access the Internet, you can prefix the command with `torsocks` to run it through a running Tor instance. You can also use `tor-resolve` to resolve DNS over Tor.

But be careful how you share that Tor connection with other programs/activities, since certain commands could expose data or patterns that deanonymize you.

Useful command, but know your threat model, and know your tools.

If you find yourself in disbelief, wondering how so many people could have voted for candidate X, and you're making generalizations about how 70 million (give or take a a couple million) people must be <ADJECTIVE>---please take pause and reflect. Such an enormous generalization is almost certainly mistaken, and probably heavily influenced by emotion.

There are many motivating issues for voters. It is important that we take time to understand the perspectives of others.

(Of course, all the mailing lists I'm subscribed to also give me a historical archive; this isn't unique to RSS.)

Another benefit is that I then have those RSS feeds archived forever (assuming my backups last that long). Since I aggregate news sources, it gives me a personal, immutable, historical archive under my control. And I can use all my standard command line tools on it (outside of Gnus, I can simply navigate to the maildir into which Dovecot deposits the messages).

Outside of Mastodon, I communicate with others almost exclusively via email; many days, I live in it. Since my MUA (Gnus) is integrated into my editor (Emacs), and my mail is in plain text, it's easy for me to manipulate.

It therefore makes sense for me to use it as a means of aggregating data.

One such example is RSS: I use r2e (rss2email) to gather RSS feeds and convert them to email, which is then sent to my local Dovecot server. I can then read them comfortably, offline.

A reminder to US voters (and spectators) that counting the surge of mail-in ballots will take time in certain states and we are unlikely to have election results tonight.

If I need to access my mail, I do so via SSH, which requires my Nitrokey; my mailserver is inaccessible outside of the box that it's running on. Consequently, I use Gnus via that SSH session; I do not connect to my local IMAP server from my laptop, to limit attack surface a bit further.

This is also out of respect to people I correspond with, since any compromise of my system is a breach of their privacy as well.

Show more
Mike Gerwitz's Mastodon Instance

Mike Gerwitz's personal Mastodon instance