Skip to content

Instantly share code, notes, and snippets.

View mverteuil's full-sized avatar
🍇
Doing grape, thanks for asking.

M. de Verteuil mverteuil

🍇
Doing grape, thanks for asking.
View GitHub Profile
import socket
import struct
import sys
from httplib import HTTPResponse
from BaseHTTPServer import BaseHTTPRequestHandler
from StringIO import StringIO
import gtk
import gobject
@mverteuil
mverteuil / __init__.py
Created April 2, 2015 18:25
unittest module
""" can't have empty files in gist """
@mverteuil
mverteuil / gist:9382d34b3f99f4f1c312
Created May 4, 2015 18:02
Friggin minecraft :/
Jython 2.7rc2 (default:913eec7f2e60, Apr 3 2015, 17:13:45)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_65
Type "help", "copyright", "credits" or "license" for more information.
>>> from net.minecraft.item.crafting import CraftingManager
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
java.lang.ExceptionInInitializerError
at net.minecraft.item.crafting.RecipesTools.<init>(RecipesTools.java:16)
at net.minecraft.item.crafting.CraftingManager.<init>(CraftingManager.java:44)
at net.minecraft.item.crafting.CraftingManager.<clinit>(CraftingManager.java:28)
@mverteuil
mverteuil / skillup.lua
Created March 21, 2016 02:54
Work in progress
require('luau')
-- Variables
MAGIC_LIST = {
"Protect III",
"Shell III",
"Ice Spikes",
"Blaze Spikes",
"Phalanx",
"Stoneskin",
@mverteuil
mverteuil / rangoli.py
Created January 9, 2017 19:40
Rangoli
def rangoli(size):
width = size * 4 - 3
chars = list(string.ascii_lowercase[:size])
chars.reverse()
for row in range(1, size + 1):
chars_left = ''.join(chars[0:row])
chars_right = ''.join(reversed(chars_left[:-1]))
print '-'.join(chars_left + chars_right).center(width, '-')
for row in reversed(range(1, size)):
chars_left = ''.join(chars[0:row])
@mverteuil
mverteuil / test_adder.py
Created April 19, 2017 15:40
BDD Style Tests
from decimal import Decimal as D
from numbers import Number
from django.test import TestCase
class Adder(object):
def __init__(self, addend, augend):
if not (isinstance(addend, Number) or isinstance(augend, Number)):
raise TypeError('Adder requires both addend and augend to be Numbers.')
@mverteuil
mverteuil / notes.md
Created February 12, 2018 21:54
Python3 Upgrade Notes

General

  • Don't fork to a new branch, it will be impossible to merge back
  • If only a handful of developers work on the branch, nobody else is comfortable writing python3 when you're ready to go
  • You need to have a two-language compatible codebase

Stages

  1. Third-party compatibility first
  • No new dependencies without Py3 support
@mverteuil
mverteuil / auto-sign-commits-mac.md
Created October 25, 2018 20:48 — forked from lucko/auto-sign-commits-mac.md
Auto-sign commits with IntelliJ on MacOS

Run:

  • brew install gnupg gnupg2 pinentry-mac
  • git config --global user.signingkey <key>
  • git config --global commit.gpgsign true
  • git config --global gpg.program gpg

Followed by:

  • nano ~/.gnupg/gpg.conf
@mverteuil
mverteuil / facts.md
Created April 4, 2019 16:54
Python Installation Solutions

No sqlite? No problem!

CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"

No zlib, but zlib installed? No problem!

CPPFLAGS="-I$(brew --prefix zlib)/include"

@mverteuil
mverteuil / shell_plus_for_pycharm_django_console.py
Last active May 10, 2019 00:54
Enable the equivalent of ./manage.py shell_plus under PyCharm's Django Console.
# Confirmed working under:
# - Python3.7 / Django 2.2 / Django Extensions / IPython Available
# - Python3.7 / Django 2.2 / Django Extensions / IPython Unavailable
#
# Notices:
# - This might even work in PyCharm CE with the python console, but no guarantees there.
# - There are no language features required that shouldn't be available as far back as python2.6, maybe 2.5.
# - There are no framework features required that shouldn't be available as far back as Django 1.7
# - Should still provide basic Django shell when Django Extensions is unavailable.
# - This is for all of my friends to enjoy!