Skip to content

Instantly share code, notes, and snippets.

View cypres's full-sized avatar

Hans Arnholm cypres

View GitHub Profile
@cypres
cypres / oauth.cc
Last active January 23, 2021 16:39
Two-legged OAuth 1.0a in C++11
//
// Two-legged OAuth 1.0a proof of concept
// Feel free to use, copy or modify to your own needs.
//
// Requires glog, gflags and crypto++ (cryptopp.com)
// Compile with:
// clang++ -std=c++11 -lcryptopp -lglog -lgflags oauth.cc -o oauth_test
// Run with:
// ./oauth_test -alsologtostderr
//
@cypres
cypres / fix_permissions.sh
Created July 11, 2014 10:45
Fix permissions script
#!/bin/sh
PATH=/var/www
USER=ftp
GROUP=www
# do an early exit if another find command is already running
/bin/ps axc | /usr/bin/awk '{ print $5 }' | /usr/bin/grep -q find
if [ $? -eq 0 ]; then
exit;
@cypres
cypres / int-concat.cc
Last active August 29, 2015 14:02
Bench of integer concats
#include "time.h"
#include "math.h"
#include "assert.h"
#include <string>
// After http://ideone.com/hbWgE
int num_tests = 5000000;
unsigned duck(unsigned x, unsigned y) {
@cypres
cypres / api.sendfile.nginx.patch
Last active August 29, 2015 14:02
trac nginx send file
--- /usr/local/lib/python2.7/site-packages/trac/web/api.py 2014-04-07 11:34:10.326789939 +0200
+++ /usr/local/lib/python2.7/site-packages/trac/web/api.py 2014-06-19 12:52:08.690985738 +0200
@@ -577,7 +577,7 @@
self.send_header('Last-Modified', last_modified)
use_xsendfile = getattr(self, 'use_xsendfile', False)
if use_xsendfile:
- self.send_header('X-Sendfile', os.path.abspath(path))
+ self.send_header('X-Accel-Redirect', os.path.abspath(path))
self.end_headers()
@cypres
cypres / .astylerc
Created June 11, 2014 08:16
OC C++ config for astyle plugin
# astylerc
align-pointer=name
align-reference=name
max-code-length=120
break-after-logical
indent=spaces=2
style=google
# Padding
pad-header
@cypres
cypres / daemon.cc
Created April 2, 2014 08:49
C++ example daemon with fork and relaunch should child die. Required C++11, gflags and glog.
//
// Copyright (C) 2011-2012 Yaroslav Stavnichiy <[email protected]>
// Copyright (C) 2014 OnlineCity Aps <[email protected]>
//
// Inspired by: https://bitbucket.org/yarosla/nxweb/src/tip/src/lib/daemon.c
//
// Licensed under The MIT License:
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
# This file is NOT licensed under the GPLv3, which is the license for the rest
# of YouCompleteMe.
#
# Here's the license text for this file:
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
# binary, for any purpose, commercial or non-commercial, and by any
@cypres
cypres / main.cc
Created March 26, 2014 12:45
smpp time parse
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdint>
uint64_t unixtime(const char* ts) {
std::tm tm;
tm.tm_year = (ts[0] - '0') * 10 + (ts[1] - '0');
if (tm.tm_year < 70) tm.tm_year += 2000;
tm.tm_mon = (ts[2] - '0') * 10 + (ts[3] - '0');
@cypres
cypres / .vimrc
Created February 11, 2014 08:54
vimrc for severs
" everything needs to be unicode. EVERYTHING
set encoding=utf8
" always join with just one space, even between sentences
set nojoinspaces
" don't move the cursor to the start of the line when changing buffers
set nostartofline
" Yeah, we like
@cypres
cypres / install-folly.sh
Last active December 30, 2015 21:29
Canonical way to install https://github.com/facebook/folly on OS 10.9 (Mavericks)
#!/bin/bash
# Canonical way to install folly on OS 10.9 (Mavericks)
# For deps try: brew install boost glog gflags jemalloc scons autoconf automake libtool
git clone [email protected]:facebook/folly.git fb-folly
cd fb-folly
# Commit 79c25e6f4a breaks complilation on OS X, so checkout previous version
git checkout 6d89f3d33268eaa12d5eb03a4afa5caa856306c5
git clone https://code.google.com/p/double-conversion/