RSSAmplifier

Blog

Oh crap, it actually works

Programming, software, and related topics

/RSS feed ↗14 posts

Latest posts

Passthrough of a Z-Wave USB Stick to a Proxmox LXC Container

The goal of this guide is to make a Z-Wave USB Stick that is connected to a Proxmox 8.2.2 host available to an lxc container. To accomplish this, we'll passthrough the serial device from the host to the container.

Install and boot Fedora with ZFSBootMenu

This guide describes the process of installing Fedora with Root on ZFS while booting using ZFSBootMenu and rEFInd . It has been adapted from the Fedora Root on ZFS guide and the Ubuntu Server ZFSBootMenu install script.

Determining the Fingerprint of your SSH Host Key

Any time you connect to a new host via SSH, you get a message asking you to verify the authenticity of the host.

A Benchmark in a Unit Test

Lately I've been working towards 100% [1] test coverage in RandN . This has been very helpful and has already found several small bugs across the library. One of the RNGs I'm testing is ThreadLocalRng , which RandN guarantees is thread-safe by use of a ThreadLocal - a wrapper around ChaCha that maintains exactly one instance per thread. Another test already verifies that a unique instance is…

The Pitfalls of System.Random

When it comes to random number generators in .NET, there's two options: System.Random and the easy to say System.Security.Cryptography.RNGCryptoServiceProvider . The former is a pseudo random number generator (PRNG), while the latter is a cryptographically secure random number generator (CSRNG). Common wisdom is to use Random , since it's faster and friendlier than RNGCryptoServiceProvider while…

Connect to a PostgreSQL cluster with a custom CA Cert using .NET Core

Sometimes we want to connect to a PostgreSQL database through SSL/TLS, but the database's CA Certificate aren't trusted by the computer. This is the case with DigitalOcean's Managed Database offerings. There are a couple different ways to solve this. First, you can simply use sslmode=require to skip verification; however, this opens the application up to man-in-the-middle attacks, as it can't…

'Mars Rover' Simulation AI

When I was a college freshman, we had to take an introductory course to computer science. The course covered many different topics, such as sorting algorithms, internet of things, and artificial intelligence. For AI, we were given a prebuilt 2D "Mars Rover" simulation to write an AI for. Unfortunately since this was an introductory class, we weren't expected to know how to program with actual…

Headlessly setting up a Raspberry Pi Zero Wireless

On Pi Day (3.14), Microcenter had the Raspberry Pi Zero Wireless on sale for $3.14, so naturally I had to pick one up, with a microSD card. But once I got home, I quickly realized that I had no mini-HDMI or micro-USB adapters, so I had no way to set it up. Fortunately, Raspbian has an official way to set up SSH and WiFi. However, it doesn't quite work.

Lightweight Website

I've always been a strong believer in lightweight, simple web pages that don't do more than necessary. That's not to say I want a plain text document with no styling at all, but rather a website that doesn't rely on a massive CSS or JavaScript framework to offer basic functionality. This line of reasoning is why I chose a static site generator in the first place - why on Earth would you need…

Minifying Wyam Output - Part 2

Wyam 2.1.2 and 2.1.3 include an update implementing IList<IfCondition> on If modules. This makes adding MinifyHtml to the TagIndex and BlogArchive Pipelines much easier than before:

Minifying Wyam Output

This blog is a static site generated by Wyam . Unfortunately, while Wyam includes a minification library, out of the box Wyam doesn't minify any of the files it generates. However, it's very extensible and makes it easy to add or modify pipelines.

How to Perform CSRF - Part 2

Make a decoy blog post.

How to Perform CSRF - Part 1

Make a blog post.

How to Renew a Let's Encrypt Certificate

Create a Let's Encrypt certificate.