Skip to content

Instantly share code, notes, and snippets.

@wzyboy
wzyboy / amortize_over.py
Last active Apr 17, 2019 — forked from cdjk/amortize_over.py
amortize_over beancount plugin
View amortize_over.py
# Copyright (c) 2017 Cary Kempston
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in all
@wzyboy
wzyboy / fetch-prices.py
Last active Apr 5, 2019
Fetch prices from IEX API for Beancount
View fetch-prices.py
#!/usr/bin/env python
'''A quick-and-dirty script to fetch prices from IEX API.'''
import sys
import argparse
import requests
from dateutil.parser import parse as parse_datetime
from beancount.core import data
@wzyboy
wzyboy / lektor_excerpt.py
Created Dec 15, 2017
Generate excerpts for Lektor
View lektor_excerpt.py
from html.parser import HTMLParser
from lektor.pluginsystem import Plugin
class HTMLTagStripper(HTMLParser):
def __init__(self):
self.reset()
@wzyboy
wzyboy / upload_img_s3.py
Last active Dec 15, 2017
Attaching images in Lektor
View upload_img_s3.py
#!/usr/bin/env python
import os
import argparse
import mimetypes
from datetime import datetime
from urllib.parse import quote
import boto3
@wzyboy
wzyboy / unrealized.py
Last active Dec 10, 2017
Compute unrealized PnL day by day
View unrealized.py
#!/usr/bin/env python
import argparse
import collections
from datetime import datetime
from beancount.loader import load_file
from beancount.ops import holdings
from beancount.core import prices
@wzyboy
wzyboy / telegram.py
Last active Nov 12, 2018
Search thru Telegram history dumps.
View telegram.py
#!/usr/bin/env python
'''
A simple script to search thru Telegram history dumps.
(See also: telegram-history-dump)
Example usages:
# Print dialogs
./telegram.py print /path/to/files.jsonl
View extract_media_urls.py
#!/usr/bin/env python
'''
A Twitter archive includes only text data. This simple script parses all media
entities in the Twitter archive and extract all media URLs. One could feed the
output list to "aria2c -i" and download all the media files to disk.
Optionally, since the filenames of the media files are unique, they could be
uploaded to object storage buckets for backup purposes.
'''
View filebeat.template.json
{
"mappings": {
"_default_": {
"_meta": {
"version": "5.6.2"
},
"date_detection": false,
"dynamic_templates": [
{
"strings_as_keyword": {
View main.yaml
- name: Download Borg binary
get_url:
url: "{{ borg_url }}"
checksum: "{{ borg_checksum }}"
dest: "{{ borg_path }}"
mode: 0755
- name: Fix broken Python
apt:
name: python3-venv
@wzyboy
wzyboy / Better Usage.md
Created Aug 11, 2017 — forked from jordansissel/Better Usage.md
Strip package scripts from .deb packages (postinst, postrm, preinst, prerm)
View Better Usage.md

The best way to use this tool is to hook apt's use of dpkg to run it before doing any package installs.

In your apt.conf, put this:

DPkg::Pre-Install-Pkgs {"xargs -rL1 bash /path/to/stripdeb.sh 2>&1 | logger -t stripdeb"}

Then, a demo:

% sudo apt-get install mysql-server-5.1
You can’t perform that action at this time.