Skip to content

Instantly share code, notes, and snippets.

View mu88's full-sized avatar

Mirko mu88

View GitHub Profile
@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);
@mu88
mu88 / README.md
Last active September 15, 2022 09:10
Automatically upgrade NuGet packages and create PR in Bitbucket

Automatically upgrade NuGet packages and create PR in Bitbucket

Since NuKeeper is deprecated, I dediced to write it very basic PowerShell script which does the same for our on-prem Bitbucket instance. It uses the .NET global tool dotnet-outdated.

Prerequisites

Some things that come to my mind about this script:

  • Tested with PowerShell 7.2.5 and Bitbucket 7.21 (on-prem)
  • Script has to be executed within an already cloned Git repository
  • Git repository must use http or https for the remote
  • There must be a user inside Bitbucket with write permissions. The user needs an HTTP Access Token to communicate with Bitbucket.
  • dotnet-outdated seems to have some issues with the old CSPROJ format, so make sure to use it only with the newer SDK-style projects.
@mu88
mu88 / Bitbucket - Remove PR identifier from commit message title.js
Last active July 28, 2022 11:55
Bitbucket - Remove PR identifier from commit message
// ==UserScript==
// @name Bitbucket - Remove PR identifier from commit message title
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Moves the Pull Request identifier from the Git commit message title into the description
// @author mu88
// @match https://<<Bitbucket host>>/**/pull-requests/*/overview
// @icon https://<<Bitbucket host>>/s/-848199135/6d8324a/n1cn5w/1.0/_/download/resources/com.atlassian.bitbucket.server.bitbucket-webpack-INTERNAL:favicon/favicon.ico
// @grant none
// ==/UserScript==
@mu88
mu88 / .gitconfig
Last active August 2, 2022 08:33
Git hook for Conventional Commits
[includeIf "gitdir:C:/source/GitHub/"]
path = .gitconfig-github