Skip to content
a collection of personal scripts and libraries
Shell Python Lua Go CSS C JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib stripping out http(s) in dns_lookup.js if given Jun 10, 2019
systemd
README.md
bigpkg.py
cert-hashing.sh
clitwitter.py
compare_images.py
cortex_reddits.py
dayoftheweek.py
delete_by_percentage.lua
deploy.sh
dizionario_sqlscript.lua
dwm_start.sh
dzenstatusbar.sh
dzenweather.sh
feh_or_browser.lua
fehgallery.lua
fehgallery.py
get_ip.py
hdbenchmark.sh
imap_check.py
imgdb.go
imgtags.py
instahashtag.py
ltc-mining.sh
magnet_link_to_torrent.sh
make_gif.sh
maps_client.go
markdownitall.lua
mplayerss.go
mplayerss.lua
naut-bulkrename.sh
naut-feh_slide.sh
naut-urxvt.sh
net_data_sum.py
newsbeuter_extract_titleurl.sh
nofollow-dofollow.js
pick_random_file.sh
plowdown_parallel.sh
pp-json.py
pyscreenshoter.py
randomman.lua
rmtrash.py
script_awesome_debug.sh
script_bandwidth_archive.sh
script_bbcode_formatting.sh
script_bigger_than_M.sh
script_blog_backup.sh
script_clean_gopath.sh
script_clean_vim_undodir.sh
script_clean_vim_views.sh
script_disable_touchpad.sh
script_dl_single_github_file.sh
script_dos_unix.sh
script_efi_menu_restore.sh
script_entropy.sh
script_exif_clean.sh
script_extract_ip.sh
script_flash_video_save.sh
script_flush_thumbnails.sh
script_ip4toip6.sh
script_loop_ff_profile.sh
script_make_thumbs.sh
script_merge_html.sh
script_music_to_android.sh
script_mutt_mailto.sh
script_pdf_to_jpeg.sh
script_pianobar_update_proxy.sh
script_playlist_make.sh
script_print_utf8.sh
script_private.sh
script_proxy_checker.sh
script_rate_music.sh
script_ripencode.sh
script_touchpad.sh
script_transmission_notify.sh
script_ttytter_now_playing.sh
script_video_thumbnails.sh
script_wd_cryptousb.sh
script_wifi_control.sh
script_xwinwrap-video.sh
serve.py
showip.c
sopcast.go
tmux_sites_projects.sh
tmux_workon_project.sh
ttytter_startup.sh

README.md

Scripts

a collection of personal scripts. A few worked way back in time, some need a complete rewrite but 90% are perfectly usable.

bigpkg.py

List Archlinux's installed packages by size. By Allan McRae

cert-hashing.sh

Hash a SSL certificate

clitwitter.py

Old script to post on Twitter with Basic Authentication. Need to be updated with OAuth but I've since switched to TTYtter

compare_images.py

A script to compare images in a directory for similarity. It returns only those similar but not identical in a list. At this moment the list contains all images that have at least another very similar but doesn't check if they are similar with all the other images in the list, ending up with different couples of similar images but not all very similar. I found it too long to loop again and again to check all the images among themselves or return different lists for each group of similar images

cortex_reddits.py

Browse (sub)reddits with the Reddit client cortex. Totally an hack, subscribing them on Reddit is much easier but I didn't want to read all my subscriptions each time so I wrote this script to choose what and when to browse

dayoftheweek.py

Not my script originally, I just made it Python 3.2 compatible

delete_by_percentage.lua

Delete a random choice of files in a directory by a given percentage. Seems totally pointless but you'll never imagine the use case that made me write it... :)

deploy.sh

Deploy script for dotfiles here on Github. Untested.

dizionario_sqlscript.lua

Search and insert words and definitions in a SQLite dictionary of multiple languages

dwm_start.sh

Boot script for DWM

dzenstatusbar.sh

A simple dzen statusbar

dzenweather.sh

Weather script with icons for Dzen

feh_or_browser.lua

Useful for Newsbeuter or other similar cli softwares that can't show images in terminals. It checks whether a url is to an image, and open it in feh, or to something else, and open it in the browser

fehgallery.lua and fehgallery.py

Sort images in a directory and feed them to feh. Also, delete feh's filelist files if present. Same script written in Lua and Python

get_ip.py

Print the current IP. Both IPv4 and IPv6 are shown

hdbenchmark.sh

A very raw HD benchmark tool

imap_check.py

CLI unread count of my 2 GMail accounts. I used this as input for an AwesomeWM widget before the gmail one from vicious was implemented. Nowadays it's superfluous (and in need of refactoring...)

imgtags.py

Remove exiv tags from all the images in the current directory. People add all sorts of absurd tags to their images...

instahashtag.py

A script to download the latest 30 posts matching an hashtags' list on Instagram. Requires instaloader

lib/basename.lua

The basename shell command implemented in Lua

lib/benchmark_clock.lua

A quite raw benchmark for Lua scripts

lib/compare_table.lua

Compare tables for equality, after having "setified" them, in Lua

lib/dirname.lua

The dirname shell command implemented in Lua

lib/dns_lookup.js

DNS lookup in NodeJS

lib/generate_random_ints.lua

Random number generator

lib/get_home_dir.go

Get current user's home directory

lib/iterate_nested_tables.lua

Iterate over nested tables in Lua

lib/list_files.lua

List files with just ls instead of using lua-filesystem (which has more features of course)

lib/markdown-print.css and lib/markdown.css

Css for markdown files converted to html, printed or shown on screen

lib/markdowntohtml.go

Go parser of Markdown file to HTML

lib/must_run.go

Quick wrapper for error checking for functions that must run (panic if don't)

lib/parse_cli_arguments.lua

A skeleton of a function parsing cli arguments in Lua

lib/prime_numbers.go

A generator of prime numbers based on Goroutines and channels

lib/secs2minutes.lua

Convert an integer representing the seconds in minutes or a full representation of a clock (HH:MM:SS)

lib/web_server.go

Dead simple web server in Golang

magnet_link_to_torrent.sh

Output a magnet link to a torrent file to save it for future re-use

make_gif.sh

Make a gif from a video using FFmpeg. Quick and Dirty (size, duration are hardencoded).

maps_client.go

Script to query the Google Maps API for results matching a specific category of places around Krakow. This was a base for a full web app that never saw the light. An API key is needed

markdownitall.lua

Convert all markdown files in a path to html

mplayerss.lua

Launch MPlayer while disabling screensaver, DPMS settings and any compositing manager. When MPlayer exits, it reapplies the previous settings

naut-bulkrename.sh, naut-feh_slide.sh and naut-urxvt.sh

Launch scripts for Nautilus. Not actually using them since years

net_data_sum.py

Save network upload and download statistics in a file. Sum the numbers if from the same day (to take into account reboots)

newsbeuter_extract_titleurl.sh

Output url and title from an article in newsbeuter in a file. I used, and occasionally use still, this to tweet the interesting news from the rss feeds I follow

nofollow-dofollow.js

Quick script for the browser console to check whether links on a page are nofollow or dofollow.

pick_random_file.sh

Returns the name of a file, randomly picked in a given path among those matching an extension (or any kind of file at all if no extension is selected)

plowdown_parallel.sh

Use plowdown to download in parallel when downloading from different sites

pyscreenshoter.py

Take a desktop screenshot with just a few Python lines

randomman.lua

Randomly choose and open a manpage. I found this to be an extremely quick and funny way to discover hidden features and commands of your system

rmtrash.py

Removing some useless directories/files in ~

script_awesome_debug.sh

Debug AwesomeWM with Xephyr. It can easily adapted to any other WM

script_bandwidth_archive.sh

Save bandwidth stats to a text file, ready to be loaded in Tiddlywiki

script_bbcode_formatting.sh

Format files containing BBCode. More informations in the script itself

script_bigger_than_M.sh

Print files and directories that are bigger than 1Mb. I use this to discover what is eating up all the disk space in a partition

script_blog_backup.sh

A pretty basic, and not that useful, blog/site backup script

script_clean_gopath.sh

Clean using go clean archive files and executable binaries created with go install and go get in your $GOPATH

script_clean_vim_undodir.sh and script_clean_vim_views.sh

2 scripts to clean undodir and views directories under ~/.vim/ to delete references to files that are not present anymore on disk and thus save space. Probably not useful today with >1TB disks but I hate wasting space

script_disable_touchpad.sh

Launched at boot from your WM/DE, it detects thanks to xinput whether a mouse is present or not and disable/enable the touchpad accordingly. It goes along with the udev rules, completing it as with udev it can only be detected when a mouse is plugged in or off, not when it's already plugged in at boot. "Lachesis" is my mouse, of course

script_dl_single_github_file.sh

Download a single file from a specific repository on Github

script_dos_unix.sh

Convert Dos/Unix newline format

script_efi_menu_restore.sh

Restore UEFI boot menu entries. Of course only those I use/care about

script_entropy.sh

An entropy-generating script. I use this when I need to overwrite a partition or disk with random data for security reasons. As I'm paranoid, /dev/urandom isn't enough

script_exif_clean.sh

A wrapper for imgtags.py

script_extract_ip.sh

Extract all URLs from a file

script_flash_video_save.sh

Save the flash video opened in firefox. Not working with all files/sites

script_flush_thumbnails.sh

Remove all those .thumbnails/ directories under a path. I hate keeping 5 years old thumbnails of files that have been removed ages ago...

script_ip4toip6.sh

Convert an IPv4 address to its IPv6 equivalent

script_loop_ff_profile.sh

Move Firefox profiles in a file mounted in memory

script_make_thumbs.sh

Create thumbnails for images in a directory

script_merge_html.sh

Merge all html files in a directory in a single page

script_music_to_android.sh

Transfer a directory containing music to the sdcard Music/ directory on Android phones. Not using this anymore, mounting the phone via usb is quicker

script_mutt_mailto.sh

Open mailto links in mutt

script_pdf_to_jpeg.sh

Extract every page of a pdf as jpg images

script_pianobar_update_proxy.sh

Update the proxy address used by pianobar to access Pandora outside the US

script_playlist_make.sh

Make a playlist out of music files in a directory and optionally convert flacs to oggs

script_print_utf8.sh

Output a serie of Unicode characters on the terminal. For the times when you know there's a character in the Unicode table but don't know the code and can't remember the name. Of course I've only added those I find more useful

script_private.sh

Mount my private, cryptsetup encrypted partition and start the MPD daemon. Automatic detection of different partition, on desktop or laptop

script_proxy_checker.sh

Check whether a proxy is working and is from the US by trying to access pandora.com (as it is blocked here in Italy, if I can access it it must be an US address)

script_rate_music.sh

Add currently playing song in MPD to a playlist using ncmpcpp or cmus (quite easily expanded for other players). The original script allowed only to rate songs in aptly named playlists (1 to 5) but this permits to use any name for the playlist

script_ripencode.sh

Audio cd ripping script (to mp3, ogg or flac)

script_touchpad.sh

Disable/enable the touchpad. When writing long texts on a laptop the fingers can move the pointer and it's annoying. Disabling the touchpad removes the problem

script_transmission_notify.sh

A libnotify notification for completed torrents in Transmission

script_ttytter_now_playing.sh

Tweets current playing song (from ncmpcpp) via TTYtter. This must be configured already

script_video_thumbnails.sh

This is a old script, but still working, that I used when I did some video editing. Basically it generates an image containing informations such as filename, size, lenght and codec of a video along with a series of thumbnails to show off its content. I never tweaked it more than "black backround, fixed spacing between thumbs" though, I just needed something that didn't force me to depend on external programs.

script_wd_cryptousb.sh

Mount an encrypted partition on a usb hd that I use for backups.

script_wifi_control.sh

Completely disable and power off the Atheros wifi card on the Asus 1005H netbook

script_xwinwrap-video.sh

Use a video as desktop background with xwinwrap. I have no idea why anybody would want to but it's a funny trick

showip.c

Show IP addresses for a host

sopcast.go

A launcher for Sopcast streaming links. I had a Bash function for this but it was convoluted to kill the Sopcast process when exiting the video player. Go handles this case much more easily

systemd/network.service

Systemd service for wired networks

systemd/ttytter-screen.service and systemd/ttytter-tmux.service

Launch TTYtter under screen or tmux as a self-respawning daemon with Systemd

tmux_sites_projects.sh

Open a 3 windows tmux session, one for each of html, css and js files to edit. Specifically made for website projects

tmux_workon_project.sh

Open 2 split windows in tmux, changing paths to the project's to work on

ttytter_startup.sh

Old shell TTYtter startup script that I used before switching to Systemd. It checks whether a tmux session containing TTYtter is already running and reattaches to it or if it's not, launch one. This is for WM that are launched by \startx as a DM implements already the same functionalities

Donate

ko-fi

You can’t perform that action at this time.