Skip to content

Instantly share code, notes, and snippets.

#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
static void
usage(const char* argv0)
{
fprintf(stderr,
"Usage: %s\n"
" Passes spans of non-ASCII characters from stdin to stdout, "
@mrdomino
mrdomino / run-synergy
Created December 11, 2014 14:12
Run synergy
#!/bin/sh
SERVER=stevens-mac-mini.local
SYNERGY_DIR="$HOME/.config/synergy"
function getpass {
cat "$SYNERGY_DIR/pass" | tr -d '\n' | md5sum | cut -d' ' -f1
}
@mrdomino
mrdomino / example.cc
Last active August 29, 2015 14:13
Registry sketch
#include <iomanip>
#include <iostream>
#include <utility>
#include "registry.h"
using std::cerr;
using std::cin;
using std::endl;
using std::ios_base;
@mrdomino
mrdomino / fib.c
Last active August 29, 2015 14:14
#include <inttypes.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
uint64_t* fibs;
size_t fib_len;
int
expand_fibs(uint64_t x)
#include <hammer/glue.h>
#include <hammer/hammer.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
HParser* parser;
HBenchmarkResults* results;
#include <utility>
template <typename T, typename U = T>
class ScopedRestore {
public:
explicit ScopedRestore(T* it):
ref_(*it), old_val_(*it) {}
~ScopedRestore() noexcept(noexcept(this->ref_ = std::move(this->old_val_))) {
using std::move;
ref_ = move(old_val_);
#include <cstdlib>
#include <atomic>
#include <exception>
#include <iostream>
#include <memory>
#include <mutex>
#include <utility>
class JrpException : public ::std::exception {};
#include <cstdio>
#include <future>
#include <map>
#include <memory>
#include <string>
void do_thing(std::string a); // forces a copy
void do_thing_ref(std::string& a); // no copy, can mutate a
void do_thing_ptr(std::string* a); // no copy, can obviously mutate a
#include <cassert>
#include <future>
#include <list>
#include <queue>
#include <thread>
#include <vector>
class State {
public:
State(): started(false), pending_get_values(false), exiting(false) {}
#pragma once
#include <mutex>
#include <type_traits>
template <typename Mutex, typename... Args>
auto make_unique_lock(Mutex&& m, Args&&... args)
-> std::unique_lock<typename std::remove_reference<Mutex>::type> {
return std::unique_lock<typename std::remove_reference<Mutex>::type>(
std::forward<Mutex>(m), std::forward<Args>(args)...);