How to fix Steam crash "Assertion 'device' failed" on Gentoo

This guide fixes the following Steam crash: Assertion 'device' failed at src/libsystemd/sd-device/device-private.c:103, function device_get_tags_generation(). Aborting. Solution 1. Enable 32-bit builds for libudev-compat Add the following to package.use: sys-libs/libudev-compat abi_x86_32 2. Install (or reinstall) libudev-compat Execute the following command: sudo emerge sys-libs/libudev-compat 3. Re-launch Open Steam again.

How to migrate Go projects to a new domain using Caddy

I recently migrated from to, including a Forgejo instance. I have a number of projects, including many Go projects. I searched for a way to redirect to a new domain, while still allowing go get commands to work when referencing the old domain. I found this thread which provides an example of how to redirect a single package. The snippet in this guide redirects all packages on a domain.

Terminal-based Tetris - Part 1: Procedural polyomino generation

This is the first part of a series of tutorials on creating a terminal-based Tetris clone with Go. Code for this tutorial is available on GitLab. go get # Download and install ~/go/bin/part-1 # Run For a complete implementation of a Tetris clone in Go, see netris. Disclaimer Tetris is a registered trademark of the Tetris Holding, LLC. Rocket Nine Labs is in no way affiliated with Tetris Holding, LLC.

tview and you - Creating Rich Terminal User Interfaces

This is an introduction to using tview (or cview) to create rich terminal-based user interfaces with Go. Primitives The Primitive interface is as follows: type Primitive interface { Draw(screen tcell.Screen) GetRect() (int, int, int, int) SetRect(x, y, width, height int) InputHandler() func(event *tcell.EventKey, setFocus func(p Primitive)) Focus(delegate func(p Primitive)) Blur() GetFocusable() Focusable } Box is the only primitive implemented. It has a size, padding amount, optional border, optional title and background color.