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
ansiwen / sce.md
Last active October 17, 2023 23:00
Short-Circuit-Error-API

Original

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
ansiwen / enable-bootguard-measured-boot.md
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

Operation

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 =
sig
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
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
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
end
@ansiwen
ansiwen / macos_notes.md
Last active May 28, 2024 14:14
MacOS notes
@ansiwen
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)
// #define FASTLED_FORCE_SOFTWARE_SPI
// Use if you want to force non-accelerated pin access (hint: you really don't, it breaks lots of things)
// #define FASTLED_FORCE_SOFTWARE_SPI
// #define FASTLED_FORCE_SOFTWARE_PINS
#include <FastLED.h>
#include "rgbw.h"
// How many leds are in the strip?
#define NUM_LEDS 300
@ansiwen
ansiwen / create_tables.go
Created December 5, 2020 00:43
Gamma correction tables for LEDs on Arduino
import (
"fmt"
"math"
"strings"
)
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
ansiwen / keep_dialogs.py
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
ansiwen / config.ml
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