Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View dlebech's full-sized avatar

David Volquartz Lebech dlebech

View GitHub Profile
@dlebech
dlebech / Gerrit comment formatting
Last active January 17, 2024 10:34
Comment formatting in Gerrit
The documentation for Gerrit when it comes to formatting comments is quite lacking. Here is short list created by trial and error and looking at the source code in:
./gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtml.java
Lists:
* List item 1
* List item 2
- List item 1
- List item 2
@dlebech
dlebech / .vimrc
Last active October 9, 2023 12:53
My .vimrc, .zshrc and vscode user settings
set nocompatible
filetype off
" Plug is installed with https://github.com/junegunn/vim-plug
"call plug#begin()
"Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
"Plug 'vim-airline/vim-airline'
"Plug 'ctrlpvim/ctrlp.vim'
"Plug 'Yggdroot/indentLine'
"
@dlebech
dlebech / uwsgi-emperor
Created February 2, 2015 16:09
uWSGI start/stop script that can be added to /etc/init.d on Ubuntu Linux and used with "sudo service uwsgi-emperor start"
#!/usr/bin/env bash
### BEGIN INIT INFO
# Provides: uwsgi-emperor
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the uwsgi emperor app server
# Description: starts uwsgi emperor app server using start-stop-daemon
@dlebech
dlebech / difflibtest.py
Created February 17, 2015 20:37
Python difflib test to see the difference between the different ratios.
#!/bin/env python
import difflib
import random
import string
import time
repetitions = 100000
# Pre-generate strings between 5 and 30 characters in length.
strings = [''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(random.randint(10,30))) for i in range(repetitions*2)]
@dlebech
dlebech / error.js
Last active December 15, 2015 19:16
Just testing out Error subclassing
'use strict';
class MyError extends Error {}
class MyVerboseError extends Error {
constructor(message) {
super(message);
this.name = this.constructor.name; // ! important
this.message = message;
Error.captureStackTrace(this, this.name);
@dlebech
dlebech / selenium.js
Created December 18, 2015 15:39
Node + Mocha + Selenium
'use strict';
const By = require('selenium-webdriver').By,
until = require('selenium-webdriver').until,
firefox = require('selenium-webdriver/firefox'),
test = require('selenium-webdriver/testing'),
utils = require('../utils'),
server = require('../server');
describe('register', function() {
@dlebech
dlebech / letsencrypt.sh
Created February 25, 2016 09:04
Just so I don't forget, the one-liner to use for generating letsencrypt certs.
# One-liner for creating a certificate on a webserver.
# Install the letsencrypt github repo and then
./letsencrypt-auto certonly --webroot -w /var/www/websitename/or/whatever -d domain.com

This is a copy of a support chat between Intercom and myself. It's referred to from a blog post I wrote here.

David:

Hello there

I wanted to make a report of what I believe to be a security hole in your app.

I recently had a support chat session with a service I use while being logged-in.

@dlebech
dlebech / cache.py
Created March 20, 2016 16:51
Python LRU cache that works with coroutines (asyncio)
"""Global LRU caching utility. For that little bit of extra speed.
The caching utility provides a single wrapper function that can be used to
provide a bit of extra speed for some often used function. The cache is an LRU
cache including a key timeout.
Usage::
import cache
@cache.memoize
@dlebech
dlebech / redis.go
Created May 19, 2016 07:16
Connecting to Redis in Golang
package services
import (
"os"
"time"
log "github.com/Sirupsen/logrus"
"github.com/garyburd/redigo/redis"
)