Skip to content

Instantly share code, notes, and snippets.

@madmo
madmo / immich.nix
Last active November 28, 2023 19:56
nixos config file to run immich containers (based on compose2nix output)
let
# The location where your uploaded files are stored
immich.upload_location="/srv/immich";
# Connection secrets for postgres and typesense. You should change these to random passwords
immich.typesense_api_key="";
immich.db_password="";
in
{ pkgs, lib, ... }:
@madmo
madmo / kakrc
Last active January 26, 2023 21:04
My kakoune config (.config/kak/kakrc)
evaluate-commands %sh{
plugins="$kak_config/plugins"
mkdir -p "$plugins"
[ ! -e "$plugins/plug.kak" ] && \
git clone -q https://github.com/andreyorst/plug.kak.git "$plugins/plug.kak"
printf "%s\n" "source '$plugins/plug.kak/rc/plug.kak'"
}
plug "andreyorst/plug.kak" noload
plug "andreyorst/smarttab.kak"
plug "alexherbo2/auto-pairs.kak"
@madmo
madmo / onair-sign.py
Created August 31, 2021 05:37
Simple webcam on/off script used to control a onair sign with tasmota firmware
#!/usr/bin/python
import pyinotify
import asyncio
import aiohttp
import sys
def debounce(wait):
def decorator(fn):
def debounced(*args, **kwargs):
@madmo
madmo / init.el
Created June 29, 2021 08:51
emacs config
(require 'cl-lib)
(require 'package)
;; add melpa as package source
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
;; list of packages to install
(defvar my-packages
'(smart-tabs-mode smart-tab company flycheck lsp-mode lsp-ui rustic)
@madmo
madmo / pass2csv.sh
Created April 13, 2018 18:56
pass to keepass xc csv exporter
#!/bin/bash
# export passwords to external file
shopt -s nullglob globstar
prefix=${PASSWORD_STORE_DIR:-$HOME/.password-store}
for file in "$prefix"/**/*.gpg; do
file="${file/$prefix//}"
GROUP=$(dirname "$file" | sed 's#^//##')
@madmo
madmo / Tronxy X3S Fast.fff
Created January 10, 2018 18:35
Tronxy X3S Simplify3d
<?xml version="1.0"?>
<profile name="Tronxy X3S Fast" version="2018-01-08 20:51:17" app="S3D-Software 4.0.1">
<baseProfile>Default</baseProfile>
<printMaterial>PLA</printMaterial>
<printQuality>High</printQuality>
<printExtruders></printExtruders>
<extruder name="Primary Extruder">
<toolheadNumber>0</toolheadNumber>
<diameter>0.4</diameter>
<autoWidth>0</autoWidth>

Keybase proof

I hereby claim:

  • I am madmo on github.
  • I am moritzbitsch (https://keybase.io/moritzbitsch) on keybase.
  • I have a public key whose fingerprint is 9D7C D293 4B21 D0C5 ABA7 BA6C 0ED4 B6A9 67C3 4B54

To claim this, I am signing this object:

@madmo
madmo / nand_interface.v
Created December 13, 2015 19:02
simple verilog 8-Bit Nand interface (avalon compatible)
module bidir_driver #(parameter width=8) (data_rw, data_r, data_w, oe);
inout wire [width-1:0] data_rw;
input wire [width-1:0] data_w;
output wire [width-1:0] data_r;
input wire oe;
assign data_rw = oe ? data_w : { width {1'bZ} };
assign data_r = data_rw;
endmodule
(*
* Copyright (c) 2015 Moritz Bitsch <moritzbitsch@gmail.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
@madmo
madmo / gist:8a599ca6385947f11e21
Created December 13, 2014 00:44
convert pic32 hex file from virtual to physical addresses
lines = File.readlines(ARGV[0])
lines.map! do |line|
line = line.chomp
if line.length > 8 and line[7..8] == "04" then
addr = line[9..12].to_i(16)
addr &= 0x1fff
line[9..12] = addr.to_s(16).upcase.rjust(4, "0")
line[13..14] = (((~line[1..-3].scan(/../).inject(0) {|sum, s| sum + s.to_i(16) }) & 0xFF) + 1).to_s(16).upcase
end