Skip to content

Instantly share code, notes, and snippets.

View mhrstmnn's full-sized avatar

Michael Horstmann mhrstmnn

View GitHub Profile
@mhrstmnn
mhrstmnn / tmux.sh
Last active April 11, 2026 09:10
Utility functions to manage tmux sessions
#!/bin/zsh
tmux_session_exists() {
local session_name="$1"
[[ -z "$session_name" ]] && return 1
tmux has-session -t "$session_name" 2> /dev/null
}
@mhrstmnn
mhrstmnn / fix.sh
Created March 26, 2026 13:55
Fix animation speed of Dock (macOS)
#!/bin/zsh
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
killall Dock
@mhrstmnn
mhrstmnn / delete.ps1
Last active July 20, 2025 16:27
How to easily find and delete .DS_Store files
Get-ChildItem -Path . -Recurse -File -Force -Filter '.DS_Store' | ForEach-Object {
Write-Output $_.FullName
Remove-Item -LiteralPath $_.FullName -Force
}
@mhrstmnn
mhrstmnn / main.cpp
Created March 12, 2025 19:44
Simple lambda expression to execute commands in C++
#include <string>
#include <array>
#include <sstream>
#include <memory>
#include <cstdio>
#include <stdexcept>
#include <iostream>
auto execute_command = [](const std::string &command) -> std::string
{
@mhrstmnn
mhrstmnn / stow_directories.sh
Created May 5, 2024 20:54
Zsh script to stow directories in a directory
#!/bin/zsh
# ANSI color codes
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # No Color
for directory in */; do
directory="${directory%/}"
echo -n "Stowing $directory ... "
@mhrstmnn
mhrstmnn / find_toml_files.py
Last active April 13, 2024 10:45
A simple script to find TOML files recursively
#!/usr/bin/env python3
import os
import sys
def find_toml_files() -> list[str]:
def find_toml_files_recursively(directory_path: str, found_toml_files: list[str]) -> None:
def get_directory_entries(directory_path: str) -> list[str]:
return list(map(lambda entry: os.path.join(directory_path, entry),
@mhrstmnn
mhrstmnn / main.cpp
Last active April 19, 2024 13:03
Simple method to output CLI arguments in C++
#include <iostream>
void printArgs(const int argc, const char *argv[])
{
std::cout << "argc: " << argc << "\n\n"
<< "argv:\n";
for (unsigned int i{}; i < static_cast<unsigned int>(argc); ++i)
std::cout << "- " << argv[i] << '\n';
}
@mhrstmnn
mhrstmnn / Program.cs
Last active April 13, 2024 12:22
Simple method to output CLI arguments in C#
class Program
{
private static void PrintArgs(string[] args)
{
Console.WriteLine("argc: " + args.Length);
if (args.Length > 0)
{
Console.WriteLine("\nargs:");
Console.WriteLine("- " + string.Join("\n- ", args));
}
@mhrstmnn
mhrstmnn / new_script.sh
Last active April 13, 2024 12:21
A script to create new scripts
#!/bin/zsh
OUTPUT='#!/bin/zsh\n\n# TODO'
FILENAME='empty_script.sh'
if [ $# -ne 0 ]; then
if [[ "$*" == *.* ]]; then
FILENAME="$*"
else
FILENAME="$*.sh"
@mhrstmnn
mhrstmnn / .editorconfig
Last active April 13, 2024 12:10
Template for new EditorConfig configurations
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true