Instantly share code, notes, and snippets.

# Ivan Savov ivanistheone

Created February 27, 2023 17:05
Print filesystem tree, similar to command line tool tree in UNIX.
View tree.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 #!/usr/bin/env python import argparse import os def tree(directory=".", indent = " "): """ Helper function that prints the filesystem tree. """ ignorables = ["__pycache__", ".gitignore", ".DS_Store", ".ipynb_checkpoints", ".git", "venv"] for root, dirs, files in os.walk(directory):
Last active January 5, 2023 14:55
This script converts a plain text file, e.g. article.txt into a mp3 audiobook using the MacOS text-to-speech accessibility command-line tool say. Adjust the VOICE and RATE parameters to customize to your liking. Note this requires running on MacOS.
View txt2mp3.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 #!/usr/bin/env bash set -e # This script converts any text file into a mp3 audiobook using the MacOS # text-to-speech accessibility command-line tool say. # Adjust the VOICE and RATE parameters to customize to your liking: VOICE="Alex" RATE="295" # pretty fast if [ $# -eq 0 ]; then Last active December 30, 2022 14:09 A shell script I use to (mostly) automatically cleanup my ~/Desktop View .cleanup.sh This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters  #!/bin/bash MYHOME=$HOME MYDESKTOP=\$HOME/Desktop echo " _ " echo " | | " echo " ___ | | ___ __ _ _ __ _ _ _ __ " echo " / __|| |/ _ \/ _ | '_ \| | | | '_ \ " echo " | (__ | | __/ (_| | | | | |_| | |_) |" echo " \___||_|\___|\__,_|_| |_|\__,_| .__/ "
Last active October 2, 2022 01:31
Script that generates a very long PNG image from a PDF document (use to get an high-level overview of a paper or book section).
View mkbirdseye.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 #!/usr/bin/env python import argparse import os try: from pdf2image import convert_from_path from PIL import Image except ImportError: print("You need to run pip install Pillow pdf2image before this script") import sys sys.exit(-1)
Created May 25, 2022 13:08
FizzBuzz of first 100 numbers written using TeX macros. TeX is a very strange programming language, but hey it works...
View fizzbuzz.tex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 % Compile with pdftex, not pdflatex \def\modulo#1#2{(#1-(#1/#2)*#2)} % a mod n = a-(a/n)*n where / is integer division \newcount\X \X=1 \loop \ifnum \numexpr\modulo{\X}{15} = 0 FizzBuzz
Last active November 21, 2021 19:01
This script generates links to mybinder and colab online Python environments you can use for any jupyter notebook hosted on in a GitHub repo.
Last active December 17, 2020 22:23 — forked from kovetskiy/samizdat-shell-help.bash
help text for bas script based on ### comment + awk command
View samizdat-shell-help.bash
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 #!/bin/bash ### ### my-script — does one thing well ### ### Usage: ### my-script ### ### Options: ### Input file to read. ### Output file to write. Use '-' for stdout.
Created August 20, 2020 13:44
View kolibridb.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 #!/usr/bin/env python """ Helpers for downloding Kolibri databases and printing topic trees: ./kolibridb.py --channel_id=95a52b386f2c485cb97dd60901674a98 or to get the same result as HTML (assuming you have pandoc installed): ./kolibridb.py --channel_id=95a52b386f2c485cb97dd60901674a98 --htmlexport
Created August 20, 2020 10:43
View excerpt from ck-12 sraper.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 def retrieve_flex_book_lesson(item): html_url = "/flx/get/perma/modality/lesson/{lesson_id}/{domain_id}?format=html".format( lesson_id=item["handle"], domain_id=item["domain"]["encodedID"], ) dst = tempfile.mkdtemp() try:
Created December 10, 2012 08:35
Parsing access log and collecting sessions
View gist:4249353
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 #!/usr/bin/env python import re from collections import defaultdict, namedtuple import datetime f = open("access.log") logfiles_list = [ f.readlines() ]