Skip to content

Instantly share code, notes, and snippets.

View madmo's full-sized avatar

Moritz Bitsch madmo

View GitHub Profile
--- /usr/bin/makepkg 2014-05-04 04:49:07.000000000 +0200
+++ /home/moritz/bin/xxpkg 2014-06-03 13:35:45.311896184 +0200
@@ -25,8 +25,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# makepkg uses quite a few external programs during its execution. You
-# need to have at least the following installed for makepkg to function:
+# makepkg uses quite a few external programs during its execution. You
+# need to have at least the following installed for makepkg to function:
@madmo
madmo / nums.ml
Created August 6, 2014 22:30
Converting numbers in ocaml, the lazy way
open Core.Std;;
let read_and_convert =
let rec aux line =
match line with
| None -> () (* EOF *)
| Some txt ->
try print_endline (Int.to_string (Int.of_string txt)); with
Failure detail -> print_endline detail; ; (* End of try/with*)
aux (In_channel.input_line In_channel.stdin)
@madmo
madmo / lexer.ml
Created September 9, 2014 21:52
Lexing c-comments using camlp4
type token =
| Text of char
| Comment of string
let rec lex = parser
| [< ''/'; p = parser (* left factoring... *)
| [< ''/'; stream >] ->
let buffer = Buffer.create 1 in
lex_comment buffer stream
| [< ''*'; stream >] ->
@madmo
madmo / build-pic32-gcc.sh
Created October 20, 2014 05:18
gcc toolchain cretion script for pic32
#!/bin/bash
set -e
#
# Path definitions
#
TOOLCHAIN_ROOT_DIR="${PWD}/$(dirname $0)"
TOOLCHAIN_DL_DIR="${TOOLCHAIN_ROOT_DIR}/dl"
TOOLCHAIN_OUT_DIR="${TOOLCHAIN_ROOT_DIR}/output"
@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
(*
* Copyright (c) 2015 Moritz Bitsch <[email protected]>
*
* 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 / 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

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 / 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>
@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#^//##')