Skip to content

Instantly share code, notes, and snippets.

View ansiwen's full-sized avatar
Tenacious Tractor

Sven Anderson ansiwen

Tenacious Tractor
View GitHub Profile
ansiwen /
Last active October 17, 2023 23:00


func myFunc() (string, error) {
	file, err := os.Open("data.json")
	if err != nil {
		return "", fmt.Errorf("open data.json: %w", err)

	jsonData, err := io.ReadAll(file)
ansiwen /
Created September 4, 2023 16:42
Enable BootGuard 1.0 on Prodive Hermes

Enable BootGuard 1.0 for PCR-0 measurement in Firmware on ProDrive Hermes Board


We are using BootGuard 1.0 in order to generate an Intel authorized Locality 3 PCR-0 measurement of the boot block, which is the self-measured root of trust for the PCR-2 measurements of Coreboot. That is, we are not using its verification feature, which would require to fuse the chip. Because there is no BootGuard profile without verification, we still have to use a dummy OEM Key for signing both the Key Manifest and the Boot Policy Manifest, so that we can get the PCR-0

open Lwt.Infix
module type S =
module Mirage : Mirage_flow.S
type data = (Cstruct.t Mirage_flow.or_eof, Mirage.error) result
type t
val create : Mirage.flow -> t
val mirage_flow : t -> Mirage.flow
val read :
ansiwen / pinner_benchmark.go
Created November 8, 2021 08:00
Pinner Research Benchmarks
package pinnerbenchmark
inline void* ccall0() {
return NULL;
inline void* ccall1(void* p) {
return NULL;
ansiwen / moveWindowOneSpace.lua
Created February 5, 2021 17:37
moveWindowOneSpace for hammerspoon
local hotkey = require "hs.hotkey"
local window = require "hs.window"
local spaces = require "hs._asm.undocumented.spaces"
function getGoodFocusedWindow(nofull)
local win = window.focusedWindow()
if not win or not win:isStandard() then return end
if nofull and win:isFullScreen() then return end
return win
ansiwen /
Last active May 28, 2024 14:14
MacOS notes
ansiwen / arduino_waves.ino
Last active December 10, 2020 08:48
1d wave model for arduino
// Use if you want to force the software SPI subsystem to be used for some reason (generally, you don't)
// Use if you want to force non-accelerated pin access (hint: you really don't, it breaks lots of things)
#include <FastLED.h>
#include "rgbw.h"
// How many leds are in the strip?
#define NUM_LEDS 300
ansiwen / create_tables.go
Created December 5, 2020 00:43
Gamma correction tables for LEDs on Arduino
import (
func printGammaTable(start, end int, gamma float64) {
g_s := strings.ReplaceAll(fmt.Sprintf("%1.1f", gamma), ".", "_")
fmt.Printf("\nconst uint8_t PROGMEM gamma_%s_%dto%d_table[] = {\n", g_s, start, end)
for x := 0; x < 256; x++ {
ansiwen /
Created December 7, 2018 17:43
hexchat addon for keeping dialogs open after restart
from __future__ import print_function
import hexchat
__module_name__ = "keep_dialogs"
__module_author__ = "ansiwen"
__module_version__ = "1"
__module_description__ = "Saves current dialogs for next start"
def unload_cb(userdata):
networks = {}
ansiwen /
Last active December 5, 2017 21:24
Reproducer for exception Unix.Unix_error(Unix.EBADF, "check_descriptor", "")
open Mirage
let stack = generic_stackv4 default_network
let cond = conduit_direct stack
let http_srv = http_server @@ cond
let res_dns = resolver_dns stack