aboutsummaryrefslogtreecommitdiff
path: root/build/wiki
diff options
context:
space:
mode:
Diffstat (limited to 'build/wiki')
-rw-r--r--build/wiki/index.html327
1 files changed, 327 insertions, 0 deletions
diff --git a/build/wiki/index.html b/build/wiki/index.html
new file mode 100644
index 0000000..f632e31
--- /dev/null
+++ b/build/wiki/index.html
@@ -0,0 +1,327 @@
+<!doctype html>
+<html lang="en" id="top">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="icon" href="data:,">
+ <title>Wiki</title>
+ <link href="https://bt.ht/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" />
+ <style>*{box-sizing:border-box;}body{font-family:sans-serif;margin:0 auto;max-width:650px;padding:1rem;}img{max-width:100%;}pre{overflow:auto;}table{text-align:left;width:100%;}</style>
+</head>
+
+<nav>
+ <a href="#menu">Menu &darr;</a>
+</nav>
+
+<main>
+<h1>Wiki</h1>
+<h2>Introduction</h2>
+<p>This is a living document that will expand alongside my own personal experiences and knowledge. Topics range from device settings, computer configurations, household product serial numbers / expiry dates, and so on. Hopefully this can end up being helpful to others as well.</p>
+<h2>Open Suck</h2>
+<p>My personal, lightweight desktop installer for OpenBSD based on the suckless philosophy. Includes my own custom set of suckless tools (dwm, slstatus, dmenu, etc.)</p>
+<ul>
+<li><a href="https://git.sr.ht/~bt/open-suck">https://git.sr.ht/~bt/open-suck</a></li>
+</ul>
+<h2>vimrc</h2>
+<pre><code>&quot; Don't try to be vi compatible
+set nocompatible
+
+&quot; Helps force plugins to load correctly when it is turned back on below
+filetype off
+
+&quot; TODO: Load plugins here (pathogen or vundle)
+
+&quot; Turn on syntax highlighting
+syntax on
+
+&quot; For plugins to load correctly
+filetype plugin indent on
+
+&quot; TODO: Pick a leader key
+&quot; let mapleader = &quot;,&quot;
+
+&quot; Security
+set modelines=0
+
+&quot; Show line numbers
+set number
+
+&quot; Show file stats
+set ruler
+
+&quot; Blink cursor on error instead of beeping (grr)
+set visualbell
+
+&quot; Encoding
+set encoding=utf-8
+
+&quot; Whitespace
+set wrap
+set textwidth=79
+set formatoptions=tcqrn1
+set tabstop=2
+set shiftwidth=2
+set softtabstop=2
+set expandtab
+set noshiftround
+
+&quot; Cursor motion
+set scrolloff=3
+set backspace=indent,eol,start
+set matchpairs+=&lt;:&gt; &quot; use % to jump between pairs
+runtime! macros/matchit.vim
+
+&quot; Move up/down editor lines
+nnoremap j gj
+nnoremap k gk
+
+&quot; Allow hidden buffers
+set hidden
+
+&quot; Rendering
+set ttyfast
+
+&quot; Status bar
+set laststatus=2
+
+&quot; Last line
+set showmode
+set showcmd
+
+&quot; Searching
+nnoremap / /\v
+vnoremap / /\v
+set hlsearch
+set incsearch
+set ignorecase
+set smartcase
+set showmatch
+map &lt;leader&gt;&lt;space&gt; :let @/=''&lt;cr&gt; &quot; clear search
+
+&quot; Remap help key.
+inoremap &lt;F1&gt; &lt;ESC&gt;:set invfullscreen&lt;CR&gt;a
+nnoremap &lt;F1&gt; :set invfullscreen&lt;CR&gt;
+vnoremap &lt;F1&gt; :set invfullscreen&lt;CR&gt;
+
+&quot; Textmate holdouts
+
+&quot; Formatting
+map &lt;leader&gt;q gqip
+
+&quot; Visualize tabs and newlines
+set listchars=tab:▸\ ,eol:¬
+&quot; Uncomment this to enable by default:
+&quot; set list &quot; To enable by default
+&quot; Or use your leader key + l to toggle on/off
+map &lt;leader&gt;l :set list!&lt;CR&gt; &quot; Toggle tabs and EOL
+
+&quot; Color scheme (terminal)
+set t_Co=256
+set background=dark
+let g:solarized_termcolors=256
+let g:solarized_termtrans=1
+&quot; put https://raw.github.com/altercation/vim-colors-solarized/master/colors/solarized.vim
+&quot; in ~/.vim/colors/ and uncomment:
+&quot; colorscheme solarized
+</code></pre>
+<h2>.zshrc extras / aliases</h2>
+<pre><code>export EDITOR=&quot;/bin/vim&quot;
+
+alias suck=&quot;sudo rm -rf config.h ; sudo make install&quot;
+alias fixmonitor=&quot;xrandr --auto --output eDP1 --mode 1366x768 --below DP2-2&quot;
+alias vscode=&quot;alias vscode=&quot;ENABLE_WASM=1 chrome --enable-wasm --disable-unveil&quot;&quot;
+</code></pre>
+<h2>mimeapps.list</h2>
+<p>Place this file under <code>/usr/share/applications/mimeapps.list</code></p>
+<pre><code>[Default Applications]
+x-scheme-handler/http=org.qutebrowser.qutebrowser.desktop
+x-scheme-handler/https=org.qutebrowser.qutebrowser.desktop
+x-scheme-handler/ftp=org.qutebrowser.qutebrowser.desktop
+x-scheme-handler/chrome=org.qutebrowser.qutebrowser.desktop
+text/html=org.qutebrowser.qutebrowser.desktop
+application/x-extension-htm=org.qutebrowser.qutebrowser.desktop
+application/x-extension-html=org.qutebrowser.qutebrowser.desktop
+application/x-extension-shtml=org.qutebrowser.qutebrowser.desktop
+application/xhtml+xml=org.qutebrowser.qutebrowser.desktop
+application/x-extension-xhtml=org.qutebrowser.qutebrowser.desktop
+application/x-extension-xht=org.qutebrowser.qutebrowser.desktop
+image/jpeg=feh
+image/png=feh
+image/webp=feh
+</code></pre>
+<h2>qutebrowser</h2>
+<h3>Greasemonkey</h3>
+<p>All of these scripts should be added under <code>~/.local/share/qutebrowser/greasemonkey/</code>. Then be sure to run the proper command within qutebrowser: <code>:greasemonkey-reload</code></p>
+<h4>Auto Skip YouTube Ads</h4>
+<pre><code>// ==UserScript==
+// @name Auto Skip YouTube Ads
+// @version 1.0.0
+// @description Speed up and skip YouTube ads automatically
+// @author jso8910
+// @match *://*.youtube.com/*
+// @exclude *://*.youtube.com/subscribe_embed?*
+// ==/UserScript==
+setInterval(() =&gt; {
+ const btn = document.querySelector('.videoAdUiSkipButton,.ytp-ad-skip-button')
+ if (btn) {
+ btn.click()
+ }
+ const ad = [...document.querySelectorAll('.ad-showing')][0];
+ if (ad) {
+ document.querySelector('video').playbackRate = 10;
+ }
+}, 50)
+</code></pre>
+<h2><code>ffmpeg</code> to MP4</h2>
+<pre><code>ffmpeg -i input_filename.avi -c:v copy -c:a copy -y output_filename.mp4
+</code></pre>
+<h2>Mount USB HDD via CLI</h2>
+<pre><code>mkdir /media/usb-drive
+mount /dev/sdX /media/usb-drive/
+</code></pre>
+<h2>Run Mullvad on Alpine Linux (Wireguard)</h2>
+<pre><code># Install wireguard
+apk add wireguard-tools
+</code></pre>
+<p>Login into Mullvad and download the proper wireguard configuration files(s). After downloaded, place in the proper directory:</p>
+<pre><code>doas cp &lt;MULLVAD_FILENAME&gt;.conf /etc/wireguard/&quot;
+</code></pre>
+<p>Then setup an aliases for easier up/down states:</p>
+<pre><code>alias vpnup=&quot;doas wg-quick up /etc/wireguard/&lt;MULLVAD_FILENAME&gt;.conf&quot;
+alias vpndown=&quot;doas wg-quick down /etc/wireguard/&lt;MULLVAD_FILENAME&gt;.conf&quot;
+</code></pre>
+<h2>Alpine Linux <code>mini_racer</code> Tweaks</h2>
+<p>Gem lockfile:</p>
+<pre><code>PLATFORMS
+ ruby
+ x86_64-linux-musl
+
+mini_racer (0.6.3)
+ &lt;remove child dependency&gt;
+</code></pre>
+<p>then run: <code>bundle update mini_racer</code></p>
+<h2>Docker</h2>
+<p>Installing <code>ghost</code></p>
+<pre><code>docker pull ghost
+</code></pre>
+<pre><code>docker run -d \
+ --name ghost-name \
+ -e NODE_ENV=development \
+ -p 2368:2368 \
+ -v $HOME/path/to/ghost/blog:/var/lib/ghost/content \
+ ghost:alpine
+</code></pre>
+<h2>MongoDB 3.4 on Ubuntu 23.10</h2>
+<pre><code>wget http://launchpadlibrarian.net/668089858/libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb
+sudo apt install ./libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb
+sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
+
+echo &quot;deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4 multiverse&quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
+</code></pre>
+<p>Now edit <code>/etc/apt/sources.list.d/mongodb-org-3.4.list</code>:</p>
+<pre><code>deb [trusted=yes] http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4...
+</code></pre>
+<p>Then finish things up:</p>
+<pre><code>sudo apt-get update --allow-unauthenticated
+sudo apt-get install -y mongodb-org
+
+sudo mkdir -p /data/db
+sudo chmod -R 777 /data/db
+</code></pre>
+<h2>Redis 6.0.7 on Ubuntu 23.10</h2>
+<pre><code>sudo apt-get install build-essential tcl
+cd /tmp
+curl -O http://download.redis.io/releases/redis-6.0.7.tar.gz
+tar xzvf redis-6.0.7.tar.gz
+cd redis-6.0.7
+</code></pre>
+<p>Install redis:</p>
+<pre><code>make
+make test
+sudo make install
+
+sudo mkdir /etc/redis
+sudo cp /tmp/redis-6.0.7redis.conf /etc/redis
+</code></pre>
+<p>Edit <code>/etc/redis/redis.conf</code> with the following changes:</p>
+<ul>
+<li><code>supervised systemd</code></li>
+<li><code>dir /var/lib/redis</code></li>
+</ul>
+<p>Create systemd unit file for redis: <code>/etc/systemd/system/redis.service</code>:</p>
+<pre><code>[Unit]
+Description=Redis In-Memory Data Store
+After=network.target
+
+[Service]
+User=redis
+Group=redis
+ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
+ExecStop=/usr/local/bin/redis-cli shutdown
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+</code></pre>
+<p>Final steps:</p>
+<pre><code>sudo adduser --system --group --no-create-home redis
+sudo mkdir /var/lib/redis
+sudo chown redis:redis /var/lib/redis
+sudo chmod 770 /var/lib/redis
+</code></pre>
+<h2>Ruby 2.7.2 with rbenv on Ubuntu 23.10</h2>
+<p>Edit the <code>/etc/apt/sources.list</code> file:</p>
+<pre><code>deb [trusted=yes] http://security.ubuntu.com/ubuntu bionic-security main
+</code></pre>
+<p>Then run <code>sudo apt-get update</code>. After completion, install <code>libssl1.0-dev</code>:</p>
+<pre><code>sudo apt-get install libssl1.0-dev
+</code></pre>
+<h2>Fix screen tearing</h2>
+<pre><code>sudo micro /etc/X11/xorg.conf.d/20-intel.conf
+</code></pre>
+<p>Add the following contents to <code>20-intel.conf</code>:</p>
+<pre><code>Section &quot;OutputClass&quot;
+ Identifier &quot;Intel Graphics&quot;
+ MatchDriver &quot;i915&quot;
+ Driver &quot;intel&quot;
+ Option &quot;DRI&quot; &quot;3&quot;
+ Option &quot;TearFree&quot; &quot;1&quot;
+EndSection
+</code></pre>
+<h2>Enabling "tap to click"</h2>
+<pre><code>sudo micro /etc/X11/xorg.conf.d/30-touchpad.conf
+</code></pre>
+<p>Add the following contents to <code>30-touchpad.conf</code>:</p>
+<pre><code>Section &quot;InputClass&quot;
+ Identifier &quot;touchpad&quot;
+ Driver &quot;libinput&quot;
+ MatchIsTouchpad &quot;on&quot;
+ Option &quot;Tapping&quot; &quot;on&quot;
+ Option &quot;TappingButtonMap&quot; &quot;lmr&quot;
+EndSection
+</code></pre>
+<h2>Woocommerce</h2>
+<p><strong>Reset all product menu_order to <code>0</code></strong></p>
+<pre><code>UPDATE wp_posts SET menu_order = 0 WHERE post_type = 'product';
+</code></pre>
+<footer role="contentinfo">
+ <h2>Menu Navigation</h2>
+ <ul id="menu">
+ <li><a href="/">Home</a></li>
+ <li><a href="/projects">Projects</a></li>
+ <li><a href="/uses">Uses</a></li>
+ <li><a href="/wiki">Wiki</a></li>
+ <li><a href="/resume">Resume</a></li>
+ <li><a href="/colophon">Colophon</a></li>
+ <li><a href="/now">Now</a></li>
+ <li><a href="/donate">Donate</a></li>
+ <li><a href="/atom.xml">RSS</a></li>
+ <li><a href="#top">&uarr; Top of the page</a></li>
+ </ul>
+ <small>
+ Built with <a href="https://git.sr.ht/~bt/barf">barf</a>. <br>
+ Maintained with ♥ for the web. <br>
+ Proud supporter of <a href="https://usefathom.com/ref/DKHJVX">Fathom</a> &amp; <a href="https://nextdns.io/?from=74d3p3h8">NextDNS</a>. <br>
+ The content for this site is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>.<br> The <a href="https://git.sr.ht/~bt/bt.ht">code for this site</a> is <a href="https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE">MIT</a>.
+ </small>
+</footer> \ No newline at end of file