Skip to content

Instantly share code, notes, and snippets.

View MartinNowak's full-sized avatar
🎯
Focusing

dawg MartinNowak

🎯
Focusing
View GitHub Profile
module buffered_range;
import std.algorithm, std.conv, std.exception, std.range, std.traits, std.typecons;
import core.memory, core.stdc.stdlib;
/*
* Adds the save function to an input range thus promoting
* it to a forward range. This is done by buffering the input range
* in blocks of size blockSize.
*/
@MartinNowak
MartinNowak / FreeBSD-8.4-amd64.ova
Last active January 14, 2018 19:20
Checklist for preparing FreeBSD-8.4 vagrant boxes.
@MartinNowak
MartinNowak / safety_dance.d
Last active October 23, 2017 19:59
@safe, scope, and RC related question marks
//==============================================================================
//
struct String
{
/// clone string, doesn't escape, but return value must have independent lifetime
String clone() scope
{
return String();
}
@MartinNowak
MartinNowak / plot.R
Last active September 26, 2017 05:03
Benchmark realloc growth strategies
library(ggplot2)
library(dplyr)
library(plyr)
data <- read.csv('capacities.csv')
data <- ddply(data, .(growth_factor), mutate, step = seq_along(capacity))
data$growth_factor <- factor(data$growth_factor)
p <- ggplot(data, aes(x=step, y=capacity, color=growth_factor)) + geom_step() + geom_point(size = 0.5)
ggsave("capacity_steps.png", p)
@MartinNowak
MartinNowak / excludedCommits
Last active July 14, 2017 13:29
Get top contributors for a source file of a git repo.
// ==== phobos
// git log --grep='convert docstring examples to unittests' --pretty=%H
ba596549cc76547e1cb78177ed3d3d99668f9212
04654c071d1b7e59b53aa6f269dfe209966263cf
afc40287e02042df43bc763595869bedee15e8de
66e0dc39c5212821208b496800080210f7146ff9
ce795612149097cc6f2bcaa32da4a1023dedaa28
167b28679bd3b9f2639341e78b102616e2223efb
6c386d6f3165f062d0722155dc64a87de4c3e1b2
d81030ab8a15de5353735c646807308ec3bbf3b0
@MartinNowak
MartinNowak / benchmark_compare.diff
Last active January 15, 2017 23:12
rake benchmark:compare REFERENCE=benchmark/results/corpora-7980c3dc-unstaged.json CANDIDATE=benchmark/results/corpora-c4f1ea51-unstaged.json
--- /dev/fd/63 2017-01-16 00:04:30.566666277 +0100
+++ /dev/fd/62 2017-01-16 00:04:30.566666277 +0100
@@ -2,21 +2,21 @@
- "cev62/FEH-Robot-A7/blob/674d3b2378ea97fd7b655a830be112fae3c0d7f0/HelloWorld/main.d": "D",
- "cev62/FEH-Robot-A7/blob/674d3b2378ea97fd7b655a830be112fae3c0d7f0/PT5/PT4/VectorTest2.d": "D",
- "cev62/FEH-Robot-A7/blob/674d3b2378ea97fd7b655a830be112fae3c0d7f0/PT5/PT4/control.d": "D",
- "cev62/FEH-Robot-A7/blob/674d3b2378ea97fd7b655a830be112fae3c0d7f0/PT5/PT4/drive.d": "D",
- "cev62/FEH-Robot-A7/blob/674d3b2378ea97fd7b655a830be112fae3c0d7f0/PT5/PT4/main.d": "D",
- "cev62/FEH-Robot-A7/blob/674d3b2378ea97fd7b655a830be112fae3c0d7f0/Robot/command.d": "D",
- "cev62/FEH-Robot-A7/blob/674d3b2378ea97fd7b655a830be112fae3c0d7f0/Robot/printcommand.d": "D",
@MartinNowak
MartinNowak / .gitignore
Last active January 15, 2017 22:55
Scrape GH search for language corpora
cookie.jar
corpora/
@MartinNowak
MartinNowak / pull_request_stats.sh
Last active December 11, 2016 06:04
number of pull requests per major release
#!/bin/bash
set -ueo pipefail
majors=$(seq 66 72)
projects="dmd druntime phobos dlang.org tools installer"
printf ' %9s ' ''
for maj in $majors; do
echo -n "..v2.0$maj.0 "
@MartinNowak
MartinNowak / corpora.sh
Last active September 23, 2016 15:38
get corpora for different languages
#!/bin/bash
set -euo pipefail
tmp=$(mktemp -d)
cleanup() {
rm -rf "$tmp"
}
trap cleanup EXIT
@MartinNowak
MartinNowak / rdiff_backup_to_duplicity.sh
Created August 15, 2016 09:49
script to convert rdiff-backup to duplicity
#!/bin/bash
set -ueo pipefail
TMPROOT=$(mktemp -d .rdiff_backup_to_duplicity_XXXXXX)
cleanup() {
rm -rf "$TMPROOT";
}
trap cleanup EXIT