Daniel Martin

Dan's Tech Journey

My Github



My name is Dan and I write this Blog to share my journeys as I figure things out in technology. New posts should pop up here often. Thanks for visiting my website! Click on “Posts” to see all of the posts I’ve made so far.

Kasm Setup and Basics

Kasm Setup and Basics This post is to go over something that I heard about recently called Kasm. This program allows you to host docker container as desktop environments remotely over a web browser for any number of users. I will be going over installation and basic usage. Requirements Everything in this section comes from the Kasm Documentation. Server Requirements 2 CPU Cores 4 GB of RAM 50 GB of Storage preferably SSD Client Requirements Chrome 49+ Edge 14+ Firefox 48+ Internet Explorer 11 Safari 11+ Server Installation Download Install Download the install from here.

DigitalOcean Trial

Over my Christmas break I found many cloud providers were offering free trials or free $100 towards the first two months of usage. I always wanted to get into trying a setup in the cloud so this post will be about my dive into cloud for the first time at home. I take no responsibility for costs associated with testing this out. Project Description The goal is to have a way to setup an environment to teach python online.

Encrypting USB Drives

One thing I started doing was carrying a USB drive on my keychain. One issue I thought of is what happens if I lose my keys? Anyone who picks it up could read all of the info I keep on it. Here is a guide to fix that by encrypting the USB drive. Downloads First we need to download VeraCrypt for the OS you are using. I will be downloading VeraCrypt for Ubuntu, Mac OS, and Windows.

Thetis FIDO U2F Key Ubuntu

Over Christmas I received a Thetis u2f key. I had some issues setting it up and will document the process here. Install Packages First step is to install the necessary pam packages. sudo apt update && apt install libpam-u2f Udev Rules For Thetis we need to setup some udev rules. I found this referenced on their support page here under “Does it support Ubuntu”. You will need to reboot after setting those rules up.

ngrok Linux Setup

Recently I found out about a service called ngrok that allows you to connect to your home server using public access points. The cool thing here is that you can specify certain ports. With ngrok setup correctly you can reach your server services from anywhere. In this tutorial I will be using SSH. If you do use this guide, please make sure to secure the port you are exposing to the open internet.

Ubuntu Desktop Freezing after Suspend

Recently my Ubuntu Desktop has been unable to wake after a suspend. Here is my current OS version and hardware information. Perhaps you are in the same situation. The following output is created using the inxi -F command. System: Kernel: 5.11.0-43-generic x86_64 bits: 64 Desktop: Gnome 3.36.9 Distro: Ubuntu 20.04.3 LTS (Focal Fossa) Machine: Type: Desktop Mobo: ASUSTeK model: CROSSHAIR VI HERO v: Rev 1.xx UEFI: American Megatrends v: 7803 date: 06/17/2020 CPU: Topology: 8-Core model: AMD Ryzen 7 1700 bits: 64 type: MT MCP L2 cache: 4096 KiB Speed: 1374 MHz min/max: 1550/3000 MHz Core speeds (MHz): 1: 1374 2: 1373 3: 1374 4: 1520 5: 1375 6: 1374 7: 1374 8: 1373 9: 1375 10: 1374 11: 1373 12: 1374 13: 1375 14: 1372 15: 1374 16: 1373 Graphics: Device-1: NVIDIA driver: nvidia v: 495.

Terraform Workspaces

Terraform workspaces are a great way to manage different environments for the same application. For testing changes we will be using this with Bookstack and its associated database in docker. All of the terraform in this tutorial can be found here. Setup Workspaces can be created using the command terraform workspace new name_of_new_env. We will be using the workspace names dev, and prod. Create Development Workspace Create a new directory for this test and run the following.

Buildkite Pipelines with Github

Introduction Buildkite works very similarly to Github actions. I recently was introduced to Buildkite and wanted to write an introduction to it. Here is a page outlining some differences between Buildkite and Github actions: https://buildkite.com/compare/github-actions The website can be found here. Accounts are free and you can setup your own agent for builds with it. I will outline two methods for defining a pipeline. The first will be the UI way from the website, and the next will be in YAML.

Raspberry Pi NAT to Ethernet

A problem I’ve had recently was that my WiFi adapter for my PC stopped turning on. I wasn’t able to get a new one, but I did have a Raspberry Pi collecting dust. This is when I started trying to use the Raspberry Pi 3B+ to connect to WiFi and NAT internet through the ethernet port. It was entirely possible to do and this is the walkthrough. DHCP Server Setup The first step is to setup a DHCP server to give an IP address to whatever you plug-in to it.

Adding Windows Boot Manager to Grub

Recently I installed Windows 11 to a second NVME in my system. By default I boot into grub and wanted an easy way to swap to windows without pressing keys. I found this to be the easiest solution with only two steps. Updating Grub The first step is to run a search for OS on your machine. sudo os-probe Then run update-grub to update the grub menu with what was found.