Skip to content

Instantly share code, notes, and snippets.

View matutter's full-sized avatar

Mat Utter matutter

View GitHub Profile
@matutter
matutter / sqla_bulk_update.py
Last active January 26, 2023 03:56
Shows a bulk update using SQLAlchemy ORM.
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Boolean, String
from sqlalchemy.orm import sessionmaker
engine = create_engine('sqlite:///:memory:', echo=True)
session = sessionmaker(bind=engine)()
Base = declarative_base()
class User(Base):
@matutter
matutter / pika-consumer.py
Created January 15, 2020 03:20
Pika and Tornado
# Updated from these out of date docs.
# https://pika.readthedocs.io/en/stable/examples/tornado_consumer.html
from pika.adapters.tornado_connection import TornadoConnection
import pika
import logging
import coloredlogs
coloredlogs.install()
@matutter
matutter / markdown.css
Created January 15, 2020 02:54
Stylesheet for styling pandoc generated markdown to HTML
html {
font-size: 100%;
overflow-y: scroll;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
body {
color: #444;
font-family: Georgia, Palatino, 'Palatino Linotype', Times, 'Times New Roman', serif;
from tarfile import TarFile, TarInfo, open as OpenTarfile
from tempfile import NamedTemporaryFile, TemporaryDirectory
import shutil
file_data = [
(b'1239EAD09123FCC', "/data/local/tmp/me"),
(b'aaaaaaaaaaaaaaa', "/data/local/tmp/a"),
(b'bbbbbbbbbbbbbbb', "/data/local/tmp/b")
]
@matutter
matutter / example.py
Last active October 2, 2019 22:09
aiohttp dynamic resource in subapp prefix
#!/usr/bin/python3.7
# pytest -s test_subapps.py
# pip install pytest aiohttp pytest-aiohttp
from aiohttp import web
import pytest
def handle_1(request):
return web.Response(text="OK 1")
@matutter
matutter / moment_to_datetime.py
Created August 31, 2019 01:06
Shows how ms-since-epoch TS that are truncated to fit in int32_t space will look.
from subprocess import check_output
from datetime import datetime
ms_since_epoch = check_output([
"node",
"-e",
"console.log(require('moment')().valueOf())"
])
dt = datetime.fromtimestamp(float(ms_since_epoch) / 1000.0)
print(ms_since_epoch)
print(dt)
@matutter
matutter / fn_decl.cpp
Created May 21, 2019 02:04
Example of using C++ lambdas with closure as classic C function pointers.
#include <iostream>
#include <functional>
typedef int (*int_fn_t)(int);
extern "C" void c_call(int_fn_t fn);
void c_call(int_fn_t fn) {
std::cout << fn(0) << std::endl;
}
typedef void (*void_fn_t)(void);
@matutter
matutter / asan-test.cpp
Created May 12, 2019 23:46
Small program demonstrates use of ASan for detecting leaks.
#include <iostream>
#include <stdlib.h>
#include <sanitizer/lsan_interface.h>
/**
* clang++ -g -fsanitize=address asantest.cpp
* ASAN_OPTIONS=detect_leaks=1 ./a.out
*
* ASAN_OPTIONS=symbolize=1 ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer
@matutter
matutter / cpp_factory_w_statics.cpp
Created May 7, 2019 01:01
How a C++ factory pattern may be applied to subclasses using some static methods.
#include <iostream>
#include <vector>
class Base {
public:
Base() {}
virtual int func() = 0;
};
class Sub1 : public Base {
@matutter
matutter / gitlab-runner-urls.md
Last active April 22, 2019 17:18
URLs to download latest .deb and .rpm versions of gitlab-runner