aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBradley Taunt <bt@btxx.org>2024-05-31 14:53:12 -0400
committerBradley Taunt <bt@btxx.org>2024-05-31 14:53:12 -0400
commite85eb98480d0c7af950859e95819901a20923fe7 (patch)
tree5fc5ab9dd9608cfc676a475297e84bfb1de3f114
parent8f28fc58d5fe68775fbe552eb172cbb4ad8614b1 (diff)
Begin porting over wiki pages
-rw-r--r--colophon.md2
-rw-r--r--public/images/Screenshot_2024-01-15_at_10.00.31__8239__AM.pngbin0 -> 81987 bytes
-rw-r--r--public/images/Screenshot_2024-03-20_at_10.49.01__8239__AM.pngbin0 -> 664451 bytes
-rw-r--r--public/images/safari-full-address.pngbin0 -> 81987 bytes
-rw-r--r--public/images/safari-settings-custom-css.pngbin0 -> 599023 bytes
-rw-r--r--uses.md8
-rw-r--r--wiki/cgit.md61
-rw-r--r--wiki/dotfiles.md142
-rw-r--r--wiki/ikiwiki_NearlyFreeSpeech.md100
-rw-r--r--wiki/ikiwiki_comments.md19
-rw-r--r--wiki/ikiwiki_search.md25
-rw-r--r--wiki/index.md23
-rw-r--r--wiki/openbsd.md10
-rw-r--r--wiki/openbsd_desktop_environment.md60
-rw-r--r--wiki/openbsd_installation.md102
-rw-r--r--wiki/ps2.md10
-rw-r--r--wiki/ps2_networking.md21
-rw-r--r--wiki/ps2_pcsx2.md15
-rw-r--r--wiki/qutebrowser.md32
-rw-r--r--wiki/safari.md35
-rw-r--r--wiki/scripts.md78
-rw-r--r--wiki/sublime-text.md51
-rw-r--r--wiki/ubuntu.md89
-rw-r--r--wiki/xbox.md9
-rw-r--r--wiki/xbox_softmodding.md28
25 files changed, 897 insertions, 23 deletions
diff --git a/colophon.md b/colophon.md
index 5c16bbd..fcbb004 100644
--- a/colophon.md
+++ b/colophon.md
@@ -13,7 +13,7 @@ For those interested I try to keep the details of the blog up-to-date with the i
| Parameter | Source |
|---|---|
|Built with:|[Jekyll](https://jekyllrb.com)|
-|Hosted on:|[NearlyFreeSpeech](https://nearlyfreespeech.net)|
+|Hosted on:|[Sourcehut](https://sourcehut.org)|
|Licensed under:|[MIT](https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE)|
|Developed on:|ThinkPad X220 / MacBook Air M2|
|Operating system:|OpenBSD / macOS|
diff --git a/public/images/Screenshot_2024-01-15_at_10.00.31__8239__AM.png b/public/images/Screenshot_2024-01-15_at_10.00.31__8239__AM.png
new file mode 100644
index 0000000..a67a474
--- /dev/null
+++ b/public/images/Screenshot_2024-01-15_at_10.00.31__8239__AM.png
Binary files differ
diff --git a/public/images/Screenshot_2024-03-20_at_10.49.01__8239__AM.png b/public/images/Screenshot_2024-03-20_at_10.49.01__8239__AM.png
new file mode 100644
index 0000000..881cb67
--- /dev/null
+++ b/public/images/Screenshot_2024-03-20_at_10.49.01__8239__AM.png
Binary files differ
diff --git a/public/images/safari-full-address.png b/public/images/safari-full-address.png
new file mode 100644
index 0000000..a67a474
--- /dev/null
+++ b/public/images/safari-full-address.png
Binary files differ
diff --git a/public/images/safari-settings-custom-css.png b/public/images/safari-settings-custom-css.png
new file mode 100644
index 0000000..28b20b9
--- /dev/null
+++ b/public/images/safari-settings-custom-css.png
Binary files differ
diff --git a/uses.md b/uses.md
index f5b96ba..2029cd1 100644
--- a/uses.md
+++ b/uses.md
@@ -12,10 +12,10 @@ I'm proud to support open source products and privacy-respecting communities. Th
|Service|Cost/year|
|-------|--------------|
-|[NearlyFreeSpeech](https://nearlyfreespeech.net)<br>Domains (5), web hosting & personal code forge|~$125|
+|[NearlyFreeSpeech](https://nearlyfreespeech.net)<br>Domains (5), web hosting & personal code forge|~$115|
|[Migadu](https://migadu.com)<br>Email service|$19|
|[Mullvad](https://mullvad.net)<br>Privacy focused VPN|$60|
-|[Sourcehut](https://sourcehut.org)<br>Open source code forge|~$30|
+|[Sourcehut](https://sourcehut.org)<br>Open source code forge & web hosting|~$30|
## Work Laptop
@@ -32,13 +32,13 @@ I'm proud to support open source products and privacy-respecting communities. Th
- CPU: Intel Core i5-520M @ 2.9 GHz
- RAM: 8GB
- Storage: 128GB SSD
- - OS: Alpine Suck ([see build](https://git.btxx.org/alpine-suck))
+ - OS: Alpine Suck ([see build](https://git.btxx.org/alpine-suck/about/))
- **ThinkPad X220**
- CPU: Intel Core i5 2540M @ 2.6 GHz
- RAM: 16GB
- Storage: 128GB SSD
- - OS: FreeBSD ([see build](https://git.sr.ht/~bt/suckless-beastie))
+ - OS: OpenBSD ([see build](https://git.btxx.org/open-suck/about/))
- **ThinkPad X260**
- CPU: Intel i5-6300U (4) @ 3.000GHz
diff --git a/wiki/cgit.md b/wiki/cgit.md
new file mode 100644
index 0000000..ebf8845
--- /dev/null
+++ b/wiki/cgit.md
@@ -0,0 +1,61 @@
+---
+layout: page
+title: cgit
+permalink: /wiki/cgit
+---
+
+This page contains a comprehensive guide to setting up cgit on NearlyFreeSpeech. It is assumed that you already have an account with NFS and also have access to a "site" online.
+
+Most of the following has been lifted from [NearlyFreeSpeech cgit application walkthrough](https://members.nearlyfreespeech.net/wiki/Applications/Cgit) but has been tweaked and updated.
+
+You can see a **live version** [here](https://git.btxx.org).
+
+## Building cgit
+
+The following assumes that you wish to have cgit running at the top-level of your chosen domain (ie. git.example.com)
+
+SSH into your account then download and unpack the latest release:
+
+ git clone git://git.zx2c4.com/cgit cgit-src
+ cd cgit-src
+
+Create a cgit.conf file with desired locations:
+
+ CGIT_SCRIPT_PATH = /home/public
+ CGIT_DATA_PATH = $(CGIT_SCRIPT_PATH)
+ CGIT_CONFIG = $(CGIT_SCRIPT_PATH)/cgitrc
+ CACHE_ROOT = $(CGIT_SCRIPT_PATH)/cgitcache
+ prefix = $(CGIT_SCRIPT_PATH)/local
+
+Get the git sources (needed to build libgit):
+
+ git submodule init
+ git submodule update
+
+Build and install it:
+
+ gmake install
+
+## Configuration
+
+Make a text file named `cgitrc` where you specified CGIT_CONFIG and add the following (these are some personal defaults to make things cleaner):
+
+ logo=/cgit.png
+ root-title=main root title
+ root-desc=description for your git server
+ root-readme=/home/public/about.md
+ virtual-root=/
+
+ about-filter=/home/public/cgit-src/filters/about-formatting.sh
+ readme=:README.md
+ readme=:README
+
+ include=/home/protected/cgitrepos
+
+Then in the specified file (`cgitrepos`), place your repos, ex:
+
+ repo.url=MyRepo
+ repo.path=/home/public/MyRepo.git
+ repo.desc=This is my git repository
+
+**And you should be good to go!**
diff --git a/wiki/dotfiles.md b/wiki/dotfiles.md
new file mode 100644
index 0000000..dfbcb89
--- /dev/null
+++ b/wiki/dotfiles.md
@@ -0,0 +1,142 @@
+---
+layout: page
+title: Dotfiles
+permalink: /wiki/dotfiles
+---
+
+This page contains my (mostly) up-to-date dotfiles for a wide range of use cases.
+
+## .vimrc
+
+
+ " Don't try to be vi compatible
+ set nocompatible
+
+ " Helps force plugins to load correctly when it is turned back on below
+ filetype off
+
+ " TODO: Load plugins here (pathogen or vundle)
+
+ " Turn on syntax highlighting
+ syntax on
+
+ " For plugins to load correctly
+ filetype plugin indent on
+
+ " TODO: Pick a leader key
+ " let mapleader = ","
+
+ " Security
+ set modelines=0
+
+ " Show line numbers
+ set number
+
+ " Show file stats
+ set ruler
+
+ " Blink cursor on error instead of beeping (grr)
+ set visualbell
+
+ " Encoding
+ set encoding=utf-8
+
+ " Whitespace
+ set wrap
+ set textwidth=79
+ set formatoptions=tcqrn1
+ set tabstop=2
+ set shiftwidth=2
+ set softtabstop=2
+ set expandtab
+ set noshiftround
+
+ " Cursor motion
+ set scrolloff=3
+ set backspace=indent,eol,start
+ set matchpairs+=<:> " use % to jump between pairs
+ runtime! macros/matchit.vim
+
+ " Move up/down editor lines
+ nnoremap j gj
+ nnoremap k gk
+
+ " Allow hidden buffers
+ set hidden
+
+ " Rendering
+ set ttyfast
+
+ " Status bar
+ set laststatus=2
+
+ " Last line
+ set showmode
+ set showcmd
+
+ " Searching
+ nnoremap / /\v
+ vnoremap / /\v
+ set hlsearch
+ set incsearch
+ set ignorecase
+ set smartcase
+ set showmatch
+ map <leader><space> :let @/=''<cr> " clear search
+
+ " Remap help key.
+ inoremap <F1> <ESC>:set invfullscreen<CR>a
+ nnoremap <F1> :set invfullscreen<CR>
+ vnoremap <F1> :set invfullscreen<CR>
+
+ " Textmate holdouts
+
+ " Formatting
+ map <leader>q gqip
+
+ " Visualize tabs and newlines
+ set listchars=tab:▸\ ,eol:¬
+ " Uncomment this to enable by default:
+ " set list " To enable by default
+ " Or use your leader key + l to toggle on/off
+ map <leader>l :set list!<CR> " Toggle tabs and EOL
+
+ " Color scheme (terminal)
+ set t_Co=256
+ set background=dark
+ let g:solarized_termcolors=256
+ let g:solarized_termtrans=1
+ " put https://raw.github.com/altercation/vim-colors-solarized/master/colors/solarized.vim
+ " in ~/.vim/colors/ and uncomment:
+ " colorscheme solarized
+
+## .zshrc extras / aliases
+
+ export EDITOR="/bin/vim"
+
+ alias suck="sudo rm -rf config.h ; sudo make install"
+ alias fixmonitor="xrandr --auto --output eDP1 --mode 1366x768 --below DP2-2"
+ alias alias vscode="ENABLE_WASM=1 chrome --enable-wasm --disable-unveil"
+ export PATH="/usr/local/bin:$PATH"
+ export PATH="$PATH:/opt/local/bin"
+ export PATH="$PATH:/mongodb/bin"
+
+## mimeapps.list
+
+Place this file under `/usr/share/applications/mimeapps.list`
+
+ [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
diff --git a/wiki/ikiwiki_NearlyFreeSpeech.md b/wiki/ikiwiki_NearlyFreeSpeech.md
new file mode 100644
index 0000000..e37f575
--- /dev/null
+++ b/wiki/ikiwiki_NearlyFreeSpeech.md
@@ -0,0 +1,100 @@
+---
+layout: page
+title: ikiwiki on NearlyFreeSpeech
+permalink: /wiki/ikiwiki/nearlyfreespeech
+---
+
+This page documents step-by-step how to properly setup and customize *ikiwiki* on [NearlyFreeSpeech](https://nearlyfreespeech.net). A good deal of the documentation here has been lifted from [ikiwiki.info/tips/nearlyfreespeech/](https://ikiwiki.info/tips/nearlyfreespeech/) but altered and updated.
+
+## Register for an account and set up a site
+
+After you get an account, create a site using their web interface.
+
+Mine is named `ikiwiki-test` and I used their DNS instead of getting my own, resulting in http://ikiwiki-test.nfshost.com/. (Not being kept up anymore.)
+
+They gave me 2 cents free funding for signing up, which is enough to pay for 10 megabytes of bandwidth, or about a thousand typical page views, at their current rates. Plenty to decide if this is right for you. If it is, $5 might be a good starting amount of money to put in your account.
+
+## ssh in and configure the environment
+
+ssh into their server using the ssh hostname and username displayed on the site's information page. Example:
+
+ ssh username_ikiwiki-test@ssh.phx.nearlyfreespeech.net
+
+Now set up `.profile` to run programs from `~/bin`.
+
+ cd $HOME
+ echo "PATH=$PATH:$HOME/bin" > .profile
+ . .profile
+
+## Download an unpack ikiwiki
+
+First, be sure to be under the proper `private` directory:
+
+ cd /home/private
+
+Use `wget` to download the ikiwiki tarball. You can find the `tar` file at the bottom of this page: [packages.debian.org/unstable/source/ikiwiki](https://packages.debian.org/unstable/source/ikiwiki)
+
+Then unpack it:
+
+ tar zxvf ikiwiki*.tar.gz
+
+## Build and install ikiwiki
+
+ cd ikiwiki
+ export MAKE=gmake
+ perl Makefile.PL INSTALL_BASE=$HOME PREFIX=
+ $MAKE
+ $MAKE install
+
+## Create your wiki
+
+All it takes to create a fully functional wiki using ikiwiki is running one command.
+
+ ikiwiki --setup /etc/ikiwiki/auto.setup
+
+Or, set up a blog with ikiwiki, run this command instead.
+
+ ikiwiki --setup /etc/ikiwiki/auto-blog.setup
+
+Either way, it will ask you a couple of questions.
+
+ What will the wiki be named? foo
+ What revision control system to use? git
+ What wiki user (or openid) will be admin? username
+ Choose a password:
+
+Then, wait for it to tell you an url for your new site..
+
+ Successfully set up foo:
+ url: http://example.com/~username/foo
+ srcdir: ~/foo
+ destdir: ~/public_html/foo
+ repository: ~/foo.git
+ To modify settings, edit ~/foo.setup and then run:
+ ikiwiki --setup ~/foo.setup
+
+We are almost done, but some parameters will most likely be incorrect. Edit your `foo.setup` file and change:
+
+- `url` to `yoursitename.nfshost.com`
+- `srcdir` to `/home/private/foo`
+- `destdir` to `/home/public`
+- `cgiurl` to `http://yoursitename.nfshost.com/ikiwiki.cgi`
+- `cgi_wrapper` to `/home/public/ikiwiki.cgi`
+
+Now rebuild again using:
+
+
+ ikiwiki --setup foo.setup
+
+
+All done with building ikiwiki!
+
+## Setting up SSL
+
+Navigate to your main `public` directory and run the following:
+
+
+ tls-setup.sh
+
+
+Follow the easy instructions and you'll have proper SSL setup in seconds!
diff --git a/wiki/ikiwiki_comments.md b/wiki/ikiwiki_comments.md
new file mode 100644
index 0000000..2cec3f7
--- /dev/null
+++ b/wiki/ikiwiki_comments.md
@@ -0,0 +1,19 @@
+---
+layout: page
+title: ikiwiki Comments
+permalink: /wiki/ikiwiki/comments
+---
+
+Content on this page is based off the discussions found here: [ikiwiki.info/tips/comments_feed/](http://ikiwiki.info/tips/comments_feed/)
+
+You've enabled the comments plugin, so a set of pages on your blog can have comments added to them. Pages with comments even have special feeds that can be used to subscribe to those comments. But you'd like to add a feed that contains all the comments posted to any page. Here's how:
+
+ \[[!inline pages="comment(*)" template=comment]]
+
+The special PageSpec matches all comments. The template causes the comments to be displayed formatted nicely.
+
+---
+
+It's also possible to make a feed of comments that are held pending moderation.
+
+ \[[!inline pages="comment_pending(*)" template=comment]]
diff --git a/wiki/ikiwiki_search.md b/wiki/ikiwiki_search.md
new file mode 100644
index 0000000..0758a16
--- /dev/null
+++ b/wiki/ikiwiki_search.md
@@ -0,0 +1,25 @@
+---
+layout: page
+title: ikiwiki Search
+permalink: /wiki/ikiwiki/search
+---
+
+This page focuses on properly setting up ikiwiki search on [[ikiwiki/NearlyFreeSpeech]].
+
+## Proper Packages
+
+You will need to install/enable `xapian-omega` in order to use the default ikiwiki search plugin. Switching your NFS realm to "white" should fix this problem but if not, you will need to reach out to support and request they add it for you.
+
+Once that is complete, edit your `foo.setup` file and update the `omega` path to:
+
+
+ /usr/local/www/xapian-omega/cgi-bin/omega
+
+
+Then rebuild your ikiwiki:
+
+
+ ikiwiki --setup foo.setup
+
+
+Now your web search should be working!
diff --git a/wiki/index.md b/wiki/index.md
index 662cfb7..f053d47 100644
--- a/wiki/index.md
+++ b/wiki/index.md
@@ -34,28 +34,15 @@ This is the homepage for my personal wiki. All sub-directories are listed below.
### ikiwiki
-The default documentation on using ikiwiki:
-
-- [Formatting](/ikiwiki/formatting)
-- [Wikilink](/ikiwiki/wikilink)
-- [Subpage](/ikiwiki/subpage)
-- [Pagespec](/ikiwiki/pagespec)
-- [Directive](/ikiwiki/directive)
-- [Markdown](/ikiwiki/markdown)
-- [OpenID](/ikiwiki/openid)
-- [Searching](/ikiwiki/searching)
-- [Templates](/templates)
-
My own custom documentation for ikiwiki:
-- [NearlyFreeSpeech](/ikiwiki/NearlyFreeSpeech)
-- [Git](/ikiwiki/git)
-- [Comments](/ikiwiki/comments)
-- [Search](/ikiwiki/search)
+- [NearlyFreeSpeech](/wiki/ikiwiki/NearlyFreeSpeech)
+- [Comments](/wiki/ikiwiki/comments)
+- [Search](/wiki/ikiwiki/search)
### WordPress
-- [Database Update](/wordpress/database_update)
-- [NearlyFreeSpeech Setup](/wordpress/NearlyFreeSpeech_Setup)
+- [Database Update](/wiki/wordpress/database_update)
+- [NearlyFreeSpeech Setup](/wiki/wordpress/NearlyFreeSpeech_Setup)
diff --git a/wiki/openbsd.md b/wiki/openbsd.md
new file mode 100644
index 0000000..6ec9650
--- /dev/null
+++ b/wiki/openbsd.md
@@ -0,0 +1,10 @@
+---
+layout: page
+title: OpenBSD
+permalink: /wiki/openbsd
+---
+
+This page contains all of my personal scripts and tutorials for OpenBSD. The content ranges from setting up laptops and desktops, to running personal servers and optimization tweaks.
+
+* [Installation](/wiki/openbsd/installation)
+* [Desktop Environment](/wiki/openbsd/desktop_environment)
diff --git a/wiki/openbsd_desktop_environment.md b/wiki/openbsd_desktop_environment.md
new file mode 100644
index 0000000..993da29
--- /dev/null
+++ b/wiki/openbsd_desktop_environment.md
@@ -0,0 +1,60 @@
+---
+layout: page
+title: OpenBSD Desktop Environment
+permalink: /wiki/openbsd/desktop_environment
+---
+
+This page covers the initial setup for installing and configuring `dwm` as a desktop environment on OpenBSD. Everything posted here relies on my personal "Open Suck" installer: [Open Suck](https://git.btxx.org/open-suck/about/)
+
+## Show Don't Tell
+
+<figure>
+<img src="https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/open-suck-75.png" alt="Screenshot of OpenBSD 7.5 running dwm">
+<figcaption>Open Suck: OpenBSD 7.5 running dwm on my X220</figcaption>
+</figure>
+
+## What You Get
+
+The Open Suck installer gives you the absolute barebones desktop experience:
+
+- `dwm` for window management
+- `qutebrowser` as your core web browser
+- `aerc` for your terminal-based mail client
+- `slock` for screen locking
+- `scrot`/`slop` for simple screenshot utilities
+- `dunst` for notifications
+
+## Required Packages
+
+Before we begin setting things up, you will need to install `git`, `vim`, `bash`:
+
+ pkg_add git vim bash
+
+## Cloning the Project
+
+Clone the main installer project and navigate instead the directory:
+
+ git clone https://git.btxx.org/open-suck
+ cd open-suck
+
+## Installing
+
+1. Install dependencies by running `./install-dependencies.sh`. The script will simply read required packages from `dependencies.txt` and run `pkg_add`.
+2. Compile and install suckless software by running the `./install.sh`
+
+## TL;DR
+
+ # Install OpenBSD packages
+ doas sh ./install-dependencies.sh
+ # Install suckless tools
+ doas sh ./install.sh
+ # Apply .xinitrc
+ cp .xinitrc ~/.xinitrc
+
+Reboot the machine. Log in as your main user. Run:
+
+
+ startx
+
+
+That's it! You now have a fully functional desktop environment built on top of `dwm`.
diff --git a/wiki/openbsd_installation.md b/wiki/openbsd_installation.md
new file mode 100644
index 0000000..ed33343
--- /dev/null
+++ b/wiki/openbsd_installation.md
@@ -0,0 +1,102 @@
+---
+layout: page
+title: Installing OpenBSD
+permalink: /wiki/openbsd/installation
+---
+
+Below you can find instructions for installing OpenBSD on a personal computer.
+
+The example below covers installing **OpendBSD 7.5** on a X220 ThinkPad laptop.
+
+## Requirements
+
+* USB device
+* Ethernet connection (with active internet)
+* A cup of coffee
+
+## Before the Install
+
+Make sure you have the latest OpenBSD image formatted on your USB device and that your computer/laptop is set to boot from USB via the BIOS.
+
+## Installation
+
+1. Boot from USB
+2. Choose `Install`
+3. Keyboard layout: `us`
+4. Hostname: `x220` (or whatever you choose)
+5. Network: `em0`
+6. IPv4: `autoconf`
+7. IPv6: `none`
+8. Network interface: `done`
+9. Password for root
+10. Start sshd by default? `yes`
+11. X Window System start with xenodm? `no`
+12. Setup user? `username` (follow setup user steps)
+13. Allow root ssh login? `no`
+14. Timezone
+15. Which disk? Use internal (`sd0` etc.)
+16. Encrypt root disk? `no`
+17. Use `WHOLE` disk
+18. Use `AUTO` layout
+19. Which disk to initialize: `done`
+20. Location of sets: `http`
+21. HTTP Proxy URL? `none`
+22. HTTP Server? `1` (Toronto)
+23. Confirm again
+24. Server directory? `pub/OpenBSD/7.5/amd64`
+25. Set names? `done`
+26. Drink some coffee while it verifies (depends on network speed)
+27. Location of sets? `done`
+28. Congrats!
+29. Reboot and remove USB device
+
+## First Boot Tweaks
+
+### User Permissions
+
+Before we do anything, we should give our main user full access via `doas`. Login as `root` and run the following:
+
+ echo "permit nopass :wheel" >> /etc/doas.conf
+
+Now you can logout or reboot the machine.
+
+Running any of the commands might present you with a permissions error. If that happens, simply add `doas` to the start of every command.
+
+### Firmware
+
+Once your machine reboots, login as your created user. The next steps will help you ensure you have the latest firmware.
+
+Simply run the command: `fw_update`
+
+
+### WiFi
+
+To enable wifi on your device, run the following command (filling in the proper details where need be)
+
+ ifconfig iwn0 up
+ ifconfig iwn0 scan
+ echo "join WIFI-NAME wpakey PASSPHRASE" >> /etc/hostname.iwn0
+ echo "dhcp" >> /etc/hostname.iwn0
+ echo "inet6 autoconf" >> /etc/hostname.iwn0
+ echo "up powersave" >> /etc/hostname.iwn0
+ dhclient iwn0
+
+Take note of the `iwn0`, as this might differ on your machine. (You can check this by running `ifconfig`)
+
+You might also need to run `doas sh /etc/netstart` after.
+
+
+### Performance Boost
+
+This step is optional and targeted towards devices with batteries (obviously). Properly setup apmd:
+
+ rcctl enable apmd
+ rcctl set apmd flags -A
+ rcctl start apmd
+
+
+## Next Steps
+
+Now that the base system is up and running, it is time to setup our desktop environment:
+
+[Setting up a Desktop Environment for OpenBSD &rarr;](/wiki/openbsd/desktop_environment)
diff --git a/wiki/ps2.md b/wiki/ps2.md
new file mode 100644
index 0000000..bf8b752
--- /dev/null
+++ b/wiki/ps2.md
@@ -0,0 +1,10 @@
+---
+layout: page
+title: PS2
+permalink: /wiki/ps2
+---
+
+This page contains information about setting up PS2 hardware (and emulators) to work with online play.
+
+* [PCSX2](/wiki/ps2/pcsx2)
+* [Networking](/wiki/ps2/networking)
diff --git a/wiki/ps2_networking.md b/wiki/ps2_networking.md
new file mode 100644
index 0000000..1066520
--- /dev/null
+++ b/wiki/ps2_networking.md
@@ -0,0 +1,21 @@
+---
+layout: page
+title: PS2 Networking
+permalink: /wiki/ps2/networking
+---
+
+This page contains all the information to get up and running with online servers for PS2 games. The instructions below work for both stock hardware and emulators.
+
+## DNS Changes
+
+In the game settings (depending on the game) change your Primary DNS information to the following:
+
+ 45.7.228.197
+
+## Emulator Settings
+
+![Mac OS Settings](/public/images/Screenshot_2024-03-20_at_10.49.01__8239__AM.png)
+
+If you're finding things tricky, [this YouTube video is extremely helpful](https://www.youtube.com/watch?v=9uXjpkBNkCk).
+
+That's it!
diff --git a/wiki/ps2_pcsx2.md b/wiki/ps2_pcsx2.md
new file mode 100644
index 0000000..c32ec52
--- /dev/null
+++ b/wiki/ps2_pcsx2.md
@@ -0,0 +1,15 @@
+---
+layout: page
+title: PCSX2
+permalink: /wiki/ps2/pcsx2
+---
+
+This page contains details on setting up PCSX2 on MacOS.
+
+1. Download the Mac version of the emulator from: [https://pcsx2.net](https://pcsx2.net)
+2. Grab the PS2 BIOS file [here](https://www.retrostic.com/bios/pcsx2-playstation-2)
+3. Place this `ps2-bios` folder under `Library > Application Support > PCSX2 > bios`
+4. Open the application by right-clicking and selecting `Open` (avoids security issues)
+5. Select the `.bin` file with the USA flag
+6. Select your game directory. Grab game ROMs from [here](https://vimm.net/vault/?system=PS2) (For example, [Battlefront 2](https://vimm.net/vault/9362))
+7. Have fun!
diff --git a/wiki/qutebrowser.md b/wiki/qutebrowser.md
new file mode 100644
index 0000000..41effd0
--- /dev/null
+++ b/wiki/qutebrowser.md
@@ -0,0 +1,32 @@
+---
+layout: page
+title: Qutebrowser
+permalink: /wiki/qutebrowser
+---
+
+This page contains all the custom configuration for qutebrowser.
+
+### Greasemonkey
+
+All of these scripts should be added under `~/.local/share/qutebrowser/greasemonkey/`. Then be sure to run the proper command within qutebrowser: `:greasemonkey-reload`
+
+#### Auto Skip YouTube Ads
+
+ // ==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(() => {
+ 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)
diff --git a/wiki/safari.md b/wiki/safari.md
new file mode 100644
index 0000000..1ada79f
--- /dev/null
+++ b/wiki/safari.md
@@ -0,0 +1,35 @@
+---
+layout: page
+title: Safari
+permalink: /wiki/safari
+---
+
+This page contains details on how to properly configure Safari for the best user experience.
+
+## Extensions
+
+To avoid being bombarded with tracking scripts and advertisements, you'll want to install the following Safari extensions:
+
+* [AdGuard](https://adguard.com/en/adguard-mac/overview.html)
+* [AdBlock](https://adblockplus.org/ad-blocker-safari)
+
+## Web Browsing QoL
+
+Display full links on hover (similar to default config for Firefox, Chrome):
+
+1. Open the `View` menu item
+2. Click `Show Status Bar`
+
+Display full URL address in open tabs:
+
+![Safari toggling ful adress URLs](/public/images/safari-full-address.png)
+
+## Custom CSS
+
+Include a "master" CSS file to override specific sites/elements with your own styling.
+
+1. Open Safari `Settings`
+2. Navigate to the `Advanced` tab
+3. Select your custom CSS file in the dropdown
+
+![Safari toggling ful adress URLs](/public/images/safari-settings-custom-css.png)
diff --git a/wiki/scripts.md b/wiki/scripts.md
new file mode 100644
index 0000000..cabd288
--- /dev/null
+++ b/wiki/scripts.md
@@ -0,0 +1,78 @@
+---
+layout: page
+title: Scripts
+permalink: /wiki/scripts
+---
+
+This page contains helpful scripts and useful terminal commands.
+
+## Docker
+
+Installing `ghost`
+
+
+ docker pull ghost
+ 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
+
+
+## `ffmpeg` to MP4
+
+
+ ffmpeg -i input_filename.avi -c:v copy -c:a copy -y output_filename.mp4
+
+
+## Mount USB HDD via CLI
+
+
+ mkdir /media/usb-drive
+ mount /dev/sdX /media/usb-drive/
+
+
+## Fix screen tearing
+
+
+ sudo vim /etc/X11/xorg.conf.d/20-intel.conf
+
+
+Add the following contents to `20-intel.conf`:
+
+
+ Section "OutputClass"
+ Identifier "Intel Graphics"
+ MatchDriver "i915"
+ Driver "intel"
+ Option "DRI" "3"
+ Option "TearFree" "1"
+ EndSection
+
+
+## Enabling "tap to click"
+
+
+ sudo micro /etc/X11/xorg.conf.d/30-touchpad.conf
+
+
+Add the following contents to `30-touchpad.conf`:
+
+
+ Section "InputClass"
+ Identifier "touchpad"
+ Driver "libinput"
+ MatchIsTouchpad "on"
+ Option "Tapping" "on"
+ Option "TappingButtonMap" "lmr"
+ EndSection
+
+
+## Woocommerce
+
+**Reset all product menu_order to `0`**
+
+
+ UPDATE wp_posts SET menu_order = 0 WHERE post_type = 'product';
+
diff --git a/wiki/sublime-text.md b/wiki/sublime-text.md
new file mode 100644
index 0000000..f72cc6f
--- /dev/null
+++ b/wiki/sublime-text.md
@@ -0,0 +1,51 @@
+---
+layout: page
+title: Sublime Text
+permalink: /wiki/sublime-text
+---
+
+Personal configuration for the text editor Sublime Text ([https://www.sublimetext.com/](sublimetext.com/))
+
+## Themes / Color Schemes
+
+* Theme: Default
+* Color scheme is set to `auto`:
+ * Light scheme: `Breakers`
+ * Dark scheme: `Dracula`
+
+## Plugins
+
+* BracketHighlighter
+* Copy Relative Path
+* Dracula Color Scheme
+* Emmet
+* Package Control
+
+## Settings
+
+
+ {
+ "ignored_packages":
+ [
+ "Vintage",
+ ],
+ "color_scheme": "auto",
+ "dark_color_scheme": "Packages/Dracula Color Scheme/Dracula.tmTheme",
+ "light_color_scheme": "Packages/Colorsublime - Themes/Butterfly.tmTheme",
+ "font_face": "JetBrains Mono NL",
+ "font_size": 14,
+ "line_padding_top": 3,
+ "line_padding_bottom": 3,
+ "highlight_line": true,
+ "word_wrap": true,
+ "dark_theme": "Default Dark.sublime-theme",
+ "light_theme": "Default.sublime-theme",
+ "tab_size": 2,
+ "theme": "auto",
+ "index_files": true,
+ "show_definitions": false,
+ "show_full_path": true,
+ /*"tab_size": 2,*/
+ "translate_tabs_to_spaces": true,
+ }
+
diff --git a/wiki/ubuntu.md b/wiki/ubuntu.md
new file mode 100644
index 0000000..563d620
--- /dev/null
+++ b/wiki/ubuntu.md
@@ -0,0 +1,89 @@
+---
+layout: page
+title: Ubuntu
+permalink: /wiki/ubuntu
+---
+
+This page contains a wide range of common scripts / application setups for Ubuntu
+
+## MongoDB 3.4 on Ubuntu 23.10
+
+ 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 "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
+
+Now edit `/etc/apt/sources.list.d/mongodb-org-3.4.list`:
+
+ deb [trusted=yes] http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4...
+
+Then finish things up:
+
+ sudo apt-get update --allow-unauthenticated
+ sudo apt-get install -y mongodb-org
+
+ sudo mkdir -p /data/db
+ sudo chmod -R 777 /data/db
+
+## Redis 6.0.7 on Ubuntu 23.10
+
+ 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
+
+Install redis:
+
+ make
+ make test
+ sudo make install
+
+ sudo mkdir /etc/redis
+ sudo cp /tmp/redis-6.0.7/redis.conf /etc/redis
+
+Edit `/etc/redis/redis.conf` with the following changes:
+
+- `supervised systemd`
+- `dir /var/lib/redis`
+
+Create systemd unit file for redis: `/etc/systemd/system/redis.service`:
+
+ [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
+
+Final steps:
+
+ 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
+
+## Ruby 2.7.2 with rbenv on Ubuntu 23.10
+
+Edit the `/etc/apt/sources.list` file:
+
+ deb [trusted=yes] http://security.ubuntu.com/ubuntu bionic-security main
+
+Then run `sudo apt-get update`. After completion, install `libssl1.0-dev`:
+
+ sudo apt-get install libssl1.0-dev
+
+Install `rbenv` and be sure to include the following in `.zshrc`:
+
+ export PATH="$HOME/.rbenv/bin:$PATH"
+ eval "$(rbenv init -)"
+
+
diff --git a/wiki/xbox.md b/wiki/xbox.md
new file mode 100644
index 0000000..5a50268
--- /dev/null
+++ b/wiki/xbox.md
@@ -0,0 +1,9 @@
+---
+layout: page
+title: Xbox
+permalink: /wiki/xbox
+---
+
+This page contains all the details of my personal setup for the original Xbox console. This includes cleaning, repasting thermals, soft modding and more.
+
+* [Softmodding](/wiki/xbox/softmodding)
diff --git a/wiki/xbox_softmodding.md b/wiki/xbox_softmodding.md
new file mode 100644
index 0000000..9ef70d4
--- /dev/null
+++ b/wiki/xbox_softmodding.md
@@ -0,0 +1,28 @@
+---
+layout: page
+title: Xbox Softmodding
+permalink: /wiki/xbox/softmodding
+---
+
+This page details the instructions on how to soft mod an original Xbox console (v1.6 in this instance) using a USB flash drive.
+
+## Materials
+
+* A Female USB to Xbox controller port adapter
+* A USB flash drive that is 4GB or smaller
+* (Optional) If running MacOS, a working install of Windows via UTM
+
+## Preparing the USB Drive
+
+* Turn on your console and connect your USB drive via the controller port adapter
+* Navigate to `Memory` from the Xbox Dashboard
+* Select the device from the available options (WARNING: This is erase everything on the USB)
+* Remove the USB
+
+## Running the Exploit
+
+* Download the [Xbox Softmodding Tool.zip](https://drive.google.com/drive/folders/1Gs_yYVotDxAxtHZeHUVr_ts7KeMgqEmQ), open it, open the Softmod Package folder, and extract the contents of Endgame.zip. It should be a folder named `helper`, a folder named `trigger`, and a file called `payload.xbe`.
+* Copy the helper folder, trigger folder, and payload.xbe to the root of your flash drive or memory unit.
+* Plug the memory device into your controller and turn on the Xbox. Select "Memory", then click your memory device. It will freeze for a minute and then the LED ring on the front of your Xbox should cycle colors before booting into the softmod installer.
+* Press A to install the softmod. Read the prompts that come up and press A to acknowledge them. Your Xbox will reboot.
+* The tool will finish setting up. You will be left on the Xbox Softmodding Tool dashboard, which is just a skinned UnleashX dashboard. You can change the skin under System → Skins.