Skip to content

Instantly share code, notes, and snippets.

#include <stdio.h>
#include <string.h>
// serializing macros
#define serialize1(name, t1) void name(char* buffer, t1 a) { \
memcpy(buffer, &a, sizeof(t1)); }
#define serialize2(name, t1,t2) void name(char* buffer, t1 a, t2 b) { \
memcpy(buffer, &a, sizeof(t1)); \
memcpy(buffer + sizeof(t1), &b, sizeof(t1)); }
@TurplePurtle
TurplePurtle / phoenix-cheat-sheet.md
Last active December 21, 2015 21:12
Cheat sheet for starting a new Phoenix 1.1 project.
@TurplePurtle
TurplePurtle / zip-with.js
Created January 5, 2016 23:08
zipWith implementation
/*
* zipWith(...arrays, iteratee, [thisArg]) => array
*
* iteratee receives an element from each array as an argument
*/
function zipWith() {
// Argument count
var argc = arguments.length;
@TurplePurtle
TurplePurtle / coolit.ts
Last active November 30, 2022 07:23
Iterable/Iterator utility library for TypeScript.
type MapToIterable<T> = { [K in keyof T]: Iterable<T[K]> };
type Tuple = readonly unknown[];
export function from<T>(it: Iterable<T>) {
return new DelegatingIterable<T>(it);
}
export function repeat<T>(value: T) {
return new RepeatIterable(value);
}