https://kylrth.com/post/Recent content in Posts on Kyle RothHugo -- gohugo.ioen-usMon, 18 Apr 2022 23:08:52 -0400https://kylrth.com/post/wordburner/Mon, 18 Apr 2022 23:08:52 -0400https://kylrth.com/post/wordburner/Update 2022-04-27: The beta is over, but the apk is still installable with the instructions below and any feedback sent from inside the app will be received by me. I’m going to be working on this more over the summer, and eventually publishing it on the app store. :) Ever since learning Spanish, it has been a dream of mine to create a vocabulary study app that meets my needs. Duolingo won’t cover advanced vocabulary, Anki requires manually-generated decks, and other apps have expensive subscription plans.https://kylrth.com/post/ethics-drift/Fri, 01 Apr 2022 08:35:54 -0400https://kylrth.com/post/ethics-drift/Here are some snippets from a Lex Fridman interview with John Abramson, outspoken critic of Big Pharma. Lex: Are people corrupt? Are people malevolent? Are people ignorant that work at the low level and at the high level, at Pfizer for example? How is this possible? I believe that most people are good, and I actually believe if you join Big Pharma your life trajectory often involves dreaming, wanting, and enjoying helping people.https://kylrth.com/post/neuroscience/Thu, 31 Mar 2022 10:02:44 -0400https://kylrth.com/post/neuroscience/How much of brain structure is coded for in the genome? For example, the hippocampus is generally thought to be responsible for consolidating long-term memories. Is the specialization of this region an epigenetic phenomenon due to optimization in the environment, or is it coded more directly? Will we eventually see these structures emerge in artificial networks with sufficient scale and good optimization, or will we need to code it more directly?https://kylrth.com/post/tasks-stack-heap/Tue, 22 Mar 2022 11:23:20 -0400https://kylrth.com/post/tasks-stack-heap/Often when someone (usually a professor) is sharing their screen I see that their browser has so many tabs open that the descriptions are lost: That was my best impersonation as a Firefox user. Chrome will let you go a lot further (like ~113 tabs) before starting to provide a dropdown to show you the list of open tabs: Besides the obvious fact that this makes it hard to find a tab you’re looking for, you also waste computer memory and add to your cognitive load while you’re working.https://kylrth.com/post/philip-goff/Wed, 09 Mar 2022 09:39:16 -0500https://kylrth.com/post/philip-goff/Here are some snippets from a Lex Fridman interview with Philip Goff, a panpsychist. The Enlightenment ideal is to follow the evidence and the arguments where they lead, but it’s very hard for human beings to do that. I think we get stuck in some conception of how we think science ought to look. People talk about religion as a crutch, but I think a certain kind of scientism, a certain conception of how science is supposed to be, gets into people’s identity and their sense of themselves and their security.https://kylrth.com/post/tor-onion-service/Thu, 24 Feb 2022 18:28:49 -0500https://kylrth.com/post/tor-onion-service/Tor onions are a way to host secure services that protect the anonymity of you and your clients. It also removes load from Tor exit nodes. If you open this page in the Tor browser it will redirect you to the following address: http://kylrthjj7mpvktolz7u6fnudt3hpdvjw4hzquanjpepgsf5vcq5divad.onion/post/tor-onion-service/ which can only be opened from inside the Tor network. getting started To host an onion service, we’ll have a Docker container running Tor that decodes requests and forwards them to another container hosting the service.https://kylrth.com/post/meaning-making/Tue, 01 Feb 2022 14:35:37 -0500https://kylrth.com/post/meaning-making/Here are some snippets from a Lex Fridman interview with Peter Wang, co-founder and CEO of Anaconda: For a lot of human history, there wasn’t so much a meaning crisis as just a food and not getting eaten by bears crisis. Once you get to a point where you can make food there was a not getting killed by other humans crisis. Sitting around wondering what it’s all about is a relatively recent luxury.https://kylrth.com/post/avatarify/Wed, 24 Nov 2021 11:58:34 -0500https://kylrth.com/post/avatarify/Avatarify is a cool project that lets you create a relatively realistic avatar that you can use during video meetings. It works by creating a fake video input device and passing your video input through a neural network in PyTorch. My laptop doesn’t have a GPU, so I used the server/client setup. setting up the server Be sure you’ve installed the Nvidia Docker runtime so that the Docker container can use the GPU.https://kylrth.com/post/self-hosting/Tue, 23 Nov 2021 07:57:00 -0500https://kylrth.com/post/self-hosting/I host several services on an Alienware gaming computer I keep at my apartment. (We call it the spaceship.) I originally got the computer so I could have a computer with a GPU for machine learning projects, but I’ve since started using this computer to host a bunch of different services. Here I’ve documented how I set up the server. operating system To keep things simple I use Ubuntu 20.04 LTS.https://kylrth.com/post/qu%C3%A9bec/Fri, 29 Oct 2021 11:55:00 -0400https://kylrth.com/post/qu%C3%A9bec/We just moved our family from Utah, USA, to Montréal, Québec, Canada. I entered Canada on August 18, 2021 by car, and my wife and daughter entered a few days later by air. The process actually began on April 27 when I got my acceptance letter to the Université de Montréal as a master’s student in the Département d’informatique et de recherche opérationelle. After a few days of scrambling to find out if I would be able to study there without knowing French (turns out you can as a grad student at DIRO!https://kylrth.com/post/jupyter-lab/Tue, 19 Oct 2021 20:28:25 -0400https://kylrth.com/post/jupyter-lab/This is how I set up my headless home server with a Jupyter Lab Docker container with an Nvidia GPU runtime. Login is handled by a GitHub OAuth application. Nvidia drivers and the container runtime First, check here (replacing the CUDA version in the URL with your own) to see which Nvidia drivers you need for the CUDA toolkit version you want. I’m using CUDA 11.4.2, which means I need at least driver version 470.https://kylrth.com/post/minecraft/Mon, 02 Aug 2021 13:25:28 -0600https://kylrth.com/post/minecraft/This guide shows how to host multiple Minecraft servers on a single machine with docker-compose. mkdir minecraft_server cd minecraft_server mkdir data/ wget https://kylrth.com/post/minecraft/docker-compose.yml \ -O docker-compose.yml This docker-compose setup uses itzg’s Docker image, which you see further documentation for here. If you’re moving from a vanilla Minecraft world, do the following to get the different world directories in the right position: cp -r ${OLD}/world data/server/world mkdir data/server/world_{nether,the_end} mv data/server/world/DIM-1 data/server/world_nether/DIM-1 mv data/server/world/DIM1 data/server/world_the_end/DIM1 Here’s the map from vanilla Minecraft directories to Spigot directories (which is what itzg’s container uses):https://kylrth.com/post/matrix-setup/Mon, 02 Aug 2021 10:30:00 -0600https://kylrth.com/post/matrix-setup/This is how I set up my own Matrix server on a Raspberry Pi with Docker. Unfortunately, the Matrix community has stopped releasing ARM images, so the latest version that will work on ARM is v1.26.0. These instructions will work the same for x86_64 systems, except you’ll be able to use the default x86_64 images in the docker-compose file. This installation comes with Maubot and matrix-registration containers too. If you don’t want to use those features, leave out those sections of the docker-compose config and don’t follow the instructions in the corresponding sections.https://kylrth.com/post/latex-vscode/Mon, 12 Jul 2021 21:43:47 -0600https://kylrth.com/post/latex-vscode/LaTeX has a ton of different flavors, releases, and installations: MacTeX, MiKTeX, TeXworks, XeTeX, pdfTeX, LuaTeX… If you’re using Linux and just want to edit LaTeX files in Visual Studio Code and have them automatically rendered as PDFs, follow these instructions: On Arch-based distros, install the packages listed here. On Debian-based systems, sudo apt install texlive. Install some Perl dependencies: sudo cpan Log::Log4perl Log::LogDispatch Log::Dispatch::File YAML::Tiny File::HomeDir If you want to use FontAwesome on Arch-based systems, install the oft-font-awesome package and then do the following (source):https://kylrth.com/post/gpg/Mon, 12 Apr 2021 07:13:54 -0600https://kylrth.com/post/gpg/GPG is cool. You can use GPG to send encrypted messages, sign files to prove you generated them, and sign git commits to prove you committed them. You can get my key here. DigitalOcean has a neat guide to getting started with GPG. It explains asymmetric encryption, key generation and revocation, and key signing and maintenance. Git commit authorship can be modified by anyone, as demonstrated by this tool. But by uploading your GPG public key to GitHub, you allow anyone who trusts GitHub to be sure that commits marked “verified” were actually created by you.https://kylrth.com/post/art/Sat, 03 Apr 2021 22:16:52 -0600https://kylrth.com/post/art/Here’s some of my favorite art. Edvard Munch, The Scream, 1893 (source) Ben Shahn, All That Is Beautiful, 1966 (source) Peter Doig, Architect’s Home in the Ravine, 1991 (source)https://kylrth.com/post/removing-keyword-from-git-history/Wed, 02 Dec 2020 11:34:25 -0700https://kylrth.com/post/removing-keyword-from-git-history/I recently had to remove a keyword from the git history of a project I was working on. This meant not just removing a file but modifying commits where the keyword was added, commits where the keyword was removed, and even commits with the keyword in the commit message. I eventually came to the right solution through a mix of blog posts and the documentation for git rebase. For this example, assume the keyword is “matrix”.https://kylrth.com/post/matrix-registration/Sun, 02 Feb 2020 12:34:56 -0700https://kylrth.com/post/matrix-registration/Matrix is a federated, open source chat system. By federated, we mean that people can communicate across different servers, like in the image below. In that way, it works sort of like email: even though you may use you@gmail.com and I might use me@kylrth.com, we can still write each other emails. In our case, I host the server at matrix.kylrth.com, and you and I can connect to it with various clients.

<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">

<channel>

<title>Posts on Kyle Roth</title>

<link>https://kylrth.com/post/</link>

<description>Recent content in Posts on Kyle Roth</description>

<generator>Hugo -- gohugo.io</generator>

<language>en-us</language>

<lastBuildDate>Mon, 18 Apr 2022 23:08:52 -0400</lastBuildDate>

<atom:link href="https://kylrth.com/post/index.xml" rel="self" type="application/rss+xml"/>

<item>

<title>WordBurner beta</title>

<link>https://kylrth.com/post/wordburner/</link>

<pubDate>Mon, 18 Apr 2022 23:08:52 -0400</pubDate>

<guid>https://kylrth.com/post/wordburner/</guid>

<description>Update 2022-04-27: The beta is over, but the apk is still installable with the instructions below and any feedback sent from inside the app will be received by me. I&rsquo;m going to be working on this more over the summer, and eventually publishing it on the app store. :) Ever since learning Spanish, it has been a dream of mine to create a vocabulary study app that meets my needs. Duolingo won&rsquo;t cover advanced vocabulary, Anki requires manually-generated decks, and other apps have expensive subscription plans.</description>

...

</item>

<item>

<title>ethics drift within bubbles</title>

<link>https://kylrth.com/post/ethics-drift/</link>

<pubDate>Fri, 01 Apr 2022 08:35:54 -0400</pubDate>

<guid>https://kylrth.com/post/ethics-drift/</guid>

<description>Here are some snippets from a Lex Fridman interview with John Abramson, outspoken critic of Big Pharma. Lex: Are people corrupt? Are people malevolent? Are people ignorant that work at the low level and at the high level, at Pfizer for example? How is this possible? I believe that most people are good, and I actually believe if you join Big Pharma your life trajectory often involves dreaming, wanting, and enjoying helping people.</description>

...

</item>

<item>

<title>notes about neuroscience</title>

<link>https://kylrth.com/post/neuroscience/</link>

<pubDate>Thu, 31 Mar 2022 10:02:44 -0400</pubDate>

<guid>https://kylrth.com/post/neuroscience/</guid>

<description>How much of brain structure is coded for in the genome? For example, the hippocampus is generally thought to be responsible for consolidating long-term memories. Is the specialization of this region an epigenetic phenomenon due to optimization in the environment, or is it coded more directly? Will we eventually see these structures emerge in artificial networks with sufficient scale and good optimization, or will we need to code it more directly?</description>

...

</item>

<item>

<title>keep your tasks in the heap</title>

<link>https://kylrth.com/post/tasks-stack-heap/</link>

<pubDate>Tue, 22 Mar 2022 11:23:20 -0400</pubDate>

<guid>https://kylrth.com/post/tasks-stack-heap/</guid>

<description>Often when someone (usually a professor) is sharing their screen I see that their browser has so many tabs open that the descriptions are lost: That was my best impersonation as a Firefox user. Chrome will let you go a lot further (like ~113 tabs) before starting to provide a dropdown to show you the list of open tabs: Besides the obvious fact that this makes it hard to find a tab you&rsquo;re looking for, you also waste computer memory and add to your cognitive load while you&rsquo;re working.</description>

...

</item>

<item>

<title>quotes from a Lex Fridman interview with Philip Goff</title>

<link>https://kylrth.com/post/philip-goff/</link>

<pubDate>Wed, 09 Mar 2022 09:39:16 -0500</pubDate>

<guid>https://kylrth.com/post/philip-goff/</guid>

<description>Here are some snippets from a Lex Fridman interview with Philip Goff, a panpsychist. The Enlightenment ideal is to follow the evidence and the arguments where they lead, but it&rsquo;s very hard for human beings to do that. I think we get stuck in some conception of how we think science ought to look. People talk about religion as a crutch, but I think a certain kind of scientism, a certain conception of how science is supposed to be, gets into people&rsquo;s identity and their sense of themselves and their security.</description>

...

</item>

<item>

<title>hosting a Tor onion service</title>

<link>https://kylrth.com/post/tor-onion-service/</link>

<pubDate>Thu, 24 Feb 2022 18:28:49 -0500</pubDate>

<guid>https://kylrth.com/post/tor-onion-service/</guid>

<description>Tor onions are a way to host secure services that protect the anonymity of you and your clients. It also removes load from Tor exit nodes. If you open this page in the Tor browser it will redirect you to the following address: http://kylrthjj7mpvktolz7u6fnudt3hpdvjw4hzquanjpepgsf5vcq5divad.onion/post/tor-onion-service/ which can only be opened from inside the Tor network. getting started To host an onion service, we&rsquo;ll have a Docker container running Tor that decodes requests and forwards them to another container hosting the service.</description>

...

</item>

<item>

<title>meaning-making in the post-modern world</title>

<link>https://kylrth.com/post/meaning-making/</link>

<pubDate>Tue, 01 Feb 2022 14:35:37 -0500</pubDate>

<guid>https://kylrth.com/post/meaning-making/</guid>

<description>Here are some snippets from a Lex Fridman interview with Peter Wang, co-founder and CEO of Anaconda: For a lot of human history, there wasn&rsquo;t so much a meaning crisis as just a food and not getting eaten by bears crisis. Once you get to a point where you can make food there was a not getting killed by other humans crisis. Sitting around wondering what it&rsquo;s all about is a relatively recent luxury.</description>

...

</item>

<item>

<title>avatarify</title>

<link>https://kylrth.com/post/avatarify/</link>

<pubDate>Wed, 24 Nov 2021 11:58:34 -0500</pubDate>

<guid>https://kylrth.com/post/avatarify/</guid>

<description>Avatarify is a cool project that lets you create a relatively realistic avatar that you can use during video meetings. It works by creating a fake video input device and passing your video input through a neural network in PyTorch. My laptop doesn&rsquo;t have a GPU, so I used the server/client setup. setting up the server Be sure you&rsquo;ve installed the Nvidia Docker runtime so that the Docker container can use the GPU.</description>

...

</item>

<item>

<title>hosting my own web services</title>

<link>https://kylrth.com/post/self-hosting/</link>

<pubDate>Tue, 23 Nov 2021 07:57:00 -0500</pubDate>

<guid>https://kylrth.com/post/self-hosting/</guid>

<description>I host several services on an Alienware gaming computer I keep at my apartment. (We call it the spaceship.) I originally got the computer so I could have a computer with a GPU for machine learning projects, but I&rsquo;ve since started using this computer to host a bunch of different services. Here I&rsquo;ve documented how I set up the server. operating system To keep things simple I use Ubuntu 20.04 LTS.</description>

...

</item>

<item>

<title>moving to Québec</title>

<link>https://kylrth.com/post/qu%C3%A9bec/</link>

<pubDate>Fri, 29 Oct 2021 11:55:00 -0400</pubDate>

<guid>https://kylrth.com/post/qu%C3%A9bec/</guid>

<description>We just moved our family from Utah, USA, to Montréal, Québec, Canada. I entered Canada on August 18, 2021 by car, and my wife and daughter entered a few days later by air. The process actually began on April 27 when I got my acceptance letter to the Université de Montréal as a master&rsquo;s student in the Département d&rsquo;informatique et de recherche opérationelle. After a few days of scrambling to find out if I would be able to study there without knowing French (turns out you can as a grad student at DIRO!</description>

...

</item>

<item>

<title>Jupyter Lab Hub in Docker with Nvidia GPU support</title>

<link>https://kylrth.com/post/jupyter-lab/</link>

<pubDate>Tue, 19 Oct 2021 20:28:25 -0400</pubDate>

<guid>https://kylrth.com/post/jupyter-lab/</guid>

<description>This is how I set up my headless home server with a Jupyter Lab Docker container with an Nvidia GPU runtime. Login is handled by a GitHub OAuth application. Nvidia drivers and the container runtime First, check here (replacing the CUDA version in the URL with your own) to see which Nvidia drivers you need for the CUDA toolkit version you want. I&rsquo;m using CUDA 11.4.2, which means I need at least driver version 470.</description>

...

</item>

<item>

<title>Minecraft in Docker</title>

<link>https://kylrth.com/post/minecraft/</link>

<pubDate>Mon, 02 Aug 2021 13:25:28 -0600</pubDate>

<guid>https://kylrth.com/post/minecraft/</guid>

<description>This guide shows how to host multiple Minecraft servers on a single machine with docker-compose. mkdir minecraft_server cd minecraft_server mkdir data/ wget https://kylrth.com/post/minecraft/docker-compose.yml \ -O docker-compose.yml This docker-compose setup uses itzg&rsquo;s Docker image, which you see further documentation for here. If you&rsquo;re moving from a vanilla Minecraft world, do the following to get the different world directories in the right position: cp -r ${OLD}/world data/server/world mkdir data/server/world_{nether,the_end} mv data/server/world/DIM-1 data/server/world_nether/DIM-1 mv data/server/world/DIM1 data/server/world_the_end/DIM1 Here&rsquo;s the map from vanilla Minecraft directories to Spigot directories (which is what itzg&rsquo;s container uses):</description>

...

</item>

<item>

<title>Matrix setup with Synapse, Postgres, Maubot, and matrix-registration</title>

<link>https://kylrth.com/post/matrix-setup/</link>

<pubDate>Mon, 02 Aug 2021 10:30:00 -0600</pubDate>

<guid>https://kylrth.com/post/matrix-setup/</guid>

<description>This is how I set up my own Matrix server on a Raspberry Pi with Docker. Unfortunately, the Matrix community has stopped releasing ARM images, so the latest version that will work on ARM is v1.26.0. These instructions will work the same for x86_64 systems, except you&rsquo;ll be able to use the default x86_64 images in the docker-compose file. This installation comes with Maubot and matrix-registration containers too. If you don&rsquo;t want to use those features, leave out those sections of the docker-compose config and don&rsquo;t follow the instructions in the corresponding sections.</description>

...

</item>

<item>

<title>I really just want to edit and compile my LaTeX files in VS Code</title>

<link>https://kylrth.com/post/latex-vscode/</link>

<pubDate>Mon, 12 Jul 2021 21:43:47 -0600</pubDate>

<guid>https://kylrth.com/post/latex-vscode/</guid>

<description>LaTeX has a ton of different flavors, releases, and installations: MacTeX, MiKTeX, TeXworks, XeTeX, pdfTeX, LuaTeX&hellip; If you&rsquo;re using Linux and just want to edit LaTeX files in Visual Studio Code and have them automatically rendered as PDFs, follow these instructions: On Arch-based distros, install the packages listed here. On Debian-based systems, sudo apt install texlive. Install some Perl dependencies: sudo cpan Log::Log4perl Log::LogDispatch Log::Dispatch::File YAML::Tiny File::HomeDir If you want to use FontAwesome on Arch-based systems, install the oft-font-awesome package and then do the following (source):</description>

...

</item>

<item>

<title>using GPG to prove you wrote your code</title>

<link>https://kylrth.com/post/gpg/</link>

<pubDate>Mon, 12 Apr 2021 07:13:54 -0600</pubDate>

<guid>https://kylrth.com/post/gpg/</guid>

<description>GPG is cool. You can use GPG to send encrypted messages, sign files to prove you generated them, and sign git commits to prove you committed them. You can get my key here. DigitalOcean has a neat guide to getting started with GPG. It explains asymmetric encryption, key generation and revocation, and key signing and maintenance. Git commit authorship can be modified by anyone, as demonstrated by this tool. But by uploading your GPG public key to GitHub, you allow anyone who trusts GitHub to be sure that commits marked &ldquo;verified&rdquo; were actually created by you.</description>

...

</item>

<item>

<title>favorite art</title>

<link>https://kylrth.com/post/art/</link>

<pubDate>Sat, 03 Apr 2021 22:16:52 -0600</pubDate>

<guid>https://kylrth.com/post/art/</guid>

<description>Here&rsquo;s some of my favorite art. Edvard Munch, The Scream, 1893 (source) Ben Shahn, All That Is Beautiful, 1966 (source) Peter Doig, Architect&rsquo;s Home in the Ravine, 1991 (source)</description>

...

</item>

<item>

<title>Removing a keyword from git history</title>

<link>https://kylrth.com/post/removing-keyword-from-git-history/</link>

<pubDate>Wed, 02 Dec 2020 11:34:25 -0700</pubDate>

<guid>https://kylrth.com/post/removing-keyword-from-git-history/</guid>

<description>I recently had to remove a keyword from the git history of a project I was working on. This meant not just removing a file but modifying commits where the keyword was added, commits where the keyword was removed, and even commits with the keyword in the commit message. I eventually came to the right solution through a mix of blog posts and the documentation for git rebase. For this example, assume the keyword is &ldquo;matrix&rdquo;.</description>

...

</item>

<item>

<title>using Matrix</title>

<link>https://kylrth.com/post/matrix-registration/</link>

<pubDate>Sun, 02 Feb 2020 12:34:56 -0700</pubDate>

<guid>https://kylrth.com/post/matrix-registration/</guid>

<description>Matrix is a federated, open source chat system. By federated, we mean that people can communicate across different servers, like in the image below. In that way, it works sort of like email: even though you may use you@gmail.com and I might use me@kylrth.com, we can still write each other emails. In our case, I host the server at matrix.kylrth.com, and you and I can connect to it with various clients.</description>

...

</item>

...

</channel>

...

</rss>