Skip to content

Instantly share code, notes, and snippets.

🐍

Markus Holtermann MarkusH

🐍
Block or report user

Report or block MarkusH

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View PyConUK-Day3.py
#import *;
PyCon_Day = "3";
while PyCon_Day == str(3):
print("It is ");
print("Monday");
"""Tells us it's Monday""";
def Need_Coffee(foo: Boolean):
if str(foo) == "True":
@MarkusH
MarkusH / b64uuid.py
Created Jul 10, 2019
Base64 Encoding of UUIDs
View b64uuid.py
>>> import base64, binascii, uuid
>>>
>>> def encode(uid: uuid.UUID) -> str:
... return base64.urlsafe_b64encode(uid.bytes).decode().rstrip("=")
...
>>> def decode(uid: str) -> uuid.UUID:
... return uuid.UUID(binascii.b2a_hex(base64.urlsafe_b64decode(uid_b64 + "==")).decode())
...
>>> uid = uuid.UUID("12546fd8-6dd9-4923-9c0a-f1fefadd3e2b")
>>> uid
@MarkusH
MarkusH / warn_too_many_queries.py
Created Jun 13, 2019
Warn on too many queries in context
View warn_too_many_queries.py
import logging
from contextlib import contextmanager
from inspect import getframeinfo, stack
from django.db import connections
logger = logging.getLogger(__name__)
@contextmanager
@MarkusH
MarkusH / create.py
Last active Feb 1, 2019
GraphQL graphene-python pain
View create.py
from graphene import Argument, InputObjectType, Mutation, String
class ThingInput(InputObjectType):
foo = String(required=True)
class OtherInput(InputObjectType):
bar = String(required=True)
class ComponentsInput(InputObjectType):
thing = Argument(ThingInput, required=True)
@MarkusH
MarkusH / mail.md
Last active Nov 22, 2018
Datenleck Mathekalender (Matheon, TU Berlin)
View mail.md

Sehr geehrte Damen und Herren,

Sie haben in den letzten Jahren am MATHEON-Adventskalender teilgenommen und im Rahmen der Anmeldung Ihre E-Mail-Adresse und, falls Sie an dem Gewinnspiel teilgenommen haben, die folgenden Daten angegeben:

  • Name, Geschlecht, Adresse, Telefonnummer, Status (Schüler/Erwachsener), woher Sie den Mathekalender kennen
  • Für Schüler: Klassenstufe, Name und Adresse der Schule
  • Für Erwachsene: Abschluss, Titel und Beruf

Außerdem wurden die IP-Adresse, der Host (z.B. "beispiel.inf.fu-berlin.de" oder "beispiel.di0.t-ipconnect"), der Browser (user agent) und natürlich die Ergebnisse bzw. abgegebenen Antworten bei dem Mathekalender gespeichert.

Am 19.10. haben wir alle alten Benutzerdaten aus der Mathekalender-Datenbank gelöscht und davor ein Backup gemacht, um die Datenbank wiederherstellen zu können, falls bei dem Löschen etwas schiefgehen sollte. Die Funktionsfähigkeit des Backups haben wir auf einem Server der TU Berlin getestet. Am 19.11. fiel uns auf, dass die Ordner auch auf ander

@MarkusH
MarkusH / totp.sh
Last active Sep 24, 2019
Simple Bash TOTP client
View totp.sh
#!/bin/bash
# Copyright (c) 2018, info AT markusholtermann DOT eu
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
@MarkusH
MarkusH / turn-off-bluetooth-mic.sh
Created Apr 26, 2017
QC35 PulseAudio A2DP / HFP+HSP switcher
View turn-off-bluetooth-mic.sh
#!/bin/sh
MAC=XX_XX_XX_XX_XX_XX
NEW_SINK=bluez_sink.$MAC.a2dp_sink
pactl set-card-profile bluez_card.$MAC a2dp_sink
pactl set-default-sink $NEW_SINK
sink_inputs=$(pactl list | grep -P "Sink Input #\d+" | grep -Po "\d+")
for sink_input in $sink_inputs ; do
View funcindex.py
# Copyright 2017, Markus Holtermann
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
@MarkusH
MarkusH / 2016-11-15.md
Created Nov 15, 2016
Last Month in Django
View 2016-11-15.md
View gist:5c7b94e01e56282a989667be80a71f4f
convert file1 file2 file3 -compress JPEG -resize 1140x1653 -gravity Center -extent 1240x1753 -units PixelsPerInch -density 150x150 out.pdf
You can’t perform that action at this time.