Skip to content

Instantly share code, notes, and snippets.

View mavam's full-sized avatar

Matthias Vallentin mavam

View GitHub Profile
@mavam
mavam / maildir-notifier
Last active November 9, 2017 16:37
A script which display new mails in Maildir directories as terminal-notifier messages
#!/bin/sh
#
# Checks Maildir directories for new mail. For each new mail, it invokes
# terminal-notifier to show a notification with the message From and Subject
# header.
#
# The script can execute an arbitrary command when clicking on a notification,
# e.g., open mutt:
#
# % cat open-mutt
@mavam
mavam / goes.R
Last active August 29, 2015 14:24
GOES-13 proton flux for particles >= 10 Mev
# Plots GOES-13 Proton Flux for particles >= 10 Mev.
#
# Data source: ftp://ftp.swpc.noaa.gov/pub/lists/particle/
#
# Check out http://stuffin.space to see where GOES-13 flies.
library(dplyr)
library(tidyr)
library(lubridate)
library(ggplot2)
@mavam
mavam / ca-data-breaches.R
Last active April 26, 2016 19:12
California data breach analysis
# California data breach analysis
#
# Author: Matthias Vallentin <vallentin@icir.org>
# Copyright (c) 2016
#
# To reproduce, please contact me.
library(dplyr)
library(ggplot2)
library(lubridate)
@mavam
mavam / broker-synopsis.cpp
Last active May 6, 2016 22:28
Broker API Synopsis
// --- component setup --------------------------------------------------------
// Creates a broker execution context that encapsulates runtime state, such as
// a thread pool and message type information.
system sys{cfg};
// Create a broker in a given system. A broker is a thin abstraction on top of
// a CAF actor for sending and receiving messages. There exist synchronous and
// aysnchronous brokers.
async_broker a{sys};
@mavam
mavam / aoc-day10-1.cpp
Created March 2, 2017 05:11
Advent of Code - Day 10 - Part One
#include <cassert>
#include <iostream>
#include <vector>
#include <caf/all.hpp>
using namespace std;
using namespace caf;
// Predicate to check whether a particular bot is the puzzle solution.
@mavam
mavam / aoc-day10-2.cpp
Created March 2, 2017 05:17
Advent of Code - Day 10 - Part Two
#include <cassert>
#include <iostream>
#include <vector>
#include <caf/all.hpp>
using namespace std;
using namespace caf;
// The same bot from part one.
@mavam
mavam / flexbuffer-serializer.cpp
Last active March 22, 2017 20:55
FlexBuffer serializer
#ifndef VAST_FLEXBUFFER_PACKER_HPP
#define VAST_FLEXBUFFER_PACKER_HPP
#include <caf/deserializer.hpp>
#include <caf/serializer.hpp>
#include <flatbuffers/flexbuffers.h>
#include "vast/chunk.hpp"
@mavam
mavam / flexbuffer-building.cpp
Created March 22, 2017 20:54
A function that takes a discriminated union and writes it into a flexbuffer builder.
flexbuffers::Builder& build(flexbuffers::Builder& builder, const data& x) {
static auto to_uint = [](auto i) {
return static_cast<std::underlying_type_t<detail::DataType>>(i);
};
struct converter {
converter(flexbuffers::Builder& builder) : builder_{builder} {
}
void operator()(none) {
builder_.UInt(to_uint(detail::DataType::NoneType));
}
@mavam
mavam / flatbuffers-building.cpp
Created March 22, 2017 20:57
A function that takes a discriminated union and writes it into a flatbuffers builder.
flexbuffers::Builder& build(flexBuffers::Builder& builder, const data& x) {
struct converter {
converter(flatbuffers::FlatBufferBuilder& builder) : builder_{builder} {
}
using result_type = flatbuffers::Offset<detail::Data>;
result_type operator()(none) {
detail::DataBuilder db{builder_};
return db.Finish();
}
result_type operator()(boolean x) {
@mavam
mavam / sVimrc
Created September 12, 2018 09:16
sVimrc
let blacklists = ["*://www.inoreader.com/*", "*://mail.google.com/*"]