Navigation Menu

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
  • 10:16 (UTC +02:00)
  • X @Natim
View GitHub Profile
@Natim
Natim / get_random_token.py
Created December 15, 2015 14:06
Loadtesting with Firefox Account
#!/usr/bin/env python
from __future__ import print_function
import base64
import hmac
import os
import sys
from six.moves.urllib.parse import urlparse
from fxa import core
from fxa import errors
@Natim
Natim / morse.py
Last active January 10, 2022 03:53
Morse
lettre_morse = {
"a": ".-",
"b": "-...",
"c": "-.-.",
"d": "-..",
"e": ".",
"f": "..-.",
"g": "--.",
"h": "....",
"i": "..",
@Natim
Natim / permission.py
Last active January 10, 2022 03:53
How to handle our permission schema with Redis
# -*- coding: utf-8 -*-
from __future__ import print_function
import json
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=1)
# List of permissions that gives us this permission
PERMISSIONS_INHERITANCE = {
'bucket:write': {
@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 / 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 / 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 / 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({
"""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 / 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:
@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.