Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@tailhook
tailhook / avatar.jpg
Last active February 25, 2024 15:49
resume.json
avatar.jpg
@tailhook
tailhook / Output
Created December 24, 2014 23:09
Breaking jinja sandbox
ANY_FUNCTION valuable password
INSTANCE valuable password
NAMED_TUPLE valuable password
BUILTIN_RANGE valuable password
@tailhook
tailhook / daemon.sh
Created August 4, 2016 10:19
Mercurial sync
#!/bin/sh
WORKDIR=/tmp/repo-sync-workdir
# Read all the branches in the last 24 hours when starting to make sure we
# don't get out of sync
branches="$(hg log --template '{branch}\n' -d 'yesterday to now')"
trap "true" USR1 # This is a signal to wakeup from sleeping
@tailhook
tailhook / patch_package.sh
Last active May 1, 2017 10:07
Arch vagga
#!/bin/sh -ex
CONTRIBUTOR="Roman Rader <antigluk@gmail.com>"
OVERLAYFS_PATCH="http:\\/\\/people.canonical.com\\/~apw\\/lp1377025-utopic\\/0001-UBUNTU-SAUCE-Overlayfs-allow-unprivileged-mounts.patch"
sed -i.bak "s/# CONFIG_USER_NS is not set/CONFIG_USER_NS=y/" config
sed -i.bak "s/# CONFIG_USER_NS is not set/CONFIG_USER_NS=y/" config.x86_64
sed -i.bak "/source=/,/)/s/)$/\n$OVERLAYFS_PATCH)/" PKGBUILD
sed -i "s/\# add upstream patch/\# add upstream patch\n patch \-p1 \-i \"\$\{srcdir\}\/`basename $OVERLAYFS_PATCH`\"/" PKGBUILD
sed -i 's/^pkgbase=linux.*$/pkgbase=linux-user-ns-enabled/' PKGBUILD
#![feature(test)]
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
trait Service<T, R>: Sink<SinkItem=(T, Sender<R>)> {
fn call(&mut self, req: T) -> impl Future {
let (tx, rx) = oneshot();
match self.start_send((req, tx)) {
Ok(Async::NotReady(e)) => { return Err(busy()).into_future() }
Ok(Async::Ready) => { return rx; }
Err(e) => { return Err(e).into_future() }
}
}
}
extern crate env_logger;
extern crate futures;
extern crate abstract_ns;
extern crate tokio_core;
extern crate tokio_redis as redis;
extern crate ns_dns_tokio;
use std::error::Error;
use abstract_ns::Resolver;
#!/bin/sh -ex
VAGGA=${VAGGA:-vagga}
SERVER=server.example.org
PROJECT=myapp
CONTAINER=example-container
type $VAGGA
type rsync
@tailhook
tailhook / vagga.yaml
Created July 15, 2016 14:32
Elasticsearch 1.7.0
containers:
elastic:
setup:
- !Ubuntu xenial
- !UbuntuUniverse
# elastic PGP & Repo
- !AptTrust
server: pgp.mit.edu
keys: [D88E42B4]
--- examples/context.rs 2016-06-17 00:55:28.578244188 +0300
+++ examples/backtrace.rs 2016-06-17 00:59:10.613723109 +0300
@@ -1,4 +1,5 @@
#[macro_use(quick_error)] extern crate quick_error;
+extern crate backtrace;
use std::io::{self, stderr, Read, Write};
use std::fs::File;
@@ -7,6 +8,7 @@
use std::path::{Path, PathBuf};