Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Francesco Pira pirafrank

🎯
Focusing
View GitHub Profile
@pirafrank
pirafrank / get-lockscreen-wallpapers.ps1
Created January 18, 2022 14:04
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($_.name, "jpg") }
explorer $env:USERPROFILE\Pictures\LockScreen_Wallpapers
@pirafrank
pirafrank / aws_lambda_callback_redirect.js
Created January 13, 2022 19:57
callback function to make an HTTP redirect with AWS Lambda
View aws_lambda_callback_redirect.js
callback(null, {
statusCode: 307,
headers: {
Location: 'https://github.com/pirafrank',
}
})
@pirafrank
pirafrank / tasks.json
Created December 18, 2021 02:10
VS Code tasks config for Jekyll
View tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Serve",
"type": "shell",
"command": "bundle exec jekyll s",
"problemMatcher": []
@pirafrank
pirafrank / run_other_teams.ps1
Created November 19, 2021 17:04
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
pirafrank / checkrun.sh
Created October 18, 2021 13:08
checkrun - a function to get try-catch in bash
View checkrun.sh
function checkrun {
if [ $1 -ne 0 ]; then
echo "$2"
exit 2
fi
}
function test1 {
echo "test1" && \
echo "print 2"
@pirafrank
pirafrank / symlink.ps1
Created February 7, 2021 10:58
PowerShell script to create NTFS symlinks on Windows. It uses UNIX-like args placement.
View symlink.ps1
@pirafrank
pirafrank / ssh-copy-id.ps1
Created February 7, 2021 10:57
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")
exit
}
@pirafrank
pirafrank / docker_vol_dump.sh
Created January 31, 2021 22:50
scripts to dump docker volume to a tar.gz file and import from it
View docker_vol_dump.sh
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage: ./$0 tar_archive_name volume_name"
exit 1
fi
tararchive="$1"
volname="$2"
BASEDIR="$HOME/docker_vol_exports"
@pirafrank
pirafrank / vim_install.sh
Last active January 27, 2021 16:55
Install vim from source (+python3 +ruby and more) on Ubuntu 20.04 Focal Fossa
View vim_install.sh
#!/bin/bash
# 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
pirafrank / hetzner.js
Created November 15, 2020 11:00
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 = "https://api.hetzner.cloud/v1/servers"
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.