Skip to content

Instantly share code, notes, and snippets.

View pg_basebackup.py
cat basebackup.py
import io, os
import psycopg2
import tarfile
from contextlib import closing
from datetime import date
from time import time
def add_file(archive, filename, data):
with closing(io.BytesIO(data.encode())) as f:
View gist:c95bde3ec5376de2de7d070a81581916
### Keybase proof
I hereby claim:
* I am plaes on github.
* I am paf_plaes (https://keybase.io/paf_plaes) on keybase.
* I have a public key ASBEWn5w8BVm9aU5eFFXwrRN7VXsUNZxMybNHkDhTvVyPAo
To claim this, I am signing this object:
View test_tms34020_setcdp.c
/* compile with gcc -lm -march=native test_tms34020_setcdp.c */
#include <stdint.h>
#include <stdio.h>
#include <math.h>
uint32_t setcdp(uint32_t dptch) {
uint32_t m_convdp;
// Check whether we're dealing with an even number
if ((dptch & 1) == 0) {
switch(__builtin_popcount(dptch))
@plaes
plaes / ccu-dump.sh
Created Feb 12, 2019
sunxi-mmc2-emmc-fail
View ccu-dump.sh
#! /bin/bash
function dump {
base=$1
size=$2
for((i=0;i<$size;i=i+4)) ; do
addr=$(($base + $i))
data=$(busybox devmem $addr)
echo $(printf '%#x: %s' $addr $data)
done
}
View plbu_dumps.txt
- https://gist.github.com/yuq/a17350bd5bf91dbeba24e9deeda9a829 // fbo.260.0
0x00000200, 0x1000010b, 0x00000000, 0x1000010c, /* 0x00000000 */
0x10001000, 0x10000109, 0x00000011, 0x30000000, /* 0x00000010 */
0x1003ec00, 0x28000121, 0x00000000, 0x10000107, /* 0x00000020 */
0x43820000, 0x10000108, 0x00000000, 0x10000105, /* 0x00000030 */
0x43820000, 0x10000106, 0x00010002, 0x60000000, /* 0x00000040 */
0x00002200, 0x1000010b, 0x10152440, 0x81015240, /* 0x00000050 */
0x00000000, 0x1000010a, 0x00000000, 0x1000010e, /* 0x00000060 */
0x3f800000, 0x1000010f, 0x03000000, 0x00040000, /* 0x00000070 */
0x00010001, 0x60000000, 0x00000000, 0x50000000, /* 0x00000080 */
@plaes
plaes / cordic_algorithm_plot.c
Last active Nov 18, 2018
cordic_algorithm_differences.c
View cordic_algorithm_plot.c
#include <stdio.h>
typedef __signed__ char __s8;
typedef unsigned char __u8;
typedef __signed__ int __s32;
typedef unsigned int __u32;
typedef __u8 u8;
typedef __s8 s8;
View calc.py
#!/usr/bin/env python3
"""
calc.py
~~~~~~~
Simple mathematical expression parser for infix syntax.
Caveats:
- only supports +-/* and ()
- fails with prefix syntax: -1
@plaes
plaes / sqla_hstore_update_bug.py
Created Dec 13, 2012
Bug in sqla hstore mutability implementation
View sqla_hstore_update_bug.py
from sqlalchemy import create_engine
from sqlalchemy import Column, Integer
from sqlalchemy.dialects.postgres import HSTORE
from sqlalchemy.sql import text
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('postgresql:///hstore_test', echo=True)
session = sessionmaker(bind=engine)()
Base = declarative_base()
View flask_admin_multiple_key_issue.py
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext import admin
from flask.ext.admin.contrib import sqlamodel
from flask.ext.admin.model import InlineFormAdmin
# Create application
app = Flask(__name__)
@plaes
plaes / gist:3470780
Created Aug 25, 2012
Flask context decorator for Celery tasks
View gist:3470780
def push_context(fn):
@wraps(fn)
def decorator(*args, **kwargs):
app_host = app.config.get('SERVER_NAME')
app_root = app.config.get('APPLICATION_ROOT')
base_url = 'https://{}/'.format(app_host if app_host else 'localhost')
if app_root:
base_url += app.root.lstrip('/')
app.test_request_context(base_url=base_url).push()
return fn(*args, **kwargs)
You can’t perform that action at this time.