Skip to content

Instantly share code, notes, and snippets.

View shtrom's full-sized avatar
💭
When you're coding, noone needs to see your mouth.

Olivier Mehani shtrom

💭
When you're coding, noone needs to see your mouth.
View GitHub Profile

Keybase proof

I hereby claim:

  • I am shtrom on github.
  • I am shtrom (https://keybase.io/shtrom) on keybase.
  • I have a public key whose fingerprint is 4435 CF6A 7C8D DD9B E2DE F5F9 F012 A6E2 98C6 6655

To claim this, I am signing this object:

@shtrom
shtrom / graphite-web.rc
Created July 30, 2012 07:38
ArchLinux rc.d script for AUR package graphite-web
#!/bin/bash
daemon_name=graphite-web
. /etc/rc.conf
. /etc/rc.d/functions
get_pid() {
echo `ps ax | grep [c]arbon-cache.py | awk '{ print $1; }'; \
ps ax | grep [u]wsgi-graphite.yaml | awk '{ print $1; }'`
@shtrom
shtrom / openpgp.txt
Created May 10, 2016 06:28
OpenKeychain Linked Identity
This Gist confirms the Linked Identity in my OpenPGP key, and links it to this GitHub account.
Token for proof:
[Verifying my OpenPGP key: openpgp4fpr:4435cf6a7c8ddd9be2def5f9f012a6e298c66655]
@shtrom
shtrom / wallabag19-export.php
Created November 27, 2016 07:39
Export Wallabag 1.9 (and maybe other 1.x) library.
<?php
/* Export Wallabag 1.9 (and maybe other 1.x) library.
*
* Olivier Mehani <shtrom+wallabag@ssji.net>, 2016
* MIT license (same as Wallabag itself)
*
* Particularly useful in * case the normal export process dies with a message
* such as
*
* PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 74558957 bytes) in /srv/www/wallabag/inc/poche/Tools.class.php on line 231
@shtrom
shtrom / openldap_passwd.py
Last active December 6, 2017 02:34 — forked from rca/openldap_passwd.py
Python hashing and test functions for user passwords stored in OpenLDAP.
#!/usr/bin/env python
"""
http://www.openldap.org/faq/data/cache/347.html
As seen working on Ubuntu 12.04 with OpenLDAP 2.4.28-1.1ubuntu4
Author: Roberto Aguilar <roberto@baremetal.io>
"""
import hashlib
import os
@shtrom
shtrom / fritzbox-cert-update.sh
Created January 28, 2018 09:55 — forked from wikrie/fritzbox-cert-update.sh
Fritzbox Fritz!Box AVM SSL Letsencrypt automatically update
#!/bin/bash
# parameters
USERNAME="maybe empty"
PASSWORD="fritzbox-password"
CERTPATH="path to cert eg /etc/letsencrypt/live/domain.tld/"
CERTPASSWORD="cert password if needed"
HOST=http://fritz.box
# make and secure a temporary file
int doSomething(int n)
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j < n; j += i)
{
// Some O(1) task
}
}
}
@shtrom
shtrom / php_array_funcs_vs_foreach.php
Created October 25, 2019 03:32
Comparing PHP array_* functions vs. foreach.
$referenceMap = [ "sessRef1" => "ibkRef1", "sessRef2" => "ibkRef2", "sessRef3" => null, "sessRef1_2" => "ibkRef1" ];
function test_funcs(array $map) { $values = array_values($map); $newMap = array_merge($map, array_combine($values, $values)); return $newMap; }
function test_foreach(array $map) { $newMap=[]; foreach($map as $k => $v) { $newMap[$k] = $v; $newMap[$v] = $v; } return $newMap; }
function fmicrotime_funcs($map, $count=10000) { $time=microtime(true); for($i=0;$i<$count;$i++) { test_funcs($map); }; $delta=microtime(true)-$time; echo $delta; };
function fmicrotime_foreach($map, $count=10000) { $time=microtime(true); for($i=0;$i<$count;$i++) { test_foreach($map); }; $delta=microtime(true)-$time; echo $delta; }
@shtrom
shtrom / dial.php
Created November 3, 2020 11:44
dial.php - A simplistic one-page protocol handler for tel: schemes, for FRITZ!Box and Mitel phones
<?php
/**
* dial.php - A simplistic one-page protocol handler for tel: schemes.
*
* Copyright (C) 2020 Olivier Mehani <shtrom@ssji.net>
*
* This renders a simple HTML form allowing to call a number,
* and to register itself as a protocol handler.
*
* Multiple devices are supported (see the `$devices` array),
@shtrom
shtrom / read-kinesis-stream.sh
Last active December 9, 2020 04:30
Simple script to read new records from an AWS Kinesis stream
#!/bin/bash -eu
#
# Test script to read from a Kinesis Data Stream
#
# Olivier Mehani <olivier.mehani@learnosity.com>
#
# Example usage:
#
# REGION=ap-southeast-2 AWS_PROFILE=playground ./read-stream.sh kinesis-cross-account-playground
#