<?xml version="1.0"?><rss version="2.0"><channel> <title>gopher.lottalinuxlinks.com</title> <link>gopher://gopher.lottalinuxlinks.com/</link> <description>gopher.lottalinuxlinks.com Description</description> <item> <title>10 13 2140_SID_TO_ARCH.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-10-13-2140_SID_TO_ARCH.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.10.13 TIME : 21:40 AUTHOR : dsyates@lottalinuxlinks.com TITLE : SID TO ARCH =================================================================== I've been using debian linux since 1995; when I say using, I mean at least one machine in my house has been running debian constantly during that entire time, be it a server install running stable, a laptop or desktop computer for the wife or one of my daughters running stable, or maybe testing, and always my personal daily driver laptop running sid. So when I changed my two personal daily driver laptops (not any of my servers or other family member's computers) from debian sid to arch linux this past July, it could be asked, why arch and why now? I know and love debian. It works, I know all the ins and outs, and it has never once broken, failed to update, or let me down in any memorable way; these are the reasons debian is the only distro I would ever install on a server. Debian is not just for servers; debian is everything anybody needs, meaning if you need stable they have you covered, if you need more recent, less "stale" programs, they have that covered as well, and if you need the latest and greatest, then they have that too! If you want a minimal install, or a full fledged out of the box, everything included, just works distro, you have those options too. And no matter what you need, they have security covered too. Installing packages from the appropriate official repo, no matter stable, testing, or sid, you can rest easy knowing that security has been handled appropriately. Debian sid is often called a rolling release, and it's accurate to do so; outside of the freeze before a stable release, debian sid is constantly being updated. Other than that, if one sticks to the official repos, and doesn't mix repos, just about everything you could possibly need is there, and can be safely downloaded and installed with almost zero unexpected gotchas to be had. So why even try something new? Was there an itch that debian sid wasn't scratching for me? The short and only answer to the question is that for my personal daily driver computers running sid, I have been for years maintaining a list (paper and electronic) of packages that were installed from source and outside of the standard sid repos. The itch that arch seemed to scratch that debian sid does not, is a solution for installing packages outside of the standard repos using the package manager. Debian doesn't do this as easily, and more times than not, it's easier to just build and install from source. With arch however, using the aur, and the pkgbuild system, everything on my lists of things installed outside the package manager on debain sid, could be installed using the package manager and the aur. Is it perfect? Is it safer? No to both questions. The aur doesn't feel as safe or secure as debian for sure; but it is just a safe as installing from source on sid, if you take the time to read the source --which is something you should be doing every time you install anything from source. The main advantage with arch and the aur is that you can install from source using the package manager. So, for me it's a win: if something is not in the official arch repos, and it's in the aur (which everything on my lists were) I can install it with the package manger, which with arch is a superior user experience. Just from a more nebulous aspect though, having things installed more close to source (less patches than with debian binaries) my system seems a little more lean--it's a feel thing but it seems a little more lean and a little more snappy. One of the things I really enjoy about a debian sid install is the minimal netinstall, arch does this in spades, as you only install what you need and you only enable or start the services you need as well. With arch I feel more in control of every detail of my system. Overall I am very happy replacing debian sid with arch, and I don't regret anything about it. YMMV -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>03 13 1155_PEN_AND_PAPER.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-03-13-1155_PEN_AND_PAPER.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.03.13 TIME : 11:55 AUTHOR : dsyates@lottalinuxlinks.com TITLE : PEN AND PAPER =================================================================== Nothing earth shattering to see here, just a overdue, short post about two things that I have carried with me everyday since since graduating college in 1989: a pen and some kind of pocket notebook. It really started earlier than that though, around 5th grade; I evidently was lying about the amount of homework I had, and my mom made me carry a notebook that I was to use to write down everything that I had to do. She probably had the teacher sign it too; I can’t remember the details, but it worked, and I have used and carried notebooks ever since. In school I would carry it my bag, but since then it has resided in my back pocket. I take notes on my computer too of course. I have used a variety of apps in the past; I am currently using a combination of Vim, Joplin, syncthing, git, and nextcloud. Notes stored on my computer are more often for procedural or repetitive task, or things that I may want to copy and paste. In most cases these digital notes are as important to me as config files, and other things I routinely back up, but the pen and paper notes server a different purpose, and are also just quicker, easier, and more convenient. My analog notes tend to be more list-like in nature, compared to the ones I keep on my computer, and almost never need to be digitized, as they are a mainly a complementary supplement to my digital note taking. Since graduating college and entering the work force, I have used a variety of pocket sized notebooks, spiral bound flip books, pads of paper in a cover, pocket calendars, and day-timers; but for the last 20 years or so, I can say that of all the pen and paper solutions I have carried, the best I have found is simply this: a Fisher Bullet Space Pen coupled with 3.5“x 5.5” dotted, memo books, carried in a leather cover. What I love about this notebook, is that the leather cover makes it very durable and comfortable to carry in my back pocket, and it can hold 3, 64 page notebooks. In one leather cover I can carry one notebook for long term work-related things, one for mostly linux-related things, and one for archived material from the previous year. The Fisher Bullet Space Pen is almost indestructible. The one I carry now, I found near my driveway after losing it for over a year. It had been run over by a car and exposed to the elements and still serves as my everyday pen. It’s not the best writing pen, but it is small and comfortable, and easily carried. It may seem trivial, or an insignificant geeky thing, but my pen and paper pocket notebook make me happy. -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>02 13 0135 ADDING_A_REPURPOSED_CAPS_LOCK_AS_A_THIRD_MOD_KEY_IN_I3.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-02-13-0135-ADDING_A_REPURPOSED_CAPS_LOCK_AS_A_THIRD_MOD_KEY_IN_I3.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> ================================================================== DATE : 2021.02.13 TIME : 01:35 AUTHOR : dsyates@lottalinuxlinks.com TITLE : ADDING A REPURPOSED CAPS LOCK AS A THIRD MOD KEY IN I3 =================================================================== When the i3 window manager is run for the first time, a configuration wizard runs and allows you to set the modifier, or mod key, that you want to use for your keybindings. The configuration wizard allows you to choose either the Alt key or the Super key, i.e. one or the other, but not more than one. i3 though has support for all five modifier keys, and these can be set in your i3 config file. My i3 config file was set up to use two mod keys: mod4, the Super key, and mod1, the Alt key. For a while, I was happily using two mod keys, but recently I have found myself needing to use a third. This quick and dirty post will explain how, and why I repurposed my Caps Lock key as mod3. Disclaimer: what follows is what worked for me, and what I did, and in the order I did it, to use the Caps Lock key for use as mod3 in i3. Here is the relevant excerpt from my i3 config file, from when I was using just two mod keys: set $mod Mod4 set $mod1 Mod1 And here is the xmodmap -pm command output (before repurposing the Caps Lock Key) showing the default assignments for mod1 through mod5: xmodmap -pm xmodmap: up to 5 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Hyper_L (0x42), Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb) As you can see in the above output, mod3 is empty and mod4, in addition to the Super key, also includes the Hyper key. The first thing I did was run the following setxkbmap command to change the Caps Lock key to the Hyper key: setxkbmap -option caps:hyper This might seem like enough, but it’s not; next a ~/.Xmodmap file needs to be created to clear out the mod4 designations, add the mod3 designation, and then re-add the mod4 designations. Here is the contents of the ~/.Xmodmap file I created: clear mod4 keycode 66 = Hyper_L NoSymbol Hyper_L add mod3 = Hyper_L add mod4 = Super_L Super_R Note: the keycode for the Caps Lock key can be obtained using the xev command like this: xev -event keyboard After creating the .Xmodmap file you either need to restart X or source the .Xmodmap file. Here is the command to source the new file: xmodmap ~/.Xmodmap After running that above command, re-running the xmodmap -pm command outputs the following: xmodmap -pm xmodmap: up to 3 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 Hyper_L (0x42), Hyper_L (0xcf) mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb) As you can see mod4 now only includes Super, and mod3 is no longer empty, but contains Hyper. Next (since I don’t run a display manager) I added the following to my ~/.xinitrc: [[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap This will source my custom ~/.Xmodmap file when I run startx. And the last thing I did was add the following to my i3 config file: set $mod3 Mod3 exec --no-startup-id setxkbmap -option caps:hyper For clarity, I put the set $mod3 Mod3 line in the same section of the file where I had set $mod and $mod4; and I put the exec –no-startup-id setxkbmap command in the section of the file where I put the programs that I want started when i3 starts up. With the above changes made, I now have three modifier keys that I can use for keybindings in i3. This gives me another whole level of keybinding flexibility. The main reason I did this though, is that a third mod key made it more simple and intuitive to add and use an additional 10 workspaces, for a easily accessed total of 30. With i3 configured this way I can now access workspaces 1-10 with Super+numbers 1-0; workspaces 11-20 with Alt+numbers 1-0; and workspaces 21-30 with Caps Lock+numbers 1-0. Here is the excerpt from my i3 config with 30 workspaces: # Define names for default workspaces for which we configure key bindings later on. # We use variables to avoid repeating the names in multiple places. set $ws1 "1" set $ws2 "2" set $ws3 "3" set $ws4 "4" set $ws5 "5" set $ws6 "6" set $ws7 "7" set $ws8 "8" set $ws9 "9" set $ws10 "10" set $ws11 "11" set $ws12 "12" set $ws13 "13" set $ws14 "14" set $ws15 "15" set $ws16 "16" set $ws17 "17" set $ws18 "18" set $ws19 "19" set $ws20 "20" set $ws21 "21" set $ws22 "22" set $ws23 "23" set $ws24 "24" set $ws25 "25" set $ws26 "26" set $ws27 "27" set $ws28 "28" set $ws29 "29" set $ws30 "30" # switch to workspace bindsym $mod+1 workspace number $ws1 bindsym $mod+2 workspace number $ws2 bindsym $mod+3 workspace number $ws3 bindsym $mod+4 workspace number $ws4 bindsym $mod+5 workspace number $ws5 bindsym $mod+6 workspace number $ws6 bindsym $mod+7 workspace number $ws7 bindsym $mod+8 workspace number $ws8 bindsym $mod+9 workspace number $ws9 bindsym $mod+0 workspace number $ws10 bindsym $mod1+1 workspace number $ws11 bindsym $mod1+2 workspace number $ws12 bindsym $mod1+3 workspace number $ws13 bindsym $mod1+4 workspace number $ws14 bindsym $mod1+5 workspace number $ws15 bindsym $mod1+6 workspace number $ws16 bindsym $mod1+7 workspace number $ws17 bindsym $mod1+8 workspace number $ws18 bindsym $mod1+9 workspace number $ws19 bindsym $mod1+0 workspace number $ws20 bindsym $mod3+1 workspace number $ws21 bindsym $mod3+2 workspace number $ws22 bindsym $mod3+3 workspace number $ws23 bindsym $mod3+4 workspace number $ws24 bindsym $mod3+5 workspace number $ws25 bindsym $mod3+6 workspace number $ws26 bindsym $mod3+7 workspace number $ws27 bindsym $mod3+8 workspace number $ws28 bindsym $mod3+9 workspace number $ws29 bindsym $mod3+0 workspace number $ws30 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace number $ws1 bindsym $mod+Shift+2 move container to workspace number $ws2 bindsym $mod+Shift+3 move container to workspace number $ws3 bindsym $mod+Shift+4 move container to workspace number $ws4 bindsym $mod+Shift+5 move container to workspace number $ws5 bindsym $mod+Shift+6 move container to workspace number $ws6 bindsym $mod+Shift+7 move container to workspace number $ws7 bindsym $mod+Shift+8 move container to workspace number $ws8 bindsym $mod+Shift+9 move container to workspace number $ws9 bindsym $mod+Shift+0 move container to workspace number $ws10 bindsym $mod1+Shift+1 move container to workspace number $ws11 bindsym $mod1+Shift+2 move container to workspace number $ws12 bindsym $mod1+Shift+3 move container to workspace number $ws13 bindsym $mod1+Shift+4 move container to workspace number $ws14 bindsym $mod1+Shift+5 move container to workspace number $ws15 bindsym $mod1+Shift+6 move container to workspace number $ws16 bindsym $mod1+Shift+7 move container to workspace number $ws17 bindsym $mod1+Shift+8 move container to workspace number $ws18 bindsym $mod1+Shift+9 move container to workspace number $ws19 bindsym $mod1+Shift+0 move container to workspace number $ws20 bindsym $mod3+Shift+1 move container to workspace number $ws21 bindsym $mod3+Shift+2 move container to workspace number $ws22 bindsym $mod3+Shift+3 move container to workspace number $ws23 bindsym $mod3+Shift+4 move container to workspace number $ws24 bindsym $mod3+Shift+5 move container to workspace number $ws25 bindsym $mod3+Shift+6 move container to workspace number $ws26 bindsym $mod3+Shift+7 move container to workspace number $ws27 bindsym $mod3+Shift+8 move container to workspace number $ws28 bindsym $mod3+Shift+9 move container to workspace number $ws29 bindsym $mod3+Shift+0 move container to workspace number $ws30 -dsyates (o_!_/o) </pre>]]></description> </item> <item> <title>02 07 0919_MY_GEMINI_CAPSULE_HAS_LAUNCHED.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-02-07-0919_MY_GEMINI_CAPSULE_HAS_LAUNCHED.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.02.07 TIME : 09:19 AUTHOR : dsyates@lottalinuxlinks.com TITLE : MY GEMINI CAPSULE HAS LAUNCHED =================================================================== And we have liftoff! I have a gemini capsule now. If you already have a gemini client enter in the following address: gemini://gemini.lottalinuxlinks.com Gemini is a new privacy-respecting internet protocol that seeks to fill the space between the web and gopher. It is still new to me, so I am just getting into it; but [@Samsai](https://mastodon.social/@Samsai), has a really good post about what makes gemini intriguing. [post]: https://samsai.eu/post/introduction-to-gemini/ Much like gopher, except way more modern, you will need a gemini client to view gemini content. Here is a list of clients, proxies, and servers that can be used with gemini. [list]: https://github.com/kr1sp1n/awesome-gemini If you don’t have a gemini client yet, you can use the gemini portal to access gemini capsules with a web browser. [gemini portal]: https://portal.mozz.us/gemini/gemini.circumlunar.space/ There isn’t a lot of information on the web about it, but Project Gemini, and of course wikipedia, have a little more information if you are interested in learning more. [Project Gemini]: https://gemini.circumlunar.space/ [wikipedia]: https://en.wikipedia.org/wiki/Gemini_(protocol) Special thanks to [@ecliptik](https://fosstodon.org/@ecliptik) and his _scripts repository. [_scripts repository]: https://github.com/ecliptik/ecliptik.github.io/tree/master/_scripts -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>02 06 0157_HOW_TO_BUILD_AND_INSTALL_I3 GAPS_FROM_SOURCE_ON_DEBIAN.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-02-06-0157_HOW_TO_BUILD_AND_INSTALL_I3-GAPS_FROM_SOURCE_ON_DEBIAN.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.02.06 TIME : 01:57 AUTHOR : dsyates@lottalinuxlinks.com TITLE : HOW TO BUILD AND INSTALL I3-GAPS FROM SOURCE ON DEBIAN =================================================================== i3-gaps is a fork of the i3 window manager that is kept up to date with upstream i3, and adds the feature of allowing you to have visible and configurable gaps between windows. This feature **is** just eye candy, and may or may not actually aid the user by providing some visible space between windows (at the expense of some screen real estate) to make clearer the distinction between adjacent windows. What cannot be argued though, is that i3-gaps just looks better. Seriously though, it is just regular i3 but with re-sizable gaps between windows that can be turned on or off. Debian does not have i3-gaps in their repos, just plain i3. If you are running debian, and already have i3 from the debian repos installed, and you want to use i3-gaps, I recommend uninstalling the version from the debian repos before proceeding. The reason you want to do this is that the i3-gaps binary is actually named i3, just like the non-gapped i3 from which it is forked. I don't know why the forked version has the same name, but that's OK. You either want the gap option, or you don't. If you want them bad enough, just uninstall the i3 from the repo before proceeding. sudo apt purge i3 Before we go any further, and in the spirit of full disclosure, I installed i3 in /usr/ instead of /usr/local/. *I know, I know*...the instructions that follow though will assume that you want to install i3-gaps in /usr/local/. So, here is how to build from source and install i3-gaps on debian: First install the dependencies: apt install meson dh-autoreconf libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev xcb libxcb1-dev libxcb-icccm4-dev libyajl-dev libev-dev libxcb-xkb-dev libxcb-cursor-dev libxkbcommon-dev libxcb-xinerama0-dev libxkbcommon-x11-dev libstartup-notification0-dev libxcb-randr0-dev libxcb-xrm0 libxcb-xrm-dev libxcb-shape0 libxcb-shape0-dev Then cd to the directory where you want to download the i3-gaps source code and the run the following commands in the order shown. git clone https://github.com/Airblader/i3. git i3-gaps cd i3-gaps mkdir -p build && cd build meson --prefix /usr/local ninja sudo ninja install The meson --prefix option allows you to pick where you want to install i3-gaps. In the above example, everything will be installed in sub-directories of the /usr/local/ directory. As I mentioned before, this binary will not be called i3-gaps, but it will be called i3. If you are like me, and don't use a display manager, just edit your .xinitrc file and comment out your current window manager and add the following line: exec i3 If you are running a display manager you should be able to pick i3 from the login screen. Remember it will be called i3, not i3-gaps. Once installed, you will need to edit your config file (~/.config/i3/config) to enable the gaps feature, since the config file that comes with i3-gaps is the same one as the default non-gapped i3 from the repo. All you need to add is in the README.md at the https://github.com/Airblader/i3. Note that the i3-gaps documentation states that window titlebars need to be disabled in order for the gaps feature to work. I *think* that recommendation may be out of date, as I have run gaps with window titlebars enabled; but YMMV. I have since grown to love windows without titlebars though, and keep my titlebars disabled.. Here is the pertinent part of my config file, and how I have the gaps configured: # gaps # disable window titlebars for_window [class="^.*"] border pixel 0 gaps inner 6 gaps outer 2 bindsym $mod+Shift+g gaps inner all set 6; gaps outer all set 2 bindsym $mod+Shift+n gaps inner all set 0; gaps outer all set 0 # Only enable gaps on a workspace when there is at least one # container smart_gaps on # Activate smart borders (always) # smart_borders on # Activate smart borders (only when there are effectively no gaps)i # smart_borders no_gaps # Hide edge borders only if there is one window with no gaps hide_edge_borders smart_no_gaps # What follows here is optional and defines a mode that allows you # to resize the gaps on the fly. # Press $mod1+Shift+g to enter the gap mode. Choose o or i for # modifying outer/inner gaps. # Press one of + / - (in-/decrement for current workspace) or # 0 (remove gaps for current workspace). # If you also press Shift with these keys, the change will be # global for all workspaces. set $mode_gaps Gaps: (o) outer, (i) inner set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) bindsym $mod1+Shift+g mode "$mode_gaps" mode "$mode_gaps" { bindsym o mode "$mode_gaps_outer" bindsym i mode "$mode_gaps_inner" bindsym Return mode "default" bindsym Escape mode "default" } mode "$mode_gaps_inner" { bindsym plus gaps inner current plus 5 bindsym minus gaps inner current minus 5 bindsym 0 gaps inner current set 0 bindsym Shift+plus gaps inner all plus 5 bindsym Shift+minus gaps inner all minus 5 bindsym Shift+0 gaps inner all set 0 bindsym Return mode "default" bindsym Escape mode "default" } mode "$mode_gaps_outer" { bindsym plus gaps outer current plus 5 bindsym minus gaps outer current minus 5 bindsym 0 gaps outer current set 0 bindsym Shift+plus gaps outer all plus 5 bindsym Shift+minus gaps outer all minus 5 bindsym Shift+0 gaps outer all set 0 bindsym Return mode "default" bindsym Escape mode "default" } If you like i3, you'll love i3-gaps; even if you don't love gaps, you can just turn them off and it will be just like regular i3. That is a win-win-win scenario. -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>01 31 0043_FOSSTODON.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-01-31-0043_FOSSTODON.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.01.31 TIME : 00:43 AUTHOR : dsyates@lottalinuxlinks.com TITLE : FOSSTODON =================================================================== I have posted before at about my experiences in the linux and FOSS community, and specifically about getting in, fitting in, taking part in, and later dropping out of the community. Since the recent rebirth of this dormant website, I have revisited mastodon, and logged back in to my fosstodon account again for the first time. I say the first time because I honestly cannot remember the last time I had logged in, but thankfully bitwarden had my password. In the short two week period, at the time of this writing, that I have been back on fosstodon, I can say it has been enjoyable and eye opening. Mastodon is an open source, and Free as in freedom, privacy respecting, own your data, social network server and micro blogging platform. All mastodon servers can communicate with each other on a federated network of decentralized servers; this means that if you are have an account on one server, or instance, you can communicate with all users on the server you are on, as well as users on other servers. Additionally, mastodon is part of the larger fediverse and can communicate with the other non-mastodon parts of the fediverse too. That is the short and sweet, oversimplified explanation of what mastodon is. If you want to know why you should use mastodon, please read the post by @codesections: ~~~~~ at https://www.codesections.com/blog/mastodon-elevator-pitch/ ~~~~~ about how and why mastodon is better than twitter; he is one of the moderators of the fosstodon mastodon instance, and he says it better than I ever could. So, after that brief, what, how, and why, I will get back to the main purpose of the this post, and continue to gush a little about the fosstodon mastodon instance. One of the things I love about mastodon and it being federated, is that the instance you choose to have an account with can, if you find the right instance, really feel like a community. What I mean by that is if you are a Free and open source linux geek, the fosstodon instance will feel like home for you. The fosstodon instance is filled with people who care about linux, Free and open source software, and all the various and sundry geeky/nerdy things that those people are passionate about. If you are passionate about something, being surrounded by, and communicating with, people who are passionate about the same things, puts you in an environment that both liberates and fosters a healthy, fun, and engaging community. I am living proof that, even someone like me who has suffered from occasional impostor's syndrome, can, and will, be accepted into the linux and Free and open source software community. The fosstodon instance is a place for people like me; an exciting, and engaging place that allows anyone and everyone that is passionate about these things to get in , fit in, and take part in, an accepting community that feels like home. Fosstodon, being just one instance of the larger mastodon federated network, isn't a particularity small instance with over 15,000 users (and don't forget you can still communicate with the other instances), but it still feels like a community, as well connected part of a larger unique part of the internet. And that is because it is part of the fediverse, the larger universe made up of all the federated networks, that in addition to mastodon include diaspora, Friendica, GNU Social, Hubzilla, Misskey, PeerTube, Pleroma, Pixelfed, Funkwhale, and possibly more. Together, all of these decentralized networks of federated servers make up the larger fediverse. It is a small-feeling, interconnected corner of the internet, that isn't controlled by giant companies that mine your data for their profits. It sort of reminds me of the internet before the web became the way it is today; it somehow reminds me of gopher space and BBSs, when the internet felt, in a good way, smaller--but more connected. I told you I was gonna gush. None of this is rocket science, and it may not even be that eye-opening for most people reading this, but I have had my eyes opened, again, by the linux and Free and open source software community. Thanks fosstodon. If you don't have a home on mastodon yet, and especially, if you are passionate about FOSS and linux, just click the link below to sign up for an account on the fosstodon instance: Join fosstodon at https://fosstodon.org/invite/XrJRievw And if fosstodon doesn't sound like home to you, being able to pick ~~~~~ at https://instances.social/ ~~~~~ or even host ~~~~~ at https://github.com/tootsuite/mastodon ~~~~~ your own instance are just two more reasons that make mastodon, and the fediverse ~~~~~ at https://fediverse.party/en/fediverse ~~~~~ so awesome. -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>01 29 0630_WELCOME_TO_THE_MODCAST.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-01-29-0630_WELCOME_TO_THE_MODCAST.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.01.29 TIME : 06:30 AUTHOR : dsyates@lottalinuxlinks.com TITLE : WELCOME TO THE MODCAST =================================================================== Shortly after I set up my gopher hole last year, I downloaded all of the MOD files off of http://artscene.textfiles.com/music/mods/ thinking I would mirror them on my gopher site. I decided not to once I had finished the 54 gig download of over 140,000 MOD files. The directory structure of the downloaded files was going to make it a little cumbersome to be useful on a gopher site. As an aside, I can't remember the exact details, but I pretty sure I used wget, or maybe it was curl, to grab the files; either way it was easy. I kept the files and have enjoyed listening to them as background music on several occasions since then. But wait, what are MOD files? MOD is short for module, and paraphrased from wikipedia at https://en.wikipedia.org/wiki/MOD_(file_format), is a file format, first developed for the Amiga computer in 1987, and is mainly used to represent music. A MOD file (including files with the extension MOD, XM, IT, 669, MTM, and S3M) contains a set of instruments in the form of samples and a number of patterns indicating how and when the samples are played. More information about MOD files can be found at the alt.binaries.sounds.mods FAQ at http://cd.textfiles.com/darkdomain/faqs/faq-mod_v28-part1.txt, retrieved and stored at http://textfiles.com. All that aside, MOD files are both plenty fun and geeky; I have fond memories of editing MOD files back in the day, changing the instrument samples and completely changing the sound of the music. And you can still do that today with with the MOD tracking program MilkyTracker found at https://milkytracker.org/about/. So, back to the story, a couple of day ago I decided I would stream a randomly shuffled, continuous playlist of 140,129 MOD files. That's a lot of MOD files; 309 days, 6 hours, 2 minutes, and 48 seconds worth of mod files to be exact! With this many files, there are sure to be some that are not your cup of tea, but there will plenty of good ones too. So, if you feel so inclined, tune in and give it a listen. I can pretty much guarantee you won't hear the same song twice in 309 day of continuous listening. Just paste the following stream address in your media player of choice: http://lottalinuxlinks.com:8000/stream.m3u I don't know for sure how much my daily internet usage will affect the stream quality, but I know there will be times when the stream is less than ideal. I really don't think this is going to blow up the internet or anything like that, but if it gets to be a hassle bandwidth wise (or even if it doesn't), there is a decent chance that I may end up moving the stream to a slot on anonradio at https://anonradio.net/listen/ over at SDF at https://sdf.org/, or maybe tilderadio at https://tilderadio.org/. We'll see what happens. tl;dr: I set up a pretty awesome internet audio stream at https://lottalinuxlinks.com/modcast/ of over 140,000 MOD files. -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>01 20 0947_I3_SCRATCHPAD_AND_VIM_LIKE_MARKS.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-01-20-0947_I3_SCRATCHPAD_AND_VIM_LIKE_MARKS.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.01.20 TIME : 09:47 AUTHOR : dsyates@lottalinuxlinks.com TITLE : I3 SCRATCHPAD AND VIM LIKE MARKS =================================================================== I've been using linux a LONG time, and without a doubt the best and most versatile graphical environment I have ever used is the i3 tiling window manger. Technically I use a fork called i3-gaps, but I will talk about that in another post one day. What makes i3 the best (for me) is that it fits the way I work, is easily customized, and that all the navigation can be done with the keyboard. Two really cool features of i3 are the scratchpad and vim like marks. The scratchpad is a place you can send floating windows where you can quickly retrieve them when needed. Think of it sort of like minimizing a window--except that with i3 windows are not minimized. i3 is a tiling window manager and all windows are by default opened in the largest dimensions possible. If a window is the only window opened on a workspace, then it is maximized; and if any more windows are opened on that workspace they are tiled to take up half the space of the previously opened window on that workspace. Any tiled window can be turned into a floating window (and toggled back into a tiled window) with the following keystroke (where the mod key is either set to the windows key or the alt key, depending on your i3 config file--in my case I have the mod key set to the windows key and mod1 set to the alt key): ~~~~~~ mod+shift+space ~~~~~~ mod+shift+space is a toggle, meaning repeating the keystroke will disable floating for the window and return it to a tiling window. Once a window is turned into a floating window it can be sent to the scratchpad like this: ~~~~~~ mod+shift+minus ~~~~~~ Technically, you don't have to turn a window into a floating window before you send it the scratchpad; i3 does that for you when you send something to the scratchpad. mod+shift+minus will send any window, whether it is tiled, tabbed, or floating to the scratchpad; but any window that is retrieved from the scratchpad is brought back as a floating window. When a window is sent to the scratchpad it disappears. Like I said, it is sort of like minimizing a window, except that status bars in i3 show workspace numbers, not windows; that means that there is no status bar indicator showing where that window went. What good is a disappearing window if you can't bring it back? Any window sent to the scratchpad can be retrieved like this: ~~~~~~ mod+minus ~~~~~~ What makes this cool is that you can take any window that you don't need right now, and set it aside, out of the way, until you need it again, and then bring it right back to the front, where and when you need it. You can even configure programs to start in a floating window that is sent straight to the scratchpad at start up. I have my i3 config file set up to automatically start the RPN calculator orpie, and a urxvt terminal window opened in a floating window and sent to the scratchpad as soon as I start i3. In the case of urxvt, my config file has this in it: ~~~~~~ exec --no-startup-id urxvt -name scratchterm for_window [instance="scratchterm"] move scratchpad ~~~~~~ What if you decide that you no longer want a program to be in the scratchpad? Simply retrieve it from the scratchpad (mod+minus), and do a mod+shift+space to return it to a tiled window. Once you have sent several windows to the scratchpad, you can bring them back with a mod+minus; this will bring them back one (and only one) at a time in a cycling sequence based on the order that they were sent to the scratchpad. What that means is, if you have eight windows in the scratchpad, you will have to repeat the mod+minus keystroke until the one you are looking for cycles back around. This can become a little bit of a time waster, and that is where vim like marks come in. Why are they called vim like marks? Marks in vim allow you to record your current position so that you can return to it later. In i3 marks can be applied to windows that allow you to directly jump to a specific window. In the case of windows that don't reside in the scratchpad, going to a marked window will switch to the appropriate workspace and focus the marked window. That is cool enough all by itself, but combined with the scratchpad, it gets even better. I avoided using marks for a while, because I have i3 configured to not draw window decorations (title bars and borders), and I though this meant I couldn't use marks. I have since found out two things, marks do not have to be drawn on window decorations to use then, and i3 can even be configured to not show marks in window decorations. So, how do you use marks, and what makes using them so great coupled with the scratchpad? The way I use marks in i3 is by using the i3-input tool to assign a mark to a window that can be used to retrieve that specific window from the scratchpad. This allows me to assign a keystroke to mark a window and another to later go to that marked window whenever I choose. Simply adding the following to your i3 config file will do the trick: ~~~~~~ # read 1 character and mark the current window with this character bindsym $mod+m exec i3-input -F 'mark %s' -l 1 -P 'Mark: ' # read 1 character and go to the window with the character bindsym $mod+g exec i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Goto: ' ~~~~~~ With this, when I type mod+m the i3-input tool will open a one line terminal to accept input, and I can mark the focused window with a one character mark. Then, I can send that window to the scratchpad with all the other windows that are already there. Later I can just type mod+g and then input the one character mark I assigned, and boom, the marked window is retrieved from the scratchpad. I didn't have to type mod+minus, 8 times to cycle through the scratchpad windows until I found it. That's just the way I use the scratchpad with marks, and that just scratches the surface (see what I did there?). You can configure i3 to move containers and windows to a mark, use marks with a window's class and title (or named instance like I used in the urxvt example above) to jump to a specific window, and marks can be be replaced removed and even toggled. Scratching the itch where x marks the spot is something that should never be typed in a phlog. -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>01 18 1220_CHECKRESTART_AND_NEEDRESTART.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-01-18-1220_CHECKRESTART_AND_NEEDRESTART.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.01.18 TIME : 12:20 AUTHOR : dsyates@lottalinuxlinks.com TITLE : CHECKRESTART AND NEEDRESTART =================================================================== I saw a toot on mastodon today talking about the program checkrestart. checkrestart, which is part of the debian-goodies package, can check and see which processes need to be restarted after an upgrade. So why is this cool, what does it do, and is it worth installing? Well, in general linux machines get a lot of updates, but don't need to be rebooted very often. When the ratio of updates to required reboots is high, as it is especially in the case of debian sid, there are going to be times where services may still use old libraries after doing a apt upgrade. Running checkrestart as su will list what processes and services are still using old versions of new files. It will also list the total number of processes, the number of distinct programs and packages affected, and if any of these contain systemd definitions or init scripts that can be used to restart them. Looking into checkrestart, and installing and running it, led me to finding out about a package, that was inspired by checkrestart, called needrestart. needrestart checks which daemons need to be restarted after library upgrades. needrestart, in addition to scanning processes, will scan containers, interpreter based-daemons (Java, Perl, Python, Ruby), processor microcode upgrades for Intel CPUs, and the kernel, for cases where outdated libraries are being run, and even if there are any user sessions where outdated binaries are being run. The coolest part for me though, is that needrestart is fully integrated with apt/dpkg and will prompt you with a which services should be restarted dialog after an apt upgrade. Even though I have run debian sid on my daily driver for over 15 years, with a potential for available updates every 6 hours, without either of these programs installed until today, I would argue, that both of these are worth installing and using. With a distro like sid, there are some best practices; and while neither checkrestart or needrestart make this best practice list (like the must have apt-listbugs, and apt-listchanges packeges), needrestart (and checkrestart) both provide useful information (and the choice to act on the provided information) that can help make your high update to reboot ratio machine more secure. These are good things to have. -dsyates (o\_!_/o) </pre>]]></description> </item> <item> <title>01 13 1227_UNDERGROUND_AUDIOBOOK.txt</title> <link>gopher://gopher.lottalinuxlinks.com/0/phlog/2021-01-13-1227_UNDERGROUND_AUDIOBOOK.txt</link> <pubdate>Wed, 13 Oct 2021 20:21:00 -0400</pubdate> <description><![CDATA[<pre> =================================================================== DATE : 2021.01.13 TIME : 12:27 AUTHOR : dsyates@lottalinuxlinks.com TITLE : UNDERGROUND AUDIOBOOK =================================================================== Underground: Hacking, Madness and Obsession on the Electronic Frontier is a book written by Suelette Dreyfus with research by Julian Assange in 1997. The book's title is an apt description of what the book is about, so I won't go into detail about that. One of the unusual things about Underground is that the authors licensed the book as literary freeware, which means that the book is available to anyone, anywhere at no cost, and with almost no restrictions whatsoever, except for commercial use of course. The book is available at Project Gutenburg as well as at http://underground-book.net. After reading Underground in 2007, I tried to contact Suelette Dreyfus about making a festival text to speech audio version available as a serialized podcast. I never could get in touch with her, so I emailed Julian Assange about this: Tue, Mar 6, 2007, 8:41 PM "Julian, I have tried many time times to contact both you and Suelette regarding this. I would like very much to make the book Underground available in festival generated audio in a podcast format. I have taken the text files available at http://www.xs4all.nl/~suelette/underground/underground-speech-text/ and have converted them to audio using festival. I would like very much to make these files available as mp3 and ogg files (converted from the verbatim text files) available for download on an individual basis, as well as to allow the end user to subscribe to an rss feed containing the audio files. My gut tells me that this is something that I am allowed, but I do not want to assume the wrong thing. I want to make sure that i have permission to do this. Please know that I seek no personal gain from this. I would just be making the converted files available to people in modern download-able format. The feed could even be available in iTtunes. Please let me know if this is something I am allowed to do. Thanks in advance for your kind consideration of this request." His reply: Tues, Mar 6, 2007, 10:04 PM "Dear dave. Please do! Sorry if we haven't been easily available. Busy consulting for this http://wikileaks.org/ Best, J" I only included the above exchange for the following obvious reasons: it was super cool to have talked to one of the authors; Julian Assange wrote the super cool program surfraw (that I still use today in a rofi menu); the historical reference to wikileaks in it's infancy; and Julian Assange is even more (in)famous today. So please allow my braggadocio, as it was my 15 minutes of fame. I did make the audio files, and did release them as a podcast, and made them available for download too. I hosted these files on my server from 2007 until 2011 or so, when I sort of took a hiatus from the linux community. Anyway, the book is awesome, and you should read it if you haven't. Yesterday I generated new festival audio files for the book and put them on my gopher sites; download and enjoy if you wish. -dsyates (o\_!_/o) </pre>]]></description> </item> </channel> </rss>