Skip to content

Instantly share code, notes, and snippets.

@JeremyGrosser
JeremyGrosser / gist:da40e7c3150094ac2c26742175a1f4f4
Last active July 6, 2025 08:29
fdcservers.net VPS evaluation
$6.99/mo for 1 VCPU of a AMD EPYC 7713, 1 GB RAM, 10 Mbps unmetered.
used their Debian bookworm image and Amsterdam datacenter
tcpdump shows tons of broadcast arp and udp/1900 (ssdp), looks like a very large vlan
broadcast CDP messages from a MikroTik router version 7.4 (stable), 7.19.2 is latest. host "fdc_1" port "ether1"
router port 8291 open, WinBox? looks like a graphical management ui for MikroTik RouterOS
no LLDP
no IPv6 neighbors or routers
no DNS PTR
vm running under qemu/kvm with machine pc-9.2. virtio disk and network, nothing fancy
qemu-ga agent running with no flags, wide open perms
javascript:function bookmarklet_invert() { var css = 'html {-webkit-filter: invert(100%);' + '-moz-filter: invert(100%);' + '-o-filter: invert(100%);' + '-ms-filter: invert(100%); }', head = document.getElementsByTagName('head')[0], style = document.createElement('style'); if (!window.counter) { window.counter = 1;} else { window.counter ++; if (window.counter % 2 == 0) { var css ='html {-webkit-filter: invert(0%); -moz-filter: invert(0%); -o-filter: invert(0%); -ms-filter: invert(0%); }'} }; style.type = 'text/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } head.appendChild(style); };bookmarklet_invert();
@JeremyGrosser
JeremyGrosser / prestige13-notes.md
Last active July 13, 2025 23:30
MSI Prestige 13 AI+ Evo A2VMG-029US Debian notes 2024-11-28
synack@polar ~/src/ravenscar_full_rp2040((HEAD detached at 4176e8f)) $ ls -al links/ | head -n 30
total 60
drwxr-xr-x 2 synack synack 53248 May 1 12:04 .
drwxr-xr-x 15 synack synack 4096 May 1 12:04 ..
lrwxrwxrwx 1 synack synack 15 May 1 12:04 ada.ads -> ../gnat/ada.ads
lrwxrwxrwx 1 synack synack 20 May 1 12:04 ada-assertions.adb -> ../gnat/a-assert.adb
lrwxrwxrwx 1 synack synack 20 May 1 12:04 ada-assertions.ads -> ../gnat/a-assert.ads
lrwxrwxrwx 1 synack synack 20 May 1 12:04 ada-calendar.adb -> ../gnat/a-calend.adb
lrwxrwxrwx 1 synack synack 20 May 1 12:04 ada-calendar.ads -> ../gnat/a-calend.ads
lrwxrwxrwx 1 synack synack 20 May 1 12:04 ada-calendar-control.adb -> ../gnat/a-calcon.adb
@JeremyGrosser
JeremyGrosser / _arp.ads
Created November 2, 2022 23:48
ARP Packet Parser
with HAL; use HAL;
package ARP is
type Packet
(HLEN, PLEN : Natural)
is record
HTYPE : UInt16;
PTYPE : UInt16;
OPER : UInt16;
@JeremyGrosser
JeremyGrosser / ada-on-the-raspberrypi-rp2040.md
Created July 24, 2022 01:49
Ada on the Raspberry Pi RP2040

Ada on the Raspberry Pi RP2040

Jeremy Grosser: This is Ada on the Raspberry Pi RP 2040. So this is a Raspberry Pi Pico it's a development board fits nicely on a breadboard, got a USB port, L E D that sort of thing. This talk's mostly about the RP 2040, which is that chip in the middle there. It's Raspberry Pi's is first inhouse silicon. It's got all the sort of serial peripherals and things you expect. It's got some fancy stuff like the PIO we'll talk about in a bit.

So let's say you wanna program this chip. Most people would just go and use their C SDK or maybe micro Python. I like doing things the hard way. So I'm gonna program it in Ada and that means starting from scratch. So you go to the data sheet and you find a page like this, and you know, you've got a base address at the top there, and these are a bunch of offsets.

These are all memory locations, you know, reading and writing from them has different side effects. So for example, this register writing to it will set an output high or low dep

with Ada.Text_IO; use Ada.Text_IO;
procedure Test is
type UInt16 is mod 2 ** 16
with Size => 16;
type UInt32 is mod 2 ** 32
with Size => 32;
type Words is array (Positive range <>) of UInt16
with Component_Size => 16;
synack@polar ~/build/hal(master) $ cat hal.gpr
project HAL is
for Source_Dirs use ("src");
for Library_Name use "hal";
for Object_Dir use "obj";
for Library_Dir use "lib";
for Library_Kind use "static";
@JeremyGrosser
JeremyGrosser / printer-ultimaker-original-1.5.6.cfg
Created January 24, 2022 00:19
Klipper config for Ultimaker Original 1.5.6
# This file contains common pin mappings for Ultimaker Original with the v1.5.6
# board. To use this config, the firmware should be compiled for the AVR
# atmega2560.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PA3
dir_pin: !PA1
enable_pin: !PA5