Skip to content

Instantly share code, notes, and snippets.

@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 / 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 / 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)
--- /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:
--- a/src/modules/engines/gl_common/evas_gl_texture.c
+++ b/src/modules/engines/gl_common/evas_gl_texture.c
@@ -54,6 +54,42 @@ static const struct {
#endif
};
+static const GLenum matching_rgba[] = { GL_RGBA4, GL_RGBA8, GL_RGBA12, GL_RGBA16, 0x0 };
+static const GLenum matching_alpha[] = { GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, 0x0 };
+static const GLenum matching_luminance[] = { GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, 0x0 };
+static const GLenum matching_luminance_alpha[] = { GL_LUMINANCE4_ALPHA4, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, 0x0 };
@madmo
madmo / gist:8548738
Created January 21, 2014 21:27
golang websocket over https proxy
func HttpConnect(proxy, url_ string) (io.ReadWriteCloser, error) {
p, err := net.Dial("tcp", proxy)
if err != nil {
return nil, err
}
turl, err := url.Parse(url_)
if err != nil {
return nil, err
}
@madmo
madmo / gist:7403249
Created November 10, 2013 20:09
Minimal nand controller ip core in myhdl (untested)
from myhdl import *
FPGA_NAND_CMD_MASK = (0x7 << 28)
FPGA_NAND_CMD_COMMAND = (0x0 << 28)
FPGA_NAND_CMD_ADDR = (0x1 << 28)
FPGA_NAND_CMD_READ = (0x2 << 28)
FPGA_NAND_CMD_WRITE = (0x3 << 28)
FPGA_NAND_BUSY = (0x1 << 15)
FPGA_NAND_ENABLE = (0x1 << 31)
FPGA_NAND_DATA_SHIFT = 16
@madmo
madmo / fwd.go
Last active December 20, 2015 09:29
Simple tcp forwarding daemon
// Copyright (c) 2013, Moritz Bitsch <moritzbitsch@googlemail.com>
//
// Permission to use, copy, modify, and/or 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
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
@madmo
madmo / README
Created November 22, 2012 22:51
n9 PAN Networking
1. Remove network from the DisabledPlugins option in /etc/bluetooth/main.conf
2. start test-nap.py
3. Connect to pan
4. run tether.sh start to setup ip/dns/dhcp
@madmo
madmo / evscp.go
Created November 5, 2012 15:48
Auto scp on file changes
// Copyright (c) 2012, Moritz Bitsch <moritzbitsch@googlemail.com>
//
// Permission to use, copy, modify, and/or 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
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES