Skip to content

Instantly share code, notes, and snippets.

View elamperti's full-sized avatar

Enrico Lamperti elamperti

View GitHub Profile
@pi0
pi0 / colors
Last active August 4, 2022 17:35
Super Simple Node.js String Colors Support
This snippets add super Simple Node.js String Colors Support.
See here:
http://stackoverflow.com/questions/32474241/node-js-terminal-color
http://stackoverflow.com/questions/9781218/how-to-change-node-jss-console-font-color
@tubaman
tubaman / ledgerparser.py
Last active February 27, 2023 16:03
ledgerparser
"""ledger journal parser
We use this to parse the ledger file because we want to preserve the
exact format of the file including spaces, etc. It maps the parsed
transaction to the origin lines of the file.
"""
import ledger
@roramirez
roramirez / create_swap.sh
Created July 8, 2016 22:46
Create a swap file
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile none swap sw 0 0" >> /etc/fstab
@jackcarter
jackcarter / slack_delete.py
Last active February 11, 2025 15:46
Delete Slack files older than 30 days. Rewrite of https://gist.github.com/jamescmartinez/909401b19c0f779fc9c1
import requests
import time
import json
token = ''
#Delete files older than this:
ts_to = int(time.time()) - 30 * 24 * 60 * 60
def list_files():
@greysAcademicCode
greysAcademicCode / ddns-start
Last active July 10, 2023 15:26
Google Domains DDNS registration script
#!/bin/sh
# see: https://github.com/RMerl/asuswrt-merlin/wiki/Custom-DDNS#google-domains
# this script could go into /jffs/scripts of a router running Merlin's asus-wrt firmware
# you must then choose the "Custom" option for DDNS in the router's web interface
# it registers the WAN IP of the router with Google Domains' DDNS system
# get your login info from yout Google Domains dashboard
IP=$1
USER=
PASS=
@paulirish
paulirish / what-forces-layout.md
Last active May 5, 2025 08:05
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@crash7
crash7 / rewrite-git-message-by-commit-hash
Created August 22, 2015 01:40
Rewrite git message for specifics commits
git filter-branch -f --msg-filter '
read commit
declare -A commits_replaces;
commits_replaces["<commit hash>"]="new message"
if [[ ${commits_replaces[$GIT_COMMIT]} ]]; then
echo ${commits_replaces[$GIT_COMMIT]};
else
echo $commit
fi' -- --all
@derblub
derblub / spotify.nowplaying.sh
Last active March 20, 2024 23:15
Get playback status from Spotify via DBus
#!/bin/bash
# if spotify is started
if [ "$(pidof spotify)" ]; then
# status can be: Playing, Paused or Stopped
status=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'PlaybackStatus'|egrep -A 1 "string"|cut -b 26-|cut -d '"' -f 1|egrep -v ^$`
artist=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 2 "artist"|egrep -v "artist"|egrep -v "array"|cut -b 27-|cut -d '"' -f 1|egrep -v ^$`
album=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 1 "album"|egrep -v "album"|cut -b 44-|cut -d '"' -f 1|egrep -v ^$`
title=`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 o
@davidblewett
davidblewett / lp-ssh-add.sh
Last active December 12, 2021 11:12
Allow storage of SSH private keys in LastPass, and use lpass CLI to retrieve and load into ssh-agent. The general idea is to store the private key armored ASCII in an "SSH Key" Secure Note, in a specific folder (i.e.: "Secure Notes\SSH" ).
#!/bin/sh
#
# Import all SSH keys from LP
#
PREFIX=~
SSH_ASKPASS=$PREFIX/bin/lp-askpass.sh
export SSH_ASKPASS
# This is needed to force ssh-add to honor our SSH_ASKPASS.
DISPLAY=foo
export DISPLAY
@MacgyverH
MacgyverH / readme
Last active March 29, 2019 10:09 — forked from lowjoel/sleepbot-migrate-to-sleep_as_android.rb
Migrates SleepBot data to Sleep as Android's format. Updated!
When exporting from mysleepbot.com:
-go to settings
-Change Date Format to Day/Month/Year
-Change Time Format to 24 hours
-Go to Entries
-Select from date that is older than your first sleepbot entry
-Select to date as todays date
-Export as CSV name file sleepbot-raw.csv
-Edit file and remove the first line and also do a find & replace and remove all 's from the file