Skip to content

Instantly share code, notes, and snippets.

View lispstudent's full-sized avatar

Lisp student lispstudent

View GitHub Profile
OVH no longer provides an option to install SmartOS on its dedicated servers. Luckily, we can boot the machine using IPXE and use IPMI to run through the setup proces on the kvm console. The OVH/SoYouStart manager interface doesn’t give direct access to that, but luckily SYS and OVH have identical REST APIs.
First, set up a webserver somewhere and dump the platform directory you want to boot from into a folder on that webserver. For example, I’m using /smartos.
NOTE: if you don't need to boot a customized smartos platform image, you might be able to use the hosted image discussed here: https://docs.smartos.org/pxe-booting-smartos/
NOTE: it seems these endpoints aren't available any more, but OVH has a document that describes the new approach (the ipxe script goes in the "bootScript"attribute of your server's record):
https://docs.ovhcloud.com/en/guides/bare-metal-cloud/dedicated-servers/ipxe-scripts
The parts of the gist above and notes below are still valid in terms of the IPXE script and setup, just t
@lispstudent
lispstudent / python_common-lisp.md
Created May 12, 2026 15:48
python and Common Lisp

Common Lisp Cheatsheet for Python Programmers

This document is for readers familiar with Python who wish to apply that

@lispstudent
lispstudent / smartos-on-hetzner.doc
Created May 21, 2025 05:15 — forked from Tanhueco/smartos-on-hetzner.doc
SmartOS On Hetzner Dedicated Server and Subnet
# Licensed under CC BY 3.0 http://creativecommons.org/licenses/by/3.0/
# Derived works must attribute https://gist.github.com/4492300 at the beginning, and the date.
##################################################################
Installing and Configuring SmartOS at Hetzner (with a /29)
##################################################################
# This is another version of Jahewson's Gist here: https://gist.github.com/jahewson/4492300 that adds a gate to prevent packets
from leaking out from the main MAC address.

Install FreeBSD 14.0 on Hetzner server

Hetzner no longer offers direct install of FreeBSD, but we can do it ourselves. Here is how :)

Boot the hetzner server in Hetnzer Debain based rescue mode. ssh into it. then:

wget https://mfsbsd.vx.sk/files/iso/14/amd64/mfsbsd-14.0-RELEASE-amd64.iso

qemu-system-x86_64 \
@jperkin
jperkin / pkg_add_nfs.md
Last active November 13, 2025 06:53
pkg_add issue with macOS NFS

Problem

pkgsrc builds on macOS have historically been significantly more unreliable than all other operating systems.

In my most recent builds there were over 400 instances of the error:

pkg_add: no pkg found for '<pkgname>', sorry.
@lispstudent
lispstudent / docker-install.sh
Created February 19, 2024 10:01
Docker install on Ubuntu
#!/bin/sh
# https://docs.docker.com/engine/install/ubuntu/
# Make sure system is updated
apt -y update
apt -y upgrade
# Add Docker's official GPG key
@matthiasg
matthiasg / gist:602eb6f20e2d2a51870efb8473903c7d
Created February 15, 2024 08:24
Install SmartOS on Hetzner machine with NVMe
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "SmartOS" {
recordfail
insmod ext2
insmod gzio
@ctsrc
ctsrc / 00_install_fbsd_14_1_hetzner.md
Last active March 13, 2026 08:35
Install FreeBSD 14.1 on Hetzner

Install FreeBSD 14.1 on Hetzner server

Hetzner no longer offers direct install of FreeBSD, but we can do it ourselves. Here is how :)

Boot the server into rescue mode

Boot the Hetzner server in Hetzner Debian based rescue mode. ssh into it.

The Hetzner rescue image will tell you hardware details about the server in the login banner. For example, with one of my servers I see:

@lelanthran
lelanthran / devlog-gen.sh
Last active July 26, 2025 15:06
Generate html devlog from chap1/content.md, chap2/content.md, etc
#!/bin/bash
# Usage notes:
# 1. Make sure that pandoc is installed.
# 2. Place all your contents for each chapter of your devlog into
# `./chap1/content.md`, `./chap2/content.md`, etc.
# 3. This script will source a file in each chapter called METAINFO.inc. This
# file is optional and can contain two variable declarations:
# AUTHOR="Name Of Author"
# DATE="Date or publication"
@lispstudent
lispstudent / ddns-update.sh
Last active May 28, 2022 14:27 — forked from bomale/ddns-update
Namecheap DDNS Updater Bash Script
#!/bin/sh
# make it executable `chmod +x ddns-update`
# move it path `mv ddns-update /usr/bin/`
# setup cronjob for every 15 minutes `crontab -e`
# */15 * * * * ddns-update >/dev/null 2>&1
# dont forget to change your own domain & password
# uncomment if you want internet connection check before running
#while ! ping -c 1 -W 1 8.8.8.8; do
# echo "DDNS-UPDATE: Waiting internet connection.."