<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on The VikiD Truth</title><link>https://thevikidtruth.com/computing/category/linux/</link><description>Recent content in Linux on The VikiD Truth</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 22 Oct 2026 10:30:00 +0400</lastBuildDate><atom:link href="https://thevikidtruth.com/computing/category/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Reserve Words</title><link>https://thevikidtruth.com/computing/bashreservewords/</link><pubDate>Mon, 22 May 2023 22:02:13 +0400</pubDate><guid>https://thevikidtruth.com/computing/bashreservewords/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="reserve-words"&gt;Reserve Words&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Bash reserved words: &lt;strong&gt;they are not commands sitting somewhere in &lt;code&gt;/bin&lt;/code&gt; – they are part of the language, recognised before anything is looked up.&lt;/strong&gt; You cannot name a function &lt;code&gt;if&lt;/code&gt;, and &lt;code&gt;type if&lt;/code&gt; will tell you why.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Reserved words&lt;/strong&gt; (keywords) are tokens Bash treats specially when they appear where a command name would. The POSIX set plus Bash extensions includes:&lt;/p&gt;</description></item><item><title>Using Variables in Bash</title><link>https://thevikidtruth.com/computing/bashvariables/</link><pubDate>Mon, 22 May 2023 21:53:51 +0400</pubDate><guid>https://thevikidtruth.com/computing/bashvariables/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="using-variables-in-bash"&gt;Using Variables in Bash&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Bash variables: &lt;strong&gt;they are all strings, and everything interesting is about when those strings get split, expanded or left alone.&lt;/strong&gt; Master expansion and the rest of the shell starts to behave.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;A &lt;strong&gt;variable&lt;/strong&gt; in Bash is a name bound to a string value (arrays are the structured exception). You assign with &lt;code&gt;=&lt;/code&gt;, no spaces:&lt;/p&gt;</description></item><item><title>The i3 Window Manager</title><link>https://thevikidtruth.com/computing/i3/</link><pubDate>Thu, 30 Mar 2023 09:22:22 +0400</pubDate><guid>https://thevikidtruth.com/computing/i3/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/i3/"&gt;i3&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Tools and Software&lt;/span&gt;&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;pil sources&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/simplelinuxconfig/"&gt;SimpleLinuxConfig&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="the-i3-window-manager"&gt;The i3 Window Manager&lt;/h1&gt;&#10;&lt;h2 id="i3-config-file"&gt;i3 Config File&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://i3wm.org/docs/refcard.html" rel="noopener"&gt;i3wm:refcard&lt;/a&gt;&#10;The location of this file is ../home/user/.i3/config.&lt;/p&gt;&#10;&lt;p&gt;These are some notes on the i3 config file. It is not the complete file.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;# Set the Mod Key&#10;set $mod Mod4&#10;&#10;default_border pixel 1&#10;default_floating_border normal&#10;hide_edge_borders none&#10;&#10;bindsym $mod+u border none&#10;bindsym $mod+y border pixel 3&#10;bindsym $mod+n border pixel normal&#10;&#10;# Font for window tiles. Will also be used by the bar unless a different font&#10;# is used in the bar {} block below.&#10;font xft:URWGothic-Book 11&#10;&#10;floating_modifier $mod&#10;&#10;bindsym $mod+Return exec alacrity&#10;bindsym $mod+Shift+q kill&#10;&#10;bindsym $mod+d exec --no-startup-id dmenu_recency&#10;&#10;bindsym $mod+z exec --no-startup-id morc_menu&#10;&#10;bindsym XF86MonBightnessUP exec &amp;#34;xbacklight -inc 1; notify-send &amp;#39;brightness up&amp;#39;&amp;#34;&#10;bimdsym XF86MonBrightnessDown exec &amp;#34;xbacklight -dec 1; notify-send &amp;#39;brightness down&amp;#39;&amp;#34;&#10;&#10;bindsym $mod+Ctrl+b exec terminal -e &amp;#39;bmenu&amp;#39;&#10;bindsym $mod+F2 exec firefox&#10;&#10;# File Managers&#10;bindsym $mod+F3 exec pcmanfm&#10;bindsym $mod+F4 exec ranger&#10;bindsym $mod+Shift+F3 exec pcmanfm_pkexec&#10;&#10;# The Console Audio Player&#10;bindsym $mod+F5 exec terminal -e &amp;#39;mocp&amp;#39;&#10;&#10;bindsym $mod+t exec --no-startup-id pkill picom&#10;bindsym $mod+Ctrl+t exec --no-startup-id picom -b&#10;&#10;# Notification Daemon&#10;bindsym $mod+Shift+d --release exec &amp;#34;killall dunst; exec notify-send &amp;#39;restart dunst&amp;#39;&amp;#34;&#10;&#10;# Screenshots&#10;bindsym $Print exec --no-startup-id i3-scrot&#10;bindsym $mod+Print -release exec --no-startup-id i3-scrot -w&#10;bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s&#10;&#10;bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf&#10;&#10;bindsym $mod+Ctrl+x --release exec --no-startup-id xkill&#10;&#10;# change focus, move and split&#10;bindsym $mod+j focus left&#10;bindsym $mod+k focus down&#10;bindsym $mod+l focus up&#10;bindsym $mod+semicolon focus right&#10;&#10;bindsym $mod+Shift+j move left&#10;bindsym $mod+Shift+k move down&#10;bindsym $mod+Shift+l move up&#10;bindsym $mod+Shift+semicolon move right&#10;&#10;workspace_auto_back_and_forth yes&#10;bindsym $mod+b workspace back_and_forth&#10;bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth&#10;&#10;bindsym $mod+h split h; exec notify-send &amp;#39;tile horizontally&amp;#39;&#10;bindsym $mod+v split v; exec notify-send &amp;#39;tile vertically&amp;#39;&#10;bindsym $mod+q split toggle&#10;&#10;# toggle fullscreen&#10;bindsym $mod+f fullscreen toggle&#10;&#10;bindsym $mod+s layout stacking&#10;bindsym $mod+w layout tabbed&#10;bindsym $mod+e layout toggle split&#10;&#10;bindsym $mod+Shift+Space floating toggle&#10;&#10;bindsym $mod+space focus mode_toggle&#10;bindsym $mod+Shift+s stick toggle&#10;&#10;bindsym $mod+a focus parent&#10;&#10;bindsym $mod+Shift+minus move scratchpad&#10;&#10;bindsym $mod+Ctrl+Right workspace next&#10;bindsym $mod+Ctrl+Left workspace prev&#10;&#10;set $ws1 1:term&#10;set $ws2 2:browser&#10;set $ws3 3:emacs&#10;set $ws4 4:lisp&#10;set $ws5 5:cuis&#10;&#10;bindsym $mod+1 workspace $ws1&#10;# etc... etc...&#10;&#10;bindsym $mod+Ctrl+1 move container to workspace $ws1&#10;# etc... etc...&#10;&#10;bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1&#10;# etc... etc...&#10;&#10;assign [class=&amp;#34;Thunderbird&amp;#34;] $ws1&#10;&#10;for_window [title=&amp;#34;alsmixer&amp;#34;] floating enable border pixel 1&#10;for_window [class=&amp;#34;calamares&amp;#34;] floating enable border normal&#10;for_window [title=&amp;#34;i3_help&amp;#34;] floating enable sticky enable border normal&#10;for_window [class=&amp;#34;OBlogout&amp;#34;] fullscreen enable&#10;for_window [class=&amp;#34;(?i)virtualbox&amp;#34;] floating enable border normal&#10;# etc... etc...&#10;&#10;for_window [urgent=latest] focus&#10;&#10;bindsym $mod+Shift+c reload&#10;bindsym $mod+Shift+r restart&#10;&#10;bindsym $mod+shift+e exec &amp;#34;i3-nagbar -t warning -m &amp;#39;You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.&amp;#39; -b &amp;#39;Yes, exit i3&amp;#39; &amp;#39;i3-msg exit&amp;#39;&amp;#34;&#10;&#10;bindsym $mod+0 mode &amp;#34;$mode_system&amp;#34;&#10;mode &amp;#34;$mode_system&amp;#34;{&#10; bindsym l exec --no-startup-id i3exit lock, mode &amp;#34;default&amp;#34;&#10; bindsym s exec --no-startup-id i3exit suspend, mode &amp;#34;default&amp;#34;&#10; bindsym u exec --no-startup-id i3exit switch_user, mode &amp;#34;default&amp;#34;&#10; bindsym e exec --no-startup-id i3exit logout, mode &amp;#34;default&amp;#34;&#10; bindsym h exec --no-startup-id i3exit hibernate, mode &amp;#34;default&amp;#34;&#10; bindsym r exec --no-startup-id i3exit reboot, mode &amp;#34;default&amp;#34;&#10; bindsym Shift+s exec --no-startup-id i3exit shutdown, mode &amp;#34;default&amp;#34;&#10;&#10; bindsym Return mode &amp;#34;default&amp;#34;&#10; bindsym Escape mode &amp;#34;default&amp;#34;&#10;}&#10;&#10;bindsym $mod+r mode &amp;#34;resize&amp;#34;&#10;mode &amp;#34;resize&amp;#34; {&#10; bindsym j resize shrink width 5 px or 5 ppt&#10; bindsym k resize grow height 5 px or 5 ppt&#10; bindsym l resize shrink height 5 px or 5 ppt&#10; bindsym semicolon resize grow width 5 px or 5 ppt&#10;&#10; bindsym Left resize shrink width 10 px or 10 ppt&#10; bindsym Down resize grow height 10 px or 10 ppt&#10; bindsym Up resize shrink height 10 px or 10 ppt&#10; bindsym Right resize grow width 10 px or 10 ppt&#10;}&#10;&#10;bindsym $mod+9 exec --no-startup-id blurlock&#10;&#10;bindsym $mod+m bar mode toggle&#10;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Kmonad Keyboard</title><link>https://thevikidtruth.com/computing/kmonad/</link><pubDate>Wed, 21 Sep 2022 01:43:13 +0400</pubDate><guid>https://thevikidtruth.com/computing/kmonad/</guid><description>&lt;h1 id="kmonad-keyboard"&gt;Kmonad Keyboard&lt;/h1&gt;&#10;&lt;p&gt;The truth about keyboards is that &lt;strong&gt;the layout printed on the keys is just a suggestion.&lt;/strong&gt; Between the switch and your program sits software that decides what each key means – and KMonad lets you rewrite that decision completely.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;KMonad&lt;/strong&gt; is a keyboard remapper written in Haskell. It grabs your physical keyboard at a low level, runs every key event through a configuration you write, and emits new events through a virtual keyboard. Because it works below the window system, the result works everywhere: in X11, Wayland, the Linux console, even in a login prompt. It runs on Linux, macOS and Windows.&lt;/p&gt;</description></item><item><title>awk</title><link>https://thevikidtruth.com/computing/awk/</link><pubDate>Tue, 06 Sep 2022 12:34:23 +0400</pubDate><guid>https://thevikidtruth.com/computing/awk/</guid><description>&lt;h3 id="awk"&gt;awk&lt;/h3&gt;&#10;&lt;p&gt;Here is the truth about awk: &lt;strong&gt;it is a whole programming language disguised as a command, built for one job – reading text line by line and pulling out the columns you care about.&lt;/strong&gt; Nearly fifty years on, it still beats writing a script for that job.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;awk&lt;/strong&gt; (named after its authors Aho, Weinberger and Kernighan, Bell Labs, 1977) reads input one &lt;strong&gt;record&lt;/strong&gt; (usually a line) at a time, splits each record into &lt;strong&gt;fields&lt;/strong&gt; (usually on whitespace), and runs your &lt;em&gt;pattern → action&lt;/em&gt; rules against it:&lt;/p&gt;</description></item><item><title>xrandr</title><link>https://thevikidtruth.com/computing/xrandr/</link><pubDate>Tue, 06 Sep 2022 12:14:39 +0400</pubDate><guid>https://thevikidtruth.com/computing/xrandr/</guid><description>&lt;h1 id="xrandr"&gt;xrandr&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about multi-monitor Linux: &lt;strong&gt;the compositor draws, but &lt;code&gt;xrandr&lt;/code&gt; decides what exists to draw on.&lt;/strong&gt; One command can rearrange your whole desk – and a bad one can leave you staring at a black screen, so it&amp;rsquo;s worth learning carefully.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;&lt;code&gt;xrandr&lt;/code&gt;&lt;/strong&gt; (X Resize And Rotate) is the command-line tool for configuring displays under &lt;strong&gt;X11&lt;/strong&gt;: resolution, refresh rate, rotation, and how multiple monitors sit relative to each other. It talks to the X server via the RandR extension. On a laptop it is how you enable an external monitor; on a desktop, how you arrange three screens into one desktop.&lt;/p&gt;</description></item><item><title>Burn an ISO to USB Disk</title><link>https://thevikidtruth.com/computing/burniso/</link><pubDate>Tue, 06 Sep 2022 05:52:51 +0400</pubDate><guid>https://thevikidtruth.com/computing/burniso/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; | | &lt;span class="missing-link"&gt;Quick Links&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/odin/"&gt;Odin&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vlang/"&gt;V&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="burn-an-iso-to-usb-disk"&gt;Burn an ISO to USB Disk&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about writing an ISO to a USB stick: &lt;strong&gt;the stick becomes the image, byte for byte – it is not a folder you copy files into.&lt;/strong&gt; Treat it like imaging a disk and you won&amp;rsquo;t end up with a stick that won&amp;rsquo;t boot.&lt;/p&gt;</description></item><item><title>Bash case statements</title><link>https://thevikidtruth.com/computing/bashcase/</link><pubDate>Mon, 29 Aug 2022 00:33:21 +0400</pubDate><guid>https://thevikidtruth.com/computing/bashcase/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Quicklinks&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;Pil Sources&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/piltutorials/"&gt;Pil Tutorials&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Vikid&amp;rsquo;s Bash Cookbook&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="bash-case-statements"&gt;Bash case statements&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about &lt;code&gt;case&lt;/code&gt; in Bash: &lt;strong&gt;it is not a weaker &lt;code&gt;if&lt;/code&gt; – it is a pattern matcher, and patterns are where it earns its keep.&lt;/strong&gt; When you find yourself writing a chain of &lt;code&gt;[[ $x == … ]]&lt;/code&gt; branches, &lt;code&gt;case&lt;/code&gt; is usually clearer.&lt;/p&gt;</description></item><item><title>Bash - if statements</title><link>https://thevikidtruth.com/computing/bashif/</link><pubDate>Mon, 29 Aug 2022 00:28:43 +0400</pubDate><guid>https://thevikidtruth.com/computing/bashif/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;Pil Sources&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/piltutorials/"&gt;Pil Tutorials&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Vikid&amp;rsquo;s Bash Cookbook&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="bash---if-statements"&gt;Bash - if statements&lt;/h1&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;if [ condition ]; then # you can use [[ ]] also&#10; your code&#10;fi&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;if [[ &amp;#34;${UID}&amp;#34; -eq 0 ]]&#10;then&#10; echo &amp;#39;You are root&amp;#39;&#10;else&#10; echo &amp;#39;You are not root&amp;#39;&#10;fi&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/bash&#10;&#10;if [ $(whoami) = &amp;#39;root&amp;#39; ]; then&#10;&#9;echo &amp;#34;You are root&amp;#34;&#10;fi&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In one line:&lt;/p&gt;</description></item><item><title>systemd</title><link>https://thevikidtruth.com/computing/systemd/</link><pubDate>Sun, 28 Aug 2022 11:55:25 +0400</pubDate><guid>https://thevikidtruth.com/computing/systemd/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;pil sources&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/simplelinuxconfig/"&gt;SimpleLinuxConfig&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Tools and Software&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="systemd"&gt;systemd&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about systemd: &lt;strong&gt;it is not &amp;ldquo;just an init system&amp;rdquo; – it is a suite that starts the system, supervises services, manages sockets, timers, mounts, devices and logs, and it has largely won.&lt;/strong&gt; Love it or not, on most Linux boxes in 2026 it is PID 1, and you need to speak its language.&lt;/p&gt;</description></item><item><title>pacman</title><link>https://thevikidtruth.com/computing/pacman/</link><pubDate>Tue, 23 Aug 2022 00:11:07 +0400</pubDate><guid>https://thevikidtruth.com/computing/pacman/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; | | &lt;span class="missing-link"&gt;Quick Links&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; | &lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="pacman"&gt;pacman&lt;/h1&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;pacman -Syu&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;S stands for sync,&#10;y is for refresh (local cache),&#10;u is for system update.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;pacman -R package_name_ ;to remove a package&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To remove a package and its dependencies which are not required by any other installed package:&lt;/p&gt;</description></item><item><title>nmtui</title><link>https://thevikidtruth.com/computing/nmtui/</link><pubDate>Sun, 22 Aug 2021 04:29:28 +0400</pubDate><guid>https://thevikidtruth.com/computing/nmtui/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;pil sources&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/linuxtools/"&gt;Tools to Learn&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="nmtui"&gt;nmtui&lt;/h1&gt;&#10;&lt;p&gt;Here&amp;rsquo;s the truth about Linux networking in 2026: &lt;strong&gt;you rarely configure interfaces by hand any more – a daemon does it, and you just tell the daemon what you want.&lt;/strong&gt; On most desktops that daemon is NetworkManager, and &lt;code&gt;nmtui&lt;/code&gt; is the friendliest way to talk to it from a terminal.&lt;/p&gt;</description></item><item><title>NCDU</title><link>https://thevikidtruth.com/computing/ncdu/</link><pubDate>Sun, 22 Aug 2021 04:26:18 +0400</pubDate><guid>https://thevikidtruth.com/computing/ncdu/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;pil sources&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/linuxtools/"&gt;Tools to Learn&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="ncdu"&gt;NCDU&lt;/h1&gt;&#10;&lt;p&gt;The truth about a full disk is that it is almost never &amp;ldquo;everything, a little bit&amp;rdquo;. &lt;strong&gt;It is usually one or two forgotten directories eating most of the space.&lt;/strong&gt; ncdu is the tool that points straight at them.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;ncdu&lt;/strong&gt; (NCurses Disk Usage) is a terminal program that scans a directory tree, adds up how much space everything takes, and then lets you &lt;em&gt;walk&lt;/em&gt; the result interactively: biggest things at the top, arrow keys to dive in, &lt;code&gt;d&lt;/code&gt; to delete. It is &lt;code&gt;du&lt;/code&gt; with eyes.&lt;/p&gt;</description></item><item><title>Vikid's Bash Cookbook</title><link>https://thevikidtruth.com/computing/vikidsbashcookbook/</link><pubDate>Thu, 29 Jun 2017 06:21:51 +0400</pubDate><guid>https://thevikidtruth.com/computing/vikidsbashcookbook/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="vikid"&gt;&lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Vikid&amp;rsquo;s Bash Cookbook&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h4 id="some-simple-stuff"&gt;Some Simple Stuff&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;bash --version&#10;&#10;ls -adFlLQrRS1&#10;&#10;pwd -L, pwd -P&#10;&#10;type which, type -a which&#10;&#10;apropos zip =&amp;gt; man -k, locate which&#10;&#10;find&#10;&#10;stat, file -b&#10;&#10;chsh -s /bin/bash&#10;&#10;passwd -el&#10;&#10;sudo cat /etc/shells&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="common-shell-variables"&gt;Common Shell Variables&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;$USER&#10;$- list all current option flags&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="download-a-website"&gt;Download a website&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;wget -r -np -k http://somesite.com&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Options:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;-r (recursive)&lt;/li&gt;&#10;&lt;li&gt;-np (don&amp;rsquo;t follow links to parent directories)&lt;/li&gt;&#10;&lt;li&gt;-k to make links in downloaded HTML or CSS point to local files&lt;/li&gt;&#10;&lt;li&gt;-nd (no directories): download all files to the current directory&lt;/li&gt;&#10;&lt;li&gt;-e robots.off: ignore robots.txt files, don&amp;rsquo;t download robots.txt files&lt;/li&gt;&#10;&lt;li&gt;-A png,jpg: accept only files with the extensions png or jpg&lt;/li&gt;&#10;&lt;li&gt;-m (mirror): -r &amp;ndash;timestamping &amp;ndash;level inf &amp;ndash;no-remove-listing&lt;/li&gt;&#10;&lt;li&gt;-nc, &amp;ndash;no-clobber: Skip download if files exist&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="quoting"&gt;Quoting&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;echo value is $3?!&#10;echo &amp;#34;value is $3?!&amp;#34;&#10;echo &amp;#39;value is $3?!&amp;#39;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;!&amp;quot; is history substitution&lt;/code&gt;&lt;/p&gt;</description></item><item><title>penti</title><link>https://thevikidtruth.com/computing/penti/</link><pubDate>Tue, 13 Dec 2016 03:15:15 +0400</pubDate><guid>https://thevikidtruth.com/computing/penti/</guid><description>&lt;h1 id="penti"&gt;Penti&lt;/h1&gt;&#10;&lt;p&gt;Here is a truth about typing that Alexander Burger (the creator of PicoLisp) took seriously: &lt;strong&gt;ten fingers on a QWERTY keyboard is not the only way – and for some jobs, not the best way.&lt;/strong&gt; Penti is his five-finger keyboard layout: one hand, five keys, every character reachable by chords.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Penti&lt;/strong&gt; is a chorded keyboard system. You rest five fingers of one hand on five keys (by default the home row &lt;code&gt;asdfg&lt;/code&gt; or &lt;code&gt;hjkl;&lt;/code&gt;), and you type by pressing combinations of them – &lt;strong&gt;chords&lt;/strong&gt; – instead of hunting for individual keys. A single finger produces a letter; two or three together produce others; modifiers give digits, symbols and control keys. The whole alphabet, numbers and punctuation fit under one hand.&lt;/p&gt;</description></item><item><title>The Vikid Arch Linux Wiki!</title><link>https://thevikidtruth.com/computing/archlinux/</link><pubDate>Sun, 11 Dec 2016 21:49:05 +0400</pubDate><guid>https://thevikidtruth.com/computing/archlinux/</guid><description>&lt;h1 id="the-vikid-arch-linux-wiki"&gt;The Vikid Arch Linux Wiki!&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Arch Linux: &lt;strong&gt;it is not hard – it is &lt;em&gt;manual&lt;/em&gt;.&lt;/strong&gt; Every other distro hides decisions behind an installer; Arch asks you to make them, documents every step, and then gets out of the way. That is either exactly what you want or exactly what you don&amp;rsquo;t.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt; is an independently developed, rolling-release GNU/Linux distribution for x86-64 (with official ports for other architectures under the Arch Linux name). Its personality:&lt;/p&gt;</description></item><item><title>Ubuntu CommonTasks</title><link>https://thevikidtruth.com/computing/ubuntucommontask/</link><pubDate>Sat, 10 Dec 2016 06:21:07 +0400</pubDate><guid>https://thevikidtruth.com/computing/ubuntucommontask/</guid><description>&lt;h1 id="ubuntu-commontasks"&gt;Ubuntu CommonTasks&lt;/h1&gt;&#10;&lt;p&gt;Here is a truth about Ubuntu: &lt;strong&gt;most &amp;ldquo;how do I…?&amp;rdquo; questions have one canonical answer, and once you know the pattern you stop searching.&lt;/strong&gt; This page is a pocket card of those answers – the tasks people actually do on a fresh Ubuntu box.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;Ubuntu is Debian&amp;rsquo;s friendlier cousin: same &lt;code&gt;.deb&lt;/code&gt; packages and &lt;code&gt;apt&lt;/code&gt;, a fixed release cadence (April and October), with &lt;strong&gt;LTS&lt;/strong&gt; releases supported for five years (ten with Ubuntu Pro). The current LTS at the time of writing is &lt;strong&gt;24.04 &amp;ldquo;Noble Numbat&amp;rdquo;&lt;/strong&gt;; non-LTS releases get nine months. Underneath, since 15.04, the init system is &lt;strong&gt;systemd&lt;/strong&gt;, so service management is &lt;code&gt;systemctl&lt;/code&gt; and logs are &lt;code&gt;journalctl&lt;/code&gt; – the old &lt;code&gt;service apache2 status&lt;/code&gt; style still works as a thin wrapper, but the native commands are the ones to learn.&lt;/p&gt;</description></item><item><title>Linux Introspection</title><link>https://thevikidtruth.com/computing/linuxinstrospection/</link><pubDate>Fri, 09 Dec 2016 21:44:03 +0400</pubDate><guid>https://thevikidtruth.com/computing/linuxinstrospection/</guid><description>&lt;h1 id="linux-introspection"&gt;Linux Introspection&lt;/h1&gt;&#10;&lt;p&gt;Here&amp;rsquo;s a truth that makes Linux wonderful to learn on: &lt;strong&gt;the system will tell you almost everything about itself if you just ask.&lt;/strong&gt; No hidden registry, no magic – mostly plain text files and a handful of honest little commands.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Introspection&lt;/strong&gt; means a system examining itself. On Linux that means finding out: what distribution and kernel am I running, what hardware is here, what&amp;rsquo;s running, what&amp;rsquo;s using the disk, the memory, the network – and why it booted the way it did.&lt;/p&gt;</description></item><item><title>Linux Memory and Process</title><link>https://thevikidtruth.com/computing/linuxprocessesandmemory/</link><pubDate>Sun, 04 Dec 2016 03:19:10 +0400</pubDate><guid>https://thevikidtruth.com/computing/linuxprocessesandmemory/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;pil sources&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/simplelinuxconfig/"&gt;SimpleLinuxConfig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="linux-memory-and-process"&gt;Linux Memory and Process&lt;/h1&gt;&#10;&lt;p&gt;The truth behind every running program on Linux: &lt;strong&gt;each process believes it has the whole machine&amp;rsquo;s memory to itself.&lt;/strong&gt; It doesn&amp;rsquo;t. The kernel and the CPU are running a very convincing illusion called &lt;em&gt;virtual memory&lt;/em&gt;, and once you see how it&amp;rsquo;s staged, processes stop being mysterious.&lt;/p&gt;</description></item><item><title>Simple Linux Configuration</title><link>https://thevikidtruth.com/computing/simplelinuxconfig/</link><pubDate>Wed, 30 Nov 2016 04:21:15 +0400</pubDate><guid>https://thevikidtruth.com/computing/simplelinuxconfig/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;pil sources&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/simplelinuxconfig/"&gt;SimpleLinuxConfig&lt;/a&gt; | &lt;span class="missing-link"&gt;Keyboard Config&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="simple-linux-configuration"&gt;Simple Linux Configuration&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about configuring Linux: &lt;strong&gt;almost everything is a text file, and the system will tell you which one if you ask.&lt;/strong&gt; Once that sinks in, &amp;ldquo;configuration&amp;rdquo; stops being a mystery and becomes a short list of files you actually touch.&lt;/p&gt;</description></item><item><title>Linux Tools</title><link>https://thevikidtruth.com/computing/linuxtools/</link><pubDate>Tue, 29 Nov 2016 09:36:50 +0400</pubDate><guid>https://thevikidtruth.com/computing/linuxtools/</guid><description>&lt;h1 id="linux-tools"&gt;Linux Tools&lt;/h1&gt;&#10;&lt;p&gt;Here is a truth every Linux user eventually learns: &lt;strong&gt;the system is covered in small, sharp tools, and fluency means knowing which one to reach for.&lt;/strong&gt; You don&amp;rsquo;t memorise every flag – you memorise the &lt;em&gt;names&lt;/em&gt;, so that when a problem appears you think &amp;ldquo;that&amp;rsquo;s a job for &lt;code&gt;strace&lt;/code&gt;&amp;rdquo; instead of staring at it.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&amp;ldquo;Linux tools&amp;rdquo; here means the everyday command-line utilities that inspect, control and debug a running Unix system. Some come from &lt;strong&gt;GNU coreutils&lt;/strong&gt; (&lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;cp&lt;/code&gt;, &lt;code&gt;sort&lt;/code&gt;), some from &lt;strong&gt;util-linux&lt;/strong&gt; and &lt;strong&gt;procps-ng&lt;/strong&gt; (&lt;code&gt;ps&lt;/code&gt;, &lt;code&gt;free&lt;/code&gt;, &lt;code&gt;mount&lt;/code&gt;), some from &lt;strong&gt;binutils&lt;/strong&gt; (&lt;code&gt;objdump&lt;/code&gt;, &lt;code&gt;nm&lt;/code&gt;, &lt;code&gt;readelf&lt;/code&gt;), and some are specialised projects of their own (&lt;code&gt;strace&lt;/code&gt;, &lt;code&gt;tcpdump&lt;/code&gt;, &lt;code&gt;ncdu&lt;/code&gt;). Together they are how you see what the kernel and your programs are actually doing.&lt;/p&gt;</description></item></channel></rss>