Skip to content

Instantly share code, notes, and snippets.

View yomguy's full-sized avatar

Guillaume Pellerin yomguy

View GitHub Profile
@psobot
psobot / bufferedreadqueue.py
Created November 9, 2012 18:05
Buffered Read Queue for Multiprocessing in Python
import Queue
import multiprocessing
import threading
class BufferedReadQueue(Queue.Queue):
def __init__(self, lim=None):
self.raw = multiprocessing.Queue(lim)
self.__listener = threading.Thread(target=self.listen)
self.__listener.setDaemon(True)
@tarekziade
tarekziade / marketplace_installation.rst
Created September 24, 2012 10:09
Installing Marketplace in Ubuntu 12.04
@MohamedAlaa
MohamedAlaa / tmux-cheatsheet.markdown
Last active November 15, 2025 02:35
tmux shortcuts & cheatsheet

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
@psobot
psobot / multiprocesscallback.py
Created May 13, 2012 20:28
Cross-process Python Callbacks
"""
multiprocesscallback.py, by Peter Sobot (psobot.com), May 13, 2012
Handles callback functions in classes that have member functions that
are executed in a different process. A crazy experiment in Python
magic that breaks a lot of rules.
Do not use in production, for any reason. (Although I do.)
If your class takes in a callback, like so:
@psobot
psobot / exceptionthread.py
Created April 14, 2012 19:05
Exception-Raising Thread
import Queue
import threading
import sys
__author__ = 'psobot'
class ExceptionThread(threading.Thread):
def __init__(self, *args, **kwargs):
threading.Thread.__init__(self, *args, **kwargs)
self.__status_queue = Queue.Queue()
@vstoykov
vstoykov / force_default_language_middleware.py
Last active March 25, 2025 14:26
Force Django to use settings.LANGUAGE_CODE for default language instead of request.META['HTTP_ACCEPT_LANGUAGE']
try:
from django.utils.deprecation import MiddlewareMixin
except ImportError:
MiddlewareMixin = object
class ForceDefaultLanguageMiddleware(MiddlewareMixin):
"""
Ignore Accept-Language HTTP headers
@chrisroos
chrisroos / gpg-import-and-export-instructions.md
Created September 9, 2011 10:49
Instructions for exporting/importing (backup/restore) GPG keys

Every so often I have to restore my gpg keys and I'm never sure how best to do it. So, I've spent some time playing around with the various ways to export/import (backup/restore) keys.

Method 1

Backup the public and secret keyrings and trust database

cp ~/.gnupg/pubring.gpg /path/to/backups/
cp ~/.gnupg/secring.gpg /path/to/backups/
cp ~/.gnupg/trustdb.gpg /path/to/backups/

or, instead of backing up trustdb...

@yunazuno
yunazuno / uridecodebin.py
Created March 2, 2011 04:56
Audio autoplugin example using 'uridecodebin' element
#!/usr/bin/env python
# uridecodebin.py - Audio autoplugin example using 'uridecodebin' element
#
# Based on:
# decodebin.py - Audio autopluging example using 'decodebin' element
# Copyright (C) 2006 Jason Gerard DeRose <[email protected]>
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
@katylava
katylava / git-selective-merge.md
Last active February 27, 2024 10:18
git selective merge

Update 2022: git checkout -p <other-branch> is basically a shortcut for all this.

FYI This was written in 2010, though I guess people still find it useful at least as of 2021. I haven't had to do it ever again, so if it goes out of date I probably won't know.

Example: You have a branch refactor that is quite different from master. You can't merge all of the commits, or even every hunk in any single commit or master will break, but you have made a lot of improvements there that you would like to bring over to master.

Note: This will not preserve the original change authors. Only use if necessary, or if you don't mind losing that information, or if you are only merging your own work.