Some useful code written in ion
// Depth first traversal algorithm. | |
// | |
// (credit to Alexander Stepanov in Elements Of Programming) | |
// | |
// One of the benefits is that the visitor can implement pre or post traversal algorithms, and combine them in one single piece. | |
// | |
// @generic in T, the node value type | |
func traverse_children_recursively(tree_root: T*, step_visitor: func(step: TraversalStep, node: T*)) | |
{ | |
step_visitor(TraversalStep_PRE, tree_root); |
#include "SDL2.framework/Headers/SDL.h" | |
#define sdl2_guard(__expr) \ | |
if ((__expr) != 0) { \ | |
fprintf(stderr, "SDL Error: '%s'\n", SDL_GetError()); \ | |
assert(0); \ | |
} | |
#include <assert.h> |
A tree can be produced by counting the number of trailing zeros from an input integer index.
This count ('c') of trailing zeros (or position of the lowest bit) comes back every 2^c sample, i.e. corresponds to a frequency of 2^-c
Furthermore every sample corresponds with one and only one octave.
@url: https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/
pub fn cpuCount(fallback_allocator: *mem.Allocator) CpuCountError!usize {
switch (builtin.os) {
builtin.Os.macosx => {
var count: c_int = undefined;
var count_len: usize = @sizeOf(c_int);
#!/usr/bin/env bash | |
export C_INCLUDE_PATH=/usr/local/include/libusb-1.0 | |
export LIBRARY_PATH=/usr/local/lib | |
(O=canoscan ; cc canoscan_unit.c -o "${O}" -lusb-1.0 && printf "PROGRAM\t%s\n" "${O}") |
// Atan approximation | |
// https://www.dsprelated.com/showarticle/1052.php#tabs1-comments | |
#include <math.h> | |
#include <stdio.h> | |
double atan_approx(double z) | |
{ | |
double m = z<0? -1.0:1.0; | |
z *= m; |
Techniques of persuasion.
Has had a bad rap throughout ages. Appears necessary in democratic societies. Preserved under authoritarian systems for justice and theology, and for elite groups. In western republic democracies, mainly practiced by professional politicians (elective nobility) and lawyers. Porosity between the two groups.
More and more essential in the companies that want to emphasize group problem solving and collaboration. Practiced without knowing it, in a dry style, by engineers via their communications and documentations.
Skill
- Magic/Mysterium. In classical times it was clear that it takes time to develop know-how. Practice. Initiation. Hence roles of schools as safe space for learning and practice.
- Eloquence
/* Repro optimizer issue with Visual Studio 2017 */ | |
/* @language: c99 */ | |
/* | |
# Visual Studio 2015 (working) | |
-- | |
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe | |
cl.exe -Fe:repro.exe repro.c -nologo -FC -EHsc -Z7 -Oi -GR- -Gm- -O2 -Z7 -W4 -WX -DEBUG |
// What you do when you want to prevent ADL from kicking in, and force your | |
// users to use fully qualified names. | |
namespace module | |
{ | |
struct Foo { int a, b; }; // struct defined in one namespace | |
namespace functions | |
{ | |
void Flaggerbify(Foo* foo); // function defined in another |