<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Computing on The VikiD Truth</title><link>https://thevikidtruth.com/tags/computing/</link><description>Recent content in Computing 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/tags/computing/index.xml" rel="self" type="application/rss+xml"/><item><title>objdump</title><link>https://thevikidtruth.com/computing/objdump/</link><pubDate>Sun, 04 Jun 2023 00:49:00 +0400</pubDate><guid>https://thevikidtruth.com/computing/objdump/</guid><description>&lt;h1 id="objdump"&gt;objdump&lt;/h1&gt;&#10;&lt;p&gt;The truth behind every program you run: &lt;strong&gt;it is just bytes, and those bytes are instructions you can read.&lt;/strong&gt; objdump is the tool that turns the bytes back into something a human can follow.&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;objdump&lt;/strong&gt; is part of GNU binutils (along with &lt;code&gt;as&lt;/code&gt;, &lt;code&gt;ld&lt;/code&gt;, &lt;code&gt;nm&lt;/code&gt;, &lt;code&gt;readelf&lt;/code&gt;, &lt;code&gt;strings&lt;/code&gt;). Point it at an object file, executable or shared library and it will show you:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;the &lt;strong&gt;headers&lt;/strong&gt; – what kind of file, which CPU, where it starts;&lt;/li&gt;&#10;&lt;li&gt;the &lt;strong&gt;sections&lt;/strong&gt; – &lt;code&gt;.text&lt;/code&gt; (code), &lt;code&gt;.data&lt;/code&gt;, &lt;code&gt;.rodata&lt;/code&gt;, &lt;code&gt;.bss&lt;/code&gt; and friends;&lt;/li&gt;&#10;&lt;li&gt;the &lt;strong&gt;symbols&lt;/strong&gt; – names of functions and variables;&lt;/li&gt;&#10;&lt;li&gt;the &lt;strong&gt;disassembly&lt;/strong&gt; – machine code translated back into assembly mnemonics.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;LLVM ships a near drop-in twin, &lt;code&gt;llvm-objdump&lt;/code&gt;, with the same main flags.&lt;/p&gt;</description></item><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>Vagrant</title><link>https://thevikidtruth.com/computing/vagrant/</link><pubDate>Sun, 21 May 2023 00:39:21 +0400</pubDate><guid>https://thevikidtruth.com/computing/vagrant/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/forth/"&gt;Forth&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&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; | &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/rust/"&gt;Rust&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/vagrant/"&gt;vagrant&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/virtualbox/"&gt;virtualbox&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/windows/"&gt;Windows&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="vagrant"&gt;Vagrant&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Vagrant: &lt;strong&gt;it is a script that builds a disposable computer.&lt;/strong&gt; Point it at VirtualBox (or another provider), write a few lines of Ruby, and every teammate gets the same Linux box with the same packages – recreateable from nothing.&lt;/p&gt;</description></item><item><title>Virtualbox</title><link>https://thevikidtruth.com/computing/virtualbox/</link><pubDate>Sun, 21 May 2023 00:38:02 +0400</pubDate><guid>https://thevikidtruth.com/computing/virtualbox/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/forth/"&gt;Forth&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&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; | &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/rust/"&gt;Rust&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/vagrant/"&gt;vagrant&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/virtualbox/"&gt;virtualbox&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/windows/"&gt;Windows&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="virtualbox"&gt;Virtualbox&lt;/h1&gt;&#10;&lt;p&gt;The truth about VirtualBox: &lt;strong&gt;it&amp;rsquo;s the easiest way to have a spare computer you can&amp;rsquo;t break.&lt;/strong&gt; Install it, click through a wizard, and you&amp;rsquo;ve got a whole extra machine in a window – one you can snapshot, wreck and restore in seconds.&lt;/p&gt;</description></item><item><title>Forth</title><link>https://thevikidtruth.com/computing/forth/</link><pubDate>Sat, 20 May 2023 04:36:55 +0400</pubDate><guid>https://thevikidtruth.com/computing/forth/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/forth/"&gt;Forth&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&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; | &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/rust/"&gt;Rust&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/windows/"&gt;Windows&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="forth"&gt;Forth&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Forth: &lt;strong&gt;it is a language that barely exists until you write it.&lt;/strong&gt; A tiny core of stack operations, and then every new word you define becomes part of the language. Few systems take &amp;ldquo;grow your own&amp;rdquo; this literally – PicoLisp is one; Forth is another.&lt;/p&gt;</description></item><item><title>Rust</title><link>https://thevikidtruth.com/computing/rust/</link><pubDate>Fri, 19 May 2023 23:18:13 +0400</pubDate><guid>https://thevikidtruth.com/computing/rust/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&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; | &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/rust/"&gt;Rust&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/windows/"&gt;Windows&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="rust"&gt;Rust&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth Rust is built on: &lt;strong&gt;most bugs that crash systems and open security holes are memory bugs, and a compiler can stop nearly all of them – if you&amp;rsquo;re willing to talk to it about ownership.&lt;/strong&gt; Rust is that conversation.&lt;/p&gt;</description></item><item><title>Prototypal Inheritance</title><link>https://thevikidtruth.com/computing/jsprototypalinheritance/</link><pubDate>Tue, 11 Apr 2023 03:13:18 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsprototypalinheritance/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="prototypal-inheritance"&gt;Prototypal Inheritance&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth that makes JavaScript&amp;rsquo;s object model click: &lt;strong&gt;there are no classes in the engine – only objects linked to other objects.&lt;/strong&gt; The &lt;code&gt;class&lt;/code&gt; keyword is tidy syntax over a much older idea called prototypal inheritance.&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;Every JavaScript object has an internal link to another object, its &lt;strong&gt;prototype&lt;/strong&gt;. When you ask for a property and it isn&amp;rsquo;t on the object itself, the engine looks at the prototype, then &lt;em&gt;that&lt;/em&gt; object&amp;rsquo;s prototype, and so on until it hits &lt;code&gt;null&lt;/code&gt;. That chain is how inheritance works.&lt;/p&gt;</description></item><item><title>with-output-to-string</title><link>https://thevikidtruth.com/computing/withoutputtostring/</link><pubDate>Sun, 09 Apr 2023 22:39:59 +0400</pubDate><guid>https://thevikidtruth.com/computing/withoutputtostring/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;commonlisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/clfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/withoutputtostring/"&gt;with-output-to-string&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="with-output-to-string"&gt;with-output-to-string&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="http://clhs.lisp.se/Body/m_w_out_.htm" rel="noopener"&gt;External Link: Macro WITH-OUTPUT-TO-STRING&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The macro WITH-OUTPUT-TO-STRING can be used to create a string output stream, and return the resulting string at the end.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;with-output-to-string (var &amp;amp;optional string-form &amp;amp;key element-type)&#10;declaration* form*&#10;&#10;=&amp;gt; result*&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;element-type specifier is defaulted to character.&#10;form* is implicit progn&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;with-output-to-string&lt;/strong&gt; creates a character output stream&#10;and performs a series of operation that output to the result.&#10;automatically closed on exit&#10;side effect: the string is modified&lt;/p&gt;</description></item><item><title>Common Lisp Functions</title><link>https://thevikidtruth.com/computing/clfunctions/</link><pubDate>Sun, 09 Apr 2023 22:28:42 +0400</pubDate><guid>https://thevikidtruth.com/computing/clfunctions/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/clfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/withoutputtostring/"&gt;with-output-to-string&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="common-lisp-functions"&gt;Common Lisp Functions&lt;/h1&gt;&#10;&lt;p&gt;The truth about functions in Common Lisp: &lt;strong&gt;a function is an object, and a name is just one of many ways to reach it.&lt;/strong&gt; Once you separate &amp;ldquo;the function&amp;rdquo; from &amp;ldquo;the symbol that names it&amp;rdquo;, the strange-looking &lt;code&gt;#'&lt;/code&gt; and &lt;code&gt;funcall&lt;/code&gt; suddenly make perfect sense.&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 Common Lisp function is a first-class object that takes arguments and returns zero or more values. You create named ones with &lt;code&gt;defun&lt;/code&gt; and anonymous ones with &lt;code&gt;lambda&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Windows</title><link>https://thevikidtruth.com/computing/windows/</link><pubDate>Thu, 06 Apr 2023 05:58:58 +0400</pubDate><guid>https://thevikidtruth.com/computing/windows/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/windows/"&gt;Windows&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="windows"&gt;Windows&lt;/h1&gt;&#10;&lt;p&gt;Here&amp;rsquo;s the plain truth about Windows for someone who lives in Linux: &lt;strong&gt;it&amp;rsquo;s not the enemy, it&amp;rsquo;s just a different set of assumptions.&lt;/strong&gt; Once you know where Windows keeps its equivalents of a shell, a package manager and a config file, you can be productive on it in an afternoon – and that&amp;rsquo;s often all you need.&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;Windows&lt;/strong&gt; is Microsoft&amp;rsquo;s operating system, built on the &lt;strong&gt;NT kernel&lt;/strong&gt; (the design that started with Windows NT in 1993; every version since XP uses it). In 2026 the current desktop release is &lt;strong&gt;Windows 11&lt;/strong&gt;; Windows 10 reached end of support in October 2025, so unpatched Windows 10 machines are now a real security risk unless enrolled in paid extended updates.&lt;/p&gt;</description></item><item><title>Haskell Kata</title><link>https://thevikidtruth.com/computing/haskellkata/</link><pubDate>Thu, 06 Apr 2023 04:16:37 +0400</pubDate><guid>https://thevikidtruth.com/computing/haskellkata/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskellkata/"&gt;Haskell Kata&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="haskell-kata"&gt;Haskell Kata&lt;/h1&gt;&#10;&lt;h2 id="getting-started"&gt;Getting Started&lt;/h2&gt;&#10;&lt;p&gt;min 1 2&#10;max 1 2&#10;}&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;dbl x = x + x&#10;dbls x y = dbl x + dbl y&#10;&#10;dsn x = if x &amp;gt; 100&#10; then x&#10; else x*2&#10;dsn&amp;#39; x = (if x &amp;gt; 100 then x else x*3) + 1&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;nL = [0,1,2,3,4,5,6,7,8,9]&#10;nL ++ [10,11,12]&#10;0:nL&#10;nL!!3&#10;nLL= [nL,nL,nL]&#10;nLL ++ [[0,2]]&#10;[10,11,12]:nLL&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;length nL&#10;null nL&#10;take 5 nL&#10;drop 5 nL&#10;head [ ]&#10;head nL&#10;tail nL&#10;last nL&#10;init nL&#10;reverse nL&#10;maximum nL&#10;minimum nL&#10;sum nL&#10;product nL&#10;5 `elem` nL&#10;elem 5 nL&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;[1..10]&#10;[&amp;#39;a&amp;#39;..&amp;#39;l&amp;#39;]&#10;[3, 4..12]&#10;take 5 [40, 45..]&#10;take 20 (cycle nL)&#10;take 10 (repeat 5)&#10;replicate 4 10&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;[ dsn x | x &amp;lt;- nL, x &amp;gt; 5 ]&#10;beepBop xs = [ if x &amp;lt; 5 then &amp;#34;beep&amp;#34; else &amp;#34;bop&amp;#34; | x &amp;lt;- xs, odd x]&#10;[ x*y | x &amp;lt;- [2,5,10], y &amp;lt;- [8,10,11]]&#10;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Three.js</title><link>https://thevikidtruth.com/computing/jsthree/</link><pubDate>Sun, 02 Apr 2023 01:54:13 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsthree/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; | &lt;span class="missing-link"&gt;Making Shapes&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="threejs"&gt;Three.js&lt;/h1&gt;&#10;&lt;p&gt;&lt;span class="missing-link"&gt;Making Shapes&lt;/span&gt;&lt;/p&gt;&#10;&lt;h4 id="getting-started"&gt;Getting Started&lt;/h4&gt;&#10;&lt;p&gt;&lt;a href="https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene" rel="noopener"&gt;Three.js Official Docs&lt;/a&gt;&#10;&lt;a href="https://threejs.org/docs/#manual/en/introduction/Installation" rel="noopener"&gt;Installation&lt;/a&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;======================================================================================================&#10;Install&#10;======================================================================================================&#10;npm install --save three&#10;&#10;npm install --save-dev vite&#10;&#10;npx vite&#10;&#10;http://localhost:5173&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="https://vitejs.dev/guide/#command-line-interface" rel="noopener"&gt;vitejs&lt;/a&gt;, &lt;a href="https://docs.npmjs.com/cli/v9/using-npm/scripts" rel="noopener"&gt;using npm&lt;/a&gt;,&#10;&lt;a href="https://threejs-journey.com/lessons/local-server" rel="noopener"&gt;threejs server video&lt;/a&gt;,&#10;&lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Package_management" rel="noopener"&gt;Package management basics&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Files, Code&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;======================================================================================================&#10;index.html&#10;======================================================================================================&#10;&amp;lt;!DOCTYPE html&amp;gt;&#10;&amp;lt;html&amp;gt;&#10;&#9;&amp;lt;head lang=&amp;#34;en&amp;#34;&amp;gt;&#10;&#9;&#9;&amp;lt;meta charset=&amp;#34;utf-8&amp;#34;&amp;gt;&#10;&#9;&#9;&amp;lt;title&amp;gt;My first three.js app&amp;lt;/title&amp;gt;&#10;&#9;&#9;&amp;lt;style&amp;gt;&#10;&#9;&#9;&#9;body { margin: 0; }&#10;&#9;&#9;&amp;lt;/style&amp;gt;&#10;&#9;&amp;lt;/head&amp;gt;&#10;&#9;&amp;lt;body&amp;gt;&#10;&#9;&#9;&amp;lt;script type=&amp;#34;module&amp;#34; src=&amp;#34;/main.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&#10;&#9;&amp;lt;/body&amp;gt;&#10;&amp;lt;/html&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;======================================================================================================&#10;main.js&#10;======================================================================================================&#10;&#10;import * as THREE from &amp;#39;three&amp;#39;;&#10;&#10;const scene = new THREE.Scene();&#10;const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );&#10;&#10;const renderer = new THREE.WebGLRenderer();&#10;renderer.setSize( window.innerWidth, window.innerHeight );&#10;document.body.appendChild( renderer.domElement );&#10;&#10;const geometry = new THREE.BoxGeometry( 1, 1, 1 );&#10;const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );&#10;const cube = new THREE.Mesh( geometry, material );&#10;scene.add( cube );&#10;&#10;camera.position.z = 5;&#10;function animate() {&#10;&#9;requestAnimationFrame( animate );&#10;&#10;&#9;cube.rotation.x += 0.01;&#10;&#9;cube.rotation.y += 0.01;&#10;&#10;&#9;renderer.render( scene, camera );&#10;}&#10;animate();&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;to be continued&amp;hellip;&lt;/p&gt;</description></item><item><title>Javascript Events</title><link>https://thevikidtruth.com/computing/jsevents/</link><pubDate>Sun, 02 Apr 2023 01:28:15 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsevents/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-events"&gt;Javascript Events&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about events: &lt;strong&gt;your JavaScript mostly doesn&amp;rsquo;t run – it waits.&lt;/strong&gt; It registers &amp;ldquo;when this happens, do that&amp;rdquo;, goes quiet, and the browser (or Node.js) wakes it up when something happens. Learning events is learning to write code that waits well.&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;An &lt;strong&gt;event&lt;/strong&gt; is a signal that something happened: a click, a key press, a page finishing loading, a network message arriving, a file being read. An &lt;strong&gt;event listener&lt;/strong&gt; (or handler) is a function you attach to a target that will be called when that event fires.&lt;/p&gt;</description></item><item><title>Javascript Functions</title><link>https://thevikidtruth.com/computing/jsfunctions/</link><pubDate>Sun, 02 Apr 2023 01:28:00 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsfunctions/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-functions"&gt;Javascript Functions&lt;/h1&gt;&#10;&lt;p&gt;The truth at the heart of JavaScript: &lt;strong&gt;functions are values.&lt;/strong&gt; You can store them in variables, pass them to other functions, return them, and stick them in objects. Everything clever in the language – callbacks, promises, event handlers, array methods – follows from that one fact.&lt;/p&gt;</description></item><item><title>Javascript Objects</title><link>https://thevikidtruth.com/computing/jsobjects/</link><pubDate>Sun, 02 Apr 2023 01:27:38 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsobjects/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-objects"&gt;Javascript Objects&lt;/h1&gt;&#10;&lt;p&gt;Strip away the syntax and here is the truth: &lt;strong&gt;a JavaScript object is just a bag of named slots, plus a hidden link to another bag to ask when a slot is missing.&lt;/strong&gt; Arrays, functions, dates, DOM nodes – all of them are that, underneath.&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;An object is a collection of &lt;strong&gt;properties&lt;/strong&gt;. Each property has a &lt;strong&gt;key&lt;/strong&gt; (a string or a symbol) and a &lt;strong&gt;value&lt;/strong&gt; (anything – a number, another object, a function). When a property&amp;rsquo;s value is a function, we call it a &lt;strong&gt;method&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Javascript Scope</title><link>https://thevikidtruth.com/computing/jsscope/</link><pubDate>Sun, 02 Apr 2023 01:27:07 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsscope/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-scope"&gt;Javascript Scope&lt;/h1&gt;&#10;&lt;p&gt;The truth behind scope is simple: &lt;strong&gt;every name lives somewhere, and code can only see the names in its own room and the rooms that contain it.&lt;/strong&gt; That nesting of rooms, decided by where you &lt;em&gt;write&lt;/em&gt; the code, is all scope is.&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;Scope&lt;/strong&gt; is the region of a program where a name is visible. An &lt;strong&gt;environment&lt;/strong&gt; (the spec calls it an &lt;em&gt;Environment Record&lt;/em&gt;) is the actual table, at run time, that maps names to values for that region. Each environment keeps a pointer to its &lt;em&gt;outer&lt;/em&gt; environment, forming a chain. When you use a name, JavaScript looks in the current environment, then the outer one, then the next, until it hits the global environment. If the name isn&amp;rsquo;t there, you get a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Javascript Variables</title><link>https://thevikidtruth.com/computing/jsvariable/</link><pubDate>Sun, 02 Apr 2023 01:26:09 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsvariable/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-variables"&gt;Javascript Variables&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth nobody tells beginners: &lt;strong&gt;a variable is not a box that holds a value. It is a name that points at a value.&lt;/strong&gt; Once that sinks in, half the &amp;ldquo;weird&amp;rdquo; behaviour of JavaScript stops being weird.&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 variable is a label you attach to a value so you can find it again. In modern JavaScript (everything since ES2015, and everything you should be writing in 2026) you create one with one of two keywords:&lt;/p&gt;</description></item><item><title>Python spaCy NLP Library</title><link>https://thevikidtruth.com/computing/pythonspacy/</link><pubDate>Fri, 31 Mar 2023 14:47:25 +0400</pubDate><guid>https://thevikidtruth.com/computing/pythonspacy/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Python Libraries, tools and Links&lt;/span&gt; | &lt;a href="https://docs.python.org/3/" rel="noopener"&gt;Official Python Docs&lt;/a&gt;&#10;| &lt;a href="https://thevikidtruth.com/computing/intropygame/"&gt;Intro to Pygame&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pythonspacy/"&gt;spaCy&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="python-spacy-nlp-library"&gt;Python spaCy NLP Library&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about spaCy: &lt;strong&gt;it is an industrial-strength Natural Language Processing library for Python that treats linguistic annotation as a pipeline of fast, composable components.&lt;/strong&gt; If you need to tokenise, tag, parse or recognise entities in real text, spaCy is the default workhorse.&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;spaCy&lt;/strong&gt; (Explosion AI) provides:&lt;/p&gt;</description></item><item><title>Intro to Pygame Notes</title><link>https://thevikidtruth.com/computing/intropygame/</link><pubDate>Thu, 30 Mar 2023 23:23:52 +0400</pubDate><guid>https://thevikidtruth.com/computing/intropygame/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Python Libraries, tools and Links&lt;/span&gt; | &lt;a href="https://docs.python.org/3/" rel="noopener"&gt;Official Python Docs&lt;/a&gt;&#10;| &lt;a href="https://thevikidtruth.com/computing/intropygame/"&gt;Intro to Pygame&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="intro-to-pygame-notes"&gt;Intro to Pygame Notes&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Pygame: &lt;strong&gt;it is a friendly box of SDL bindings that lets Python draw pixels, play sounds and read joysticks – enough to make real games without a 3D engine.&lt;/strong&gt; If you can write a loop and blit a surface, you can ship a game.&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;Pygame&lt;/strong&gt; is a community library wrapping &lt;strong&gt;SDL2&lt;/strong&gt; for Python. It gives you:&lt;/p&gt;</description></item><item><title>Cuis Terse Guide</title><link>https://thevikidtruth.com/computing/cuisterseguide/</link><pubDate>Thu, 30 Mar 2023 20:31:26 +0400</pubDate><guid>https://thevikidtruth.com/computing/cuisterseguide/</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/cuissmalltalk/"&gt;CuisSmalltalk&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/gnusmalltalk/"&gt;GNUSmalltalk&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;p&gt;&lt;a href="https://thevikidtruth.com/computing/cuisterseguide/"&gt;Terse Guide&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="cuis-terse-guide"&gt;Cuis Terse Guide&lt;/h1&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;x _ 4.&#10;&#10;z := 5.&#10;&#10;x _ y _ z _ 6.&#10;&#10;x _ (y _ 6) + 1.&#10;&#10;x _ Object new.&#10;&#10;x _ 123 class.&#10;x _ Object allInstances.&#10;&#10;x _ Integer allInstances.&#10;x _ Integer allSuperclasses.&#10;&#10;w _ 1.2 hash.&#10;&#10;t _ x copy.&#10;y _ x shallowCopy.&#10;y _ x veryDeepCopy.&#10;&#10;TranscriptWindow openTranscript. Transcript&#10;Transcript clear.&#10;Transcript show: &amp;#39;hello world&amp;#39;.&#10;Transcript nextPutAll: &amp;#39;Hello World&amp;#39;.&#10;Transcript nextPut: $A.&#10;Transcript space.&#10;Transcript tab; nextPut: $A; space; tab; nextPut: $B.&#10;Transcript newLine.&#10;&#10;&amp;#39;Hello&amp;#39; printOn: Transcript.&#10;&amp;#39;Yellow&amp;#39; storeOn: Transcript.&#10;Transcript endEntry.&#10;&#10;&amp;#39;Literals are objects that are created when you compile a method&amp;#39;&#10;&#10;| b x |&#10;&#10;b _ true.&#10;b _ false.&#10;x _ nil.&#10;x _ 1.&#10;&#10;x _ 3.14.&#10;x _ 2e-1.&#10;x _ 2.0e-2.&#10;&#10;x _ 7/8.&#10;&#10;x _ 16r0F.&#10;x _ 16rFFFFFFFF.&#10;x _ 16rFFFFFFFF negated.&#10;x _ -1.&#10;&#10;x _ &amp;#39;hello&amp;#39;.&#10;x _ &amp;#39;I&amp;#39;&amp;#39;m here&amp;#39;.&#10;x _ $A.&#10;x _ $ .&#10;x _ #aSymbol.&#10;x _ #(3 2 1).&#10;x _ #(&amp;#39;abc&amp;#39; 1 $a).&#10;x _ #[3 2 1 0].&#10;x _ #[1.0 3.12 6.03e23].&#10;&#10;x _ {&amp;#39;hello&amp;#39; size. Float pi. 1.0 arcTan}.&#10;x _ `{&amp;#39;hello&amp;#39; size. Float pi. 1.0 arcTan}`.&#10;&#10;x _ `{ 1. 3. 5. 7. 11. 13. 17} asSet`.&#10;&#10;&amp;#34;Booleans&amp;#34;&#10;| b x y |&#10;x _ 1. y _ 2.&#10;b _ ( x = y).&#10;b _ ( x ~= y).&#10;b _ ( x == y).&#10;b _ ( x ~~ y).&#10;b _ ( x &amp;gt; y ).&#10;b _ ( x &amp;lt; y).&#10;b _ ( x &amp;gt;= y).&#10;b _ ( x &amp;lt;= y).&#10;b _ b not.&#10;b _ (x &amp;lt; 5) &amp;amp; ( y &amp;gt; 1).&#10;b _ (x &amp;lt; 5) | (y &amp;gt; 1).&#10;b _ (x &amp;lt; 5) and: (y &amp;gt; 1).&#10;b _ (x &amp;lt; 5) or: (y &amp;gt; 1).&#10;b _ (x &amp;lt; 5) eqv: (y &amp;gt; 1).&#10;b _ (x &amp;lt; 5) xor: (y &amp;gt; 1).&#10;b _ 5 between: 3 and: 12.&#10;b _ 123 isKindOf: Number.&#10;b _ 123 isMemberOf: SmallInteger.&#10;b _ 123 respondsTo: #sqrt.&#10;b _ x isNil.&#10;b _ x isZero.&#10;b _ x positive.&#10;b _ x strictlyPositive.&#10;b _ x negative.&#10;b _ x even.&#10;b _ x odd.&#10;b _ x isInteger.&#10;b _ x isLiteral.&#10;b _ x isNumber.&#10;b _ x isSymbol.&#10;b _ $A isUppercase.&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="bit-wise"&gt;&amp;ldquo;Bit-Wise&amp;rdquo;&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;x _ 16rFF bitAnd: 16r0F. &amp;#34;and bits&amp;#34;&#10;x _ 16rF0 bitOr: 16r0F. &amp;#34;or bits&amp;#34;&#10;x _ 16rFF bitXor: 16r0F. &amp;#34;xor bits&amp;#34;&#10;x _ 16rFF bitInvert. &amp;#34;invert bits&amp;#34;&#10;x _ 16r0F bitShift: 4. &amp;#34;left shift &amp;#34;&#10;x _ 16rF0 bitShift: -4. &amp;#34;right shift&amp;#34;&#10;x _ 16r80 bitAt: 8. &amp;#34;bit at position (0|1)&amp;#34;&#10;x _ 16r80 highBit. &amp;#34;position of highest bit set&amp;#34;&#10;b _ 16rFF allMask: 16r0F. &amp;#34;test if all bits set in mask are set in receiver&amp;#34;&#10;b _ 16rFF anyMask: 16r0F. &amp;#34;test if any bits set in mask are set in receiver&amp;#34;&#10;b _ 16rFF noMask: 16r0F. &amp;#34;test if all bits set in mask are clear in receiver&amp;#34;&#10;&lt;/code&gt;&lt;/pre&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>Computing</title><link>https://thevikidtruth.com/computing/fortran/</link><pubDate>Thu, 15 Sep 2022 05:29:55 +0400</pubDate><guid>https://thevikidtruth.com/computing/fortran/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Readinglist&lt;/span&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/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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/fortran/"&gt;Fortran&lt;/a&gt; | &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/gnusmalltalk/"&gt;GNUSmalltalk&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="computing"&gt;Computing&lt;/h1&gt;&#10;&lt;h2 id="fortran"&gt;Fortran&lt;/h2&gt;&#10;&lt;p&gt;Here&amp;rsquo;s a truth that surprises most programmers: &lt;strong&gt;the oldest high-level language still in heavy use isn&amp;rsquo;t a relic – it&amp;rsquo;s quietly running the world&amp;rsquo;s weather forecasts, climate models and supercomputers.&lt;/strong&gt; Fortran is old; modern Fortran is not.&lt;/p&gt;</description></item><item><title>Apple Related Stuff</title><link>https://thevikidtruth.com/computing/apple/</link><pubDate>Thu, 15 Sep 2022 02:06:34 +0400</pubDate><guid>https://thevikidtruth.com/computing/apple/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&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; | &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; |&#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="apple-related-stuff"&gt;Apple Related Stuff&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Apple computers for a Linux person: &lt;strong&gt;under the polished glass, a Mac is a Unix machine&lt;/strong&gt; – a certified one, in fact. With a package manager, a tiling window manager and a few keyboard tweaks, it can feel surprisingly close to home.&lt;/p&gt;</description></item><item><title>Cuis Smalltalk</title><link>https://thevikidtruth.com/computing/cuissmalltalk/</link><pubDate>Mon, 12 Sep 2022 01:39:35 +0400</pubDate><guid>https://thevikidtruth.com/computing/cuissmalltalk/</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/cuissmalltalk/"&gt;CuisSmalltalk&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/gnusmalltalk/"&gt;GNUSmalltalk&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;p&gt;&lt;a href="https://thevikidtruth.com/computing/cuisterseguide/"&gt;Terse Guide&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="cuis-smalltalk"&gt;Cuis Smalltalk&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Cuis: &lt;strong&gt;it is Smalltalk stripped back to something one person can understand completely – a personal computing environment that still fits in a single mind.&lt;/strong&gt; If Pharo is a bustling city, Cuis is a well-kept village with excellent roads.&lt;/p&gt;</description></item><item><title>GNU Smalltalk</title><link>https://thevikidtruth.com/computing/gnusmalltalk/</link><pubDate>Mon, 12 Sep 2022 01:32:06 +0400</pubDate><guid>https://thevikidtruth.com/computing/gnusmalltalk/</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;span class="missing-link"&gt;Smalltalk&lt;/span&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="gnu-smalltalk"&gt;GNU Smalltalk&lt;/h1&gt;&#10;&lt;p&gt;Here&amp;rsquo;s the truth about GNU Smalltalk: &lt;strong&gt;it&amp;rsquo;s Smalltalk without the world around it&lt;/strong&gt; – no windows, no image browser, just the language in a terminal, run like a script. That makes it the quickest way to taste Smalltalk&amp;rsquo;s ideas, and also explains why most people eventually move on to &lt;span class="missing-link"&gt;Pharo&lt;/span&gt; or &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;Cuis&lt;/a&gt;.&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>Odin</title><link>https://thevikidtruth.com/computing/odin/</link><pubDate>Mon, 05 Sep 2022 06:40:28 +0400</pubDate><guid>https://thevikidtruth.com/computing/odin/</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="odin"&gt;Odin&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth Odin is built on: &lt;strong&gt;most programs are about transforming data, so the language should make data obvious and get out of the way.&lt;/strong&gt; No classes, no hidden allocations, no garbage collector – just a clean, modern take on what C was trying to be.&lt;/p&gt;</description></item><item><title>Zig Language</title><link>https://thevikidtruth.com/computing/ziglang/</link><pubDate>Tue, 30 Aug 2022 05:35:16 +0400</pubDate><guid>https://thevikidtruth.com/computing/ziglang/</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; | &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; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&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; | &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="zig-language"&gt;Zig Language&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth Zig is aimed at: &lt;strong&gt;C is still the lingua franca of systems, but its undefined behaviour, header files and build story are a tax everyone pays.&lt;/strong&gt; Zig keeps C&amp;rsquo;s honesty about memory and lays that tax down.&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>Emacs Notes</title><link>https://thevikidtruth.com/computing/emacsnotes/</link><pubDate>Sun, 28 Aug 2022 12:15:52 +0400</pubDate><guid>https://thevikidtruth.com/computing/emacsnotes/</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/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="emacs-notes"&gt;Emacs Notes&lt;/h1&gt;&#10;&lt;p&gt;Start an emacs server.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;systemctl --user enable emacs&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Close an emacs client, see &lt;code&gt;delete-frame&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Copy emacs text to the clipboard:&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;(custom-set-variables &amp;#39;(x-select-enable-clipboard t))&#10;&#10;(global-set-key &amp;#34;\C-w&amp;#34; &amp;#39;clipboard-kill-region)&#10;(global-set-key &amp;#34;\M-w&amp;#34; &amp;#39;clipboard-kill-ring-save)&#10;(global-set-key &amp;#34;\C-y&amp;#34; &amp;#39;clipboard-yank)&#10;2{Notes from Mastering Emacs}&#10;In Emacs, the buffer is the data structure.&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="useful-tips"&gt;Useful tips&lt;/h2&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;Use ‘C-x ESC ESC’ (‘repeat-complex-command’)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="navigating-parenthesis"&gt;Navigating Parenthesis&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="http://www.emacswiki.org/emacs/NavigatingParentheses" rel="noopener"&gt;NavigatingParentheses&lt;/a&gt;&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>Purescript</title><link>https://thevikidtruth.com/computing/purescript/</link><pubDate>Sat, 27 Aug 2022 00:18:37 +0400</pubDate><guid>https://thevikidtruth.com/computing/purescript/</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; | &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; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&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; | &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;/p&gt;&#10;&lt;h1 id="purescript"&gt;Purescript&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about PureScript: &lt;strong&gt;it&amp;rsquo;s Haskell&amp;rsquo;s ideas, aimed at the places JavaScript runs.&lt;/strong&gt; You get strong static types, purity and type classes, and out comes small, readable JavaScript.&lt;/p&gt;</description></item><item><title>The V Programming Language</title><link>https://thevikidtruth.com/computing/vlang/</link><pubDate>Thu, 25 Aug 2022 02:35:41 +0400</pubDate><guid>https://thevikidtruth.com/computing/vlang/</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; | &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; | &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;/p&gt;&#10;&lt;h1 id="the-v-programming-language"&gt;The V Programming Language&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about V: &lt;strong&gt;it wants to be the language you can learn in a weekend and ship with on Monday – Go&amp;rsquo;s simplicity, C&amp;rsquo;s speed, Rust&amp;rsquo;s safety goals, without the steepest parts of any of them.&lt;/strong&gt; Whether it fully delivers depends on what you need, but the ambition is clear and the tooling is pleasant.&lt;/p&gt;</description></item><item><title>Javascript Control Flow</title><link>https://thevikidtruth.com/computing/jscontrolflow/</link><pubDate>Wed, 24 Aug 2022 01:03:54 +0400</pubDate><guid>https://thevikidtruth.com/computing/jscontrolflow/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-control-flow"&gt;Javascript Control Flow&lt;/h1&gt;&#10;&lt;h2 id="equality"&gt;Equality&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Triple Equals&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 1 === 1;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;type&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;value&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Double Equals&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 1 == 1;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Weird Examples&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 0 == &amp;#34;0&amp;#34; // true&#10; 0 == &amp;#34;&amp;#34; // true&#10; 0 == [] // true&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 0 == null // false&#10; 0 == undefined // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;true&amp;#34; == true // false&#10; &amp;#34;false&amp;#34; == false // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 5 == &amp;#34;5&amp;#34;;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 5 === Number(&amp;#34;5&amp;#34;);&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Truthy or Falsy?&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;&amp;#34; // falsy&#10; [] // truthy&#10; () // truthy&#10; NaN // falsy&#10; Infinity // falsy&#10; 0 // falsy&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;&amp;#34; == false // true&#10; 0 == false // true&#10; 0n == false // true&#10; Nan == false // false&#10; null == false // false&#10; undefined == false // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;h3 id="memorize-the-7-falsy-values"&gt;memorize the 7 falsy values&lt;/h3&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;quot;&amp;quot;&#10;&lt;ul&gt;&#10;&lt;li&gt;0&lt;/li&gt;&#10;&lt;li&gt;0n&lt;/li&gt;&#10;&lt;li&gt;NaN&lt;/li&gt;&#10;&lt;li&gt;undefined&lt;/li&gt;&#10;&lt;li&gt;null&lt;/li&gt;&#10;&lt;li&gt;false&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;null == null // true&#10;null == false // false&#10;null == true // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Objects&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Javascript Data Types</title><link>https://thevikidtruth.com/computing/jsdatatypes/</link><pubDate>Wed, 24 Aug 2022 00:05:54 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsdatatypes/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-data-types"&gt;Javascript Data Types&lt;/h1&gt;&#10;&lt;p&gt;There are 8 fundamental data types:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Numbers, Strings, Booleans, Objects, Functions, Undefined, Bigints, Symbols&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Variables don&amp;rsquo;t have types. The values have types. remember to use &lt;code&gt;typeof&lt;/code&gt; operator.&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;h2 id="numbers"&gt;Numbers&lt;/h2&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;5&#10;0b101&#10;0o5&#10;0x5&#10;5e7&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;1. ```&#10;10 * &amp;#34;string&amp;#34; =&amp;gt; NaN&#10;10/0 =&amp;gt; Infinity&#10;-10/0 =&amp;gt; -Infinity&#10;&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#10;&lt;li&gt;Strings&lt;/li&gt;&#10;&lt;li&gt;`&amp;quot;&amp;quot; &amp;rsquo;&amp;rsquo; ```&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;let s = &amp;ldquo;Jane is good&amp;rdquo;&#10;s.length //12&#10;s.toLowerCase()&#10;s.toUpperCase()&lt;/p&gt;</description></item><item><title>Common Lisp</title><link>https://thevikidtruth.com/computing/commonlisp/</link><pubDate>Tue, 23 Aug 2022 01:36:02 +0400</pubDate><guid>https://thevikidtruth.com/computing/commonlisp/</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;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="common-lisp"&gt;Common Lisp&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth that took me years to see: &lt;strong&gt;Common Lisp is not an old language that refused to die – it&amp;rsquo;s a living system that was finished early.&lt;/strong&gt; It was standardised in 1994, and code written then still runs unchanged today on fast, native-code compilers. Few languages can say that.&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>Working with Windows WSL</title><link>https://thevikidtruth.com/computing/windowswsl/</link><pubDate>Thu, 18 Aug 2022 04:39:08 +0400</pubDate><guid>https://thevikidtruth.com/computing/windowswsl/</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="working-with-windows-wsl"&gt;Working with Windows WSL&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about WSL: &lt;strong&gt;it isn&amp;rsquo;t Linux &amp;ldquo;emulated&amp;rdquo; on Windows – it&amp;rsquo;s a real Linux kernel running in a lightweight virtual machine, wired so tightly into Windows that it feels native.&lt;/strong&gt; Once you know that, its quirks (networking, file speed, memory) all make sense.&lt;/p&gt;</description></item><item><title>Racket</title><link>https://thevikidtruth.com/computing/racket/</link><pubDate>Wed, 17 Aug 2022 01:06:30 +0400</pubDate><guid>https://thevikidtruth.com/computing/racket/</guid><description>&lt;h1 id="racket"&gt;Racket&lt;/h1&gt;&#10;&lt;p&gt;Racket is an evolution of the Scheme Language. A Scheme with Batteries and more.&#10;&lt;a href="https://docs.racket-lang.org/r6rs/r6rs-std/index.html" rel="noopener"&gt;Read R6RS Scheme Specs. It always helps.&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="initial-grammar"&gt;Initial Grammar&lt;/h2&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; program ::= {expr | test | def}*&#10; def ::= (define &amp;lt;variable name&amp;gt; expr)&#10; test ::= (check-expect expr expr)&#10; expr ::= string&#10; ::= number&#10; ::= (&amp;lt;function&amp;gt; expr*)&#10; ::= &amp;lt;variable name&amp;gt;&#10; string ::= &amp;#34;&amp;lt;character&amp;gt;&amp;#34;&#10; number ::= positive&#10; ::= negative&#10; positive ::= mag&#10; negative ::= -mag&#10; mag ::= int&#10; ::= real&#10; ::= fraction&#10; int ::= digit*&#10; digit ::= 0|1|2|3|4|5|6|7|8|9&#10; real ::= digit*.digit*&#10; fraction ::= int/nonzero-int&#10;non-zeroint::= &amp;lt;1|2|3|4|5|6|7|8|9&amp;gt;int&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="drracket"&gt;DrRacket&lt;/h2&gt;&#10;&lt;p&gt;If using DrRacket as an IDE. You can get auto-complete while typing &amp;ldquo;ctrl-/&amp;rdquo;&lt;/p&gt;</description></item><item><title>Haskell</title><link>https://thevikidtruth.com/computing/haskell/</link><pubDate>Sun, 31 Jul 2022 04:52:11 +0400</pubDate><guid>https://thevikidtruth.com/computing/haskell/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&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; | &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/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;/p&gt;&#10;&lt;h1 id="haskell"&gt;Haskell&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Haskell: &lt;strong&gt;it is the language where the type checker is not a nag – it is a collaborator that writes half the program with you.&lt;/strong&gt; Once you accept that purity and laziness are features, a lot of software architecture lessons fall out for free.&lt;/p&gt;</description></item><item><title>Web Development Reading List</title><link>https://thevikidtruth.com/computing/webdevelopmentreadinglist/</link><pubDate>Fri, 29 Jul 2022 03:02:45 +0400</pubDate><guid>https://thevikidtruth.com/computing/webdevelopmentreadinglist/</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/algorithms/"&gt;Algorithms&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/webdevelopmentreadinglist/"&gt;Web Development Reading List&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="web-development-reading-list"&gt;Web Development Reading List&lt;/h1&gt;&#10;&lt;p&gt;The web moves fast; good primers don&amp;rsquo;t. This list is a short shelf of pages that still repay reading – HTML structure, Open Graph tags, favicons done properly. I&amp;rsquo;ll add to it when something earns a permanent place rather than a week of hype.&lt;/p&gt;</description></item><item><title>Computing Videos and Articles</title><link>https://thevikidtruth.com/computing/computingvideosandarticles/</link><pubDate>Wed, 27 Jul 2022 02:13:37 +0400</pubDate><guid>https://thevikidtruth.com/computing/computingvideosandarticles/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&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; | &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;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/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;/p&gt;&#10;&lt;h1 id="computing-videos-and-articles"&gt;Computing Videos and Articles&lt;/h1&gt;&#10;&lt;p&gt;A handful of talks and articles that changed how I think about software – not an algorithmically sorted ocean. Prefer one slow viewing with a notebook open over twenty tabs of background noise.&lt;/p&gt;</description></item><item><title>Python Keywords</title><link>https://thevikidtruth.com/computing/pykeywords/</link><pubDate>Sun, 05 Sep 2021 05:50:54 +0400</pubDate><guid>https://thevikidtruth.com/computing/pykeywords/</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; |&#10;&lt;a href="https://thevikidtruth.com/computing/rasberrypi/"&gt;RasberryPi&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="python-keywords"&gt;Python Keywords&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Python keywords: &lt;strong&gt;there are only a few dozen of them, they are the grammar of the language, and you cannot use them as names.&lt;/strong&gt; Everything else is a builtin or an ordinary identifier.&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;keyword&lt;/strong&gt; (reserved word) is a token the Python parser treats specially. As of Python 3.12/3.13 the set includes:&lt;/p&gt;</description></item><item><title>Input / Output IO</title><link>https://thevikidtruth.com/computing/plio/</link><pubDate>Sat, 28 Aug 2021 07:09:06 +0400</pubDate><guid>https://thevikidtruth.com/computing/plio/</guid><description>&lt;p class="right"&gt;&lt;img src="https://thevikidtruth.com/assets/picos.png" alt="picos"&gt;&lt;/p&gt;&#10;&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; | &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; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;JavaScript&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/penti/"&gt;Penti&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="input--output-io"&gt;Input / Output IO&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about I/O in PicoLisp: &lt;strong&gt;everything is a stream or a list of characters, and the same functions that print to your terminal can print into a socket, a file or a string.&lt;/strong&gt; Once you meet &lt;code&gt;in&lt;/code&gt;, &lt;code&gt;out&lt;/code&gt; and &lt;code&gt;prin&lt;/code&gt;, the rest is composition.&lt;/p&gt;</description></item><item><title>new</title><link>https://thevikidtruth.com/computing/plnew/</link><pubDate>Sat, 28 Aug 2021 06:47:27 +0400</pubDate><guid>https://thevikidtruth.com/computing/plnew/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="http://software-lab.de/doc/ref.html#vm" rel="noopener"&gt;The Picolisp Reference&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilasm/"&gt;ASM&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/piltutorials/"&gt;Pil Tutorials&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="new"&gt;new&lt;/h1&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;(new [&amp;#39;flg|num] [&amp;#39;typ [&amp;#39;any ..]]) -&amp;gt; obj &#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Creates and returns a new object.&lt;/p&gt;&#10;&lt;p&gt;If &lt;strong&gt;flg&lt;/strong&gt; is given and &lt;strong&gt;non-NIL&lt;/strong&gt;, the new object will be an &lt;strong&gt;external symbol&lt;/strong&gt;&#10;(created in database file 1 if T, or in the corresponding database file if num is given).&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;typ&lt;/strong&gt; (typically a list of classes) is assigned to the VAL,&#10;and the &lt;em&gt;initial T message&lt;/em&gt; is sent with the arguments any to the new object.&lt;/p&gt;</description></item><item><title>box</title><link>https://thevikidtruth.com/computing/plbox/</link><pubDate>Sat, 28 Aug 2021 06:45:21 +0400</pubDate><guid>https://thevikidtruth.com/computing/plbox/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilasm/"&gt;ASM&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/piltutorials/"&gt;Pil Tutorials&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="box"&gt;box&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about &lt;code&gt;box&lt;/code&gt; in PicoLisp: &lt;strong&gt;it is a tiny mutable cell – a cons whose purpose is to hold something that changes while the identity of the cell stays put.&lt;/strong&gt; When you need a shared, updatable place without inventing a class, you reach for a 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;&lt;code&gt;(box Val)&lt;/code&gt; creates a new cell with &lt;code&gt;Val&lt;/code&gt; as its value. Access and update with &lt;code&gt;val&lt;/code&gt; and &lt;code&gt;set&lt;/code&gt; (or related patterns). Because PicoLisp is dynamically typed and list-oriented, a box is often enough where another language would demand an object or an &lt;code&gt;IORef&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Lambda Calculus</title><link>https://thevikidtruth.com/computing/lambdacalculus/</link><pubDate>Sat, 28 Aug 2021 03:24:22 +0400</pubDate><guid>https://thevikidtruth.com/computing/lambdacalculus/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&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; | &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;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; | &lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &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/scheme/"&gt;Scheme&lt;/a&gt; | &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/webdevelopment/"&gt;Web Development&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="lambda-calculus"&gt;Lambda Calculus&lt;/h1&gt;&#10;&lt;p&gt;Here is a truth that still amazes me: &lt;strong&gt;you can build all of computation out of nothing but functions.&lt;/strong&gt; No numbers, no booleans, no loops, no variables that change – just making functions and applying them. That tiny system is the lambda calculus, and every Lisp, every closure, every &lt;code&gt;=&amp;gt;&lt;/code&gt; in JavaScript descends from it.&lt;/p&gt;</description></item><item><title>Functional Programming</title><link>https://thevikidtruth.com/computing/functional/</link><pubDate>Sat, 28 Aug 2021 03:19:02 +0400</pubDate><guid>https://thevikidtruth.com/computing/functional/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&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; | &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;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; | &lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &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/scheme/"&gt;Scheme&lt;/a&gt; | &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/webdevelopment/"&gt;Web Development&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="functional-programming"&gt;Functional Programming&lt;/h1&gt;&#10;&lt;h2 id="functional-programming-1"&gt;Functional Programming&lt;/h2&gt;&#10;&lt;p&gt;Here is the truth functional programming keeps repeating until it sinks in: &lt;strong&gt;if you stop changing things, most of your bugs disappear.&lt;/strong&gt; You write functions that take values and return new values, and you build programs by composing them.&lt;/p&gt;</description></item><item><title>Julia</title><link>https://thevikidtruth.com/computing/julia/</link><pubDate>Fri, 27 Aug 2021 10:40:18 +0400</pubDate><guid>https://thevikidtruth.com/computing/julia/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&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; | &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; |&#10;&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/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;/p&gt;&#10;&lt;h1 id="julia"&gt;Julia&lt;/h1&gt;&#10;&lt;p&gt;This page is derived in large part from the :&#10;&lt;a href="https://benlauwens.github.io/ThinkJulia.jl/latest/book.html" rel="noopener"&gt;Think Julia Book&lt;/a&gt;.&#10;Get new packages at: &lt;a href="https://juliaobserver.com" rel="noopener"&gt;Julia Observer&lt;/a&gt;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://juliaacademy.com/courses/" rel="noopener"&gt;Julia Academy&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/JuliaAcademy/Foundations-of-Machine-Learning" rel="noopener"&gt;Github: Foundations of Machine Learning&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; Keywords&#10; abstract type baremodule begin break catch&#10; const continue do else elseif&#10; end export finally for false&#10; function global if import in&#10; let local macro module mutable struct&#10; primitive type quote return true try&#10; using struct where while&#10;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#10;&lt;li&gt;Operators&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;isa&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;n isa Int64&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Values and Types&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;nothing&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; typeof(nothing) --&amp;gt; Nothing&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Formal and Natural Languages&lt;/li&gt;&#10;&lt;li&gt;Variables, Expressions and Statements&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Variable names can be as long as you like.&#10;They can contain almost all Unicode characters,&#10;but &lt;strong&gt;they can’t begin with a number.&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;typing unicode: &lt;code&gt;\\:turtle: TAB, \\pi TAB&lt;/code&gt;, if you press tab twice you get suggestions&lt;/li&gt;&#10;&lt;li&gt;The subscript numbers are available in the Unicode character encoding &lt;code&gt; \\_1 TAB, \\_2 TAB, etc.&lt;/code&gt; .&lt;/li&gt;&#10;&lt;li&gt;Superscript numbers are also available ;{ ^2 TAB&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Assignment Statements&#10;Variable Names&#10;Expressions and Statements&#10;An &lt;em&gt;expression&lt;/em&gt; is a &lt;strong&gt;combination of one or more values, variables and operators&lt;/strong&gt;.&#10;A &lt;em&gt;statement&lt;/em&gt; is a unit of code that has an effect.&#10;Operator Precedence&#10;String Operations&lt;/p&gt;</description></item><item><title>Using the C Debugger</title><link>https://thevikidtruth.com/computing/gbddebugger/</link><pubDate>Fri, 27 Aug 2021 01:41:01 +0400</pubDate><guid>https://thevikidtruth.com/computing/gbddebugger/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Readinglist&lt;/span&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/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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/gnusmalltalk/"&gt;GNUSmalltalk&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="using-the-c-debugger"&gt;Using the C Debugger&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="http://www.gdbtutorial.com" rel="noopener"&gt;The GBD Tutorial&lt;/a&gt;, &lt;a href="https://sourceware.org/gdb/current/onlinedocs/gdb/index.html#SEC_Contents" rel="noopener"&gt;Online Docs&lt;/a&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Compile your program with &amp;lsquo;-g&amp;rsquo;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;gcc -g main.c&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;run gbd&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;gdb a.out&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;exit gbd&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;(gdb) quit&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Common Commands&lt;/p&gt;</description></item><item><title>C Syntax</title><link>https://thevikidtruth.com/computing/csytanx/</link><pubDate>Fri, 27 Aug 2021 00:51:47 +0400</pubDate><guid>https://thevikidtruth.com/computing/csytanx/</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; |&#10;&lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&lt;/p&gt;&#10;&lt;h1 id="c-syntax"&gt;C Syntax&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;IF&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;if (TEST) {&#10; CODE;&#10;} else if(TEST) {&#10; CODE;&#10;} else {&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;SWITCH&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;switch(OP) {&#10; case CONST:&#10; CODE;&#10; break;&#10; default:&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://en.cppreference.com/w/cpp/language/switch" rel="noopener"&gt;cppreference:switch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;WHILE&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;while(TEST) {&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;while(TEST){&#10; if(TEST2){&#10; continue;&#10; }&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;while(TEST){&#10; if(TEST2){&#10; break;&#10; }&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;DO&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;do {&#10; CODE;&#10;} while(TEST)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;FOR&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;for (INIT; TEST; POST) {&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;ENUM&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; enum{CONST1, CONST2} NAME;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;GOTO&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;if(TEST){&#10; goto somewhere&#10;}&#10;somewhere:&#10; CODE;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;FUNCTION&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;TYPE NAME(ARG1, ARG2, ..) {&#10; CODE;&#10; return VALUE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;TYPEDEF&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;typedef DEF ID;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;STRUCT&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;struct NAME {&#10; ELEMS;&#10;} [VAR_NAME];&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;typedef struct [STRUC_NAME] {&#10; ELEMS;&#10;} ID&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;UNION&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;union NAME {&#10; ELEMS;&#10;}[VAR_NAME]&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Operators</title><link>https://thevikidtruth.com/computing/cops/</link><pubDate>Fri, 27 Aug 2021 00:40:19 +0400</pubDate><guid>https://thevikidtruth.com/computing/cops/</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; |&#10;&lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&lt;/p&gt;&#10;&lt;h1 id="operators"&gt;Operators&lt;/h1&gt;&#10;&lt;p&gt;Operator tables for quick reference – arithmetic, assignment, bitwise, logical and relational. Pictures beat paragraphs when you just need to remember precedence. For deeper C notes see &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programming&lt;/a&gt; and &lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/arithmetic.png" alt="arithmetic"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/ass.png" alt="ass"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/bit.png" alt="bit"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/dat.png" alt="dat"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/log.png" alt="log"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/mis.png" alt="mis"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/rel.png" alt="rel"&gt;&lt;/p&gt;</description></item><item><title>The Vikid PicoLisp Tutorial</title><link>https://thevikidtruth.com/computing/pltutorial/</link><pubDate>Thu, 26 Aug 2021 01:17:21 +0400</pubDate><guid>https://thevikidtruth.com/computing/pltutorial/</guid><description>&lt;p class="right"&gt;&lt;img src="https://thevikidtruth.com/assets/picos.png" alt="picos"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; | &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; | &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;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; | &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; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/penti/"&gt;Penti&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pltutorial/"&gt;Picolisp Tutorial&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="the-vikid-picolisp-tutorial"&gt;The Vikid PicoLisp Tutorial&lt;/h2&gt;&#10;&lt;p&gt;Start picolisp&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;$ pil +&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Set some values&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;(setq A &amp;#39;(This is the value)) # Set the value of &amp;#39;A&amp;#39;&#10;&#10;(put &amp;#39;A &amp;#39;key1 &amp;#39;val1) # Store property &amp;#39;key1&amp;#39;&#10;&#10;(put &amp;#39;A &amp;#39;key2 &amp;#39;val2) # and &amp;#39;key2&amp;#39;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;inspect them with &amp;lsquo;show&amp;rsquo;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;(show &amp;#39;A) # Now &amp;#39;show&amp;#39; the symbol &amp;#39;A&amp;#39;&#10;&#10;(put &amp;#39;B &amp;#39;a &amp;#39;A) # Put &amp;#39;A&amp;#39; under the &amp;#39;a&amp;#39;-property of &amp;#39;B&amp;#39;&#10;&#10;(setq Lst &amp;#39;(A B C)) # Create a list with &amp;#39;B&amp;#39; as second argument&#10;&#10;(show Lst 2 &amp;#39;a) # Show the property &amp;#39;a of the 2nd element of &amp;#39;Lst&amp;#39;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;using vi and v.&lt;/p&gt;</description></item><item><title>Operating Systems</title><link>https://thevikidtruth.com/computing/virtualization/</link><pubDate>Sun, 22 Aug 2021 04:38:43 +0400</pubDate><guid>https://thevikidtruth.com/computing/virtualization/</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; |&#10;&lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&lt;/p&gt;&#10;&lt;h1 id="operating-systems"&gt;Operating Systems&lt;/h1&gt;&#10;&lt;h2 id="virtualization"&gt;Virtualization&lt;/h2&gt;&#10;&lt;p&gt;Here&amp;rsquo;s the truth behind virtualization: &lt;strong&gt;an operating system is just a program that thinks it owns the hardware.&lt;/strong&gt; Give it something that &lt;em&gt;looks&lt;/em&gt; like hardware, and it will happily run – alongside a dozen others on the same machine. That simple trick underpins the cloud, CI pipelines and most server rooms on Earth.&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>Web Development</title><link>https://thevikidtruth.com/computing/webdevelopment/</link><pubDate>Sun, 22 Aug 2021 01:20:19 +0400</pubDate><guid>https://thevikidtruth.com/computing/webdevelopment/</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/algorithms/"&gt;Algorithms&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/webdevelopmentreadinglist/"&gt;Web Development Reading List&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="web-development"&gt;Web Development&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about web development in 2026: &lt;strong&gt;the web is still three languages in a trench coat – HTML, CSS and JavaScript – and everything else is tooling piled on to keep those three under control at scale.&lt;/strong&gt; Learn the three deeply; treat frameworks as temporary.&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>C Standard Library</title><link>https://thevikidtruth.com/computing/cstandardlibrary/</link><pubDate>Thu, 29 Jun 2017 02:39:49 +0400</pubDate><guid>https://thevikidtruth.com/computing/cstandardlibrary/</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;Picolisp By Example&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; | &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;/p&gt;&#10;&lt;h2 id="c-standard-library"&gt;&lt;a href="https://thevikidtruth.com/computing/cstandardlibrary/"&gt;C Standard Library&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Here is the truth about the C standard library: &lt;strong&gt;it is a small, sharp toolkit – I/O, memory, strings, maths, time – that every hosted C program leans on, and its sharpest edges are still the string and unchecked I/O functions.&lt;/strong&gt; Knowing what is in ISO C versus what your OS adds is half of reading real code.&lt;/p&gt;</description></item><item><title>vers.h</title><link>https://thevikidtruth.com/computing/versh/</link><pubDate>Thu, 29 Jun 2017 02:06:42 +0400</pubDate><guid>https://thevikidtruth.com/computing/versh/</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;/p&gt;&#10;&lt;h1 id="versh"&gt;&lt;a href="https://thevikidtruth.com/computing/versh/"&gt;vers.h&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about versioning shell helpers: &lt;strong&gt;a tiny wrapper that prints versions of the tools you actually use saves more time than it has any right to.&lt;/strong&gt; When something breaks after an update, &amp;ldquo;what am I running?&amp;rdquo; should be a one-liner.&lt;/p&gt;</description></item><item><title>Picolisp Tutorials</title><link>https://thevikidtruth.com/computing/piltutorials/</link><pubDate>Sat, 24 Jun 2017 03:42:32 +0400</pubDate><guid>https://thevikidtruth.com/computing/piltutorials/</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;Picolisp By Example&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; | &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;/p&gt;&#10;&lt;h1 id="picolisp-tutorials"&gt;Picolisp Tutorials&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about learning PicoLisp: &lt;strong&gt;the language is small enough that tutorials can take you from zero to a working app without a 900-page book.&lt;/strong&gt; The hard part is not syntax – it is trusting that lists, symbols and a handful of forms really are enough.&lt;/p&gt;</description></item><item><title>Find Boxes in Lists</title><link>https://thevikidtruth.com/computing/findboxes/</link><pubDate>Wed, 21 Jun 2017 13:31:50 +0400</pubDate><guid>https://thevikidtruth.com/computing/findboxes/</guid><description>&lt;h1 id="find-boxes-in-lists"&gt;Find Boxes in Lists&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about finding boxes on a network: &lt;strong&gt;most &amp;ldquo;discovery&amp;rdquo; is just asking politely which doors are open, then writing down who answers.&lt;/strong&gt; The skill is doing it thoroughly, quietly enough for the context, and only where you have permission.&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;Finding boxes&lt;/strong&gt; means enumerating live hosts and interesting services on a network – the first phase of any lab, inventory or authorised &lt;a href="https://thevikidtruth.com/computing/penetrationtesting/"&gt;penetration test&lt;/a&gt;. Tools range from a single &lt;code&gt;ping&lt;/code&gt; to full-fat scanners like nmap. On a home LAN it is how you remember which Pi has which IP; on an engagement it is how you build the map.&lt;/p&gt;</description></item><item><title>RasberryPi</title><link>https://thevikidtruth.com/computing/rasberrypi/</link><pubDate>Sun, 18 Jun 2017 06:20:17 +0400</pubDate><guid>https://thevikidtruth.com/computing/rasberrypi/</guid><description>&lt;h1 id="rasberrypi"&gt;RasberryPi&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about the Raspberry Pi: &lt;strong&gt;it&amp;rsquo;s a real computer that costs about as much as a meal out, small enough to forget in a drawer and open enough to understand all the way down to the pins.&lt;/strong&gt; That combination is why it changed how people learn computing.&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;The &lt;strong&gt;Raspberry Pi&lt;/strong&gt; is a family of single-board computers made by Raspberry Pi Ltd (the trading arm of the UK Raspberry Pi Foundation, an education charity). The first model shipped in 2012. A Pi is a whole computer on one board: an ARM processor (Broadcom system-on-chip), RAM, USB, networking, HDMI output, and – the special part – a &lt;strong&gt;40-pin GPIO header&lt;/strong&gt; that lets software switch real electrical signals on and off.&lt;/p&gt;</description></item><item><title>Algorithms</title><link>https://thevikidtruth.com/computing/algorithms/</link><pubDate>Mon, 08 May 2017 05:00:32 +0400</pubDate><guid>https://thevikidtruth.com/computing/algorithms/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&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; | &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; |&#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="algorithms"&gt;Algorithms&lt;/h1&gt;&#10;&lt;h2 id="algorithms-1"&gt;Algorithms&lt;/h2&gt;&#10;&lt;p&gt;Here is the truth about algorithms: &lt;strong&gt;they are recipes, and the interesting question is not &amp;ldquo;does it work?&amp;rdquo; but &amp;ldquo;how does the cost grow when the input gets bigger?&amp;rdquo;&lt;/strong&gt; Once you start seeing growth rates, a lot of software design stops being guesswork.&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>Online VPS, SaaS, PaaS, IaaS</title><link>https://thevikidtruth.com/computing/onlinevps/</link><pubDate>Mon, 12 Dec 2016 22:38:11 +0400</pubDate><guid>https://thevikidtruth.com/computing/onlinevps/</guid><description>&lt;h1 id="online-vps-saas-paas-iaas"&gt;Online VPS, SaaS, PaaS, IaaS&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about a VPS: &lt;strong&gt;you are renting a virtual machine that thinks it is a computer, and you are its sysadmin.&lt;/strong&gt; The freedom is real; so is the responsibility when the cron job fills the disk at 3 a.m.&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;VPS&lt;/strong&gt; (Virtual Private Server) is a virtual machine sold by a host – &lt;a href="https://thevikidtruth.com/computing/linode/"&gt;Linode&lt;/a&gt;/Akamai, DigitalOcean, Hetzner, OVH, Vultr, Oracle Cloud&amp;rsquo;s free tier, and many smaller providers. You get a public IP, a chosen Linux image (or your own), CPU/RAM/disk quotas, and root access. Underneath, it&amp;rsquo;s a KVM (usually) guest on hardware you don&amp;rsquo;t own.&lt;/p&gt;</description></item><item><title>Using Linode</title><link>https://thevikidtruth.com/computing/linode/</link><pubDate>Mon, 12 Dec 2016 22:15:06 +0400</pubDate><guid>https://thevikidtruth.com/computing/linode/</guid><description>&lt;h1 id="using-linode"&gt;Using Linode&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Linode: &lt;strong&gt;it was one of the first hosts to make renting a serious Linux machine feel like a commodity, and after the Akamai acquisition that spirit mostly survived.&lt;/strong&gt; A Linode is just a good VPS with a clean API and sane networking defaults.&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;Linode&lt;/strong&gt; is a cloud/VPS provider founded in 2003, acquired by Akamai in 2022. You rent virtual machines (&lt;strong&gt;Linodes&lt;/strong&gt; / Nanodes / dedicated CPU instances), object storage, Kubernetes (LKE), managed databases and node balancers in a few dozen regions. Images include Ubuntu, Debian, Alpine, Arch and custom uploads; rescue mode and out-of-band console exist when you lock yourself out.&lt;/p&gt;</description></item><item><title>Logging into Servers with SSH</title><link>https://thevikidtruth.com/computing/sshlogin/</link><pubDate>Mon, 12 Dec 2016 05:11:02 +0400</pubDate><guid>https://thevikidtruth.com/computing/sshlogin/</guid><description>&lt;h1 id="logging-into-servers-with-ssh"&gt;Logging into Servers with SSH&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about SSH: &lt;strong&gt;the password is the weakest part of it, and you should almost never use one.&lt;/strong&gt; SSH is how you get a shell on another machine securely; keys are how you do it without turning a password guess into a break-in.&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;SSH&lt;/strong&gt; (Secure Shell) is a protocol and a set of tools (&lt;code&gt;ssh&lt;/code&gt;, &lt;code&gt;scp&lt;/code&gt;, &lt;code&gt;sftp&lt;/code&gt;, &lt;code&gt;ssh-keygen&lt;/code&gt;, &lt;code&gt;ssh-agent&lt;/code&gt;) that give you an encrypted channel to another computer. Typical uses:&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>Node Js</title><link>https://thevikidtruth.com/computing/nodejs/</link><pubDate>Sun, 11 Dec 2016 00:02:18 +0400</pubDate><guid>https://thevikidtruth.com/computing/nodejs/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="node-js"&gt;Node Js&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://nodejs.dev/en/learn/" rel="noopener"&gt;Official Node Documentation&lt;/a&gt;&#10;&lt;strong&gt;On older Ubuntu releases the command was &lt;code&gt;nodejs&lt;/code&gt;, not &lt;code&gt;node&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;ln -s /usr/bin/nodejs /usr/bin/node&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://book.mixu.net/node/single.html" rel="noopener"&gt;Mixu&amp;rsquo;s Node Book&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="install-nvm-manjaro-linux"&gt;Install NVM Manjaro Linux&lt;/h2&gt;&#10;&lt;p&gt;Use Node Version Manager, NVM.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo pacman -S nvm&#10;&#10;nvm install --lts&#10;npm install &amp;#34;package name&amp;#34;&#10;nvm uninstall --lts&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="getting-started-npm"&gt;Getting Started npm&lt;/h2&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;npm install &amp;lt;package-name&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;flags:&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>Computer Languages Centre</title><link>https://thevikidtruth.com/computing/computerlanguages/</link><pubDate>Fri, 09 Dec 2016 12:41:12 +0400</pubDate><guid>https://thevikidtruth.com/computing/computerlanguages/</guid><description>&lt;h1 id="computer-languages-centre"&gt;Computer Languages Centre&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about computer languages: &lt;strong&gt;they are not competing religions – they are tools shaped by different bets about what matters.&lt;/strong&gt; Syntax is the paint; the bets (typing, memory, evaluation order, metaprogramming) are the structure.&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;programming language&lt;/strong&gt; is a notation for expressing computation that a machine can carry out. Languages differ along a handful of axes:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Axis&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Options&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Examples&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Typing&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;static / dynamic / gradual&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Rust / Python / TypeScript&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Evaluation&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;strict / lazy&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;C, JS / Haskell&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Memory&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;manual / GC / ownership&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;C, Zig / Java, Go / Rust&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Paradigm&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;imperative, FP, OO, logic, concatenative&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;C, Haskell, Smalltalk, Prolog, Forth&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Level&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;close to metal ↔ close to problem&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Assembly ↔ SQL, HTML&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;&amp;ldquo;Level&amp;rdquo; is a spectrum, not a moral hierarchy. Assembly and PicoLisp can both be the right answer.&lt;/p&gt;</description></item><item><title>TLS - Transport Layer Security</title><link>https://thevikidtruth.com/computing/tls/</link><pubDate>Tue, 06 Dec 2016 00:48:26 +0400</pubDate><guid>https://thevikidtruth.com/computing/tls/</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; |&#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;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;span class="missing-link"&gt;ICSsecurity&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;span class="missing-link"&gt;Security Programs&lt;/span&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; | &lt;span class="missing-link"&gt;wifi-penetration&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Forensics&lt;/span&gt; | &lt;span class="missing-link"&gt;SecureNetworkArchitecture&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="tls---transport-layer-security"&gt;TLS - Transport Layer Security&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about TLS: &lt;strong&gt;it is the reason the lock icon means anything – a protocol that turns an open pipe into a private, authenticated conversation.&lt;/strong&gt; HTTPS is just HTTP spoken through that pipe.&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;TLS&lt;/strong&gt; (Transport Layer Security), successor to the old SSL, is the cryptographic protocol that provides:&lt;/p&gt;</description></item><item><title>pmap</title><link>https://thevikidtruth.com/computing/pmap/</link><pubDate>Sun, 04 Dec 2016 04:11:39 +0400</pubDate><guid>https://thevikidtruth.com/computing/pmap/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/linuxtools/"&gt;linuxtools&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="pmap"&gt;pmap&lt;/h1&gt;&#10;&lt;p&gt;The truth about a running program&amp;rsquo;s memory is that &lt;strong&gt;it isn&amp;rsquo;t one big block – it&amp;rsquo;s a patchwork map of regions, each with its own purpose and permissions.&lt;/strong&gt; pmap prints that map.&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;pmap&lt;/strong&gt; (from the &lt;code&gt;procps-ng&lt;/code&gt; package, installed almost everywhere) reports the &lt;strong&gt;memory map&lt;/strong&gt; of a process: every region of virtual address space it has, how big each is, what permissions it has (read, write, execute), and what backs it – a file like &lt;code&gt;/usr/lib/libc.so.6&lt;/code&gt;, the heap, the stack, or anonymous memory.&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>Learn Online the Vikid Way</title><link>https://thevikidtruth.com/computing/learningonline/</link><pubDate>Sun, 04 Dec 2016 02:16:52 +0400</pubDate><guid>https://thevikidtruth.com/computing/learningonline/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/learningonline/"&gt;Learning Online&lt;/a&gt;&#10;&lt;span class="missing-link"&gt;Languages&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Music&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/mathematics/math/"&gt;Math&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="learn-online-the-vikid-way"&gt;Learn Online the Vikid Way&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about learning computing online: &lt;strong&gt;the net is a library the size of a planet, and without a reading list you will stand in the doorway forever.&lt;/strong&gt; The skill is not finding content – it is choosing a thin path and walking it until something clicks.&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;Online learning for computing means using tutorials, books, courses, documentation, videos and repositories to build skill – usually alone, usually around a day job. It works astonishingly well if you treat it like apprenticeship (make things, show them, fix them) and fails when you treat it like television (watch, nod, forget).&lt;/p&gt;</description></item><item><title>iPython</title><link>https://thevikidtruth.com/computing/ipython/</link><pubDate>Sat, 03 Dec 2016 00:34:08 +0400</pubDate><guid>https://thevikidtruth.com/computing/ipython/</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;/p&gt;&#10;&lt;h1 id="ipython"&gt;iPython&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about IPython: &lt;strong&gt;the best place to learn Python is not a file – it&amp;rsquo;s a prompt that remembers what you just did, shows you plots, and lets you edit the last thought.&lt;/strong&gt; IPython is that prompt, and Jupyter is the notebook built around it.&lt;/p&gt;</description></item><item><title>SciPy</title><link>https://thevikidtruth.com/computing/scipy/</link><pubDate>Sat, 03 Dec 2016 00:30:25 +0400</pubDate><guid>https://thevikidtruth.com/computing/scipy/</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;/p&gt;&#10;&lt;h1 id="scipy"&gt;SciPy&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about SciPy: &lt;strong&gt;it is the standard library Python never shipped for science and engineering.&lt;/strong&gt; Where NumPy gives you arrays, SciPy gives you the algorithms that &lt;em&gt;use&lt;/em&gt; them – integration, optimisation, signal processing, statistics, sparse linear algebra and more.&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;SciPy&lt;/strong&gt; (pronounced &amp;ldquo;sigh pie&amp;rdquo;) is an open-source Python library built on &lt;a href="https://thevikidtruth.com/computing/numpy/"&gt;NumPy&lt;/a&gt;. It collects battle-tested implementations of classical numerical methods, many of them wrappers around the same Fortran and C libraries (QUADPACK, FFTpACK, ARPACK, ODEPACK, LAPACK) that scientists have trusted for decades. The top-level packages you&amp;rsquo;ll actually import:&lt;/p&gt;</description></item><item><title>NumPy</title><link>https://thevikidtruth.com/computing/numpy/</link><pubDate>Sat, 03 Dec 2016 00:29:14 +0400</pubDate><guid>https://thevikidtruth.com/computing/numpy/</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;/p&gt;&#10;&lt;h1 id="numpy"&gt;NumPy&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth that makes Python fast at maths: &lt;strong&gt;the maths isn&amp;rsquo;t actually done in Python.&lt;/strong&gt; NumPy hands whole arrays to compiled C (and Fortran-descended) code in one go, and that single idea – think in arrays, not loops – is what makes the whole scientific Python world possible.&lt;/p&gt;</description></item><item><title>Git</title><link>https://thevikidtruth.com/computing/git/</link><pubDate>Fri, 02 Dec 2016 02:13:11 +0400</pubDate><guid>https://thevikidtruth.com/computing/git/</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; |&#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;&lt;/p&gt;&#10;&lt;h1 id="git"&gt;Git&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Git that finally made it click for me: &lt;strong&gt;it is not a backup tool and not a file-sync tool – it is a content-addressed database of snapshots, with pointers.&lt;/strong&gt; Once you see the graph of commits, every confusing command becomes a way of moving those pointers around.&lt;/p&gt;</description></item><item><title>Machine Learning</title><link>https://thevikidtruth.com/computing/machinelearning/</link><pubDate>Thu, 01 Dec 2016 22:59:57 +0400</pubDate><guid>https://thevikidtruth.com/computing/machinelearning/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Computing&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;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;&lt;/p&gt;&#10;&lt;h1 id="machine-learning"&gt;Machine Learning&lt;/h1&gt;&#10;&lt;h4 id="machine-learning-in-a-nutshell"&gt;Machine learning in a Nutshell:&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Data&lt;/strong&gt;: Raw Environment&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt;: Maps input &amp;ndash;&amp;gt; Output&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Learning&lt;/strong&gt;: Optimizes Models by finding better parameters to models (patterns).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Predictor&lt;/strong&gt;: A MLA that is a system that makes predictions&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;We Represent Data as Vectors&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Choose a Model&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Optimize using numerical methods&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="the-mathematics-needed"&gt;The mathematics needed:&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Linear Algebra&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Systems of Equations&#10;&lt;ul&gt;&#10;&lt;li&gt;Matrices&lt;/li&gt;&#10;&lt;li&gt;Vector Spaces&lt;/li&gt;&#10;&lt;li&gt;Linear Mappings&lt;/li&gt;&#10;&lt;li&gt;Affine Spaces&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Analytic Geometry&lt;/li&gt;&#10;&lt;li&gt;Matrix Decomposition&lt;/li&gt;&#10;&lt;li&gt;Vector Calculus&lt;/li&gt;&#10;&lt;li&gt;Probability Distributions&lt;/li&gt;&#10;&lt;li&gt;Continuous Optimisation&lt;/li&gt;&#10;&lt;li&gt;Models vs Data&lt;/li&gt;&#10;&lt;li&gt;Linear Regression&lt;/li&gt;&#10;&lt;li&gt;Dimensionality&lt;/li&gt;&#10;&lt;li&gt;Principal Component Analysis&lt;/li&gt;&#10;&lt;li&gt;Density Estimation (Gaussian Mixture Models&lt;/li&gt;&#10;&lt;li&gt;Classification with Support Vector Machines&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="sources-links-and-reading-lists"&gt;Sources, Links and Reading Lists&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://themlbook.com/wiki/doku.php" rel="noopener"&gt;The 100pg ML Book&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; &amp;mdash; &lt;a href="https://thevikidtruth.com/computing/scipy/"&gt;SciPy&lt;/a&gt; &amp;mdash; &lt;a href="https://thevikidtruth.com/computing/numpy/"&gt;NumPy&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.twotoreal.com/u/wr/4/building-machine-learning-systems-in-python/" rel="noopener"&gt; building-machine-learning-systems-in-python&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://metaoptimize.com" rel="noopener"&gt;Metaoptimize&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://stats.stackexchange.com" rel="noopener"&gt;Stack Exchange&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.twotoreal.com" rel="noopener"&gt;Two To Real&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://PacktPub.com" rel="noopener"&gt;PacktPub&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://aiprobook.com/numerical-linear-algebra-for-programmers/" rel="noopener"&gt;(Numerical Linear Algebra for Programmers | New Book Chapter Available)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=dPWYUELwIdM" rel="noopener"&gt;How Neural Networks Work: 3h50min&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EuBBz3bI-aA" rel="noopener"&gt;Machine Learning Fundamentals: Bias and Variance&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.w3schools.com/ai/ai_javascript.asp" rel="noopener"&gt;machine learning and javascript - w3schools&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://machinelearningjs.com" rel="noopener"&gt;machinelearningjs&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Types of Malware</title><link>https://thevikidtruth.com/computing/malwaretypes/</link><pubDate>Thu, 01 Dec 2016 02:33:47 +0400</pubDate><guid>https://thevikidtruth.com/computing/malwaretypes/</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; |&#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;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;span class="missing-link"&gt;ICSsecurity&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;span class="missing-link"&gt;Security Programs&lt;/span&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; | &lt;span class="missing-link"&gt;wifi-penetration&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Forensics&lt;/span&gt; | &lt;span class="missing-link"&gt;SecureNetworkArchitecture&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="types-of-malware"&gt;Types of Malware&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about malware types: &lt;strong&gt;the labels (virus, worm, trojan, ransomware…) describe &lt;em&gt;how&lt;/em&gt; a program spreads or &lt;em&gt;what&lt;/em&gt; it demands – not how sophisticated it is.&lt;/strong&gt; A boring script with a clever delivery path beats a clever payload nobody installs.&lt;/p&gt;</description></item><item><title>Scheme</title><link>https://thevikidtruth.com/computing/scheme/</link><pubDate>Wed, 30 Nov 2016 08:50:15 +0400</pubDate><guid>https://thevikidtruth.com/computing/scheme/</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; |&#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/racket/"&gt;Racket&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;/p&gt;&#10;&lt;h1 id="scheme"&gt;Scheme&lt;/h1&gt;&#10;&lt;p&gt;I am partial to scheme, I always really appreciated it.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; (define (max-of-list lst)&#10; (foldr max (first lst) (rest lst)))&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="r6rs---revision-6-scheme-standard"&gt;&lt;span class="missing-link"&gt;R6RS - Revision 6 Scheme Standard&lt;/span&gt;&lt;/h2&gt;&#10;&lt;p&gt;Programming languages should be designed not by piling feature on top of feature, but by removing&#10;the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates&#10;that a very small number of rules for forming expressions, with no restrictions on how they are composed,&#10;suffice to form a practical and efficient programming language that is flexible enough to support most of the major &amp;hellip;&#10;&lt;span class="missing-link"&gt;Read more.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Picolisp Databases</title><link>https://thevikidtruth.com/computing/pildb/</link><pubDate>Wed, 30 Nov 2016 08:06:23 +0400</pubDate><guid>https://thevikidtruth.com/computing/pildb/</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; |&#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; |&#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/pildb/"&gt;Picolisp DB&amp;rsquo;s&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="picolisp-databases"&gt;Picolisp Databases&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about PicoLisp&amp;rsquo;s database: &lt;strong&gt;it is not a bolt-on library – it is the language&amp;rsquo;s own object system, made durable.&lt;/strong&gt; Entities and relations are first-class, transactions are built in, and there is no ORM because you never leave Lisp.&lt;/p&gt;</description></item><item><title>Databases</title><link>https://thevikidtruth.com/computing/databases/</link><pubDate>Wed, 30 Nov 2016 07:56:19 +0400</pubDate><guid>https://thevikidtruth.com/computing/databases/</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; |&#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;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&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; |&#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/pildb/"&gt;Picolisp DB&amp;rsquo;s&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="databases"&gt;Databases&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about databases: &lt;strong&gt;persistence is hard, and &amp;ldquo;just write it to a file&amp;rdquo; becomes a nightmare the moment two writers, a crash or a query show up.&lt;/strong&gt; A database is the carefully engineered answer to those three problems.&lt;/p&gt;</description></item><item><title>Data Recovery</title><link>https://thevikidtruth.com/computing/datarecovery/</link><pubDate>Wed, 30 Nov 2016 06:33:38 +0400</pubDate><guid>https://thevikidtruth.com/computing/datarecovery/</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; |&#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;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;span class="missing-link"&gt;ICSsecurity&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;span class="missing-link"&gt;Security Programs&lt;/span&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; | &lt;span class="missing-link"&gt;wifi-penetration&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Forensics&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/datarecovery/"&gt;Data Recovery&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="data-recovery"&gt;Data Recovery&lt;/h1&gt;&#10;&lt;p&gt;Here is the uncomfortable truth about data recovery: &lt;strong&gt;the moment you notice you&amp;rsquo;ve lost something, every further write to that disk may be destroying it.&lt;/strong&gt; Stop. Think. Then recover. Most &amp;ldquo;I undeleted my files&amp;rdquo; success stories start with that pause.&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;Data recovery&lt;/strong&gt; is retrieving information that seems gone – deleted files, a formatted partition, a filesystem the OS won&amp;rsquo;t mount, a drive that clicks. It works because &amp;ldquo;delete&amp;rdquo; usually means &amp;ldquo;forget the pointer&amp;rdquo;, not &amp;ldquo;erase the bytes&amp;rdquo;. Until those bytes are overwritten, a tool that understands the filesystem (or ignores it and carves raw content) can find them again.&lt;/p&gt;</description></item><item><title>Network Protocols and Technologies</title><link>https://thevikidtruth.com/computing/networking/</link><pubDate>Wed, 30 Nov 2016 05:18:36 +0400</pubDate><guid>https://thevikidtruth.com/computing/networking/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Quicklinks&lt;/span&gt; | &lt;span class="missing-link"&gt;Reading Lists&lt;/span&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/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="network-protocols-and-technologies"&gt;Network Protocols and Technologies&lt;/h1&gt;&#10;&lt;p&gt;It probably hasn&amp;rsquo;t escaped you attention that Computer Networks (Social and Otherwise) are possibly one of the most&#10;important technologies invented in the last century. But how do they work? I mean really work under the hood?&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>Assembly Languagess</title><link>https://thevikidtruth.com/computing/assemblylanguage/</link><pubDate>Wed, 30 Nov 2016 01:43:52 +0400</pubDate><guid>https://thevikidtruth.com/computing/assemblylanguage/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&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; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&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; | &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; |&#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="assembly-languagess"&gt;Assembly Languagess&lt;/h1&gt;&#10;&lt;h2 id="links-sources-and-reading-list"&gt;Links, Sources and Reading List&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://www.hep.wisc.edu/~pinghc/x86AssmTutorial.htm" rel="noopener"&gt;x86Asm Tutorial form wisc.edu&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.cs.virginia.edu/~evans/cs216/guides/x86.html" rel="noopener"&gt;x86 Guide from Virginia.edu&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://ftp.icm.edu.pl/packages/linux-uk/alpha/alpha/asm7.html" rel="noopener"&gt;Asm7&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://data.ceh.vn/Ebook/ebooks.shahed.biz/OS/LINUX/Springer-Verlag%20-%20Guide%20to%20Assembly%20Language%20Programming%20in%20Linux.pdf" rel="noopener"&gt; springer books pdf on Linux ASM&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://sovannarith.files.wordpress.com/2012/07/springer-guide-to-assembly-language-a-concise-introduction-2011.pdf" rel="noopener"&gt; spring books pdf on A Concise Guide to ASM&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.lxhp.in-berlin.de/lhplinks.html#lki" rel="noopener"&gt;Links to Linux &amp;amp; i586+ Assembly Programming &amp;amp; Doc&amp;rsquo;s&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.linuxlinks.com/excellent-free-tutorials-learn-assembly/" rel="noopener"&gt;Excellent Free Tutorials to Learn Assembly - LinuxLinks&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/META_II" rel="noopener"&gt;https://en.wikipedia.org/wiki/META_II&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="some-notes"&gt;Some Notes:&lt;/h2&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;ebp is known as the base pointer or the frame pointer.&#10;&#10; 1. On entry to your function, you push it (to save the value for the calling function).&#10;&#10; 2. Then, you copy esp, the stack pointer, into ebp, so that ebp now points to your function&amp;#39;s stack frame.&#10;&#10; 3. At the end of your function, you then pop ebp so that the calling function&amp;#39;s value is restored.&#10;&#10;For some clarification on exactly what is going on -&#10;the push instruction:&#10;&#10; 1. puts the value from the specified register (ebp in this case), onto the stack, and&#10; 2. decrements the stack pointer by the appropriate amount.&#10;&#10;The pop operation is the opposite -&#10;&#10; 1. it increments the stack pointer and takes a value from the stack and&#10; 2. puts it in the specified register.&#10;&lt;/code&gt;&lt;/pre&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><item><title>Data Structures and Alogrithms</title><link>https://thevikidtruth.com/computing/datastructuresandalgorithms/</link><pubDate>Tue, 29 Nov 2016 00:16:23 +0400</pubDate><guid>https://thevikidtruth.com/computing/datastructuresandalgorithms/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Important Caveat Emptor!&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="data-structures-and-alogrithms"&gt;Data Structures and Alogrithms&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about data structures and algorithms: &lt;strong&gt;a data structure is a bet about which questions you&amp;rsquo;ll ask most, and an algorithm is how you answer them.&lt;/strong&gt; Pick the wrong bet and even brilliant code crawls.&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;This page sits beside &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; as a more structure-focused map. The classic cast:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Structure&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Good at&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Weak at&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Array / slice&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Index access &lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;O(1)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:1em;vertical-align:-0.25em;"&gt;&lt;/span&gt;&lt;span class="mord mathnormal" style="margin-right:0.0278em;"&gt;O&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Insert at front&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Dynamic array (Vec, list)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Amortised append&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Mid inserts&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Linked list&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Splice if you have a pointer&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Random access&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Stack / queue&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;LIFO / FIFO patterns&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Search&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Hash table&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Lookup/insert average &lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;O(1)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:1em;vertical-align:-0.25em;"&gt;&lt;/span&gt;&lt;span class="mord mathnormal" style="margin-right:0.0278em;"&gt;O&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Range queries, ordering&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;BST / tree map&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Ordered ops &lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;log&lt;/mi&gt;&lt;mo&gt;⁡&lt;/mo&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;O(\log n)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:1em;vertical-align:-0.25em;"&gt;&lt;/span&gt;&lt;span class="mord mathnormal" style="margin-right:0.0278em;"&gt;O&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mop"&gt;lo&lt;span style="margin-right:0.0139em;"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace" style="margin-right:0.1667em;"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;n&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Cache locality vs hash&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Heap&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Min/max repeatedly&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Arbitrary delete&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Graph (adj list)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Sparse relations&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Dense matrix ops&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Trie&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Prefix search&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Memory use&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="why-it-matters"&gt;Why it matters&lt;/h3&gt;&#10;&lt;p&gt;Databases, compilers, games, routers and ML frameworks are data-structure museums. When a feature is slow, the fix is often &amp;ldquo;wrong structure&amp;rdquo; rather than &amp;ldquo;buy a bigger CPU&amp;rdquo;. See also big-O notes on the &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; page.&lt;/p&gt;</description></item><item><title>Computer Science and Theory</title><link>https://thevikidtruth.com/computing/computerscience/</link><pubDate>Tue, 29 Nov 2016 00:14:23 +0400</pubDate><guid>https://thevikidtruth.com/computing/computerscience/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Important Caveat Emptor!&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="computer-science-and-theory"&gt;Computer Science and Theory&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about computer science: &lt;strong&gt;it is not the study of computers any more than astronomy is the study of telescopes.&lt;/strong&gt; It is the study of &lt;em&gt;processes&lt;/em&gt; – what can be computed, how fast, how reliably, and how we express those processes so others (and machines) can carry them out.&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;Computer science (CS)&lt;/strong&gt; is the body of ideas that underpins programming, systems and computation itself. A useful map of the territory:&lt;/p&gt;</description></item><item><title>Firewalls</title><link>https://thevikidtruth.com/computing/firewalls/</link><pubDate>Mon, 28 Nov 2016 10:07:35 +0400</pubDate><guid>https://thevikidtruth.com/computing/firewalls/</guid><description>&lt;p&gt;&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/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="firewalls"&gt;Firewalls&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about firewalls: &lt;strong&gt;they are not a magic shield – they are deliberate rules about who may speak to whom.&lt;/strong&gt; A misconfigured firewall is either a locked door with the window open, or a doorstop.&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;firewall&lt;/strong&gt; filters network traffic according to rules. It can run:&lt;/p&gt;</description></item><item><title>Cool Hardware</title><link>https://thevikidtruth.com/computing/coolhardware/</link><pubDate>Mon, 28 Nov 2016 07:03:09 +0400</pubDate><guid>https://thevikidtruth.com/computing/coolhardware/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/linuxsecurity/"&gt;Linux Security&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Industrial Control Systems Security&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/penetrationtesting/"&gt;Penetration Testing&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;&lt;/p&gt;&#10;&lt;h1 id="cool-hardware"&gt;Cool Hardware&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about cool hardware: &lt;strong&gt;the best gadgets are the ones that make you understand computing better, not the ones that merely look clever on a desk.&lt;/strong&gt; A blinking LED you wired yourself beats a sealed plastic brick you can&amp;rsquo;t open.&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;This page is a living shelf of hardware worth knowing if you like to tinker: small computers, microcontrollers, unusual keyboards, radios, and tools that sit at the boundary between software and electrons. It is not a buying guide for the latest phone. It is a list of things that teach.&lt;/p&gt;</description></item><item><title>Metasploit &amp; Armitage</title><link>https://thevikidtruth.com/computing/metasploit/</link><pubDate>Mon, 28 Nov 2016 05:59:34 +0400</pubDate><guid>https://thevikidtruth.com/computing/metasploit/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/linuxsecurity/"&gt;Linux Security&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Industrial Control Systems Security&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/penetrationtesting/"&gt;Penetration Testing&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;&lt;/p&gt;&#10;&lt;h1 id="metasploit--armitage"&gt;Metasploit &amp;amp; Armitage&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Metasploit: &lt;strong&gt;it is a library of known doors and the tools to push them – useful in a lab and a liability anywhere you lack permission.&lt;/strong&gt; The Framework is not magic; it packages other people&amp;rsquo;s vulnerability research into a consistent interface.&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;The &lt;strong&gt;Metasploit Framework&lt;/strong&gt; (open source, Rapid7) is a platform for developing, organising and running exploits. Core ideas:&lt;/p&gt;</description></item><item><title>Ettercap</title><link>https://thevikidtruth.com/computing/ettercap/</link><pubDate>Mon, 28 Nov 2016 02:47:13 +0400</pubDate><guid>https://thevikidtruth.com/computing/ettercap/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/linuxsecurity/"&gt;Linux Security&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Industrial Control Systems Security&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/penetrationtesting/"&gt;Penetration Testing&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; | &lt;span class="missing-link"&gt;dns-poisoning&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="ettercap"&gt;Ettercap&lt;/h1&gt;&#10;&lt;p&gt;Here is an uncomfortable truth about local networks: &lt;strong&gt;most of them still trust whoever is plugged in.&lt;/strong&gt; Ettercap is the classic tool that demonstrates what a machine sitting on the same LAN can do to that trust – mostly by quietly inserting itself into other people&amp;rsquo;s conversations.&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;Ettercap&lt;/strong&gt; is a free and open-source suite for &lt;strong&gt;man-in-the-middle (MITM)&lt;/strong&gt; attacks on a local network. It can:&lt;/p&gt;</description></item><item><title>Python Language Notes</title><link>https://thevikidtruth.com/computing/python/</link><pubDate>Sun, 27 Nov 2016 21:45:02 +0400</pubDate><guid>https://thevikidtruth.com/computing/python/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Python Libraries, tools and Links&lt;/span&gt; | &lt;a href="https://docs.python.org/3/" rel="noopener"&gt;Official Python Docs&lt;/a&gt;&#10;| &lt;a href="https://thevikidtruth.com/computing/intropygame/"&gt;Intro to Pygame&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pythonspacy/"&gt;spaCy&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="python-language-notes"&gt;Python Language Notes&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Lexical Analysis&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://thevikidtruth.com/computing/pykeywords/"&gt;Keywords&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;name ::= lc_letter (lc_letter | &amp;#34;_&amp;#34;)*&#10;lc_letter ::= &amp;#34;a&amp;#34;...&amp;#34;z&amp;#34;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;1. **Operators and Builtin Functions**&#10;1. 1. **All Types**&#10; 1. ```&#10; type(obj) --&amp;gt; type object&#10; ```&#10; 1. ```&#10; isinstance(obj, typ) --&amp;gt; bool&#10; ```&#10; 1. ```&#10; repr(obj) #evaluatable representation&#10; ```&#10; 1. ```&#10; str(obj) #printable representation&#10; ```&#10; 1. ```&#10; is, is not # are two objects the same&#10; ```&#10;1. - **All Numeric Types**&#10; - - ` abs(-1) # 1`&#10; - ` chr(65) #&amp;#39;A&amp;#39; `&#10; - ` ord(&amp;#39;A&amp;#39;)#65 `&#10; - ` complex(1) #(1+0j) `&#10; - ` divmod(25,7) #(3,4) `&#10; - ` pow(2,8) #256 `&#10; - ` round(2.75,1) #2.8, rounds up `&#10;1. **Objects**&#10;1. ```&#10;int, float, bool, dict, set, tuple, str, bytes&#10; None&#10;&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Classification&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Primative, Numeric, Sequence, Container: Can contain other types, Collection&lt;/li&gt;&#10;&lt;li&gt;Common use cases&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Dictionaries for lookups&#10;&lt;ul&gt;&#10;&lt;li&gt;Tuples for data that is invariant at runtime&lt;/li&gt;&#10;&lt;li&gt;Lists for dynamic runtime data&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Primative Types&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;bool&lt;/strong&gt; -&amp;gt; &lt;code&gt;True, False&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;bool(float(&amp;quot;NaN&amp;quot;)) --&amp;gt; True&lt;/code&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;bool(0.0) --&amp;gt; False&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;bool(0) --&amp;gt; False&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;bool([]) --&amp;gt; False&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;int&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;2**31 - 1&lt;/code&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;binary: &lt;code&gt;0b10&lt;/code&gt;, &lt;code&gt;bin(20) #'0b10100'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;octal: &lt;code&gt;0o77&lt;/code&gt;, &lt;code&gt;oct(20) #'0o24&amp;quot;&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;hex: &lt;code&gt;0xFF&lt;/code&gt;, &lt;code&gt;hex(20) #'0x14'&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt; int(3.5); int(&amp;quot;3.5&amp;quot;); int(&amp;quot;1111&amp;quot;, 1) --&amp;gt; 15&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt; abs(-1)&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt; 1//3 #0, integer division&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;float&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;1.41&lt;/code&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;3e-5&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;float(3), float(&amp;quot;3.14&amp;quot;)&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt; float(&amp;quot;nan&amp;quot;), float(&amp;quot;inf&amp;quot;), float(&amp;quot;-inf&amp;quot;)&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;: {round(1.234, 2)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Complex&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;complex(2,3) #(2+3j)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;1. **Sequence** (Builtin Functions)&#10;1. `len(obj)`&#10;1. - **character** (char): `ord(char)` --&amp;gt; int&#10; - **strings**&#10; - ```&#10; help(str)&#10; &amp;gt;&amp;gt;&amp;gt; m = &amp;#34;&amp;#34;&amp;#34;This is&#10; ... a multiline&#10; ... string&amp;#34;&amp;#34;&amp;#34;&#10; &amp;#39;This is\na multiline\nstring&amp;#39;&#10; print(m)&#10; str(666)&#10; &amp;#34;Vi er så glad for å høre og lære om Python!&amp;#34; # &amp;#39;Vi er så glad for å høre og lære om Python!&amp;#39;&#10; &amp;#34;Vi er s\u00e5 glad for \u00e5 h\xf8re og l\u00e6re om Python!&amp;#34; &amp;#39; #Vi er så glad for å høre og lære om Python!&amp;#39;&#10; ```&#10; - ```&#10; &amp;#39;\\xe5&amp;#39;&#10; &amp;#39;å&amp;#39; &#10; ```&#10; - ```&#10; &amp;#39;\\345&amp;#39; &amp;#39;å&amp;#39;&#10; ```&#10; - ```&#10; str.title(), str.upper(), str.lower, str.lstrip(), .rstrip, .strip&#10; var = &amp;#39;in&amp;#39;&#10; print(f&amp;#34;I am {var} trouble!&amp;#34;)&#10; ```&#10; - **f**&#10; - raw strings `r&amp;#39;this is t raw&amp;#39;`&#10; - - implicit concatantion `&amp;#34;hello&amp;#34; &amp;#34;world&amp;#34;`&#10; - bytes `b&amp;#39;this is a byte string&amp;#39;`&#10; - ```&#10; b&amp;#39;this is a byte string&amp;#39;.split()&#10; [b&amp;#39;this&amp;#39;, b&amp;#39;is&amp;#39;, b&amp;#39;a&amp;#39;, b&amp;#39;byte&amp;#39;, b&amp;#39;string&amp;#39;]&#10; &amp;#34;Vi er så glad for &amp;#34;.encode(&amp;#39;utf-8&amp;#39;)&#10; b&amp;#39;Vi er sa\\xcc\\x8a glad for &amp;#39;.decode(&amp;#39;utf-8&amp;#39;)&#10; ```&#10; - **bytearray**&#10; - **tuple**&#10; - ```&#10; (1,2)&#10; (False, 1, &amp;#39;c&amp;#39;)&#10; (2,) + (9,) =&amp;gt; (2,9)&#10; ```&#10; - **Lists**&#10; - ```&#10; [1,2,3]&#10; [True, False, &amp;#39;7&amp;#39;]&#10; ```&#10; - ```&#10; append(x), count(x), extend(L), index(x), insert(x), insert(i,x), pop(x), remove(x), reverse(), sort()&#10; ```&#10; - ```&#10; alist = [0, 1, 2, 3]&#10; del alist[2] #[0, 1, 3]&#10; ```&#10; - **slice**&#10; - ```&#10; mylist[:]&#10; ```&#10; - - **Sorting Lists**&#10; - ```&#10; sorted() #generate a copy&#10; sort&#10; sorted(x, reverse=True)&#10; reverse()&#10; ```&#10; - **Numerical Lists**&#10; - ` range() `&#10; - ```&#10; list(range(5))&#10; list(range(5,11))&#10; nums = []&#10; for exp in range(5):&#10; nums.append(2**exp)&#10; ```&#10; - **List Comprehensions**&#10; - ```&#10; [2**exp for exp in range(5)]&#10; ```&#10; - ` [i**3 for i in range(10) if True] `&#10; - ```&#10; f = open(&amp;#34;test.txt&amp;#34;, &amp;#39;r&amp;#39;)&#10; data = [line.strip for line in f]&#10; f.close()&#10; # now process data&#10; ```&#10; - **Generator Expressions**&#10; - *list comprensions*&#10; - ```&#10; f = open(&amp;#34;test.txt&amp;#34;, &amp;#39;r&amp;#39;)&#10; data = (line.strip for line in f)&#10; #now process data before closing the file!&#10; f.close()&#10; ```&#10; - **dictionary**&#10; - ` {key:value}`&#10; - ` &amp;#39;key&amp;#39; in dict `&#10; - ```&#10; states = {&#10; &#9;&amp;#39;ca&amp;#39;: &amp;#39;California&amp;#39;,&#10; &#9;&amp;#39;il&amp;#39;: &amp;#39;Illinois&amp;#39;,&#10; &#9;&amp;#39;fl&amp;#39;: &amp;#39;florida&amp;#39;,&#10; &#9;}&#10; states[&amp;#39;ca&amp;#39;]&#10; states.get(&amp;#39;xx&amp;#39;, &amp;#39;default value&amp;#39;) # equivalant to: states[&amp;#39;xx&amp;#39;] if &amp;#39;xx&amp;#39; in states else &amp;#39;default value&amp;#39;&#10; states.setdefault(&amp;#39;xx&amp;#39;, &amp;#39;default value&amp;#39;) #in not there set and return the key.&#10; states[&amp;#39;ny&amp;#39;] = &amp;#39;New York&amp;#39;&#10; del states[&amp;#39;il&amp;#39;]&#10; states.values() #dict_values([...]), &amp;lt;class &amp;#39;dict_values&amp;#39;&amp;gt;&#10; states.items()&#10; states.keys()&#10; ```&#10; - ```&#10; has_key(), keys(), values(), dict.items(), clear(), copy(), update(x), get(x,[y])&#10; ```&#10; - **Set**&#10; - ` {1,2,3}`&#10; - ```&#10; s = set()&#10; s.add(1)&#10; s.add(&amp;#39;foo&amp;#39;)&#10; t = set()&#10; s | t #union of t &amp;amp; s&#10; ```&#10; - *Set Comprehensions*&#10; - ```&#10; odd = \{i for i in range(10) if i % 2\}&#10; ```&#10; - **Frozenset**&#10; - **Complex**&#10;1. **Modules and Packages**&#10;1. - **Modules**&#10; - ```&#10; import module&#10; import module as mod&#10; from module import specific_function&#10; ```&#10; - **Packages**&#10; - *maps*&#10; - ```&#10; maps/&#10; __init__.py&#10; cities.py&#10; navigation.py&#10; gpsdata.py&#10; ```&#10; - **__init__.py**&#10; - ```&#10; import maps &#10; ```&#10; - ```&#10; maps.navigation.turn_right() &#10; ```&#10;1. **Standard Library / Types**&#10;1. - **math**&#10; - ```&#10; import math&#10; math.sqrt(16)&#10; PI = math.pi&#10; math.sin(PI)&#10; math.log(1000, 10)&#10; ```&#10; - **Fraction**&#10; - **Decimal**&#10; - **Date**&#10; - **Array**&#10; - **range**&#10; - ```&#10; range(5)&#10; ```&#10;1. **Converstion Functions**&#10;1. - `int, float, bool, str, tuple, list, dict, set`&#10; - `chr(int)` --&amp;gt; char&#10;1. **Operators**&#10;1. - ` + 1 * ** / // % `&#10; - ` ~ &amp;gt;&amp;gt; &amp;lt;&amp;lt; &amp;amp; ^ | `&#10; - ` &amp;lt; &amp;gt; &amp;lt;= &amp;gt;= &amp;lt;&amp;gt; != == `&#10; - ` and, or, not `&#10; - ```&#10; &amp;lt;string | list&amp;gt; + &amp;lt;string | list&amp;gt;&#10; &amp;#39;five&amp;#39; + &amp;#39;four&amp;#39;&#10; &amp;lt;int&amp;gt; * &amp;lt;string | list&amp;gt;&#10; &amp;lt;obj&amp;gt; in &amp;lt;seq&amp;gt;&#10; ```&#10; - **Function application**&#10; - ` function(args...)`&#10; - **Indexing**&#10; - ` seq[index | range] `&#10; - **Lookup (dictionaries)**&#10; - ` d[key] `&#10;1. **Expressions**&#10;1. ```&#10; Operator Precedence&#10;| no. | operators | description |&#10;| 1 | f(...) | function application |&#10;| 2 | o[l] | index lookups |&#10;| 3 | o.f(...) | method call |&#10;| 4 | ** | exponentiation |&#10;| 5 | -N | sign change |&#10;| 6 | *,/,//,% | numeric |&#10;| 7 | +,- | numeric |&#10;| 8 | &amp;lt;, &amp;lt;=, ... | comparisons |&#10;| 9 | in, not in | membership |&#10;| 10 | not o | logical |&#10;| 11 | and 0 | logical |&#10;| 12 | or | logical |&#10;&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Rules for Well-formedness&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;R1&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; Every Value is well formed&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;R2 (E)&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; if E is well formed then (E) is well formed&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;R3 &lt;code&gt;&amp;lt;uop&amp;gt; E&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;lt;uop&amp;gt; is a unary operation&#10; if E, then &amp;lt;uop&amp;gt; E is well formed&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;R4 &lt;code&gt;E1 &amp;lt;bop&amp;gt; E2&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;lt;bop&amp;gt; is a binary operation&#10; if E1, E2, then E1 &amp;lt;bop&amp;gt; E2&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;R5 E1[E2]&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; if E1, E2, the E1[E2]&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;R6 F(A, &amp;hellip;)&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; if F is a function with A, A1, A2, ... expressions&#10; then F(), F(A), F(A, A1), F(A, A1, A2), ...&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;R7 if O.f(E)&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; if O, f, E, E1, ...&#10; then O.f(), O.f(E), O.f(E, E1), ...&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Printing&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;print(&amp;#34;hello&amp;#34;, &amp;#39;how&amp;#39;)&#10;print(&amp;#34;hello&amp;#34;, end=&amp;#39;&amp;#39;)&#10;from pprint import *&#10;pprint(expressions)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;1. **Functions**&#10;1. *anonymous*&#10;1. - **lambda**&#10; - ```&#10; lambda x: x&#10; ```&#10; - **def**&#10; - ```&#10; def f(x,y):&#10; return x + y&#10; ```&#10; - ```&#10; def h():&#10; &amp;#34;hello&amp;#34;&#10; #This function returns None&#10; h() #None&#10; ```&#10; - **keyword**&#10; - ```&#10; def f(x=0, y=0):&#10; print(&amp;#34;x = &amp;#34;, x, &amp;#34;y = &amp;#34;, y)&#10; return (x, y)&#10; f(x=1, 2)&#10; f()&#10; f(1)&#10; ```&#10; - **Destructuring with Tuples**&#10; - *positional*&#10; - ```&#10; def ff(*a):&#10; print(&amp;#34;first = &amp;#34;, a[0], &amp;#34;Second = &amp;#34;, a[1])&#10; return (len(a), a)&#10; ```&#10; - **Destructuring with Dictionaries**&#10; - ```&#10; def fff(**a):&#10; print(a[&amp;#34;first&amp;#34;])&#10; return a&#10; ```&#10; - **destructuring with both**&#10; - ```&#10; def g(*a,**b):&#10; return (a,b)&#10; ```&#10;1. **Methods**&#10;1. ```&#10; x+1&#10; [is actually]&#10; x.__add__(1)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Magic Methods&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;__add__(self, y) # x + y&#10;__sub__(self, y) # x - y&#10;__mul__(self, y) # x * y&#10;__mod__(self, y) # x % y&#10;__neg__(self) # -x&#10;__eq__(self, y) # x == y&#10;__ge__(self, y) # x &amp;gt;= y&#10;__gt__(self, y) # x &amp;gt; y&#10;__lt__(self, y) # x &amp;lt; y&#10;__le__(self, y) # x &amp;lt;= y&#10;__ne__(self, y) # x != y&#10;__contains__(self,y) # y in x&#10;__getitem__(self, y) # x[y]&#10;__setitem__(self, i, y) # x[i] = y&#10;__hash__(self) # hash(x)&#10;__int__(self) # int(x)&#10;__iter__(self) # for y in x&#10;__len__(self) # len(x)&#10;__repr__(self) # repr(x)&#10;__str__(self) # str(x)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Some Builtins&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;abs, min, max&#10;type&#10;len&#10;dir&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;gives internal dictionary of names&lt;/p&gt;</description></item><item><title>Penetration Testing</title><link>https://thevikidtruth.com/computing/penetrationtesting/</link><pubDate>Sun, 27 Nov 2016 11:05:30 +0400</pubDate><guid>https://thevikidtruth.com/computing/penetrationtesting/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/linuxsecurity/"&gt;Linux Security&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Industrial Control Systems Security&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/penetrationtesting/"&gt;Penetration Testing&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;&lt;/p&gt;&#10;&lt;h1 id="penetration-testing"&gt;Penetration Testing&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about penetration testing: &lt;strong&gt;it is authorised breaking, done carefully, so the real breakers have a harder time.&lt;/strong&gt; Without a clear scope and written permission it is just hacking; with them it is engineering.&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;penetration test&lt;/strong&gt; (pentest) is a structured engagement where an operator attempts to find and exploit vulnerabilities in a system, within agreed rules, and then reports what they found and how to fix it. It answers a sharper question than a vulnerability scan: not &amp;ldquo;what &lt;em&gt;might&lt;/em&gt; be wrong?&amp;rdquo; but &amp;ldquo;what can an attacker &lt;em&gt;actually do&lt;/em&gt;?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Linux Security</title><link>https://thevikidtruth.com/computing/linuxsecurity/</link><pubDate>Sun, 27 Nov 2016 11:05:12 +0400</pubDate><guid>https://thevikidtruth.com/computing/linuxsecurity/</guid><description>&lt;h1 id="linux-security"&gt;Linux Security&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about Linux security: &lt;strong&gt;there is no antivirus product that will save a misconfigured server, and no amount of hardening will save a system you never update.&lt;/strong&gt; Security is a set of habits – least privilege, small attack surface, quick patches, deep defence – not a package you install.&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;Linux security&lt;/strong&gt; covers everything that keeps a Linux system doing only what you intend: authentication, permissions, updates, network exposure, service hygiene, kernel hardening, logging and response. The same kernel runs phones, TVs, supercomputers and the web; the &lt;em&gt;threats&lt;/em&gt; differ, but the principles don&amp;rsquo;t.&lt;/p&gt;</description></item><item><title>Computer Security</title><link>https://thevikidtruth.com/computing/computersecurity/</link><pubDate>Sun, 27 Nov 2016 11:01:30 +0400</pubDate><guid>https://thevikidtruth.com/computing/computersecurity/</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; |&#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;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;span class="missing-link"&gt;ICSsecurity&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;span class="missing-link"&gt;Security Programs&lt;/span&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; | &lt;span class="missing-link"&gt;wifi-penetration&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Forensics&lt;/span&gt; | &lt;span class="missing-link"&gt;SecureNetworkArchitecture&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="computer-security"&gt;Computer Security&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about computer security: &lt;strong&gt;it is not a product you buy or a department you hire – it is the practice of making systems fail safely when people, software and physics all misbehave.&lt;/strong&gt; Everything else is technique.&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;Computer security&lt;/strong&gt; is the set of ideas and practices that protect the &lt;strong&gt;confidentiality&lt;/strong&gt;, &lt;strong&gt;integrity&lt;/strong&gt; and &lt;strong&gt;availability&lt;/strong&gt; of information and systems (the classic CIA triad). Around those three sit authentication (&amp;ldquo;who are you?&amp;rdquo;), authorisation (&amp;ldquo;what are you allowed to do?&amp;rdquo;), accountability (logging and audit), and non-repudiation.&lt;/p&gt;</description></item><item><title>Picolisp ASM</title><link>https://thevikidtruth.com/computing/pilasm/</link><pubDate>Sat, 26 Nov 2016 11:39:51 +0400</pubDate><guid>https://thevikidtruth.com/computing/pilasm/</guid><description>&lt;h1 id="picolisp-asm"&gt;Picolisp ASM&lt;/h1&gt;&#10;&lt;p&gt;&lt;span class="missing-link"&gt;Quicklinks&lt;/span&gt; | &lt;span class="missing-link"&gt;Readinglist&lt;/span&gt; | &lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; |&#10;&lt;a href="http://software-lab.de/doc/ref.html#vm" rel="noopener"&gt;The Picolisp Reference&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilasm/"&gt;ASM&lt;/a&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; CPU Registers:&#10;&#10; +---+---+---+---+---+---+---+---+&#10; | A | B | \\ [A]ccumulator&#10; +---+---+---+---+---+---+---+---+ D [B]yte register&#10; | C | / [C]ount register&#10; +---+---+---+---+---+---+---+---+ [D]ouble register&#10; | E | [E]xpression register&#10; +---+---+---+---+---+---+---+---+&#10;&#10; +---+---+---+---+---+---+---+---+&#10; | X | [X] Index register&#10; +---+---+---+---+---+---+---+---+ [Y] Index register&#10; | Y | [Z] Index register&#10; +---+---+---+---+---+---+---+---+&#10; | Z |&#10; +---+---+---+---+---+---+---+---+&#10;&#10; +---+---+---+---+---+---+---+---+&#10; | L | [L]ink register&#10; +---+---+---+---+---+---+---+---+ [S]tack pointer&#10; | S |&#10; +---+---+---+---+---+---+---+---+&#10;&#10; +-------------------------------+&#10; | [z]ero [s]ign [x,b,c]arry | [F]lags&#10; +-------------------------------+&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt; Source Addressing Modes:&#10; ld A 1234 # Immediate&#10; ld A &amp;#34;(a+b-c)&amp;#34;&#10; ld A R # Register&#10; ld A Global # Direct&#10; ld A (R) # Indexed&#10; ld A (R 8) # Indexed with offset&#10; ld A (R OFFS)&#10; ld A (R Global)&#10; ld A (Global) # Indirect&#10; ld A (Global OFFS) # Indirect with offset&#10; ld A ((R)) # Indexed indirect&#10; ld A ((R 8)) # Indexed with offset indirect&#10; ld A ((R 8) OFFS)&#10; ld A ((R Global) OFFS)&#10; ld A ((R OFFS) Global)&#10; ...&#10;&#10; Destination Addressing Modes:&#10; ld R A # Register&#10; ld (R) A # Indexed&#10; ld (R 8) A # Indexed with offset&#10; ld (R OFFS) A&#10; ld (R Global) A&#10; ld (Global) A # Indirect&#10; ld (Global OFFS) A # Indirect with offset&#10; ld ((R)) A # Indexed indirect&#10; ld ((R 8)) A # Indexed with offset indirect&#10; ld ((R 8) OFFS) A&#10; ld ((R Global) OFFS) A&#10; ld ((R OFFS) Global) A&#10; ...&#10;&#10; Target Addressing Modes:&#10; jmp 1234 # Absolute&#10; jmp Label&#10; jmp (R) # Indexed&#10; jmp (R T) # Indexed SUBR&#10; jmp (Global) # Indirect&#10;&#10;========================================================================&#10;&#10; Instruction set:&#10; nop # No operation&#10;&#10; Move Instructions:&#10; ld dst src # Load &amp;#39;dst&amp;#39; from &amp;#39;src&amp;#39; [---]&#10; ld2 src # Load &amp;#39;A&amp;#39; from two bytes &amp;#39;src&amp;#39; (unsigned) [---]&#10; ld4 src # Load &amp;#39;A&amp;#39; from four bytes &amp;#39;src&amp;#39; (unsigned) [---]&#10; ldz dst src # Load if Zero &amp;#39;dst&amp;#39; from &amp;#39;src&amp;#39; [---]&#10; ldnz dst src # Load if not Zero &amp;#39;dst&amp;#39; from &amp;#39;src&amp;#39; [---]&#10; lea dst src # Load &amp;#39;dst&amp;#39; with effective address of &amp;#39;src&amp;#39; [---]&#10; st2 dst # Store two bytes from &amp;#39;A&amp;#39; into &amp;#39;dst&amp;#39; [---]&#10; st4 dst # Store four bytes from &amp;#39;A&amp;#39; into &amp;#39;dst&amp;#39; [---]&#10; xchg dst dst # Exchange &amp;#39;dst&amp;#39;s [---]&#10; movn dst src cnt # Move &amp;#39;cnt&amp;#39; bytes from &amp;#39;src&amp;#39; to &amp;#39;dst&amp;#39; (non-overlapping or src &amp;lt; dst)&#10; mset dst cnt # Set &amp;#39;cnt&amp;#39; bytes of memory to B&#10; save src end dst # Save &amp;#39;src&amp;#39;..&amp;#39;end&amp;#39; to &amp;#39;dst&amp;#39; (aligned, non-overlapping or src &amp;lt; dst)&#10; load dst end src # Load &amp;#39;dst&amp;#39;..&amp;#39;end&amp;#39; from &amp;#39;src&amp;#39; (aligned, non-overlapping)&#10;&#10; Arithmetics:&#10; add dst src # Add &amp;#39;src&amp;#39; to &amp;#39;dst&amp;#39; [zsc]&#10; addc dst src # Add &amp;#39;src&amp;#39; to &amp;#39;dst&amp;#39; with Carry [zsc]&#10; sub dst src # Subtract &amp;#39;src&amp;#39; from &amp;#39;dst&amp;#39; [zsb]&#10; subb dst src # Subtract &amp;#39;src&amp;#39; from &amp;#39;dst&amp;#39; with Borrow [zsb]&#10;&#10; inc dst # Increment &amp;#39;dst&amp;#39; [zs.]&#10; dec dst # Decrement &amp;#39;dst&amp;#39; [zs.]&#10; not dst # One&amp;#39;s complement negation of &amp;#39;dst&amp;#39; [z..]&#10; neg dst # Two&amp;#39;s complement negation of &amp;#39;dst&amp;#39; [zs.]&#10;&#10; and dst src # Bitwise AND &amp;#39;dst&amp;#39; with &amp;#39;src&amp;#39; [zs.]&#10; or dst src # Bitwise OR &amp;#39;dst&amp;#39; with &amp;#39;src&amp;#39; [zs.]&#10; xor dst src # Bitwise XOR &amp;#39;dst&amp;#39; with &amp;#39;src&amp;#39; [zs.]&#10; off dst src # Clear &amp;#39;src&amp;#39; bits in &amp;#39;dst&amp;#39; [zs.]&#10; test dst src # Bit-test &amp;#39;dst&amp;#39; with &amp;#39;src&amp;#39; [zs.]&#10;&#10; shl dst src # Shift &amp;#39;dst&amp;#39; left into x-bit by &amp;#39;src&amp;#39; bits [zsx]&#10; shr dst src # Shift &amp;#39;dst&amp;#39; right into x-bit by &amp;#39;src&amp;#39; bits [zsx]&#10; rol dst src # Rotate &amp;#39;dst&amp;#39; left by &amp;#39;src&amp;#39; bits [...]&#10; ror dst src # Rotate &amp;#39;dst&amp;#39; right by &amp;#39;src&amp;#39; bits [...]&#10; rxl dst src # Rotate &amp;#39;dst&amp;#39; with x-bit left by &amp;#39;src&amp;#39; bits [zsx]&#10; rxr dst src # Rotate &amp;#39;dst&amp;#39; with x-bit right by &amp;#39;src&amp;#39; bits [zsx]&#10;&#10; mul src # Multiplication of &amp;#39;A&amp;#39; and &amp;#39;src&amp;#39; into &amp;#39;D&amp;#39; [...]&#10; div src # Division of &amp;#39;D&amp;#39; by &amp;#39;src&amp;#39; into &amp;#39;A&amp;#39;, &amp;#39;C&amp;#39; [...]&#10;&#10; zxt # Zero-extend &amp;#39;B&amp;#39; to &amp;#39;A&amp;#39; [...]&#10; eq # Set Zero and clear Borrow [z._]&#10; gt # Clear Zero and Borrow [_._]&#10; lt # Clear Zero and set Borrow [_.b]&#10; setx # Set x-bit [--x]&#10; clrx # Clear x-bit [--_]&#10;&#10; Comparisons:&#10; cmp dst src # Compare &amp;#39;dst&amp;#39; with &amp;#39;src&amp;#39; [zsc]&#10; cmpn dst src cnt # Compare &amp;#39;cnt&amp;#39; bytes &amp;#39;dst&amp;#39; with &amp;#39;src&amp;#39; [z..]&#10; slen dst src # Set &amp;#39;dst&amp;#39; to the string length of &amp;#39;src&amp;#39; [...]&#10; memb src cnt # Find B in &amp;#39;cnt&amp;#39; bytes of &amp;#39;src&amp;#39; memory [z..]&#10; null src # Compare &amp;#39;src&amp;#39; with 0 [zs_]&#10; nulp src # Check &amp;#39;src&amp;#39; for null-pointer [z..]&#10; nul4 # Compare four bytes in &amp;#39;A&amp;#39; with 0 [zs_]&#10;&#10; Byte addressing:&#10; set dst src # Set &amp;#39;dst&amp;#39; byte to &amp;#39;src&amp;#39; [---]&#10; nul src # Compare byte &amp;#39;src&amp;#39; with 0 [z..]&#10;&#10; Types:&#10; cnt src # Non-&amp;#39;z&amp;#39; if small number [z..]&#10; big src # Non-&amp;#39;z&amp;#39; if bignum [z..]&#10; num src # Non-&amp;#39;z&amp;#39; if number [z..]&#10; sym src # Non-&amp;#39;z&amp;#39; if symbol [z..]&#10; atom src # Non-&amp;#39;z&amp;#39; if atom [z..]&#10;&#10; Floating point:&#10; ldd # Load double value pointed to by &amp;#39;C&amp;#39;&#10; ldf # Load float value pointed to by &amp;#39;C&amp;#39;&#10; fixnum # Convert double with scale &amp;#39;E&amp;#39; to fixnum in &amp;#39;E&amp;#39;&#10; float # Convert fixnum with scale &amp;#39;A&amp;#39; pointed to by &amp;#39;X&amp;#39;&#10; std # Store double value at address &amp;#39;Z&amp;#39;&#10; stf # Store float value at address &amp;#39;Z&amp;#39;&#10;&#10; Flow control:&#10; jmp adr # Jump to &amp;#39;adr&amp;#39; [---]&#10; jz adr # Jump to &amp;#39;adr&amp;#39; if Zero [---]&#10; jnz adr # Jump to &amp;#39;adr&amp;#39; if not Zero [---]&#10; js adr # Jump to &amp;#39;adr&amp;#39; if Sign [---]&#10; jns adr # Jump to &amp;#39;adr&amp;#39; if not Sign [---]&#10; jc adr # Jump to &amp;#39;adr&amp;#39; if Carry set [---]&#10; jnc adr # Jump to &amp;#39;adr&amp;#39; if Carry not set [---]&#10; jb adr # Jump to &amp;#39;adr&amp;#39; if Borrow set [---]&#10; jnb adr # Jump to &amp;#39;adr&amp;#39; if Borrow not set [---]&#10; jx adr # Jump to &amp;#39;adr&amp;#39; if x-bit set [---]&#10; jnx adr # Jump to &amp;#39;adr&amp;#39; if x-bit not set [---]&#10;&#10; call adr # Call &amp;#39;adr&amp;#39;&#10; cc adr(src ..) # C-Call to &amp;#39;adr&amp;#39; with &amp;#39;src&amp;#39; arguments&#10; cc adr reg # C-Call to &amp;#39;adr&amp;#39; with top of stacked args in &amp;#39;reg&amp;#39;&#10;&#10; ret # Return [---]&#10; catch # Prepare non-local jump [---]&#10; throw # Resolve non-local jump [---]&#10; func # Convert &amp;#39;E&amp;#39; to function pointer&#10; begin # Called from foreign function&#10; return # Return to foreign function&#10;&#10; Stack Manipulations:&#10; push src # Push &amp;#39;src&amp;#39; [---]&#10; pop dst # Pop &amp;#39;dst&amp;#39; [---]&#10; tos dst # Get return entry [---]&#10; link # Setup frame [---]&#10; tuck src # Extend frame [---]&#10; drop # Drop frame [---]&#10;&#10; Evaluation:&#10; eval # Evaluate expression in &amp;#39;E&amp;#39;&#10; eval+ # Evaluate expression in partial stack frame&#10; eval/ret # Evaluate expression and return&#10; exec reg # Execute lists in &amp;#39;reg&amp;#39;, ignore results&#10; prog reg # Evaluate expressions in &amp;#39;reg&amp;#39;, return last result&#10;&#10; System:&#10; initData # Init runtime data&#10; initCode # Init runtime code&#10; initMain # Command in X, arguments in Y, last pointer in Z&#10; initLib # Library function pointer in A&#10; stop # Stop (system-dependent)&#10;&#10;========================================================================&#10;&#10; Naming conventions:&#10;&#10; Lisp level functions, which would be all of the form &amp;#39;doXyzE_E&amp;#39;, are written&#10; as &amp;#39;doXyz&amp;#39; for brevity.&#10;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Operating Systems</title><link>https://thevikidtruth.com/computing/os/</link><pubDate>Sat, 26 Nov 2016 06:00:04 +0400</pubDate><guid>https://thevikidtruth.com/computing/os/</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; |&#10;&lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&lt;/p&gt;&#10;&lt;h1 id="operating-systems"&gt;Operating Systems&lt;/h1&gt;&#10;&lt;p&gt;&lt;span class="missing-link"&gt;Modern Operating Systems&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;The Minix Book&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/virtualization/"&gt;Virtualization&lt;/a&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Processes&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Threads&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Interprocess Communication&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Scheduling&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Memory&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Virtual Memory&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Paging&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Segmentation&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;File Systems&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;I/O&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Clocks&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Deadlocks&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Encoding&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Compression&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Caching&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://thevikidtruth.com/computing/virtualization/"&gt;Virtualization&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Distributed Systems&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Security&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Cryptography&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Authentication&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Attacks&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Exploits&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;Malware&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;span class="missing-link"&gt;&lt;/span&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>The Picolisp Machine</title><link>https://thevikidtruth.com/computing/pilmachine/</link><pubDate>Fri, 25 Nov 2016 22:39:56 +0400</pubDate><guid>https://thevikidtruth.com/computing/pilmachine/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Quicklinks&lt;/span&gt; | &lt;span class="missing-link"&gt;Readinglist&lt;/span&gt; | &lt;span class="missing-link"&gt;Computing&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="http://software-lab.de/doc/ref.html#vm" rel="noopener"&gt;The Picolisp Reference&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilasm/"&gt;ASM&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/piltutorials/"&gt;Pil Tutorials&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="the-picolisp-machine"&gt;The Picolisp Machine&lt;/h1&gt;&#10;&lt;p&gt;One of the key features of the picolisp language is that high-level constructs&#10;of the language directly map to the underlying machinery,&#10;making the whole system both understandable and predictable.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Also please note that there are still a number of possible errors in this Document, it is under active development&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h4 id="data-types"&gt;Data Types&lt;/h4&gt;&#10;&lt;p&gt;These are the fundamental datatypes in Picolisp:&lt;/p&gt;</description></item><item><title>vim</title><link>https://thevikidtruth.com/computing/vim/</link><pubDate>Tue, 22 Nov 2016 22:30:18 +0400</pubDate><guid>https://thevikidtruth.com/computing/vim/</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; |&#10;&lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;computing&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="vim"&gt;vim&lt;/h1&gt;&#10;&lt;p&gt;vim is one of the tools that you will want to get familiar with in linux. Just like Emacs, vim has it&amp;rsquo;s adherents who&#10;evangelize endlessly about its virtues.&lt;/p&gt;&#10;&lt;p&gt;I happen to love both &lt;span class="missing-link"&gt;emacs&lt;/span&gt; &amp;amp; &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; finding that I happen to pop in and out of both continuously while working. You&#10;can do everything you want in either one of them, but like many things in life, having multi options you are fairly&#10;competent in, is very useful, fun and keeps life interesting.&lt;/p&gt;</description></item><item><title>Characters in C Programming</title><link>https://thevikidtruth.com/computing/cchars/</link><pubDate>Tue, 22 Nov 2016 22:10:31 +0400</pubDate><guid>https://thevikidtruth.com/computing/cchars/</guid><description>&lt;h1 id="characters-in-c-programming"&gt;Characters in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about characters in C: &lt;strong&gt;there are no characters – only small integers that we agree to &lt;em&gt;draw&lt;/em&gt; as letters.&lt;/strong&gt; &lt;code&gt;'A'&lt;/code&gt; is just the number 65 wearing a costume. Everything about text in C, from strings to Unicode, follows from that.&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;The &lt;code&gt;char&lt;/code&gt; type is C&amp;rsquo;s smallest addressable unit: exactly one &lt;strong&gt;byte&lt;/strong&gt; (&lt;code&gt;sizeof(char)&lt;/code&gt; is always 1, and on every mainstream system a byte is 8 bits). A &lt;strong&gt;character constant&lt;/strong&gt; in single quotes, like &lt;code&gt;'A'&lt;/code&gt;, is a number – the character&amp;rsquo;s code in the execution character set, which today is essentially always &lt;strong&gt;ASCII&lt;/strong&gt; for the first 128 values.&lt;/p&gt;</description></item><item><title>Floating-point numbers in C Programming</title><link>https://thevikidtruth.com/computing/cfloats/</link><pubDate>Tue, 22 Nov 2016 22:09:53 +0400</pubDate><guid>https://thevikidtruth.com/computing/cfloats/</guid><description>&lt;h1 id="floating-point-numbers-in-c-programming"&gt;Floating-point numbers in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth that trips up every programmer once: &lt;strong&gt;&lt;code&gt;0.1 + 0.2&lt;/code&gt; is not &lt;code&gt;0.3&lt;/code&gt; on your computer&lt;/strong&gt; – not in C, not in Python, not in JavaScript. Floating-point numbers are not real numbers; they are a clever, finite approximation of them, and knowing where the approximation leaks is the whole skill.&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;C has three floating-point types:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Type&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Usual format&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Significant decimal digits&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Range (approx.)&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;float&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IEEE 754 binary32&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~7&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mrow&gt;&lt;mo&gt;±&lt;/mo&gt;&lt;mn&gt;38&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt; 10^{\pm 38} &lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:0.8141em;"&gt;&lt;/span&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;0&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist" style="height:0.8141em;"&gt;&lt;span style="top:-3.063em;margin-right:0.05em;"&gt;&lt;span class="pstrut" style="height:2.7em;"&gt;&lt;/span&gt;&lt;span class="katex-sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mtight"&gt;±&lt;/span&gt;&lt;span class="mord mtight"&gt;38&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;double&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IEEE 754 binary64&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~15–16&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mrow&gt;&lt;mo&gt;±&lt;/mo&gt;&lt;mn&gt;308&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt; 10^{\pm 308} &lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:0.8141em;"&gt;&lt;/span&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;0&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist" style="height:0.8141em;"&gt;&lt;span style="top:-3.063em;margin-right:0.05em;"&gt;&lt;span class="pstrut" style="height:2.7em;"&gt;&lt;/span&gt;&lt;span class="katex-sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mtight"&gt;±&lt;/span&gt;&lt;span class="mord mtight"&gt;308&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;long double&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;80-bit x87 on x86 Linux, 128-bit on some ARM, same as &lt;code&gt;double&lt;/code&gt; on Windows/MSVC&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;18–33&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;varies&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;A floating-point number is stored like scientific notation in base 2: a &lt;strong&gt;sign&lt;/strong&gt;, an &lt;strong&gt;exponent&lt;/strong&gt;, and a &lt;strong&gt;significand&lt;/strong&gt; (mantissa).&lt;/p&gt;</description></item><item><title>Integers in C Programming</title><link>https://thevikidtruth.com/computing/cints/</link><pubDate>Tue, 22 Nov 2016 22:07:11 +0400</pubDate><guid>https://thevikidtruth.com/computing/cints/</guid><description>&lt;h1 id="integers-in-c-programming"&gt;Integers in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about integers in C: &lt;strong&gt;an &lt;code&gt;int&lt;/code&gt; is not a number in the mathematical sense – it&amp;rsquo;s a fixed number of bits, and the bits run out.&lt;/strong&gt; Almost every integer bug in C comes from forgetting that.&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;C has a family of integer types that differ in &lt;strong&gt;size&lt;/strong&gt; (how many bits) and &lt;strong&gt;signedness&lt;/strong&gt; (whether they can be negative):&lt;/p&gt;</description></item><item><title>Strings in C Programming</title><link>https://thevikidtruth.com/computing/cstrings/</link><pubDate>Tue, 22 Nov 2016 21:52:26 +0400</pubDate><guid>https://thevikidtruth.com/computing/cstrings/</guid><description>&lt;h1 id="strings-in-c-programming"&gt;Strings in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about strings in C: &lt;strong&gt;there is no string type – only arrays of &lt;code&gt;char&lt;/code&gt; that we agree end with a zero byte.&lt;/strong&gt; Every convenience and every CVE in C text handling follows from that convention.&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;C string&lt;/strong&gt; is a contiguous sequence of bytes ending in &lt;code&gt;'\0'&lt;/code&gt;. The type used to point at one is &lt;code&gt;char *&lt;/code&gt; (or &lt;code&gt;const char *&lt;/code&gt; when you promise not to modify). The standard library in &lt;code&gt;&amp;lt;string.h&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;stdio.h&amp;gt;&lt;/code&gt; provides the classic tools: &lt;code&gt;strlen&lt;/code&gt;, &lt;code&gt;strcpy&lt;/code&gt;, &lt;code&gt;strncpy&lt;/code&gt;, &lt;code&gt;strcmp&lt;/code&gt;, &lt;code&gt;strcat&lt;/code&gt;, &lt;code&gt;strchr&lt;/code&gt;, &lt;code&gt;strstr&lt;/code&gt;, &lt;code&gt;sprintf&lt;/code&gt;, &lt;code&gt;snprintf&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Literals</title><link>https://thevikidtruth.com/computing/literals/</link><pubDate>Mon, 21 Nov 2016 22:08:27 +0400</pubDate><guid>https://thevikidtruth.com/computing/literals/</guid><description>&lt;h1 id="literals"&gt;Literals&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about literals: &lt;strong&gt;they are how values show up in source code before they have a name.&lt;/strong&gt; Every language has them; C&amp;rsquo;s are small, strict and easy to get subtly wrong – especially once suffixes and escape sequences enter.&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;literal&lt;/strong&gt; is a notation that writes a value directly: &lt;code&gt;42&lt;/code&gt;, &lt;code&gt;3.14&lt;/code&gt;, &lt;code&gt;'a'&lt;/code&gt;, &lt;code&gt;&amp;quot;hello&amp;quot;&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;. In C (and C-like languages) the form of the literal decides its &lt;strong&gt;type&lt;/strong&gt; and how it&amp;rsquo;s stored. Related pages cover each family in depth: &lt;a href="https://thevikidtruth.com/computing/cints/"&gt;integers&lt;/a&gt;, &lt;a href="https://thevikidtruth.com/computing/cfloats/"&gt;floats&lt;/a&gt;, &lt;a href="https://thevikidtruth.com/computing/cchars/"&gt;characters&lt;/a&gt;, &lt;a href="https://thevikidtruth.com/computing/cstrings/"&gt;strings&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Objects in C</title><link>https://thevikidtruth.com/computing/object/</link><pubDate>Mon, 21 Nov 2016 09:49:09 +0400</pubDate><guid>https://thevikidtruth.com/computing/object/</guid><description>&lt;h1 id="objects-in-c"&gt;Objects in C&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about &amp;ldquo;objects&amp;rdquo;: &lt;strong&gt;the word means different things in different traditions, and fights about OOP usually start from mixed definitions.&lt;/strong&gt; In Smalltalk an object is a living entity that answers messages; in C++ it is a region of memory with a type; in JavaScript it is a mutable property bag with a prototype link.&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;An &lt;strong&gt;object&lt;/strong&gt; packages &lt;strong&gt;state&lt;/strong&gt; (data) with &lt;strong&gt;behaviour&lt;/strong&gt; (code that uses that data). Languages implement that idea differently:&lt;/p&gt;</description></item><item><title>Identifiers in C</title><link>https://thevikidtruth.com/computing/identifier/</link><pubDate>Mon, 21 Nov 2016 05:40:07 +0400</pubDate><guid>https://thevikidtruth.com/computing/identifier/</guid><description>&lt;h1 id="identifiers-in-c"&gt;Identifiers in C&lt;/h1&gt;&#10;&lt;p&gt;&lt;span class="missing-link"&gt;Back to Tokens&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;Back to C Programming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;There are 4 types of Identifiers and each type gets its own namespace.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Label Names, are names that end in a &lt;strong&gt;colon, :&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Tags for structure, union, and enumeration types&lt;/li&gt;&#10;&lt;li&gt;Names of Structure or Union &lt;strong&gt;members&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Ordinary Identifiers (all others)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;struct tag { char tag; ...}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Here you can see we have created a structure with the tag &lt;strong&gt;tag&lt;/strong&gt;, which also has&#10;a member &lt;strong&gt;tag&lt;/strong&gt; of the type char.&lt;/p&gt;</description></item><item><title>The Compiler</title><link>https://thevikidtruth.com/computing/thecompiler/</link><pubDate>Mon, 21 Nov 2016 04:06:50 +0400</pubDate><guid>https://thevikidtruth.com/computing/thecompiler/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;Back to C programming&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="the-compiler"&gt;The Compiler&lt;/h1&gt;&#10;&lt;p&gt;The C compiler translates &lt;strong&gt;C-source-code&lt;/strong&gt; into &lt;strong&gt;machine code&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;The Compiler translates each &lt;em&gt;source file&lt;/em&gt; into an &lt;em&gt;object file&lt;/em&gt; also known as&#10;a &lt;strong&gt;module&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;If there are more that 1 &lt;em&gt;object files&lt;/em&gt;, these are then &lt;em&gt;linked&lt;/em&gt; by the&#10;&lt;strong&gt;linker&lt;/strong&gt; which outputs a &lt;strong&gt;executable&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;The &lt;strong&gt;executable&lt;/strong&gt; is what we normally run as a program in the system.&lt;/p&gt;&#10;&lt;h2 id="the-translation-phases"&gt;The Translation Phases&lt;/h2&gt;&#10;&lt;p&gt;The compilation takes place in 8 steps.&lt;/p&gt;</description></item><item><title>C Programming</title><link>https://thevikidtruth.com/computing/cprogramming/</link><pubDate>Mon, 21 Nov 2016 03:47:35 +0400</pubDate><guid>https://thevikidtruth.com/computing/cprogramming/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;linkage&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cops/"&gt;C Operators&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/csytanx/"&gt;C Syntax Structures&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gbddebugger/"&gt;GBD Debugger&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;a href="https://devdocs.io" rel="noopener"&gt;devdocs.io&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="c-programming"&gt;C Programming&lt;/h1&gt;&#10;&lt;p class="right"&gt;&lt;img src="https://thevikidtruth.com/assets/cprog.jpg" alt="cprog"&gt;&lt;/p&gt;&#10;&lt;p&gt;The C programming language is at the heart of GNU/Linux - it is the programming language&#10;most of the Linux Kernel and GNU tools is written in.&lt;/p&gt;&#10;&lt;p&gt;There are many outstanding books and online resources where you can learn C and as&#10;such this site will not try and duplicate these efforts.&lt;/p&gt;</description></item><item><title>Freedom in Computing</title><link>https://thevikidtruth.com/computing/computingfreedom/</link><pubDate>Fri, 29 Jul 2016 09:57:30 +0400</pubDate><guid>https://thevikidtruth.com/computing/computingfreedom/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Quicklinks&lt;/span&gt; | &lt;span class="missing-link"&gt;Readinglist&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;BCIYH&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;/p&gt;&#10;&lt;p class="right"&gt;&lt;img src="https://thevikidtruth.com/assets/freedom-600.jpg" alt="freedom-600"&gt;&lt;/p&gt;&#10;&lt;h1 id="freedom-in-computing"&gt;Freedom in Computing&lt;/h1&gt;&#10;&lt;p&gt;&lt;code&gt;date: 29 July 2016&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;It all started with Richard Stallman, or at least I tell myself that. I am not sure&#10;when I realised I wanted freedom in my computing.&lt;/p&gt;&#10;&lt;p&gt;But it did start with software or my inability to get the software I wanted in the&#10;early 90&amp;rsquo;s, namely Corel Draw. And now, if I do think of it rightly,&#10;it also started with the &lt;strong&gt;&amp;lsquo;blue&#10;screen of death&amp;rsquo;&lt;/strong&gt; and the amount of work I lost due to it.&lt;/p&gt;</description></item><item><title>Application Development</title><link>https://thevikidtruth.com/computing/appdev/</link><pubDate>Wed, 18 May 2016 05:18:22 +0400</pubDate><guid>https://thevikidtruth.com/computing/appdev/</guid><description>&lt;h1 id="application-development"&gt;Application Development&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about application development: &lt;strong&gt;shipping software is less about frameworks and more about feedback loops – build something small, put it in front of reality, learn, repeat.&lt;/strong&gt; Tools change; that loop does not.&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;Application development&lt;/strong&gt; is the craft of turning a need into a running program people can use: clarifying the problem, designing a thin slice, implementing, testing, deploying, observing, iterating. It spans CLI tools, desktop apps, mobile, embedded and the web – different skins, same skeleton.&lt;/p&gt;</description></item><item><title>Previews of Build a Computer in Your Head</title><link>https://thevikidtruth.com/computing/bciyh/</link><pubDate>Thu, 12 May 2016 01:55:15 +0400</pubDate><guid>https://thevikidtruth.com/computing/bciyh/</guid><description>&lt;h3 id="previews-of-build-a-computer-in-your-head"&gt;Previews of Build a Computer in Your Head&lt;/h3&gt;&#10;&lt;p&gt;&lt;span class="missing-link"&gt;Quicklinks&lt;/span&gt; | &lt;span class="missing-link"&gt;Readinglist&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;BCIYH&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;/p&gt;&#10;&lt;p&gt;I am writing a new &amp;lsquo;book&amp;rsquo; called &lt;strong&gt;Build a Computer In Your Head (BCIYH)&lt;/strong&gt;,&#10;pronouced as &amp;ldquo;Bikih&amp;rdquo;, and I will be&#10;posting excerpts/notes regarding the subject here for you to preview and&#10;comment upon.&lt;/p&gt;&#10;&lt;p&gt;I have been inspired to do this by a few books and projects which you can find at&#10;the bottom of this page.&lt;/p&gt;</description></item><item><title>PicoLisp</title><link>https://thevikidtruth.com/computing/picolisp/</link><pubDate>Thu, 12 May 2016 01:09:25 +0400</pubDate><guid>https://thevikidtruth.com/computing/picolisp/</guid><description>&lt;p class="right"&gt;&lt;img src="https://thevikidtruth.com/assets/picos.png" alt="picos"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Quicklinks&lt;/span&gt; | &lt;span class="missing-link"&gt;Readinglist&lt;/span&gt; | &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; | &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; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;JavaScript&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/penti/"&gt;Penti&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="picolisp"&gt;PicoLisp&lt;/h1&gt;&#10;&lt;p&gt;If you have always been interested in Lisp and its variant forms such as **Common&#10;Lisp, Scheme, &lt;a href="https://racket-lang.org" rel="noopener"&gt;Racket&lt;/a&gt;, &lt;strong&gt;&lt;a href="http://www.newlisp.org" rel="noopener"&gt;newLISP&lt;/a&gt;&lt;/strong&gt; and the like, I think that you are really going to&#10;love &lt;strong&gt;&lt;a href="http://picolisp.com" rel="noopener"&gt;Picolisp&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;The original 32 bit implementation is written in &lt;strong&gt;C&lt;/strong&gt;, and supports 32bit programming.&#10;Over the years the language has grown and is now available in 64 bit. The really cool&#10;things is this time the language is implemented by a [assembler written in picolisp](&lt;a href="http://software-lab.de/doc64/asm" rel="noopener"&gt;http://software-lab.de/doc64/asm&lt;/a&gt;&#10;generic).&#10;The &lt;a href="http://picolisp.com" rel="noopener"&gt;picolisp website&lt;/a&gt; has all the&#10;&lt;a href="http://picolisp.com/wiki/?Documentation" rel="noopener"&gt;documentation&lt;/a&gt; that you&#10;need to get setup and running. It also has an extensive &lt;a href="http://software-lab.de/doc/tut.html" rel="noopener"&gt;tutorial&lt;/a&gt; on the&#10;language. So you can get started there.&lt;/p&gt;</description></item></channel></rss>