Skip to content

Instantly share code, notes, and snippets.

use std::ops::Deref;
pub struct Foo;
impl Foo {
pub fn f(&self) -> &str { "Foo" }
}
pub struct BoxA<T>(T);
impl<T> Deref for BoxA<T> {
type Target = T;
@soarez
soarez / client.js
Created January 31, 2016 17:52
Finding how many requests Node tries to handle at the same time for a single connection
const net = require('net');
const fs = require('fs');
var req = fs.readFileSync('./req.txt', { encoding: 'utf8' });
var socket = new net.Socket();
socket.connect(7001, '127.0.0.1', function() {
console.log('Connected');
var c = 50000;
while (c --> 0)
@soarez
soarez / fg.sh
Created November 22, 2015 11:49
#!/bin/bash
set -e
#node="/home/vagrant/nodes/iojs-v1.6.2-linux-x64/bin/iojs"
node="/home/vagrant/nodes/node-v0.12.1-linux-x64/bin/node"
node_flags='--perf_basic_prof'
script='/home/vagrant/porf/single.js'
script_log=/dev/null
# load_generator="node test.js"
@soarez
soarez / spy.js
Last active October 29, 2015 14:47
var util = require('util');
var EventEmitter = require('events').EventEmitter;
function Spy(f, ctx) {
var ee = new EventEmitter();
spy.called = false;
Object.keys(EventEmitter.prototype).forEach(function(p) {
spy[p] = transfer;
console.log('experiment')
var intervalTime = 1000;
setInterval(runSomething, intervalTime);
var lastTime = Date.now();;
function runSomething() {
var now = Date.now();
var elapsed = now - lastTime;
lastTime = now;
@soarez
soarez / gist:b2a092c309ed846be4f6
Created July 10, 2015 15:21
Upstart service error email alert
#!/bin/bash
srv=$1
to=$2
machine=$3
loglinesinbody=50
logfile="/var/log/upstart/$srv.log"
from="Upstart"
@soarez
soarez / intro.md
Created June 2, 2015 11:38
Symmetrical vs asymmetrical crypto

Symmetrical vs asymmetrical crypto


Disclaimer: This content is merely educational. [Don't roll your own crypto][dontDoYourOwnCrypto]. Use TLS and GPG.

These aren't new topics, but if you're reading this maybe you could use a quick

@soarez
soarez / deploy.bash
Last active September 23, 2019 16:15
#!/bin/bash
function deploy {
# Update the rsync target on the server
rsync \
-av \
--delete \
--delete-excluded \
$rsync_ignore_list_param \
$rsync_source/ $target:$rsync_target
@soarez
soarez / challenge.erl
Created January 13, 2015 12:21
challenge.erl
-module(challenge).
-export([ swap/3 ]).
% no effect on an empty list
swap([ ], _, _) -> [ ];
% no effect on a list with a single item
swap([ H | [] ], _, _) -> [ H ];
% no effect when both indexes are the same
@soarez
soarez / Dockerfile
Created January 8, 2015 17:17
phantomjs dockerfile
FROM ubuntu:14.04
MAINTAINER blueoffice
ENV PHANTOMJS_BINARY https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2
RUN apt-get update && \
apt-get install -y wget libfontconfig && \
wget $PHANTOMJS_BINARY -O phantomjs.tar.bz2 && \
tar xf phantomjs.tar.bz2 && \