Skip to content

Instantly share code, notes, and snippets.

View mu88's full-sized avatar

Mirko 🇪🇺 🇺🇦 mu88

View GitHub Profile
@mu88
mu88 / BGIP2026.md
Last active January 24, 2026 14:29
BGIP 2026
$ErrorActionPreference = "Stop"
$PSNativeCommandUseErrorActionPreference = $true
Clear-Host
$pendingOsUpgradeResourceIdentifiers = @()
$pendingMaintenanceActions = aws rds describe-pending-maintenance-actions | ConvertFrom-Json
$pendingMaintenanceActions.PendingMaintenanceActions | ForEach-Object {
$resourceIdentifier = $_.ResourceIdentifier
@mu88
mu88 / removeApePaywallOverlay.js
Last active October 24, 2025 12:10
Tampermonkey "Remove Ape Paywall Overlay"
// ==UserScript==
// @name Remove Ape Paywall Overlay
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Removes the paywall overlay with ID "ape-paywall-overlay" from websites automatically.
// @author GitHub Copilot 🤖
// @match *://*/*
// @run-at document-end
// @grant none
// ==/UserScript==
@mu88
mu88 / Bitbucket_AddTaskForFixups.ps1
Created June 25, 2024 12:53
Bitbucket - Add tasks for fixup commits
Clear-Host
# Unlock PowerShell SecretStore with dedicated secret
$password = Import-CliXml -Path "C:\secretStore.xml"
Unlock-SecretStore -Password $password
$baseUrl = "https://bitbucket.company.com/rest/api/latest"
$username = Get-Secret -Name Bitbucket_FixupTasks_Username -AsPlainText
$password = Get-Secret -Name Bitbucket_FixupTasks_Token -AsPlainText
$commitPrefix = "fixup!"
@mu88
mu88 / Raspi.md
Created February 2, 2024 10:50
Raspi IoT with GPIO in Docker

Control GPIO pins within rootless Docker container on Raspberry Pi

When it comes to controlling the GPIO pins of a Raspberry Pi, the existing tutorials will get you started in a couple of minutes. But most of the code assumes that it runs on bare metal and has sufficient privileges, e. g. to access the GPIO pins.
But what if you want to run this code in a Docker container, or even rootless? This page will explain how to set up all the necessary pieces.

Containerizing the app

Let's use the following sample code to blink an LED ([taken from the official documentation][2]) and save it under BlinkLedSample\Program.cs:

using System;
using System.Device.Gpio;
using System.Threading;
@mu88
mu88 / DeleteAllBinAndObjFolders.ps1
Created December 13, 2023 15:58
Recursively delete all bin and obj folders of C# within the current directory
dir .\ -include bin,obj* -recurse | foreach($_) { rd $_.fullname -Recurse -Force}
@mu88
mu88 / script.ps1
Created July 17, 2023 06:17
Clean temporary dev stuff
$Continue = Read-Host "Do you want to continue? Enter 'Yes'"
if ($Continue -ne "Yes") {
exit
}
if (([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") -ne $true) {
Write-Host "Run this script as admin"
exit
}
@mu88
mu88 / script.js
Created July 17, 2023 06:16
Copy Jira ticket identifier
// ==UserScript==
// @name Copy Jira ticket identifier
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Concats the ticket number and title of a Jira ticket
// @author mu88
// @match https://<<Jira>>/browse/*
// @icon https://<<Jira>>/s/<<Change>>/_/images/fav-generic.png
// @grant none
// ==/UserScript==
@mu88
mu88 / main.py
Last active July 9, 2023 12:59
Display screenshot on Waveshare ePaper display
import framebuf
import gc
from machine import Pin, SPI, I2C
import network
import time
import urequests
import utime
class INA219:
def __init__(self, i2c_bus=1, addr=0x40):
@mu88
mu88 / Program.cs
Created May 15, 2023 14:44
Compare PostgreSQL and SQL Server regarding CanConnectAsync
using System.Diagnostics;
using Microsoft.EntityFrameworkCore;
using Testcontainers.MsSql;
using Testcontainers.PostgreSql;
var msSqlContainer = new MsSqlBuilder()
.WithImage(MsSqlBuilder.MsSqlImage.Replace("mcr.microsoft.com/", string.Empty))
.Build();
await msSqlContainer.StartAsync();
SqlServerContext.Port = msSqlContainer.GetMappedPublicPort(MsSqlBuilder.MsSqlPort);