Skip to content

Instantly share code, notes, and snippets.

@bemitc
bemitc / keybase.md
Created June 4, 2015 01:38
keybase.md

Keybase proof

I hereby claim:

  • I am bemitc on github.
  • I am bmitchell (https://keybase.io/bmitchell) on keybase.
  • I have a public key whose fingerprint is 0F2D 85C2 ECED AFA5 B8D2 D554 7B99 5B35 3C7E DF02

To claim this, I am signing this object:

@bemitc
bemitc / fixubuntu.sh
Created September 23, 2015 22:19
fixup ubuntu for afl
#!/bin/sh
# blindly make ubuntu desktop changes needed for afl, needs to run as root
#
# this script is a pretty bad idea
echo core > /proc/sys/kernel/core_pattern
(cd /sys/devices/system/cpu; echo performance | tee cpu*/cpufreq/scaling_governor)
@bemitc
bemitc / decode_shadowpad_dns.py
Created August 19, 2017 04:28 — forked from fox-srt/decode_shadowpad_dns.py
Netsarang backdoor DNS payload decrypter
#!/usr/bin/env python
"""
Netsarang backdoor DNS payload decrypter
file: decode_shadowpad_dns.py
author: Fox-IT Security Research Team <[email protected]>
Usage:
$ cat dns.txt
sajajlyoogrmkllmuoqiyaxlymwlvajdkouhkdyiyolamdjivho.cjpybuhwnjgkhllm.nylalobghyhirgh.com
#!/usr/bin/env python3
from pysubparser import parser
import sys
if len(sys.argv) == 1:
print(f"{sys.argv[0]} subtitle_file\n")
else:
subtitles = parser.parse(sys.argv[1])
#!/usr/bin/env python3
from lxml import html
import requests
from bs4 import BeautifulSoup
import sys
import itertools
import genanki
import glob
import shutil
#!/usr/bin/env python3
import duolingo
import json
import csv
import time
csvfile = open("duolingo_import.csv", "w")
duolingo_csv = csv.writer(csvfile, quoting=csv.QUOTE_MINIMAL)
lingo = duolingo.Duolingo('myname', ...)
@bemitc
bemitc / InstructiveGameAnthology.txt
Created October 19, 2021 20:00
Chess Anthology Order [Dan Heisman]
Logical Chess Move by Move - Irving Chernev
The World's Most Instructive Amateur Game Book - Heisman
Chess: The Art of Logical Thinking - Neil McDonald
(Note: the non-anthology A First Book of Morphy by del Rosario can be read here)
Simple Attacking Plans - Wilson - contains a variety of master-master, master-amateur & amateur-amateur games
The Most Instructive Games of Chess Ever Played - Irving Chernev
The Art of Planning in Chess - Neil McDonald
Winning Chess Brilliancies - Yasser Seirawan
Chess Master vs. Chess Amateur - Euwe and Meiden
Best Lessons of a Chess Coach - Weeramantry and Eusebi
#!/usr/bin/env python3
# simple script to produce a csv to import into anki to incorporate spaced repetition for chessking apps
# this one is for chess tactics for beginners, you just create a table with categories and number of problems in each category
wrong = "\"If you made any incorrect moves, fail card. Otherwise pass. Always fully calculate full variations without moving pieces.\""
tbl = [
["MateIn1.RookCheckmates", 12],
["MateIn1.QueenCheckmates", 18],
["MateIn1.BishopCheckmates", 12],
["MateIn1.KnightCheckmates", 12],
#!/usr/bin/env python3
# simple script to produce a csv to import into anki to incorporate spaced repetition for chessking apps
# this one is for ct-art 4.0 (1200-2400) organized by difficulty
#
# it's based on the webapp, which I assume fully matches the mobile apps
back = "\"If you made any incorrect moves, fail card. Otherwise pass. Always fully calculate full variations without moving pieces.\""
tbl = [
[ "10.1", 26],
@bemitc
bemitc / getpositions.py
Last active December 9, 2021 16:17
count unique positions in a pgn file
#!/usr/bin/env python3
import sys
import chess.pgn
positions = []
class UniqPositionsVisitor(chess.pgn.BaseVisitor):
def visit_board(self, board):
if board.fen() not in positions: