Skip to content

Instantly share code, notes, and snippets.

View Natim's full-sized avatar
🏠
Working from home

Rémy HUBSCHER Natim

🏠
Working from home
  • Silvr
  • Rennes
  • 11:38 (UTC +02:00)
  • X @Natim
View GitHub Profile
@Natim
Natim / cutfdu.py
Created February 14, 2014 15:32
Faster count uniq cut file (for flake8 or log for instance) (Thx @boblefrag for http://snippet.gabory.fr/snippet/9/)
# From http://snippet.gabory.fr/snippet/9/
# Similar to `cut -d ":" -f 1 | sort | uniq -c | sort -n`
#
# Usage: flake8 venv | python cutfdu.py
# Mock : flake8 venv | cut -d ":" -f 1 | sort | uniq -c | sort -n
#
# From Natim with love (2014-02-14)
import itertools
import sys
@Natim
Natim / uuid_from_text.py
Created March 17, 2014 08:52
UUID from text
import hashlib
import sys
from uuid import UUID
text = sys.stdin.read()
print UUID(hashlib.sha256(text).hexdigest()[:32])
@Natim
Natim / README.rst
Created August 25, 2014 21:09
Use a DNS TXT entry to configure a ramp up number for a slow software activation

Ramp Up

The problem

The idea of the ramp up is to have a scalable way to activate a software feature slowly so that the scale is handled.

If you have let say 10 million users and you want to launch a most wanted feature.

@Natim
Natim / boom.py
Created September 22, 2014 09:25
Python3 version of Boom
import asyncio
import aiohttp
def fetch_page(url, idx, num):
# Num per client
for i in range(num):
response = yield from aiohttp.request('GET', url)
if response.status == 200:
"""Delete all your couchdb database matching a pattern."""
import requests
import urllib
for db in requests.get("http://localhost:5984/_all_dbs").json():
print db,
if db.startswith("couchdb"):
print "DELETE",
r = requests.delete("http://localhost:5984/%s" % urllib.quote_plus(db))
r.raise_for_status()
@Natim
Natim / index.js
Created November 26, 2014 11:19
FxA auth dance with Daybed
function startFxAOauthDance(host, options) {
if (host === undefined) {
throw new Error("You should provide a host.");
}
if (options === undefined || options.redirect_uri === undefined) {
throw new Error("You should provide a options.redirect_uri parameter.");
}
return request({
@Natim
Natim / README.md
Created February 2, 2015 11:03
How to get an Oauth token for an client side app?

One of the problem when doing full HTML5 apps is the Authentication.

With Firefox Account, the OAuth dance implies a server. Here are some tips that we are using to provide the Oauth token to the client app after the Oauth dance.

  1. First add a button to the login page: GET /fxa-oauth/login?redirect=https://web-ui/#login-cb
  2. When the user clicks it will do the oauth-dance and come back to your redirect endpoint.
  3. At this time just GET /fxa-oauth/token to get the user oauth-token.
@Natim
Natim / keybase.md
Created May 11, 2015 10:18
keybase.md

Keybase proof

I hereby claim:

  • I am Natim on github.
  • I am natim (https://keybase.io/natim) on keybase.
  • I have a public key whose fingerprint is 6EE7 90DE 2D5B 88AA F079 11BC A500 E24B 9540 5094

To claim this, I am signing this object:

@Natim
Natim / client.js
Last active August 29, 2015 14:21 — forked from timothylhuillier/client.js
var dgram = require('dgram');
var socket = dgram.createSocket('udp4');
//var testMessage = "[hello world] pid: " + process.pid;
var message = new Buffer([0x65,
'I', 'P', 'A', 'D', 0x00,
'N','A', 'M', 'E', 0x00,
'J', 'S', 'O', 'N', 0x00,
'V', 'E', 'R', 'S', 0x00,
'U', 'U', 'I', 'D', 0x00,
@Natim
Natim / Document.xlsm
Created April 7, 2012 20:48
Web Browser Back Button in VBA for Office Excel - history.go(-1) in Excel
Option Explicit
Dim History As New Collection
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim wksht As Worksheet
Set wksht = Sh
History.Add wksht
If History.Count > 10 Then History.Remove 1
End Sub