GNU World Order is an internet audio show about GNU, Linux, UNIX, and other technical and geeky topics. I release this show in open source audio formats. This is an anarcho-syndacalist, anti-facist, and pro-human-rights podcast. I stand in solidarity with all people of colour, of marginalised communities, and the oppressed around the globe. Leave your ad blockers on.

Listen:Ogg 0x0 | Opus 0x0


New to Linux? Start here, and then try out OpenSUSE, Fedora, Ubuntu, or Slackware.

Listen:Ogg 0x1 | Opus 0x1


So you wanna try Slackware? Well, you're in luck! this special episode steps you through everything you need to know.

Listen:Ogg 0x2 | Opus 0x2


Special Juneteenth episode about anarchism, diversity, and what GNU World Order is all about.

Listen: Ogg 400 | Opus 400


gprof, ld.bfd,, nm, objcopy, and objdump from the d series.

Note that for best results when using many of these binutil tools, you must compile all of your targets with the GCC -pg and -g options.

ogg 5569d49c7b49b8f9c43000f88a27568856546c411b2b5eb4fb72fedf4d85c858
opus 4d446f53e279fcdbf6f286b23295ba80d4de23292a7dcc1476182e449cadbd0c
m4a 21362b6edabff8b5f761808ce053cbf21b531d661dd2b118bc006c644fe21bb0
spx 97c47c34c2ee03a678eb3a0e5d1d8649f028ec0b6dc22c74c872c58b912efc54
Ian Lance Taylor's 6-part series about linkers

Listen: Ogg 399 | Opus 399


c++filt, dlltool, dllwrap, dwp, and elfedit from the d series.

ogg 00ffc7563388ddc9f5c52c77ff16e582d3aa420fd8c361017df97b6f608778c4
opus 276cf6addf1d6b01003ccd73dd7442a1f176a09ac387158372fd15e49809b770
m4a 8162defd67e5c4a8b12c5d5578449f0f69e21dad4aa55f7340a4318c31e363f5
spx 7953675656e51cde6a42cf0e462c96e31336de9b8be2e2cebd1f78ce2ea241f8
OpenSuse MicroOS

Listen: Ogg 398 | Opus 398


addr2line, ar, as, ld from the binutils package. Here is an example of the code and commands used for the as and ld example:

$ cat << EOF >> hello.c
> #include 
> int main(void)
> { printf("hello world\n");
>   return 0; }
$ cpp hello.c > hello.i
$ gcc -S hello.i 
$ as -o hello.o hello.s 
$ ld -static -o hello \
-L/usr/lib64/gcc/x86_64-slackware-linux/5.5.0/ \
/usr/lib64/crt1.o /usr/lib64/crti.o hello.o \
/usr/lib64/crtn.o  --start-group -lc -lgcc \
-lgcc_eh --end-group
$ ./hello
hello world

The library paths are specific to Slackware, but are similar on other distributions.

ogg 6b756396aaeff3d3d9cba36761dab48a46c1c5847b0867979a6bb6dc4d19ed34
opus ffc7b7f5e2dd45eb6712e2f9ea70bb926e7f6001f5df40593c5dba72141d58fa
m4a 11212a6bc6b308ef10a86770828174bd33d8fd70071477e1cf3b59b965c56da7
spx 17f81eec1321946dfd030f101c1292e3c65b957763b57263e9df3cd9f8ecff47

Listen: Ogg 397 | Opus 397


Interview with Herag, from the Anarcho Book Club podcast.

ogg 57b156702b816739ff70e38dc018170cef1669bc1127fd3456433c2b894ed15f
opus f0e18f4bf61e4ef816361a61877248e23ada070aeeadf844e6c14c23abfe7ef8
m4a ecb240d7eedefc744c76110bb864b90347570fed4ffdc78327ff68fc778f1d9f
spx 2860ca0e4c271b3ff13fcb2e54bcee484aa0a4e1c460ef1797b7db57d5108968
Anarcho Book Club

Listen: Ogg 396 | Opus 396


Makefiles, GNU Automake, and autotools in general.

ogg 3aed50790f92577614dfac8523650939a9e772c22704a6d3bf748412b04a4fe3
opus 60a00ff1da8499fdb2f59e87f5090eaaf9d012f359826596db482865377224c3
m4a ea79866443081cd80619e63a27bbb8ef14dfced20cfbc48b60d68f7922d3aa97
spx bb059a6811ac1d69577df30cea987a8cc458e4468de9673d5762ac32c0a45224

Listen: Ogg 395 | Opus 395


Musings about community and choice in Linux and open source.

ogg 2a8a57bba021f59f6d18e2701f4c37d8de16aa6641aecb6d0ae5d63260df63a6
opus 462a9e5d588ac3a7d75d367b0216b5cffff65ed2db8416d491f422129275d6b8
m4a 91231b34229eb0ad4e509cb540ffcc567d7a04a797684c827afa4dac60e43991
spx eefb990bff3c6c31cbc0494ef3f94dc697eaec51017bcbbd9d9351dbc03595c4

Listen: Ogg 394 | Opus 394


GNU autoconf from the Slackware software series d.

ogg 6ac3dc5635c8748fc2a6729d31affd723d07dd39c8632ec8ceef01baf8bc2379
opus a9e22803b047c482040cf3711f620b9af175cf9ecd927a730741f12f45edfbd8
m4a a8b777cfaae39a87101c931b4c3cafe15d6f925f58a5935590cb7e11db138b9a
spx 8301a4be94c09d179c0bdbcaf52e9fea76aaa3048c9344d3d921e42f81edcd4b
GNU autoconf
Why use autotools (Hacker Public Radio)
How to use autotools (Hacker Public Radio)

Listen: Ogg 393 | Opus 393


Listener feedback, and an email about some blog posts about CentOS.

ogg 5bf0dc378bdc18393f7c9faffdbac9c2efd2e16afffb23797273696602544976
opus 07c9c86a5b4e9ed1cbac7d8d684f1d3b06f76813845e5e3c1f10f0e51d1fb679
m4a 2c059c8e3a01195064869d04484be9da332d6b2289e02a1b736cbae3d3c74f0a
spx ad8d029ab339095e11e6a6cc4f0f66eb76b7e8c9f82469647d19aaec198197d4
RHEL replaces CentOS
CentOS Stream community report
Rock Linux

Listen: Ogg 392 | Opus 392


Thoughts about the new Gemini Internet protocol, and a demonstration of some basic Cython from the d software series of Slackware Linux.

ogg 68ea4a68e14538e28fcbef29295ca7f931e7fc51c4e0f21fe8fa0e20439ae3bb
opus 92c4791c3183c6dbdf6c7856b8970377c7ef26a2f92977512de45c55684d47d9
m4a fb71964c824a2a827f50f27640a684c3612ac690c292fc02a14ee00791055dda
spx 77d01f690911a60d22c2979e4f99e7c603a99f60963c26ef3ad0f2953bdec167

Listen: Ogg 391 | Opus 391


All about workbone , xfsdump , and zsh from the AP software series of Slackware Linux.

ogg 99196d06eeab023f01cf4378be942519437d996d3fbd28224161e9be70a0beae
opus 58c5d3622b415b964e425a491d423f61202e5630c046c7e87e9d00e766b320e8
m4a 37e8aa4d95a376ea9fd5fdf1fc49bf728cd8f734f2656aed8ae174a825ff88ca
spx c9aede6cd53021457fdf54eaf6aa4a936ef162e013a0f5ec5761213487d35d0d
XFS dump
Oh my Zsh

Listen: Ogg 390 | Opus 390


vbetool , Vim , plus vorbis-tools , including ogg123 , oggdec and oggenc , ogginfo , vcut , and vorbiscomment .

ogg 122e71371dbe76ff3454bb31aca2e333d508f585b5af4b4828d89cbb303e5cfa
opus 8a17106e328d67625ea4ad8bd25c75dda04e6bd530aa197b2031afddb21413a0
m4a fe31d51511a85ac50e9f61a4cab48d3d7eaa522c5a9631aa476c4b23ca03158a
spx afe26da973e77cf8a6623055acc423a9fea9d4539d50309677b92e3744dd81e5
Ogg Vorbis

Listen: Ogg 389 | Opus 389


Hardware review of the Devastator 3 keyboard and mouse, and all about tmux, plus an obligatory mention of usbmuxd.

ogg 99966ea9253977374a698df9f1be13acd7f1b8f08f4215e4094713e81aeba301
opus 1772a3f9c564dc3f2a7f5c854cd5da6b9b0a2367d01badadae06411abb9627e8
m4a d531203e6dd2d1407097c621195e96aa0fc69df0f9dd77e4e2a67f1a91e8b00a
spx d35a0866d02f505e56b443a6b1bea71dbe89648287d7c12d8721500bd8c966c9
Devastator3 by Coolermaster

Listen: Ogg 388 | Opus 388


CentOS is dead or reborn? Also, all about Texinfo and why it's better than man and groff.

ogg 2f7910cf55e2835184f33f418f18ab12c341eaa6b72145d964203fdbf4ef5f50
opus 6ff71517713beb461347f836c0423d2f155674a6c5b0f7c0ea7ded120c400837
m4a f931b12855a60072d9365dd9b3ea7806afcd4962ae357698d1c73d687111e7b8
spx ab1d317bde84221eec3315831459981097f92759f68290ef5252b16b840cae7e
CentOS (Stream)
Rocky Linux

Listen: Ogg 387 | Opus 387


A look at iostat, mpstat, cifsiostat, tapestat, sar, sadf, sadc, and terminus-font.

ogg f306996246b440c2217e74b7957918de521a242bedd6742aedc833ca0680e4c2
opus 8e265a2b3f475f8d2db7452dc7a9b3e88db47ff394fa5d461f68891239b6309f
m4a 828097c1b811771dc57422f3b61585fe3c44a30abfd14f82ef92bd4ecab65ee4
spx a54030bbb0901c6fc30ff927f2117de267fd54998fb5bb6c04eeb80d4ba49924
Samba project
Terminus font

Listen: Ogg 386 | Opus 386


All about squashfs-tools and sudo.

ogg 5d05e939fb3e130d4df9152005f44b52bced96f7ee4c9b91628990af90deddc3
opus e8e2da0c398dba2e3e340a0a48b9685dba60691d099f205f263710105501a98f
m4a 7220f4a45fde4cf87c71b6a3f4fb27a09ce2f3dae6cb74fa6c12576dbb5af590
spx 7ff64d34fb7d5b42bfaaaf43c9e3da01f5531e3010ccb8a3e03360681c5a1a6b
SquashFS docs

Listen: Ogg 385 | Opus 385


An introduction to SQLite.

ogg cad720f9f659fc73ed71eb688fb401133082cc2587a4e47e9a2d3f8b1c9d670a
opus 82555744d076fcfd410506c4ace1cc5d0eb7de7206504b54632d565a7af244d7
m4a 18493f81c07fd9efb945f780fe4112f5fc0c299b86765e07f0d180f339acda9a
spx 5eecea46c601057595f7c26d1385f3df7ca8e825f69627ceee30789cf8c41996

Listen: Ogg 384 | Opus 384


soma and sox.

ogg 3040317149a705b4b03b37430b8da2c1a231a12f40fb30494f6735e708de7b69
opus d87cdbe3a65619c587d0db176be7435e132384863ed2ed95f641c755e4a90165
m4a 7f7ad306724b1d9497382dd22088854422ab2a130220de517884b0515b1ec376
spx d14201e3f4f120214303083730c6526855d44f0643267fe74bc00f9a402e35f8
SoX docs
SoX tutorial

Listen: Ogg 383 | Opus 383


Linux, Flatpaks, Android apps, and ChromiumOS on a Lenovo Chromebook.

ogg a8787806438959593a5b1b0e5e8598ff0da823f8ae927258cebe88b8ee34f536
opus bc1005f838a7b8651d9d373f6fdebabf764aa8c3d433f083e722ffa540e3dc40
m4a 489c3b5779f9158af43e95c6822934d1cd1af2ec09381ab9c78528f1e53e1315
spx 2ddab930880d01baf6ceb765e9cb0f629c8a00305c57a435a394956c97af329d
Building ChromiumOS
Google API maze
Board codenames for build targets

Listen: Ogg 382 | Opus 382


seejpeg, slackpkg, and related hacks.

ogg 37e74309b1db8f38a5e12cc6f385b7a004eebad40d590a7015a7fa58edbc22f0
opus 86de9a0c7109bb68f06b2738aad595e766df1c3351ec436a68e80c1b190e3c3e
m4a d23ae7466c7764a4689ef1d30c4ff68de3608023bd34c7a2aa08a35badb24ae6
spx 8c3c31d00526fdbe2d3d8ff3134398e620f759398123ad1f1af5e0fc1b296a62
SearchSBO utility
sbq for building queue files

Listen: Ogg 381 | Opus 381


rzip, sc, GNU Screen, from the ap software series of Slackware.

ogg f8701309ff3d93483200946f40b9fa873620f4cd67377733ee0b3c5ac58ea311
opus f0653e4c01c15c8956569c3753fde30052bc5e38761ba82bedd201a478fc5bff
m4a 03d3d589d006466994860c3905bb3455621fef44b53253df3cfe6e261f4dec58
spx b818b34ce2415e213e3feb58763f318935752b0130d438519044cd9db9d3afa2
GNU Screen
is a fork of sc

Listen: Ogg 380 | Opus 380


qpdf and its surprising PDF cracking ability, radeon-tool, and rpm, from the ap software series of Slackware.

ogg ae08b4bd2f3dcc3c99f910b167a74e28b0bff969362235a66304a155d7e699e7
opus 36c066d86702dccb1ff0dd33420b24fa4f92fb606f8067c012e3a4fd966d8a51
m4a 6fffc5f7ad19d9d19da849911a71016a69745155f604f2af7b050dbe08f7eb0f
spx 4ac9c1b260ae3f39415f8b8379f1f074b7255ba9aa0d5479ec4ae2fe36d9809e

Listen: Ogg 379 | Opus 379


Listener feedback, the Powertop package, and the state of Slackware in 2020.

ogg edfca5d6d0eb868dd4254745a12c914f52f4fa23832780e6af46a1f501499cee
opus 373d8d277e34d1f0d7e686ceea06227ccb0a1a33334a8f4809f3511330eb7256
m4a 1870107e38a9f9fcd55e155148f8cf978d8e491a100cfe4912bc48eaa76963a5
spx 063d2ab6750d7098eaf9c8b7cd554d68104a2291be47183e373e04c70a9e164e
Powertop presentation

Listen: Ogg 378 | Opus 378


normalize (sometimes packaged as normalize-audio) , pa-mixer, and pm-utils from the ap software set of Slackware Linux.

ogg b2c1c95f67442d521fb9811a54fd727b0d2ddaf78f5ecf6bbb56151fb469588b
opus b1236b80e8501964b3f902d7fc72d3080245a9b123aa9ebcee4b524e09528929
m4a ae40bcb7028d95f9385c7127db1e3a5a827bf2d49482e9aebb807c6f2561e54a
spx 080d56ce3c5f86c18359878f50ee5203d335185b87a79672d3a4ca2fe97cb7aa

Listen: Ogg 377 | Opus 377


Fedora Silverblue.

ogg 9edd7aaced5d0e9a4da67d8743c19f361e28ec1fa35005fb8ad98d3ada3ce1c2
opus 78e5de1fae560aa593b9d3afd552e76522e85d535dbeeb10edb173e09b69a47e
m4a 1378e56a919bc01cd30a611e1258440ca517e08fcd035123c7316802936c1686
spx 298573abf57d91f62c59716acc0553461e3362de330a333a497d2e438f203ebf
Fedora Linux

Listen: Ogg 376 | Opus 376


Listener email and a look at GNU Nano from the ap package set of Slackware Linux.

ogg 691d8d45e6a7356bd2a376e5d57d19100459ac996f0eea9651972abacae297bb
opus 89007bf686556b724aed8bc9bf3114d09df32eeb79f70d0a2fa21cf9abbce7a7
m4a 7bb8b705f242f50d0eae97974cd885ef19c6013010add8e7fd4b824a50d68615
spx 4cc8b610207f7b5c99073625ef68dd1cc9f13abfd3b0975cf0b86c122233d6bb
GNU Nano

Listen: Ogg 375 | Opus 375


The music players mpg123 and moc (mocp), plus the popular mc file manager and most pager.

ogg 8d60e71b74f9e3a237202e8dec8e4c7541a6d6044542dbd263ccd6f560bcdbff
opus e0af1cf934cbf17bfb8918cce6fcfcf1471b5ff68e333d995a8133ddfa2b2377
m4a ea158e6eebb809e84e8b6686a20e9c51c09c9bef9c6528b945fcb9cfbba06aab
spx e10ead0c4312263ec535c57eb544bb1774acd39af576b8d396bf2bb3e42d5eeb
pagers in Slackbook

Listen: Ogg 374 | Opus 374


An introduction to the mariadb database and the mysql command.

ogg 447d20a7ae21d3b1facae7fc4298a83444c8593ccfdf043ce71b2252a47afaeb
opus fff2176e6153c88febbccec2438fa826a77466b9cdeb5f30d890508687d26035
m4a 6935184a75b70ff6888e5bb1fc8dd97f6a459db4bcbb7faeee852dc679cdee17
spx 68530a2498eb2f17d660cca8658f221125f1eead2703b4be693fc0298a45958a
MariaDB tutorial

Listen: Ogg 373 | Opus 373


madplay, abxtest, and the man package of the ap Slackware package set.

ogg ea90872525214b27203663b87edd3c539f65925c44539a7c2ee91ec76a4e807e
opus bb7e94ff40896316a69acefa3c4a2ca290cf9b18e8261103e2b315d2b879f6fc
m4a c81320d5cb23e989cbaf8a67c9771f08aeddabff1697a59dc6390f9926ee679f
spx 4b77a70f1fc1f9f4889bb6c1e6065d32279bec6b11845b5c0727fe3839971c5b
Keen for a game? Join Klaatu's online tabletop RPG
Slackware package list

Listen: Ogg 372 | Opus 372


History of containers, and a look back at this past weekend's Open Jam game jam.

ogg 3e6ebf899c8227b5a6344b19b2eb53a63932d582161e8895f2c58d3792c301f6
opus 7202d66e4cd40fd5f2c44e432388de385b04ac009e35fd909643b7277bc44a61
m4a 7fe0eaba221a4c017087094a1e5dbbcbb9a1597aa62caa63733631a4f6754600
spx 37b056f40bb1186a66e2b9d1f9061357407ce1bd49ae644c7a69943f8b655ef0
History of sandboxes

Listen: Ogg 371 | Opus 371


Get started with containers with lxc. Also covered in this episode: the lzip command.

ogg fa6d1575f3f817b3d29708e2c3dfcafcd6f552d988b7a0219bfb8c9d465abe71
opus b0ce45ac191164126697389af2c7deef04152487d600b7b38bc1517cf988b06d
m4a 7ba2eb4b06f5c8fa12c7537fe1985401665ec204e43dcb466ffebd6326e443a3
spx 1032fcf5c54ecf7ea02d2aebcc13948da88e91fb0cb726a38d5e05dd6bb0fd2e
Linux Containers

Listen: Ogg 370 | Opus 370


lm_sensors, lsof, and lsscsi.

ogg a0b8eca38dd1f3028a361416eac4daec546a5455f30a892fcd937b91abe77055
opus 91a067a42ccf88c71aec439451759a40634ae74cfa5da36ce4937b03ed3a0e4c
m4a 2ac80b9534a6c825aa003d82ba564d92303024a956f7b369f138ecc0e6bb9c58
spx 6ee0185cc488995c6d7c2c4a1b4e245406a9c907d265b3e81e1f5a9c50eb4cae

Listen: Ogg 369 | Opus 369


The final binaries in linuxdoc-tools, most notably sgmldiff and xmlto.

ogg 321129430008f82f781a82510d99f0e2a38ba72e06e925903c64e6f5cd77c0fd
opus 4a1aec4f58b96a163dca405c33588222bfed85dd93fcc0fc983ac69666cb047a
m4a c9edcdd898a2f0b993c380844b8d7b95989da351d8e8440b533193055bf5b9c5
spx ea8b2d319023a85bf4ab268d4739b0faafe12128e106f9c002d1f5590f9eeff9

Listen: Ogg 368 | Opus 368


More about linuxdoc-tools, including some basic info about SGML and DTD.

ogg 034e597e89ac388d5e8736adeba837a03eb51e63ae18b75173f8e9270abdd6c4
opus bf0d2249739ef7c7cb26c019d981a3acb5bdb1a843a07affe48d09bafc47f11c
m4a 25e450b62ece7145359a6a89cfae84cf3a1f5ba62146a8b216c2bb05182cb3a9
spx 8c9e657222216a062030b663474679ae43bcf956008d288b6435f61e3ae7a63f
gtk-doc manual

Listen: Ogg 367 | Opus 367


Hey, it's time for another Debian anniversary.

ogg 2b5a04c04e463d860d2f8dbce425a6d99489da6c28d3674a3cccf6dae29cb8b2
opus 19126fe617369f65b7b62ebc9e781574bd15933a31d15f0da74b3d998b26aefe
m4a 1fe88e98c8879dc8e9cfcf118b08b93c9d3cca59446bfc39c565ed3fdec9b54f
spx ada4bbef5e714fa3bf533d9f225850c6a7582836de0bdb6590a84f1861aa5459

Listen: Ogg 366 | Opus 366


libx86 and linuxdoc-tools, including Asciidoc and Docbook.

ogg 1c7ce8e031f7dc5c72d35fca6d5c049f9822791d3ad18474a65d6d4b2b5984fc
opus 3679baa13cac73e8d78e4d1946098a7f54d163096c8e287d2f59686d0fc448ff
m4a 156ae740fe92fd7506cb6ceb4f71b51e1a6932e8f4c77edb8fa2771c7747a968
spx 1ef90eb37469d2144bfb6c3d6ce6b076b4dcc2608ce82341f82884c6c3301d22

Listen: Ogg 365 | Opus 365


The Korn shell.

ogg 2e667ae8289eb0d704b5953d95d24b9036bf52ad72b33f30669913f35b063ede
opus b795011ef4ee526466a14cab3f842347a011a48941aa67a53c22e2177fec650e
m4a f19d0bc0a8718597d1f414eb3eb8b120c31b788627a5a188dbd8acef595fa5df
spx 1a8645087519c3403ae152a62b61232a7da286c4ab6ce3a4a015f1021fc81691
Korn shell

Listen: Ogg 364 | Opus 364


The joe and jove

ogg 39e428a9c91a97eb8f4c4f25a2f49e19fb6074abd467635a40be38ddb60bc294
opus f2cc32612f6b993d27eb963a865ecd7426a6d948c53f89472f4c3c4d05befc56
m4a f27d8c7a3cd40eb1a8f84e4f460896171be1253884dd78744cf3e70b145945ac
spx e7306cc95ffa1709f268b7486384483609e1e1e863ae4caebb0e920e7259959e
joe website
jove FTP site

Listen: Ogg 363 | Opus 363


The ispell, itstool, and the jed text editor.

ogg 3a813757a3dd324bd67dd7ce6686b7167a42a53ed6d01974d796d07aad03da48
opus a205c73756a780bbb261e4516dd093b704c2e1ca33d90c03ac1ee6e73fe49718
m4a afabbf18174e55f240d7eb5efaa7a31753ff29bb52f44d27347bde9b0b772694
spx 33444b66f70757b9a9d2388e3e425e36e833f2df1f931e0ff235461f62a9df61

Listen: Ogg 362 | Opus 362


Gutenprint, HPLIP, and htop from Slackware software set AP.

ogg ce0a5743e17f4b21bedb5397fb05a4c9b56f6fe7dd43b4242f53e2cf84d4e8e1
opus 200a19a4fabcf217c18e3d60800882012ae0bee4cec42b42414c888080674c8f
m4a 09d5dfb3f8fe3349437459e7c2ad3b5cab2fd536bd3096b935420b2b9422d12d
spx a3a762f48a0879ca702c45486cfe3a252dbb913a0528ef956fee8d4f2fc3ca69

Listen: Ogg 361 | Opus 361


Pdfmom is a macro set for Groff meant to make it simple and intuitive. Here's an example MOM document.

.TITLE  "My example mom doc"
.AUTHOR "Klaatu"
.LS      12
This is some sample text.
I hope it comes out alright.
It probably will.
Thanks to \fBpdfmom\fP.

Process it with the pdfmom command:

$ pdfmom > my.pdf
ogg f8465a22f1f1a102e02c2a11a4d2057fa6b7277ab63dda6f1ff9151f83d03233
opus 5be14e2cff0707bb89834c5a098295ab89795bae436b47a570792d7dc716bb5a
m4a 04322dbb9d9486d73a16d40b749ab241b88fb00a66a1b0b6ae9aee471d6d531f
spx e949e091f88aa87d9b8433aaac6c186fb0872a781fa8f7dd59e2698643ab90d8
Pdfmom overview

Listen: Ogg 360 | Opus 360


gdiffmk for producing diffs of groff files.

glilypond for integrating lilypond musical notation into grof files:

    $ glilypond --pdf2eps -t ./b -- example.1 >
    $ groff -p -Tps >
    $ okular

The grap2graph command to convert grap graphs to a bitmap. This requires the grap command, which does not ship with Slackware.

    $ cat internet.d | grap2graph -format jpg -density 300 > my.jpg

The grn command is a preprocessor for Gremlin files. It appears to be non-functional, but it's possible that an additional back-end is required.

The grodvi command converts Groff to DVI for TeX. It's basically a shortcut for

groff -Tdvi

Have your computer guess what groff command you need with grog

    $ grog blah.1
    groff -man blah.1
    $ grog -Thtml blah.1
    groff -Thtml -man blah.1
ogg 1b58d9251de95a186ce665cfe92e21cc5798b1a3acfe24cdeb434916c94bebac
opus 5f6d6cc08c10617cba1c091b2fc3d3a43d9ea4ec4c13e1baa99bdc76a382b676
m4a bd3b393140ce69a98d8be549a58e30d74dcf42f364516e4a7bdc2919ed22c1e1
spx 44c32fe15ab8398e13d3c5280dbf4540eac3fdd6d8acbe1aa84f501b716f0801
Lilypond music notation language

Listen: Ogg 359 | Opus 359


More about groff.

Here's a math equation:

e = mc sup 2

# prepocess math equation and convert to pdf
$ eqn -Tpdf | groff -ms -Tpdf > my.pdf
# or just use groffer
$ groffer -e -ms

Quick conversion of an equation in eqn format to a bitmap:

$ echo "e = mc sup 2" | eqn2graph -format jpg -density 300 > my.jpg


R1: ring pointing right
R2: ring pointing right put C8 at 4 put H10 at 5 with .V6 at R1.V4

$ chem example.chem | groffer -p
ogg 964f3266bd0c341dc3e66902eb1d14d13cf75deaa2e52c10158e5fa014939c7e
opus 2257f525020b3343432a360d54f884d89bb8103ee5da519ea98103ec1240b506
m4a 33b66f5f27768b525c2ca3b88316ac2717f3e268024b0dffe8243c70d74c1936
spx 2a93374d900d9594ff8e7622143483723d34e780e1e1116c155960ea2a8066fc

Listen: Ogg 358 | Opus 358


Listener email about simple-mtpfs, and then groff and groffer from Slackware ap software series.

$ simple-mtpfs --list devices
$ sudo simple-mtpfs --device "1: blah (MTP)" --verbose /mnt/floppy/
ogg b7a62e2a129ff2c79ac7314703dd8d01ab688ac54be881a8ec86eb8f6727312b
opus f438b932ee9c9b53ee2e3036cfe2ffd29daf1e10ac2d24b30f6a4669372db33a
m4a 264e450fba7c4ddb622d88e9c8d5f2b6e77aa9bfd0909d976c94716ff0ea2b34
spx 16ce82edbd305f09d69a8a262d2a7ff92f4a36f94924b29e62b4fe68d25b23e8
GNU troff (groff)

Listen: Ogg 357 | Opus 357


Despite its name, gphoto2 is more than just a command to control a camera over USB. It also interfaces with MTP file systems, like the one you might run on your mobile device. Find out more in today's exciiiiiting episode.

$ gphoto2 --auto-detect
$ gphoto2 --abilities
$ gphoto2 --list-folders
$ gphoto2 --upload-file ~/path/to/file --folder /folder_name/
ogg 6491d7453c196cc7a89a9bb30fd7cb79db20262186d095d76919712a30492917
opus 3315578d769a41ecb25a21c3464316a922d06f5038ee84b203715fd637ce2066
m4a e92be711c74f16b4c0ca59b2f70e04cbea196453c77da7d7f19ba9be7d9107da
spx ea487fc58075e905d15efc9708a64467bc3cf8fc3be38137502e12638550ce1f
Use Gphoto to get files from your computer onto your mobile
Try Share to computer to get files from your mobile to you computer

Listen: Ogg 356 | Opus 356


Learn a little Postscript in this episode about Ghostscript.

Here's the example Postscript discussed in this episode:

1.0 setlinewidth 
10 60 newpath moveto
60 60 lineto
60 10 lineto
10 10 lineto
1 0 1 setrgbcolor fill
%%0 setgray

ogg 2137b030fb0aaa989d8c0889e2027ea53c411e9325d136b7520bcc28bed366ec
opus c1e16ddb9bfbed9e37ea45854bb8b2632cfc6b03aec3ba5db6013890326b7cc0
m4a 0bc37b089c6a05b0c0389864f4df0e65423441ad1c6048e4c877e540471d9f4f
spx f8e13736d7ada1dd679af35c290a40242175fc273c40ce81d337dcf12537918d

Listen: Ogg 355 | Opus 355


enscript and flac from the ap software series in Slackware.

ogg b30a5eee768734c9bb9a8c9ea7e220797dbb78782a1b6a16a1bb78c3703c01c9
opus d698b095a52d0a07bfef64dc89e4805f1f780d11c71db3acf3a538ba8b51a46e
m4a a6f641b8d1d07ba5233a73f6824e13b8c54f02bb671521bfafa210bb1c0e22c3
spx e9f9afd3ffa3697c8c69187a9946490bf8fe2ae2f8953bf39d38df81a05f1945

Listen: Ogg 354 | Opus 354


dmapi, dmidecode and related tools, and dvd+rw-tools from the ap software series in Slackware.

ogg eeef2b68f2b247611fc8c62b7089a6ce6b0c1761b8f9b7b848ae5d2c49f9ec52
opus 62f9228763fae21a1d9b8bdd2f344c93bdea05f09491e062db390f0753568664
m4a 15df893396cc179426552567f38bd6212ca5c60ce00107933b40b2b50e287f02
spx 58c13b88437cd53e208370224e2b66565c4665453fefe3aad6b0f593a7584fa5
Systems Management:Data Storage Management (XDSM) API

Listen: Ogg 353 | Opus 353


Using open source in real life.

ogg 0fd20ae0f5c8548b87c6e0172c156fa784901f310824f5e89d6b056804b56f24
opus 1810257c5ccb777affa94bd3ab4f28177577fbbdfab5bdf88c11b77a6e6bce6e
m4a 88c56e9aa49e82705dd1d7ebbd072997c9d51fa3ba293f8e495aab98bb8f2c1e
spx 9d8939b05a2401b3db15b323e15412633c2baeaee0c6108a78a4a12cb349d6b9

Listen: Ogg 352 | Opus 352


A look at the diffstat, cmp, diff, diff3, and sdiff commands.

ogg ccf6f683cbc3cd63eb279cfb4eba25fd7b2ae5442e857fb4343f3d96124729e0
opus 2d722c19051321577f8881da6c7bc68fe5e5364ef031a57463aa7ee841d6f3d7
m4a d24bd9bbb52b5293072def88ee74c3dc20d7d0f50bf93ffe35a3b48b7a6c23af
spx 4663def692c8e4e6feb0abb489a4a4c8ce699676a22e0bf2db3022b6be9b7f86
Testdisk and photorec
GNU diffutils

Listen: Ogg 351 | Opus 351


CUPS filters, dc3dd, ddrescue from Slackware set ap.

ogg 08856286276094134acda428989544651c74d027bbb26d7501ddfa8cf57233d9
opus 4b6768837a088b6f67f2a4b8b9da2ae0c21b624ca5dcb971971ca7b7e2e071b9
m4a cda445f8f1fd2474307fa0e00bd0759ae9c735adc07188c253b56c64f3c8a683
spx 51417ac2ea36e0d3c37980cdd4a6c95ca6910d72c8cb97bbf97721153f6713db
CUPS filters

Listen: Ogg 350 | Opus 350


How to get to the CUPS interface through a terminal web browser, like w3m,lynx, or elinks.

The philosophy and culture of bug reporting:

  1. A bug is any unexpected interaction between you and a product.
  2. A bug report offers you an opportunity to troubleshoot a problem. Ideally, it results in a solution before even being filed. Otherwise, it is a recipe for the developer to experience the same problem as you have.
  3. Bug reporting is collaboration. When you file a bug, you are not disturbing the developers, nor are you exposing them as poor or nefarious programmers. You are developing along with them in an attempt to optimize an application you love.
  4. A good bug reporting tool is also a task management tool.

ogg 60d7d23422e265096494a395ab532e66fec4bc559eff506df494922720b8a42c
opus 3da40809afb05a7df603511d06a8bd84df53de0e422501a00fae0015ea9599e4
m4a eab13cba2585e7f9fe07ad2732c646d19fe5a77bd540e77b3727ed16cefe00c1
spx 1f42f93d5c3c04bf1fa0faf756eed753cf40ae8321f91c13ffc3323a69fdfeba

Listen: Ogg 349 | Opus 349


All about printers and printing with the CUPS and lpr commands.

ogg f2a97651d0c771f1932fdae3eb78003f178ff53945fc15f8e72d0bf0c6e68ec6
opus f8a51120429c2807dd2db01e1122de27ab6335475dc91736df1306468225d611
m4a b1a7c53f09f8d8c0c8cdfeddf14bcfca371014bd9fd0d52288392aa7631bfc64
spx 4d6dc7dd6cbdfdfcf9a5bf3a612b9776abb7bac2c79ff0ae3f7e86627a6242e7

Listen: Ogg 348 | Opus 348


Musing about the Common Unix Printing System (CUPS). Next episode will be about the CUPS and lpr command set.

ogg 526d897467b4700e1f52b0ff4aff40e3d1717746c0d1496ca4ecdddbe3f746ee
opus 149b7e747d19c3f096b3c5ac879129d28aeb7fb2ea02dba0e1d4104823c2462d
m4a 2ab7693fa458307c38f4e7865795a9212bae2885e2d79c40d7f7191c9d6799f6
spx 3971f467b27ebf7db90cf9b84647a0a5ebcdf06b2a81441376a78c6d0a4b4dfb

Listen: Ogg 347 | Opus 347


Cloud, containers, and cgmanager from the ap software series.

ogg 0ab9699ad8edd33184d49df20bc9985037a8d0ff0555cda04c02737bbc6defd8
opus 5d9a9c7f95e8b5c1ac166865cd17e2019d454962d5f06e01f94b00248703cba3
m4a 0d27e7c84ef2945ae25bd7040e49cdebb08b40263fd508332422d659780f4d40
spx b553b06ea4837c2d0f4489ab3c4f204cf3ae45ad1051d7a953a77089f211dcbe
Kernel namespaces

Listen: Ogg 346 | Opus 346


Words of encouragement and solidarity during the COVID-19 pandemic.

ogg f8c083467c3db586b6b52d2f4c2ba451f95cd68c7d5fe79aa4c578c9128df4f3
opus 2a95fc370922f278e89f906a46007178a91c1fe83abd113a264b7f0fed3fde08
m4a ce8dd58ba9309cffab46a866a5c9366651c99ccec2469cdccbe05c4d66d7fc1e
spx 3b30117e7509af32328da0d406148d98e6a9cb4099e89aae5e2eb33f0c356207
World Health Organization
IBM and RHEL and the fight against COVID-19
Stay in touch over Matrix and IRC

Listen: Ogg 345 | Opus 345


The many commands of the cdrtools package, including a bunch of useful utilities for .iso files, such as isoinfo and isodump.

ogg 50c760903faa7cfee397acda52f0c06118965ab8ae6bc452bfa1a24b03e62b14
opus b7d4014565480ff052cecea5ebdf22f6b46dc99a722aa39c9045eb78f3d97ba7
m4a e5bdac5627c8cde6e6279e1af2c422dd0f1c3d8427dc37e4d4a1aa06eea27094
spx 6243d2cf1b158f49eb3982b3e85f08a588fab045254562956b98ee20fbbd51be

Listen: Ogg 344 | Opus 344


The bpe binary patch editor, cdparanoia, and cdrdao.

ogg 2e0b7bcbf2b73b820c10e40b39c594f4ae6c94ec3bb3dadaa6c4f6a0c090e0f2
opus a85b24c5c03005184cf55485ac08d66206a1a2b02cbdaf03f051af8b11d35401
m4a 3f30234e986e0fcc64c3cd5a261b8912f4d1be949cf59e9ff2244bee47b53abd
spx 40ea62726304fbc2b3eb59642a59824c380e0ab31ab667938c1e30a7d095c823
Seth Frightening, a CC-NC-ND album

Listen: Ogg 343 | Opus 343


Licensing, and how non-open corporations are inadvertently flattering open source.

ogg 269feb919e026eb2e31d22ac9460053f2377df8e24f7db11feadbdf2630cbb34
opus 295023aa576d62c30ed8597d35c40f628c6875767b19ba8202fb2414516f8b57
m4a ad86d45e5c2432ee32ecd7a374d45c4aed2c59f90095687f110160926ae9d5d7
spx 485aba262a12698afa20f175f5b8d4f52594eba368e452af588f6730f658708f

Listen: Ogg 342 | Opus 342


Listener feedback from beegrrl about OOP, and bc from ap.

ogg fb55a7417e1749ae0024614bd3ee5611729f1001f2bcacd352fc64e92a10be5f
opus bcded6aee11883de7b85e66ec2635ce5caad27ba56295845cfe7db46c6233df9
m4a 1e24cdd37505df6233989ff00daacb326cdbeb117991625484f39f1e94f212b3
spx ce40425588f8dd7c3998f1e1728339045d40dd4eb4cf0daa22bb6ec6bbeb8d07
an amazing calculator in pure Bash by Wei-Lun Chao

Listen: Ogg 341 | Opus 341


The journey through the Slackware ap software set continues. The amp mp3-to-wav converter, ash shell, and the at, atq, atrm, batch commands.

ogg a5e4b99fd72eded1e0bacfec7443a897824861f3881e661ecf1a3eb2f0665010
opus a80dd6839c9da15f4cdc310d437b69e1bca81a1051991b1f88973d96a71f0f57
m4a f65b95bfed82062c9b1d7359147b5bb99eebd75a33bbf6c56081a7df4dce13e9
spx e9bd53d219a075d2771761af8be4252a53bbc6bc98361b00f6d5fc8c47c048ec
AP software set

Listen: Ogg 340 | Opus 340


Thoughts about licensing. Coffee. Then thoughts about Java.

ogg 7cc76c7d1028386ebda83d18568cd0d2edeada203c69b67f46fd45075ae44fd7
opus de32b1b2398ebcf64455da5e4b8f2d272826067cec16d2faa4efada4b35b3ac6
m4a 367f10bbc1f174f70d8f80ff566b90895932e1619d699c31df805323fc3d6440
spx ad06da2264304c495b9b4868aa61cefd66d3d5c916b335d91f4db87b04d68987

Listen: Ogg 339 | Opus 339


All about troubleshooting audio on Linux.

ogg 901d9245f828294670e37d7f17fbcdcaee3376a2fa0cf3c6ad6e649c966e31c9
opus cbc2e983d2887c5e581a59d79c628f918c9cb7b33a2397db9863ffbee1e7e43c
m4a 80c593545cb73ea6865a4a9972bd9b1ca95edd67ae2dfda2cc28e2de3485ceac
spx deac68530dc7c7ee369b4164dadef76fa08d8ae854c483d260875c3e3cc54934
ALSA project
JACK audio
Pulse audio

Listen: Ogg 338 | Opus 338


alsa-utils from the ap software series of Slackware. Lots of interesting utilities in this package, including one that enables you to send MIDI signals across your network so you can (for example) connect a USB controller to office office computer and generate sounds on the computer in your studio.

ogg 144470423a1f2434b391d51ab6d1b2e30fe249127f379786d3e8d5d31aa50a84
opus 3f1a00eae23b787244f6815b8ee94c8495c082635a000c40e1ef94c392c8ddc2
m4a 6b88af23d2c137e6f64d11bdd3cd69a89372e9a36a12b0f73085997484a489bf
spx 4080a377d114f6c9f81b60fe469e0efcccf969c9df5827835cc8ce752e44e1cd
ALSA project

Listen: Ogg 337 | Opus 337


The acct command from the Slackware ap software series.

ogg 6e2498c43ed1efca283ffe05bc003cc94bfbc02e9550d534c52319f62fc3fadb
opus 1dd6dc5a7c69e29ee2eeda7ddce3216a65150238eceee8da4bd1a673d3c2537b
m4a baeb6505c5c941e9c5f3a97f3415c142b1b8e07a1d940a5c37234181352e8f4e
spx 748b46d3d36a196a881a6376c5f21c08676bb7917434daf39634a04afd2f61d6

Listen: Ogg 336 | Opus 336


Listener feedback.

ogg d4f6300fa2c2928124a38fba27ba3db66ddb8f47635a3eee00b561a71453671b
opus c129c5310b350eb9b72daa4893308e594f768836fd06a2c7a277d98fc0a55abf
m4a 3132752526d4bde0d5c747170a176ac0d3ea5ee15fefb0522935e0e686d2d72d
spx fc4b92502f4fe471b10000c079d2bad5b422868c665865b39620fd10cdcdd267
Markdown opinion by mdoc programmer Ingo Schwarze
Geek social fallacies

Listen: Ogg 335 | Opus 335


The ending of the a2ps package, including psdiff, psbook, psmandup, psresize, psselect, and texi2dvi4a2ps. The greatest mystery is the showchar command, which appears to do nothing.

Upon further investigation (after recording), it seems that a2ps as distributed by Slackware also contains a collection of scripts called psutils, which provides fix*, ps*, eps*, *res, and showchar scripts.

The psutils collection is not yet in Slackware-current, so it is possible that it has been dropped from distribution. In the latest psutils sources, showchar appears to have been removed.

ogg 872c0faa92630453da3a94151488d2f1e0de75f698fc936031cc5f477430efae
opus a9a6ad10be81909478718ff0c141b0aff68f191756cfcc9da2dbdf5b2c37fd40
m4a a419e04fdb5cd7dc50bec11736fc321587f9c043f7137e17cccc2c53578bcd6a
spx 32364a5fb2bac309a60c9863bdfa3c8c99d23fcfc7c4ea007b9e0a7e2ea9f9d9

Listen: Ogg 334 | Opus 334


The ap software series, starting with the a2ps package, containing some useful and some obscure PostScript utils.

ogg 60c5d3572a267004b2b2881b0f9c563f7297e7eaa799661fd2e47da4511548fa
opus 30a2a52ec26dd07a15edd84569bfdacd073de7770571772730a99c476c390c4f
m4a d146a2a48fefe2bab9c3bbc60a4ecd7c3739d5035a01d6817d859d271c34c11e
spx 89ce6e6661b0cc54ea522d1d74270e1ba7effd84afbe29c22bc1d7f91f6f536e

Listen: Ogg 333 | Opus 333


Win conditions in open source

ogg 57e6b7ec22580a695ecde384ebd41987bfced5f4d551f1b765d953180aadcd47
opus e37e473eab2e3dfe7bc0c55f7b8aafc6cabc868cd5db76453bd623ca2d643014
m4a fe885b4fcedf371856d4791d0ebd46e0ebdebd59c4cbdf651912a3af7db3d97f
spx 14016c45ad51cc60c1aea10db4bdf7485ad2be8fea6fba27538693742e9bc12f

Listen: Ogg 13xmas | Opus 13xmas


Holiday bonus episode.

ogg 201023c38d53c58d99896d1b8d74651528b49d2cced94d2d1647e754b03c8202
opus bcdba813baae49416263db45ae7eaf721f2c54eb7a8fa9b082f3eb393e507efe
m4a d3883b131dd0ab3bcace8ec8d6d2c40b1a4a65dff1de526ed4825c8198e813f0
spx ad5b6affda11d51aff922b0ee9a5e09ab76183285a4c3c7643bdec5fc1bc7d2e
Slackware Linux

Listen: Ogg 13x52 | Opus 13x52


xz and zoo and the end of 2019.

ogg 418189bee97c564697fddf61baf41936f73ac7ec3a32bbd575c9ab0f3255f049
opus 1f398d6237124d8524d98bd69cd6b4501f2d395ac2fa930571c8d45a2a483b36
m4a d407c72b677ee3ce9416a7a67e8293f0824df1c09f236df750b2f62d7a4a7545
spx 6abf2cd28fd25d32c9afbc33afd996b62ce49f8e3ba7a388a2d7b8f5eb8f0a61
An article claiming that the Xz format [is] inadequate for long-term archiving

Listen: Ogg 13x51 | Opus 13x51


The which and xfs-progs from the a Slackware package set.

ogg 19b3e3b0068d2ea10b9cb991347dae7c0c58b09eb1ba2227448d2b64f83aecad
opus be146056116f27fbc5f9d05e8ad1cb4692dfe99b1a6a310c3915a7577e7c5f70
m4a fbaf308ca9f8928d507a1795803207a80038a4aef181f0f424b3b7983e8469e7
spx 33c45fe491f826767d5d736bf3a8babd036c3c2313a9279b29f05a33b381a617

Listen: Ogg 13x50 | Opus 13x50


Listener feedback.

ogg 2bfd50d65b964f134ecbf26bd7aea3c7b89c25e5149ecf72f2be8d8558b4d78d
opus 800b292ac70b1876d4013cde0486324f095e08763a43deedad7326980c3fe01c
m4a 69cac83097643c39a831d6b95457aef14c52b243a5e15d103f4e66279fac8d24
spx 5796486759f1d601a075dbe657ef3b1bd54a5beba3a1e7c73165c34c64e34a12
Debian Linux

Listen: Ogg 13x49 | Opus 13x49


wall, whereis, and write: the final 3 commands in the util-linux package.

ogg b5166541403ef6b20396886589fd6b007477c47b252fedf71fab622036b02c78
opus 485cd6a295aa8e67254c575e54477f4ac4dacce763ebc8221506c45a38dd2e3b
m4a 874e1a00578c5a0689c5a02ffe7413c45b8de0b14799db66bfa2419557619ca0
spx b5b54c915b26e0711c087364da7c687b0b33fea7a2f01a2cd986ce04ce31377a
Linux kernel

Listen: Ogg 13x48 | Opus 13x48


/usr/bin/u* of the util-linux package, plus listener feedback.

ogg c0827daada072a6be8892ec763cf29d97397f62944fca4f1174a9c05e0ca6416
opus 7ead9b27b48270949eea48570198f3845e1a5a3cc41902033fecede579d6e7d7
m4a 2c0a54385c0a52613acdcf073dd44fa9341bf23ffc4cb6aae9480fa466927663
spx 5766c5e28d5b5e7c8ed57831b68889c18a14028c86667646f65e621ad2d7ba4b
Linux kernel

Listen: Ogg 13x47 | Opus 13x47


Starting and finishing the t section of /usr/bin from the util-linux package: tailf and taskset

ogg 93d83630678f69409debdcab4769fb9ef4ccdf1c1b77abbf2da12d770bcb85d6
opus 9c29ad9bcdac22ce60c62a7339b6a1f720fc3a8284bf268c5ba3c9d3093ec600
m4a 410204e9cb49d39f2f0b7eeeb441a67b56ccd514dcaef0ef2e23aa8adcf2bde5
spx 07cb49a14618df4a66e80272b8262b719dd03286fb3ad3300fb8cf1efa1452e6
Linux for the Rest of Us podcast

Listen: Ogg 13x46 | Opus 13x46


Finishing up the s section of /usr/bin from the util-linux package. This episode covers script, scriptreplay, setarch, setsid, and strings.

ogg addb70fb5b278871341b3ba3a20e0700fe2a63973208d4755af7180e7a27c7e3
opus 92e0857e74eb8d06c13508f3501c6dddf8e5709c2c27bc3a4fb8bce1a366c64f
m4a 22f86277ff3b9459a82636c5b71404dd696b618e5e2bb3fe5988b2ff914c03c6
spx 90cfb7b6e16ad153b317f5b264927fc7f37ae65469cf1bf6b4813bd6bbf83fda
Multilib on Slackware

Listen: Ogg 13x45 | Opus 13x45


An exciting Linux origin story (thanks to Grant), and the reset (also called tset) and rev commands from util-linux.

ogg 5be5da6f4bb7de98517510558df3c4cd0e32cc024f1967ae0a2b2661c4215936
opus fca5da05dbd34a92f1152241f5829cccd9924e69687119f00d695b98c51eba57
m4a 3763188d91b194f34bfc8712ef769ffa23343fcb722cf33e57dd9688df824b8d
spx 3ead5fd56b5d2d7ada2c917e7b3537bd1bcf4461c0685b83dabb893de9b20c22
Slackware Linux
Patrick Volkerding's Patreon

Listen: Ogg 13x44 | Opus 13x44


Listener feedback, including some neat rename and Bash tips.

ogg db0155ae79c4338fa57185b1ee85112ecab12d01e46449b43c4b0d33baa116f9
opus 7e080cf8189a37348e771d92cb9b832befc9a2a2807786471c5017cb631fccb1
m4a 3ca3b677278e6eff2ca9603585704826b629d63470324990e161366a4debaca0
spx f72856bed419c5e068a285e15e63f5943811e100296da78dc4d64a0c230901df
Ronald's rename command
Buy the Lua+Pi book (Klaatu contributed to it heavily) from Humble Bundle for $1

Listen: Ogg 13x43 | Opus 13x43


Klaatu is back in New Zealand after the All Things Open conference in Raleigh, NC. In this episode, Klaatu responds to some long-neglected listener feedback (if you spoke to Klaatu at the conference, or have emailed him recently, Klaatu is not ignoring you, he's just slowly catching up). Also, Klaatu talks about the website

ogg 71c58f575db81b13f03b0fdb1c610c47cc68419da6e3dfc0844618e27bc8eb4e
opus 1fa30aa6c71c64660d8b1a42dccf8d1223ea9ab6df51c46100144dde14c9cf24
m4a d130f22709d80e79eb66f2a6c57e06018fc1eac8b851856079dbf91b96b793d9
spx 046a95b99d14e206c2102a89ba5b8235a21fffcb5228a135aafb3d9c9980f001
Creative Commons

Listen: Ogg 13x42 | Opus 13x42


On the road during the All Things Open conference, Klaatu talks about how to make ebooks from various sources, with custom CSS, using the Pandoc command.

ogg 3fa5481c72515bcad79dcda3dbc863ddc4e0d02bf852ff3a981bd95722b9efc2
opus d49b9c27c9e32de43b277dcd53a73361b5277e9d41bac0eb28ef17d12122fd91
m4a 5f35061534e32a70d03f90606f52e9d1a29bb51c4f526777eef47255d8df1a4f
spx ebd69e73abca6ef9e36949e7a29ab529929a882f37b61dce203cf2b28863cdbe
All Things Open conference

Listen: Ogg 13x41 | Opus 13x41


The pg pager, prlimit, renice, and using rename to rename multiple files at once (like with Thunar, but with your terminal!)

ogg 1e6a09dd790d8d4e3d27368a5654545db87618a646ca83f726ce7077dfb59751
opus 8093357d59eb79bf1880694c03961ca435cde1b4425ad23a1ef948414b427299
m4a c3754d13d5ae82f396acab0610f40a4847607ffb47e11ddf78ec38dfe3c25d6b
spx c82c5a4542fa8c370fb7683b354b60950b38ad1211c04514b72fec4d0cd221ca
Emacs Conf is a virtual conference starting on day 306 of this year

Listen: Ogg 13x40 | Opus 13x40


Is an open source operating system important?

ogg 4b0848c70077be1be3c9d1a8dd2e1d61404b9c19da704c449e609f264e87ea0c
opus 81751cf71c9af113d15fa61110fd9ad9e4cc5bad7bcaa19d5d27ff52e86863b6
m4a b2a2845c85ecac0da8af84e3cb028210ef61c47947ecd876944f47b505024737
spx 4b4761d21b3c3a4eda3827e4b2557d96e1522eddc25d2154989f9698ffa4dd5d

Listen: Ogg 13x39 | Opus 13x39


Listener feedback, the nsenter command by way of unshare and Linux namespaces. If you're new to "cloud" computing and containers, these are technical building blocks.

// On old util-linux:

$ ls /proc/*/ns

$ ls /proc/722/ns
ipc net pid user uts [...]

$ pidof tcsh
// nothing

$ sudo pidof tcsh
// nothing

// launch tcsh in a new namespace with unshare:

$ sudo unshare --fork --pid --mount-proc tcsh

// from within that session:

$ pidof tcsh
pid 1

// wait what??
// yes tcsh is the first pid of its own namespace

// from another term
$ ps 1

$ pidof tcsh

$ ps tree | less
// search for tcsh

// child processes of tcsh are also assigned to its namespace
// from the namespaced tcsh:

$ ping

$ pidof ping
pid 23

// from another term:

$ pidof ping
pid 26923
ogg e904380f0316259e6e2c924a324a3816fbf2c971d7597cc781cb0027690c7078
opus 1587db4f3aab615a455ca9faedf60873f5959c3584b1019e255d6a4b83ce2e69
m4a dab301e24d2a39fc75608f2f8684ba13dcc70f2cdc1322a0a4d0d4ae02cc0cd1
spx 8f53e096c763379a210fc94c7d434e6b2f4a0d3a5a2e20e14beb5f582a6eb01a
Hackernoon and the curious case of PID namespaces

Listen: Ogg 13x38 | Opus 13x38


First up: all about mcookie, mesg, and namei from util-linux. Then, a discussion of how one might transition to running Linux exclusively.

Do you have a story of how you switched to Linux full-time? Do you not run Linux and just run as much open source as possible? E-mail Klaatu at this domain and share your story.

ogg 5900426417c4aa444463bf35e2eb91dfb086675d99466164c0724aac4c8b3ef7
opus 409495d6787b8b1aee0c15a67bf94c6701ecc649e1b3ea615258b2bbe99aab5b
m4a 4c0ad1ab7cea51260d4b6c174b63515ba9abf6d1310bd700e67f309b6d313c30
spx 5114bd6c334d7bc0811b0af133f8dfe6f0ba349fafb38f7731fa0f2f36265593
Switching to Linux

Listen: Ogg 13x37 | Opus 13x37


Musings about 1337.

ogg 2d17f12751922898e1a8f7991f3570236f23ed19d17d402d6594a3b6e800c23e
opus ecd33de6682a230c7f881cef5e792249d41841504f71d12dfbccb6f35aba14de
m4a 66783b587359ddc0f5470c287b8c52bb55d93987df9585d516be800ab0f9ba0a
spx 1cd5d551f4ff919f0debff0eeef5c0d3035fabfc56ec8796106cf47fd4e1ec26
Jargon file about the term "elite"

Listen: Ogg 13x36 | Opus 13x36


Slackware Linux has a Patreon account, and /usr/bin/l* from util-linux.

ogg f6c4691151c12a386e9834cc5bfe1817ab126c8e0ff6b4fc4d00e1e244497804
opus ef4de084f564e9db899c2f8c054d889dd6ba86b0814ab927a745074a470fa49d
m4a f8457b323ab7a85e4cbc28de5ae0e5154538bcad2197fa1b4ee5acc0dd6ee59f
spx 86e2a978dcf3753d4fa23f79b8c82d45447ae2f955fc4e2b88ba1eef35e682f3
Donate to Slackware Linux

Listen: Ogg 13x35 | Opus 13x35


Recorded during Klaatu's stay in the US, more or less in response to someone commenting about him running Lua out of /opt, this episode is all about the /opt directory. It's also being posted a lot later than intended, so ignore the incorrect date.

ogg c5143b83cda9edc586dbf76a3ceb8bb431434bce5ee5daf25bda145b6b4a2fdf
opus 385e0ee6a027cf8f84b7ac47a08b943e3317cfeceb9d608243fd14f310889421
m4a 2ce434aa2e8354904703f9b742c15f9de3363b2c2a46cf0455978321c1740258
spx 7260c4a240804d0da2367e827638a31b53408ebe422f40aee80b87d653273717
Solaris Transition Guide

Listen: Ogg 13x34 | Opus 13x34


Klaatu podcasts from a hotel in San Diego on his way to Open Source Summit 2019.

ogg 0cb6d6c55555bdfd0f4941f5fe6137e41b638899d66efe7c78ea6e0ed5437d4f
opus 64e7320cadc04a110563babdfa1a5c87439a9fb515580e23b7ef67cfffd440fa
m4a f1db33f048fe0c5cfdcc93d4339d5158517872490ac9ff03eb38a75412737986
spx eb8f4823878e6041da2e72959195d7441f4be39b4c9967653d3781156708d72f
Open Source Summit

Listen: Ogg 13x33 | Opus 13x33


Klaatu podcasts whilst stranded in the Greyhound terminal 4E in Richmond, Virginia.

ogg 3fe4d60b987f8ff24d9bc555459947aa5eb3a4274e7a2aaf33aefa593b9c23c2
opus fa67aefee228d111a39f48e6ee41c6f41dc9d13cf83236fccde47138580f6e59
m4a ffb2d4e786c15f51fcef689671084811275e0a40821d3f84a3b7e0130637d073
spx 2c610f179c23b9ca344bc8b938bce75e5ab92c6be57634f8600b9786f573c8b5
Open Source Initiative
Not Greyhound

Listen: Ogg 13x32 | Opus 13x32


A nextcloud tip. Also, the power user conundrum.

ogg b3cbba0d2de3632cc37612be66c76654da72234d4c3f9ced3640bc1ae358db4c
opus 0fa9e882db85168388dfee032ffec15e330a7c6e64283265621568e8bb21ebaf
m4a 94de6516fa5dcbc90d96e635037a27668969b61a2ed9a595bb1805e32f8258fb
spx 4383830763f3a2202c08fcac27c2a25334f456028a7aa638ddd3b80a6441d751

Listen: Ogg 13x31 | Opus 13x31


Here's the ipc* (from util-linux) demo in this week's episode.

Create a message queue with ipcmk:

$ ipcmk --queue
Message queue id: 294914

View available queues:

$ ipcs | head
$ ipcs | head
key        msqid  [...] used-bytes   messages    
0x98544aba 294914       0              0


Write an application to send messages:

#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>
#include <string.h>

struct msgbuffer {
  long tag;
  char txt[128];
} message;

int main() { 
    int msqid = 294914;
    message.tag = 42;
    strcpy(message.txt,"hello world");
    msgsnd(msqid, &message, sizeof(message), 0);
    printf("Message: %s\n",message.txt);
    printf("Queue: %d\n",msqid);
    return 0; }

Compile it and run it:

$ gcc msgput.c -o msgput
$ ./msgput
Message: hello world
Queue: 294914
$ ipcs | head
key        msqid  [...] used-bytes   messages    
0x98544aba 294914       136            1

Compose an application to retrieve messages:

#include <sys/ipc.h>
#include <sys/msg.h>
#include <stdio.h>

struct msgbuffer { 
    long tag;
    char txt[128]; 
} message; 

int main() { 
    int msqid = 294914;
    msgrcv(msqid, &message, sizeof(message),42,0);
    printf("\nQueue: %d\n",msqid);
    printf("You got mail: %s\n", message.txt);
    return 0;

Compile and run:

$ gcc msgcheck.c -o msgcheck
$ ./msgcheck
hello world
$ ipcs | head
key        msqid  [...] used-bytes   messages    
0x98544aba 294914       0             0

ogg 0d0c0dc08cbe97f67062b249687efd69bfbd62b1862bd791a2ab79a64cdebcee
opus b23bbde87d3e6d74e32e74010f52b2bbdb6e2b4be4cbd31f968940f1e5f508a0
m4a 28df023c24dd325572d83b7f3a4239c39c5f1cc9dc28cea2207f50d35f2dd100
spx 3107c80cb53c0809873fa29b74c0612cc805f39b8210afdeb60176c67a1ce743
Generate passwords with LessPass
Generate passwords on
Personal password algorithms

Listen: Ogg 13x30 | Opus 13x30


Fight the cloud by storing your passwords locally. In this episode, Klaatu praises the pass command.

ogg d22ab25fa69869bbd0fec2488d803d6c92def36287e528cd92c555347a3e66d1
opus 4c2a18cf1cd94d760e849a12c31a4026cbe9873f4484e80840863013aa09b462
m4a 4dbdae729beab14723fd1e356e8cf52f45908d9fe834f9ad42c83bb6c02df0cd
spx 56cc64513566704f17061a94f5ba1afa3df428c0641f2fa044269859931efb02
passffFirefox extension

Listen: Ogg 13x29 | Opus 13x29


All about hexdump from util-linux.

ogg 7ebd2727fd8fcf03e7be0784f9b2c527a0dee06a7f6131433e853be524300a65
opus c589758a58bdb70bcf40ae2baeb34804dff14394558085a09bfe5ec33be4b9dd
m4a 1a59f4742d0729595c8b3b676aba7e59f372c8ce8bcd6b19539236c1654da5e5
spx 8cc99861ed9d986847da9626ce73577ce6460876c439f02c980a8cc8fbf61e17
Making sense of Hexdump on
PNG spec

Listen: Ogg 13x28 | Opus 13x28


The fallocate, fdformat (sort of), and the flock commands from util-linux.

ogg 0005379e3a1964ae24f397a0bf29bf353d70d850a8d51922d44979bc4ff57404
opus edab54c4b4f3fb84297487e5ef3188949b4b0c541c5bba15578dca895bb62614
m4a f987dfd977062bc7c8ec51244fd24af9d40b278152f5cf7d3665ad157783452f
spx 0a303f3c9dc89bc67316a59e5216f546fbdda8a2313ed8eac3e416eba8e07dec

Listen: Ogg 13x27 | Opus 13x27


Listener feedback, and a short review of GNOME 3.

ogg 443cd9b793233a8ac0f6b40dd8edfaecf8839ba3dcc1afd16852f45b0609e2ad
opus 45cce35424001ea365203f3c86deded9c05b58c0adb880d98d03f6ba2eef9714
m4a ecada38f3343076b312f6d78326c742a0137b4ef2653ee75f083dcbb40c066a6
spx 50dd112d55dca2daf2fded38ce1a52eea4748d4d62810c01181e98be1af4763a
fix_tags by Dave Morriss

Listen: Ogg 13x26 | Opus 13x26


Listener feedback, and then a bunch of stuff about for-loops and batch processing.

ogg f93feff4fcc74c215d3212bbce9cf716ea953524cbbe74481b16016ae6d6cd55
opus 312fc2fe75da8ad1ee8890178b15e096156a47b8008a6189a6a64fdd92642bb9
m4a 3f8f027077e92ca2424e412ec716a37ebc19d473edc40fd46abd27e11ceaf3cf
spx e847c9d569543d2988a272f5cbeb42a8de32ec6a2d8087d43e4702424e4a5727
Bash For-loops

Listen: Ogg 13x25 | Opus 13x25


Short show this week, due to a move to the south island. Klaatu talks about metadata.

ogg 07eb9810a87ac5475b0f96029ededf53ceaf76d27ad5b8c3262d07b3d30983b3
opus 67f3507b54626ab46425e7e0c748339dd36eb0ca0cb84201161088de268e41fd
m4a 1383de66017f4873eaef072682b2043cd717c10760ada8e8f50a87d407a0bb3c
spx 691d5d2a91fbaf084165555889ac7f5a2b9633f57f2dc3b992425848a03486ff
Early KLATU prototype (the second "a" made all the difference)

Listen: Ogg 13x24 | Opus 13x24


The ddate command from the util-linux package, and all about Discordianism and the Church of the Subgenius!

ogg 5f5dcbf15af1af9282d57c2a987ee48787bbc9dade97e3b018b3d539b67ba956
opus 892f65334593874dc3ad5f4a1e7092e47204a444353dc94d6a32e8397966d815
m4a 0d5784cd01e654466a9685f64b1922837cbf26c3905b389b40385048a641e20e
spx 5cdd7d50cf47462a6f1438a88c00733b4d0fce5f160e091658274052812025e1
Church of the Subgenius
Free slack!
Manufacturing slack at home

Listen: Ogg 13x23 | Opus 13x23


Listener feedback, plus colrm and column from util-linux.

Tip: To get information about strange characters in GNU Emacs, place your cursor on the character and then type Alt-x describe-char

$ cat example.txt
hello world
$ cat example.txt | colrm 1 1
ello world
$ cat example.txt | colrm 1 6

$ column --table /etc/fstab

ogg 3eb1a2bf89f4bdd041a4c1491186ad7c2912c74a3076e81921717e5899d2e3a4
opus e8c5429e82fd036697154e5f93f46d22deccc4859837ad99cc1e37b432f2744e
m4a 980291fff761cdd1a14df8780f39855f51dca2029aee9bf4a4723a4b04b28b3a
spx 2acd9981ae602c229f1dee35f2d4880a030d06814264b93bf27c6e486d11b40d
BSD4.3-Reno release announcement (historical)

Listen: Ogg 13x22 | Opus 13x22


Why use the Linux desktop if the Desktop is dead anyway?

Also, more util-linux: cal, chrt, col, and colcrt from /usr/bin.

ogg 0794da27c7cafa65a4aac2b8fb9a425868c3f6fa475f3c172028b687ba256c42
opus 45df23d5d8b5a9ac2a1dcb296fc4c54c07ac67f2c4ba4d1706dbd0e7bfa8b2f9
m4a bc048f20cce3c06f4918b26ec9b64f98e96209224ac46dd90bed0b9bb76618c4
spx 524d758dabc46bf03f618b3d8667ba07486859cf4bef4d446e707257b02c6cfc
Switch to Linux

Listen: Ogg 13x21 | Opus 13x21


Listener feedback about zram and ziptool, and then a discussion about the term "open"

ogg 1ff841ce011c6cfbcc4ca1cf6586facc69cc1c5d37054b0b14a4180b74ce7438
opus 3bf3b49bc608028806bbddbbf89e6fda93b59dc93877d983aa114f65facbb809
m4a f64df303cfcf15d768de8b076eee46b7df743224bd3894d0f1763c3ab836bd72
spx bc4fe68efe4f814507ba585b0e4b77bf6f9fac0cc290a22fc4ed37f88746cd04
Open Source Definition
Why Open Source Misses the Point

Listen: Ogg 13x20 | Opus 13x20


Finishing up the binaries in /sbin from the util-linux package. Includes sfdisk, swaplabel, swapon, swapoff, switch_root, wipefs, ziptool, and zramctl.

For zramctl to work, remember to load the zram module.

    $ sudo modprobe zram
ogg acc50c7428599f3d4c911a7c4f35f2127150829c781495d3e5754d1b940b69f6
opus 8c830319aa6a8a57ec6249c6aaccfc07e3fb4679c697a55083514fed06bc5e30
m4a ce96f42c5279c0c330fdb3bee27b02b45648f331cc7bd7abd917708f2ad6be44
spx 6804989a5682b24b2266899de4c260c9f24c1a8e484b8cf02b6aeddab7b1a7ed
The Linux Boot Process series by Dann (on Hacker Public Radio)

Listen: Ogg 13x19 | Opus 13x19


Listener feedbacks from Mastodon, including commentary about the Julian calendar, Flatpak sandboxing problems, Flatpak usability problems, clarification on Bzip2 and LZMA and ZIP compression.

The overview of util-linux continues with mkswap, which designates a partition of a special hard drive or a special file as "swap" space. NEVER run mkswap on a partition or file that contains data you care about.

$ sudo mkswap /dev/sdx1

The pivot_root command mounts a new location as your root whilst simultaneously unmounting the old one. You probably won't ever use pivot_root manually yourself. Its typical use case is during system startup, when an initrd is used to bootstrap an environment but then needs to be shunted away when the real root partition becomes available.

You can test pivot_root in a virtual machine, just as a proof of concept, as described in this episode, but if you have ever used chroot, then you have

The raw command talks directly to block devices, useful for fancy databases or other high-performance things that don't need a filesystem because they use their own optimized system for managing data. On some systems (like Slackware), you may need to do modprobe raw before using raw.

NEVER run raw against a block device with data (that you care about) on it. Here is a really simple proof of concept demo exercise:

# raw /dev/raw/raw1 /dev/sdx
# echo "gnu world order" > /dev/sdx
# dd if=/dev/raw/raw1 count=1
gnu world order

The setserial command sets and reports serial ports on a Linux system. On Slackware, you can see the script that generates serial port definitions in /etc/rc.d/rc.serial, with its associated config file being /etc/serial.conf On a distro using systemd, there is a unit file that creates serial ports. Serial ports are usually accessible to the group dialout, so if you are having trouble talking to a device over a serial port, be sure to add yourself to the dialout group, and then log out and log back in. Permissions for devices that communicate over a serial port (like an Arduino) can be managed manually (chmod 660 /dev/ACM0, for instance) or you can script udev to set permissions upon connection.

In the original release, there was a mixing error at the start. This has been fixed, and the SHA256 sums have been updated below.

ogg 3beeb9bbebe73032f8644c7de66050bfa339bb5e990bd1664d6c7ec5d5ac3476
opus 9530c63901d1d4a5e8a2049fa129321a8f81e150b3c19de6eed8c307d8eccdc5
m4a f43ce3f60bace443a241448b1f7ef2535a93c9fa66c75211f3407d32ef78c82a
spx 5d1f3dd525f7187e5e02f8c52c69754959fc0112555b3cbd7fbf44db6f6ab01e

Listen: Ogg 13x18 | Opus 13x18


Is it really possible to use CentOS or RHEL as a desktop Linux distro? Klaatu finds out!

If you try running CentOS or RHEL, add the RPMFusion and Flatpak repositories for best results:

$ sudo yum localinstall --nogpgcheck \
$ sudo yum install --assumeyes flatpak-builder flatpak xdg-desktop-portal
$ sudo flatpak remote-add flathub
ogg 3e14fa81ac4405e0537391e94a8e2b3781cbdfa385e3d8d8a2aaa126ff12f044
opus 83403ca53e18e0f9ec4f9eb15237dae450c991e99c238ce5b501379b4ca74824
m4a 67e6ed6235fc5ee347f7bec03dbfc09fdd0c429a97d93ec1bb3784c40c9c9d24
spx 6de94f4d38cd8153f031d9fb1509559859f35b5fb3d274ad0350f8a6b55ebdfc

Listen: Ogg 13x17 | Opus 13x17


Listener feedback from Carl about gauging community health of a project before getting involved with it. Klaatu has defined five community profiles, but has no definitive answers. Listen in and send in commentary if you have ideas on this topic.

ogg 95ff76183a370842c08f8d631dc93bd86e2d1a2f7b22adc3ed1d784651b55a44
opus 4e9b2b1d7ea30b828d18ca3130aad63294376dbc6298b04240800e987dbe4b08
m4a cd931753fe11d655a060375a77b32e58e76a5df931c4e4dd9a5c1ee947afd708
spx e37a914c8267eb57a62736fbdb38743023a6b1c6298f9cfa5ef528c12cb1c90a
Links: the official Slackware support community (such as it is)

Listen: Ogg 13x16 | Opus 13x16


Are Flatpaks and Snaps a regression in security? and other exciting listener debates.

Util-link continued, continuing with utilities in /sbin:

  • sbin/ctrlaltdel

  • sbin/fdisk

  • sbin/findfs

  • sbin/fsck

  • sbin/fsck.cramfs

  • sbin/fsck.minix

ogg 9b11c74e14357729d327e196a40a890dc32db2f54d723b178366174233f153a9
opus ae167c67dcbe7c696496fb0d0d55eaada1fb85cdd23edcf2e541c6e234483718
m4a 8cfdc7473fa6e9f3f9f2cf5fdf2e5e60d844f4a33bb491527256ca7df2f5f8c6
spx ed0165f4e7f94390d560d618fc7250aa07567ae1a2f830484819295b6e68f674
fdisk on TLDP
Becoming a Snap developer
Signing snap packages
Signing a Flatpak with flatpak-builder

Listen: Ogg 13x15 | Opus 13x15


Util-link continued, starting with the utilities in /sbin:

  • sbin/adjtimex

  • sbin/agetty

  • sbin/blkdiscard

  • sbin/blkid

  • sbin/blockdev

  • sbin/cfdisk

Plus some listener feedback about getopt and getopts, bzip2, good bad sound, and more.

ogg 1613deec4e2c1801fda8597c6ae4afb785a7a9311dbd92e7bf249d021956c573
opus 0c659a9a033416bbbd8d0e1ae87d98c7db8610db2165700fc0c0cec3d3bca4c5
m4a ab15dda2d946b890eeebd3753f790077a4dd62a52b38fd6cc53f382a9217bc29
spx f42c5c0b1619865f12eba4847e4e209b34e87a9f15e580bff39eefbc6c276f18
flame war on about getopt, getopts, and homebrew solutions

Listen: Ogg 13x14 | Opus 13x14


Let's build a flatpak together!

ogg 3d9aae810bac35a55ad167851b993e5a810699bbbe31371210a54e8151e6118f
opus e7164ea3ecdd9fdec2346cb98d7e2fcf5d266cb54b2480b857da35846e875ca6
m4a b6b2c7691dc02b8fc55d3449fc01821e83730c81022683bf3e40c9b05e9f10b6
spx 79884206f16ea6debac91de07702cbea1bc80ea7523ec34e8e0e51dce9b19de6

Listen: Ogg 13x13 | Opus 13x13


Listener feedback. GNU World Order is voted best Linux Podcast of 2018 by but fame is fleeting, and it is no longer 2018. Bzip2 compression. You should run bzip2 compression tests and send Klaatu your results. Controversy over scripts that download and install automatically. A bakery that runs on Emacs and PostgreSQL. Further Grav commentary. Pico CMS. And more!

ogg 7c78d5fd5fd9675482426c7498c4fcd12724ae183b96ea8a0dd92c7e7eb4d0ad
opus 8de1a18ae429e1b802b584b5b49eef60b8b69c0709d688e4f0915d078a5366f7
m4a 79e5fff598aa5f676f440cdc22901d5818e709b86bbb96b7d719df5fe54f093f
spx b6e4512a20f4f79d6c57131c8da888c323920c94992bd1056a793735c4c10170
Bakery running on Emacs and Postgres
Pico CMS for all your Linux answers

Listen: Ogg 13x12 | Opus 13x12


The journey through the util-linux from the a package set of Slackware continues. First, a tutorial on getopt, an argument parser for Bash and Tcsh. Here is a demonstrative sample script:

## or you can just use /bin/sh

OPTS=`getopt --options f --long foo --alternative -- "$@"`

eval set -- "$OPTS"
echo "Raw input: $OPTS"

while true ; do
    case "$1" in
        -f|--foo) echo "Option f has been toggled on" ; shift ;;
        --) shift ; break ;;

# this outputs anything
# left over after parsing
# valid options
for i in "$@" ; do
    echo "$i"

You can add more options, and you can add an allowance for arguments. Here is a slightly more complex version of the script:


OPTS=`getopt --options f,b: --long foo,bar: --alternative -- "$@"`
eval set -- "$OPTS"
echo "$OPTS"

while true ; do
    case "$1" in
        -f|--foo) echo "Option f has been toggled on" ; shift ;;
        -b|--bar) echo "Option b has been set to $2" ; shift 2 ;;
        --) shift ; break ;;

for i in "$@" ; do
    echo "$i"

After the coffee break, Klaatu covers kill. Because he recorded this episode on the same night as the previous episode, he does make reference to some settings from the previous episode (specifically, a hostname setting). That makes this episode a sequel to the previous one, meaning Klaatu owes you an extra episode sometime.

Also, mountpoint, mount, unmount, wdctl and watchdog

ogg 7b92289327d6320246fad8021f23e6eb4de506db761f8f199eda02a2ed133e6f
opus 58109503b11dc9a12add616bd7549dbf080f993369c5727038eca466a15c630a
m4a 4f760557e34dcaf6e9c4e2f73c6602b1c054debe584cea890953279d334174a6
spx bb24d4bb2fc4654aec6694866ddd7c8d71c96e47f823f8b144c1b71033334a01
A great article about the eval and set on Linux Journal
Watchdog daemon
Systemd interface to Watchdog

Listen: Ogg 13x11 | Opus 13x11


Heaps of listener feedback about licensing, the difference between a user and a developer, the atool archive tool, old GNU World Order shownotes, the first couple of applications from util-linux: dmesg, findmnt, hostname, more.

ogg 7e06731c4ab165e046250b5b690baf27c2b7f2219373d5fa6fbb9a7866b34e69
opus ea59e48b103732218c54dd0641db2955c6fa98bf7091103a7d599ec5efe75b36
m4a 315500688ce992b7a989cf1cf09d501e97bd724a5b3b4a8e35891e4bac7ebcd7
spx a1bf2031ecb979ddd7522a0f425bc0f9f7a00de755020b1a7dc5896310323217
OpenPublic on Drupal

Listen: Ogg 13x10 | Opus 13x10


Coffee across the globe. From the a package set of default Slackware packages: udisks, udisks2 (udiskctl), unarj, upower, usb_modeswitch, usbutils, and the utemptor interface to utmp, btmp, and wtmp.

Udisks is a friendly interface for interacting with drives.

$ udisks --enumerate
$ udisks --mount /dev/sdf1
Mounted /org/freedesktop/UDisks/devices/sdf1 at /media/white8gb
$ udisks --unmount /dev/sdf1

ogg 5774cf20f0982ef109e8a86e5b41de296ac7b073be8dcee90469145fd2e65314
opus 9fe7db2d28eb2401d60c2ff5b1b80b5655a1b827481a6d98d15adafe445fb516
m4a 6422e3e3addabc6330642565c07235743baaa31c92c9fa479183eb729c47e07a
spx 36e8330e9e67cb89f96b3c90c8c3801cc0eba0f0abc7c31003810cfeb986c045

Listen: Ogg 13x9 | Opus 13x9


Episode audio levels adjusted, Flatpak tips, and three great coffees in downtown Raleigh North Carolina. Finishing up the applications-that-start-with-"t" from the a set of Slackware: time (not the built-in Bash one) and tree.

ogg 07f111b749baa5acde63f76ab4bdb642059152f198c5b0b820e321219fe3a1bd
opus fab180be7af7354c200bc8409355aca5de35cdacd0842fdf33399981c66627f5
m4a e62186be2b657cce7e294441a32251a1124b723db334d394304f20986413d27c
spx 7dbe8baf52fd04fcc6117f73cb459c14970b863f6d99365d66ec02be296b0c0a
Flathub, home of many a flatpak
Tama Caféin Raleigh, NC
Sienna Cafe in the Sheraton Lobby

Listen: Ogg 13x8 | Opus 13x8

2019-02-17T21:59:52Z vouchers, THE CLOUD is just a virtual computer on somebody else's (or your own?) cluster of computers, building dependencies on things you already own.

In the t packages in the a set: heaps of tar tips, and some thoughts about tcsh.

ogg 8e45743a4466aceeee219925070f24ac2478cbaa6dbe499458f651fb78c596d9
opus ca3ed7db2ded1a84c527d3b2db78abcc75ae2ad1294441537afb6f45abd32398
m4a 0334f1538c89f6743df87d10acd45c30177a1183589c165fbf9eed2300eb2cde
spx a8eb6d19964c7900a11ff25dbbf65579c8ca53ce3c8b4b1438110cdfe7772648
Hyperpolyglot shell syntax

Listen: Ogg 13x7 | Opus 13x7


Deep thoughts about licensing, effective licensing, and why groups of free software developers haven't the luxury of turning a blind eye.

ogg 715a7a795d97f2c77269286b8e9ae2e671d2cd75aa679b40b690857631ba564d
opus 5a38318ccaef3130a41d440aba3615032f3523a4b306e013c5e437177b7a1d25
m4a e9218e3a0acb122283d16d0ae734fc4b61bcad466ae690a079315a25c75677f3
spx a968476d04828741ec69ba69ee523dbe6e0027927625aa4953910a25461b325d
Developing Games with Lua

Listen: Ogg 13x6 | Opus 13x6


Tech talk, licensing, ZFS, and more.

ogg 1099dd8dfa56d6a275f6c958a16167c459f8e59dbb8b0b0f2a8c85a8278970b4
opus 3c0a900d0058665c96b6aac34c7b8ebe9ad25d930d5bbfdfc565398e64747a06
m4a 75da6d76c6be80b7f8a6d8cf7ff27ad4e77b09c6300d6f1e11948073976d2c21
spx 2dc457a5026f82afd37447e93c8b65bb74c463291119b94fb3260fe22fa0548f
Developing Games with Lua

Listen: Ogg 13x5 | Opus 13x5


Klaatu talks about software licensing as related to ZFS, and then covers the S section of the a package set in Slackware (he also realises mid-way through that he had already covered the q and r sections and part of the s section, but nobody complained about it, so presumably they were all worth a second look).

ogg 8f839464eb79b20a4dcc232b9b0d8e7c03d7f053ce3dbf0575ae61c35fa18a64
opus 81027a9666dfb2978e2f74db96ca5be5f6b0f36747f1618edd89b12e7cfd0114
m4a 48725fb3fd7866fd15a7d78569242e4c8810db2c7b3efeac84140bd484571a77
spx eb3d3b3f84a6b06d8cccc6541aff35dfac50aafdb67d1a0d142ddb0ac8c09c20
Software Freedom Conservancy blog post regarding CDDL and GPL incompatibility

Listen: Ogg 13x4 | Opus 13x4


Klaatu installs ZFS and creates a ZFS USB drive. Continuing his review of all packages installed with Slackware, he talks about reiserfs and rpm2tgz.

Finally, a thoroughly biased unbiased review of the amazing webhost cooperative,

ogg e2f12449b7fe76356509613ee9ad3b612d3a152dad4323c6a494d75023bcf223
opus ae2a54c33666f86c32317efaedd7c8aa37a33abfe501d8c511cd1407c3f75dcc
m4a e006c06f7e9af285d921612cc941279ff1cae755376568984c5ef859299d9984
spx 612917e386f25252adae4158bb9523823c36f051ac55981626e69c62de2f01e8

Listen: Ogg 13x3 | Opus 13x3


All about the quota command from Slackware package set a

# enable quota in /etc/fstab
# for example:
# /dev/sda1 / ext4 defaults,usrquota 0 2
# then remount the partition:

% whoami
% root
% mount -o remount /

# create quota index:

% quotacheck --user --create-files --no-remount

# if it fails with
## cannot stat() /dev/root
# then this is a workaround:

% ln -s /dev/sda1 /dev/root

# now turn quota on:

% quotaon /

# set quota amounts with

% setquota --help

# or

% EDITOR=emacs edquota klaatu
ogg 7b9f249ce1eca6e444971394f3d1763c239229781daca89531c2efff67cc2267
opus 0b1d1a485586cac9e38a09aedc2f09a19a913165fe9a825ea1b6ad4c72e9a3df
m4a 0f7323e0573160167e58c75ace6382953dd1bb0ef1ab0e94ab73447f84af8ec3
spx 5e2b611e7ea3fe59e1b02e0af70dc8ba2edef47861ed90f458a8b7a77a75cc02
Arch Wiki entry on quota

Listen: Ogg 13x2 | Opus 13x2


Lister feedback, a new book, Lua, Luarocks, and much more.

--[[ GNU All-Permissive License

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty. ]]--

-- main.lua

vw = 720
vh = 480

function love.load()                                                    
   -- loads once at launch
   love.window.setMode(vw,vh,{resizable=false, vsync=false})
   computer = math.random(1,20)
   player = math.random(1,20)

function love.draw(), 255, 255)
   if player > computer then"Player wins!",0,vh*0.5,vw*0.5, 'center')
   else"Computer wins!",0,vh*0.5,vw*0.5, 'center')
ogg 2ba3285a75a8671818cf126a0d0ff5683af1fa8e897e81e18658f37d48581184
opus 9eebf7fcec0d77fee5106e92cd265da2d976cc01c6fb762dc7af2a67c4520a3c
m4a 68437e0263a4f099d134c9753ca702e10ad64b5d57681f2fcafe7f99d2a50033
spx 49459d3c01d6361f4b406aba8715e169584564a17a1c6c4ea20b0eda7034d19c
Developing Games on the Raspberry Pi
ZFS on Linux and BSD and Illumos

Listen: Ogg 13x1 | Opus 13x1


Season 13 begins! We have switched to a fancy new hosting provider,, a cooperative web hosting organization run in part by Josh Cox, a long-time supporter of the show.

Introductory episodes about Linux and Slackware have been posted. If you're new to Linux, start with these episodes!.

In this episode, Klaatu reads some listener feedback, and then ponders why we don't just build open source on Windows or Mac.

ogg 676a09f09715a71d7b7631f60287769ff332806f4d4e13f529aa73f053714b3f
opus 7aa698c8606f2040f3dc8d782e24d58f8017bffe718ccdbab6b7c8b2d777897c
m4a ff9eebc17d997316ead082b899e1497813d34b13056f8d989df0286c6aa554e2
spx a5342a26d3f64ebc85473b69489f3a1914d1b230a10feeb7befa2bb8a1c4d31a

Listen: Ogg 12x53 | Opus 12x53


A bonus episode to get you through the holiday: solo gaming and a neat adventure game engine called Twine, plus a review of 10 randomly-chosen lightweight distributions.

ogg f016b8cd7b23b4dc4e12e00af0ba2d49ba987221cf73a81c552e6001ceb4a967
opus e52c1589aaf4b440134d112018fecf5aa5c38fd865cf5dcd36fe74e477270919
m4a 1c19ab825b7f3418db84c02f412cd45e8fe55b34309699036ec38ddcb264f28a
spx fb9fb431928eaad92ec35ce34a504edfa854a418d1f647d8e16996c9f5533c9b
Using Twine and SugarCube to create interactive adventure games
Winter solstice

Listen: Ogg 12x52 | Opus 12x52


A review of 2018 and open source, including the Purism laptop, Eelo, Proton, Krita, GIMP 2.10, Appimages and Flatpak, and lots lots more.

ogg c8cede97f96d6f6b107817e9f596ac3498a1813b489310949aa5da9949d4166e
opus 4a2662e4e4cdb3346b3338cfe1249910a7a34f9d7ddf340debc318546dad0e83
m4a 0eb1c31784d3650e9914027b5a29968b15361ae0fb9de40ac0861badc4adc877
spx 81111d6fef737aea6d28fe671423953db74a34916e6ce758181d88d8fbc08837
E (formerly Eelo)
GIMP 2.10

Listen: Ogg 12x51 | Opus 12x51


Believe it or not, there's more discussion about ZFS in this episode. (Klaatu has, oddly, completely forgotten that he's actually running ZFS on OpenIndiana, and has been for months; more on this next month). Also, switching from Thunderbird to KMail.

ogg ee11d49fe7ee00e81544587cea355f29d76fb1b18109f5d136c0fccbbec14508
opus d8e8951672764d1357b2a3de4cebfb5fc292cf484b644bdffebd776684e87e8c
m4a 5e30cac21e7aff73773de5149360661bf3d998f83b159f0016d25035e2c9dd21
spx 985927d6b108394b7593a0d92c5bacb8a5cfd2e5099c9eec154342bb558ce829
ZFS on Debian
FreeBSD ZFS root
ZFS on Slackware
ZFS root on Slack
ZFS deduplication
ZFS deduplication article
ZFS manual from Oracle
ZFS in the FreeBSD handbook

Listen: Ogg 12x50 | Opus 12x50


More listener email about ZFS. Noise music. More about workflows, and how to find the right application for your task.

ogg e5224b50fed846470873306fff9a04d03e744079c4ea564f5dfc3dcbb5f144ea
opus ef625c8c0ab00740806cdcfe816742921103d7e900d6b7291062072851bd60a9
m4a e8a27e17749eeeb3eab3f442360b38d396ec053317d484113648dd27240901c0
spx bbd64652b06ced3b81ff4f83454bf421c76c8d133d588eeb6a26fe5cb3bc3693
Godstream, a noise album by Klaatu

Listen: Ogg 12x49 | Opus 12x49


Linux has lots of creative apps, but how do they all fit together? That's obviously a big question with lots of different answers, but in this episode, Klaatu provides a real world example of the different applications involved in publishing a tabletop card game.

ogg 6205958e2866f3808a9552f8ed2057670a66f7e757c04ceac5a3f93f4fb35d05
opus 681a8b46dbae5114743e774ae79ad6b6805a1863584a0e97cec005e1e856e087
m4a 1d7de068757f181820bd9931c2b750c7c1fc748cfe93062ecf55c84b56c018a4
spx d897f855562cd4f3495f091ce46ab988e22ec7a58f26f50ad2107f108dca085b
Chronicles & Commons podcast
Petition the card game infosite
Buy Petition the card game

Listen: Ogg 12x48 | Opus 12x48


Listener feedback about otters and ZFS, and Klaatu tries Steam Play and the Proton (WINE) layer.

ogg c7effb4e2b27083c631c1444f3a9e0834643e9902e4299be9a8ef11e729f5128
opus 2d46def4f26637e7fac855eeb837dfaafd8c943eea9eb2044ccfb6acd3e67f44
m4a bccce9e7103d4b280bbdc9ec10846597d38ad05f4d7796210608d5e0e04cc374
spx 5267d77dffffc2a028cbdc6c9b91e92af2e37720f396e397e5ab5605bf127136

Listen: Ogg 12x47 | Opus 12x47


SMART monitoring tools: smartctl and smartd. Also, why Klaatu has left JFS for good and is adopting that fancy new file system, EXT4.

ogg 6012f84b652aa2129b707809d605df6b309fbbda4ee5d2b4a5666c1bcbc5466b
opus cd195dfbf991992f157383857409fdefc7fd9f481f7a8ea998d743577691d584
m4a 09150a2a09a9b3d3e2b128eb951002c08867674e7cf1e52a3a60aee59eceef08
spx 18e1935b1b383a58d44fbbfdd8bbcda58d965d8e5efd92cb160b42b09978fa45
GSmartControl the GUI app

Listen: Ogg 12x46 | Opus 12x46


A history lesson from some great listener feedback, social speculation, and a review of slocate.

ogg 543a45b89117c1554d7da56a15444b9e1710cc9f8bbe10e3dbc338976c4fabfa
opus b171350625a9d2ef7c88af7541ef063ed723e85349f0799923ee9ab56be327d3
m4a 5f74d950c37a336ea14d894b79e3fa0576c4ff8c4bc2662d64819871bc3a8f02
spx 93eb80e625666f814af6287cfeb3b370675d2d9a74a4ea5883dd1eb6bfc6422d

Listen: Ogg 12x45 | Opus 12x45


IBM acquires Red Hat. Listener feedback, including Git stash, Lutris, and a recommendation for

ogg 192f80432757f18f27e5b80e0d9ca241e8c37519c8344bd5e614e364038cd310
opus 56847ef1eb8648a39a9a6deb08fe7a425f1bc5b294fe927a482aac65fb844614
m4a ee924ae7f5cc4f97350f5fee652cb7a91ec61b485bec8d4a7f285068b4902aca
spx 98feb8611b1782e2849777f3f1936cabe1ae057a25e5853471df8e67c51e699f
Gamejolt Client on Github/

Listen: Ogg 12x44 | Opus 12x44


Coffee with lunch, and how to correctly set the default entry in GRUB 2.

ogg 0c07346457ea7bb91f37b68fe75e3fa0fca9f35bbfac1527abe27fd30147aa86
opus e516802486984f6496a390d604a4b9a78141cbbd3aacb21d418f32798b3f6c20
m4a 03360a6210a874b5dea74c5b7bab79c0d77ef2f37d39f6375bc05e311335d53e
spx 8397ccbc9f0ce5111529a36d8bcc05e42b5dfcd6cec6e6891f4dc8164c8598e1
GRUB docs

Listen: Ogg 12x43 | Opus 12x43


Listener feedback, and learning new things. Also, musings about sweet tea, because technically Klaatu is in the American South, at the All Things Open conference, right now.

ogg 60ecb61c74f7dddf568545f447b8f309c05f36c5d0df748bb76192a41b3e8ffc
opus 0b80ba584377a604b841d8effae6b6485e4852fca26658e69c16e845af2f461d
m4a b583301f731df02c92d14c9890b2b13792348771cf622fa7a8a56d93fd9b3842
spx 83b438286050e00d1d1adcc94d319cc553fd8437fc1b3790bda4f3411d160839
Fossil and Git compared
All Things Open

Listen: Ogg 12x42 | Opus 12x42


Some tips about gamepads on Linux, plus an overview of Antimicro. Also, Microsoft joins the Open Invention Network and brings its 60,000 patents along with it. Could this mean fancy things like native NTFS and exFAT support? the end of patent trolling? Klaatu speculates.

ogg 36fe3e39efcab41bf86953e06ea9a4a936ec549e5c58fc84da1d6e1ae6d56b1f
opus c541fdba7b86b46c20c2fbf7583b22250e6e1637632e137a596435a161d26184
m4a 507c32556c2303fa60f04261b20455df5008df22133dea1f55fc8c9d9599fa9f
spx bc42e98a033a3ddb6d68766bec77608e3e0160528e0bc19c2bfc355e18a210cf
Microsoft announces OIN membership
What does Microsoft joining the OIN mean for you
Antimicro profiles
All Things Open

Listen: Ogg 12x41 | Opus 12x41


A quick episode about broadwayd, which is not a musical venue, but a cool display server that runs GTK3 apps in a web browser.

ogg 125a52706aa5ce52d247725fb39c11421e1180178a047f3bd968b076be0ee3b9
opus 5b292860894ccb3d53eb96157f24bb10919fe3d3713d22366ea2648d20516c83
m4a a16044fb3670a8085cd9107ec58c74f531c02e32b613ee0895ec6a7ed4b38e79
spx 66a9a19467b5c90a20690ecf78c353610b449ab5c3863417f8ebb9cbe6455a73

Listen: Ogg 12x40 | Opus 12x40


Listener email, and some pretty neato POSIX tips.

ogg 8100a3fa3f149d9c8e855df247e66f68bbdd956c68aef953f36a8aaead216c71
opus 4897ed9b08ce3a25338f8558fca03219778cd4ec7a3d2654b323eaff87aca1de
m4a 6ff61ee04cb8d4d30681496fc6e9e179347b20e55a2f3ab287a0c552e4ae4c6f
spx 2f7c13f422ccdb0e188a3f79c7a266d79c58fd118c2e8631592d57643e2f4d56

Listen: Ogg 12x39 | Opus 12x39

2018-09-24T14:44:24Z, the other other place for gaming on Linux.

ogg c61dcf13226cf2f75ca1ea470eb3f139efedb7ee3999032e9ed5a86b0c7ce536
opus fb8d56b32175bb992e29eb7100b30ff558da0f8cccfa2496bd67a59ee745e000
m4a 86a763a92820080db79fc65989852a4ac8347f99f77baa6f2405768549f40511
spx 4913717aac7df9c0d07377855230ba749f7906736e836873b97dddb06d1cb2e3
Open Game Jam 2018

Listen: Ogg 12x38 | Opus 12x38


A review of Lutris, the open gaming platform. Also, thoughts about learning new technology, based on Klaaut's experience with Fossil, compared to Git.

ogg e63b5fb10b37083253f397cfa62158ce57fd8c4ecb015f4dff3c2eb59946fb53
opus aa291a829c221256b959e7364b67530ac5bde9914843c305ee520f7355243604
m4a a41a684d8368f27c10387a1f6b60f5e633caed28c7a131e815731ae2345aaf63
spx 84fa0d7d588a0d2dfe842fd5a755f24614ecb64771f2b9624783eafdf7554794

Listen: Ogg 12x37 | Opus 12x37


Klaatu reviews Jeff Bigler's blog post from 22 years ago about the communication gap between nerds and "normal" people.

ogg 50df55271815c52f6a54e5775fa8b0099f8efc1b991dfc15f2b3693f768d6043
opus 02f1a8cd1d36a14bd9c31c414bf7cea16dc30ef99bf879b9ce4b19e757b62de3
m4a 9de194e145673fb5515bbbbab252b0831730afc4c769aab385c993a0b7203f3c
spx 50e00f8dc40d34ed35a18b6792d1dc7070fe449a49ec2fa7052b9537b984e606

Listen: Ogg 12x36 | Opus 12x36


A sed tip, a killall comment, Steam rumours confirmed, and the woeful 90-10 problem.

ogg 377f7500d183b85bd0724cd2b31f7005da142aa00e89dae15b16e3f9032ba179
opus 1bb1f5c6cb2dae4aa340edea6c642b930564132365cde81a2f2611b4a58060f1
m4a 47bcb6b64357c28fdf858a54bd519833969a4584abb94e72abbd7d1e6044c46c
spx d6cea58b870c423536505791ebda2c0932b88308180f98ec9882657ec0be1b74
My go-to sed cheatsheet is

Listen: Ogg 12x35 | Opus 12x35


Fedberry, the latest Fedora remix for the Pi 2 and 3. Also, rumours about Steam OS shipping with a compatibility layer so you can play Windows games on Steam OS. The rumour mill spins faster than this show's release schedule, and apparently Valve has confirmed that it is going to ship a boosted version of WINE in SteamOS.

ogg ede624e29ae249aba38d207bb71c6167765e6b35dc9ffdee54739459d9a4326e
opus 6f59b4a4fe499dfe8b83f3e1d733b00e7cbb16db4ca026cc849d0f56d1f6c806
m4a 2b26043a0ebfa335295e0c9ce65e7dd3ec6089791765ca5b8873fe31872bab0f
spx 09c914e3d81596882c5b76710c47f64df76e8a42cb0bb0413cebd0d5fb47b44e
Proton: compatibility tool for Steam Play based on WINE and other components from Valve

Listen: Ogg 12x34 | Opus 12x34


Quota, rpm2tgz, sdparm, sed, shadow, and shar.

ogg 6212ce1c4fe784ce1711cc8b98083018c6b2cec289b1bc7a336c68753717750c
opus dd57c14a080e5e17a1e3286fddd00e4bfd067e6f1b4331cfba8021cf719566c9
m4a 5cb6448c650e745005b34b401d62664c794af49c3005bc6a92c9dd9eefd92f5b
spx a51ce437e9baf52e2e4161813b0c4a5475eb5ea9b1eab44538ad27a1b85c050a
Setting up quotas

Listen: Ogg 12x33 | Opus 12x33


A quick Git tip for tagging releases in an automated way, and some responses to listener feedback.

ogg 3f75f909fccd53f2932fd4ef72ba86b78e701a0945c5879ecb1773bed879e928
opus 3bc32e14d3458184b7ccd1b6fc0118b3bce6bac5a8a4cc6f14b0aad03d31177d
m4a 919e7f5a93c442b07ff3c6b13687f1af59d68d47db1cd93f86eb02552b869248
spx 033b1b3638019691dc9f569cec79552dc9173b50747c440324f109bbaf7fd88f
Slackermedia Queue file gen script

Listen: Ogg 12x32 | Opus 12x32


Listener feedback, Slackware donations, and musings about how the modern Internet is financed.

ogg c834de0372634eebd8b1e085118437df2fc7af018d6733e865ce25a372aa3592
opus 287b757a43cdd9e5534d0cc784d72c244dec1752d8f22c36c1998e3796d00070
m4a f5e7b174e967e9d069f652b4fa475d8d67f28a9feb3d67e7de600b0e4a406b71
spx 2fe0e5ef4e89d71196d870be48b9b15fad71bba87f8337c6e7d262de9ef53df0
This show at
This show at

Listen: Ogg 12x31 | Opus 12x31


The art and science of software evaluation.

ogg 25e59a59c383b6035ab6080cb4b03a3f69bed0e310c6a1cb06cf0a84a8ebcc38
opus 4c1320e210a80f9aab97c6f211038df40ab80ed2546340c0477ae7f2aa7d576a
m4a 1e7240d5067dc04147a5c1eb4f85d74e9abd3774f7426ab2382e53a7c92bf418
spx 5392226f6913ac83fc18a06de1385a81a848129a0747869021f3a75a9dc72cc4
Programming in Lua book
A new Jabber server is

Listen: Ogg 12x30 | Opus 12x30


Can you find the PID of a process, then learn what command launched it, and then kill or modify it? Listen to this episode, all about procps-ng, and you will!

ogg f7c8133c830d54e1cef352c5ae3c10ea35dc0f96282f6d18fe4f591cc3afbd6f
opus f065564b766bb37e361490510205d2391e3cab9700618dc666b0b3b336660c2a
m4a eab696371fd261908d66bdbb558bb966566b272178a9d545560ea7d726d92c78
spx b28e054276a9094aadcbe9df04a172acb8176cef943e88ec378066727c2b2381

Listen: Ogg 12xslack | Opus 12xslack


Bonus episode! 25 reasons to try Slackware on its 25th anniversary.

ogg 8e53bdd8c8ef2fe0922d902cef9eba3821a0dd28016485544da3368dc30fbac7
opus 4581bc73ab05db4f3d6c6b77c842f2612de5836558b9a765c4fc80ef2c3e8f34
m4a b04dc495387da1e1f33d21bc91f0ce926a37980f4a00d685e64264d1a741099e
spx df4642b47ed3941d635f9bf9db3785c0945984c7dd20ed16f233a2f9bc6e1967
Slackermedia announcement on comp.os.linux (warning: Google group archive)
Try Slackware 1.0
AlienBOB packages

Listen: Ogg 12x29 | Opus 12x29


Slackware packages in the a package set. In this episode, OpenSSL, osprober, patch, pciutils, pcmciautils, pkgtools.

ogg 91061e59655ee7d2bb0cc6c0a0ca7b3b50197d98844be1e83a30ab7095582967
opus 131a1ba274f60844c11bb55e9de6984447ed76804cd9416d7675376379143b0f
m4a 77972744cc654bceab29ca88c843edd5966613a686be093329614f324b35aeac
spx 8e6461dbd6d7497eb0b399e5d7ec0bf110455a0e5cd0c6ffafa72e44d2e64422

Listen: Ogg 12x28 | Opus 12x28


8 reasons to use Guile from listener @ixn, and a little bit about packaging up a kernel upgrade on Slackware.

ogg 2ee7fd6cd7f73944e6e3ba928e267190e70ce81117edab8c541998936af97b6f
opus 8c214ec05aed16ee490181ad01f71a57aec1a338919ad684701764be643cba97
m4a 2811d59400fc4598e390dbb02420d69a71226f78389336e6a4ac9ad5174fa75a
spx 0347d8e7ce8945869cae3ff27abcfdfa763f1064e270e0ad5327063bbe1e19dd
GNU Guile
Guix GNU/Linux

Listen: Ogg 12x27 | Opus 12x27


A buncha listener feedback, with a few tips and tricks, courtesy of you.

ogg 8d2f5b6309334078b61e373423bc89bc65c71feb1f73a861de80ecbbbd5505be
opus 07d3428dfe33d91412f9a92d42faf4d3a2914e0410803f689f884d3058b9a925
m4a 64953b145d02cede61c3fd86fd8a30befdfe60fe013e964f96c2202fce7ed33e
spx 1ab1a2d3b3e08b1839865c80c92923f43c64e09fab7c5260a146d514cab8cb49
Links: teaches Mycroft about GWO
Keychain is a manager for ssh-agent

Listen: Ogg 12x26 | Opus 12x26


Seven reasons you should be using Lua.

  1. Procedural programming and anonymous functions.

    See Lua for Python programmers for examples.

  2. package manager.

  3. Predictable syntax.

    $ python
    >>> foo = 10
    >>> if foo is 10:
    >>> if foo is less than 10:
  4. Arrays, lists, dicts, and arrays-of-arrays are out. Tables and metatables are in!

  5. Tabs are optional.

  6. The the LÖVE game engine.

  7. GUI frameworks.

ogg 27553655a91b7f5cbd2682a246d49158aa7999a6fa3de6743b28c8a631f66d38
opus d739eeb7acb1a64f55a3c3737e7cc22308bd66e7b1f59848fe257650eebf5867
m4a 43e8f47ee100cd72a0f456f658527fc72967a8ca425d5e4dae4023e8d24c3784
spx 579758971e8a7f2278868269804f435f9cbb019b958007562a8a7b2a6cd9f27a
Lua for Python programmers
LÖVE game engine

Listen: Ogg 12x25 | Opus 12x25


In praise of Nextcloud.

ogg d8b4d641eae0c9d34c01bfd148d41e8720bf12780ebbfd2230a4c4a0776468fa
opus 93ea35a4e92fe242da785d3b8f63695ec872accd67725749cfaeea125ffa038f
m4a 0aaa7edcad3a9f7a87eb882d82df386fd06d20dc4ceb86f21b3d0eb8dd6b4e6c
spx 832270d42745b174673dbbf8f8cbc4f3d096cc0a5b8eeb810ec40b30dee70ce1

Listen: Ogg 12x24 | Opus 12x24


Listener feedback from Brian, blu3r4d0n, and Josh. A bunch of stuff about Github, Microsoft, trust, and free software.

If you want to increase the distribution of your published code, here is a way to push to several remotes. In your project's .git/config file, you can list more than one remote:

[remote "origin"]
    url =
    fetch = +refs/heads/*:refs/remotes/origin/*
[remote "upstream"]
    url = git@myrepo.local:klaatu/foo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

You can pull from one to the other:

$ git pull upstream master

You can push to both.

$ git push origin master
$ git push upstream master

There are a few ways to implement this. Listen to Klaatu's HPR episode on the subject for more options.

ogg 5bc289f90dfef61fca8dc1490bac6a42e1d1adcacb18509692b2bda321f2b2f4
opus 6d265aa36e2d605974ce8c4262b2fcbcbc3d719ea376e9b139c72650a62770f9
m4a 2f98663aa3674737a01cea1032cd7d14fcbe0f4b19bb1fb54bb09a482005e1c5
spx 29096b355a691d8213ab56464639fd1079a88d54f79100b32c6afb4b90de0280
Why Free Software needs Free Tools by Benjamin Mako Hill
Gitolite self-hosted Git
Hacker Public Radio episode on Gitolite open source Git hosting
As recent as 2006 but no big deal
Hacker Public Radio episode on mirroring Git repositories

Listen: Ogg 12x23 | Opus 12x23


Here's a howto for nmcli.

ogg 0b504d5322f14f0cd3844f846d79e51a851de33ac57fbbbdad693069795af753
opus 5b9a4c90f2dc78f3be19aa13841f6e43f351cb34885fb03aeb02cc2ab2c110c7
m4a cb51c53e810fe7aafcefbb0e32cb2d4cc142124511c57467f195cee1a6f1a584
spx ff7592e4e6348bd3f9741f2ce1b907ad28c9a63ab83d813075709901a5589cf0
nmcli docs from the Fedora project

Listen: Ogg 12x22 | Opus 12x22


From the a set of Slackware: maketag, mcelog, mdadm, minicom, mkinitrd, mt-st, mtx, (n)compress, and ntfs-3g.

ogg 3888b3baa8b2cf58843984251e17afb040758c4cf3343bbe8c0dd0536df63996
opus f36f89a053c74a4738d3d6dacbf7cc942fd1598ea163d6c98a571b45d26b9668
m4a a1953e368f96b993e2d2178efe7ee6f2e07cf95aa0515b96634ce7b9e4f78764
spx 5b9f34235df4e5612006b49d5fd43db6c15402b33bf99fbcf6928c6096c8a51e
Links: is a good way to learn about low-level logging

Listen: Ogg 12x21 | Opus 12x21


How to reduce the size of bloated PDFs. Use this tip judiciously, as it does lossy compression of PDFs, but it might be useful in some cases. Also, pointless Slackware predictions and another LVM tip.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dBATCH -sOutputFile=output.pdf -dDownsampleColorImages=true \
-dColorImageResolution=150 someBigFile.pdf
ogg f228b672d0cd405d0ed04162614b85730bf9512819c88807fc0c5c9576fe06c7
opus f2aa51a4174baf9182a0d7de36b8443fc7fdc4ae31063fdc43c3daf1de0ef5dd
m4a 0d5f819aa8341e06c01a2180187fa9099f7bddc95d549b184957888dace5c86e
spx 8073781e4c7aa8fc24376e411f8a6cde57c50290b4ab789d6ec7a5af12b9f8c5
Slackware is a great reference for PDF options

Listen: Ogg 12x20 | Opus 12x20


F-f-f-Flatpak! an uncomprehensive first impression.

ogg 977490f091d45ef976b1d6b7854ed1bc3bdf1432e8c31e4322778e976f1f33fa
opus 3b32de79fd9462ce2580d1b0a2f966156c12b6695703547b7a257d3278595650
m4a cc950f5652b0860e5871a3e909e2a4a056579981047e67dc6f03cc1d8c77c802
spx f55e4df419325455a4f4196c6b2205bc2a76bd1a593f82b220226487262fe899

Listen: Ogg 12x19 | Opus 12x19


Use LUKS for disk encryption. You can even use it to encrypt thumbdrives. It's easier than you think!

If you're using the whole disk:

# cryptsetup --verify-password -v luksFormat /dev/sdX

Or you can just encrypt a partition. From setup to encrpytion of the second partition of the imaginary /dev/sdX:

    # parted /dev/sdX mklabel gpt
    # parted /dev/sdX mkpart primary 1s 50%
    # parted /dev/sdX mkpart primary 50% 100%
    # cryptsetup --verify-password -v luksFormat /dev/sdX2
ogg f11e5c52e73a4447f9e67ff1ee54825318f5c81e2993f59ecbd0fbb3b370c4bf
opus 8e8eeb101cbcd46ada61f2cf6cc2d1dca209e3e18ec56065465fc5bc0b8cf8cb
m4a 93efc49cad115dfae4fefca13db73edad898c667e1157075c855332523a39212
spx e47b9dad9ae4bd2ab7d9f0a7f04566416b1d4b11df5cdc9252d003ced2dc5128
LUKS gitlab repo

Listen: Ogg 12x18 | Opus 12x18


A tour of LVM. This show covers setting up LVM manually, which can be useful since often LVM is setup magically during installation. Hopefully, this overview will clarify what LVM does, what it's capable of, and how you can interact with it.

Here are the steps I did on this episode:

First, assuming you need to format the imaginary drive /dev/sdX:

# echo "warning, this ERASES everything on this drive."
warning, this ERASES everything on this drive.
# dd if=/dev/zero of=/dev/sdX count=8196
# parted /dev/sdX print | grep Disk
Disk /dev/sdX: 1000GB
# parted /dev/sdX mklabel gpt
# parted /dev/sdX mkpart primary 1s 100%

That was setting up the drive. Your first actual LVM command creates a storage "pool". A pool can consist of one or more drives, and right now it only consists of one, but hey you have to start somewhere.

In this example, I call my storage pool billiards but you can call it anything.

  # vgcreate billiards /dev/sdX1

Now you have a big, nebulous pool of storage space. Time to hand it out. Here I create two "logical volumes" (you can think of them as virtual drives), one called chronicles and the other called gnuworldorder:

  # lvcreate billiards 66G --name chronicles
  # lvcreate billiards 82G --name gnuworldorder

So now I have two "drives" carved out of my storage pool, but neither of them have file systems on them yet. So, create a file system on each.

Before I can do that, I have to bring the volume group billiards online, or "activate" it:

  # vgchange -ay billiards

Now make the file systems:

  # mkfs.ext4 -o Linux -L chronicles /dev/billiards/chronicles
  # mkfs.ext4 -o Linux -L gnuworldorder /dev/billiards/gnuworldorder

Mount these drives more or less as usual:

  # mount /dev/billiards/chronicles /chronicles
  # mount /dev/billiards/gnuworldorder /gwo

You can add space to your pool by formatting another drive and then throwing it into the pool:

  # part /dev/sdY mkpart primary 1s 100%
  # vgextend storage /dev/sdY1
  # lvextend -L +100G /dev/billiards/gnuworldorder
  # lvextend -L +100G /dev/billiards/chronicles

And finally, there are two informative commands to get an overview of your storage infrastructure:

  # vgdisplay
  # lvdisplay
ogg 2a9f63775736f2fd58e97e157f5650643986bd55540194ce2f5b1fc216f999b4
opus 8b889b90d1456cfed156009186fc60468a38dc2c8498b8d43ee370fd42c7b081
m4a 2cd6d4f50f6ccb13e60ab532f955bf1105e6e52df17602010c458881a4847f58
spx 0b7460f089c031dd8d5c01d9b7ca43212e0e54ca73acdfd5137df26d8d970a9d
LVM2 official website
LVM administration

Listen: Ogg 12x17 | Opus 12x17


Klaatu continues his tour of all the little packages that are installed on your Linux box. In this episode: JFS, kbd utils, kmod, less, lha and lrzip compression showdown, libcgroup, libgudev, lilo, logrotate, and LVM.

I'll probably cover this, along with LUKS, in the next episode, but since it was mentioned, here is how I install the OS on a single LVM-enabled drive, and then add more drives with LVM later.

Assuming that you have Linux installed on a drive that is a single LVM volume group, then boot into your OS, and begin:

  1. Partition your un-used hard drive. Assuming you have only two drives in your machine, let's call the first /dev/sdX and the second /dev/sdY (in reality, the values are probably sda and sdb, but to protect you from copy-paste disasters, I use placeholders).

    First, find out how big your disk is:

    # parted /dev/sdY print | grep Disk
  2. For the sake of this example, let's say your drive is 1200100MB (1TB) in size.

    Create a partition that spans the whole drive:

    # parted /dev/sdY mkpart primary 1 1200100
  3. Flag it as an available entity in your storage pool.

    # pvcreate /dev/sdY1
  4. OK, now you have a drive prepped for use, but we should pause and look at our imaginary setup. In order to add this new drive to an LVM volume group, we need to know what volume groups we have. Your OS installer might have created this for you, or it might be something you very consciously designed yourself. Either way, you can see what you have available:

    # vgdisplay
  5. OK, so we have a volume group called storage. Currently, we happen to know that storage contains only your first drive; the one that you installed your OS onto. But you want to make that bigger by adding a second drive to it. This is called extending your volume group.

    # vgextend storage /dev/sdY1
  6. Now we have a pool that has access to two partitions, but we are still not actually using the second partition.

    A volume group contains logical volumes, and it is to those volumes that you can add disk space by drawing from the available disks in the group.

    To check what logical volumes you have:

    # lvdisplay

    To check physical volumes for size:

    # pvdisplay
  7. Armed with a mental map of how your partitions and system are each laid out, you can now extend the logical volume. Let's say that your installer placed /home into its own partition. You would see it as a logical volume, and you can extend its size:

    # lvextend -L +999G /dev/storage/home

    That would, as you can probably guess from the command itself, extend the logical volume containing your home folders by 999Gb.

  8. Well, almost anyway. It has extended the space available to the logical volume, but it has not actually stretched the file system across all that new space yet.

    To make all that extra space readable and writable, you must resize it:

    # resize2fs /dev/storage/home

    Verify what you have just done:

    # df -h /home

Your home directory is now nearly 2TB in size, and the fact that the file system spans two separate physical volumes is entirely transparent to the OS.

ogg 27e164d61163394c5db669002b14237a87a58f8dfbe01e5b8dfcbc36f265a341
opus ed673226da0c80134bcf2b6f49530074fc23ff4dd367ec7d25774461e4d86a98
m4a 78fa2d887ac73c6c04a40f20af31460d08d023da100894d164532597a6fcb8d5
spx f904bd380765ea5eaad129c763a33016f0af19f707f402c7a968dc90159a020a

Listen: Ogg 12x16 | Opus 12x16


Why should you use open source for your next project? Klaatu tells all!

ogg 1d6fcae49e3e47803f48d1ee51db945d1e5960190fa40066d1f115437b8c4a83
opus c5c7dddeda193c58516c514149b68ae31a19b32658c3573319ee6894db938541
m4a dc1f9a49ca732105e3625cb8500a3bd237414bdc1c145061c0655d66467d20fe
spx 6b2329d1de58f3f7b799c8bc8f4c9fb257d742a5c60768fe262470ad9a164baa
Free Software Foundation

Listen: Ogg 12x15 | Opus 12x15


Listener feedback.

ogg 1d61524f85971444c75320767e09692ac278242e7aade8a9e5be4543ea6ea419
opus 4e6c934b69d0db7da2b51017b6dd9d70ce3474e6e40902165029486aaf14f99c
m4a 9a78091bd183446436c8ced6016e4e563558a5a428d00723311ee9e4b3a90c4f
spx 1f4c9d0c95a4694de86135fd04a8e247a7b668dc22a98b889d8f056bb4307c0f
Parallel video tutorials

Listen: Ogg 12x14 | Opus 12x14


Klaatu installs NetBSD on a Raspberry Pi rev 1. Klaatu attempts to kill its FFS file system LIVE ON AIR. Long story short: you should go install NetBSD on a Pi.

ogg 6d4b01d5609a6b22e1f5f3fc0922db2f351b5afc74860c7d78cd9c752a56cf19
opus f7b6454e9f11dcb8a169b3e13cfde4e0a91b05731ab82a1b1ccb875c5f8ac9b1
m4a 676ce7a4dcb4244b62ae4da0d6a121734de8f4a12801fedeb2276de816740c67
spx 15c7c108c392ed36a5308d4faedc41c3e7511a865147bd61d37b8fd0ea4473e7
Raspberry Pi page on
Journaling Versus Soft Updates: Asynchronous Meta-data Protection in File Systems

Listen: Ogg 12x13 | Opus 12x13


Learn how to use Slackware tag files to customize a Slackware install, plus the secret of how to perform a Slackware install in less than half a gigabyte.

ogg b0ec5f9b9f526f014ebc4c955e5da0edf4e96be1e19715165f9ef91ab43a87c5
opus 3bf9392a3588eba39f246824c27008cdf4de4df4abe5f73a87a158bfcf32079f
m4a 4bc268aebb5c954eaa1c2f74534f765c32e603585b5f4e13068532058048ba38
spx 2faa5a43d261f27798c108522c219e60335ad090fdc7301a556617c46768a810
Outdated but useful: minimal Slackware install

Listen: Ogg 12x12 | Opus 12x12


Exploration of the Slackware install set continues with inotify, some install scripts, ISA plug-and-play, jfsutils, kbd, kernel packages, with a few detours into the world of gzip redirection, some stuff about grep, and a howto on compiling the Linux kernel.

ogg e1ce088d19e7318c29745a954eff2b509c44db44fa3ca5406d1dae4fde41a6a0
opus efe2d643f7a7d854be5d30162e3e23b0fb31d9f95fc953322e297d23d84230ba
m4a 42567f78abdc4122984c46e0e173a882200978d3473a32f743516c0522c15d94
spx 65963bd87271b49a31a00e105c196326b4d382bf96c282087453ed3f61fa3d84
Slackware package list

Listen: Ogg 12x11 | Opus 12x11


Klaatu gushes over Porteus, the portable Slackware distribution.

ogg 951dbd39a435001fd1818acadac123444ad9fc370ecbfcae15d6a7b88f895374
opus f93f7fd4c53d02714b48343882124e66f444aa0ab57c7bedbbc57a57cbf7c9bf
m4a 35a68a194e65338248ab5914e47fca24f9def3a382ed5158252d519993c15569
spx 245f8241c6be33ce663b7edc5985394153ec3375d07fc3afc31919784390dcf5
Live Slackware from Alien Bob

Listen: Ogg 12x10 | Opus 12x10


Klaatu tries pkgsrc on Slackware, and you won't believe what happens next. But to sum it up: it's super easy to implement, easy to use, and pretty nifty.

To get pkgsrc on your Linux OS:


  $ wget

Extract it to /usr:

  # su -
  # tar --extract --verbose --file pkgsrc.tar.gz -C /usr

Bootstrap pkgsrc:

  # cd /usr/pkgsrc/
  # ./bootstrap

Adjust paths:

  # echo "PATH=$PATH:/usr/pkg/bin:/usr/pkg/sbin" >> ~/.bashrc
  # echo "export $PATH" >> ~/.bashrc  
  # echo "MANPATH=$MANPATH:/usr/pkg/man" >> ~/.bashrc
  # echo "export $MANPATH" >> ~/.bashrc

Build something:

  # cd /usr/pkgsrc/foo/bar
  # make install
ogg d33c41ab7665166611763ff41ca50550fb523d79ac9326b56aae56f03e2c2a98
opus eff6e9e57a56e5a8a056d0b5536e8220aeb41a58600f4d42eea06954e9091365
m4a dc3511676ecf2b66e0796e3f2f3784ce56f07dc5c1178faf3d3959660f797504
spx 7a7b37a46d18ca484e2bb5db05342a20a2c1aa136e81c8255fd5b303abbce6fd

Listen: Ogg 12x9 | Opus 12x9


A bunch of listener feedback. Hear about old time sci fi internet shows, runtimes, and much much more, not the least of which is an open source audio converter powered by LibreOffice spreadsheet.

ogg f7bb79ddb88065a8995aea87ef3f87d1f8293e206f871e77dae3dfe996b1d44e
opus 2e4a43d1df02ec77e5c2c12d265bfb9c89d1f79482000810c4373d8bd63ba53a
m4a edb0491f78fbcdcecfa1d645db5d900e82aef4c793065ea344ab4055ced95389
spx f042f2850f5144f9fcac29d72b4de6640169bb86c432cf9071a6167735ba4f6e
Claybourne, a Kiwi SF radio drama from the 90s
GNU docs on CHM, worth reading for the dedication alone
Sheety Audio Converter by Doru
Resolving HDR with spreadsheets by Kevin Chen

Listen: Ogg 12x8 | Opus 12x8


We hope you find this episode useful.

Here are Ken Fallon's shownotes:

A good alternative to ls:

find -ls

Find this, and then do that:

find -type f -iname "*txt" -exec grep cows {} \;

Identify symlinks when I need to redirect stuff from one data store to another:

find -type l

Useful for listing just directories, and getting around the annoying habit of ls *, which returns the files in sub dirs.

find -maxdepth 1 -type d

The prune option can exclude results:

find . -iname "*.wav" -type f -o -prune "./foo"

Identify empty files:

$ find -empty

$ find -empty | xargs --max-args 1 trashy

As a cron job to remove old log files

0 23 * * * find /var/log -iname "~*" -o -iname "*log*" -mtime +30 -exec
trashy {} \; > /tmp/removing-old-logs.txt 2>&1

The mtime option allows you to limit a search to files older than, but also files newer than, some value * 24. It's great for when you bring up a new service that's logging something but you don't know where.

For bash scripts, I use this format a lot:

for foo in $( find /var/tmp/ -type f -name "");do echo $foo;done

or like this

find /var/tmp/ -type f -name "" | while read foo;do echo $foo;done

It's amazing how often I run this

find -type f -iname "*.something" -exec ls --full-time {} \;

or this

find -type f -iname "*.something" -exec grep something {} \;

Usually I throw in the -maxdepth option to limit the search depth.

Use the ipath or iwholepath to scrub a path for a string.

find -ipath "*something*"

Then there's this type of construct for tools like ffmpeg and xmlstarlet that don't love wildcards from for loops.

find -type f -iname "*.xml"| while read i;do xmlstarlet sel -T -t -m
'rss/channel/item/enclosure' -v '@url' -n "${i}";done

Then there's the awkward way it handles multiple options:

find \( -ipath "*foo*" -o -ipath "*bar*" \) -exec rm -v {} \;

Note: locate and updatedb use find in the background.

ogg 214eb2263e77756db83e8de06707140d69f59f8509969cd1496e62c4a9f0b565
opus 926aa00e84291ee63cec104d63c4b50aeda9ddd0051dd8390b736c172ca41cc2
m4a d32bf729beecb964cb8503b99a405256f3ecf446fd7f3f4debe0f4610a8339ed
spx 3455e9da8dc9ab89ed7250a03e0a05597e7b615b94262fe6f916f87d6165994e
GNU findutils
GNU findutils user manual

Listen: Ogg 12x7 | Opus 12x7


Klaatu, whilst stranded in a hotel somewhere in middle America after a delayed flight, reviews his new InkBook Classic 2 ebook reader, which has replaced his broken Kobo n905.

ogg 91c0d0d74e6b8627d39bf08d5a413afca3027ee5e0cd4376a69197769eae9f91
opus c9a76591f76c4c1bcec2b3ab27bb9200f91a10a3d8594dc8ec291cdbe503b02d
m4a bfa632431d079143a1e3cd174ec26c5e26db7cbf8736b05aa775d80f15c0d6a0
spx 9761c843563583d580ae1efaf4c3d00aa5596eaa03c34738a57f92102fc09912
Android open source

Listen: Ogg 12x6 | Opus 12x6


Klaatu expounds upon xargs and talks GNU parallel. Also, a bit about the concept of runtimes.

Here is a recent real-world benchmark comparing parallel to xargs:

$ time find . -type f -name "*.wav" | xargs -I% --max-args 1 sox % %.flac

real    1m5.364s                                                                        
user    1m3.907s                                                                      
sys     0m1.424s

$ time find . -type f -name "*.wav" | parallel -I% --max-args 1 sox % %.flac

real    0m22.743s
user    1m21.780s
sys     0m1.400s

ogg 83bde56b08fb15cf7e554491b4e9df6e46efc04102e3afb5555852d6349679ff
opus f8c46c403f504773c8e7a64f5e2704bcaa3a554f1d3edf721513df5ae39ee52a
m4a 9619b9e2127e1b65e278689d0c7ed36ca7ef075cd6b8e1d5f30de765b507f88a
spx e15a070c75ff9ac30de5fd1c0d5a62aa3f29c3d599146739568c65bbe31a3671
GNU Parallel
Dark oCCult build script using GNU parallel

Listen: Ogg 12x5 | Opus 12x5


All about the GNU xargs command.

ogg 2befbf2c6eb24428db2acbe7b007020e4bdafd4b7f1b98578f16a67f52d72474
opus 5580e2b1117144b058211b6ce80530cb75b7bc4d49745a0aa4e969fdd677cfd2
m4a d07d8e3df085cd0707cb50bcad7a0a2e84d54d96926ba4bf4c69366441cbcc45
spx d81696b9a1a30445ff4c202890528fe225fc146c0395a85ee9765111b0a16bdb
GNU findutils

Listen: Ogg 12x4 | Opus 12x4


A bonus episode this week. Klaatu talks about getty, agetty, inittab, gawk, and more.

ogg 17356498562df4a04957c1dc6f02107f26152eace77c870246cf2b5efdace891
opus b7368c425abbe8197f4f26df4659392e16270754f9256d6fbeef7d4f5eb21853
m4a c1bdb98b86ede5b44ac2d012a8f6fe1833da6124b7af7cd79bff80637b5734bb
spx 8e6cda517a81167279020fb2270c6821c692ca91a9b74646a69e41eacd141789
History of BeOS
Haiku is an open source BeOS

Listen: Ogg 12x3 | Opus 12x3


Klaatu talks about BeOS, Haiku, elvis, e2label, mlabel, and much more. Either next week or the week after, let's do an episode on find. Send Klaatu your cool find hacks!

ogg 6d85516bd7276a97e49d00b127e4d292181943dc498a6575c7ff99b17a887360
opus aedd88aebfabec05f929bc2dde170b69f608cbff1ecb2c895555514a19d92583
m4a 6aa537ac0950bf48556396cc95d1823bd55e2803e3e11225845d0de9437dc14f
spx 5ccae4b3c0261c621829b0be49422d5971d9af2b4c6457ab67c31d611196630a
History of BeOS
Haiku is an open source BeOS

Listen:o Ogg 12x2 | Opus 12x2


Klaatu introduces his podwrite tool, his custom toolkit for publishing this show and his Chronicles & Commons show.

ogg 062f6eda50a5c9d3177bc7725ca5fd21d9b6043e0a2dd6eac43cf03837d6a5d3
opus 2ca99f7280a7cfeb785009cd37947adaa098161c727fd3534b2401d8b9598c75
m4a d8b7c8bb8e8ab9a1a6fda60d049473fb1cf493498da9a51b362a812b53f1d620
spx e73db40f6992fe9e64cf175c0f9b734804ce01e499c2633428c927c5aa1f153a
Podwrite on Gitlab
Podwrite documentation
The excellent Wordpress plugin, Podpress, is easier but harder to automate

Listen: Ogg 12x1 | Opus 12x1


Klaatu continues his tour of the low level Linux filesystem, covering exciting commands like attr, the GNU coreutils, infocmp, and more.

shasum -a256:
ogg dd7e999b1e9eebf835ab0a18a7f70850422fbf610cf033d640bd219c5ad77491
opus fedc55bd11e6c780710d36dadcc3dae2bd40af3d0633c5690d2efa44157fe3e6
m4a d55b2da937801664fc2258cb1e38a965446587092df895b5485703200af55e25
Linux from Scratch

Listen: Ogg 12x0 | Opus 12x0


Linux user, know thyself. It's a new year and a new season, and the GNU World Order is now officially an Ogg Vorbis and Opus cast. Although there is no speex feed now, there is no need to update your feed. The old speex feeds are symlinked to the new Opus feed.

In this episode, Klaatu takes a look at all those little files that get installed when you install Linux, like libgmp, libglib, libgobject, libpanel, libusb, and many many more.

shasum -a256:
ogg 5468697f0d58ba413a5038196b41efb8a319e5e66f726ab62468993f67b1ac17
opus 38a71ad2fe11728cdf83d00aff69f3a52904cd1b9b0b5a1a191f776e15b3bf8d
Slackware package set a