Skip to content

Instantly share code, notes, and snippets.


Francesco Pira pirafrank

View GitHub Profile
pirafrank / get-lockscreen-wallpapers.ps1
Created Jan 18, 2022
Copy Windows 10 lockscreen background images to a subdir of YOURUSERNAME\Pictures. Subdir content will be replaced on each run.
View get-lockscreen-wallpapers.ps1
Copy-Item -Force -Recurse $env:USERPROFILE\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets $env:USERPROFILE\Pictures\LockScreen_Wallpapers
Dir $env:USERPROFILE\Pictures\LockScreen_Wallpapers | rename-item -newname { [io.path]::ChangeExtension($, "jpg") }
explorer $env:USERPROFILE\Pictures\LockScreen_Wallpapers
pirafrank / aws_lambda_callback_redirect.js
Created Jan 13, 2022
callback function to make an HTTP redirect with AWS Lambda
View aws_lambda_callback_redirect.js
callback(null, {
statusCode: 307,
headers: {
Location: '',
pirafrank / tasks.json
Created Dec 18, 2021
VS Code tasks config for Jekyll
View tasks.json
// See
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
"label": "Serve",
"type": "shell",
"command": "bundle exec jekyll s",
"problemMatcher": []
pirafrank / run_other_teams.ps1
Created Nov 19, 2021
Powershell script to open another instance of Microsoft Teams desktop application. This script runs the app as another user, you need to create another local Windows user before running the script. Check the link the comments to find out how. Tested on Windows 10 and Microsoft Teams v1.4.00.29469 (64-bit, last updated on 11/19/2021)
View run_other_teams.ps1
# Read me:
# You need to do some setup before running this script.
# Check the link below.
# Run this script as admin in powershell.
# By the way if you run it in a standard powershell it will
# prompt to open a new shell as admin.
pirafrank /
Created Oct 18, 2021
checkrun - a function to get try-catch in bash
function checkrun {
if [ $1 -ne 0 ]; then
echo "$2"
exit 2
function test1 {
echo "test1" && \
echo "print 2"
pirafrank / symlink.ps1
Created Feb 7, 2021
PowerShell script to create NTFS symlinks on Windows. It uses UNIX-like args placement.
View symlink.ps1
pirafrank / ssh-copy-id.ps1
Created Feb 7, 2021
ssh-copy-id as Windows PowerShell script. Put it in a folder in your PATH
View ssh-copy-id.ps1
function print($str) {
Write-Host "$str"
if ( $($args.Count) -ne 2 -And $($args.Count) -ne 3 ) {
$scriptName = $MyInvocation.MyCommand.Name
print("Usage: .\$scriptName [args...] pubKeyFile user@host")
pirafrank /
Created Jan 31, 2021
scripts to dump docker volume to a tar.gz file and import from it
if [ $# -ne 2 ]; then
echo "Usage: ./$0 tar_archive_name volume_name"
exit 1
pirafrank /
Last active Jan 27, 2021
Install vim from source (+python3 +ruby and more) on Ubuntu 20.04 Focal Fossa
# Remove old vim installs
sudo apt-get remove vim vim-runtime gvim vim-tiny \
vim-common vim-gui-common vim-nox gvim
# install vim-gtk deps
sudo apt-get build-dep vim-gtk
# install some more deps
pirafrank / hetzner.js
Created Nov 15, 2020
Scriptable script to list your Hetzner servers in the app and on widgets. Requires iOS 14+ and Scriptable 1.6
View hetzner.js
// Your Hetzner API token
// Go to Cloud Console > [your project] > Security > API tokens
const token = "PUT_YOUR_TOKEN_HERE" // main
// urls
let listServersUrl = ""
let widget = await createWidget(listServersUrl)
if (config.runsInWidget) {
// The script runs inside a widget, so we pass our instance of ListWidget to be shown inside the widget on the Home Screen.