Skip to content

Instantly share code, notes, and snippets.

View tkalve's full-sized avatar
👨‍💻
full-snack developer

Thomas Kalve tkalve

👨‍💻
full-snack developer
View GitHub Profile
@tkalve
tkalve / git-recent-branches.ps1
Created December 22, 2025 17:30
List recently updated Git branches
<#
.SYNOPSIS
Display recently updated git branches in a formatted table.
.DESCRIPTION
Shows the most recently updated local branches with details including
branch name, last commit date, author and message.
.PARAMETER Count
Number of branches to display. Default is 15.
@tkalve
tkalve / get-token.ps1
Created December 22, 2025 15:01
Powershell script to get a token for my app environment
<#
.SYNOPSIS
Get access token for a specified <app> environment
.DESCRIPTION
Fetches required secrets from Azure key vault, and used azure CLI to get a token.
.PARAMETER environment
Which <app> environment to authenticate against (eg. dev, test, prod)
Default: dev
#>
param (
@tkalve
tkalve / useCheatCodes.ts
Created December 22, 2025 14:56
useCheatCodes react hook
/**
* @author Thomas Kalve <https://github.com/tkalve>
*/
import { useRef, useCallback, useEffect } from "react";
/**
* Listens to cheat code sequences and triggers a callback when any sequence is entered
*
* @param callback - Function to call when any cheat code is entered
*/
@tkalve
tkalve / backend-coverage-main.json
Last active October 2, 2025 10:20
SAPo coverage tracking
{ "generatedon": "2025-10-02T10:20:17Z", "parser": "OpenCover", "assemblies": 10, "classes": 640, "files": 619, "coveredlines": 10500, "uncoveredlines": 9765, "coverablelines": 20265, "totallines": 35038, "linecoverage": 51.8, "coveredbranches": 1759, "totalbranches": 5353, "branchcoverage": 32.8, "coveredmethods": 2157, "totalmethods": 3863, "methodcoverage": 55.8 }
eJydl3dQE/yy91MoASI1EBBEUEEUpBiklaABEemhCVKCCBGkhUjvtUgJTXorIr1JlR4U4QEEaUqJEHoEBKQprRyfuefMOXPvfWfeubuzv5394/fd+e5/H10NMBUMAPmTwZkejwD/jER2AIAewAewc7K28RS1dXV0MDS4AKCtT8fY/KvcPBkAQKp9IADw5z8A0G78KI6knuLf2fl+d2kzn/aTHckPqFcA+siH1Qt/a8n6YqjtZwCmbMPOx33+o4KIEZNhsXaZfsULdUMy5Z3YjtL5AfTs++Lwhdlwsk81fcqf+ed8nfSen+FZ8wCb0rFuaMAx9GxOITSbLOh2XoxJNj+fV8rn8nj4W7vNCcaqNz/gJ3SKLO1nUuLUYUoe/iBxNKb6BOnLdELpnK1E0/8CL+3T7u+djIafDneYdp6NzYwx0cDamulO4gtzz72fdXTonwdiZSAWOz8HFcMLhFjbOnT2ls231sUQfhPeh79WA6IPl0lj1V1EIS5P56652eyCOczXUM98Df1z6Gr+AloyZrh6C0uSK5bp+1DceboxMEHpPHI/XI72/H4JjzlHtzrCcwbOVmcWx7C8BZ8/z309P12Vxh9oERTAnQm0znjYQXbAghbh1Ei7vW+7U+lUO8hfny8ngMIPIcP+IntDNp3px50VQ8ns38m9gW033nX+nuu44SnWd7pKuR7gd9qcacHdMqWR5jEf8fv0eOctb8vB4kQxRsY869tx7H7bcsTWL/8TZqv8uKuTpt5nPinkDsVTtRGdYR5WU2+nbxjhVR+XE01WTnc0lffpzja67rKSX+iTtG4+TZGJtL7Gt9xU3zhT2uNd/YzDN3re2+Jlcis1mkeECPGRJZeqBTpjW/z7PlQ+YIYpi1eI1a9PKmQV6JZ4B3v4DBOWBkXr0GeLBpNH+YO5oCaP86s3vglRrd/23v4meq1G52Vf/xqVOQH90UHpIcJqKFKqv7sRGzArsfB168eIqAcT9S/OmpYuiRhc2yZRFpsckabVABZz1AsmO7ze
@tkalve
tkalve / dadjoke-o-matic.js
Created January 26, 2023 08:20
A bookmarklet to fetch a dad joke
javascript: (function() {
// set up XMLHttpRequest with onready handler
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
// parse joke from response
var response = JSON.parse(xhr.responseText);
@tkalve
tkalve / foo.ino
Last active February 17, 2020 19:17
#include <Wire.h>
#include <Adafruit_ADS1015.h>
#include <EEPROM.h>
#include <RunningAverage.h>
#define RA_SIZE 20
RunningAverage RA0(RA_SIZE);
RunningAverage RA1(RA_SIZE);
Adafruit_ADS1115 ads(0x48);
@tkalve
tkalve / stokkaseg.py
Created December 22, 2019 09:20
Løsning på kode24-kalenderluka for 22. desember 2019
# Originalteksten:
# Her er alle bokstavene flyttet X steg i alfabetet.
stokkaseg = 'NKC FKT RTVCNIJA, MXFKP HHL CC FKMAOD XÆUEUR. ICYØB PCSÅ MUUN TKJ OD TØ ROOAD, ZF OÅØØUYGHÅ NCÆ LMQ NHP C IPKVO: ZSVHBXITB'
# Alfabetet, slik vi lærte det på skolen på åttitallet før emojiene
# ble tatt inn.
alfabet = list('ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ')
# Flyttetall er et tall for hver bokstav i stokkaseg-teksten
# Det forteller hvor mange steg i alfabetet vi skal flytte frem eller
#!/usr/bin/python
import sys
def lag_tabell(type):
# Sjekk hvilken type vi får som argument
# Skriv ut tittel og sett tabell til en range
if (type == "store"):
print ("Den store gangetabellen")
print ("")
tabell = range(10,21)

Keybase proof

I hereby claim:

  • I am tkalve on github.
  • I am tkalve (https://keybase.io/tkalve) on keybase.
  • I have a public key ASBRCCnwwVUeBfuK0u76rWDoh8O-ECndyan7oCf1Lb1nMQo

To claim this, I am signing this object: