Skip to content

Instantly share code, notes, and snippets.

/*
* ----------------------------------------------------------------------------
* "THE MATE-WARE LICENSE" (Revision 42): <leandro@tia.mat.br> wrote this
* file. As long as you retain this notice you can do whatever you want
* with this stuff. If we meet some day, and you think this stuff is worth
* it, you can buy me a Club-Mate in return. Leandro Pereira
* ----------------------------------------------------------------------------
*/
#include <arpa/inet.h>
@lpereira
lpereira / valuepack.py
Created September 9, 2015 01:12
Value packing with prime numbers
#!/usr/bin/python
import math
def pack_bits(*bits):
n = 0
max_n = 1
for value, prime_for_value in bits:
while n % prime_for_value != value:
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
struct task {
void *(*cb)(void *data);
void *data;
bool runnable;
};
/*
* SPSC Bounded Queue
* Based on public domain C++ version by mstump[1]. Released under
* the same license terms.
*
* [1] https://github.com/mstump/queues/blob/master/include/spsc-bounded-queue.hpp
*/
#if !defined(__ATOMIC_RELAXED)
#!/usr/bin/python
import sys
def parse_nm_output(handle):
current_object = None
symbols = {}
symbol_to_object = {}
for line in handle.readlines():
import socket
import time
import random
import pygame
import pygame.camera
import pygame.transform
from pygame.locals import *
UDP_IP = "192.168.50.50"
UDP_PORT = 2711
@lpereira
lpereira / tpl-array.c
Created November 3, 2016 02:18
Lwan template with arrays
#include <lwan.h>
#include <lwan-template.h>
#include <strbuf.h>
struct thing {
lwan_tpl_list_generator_t generator;
const char *name;
};
@lpereira
lpereira / bbshield.go
Last active December 18, 2016 20:03
Buildbot shield generator
/*
* Buildbot 0.9.x shield generator
* Copyright (c) 2016 Leandro Pereira <leandro@tia.mat.br>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject to the
* following conditions:
% sudo cpupower frequency-set -g performance ~/git/benchmark/build
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
% ./test ~/git/simdswitch
Run on (4 X 2746.51 MHz CPU s)
2017-01-06 08:06:24
Benchmark Time CPU Iterations
@lpereira
lpereira / surface.cpp
Last active April 4, 2017 06:02
surface.go from chapter 3 of "The Go Programming Language"
namespace io {
struct Reader {
virtual std::tuple<int, moku::error> Read(moku::slice<uint8_t> p) = 0;
};
struct Writer {
virtual std::tuple<int, moku::error> Write(moku::slice<uint8_t> p) = 0;
};
} // namespace io
namespace fmt {
moku::error Errorf(std::string format, moku::slice<moku::empty_interface> a);