Skip to content

Instantly share code, notes, and snippets.

View morisono's full-sized avatar

morisono

View GitHub Profile
@morisono
morisono / config.toml
Created July 25, 2026 10:22 — forked from pythoninthegrass/config.toml
herdr config
# herdr configuration
# Place this file at ~/.config/herdr/config.toml
# Show first-run notification setup on startup.
# Missing also shows onboarding; set false after you've chosen.
# onboarding = true
[theme]
# Built-in themes: catppuccin, terminal, tokyo-night, dracula, nord,
# gruvbox, one-dark, solarized, kanagawa, rose-pine,
@morisono
morisono / list_of_p2p_file_sharing.md
Created July 20, 2026 11:11 — forked from SMUsamaShah/list_of_p2p_file_sharing.md
List of P2P file sharing tools

Browser Based

  1. Web Wormhole https://webwormhole.io/ https://github.com/saljam/webwormhole
  2. Localsend https://web.localsend.org/
  3. FilePizza https://file.pizza/
  4. ShareDrop sharedrop.io https://github.com/szimek/sharedrop (SOLD, not recommended, use one of the forks)
    1. A clone SnapDrop snapdrop.net https://github.com/RobinLinus/snapdrop (SOLD, not recommended, use one of the forks)
      1. A fork PairDrop https://pairdrop.net/ https://github.com/schlagmichdoch/pairdrop
  5. ToffeeShare https://toffeeshare.com/
  6. Instant.io https://instant.io/
@morisono
morisono / README.md
Created July 10, 2026 02:03 — forked from MrQuallzin/README.md
Cosmos timelapse with external camera (via gphoto2)

Cosmos timelapse with an external USB camera

Trigger a USB-tethered camera for Cosmos timelapses instead of using the printer's built-in camera. Rendering is offloaded to a Linux desktop so the printer's R528 SoC doesn't have to do video encoding.

How it works

The printer fires a small HTTP call per layer to a Flask shim running on a Linux desktop. The shim calls gphoto2 to capture from the camera and saves the JPEG locally. At print end, ffmpeg renders the frames into an MP4.

printer (layer change) ──HTTP──▶ Flask shim ──▶ gphoto2 ──▶ camera (USB)
name explain-diff-html
description Use when the user asks for a rich explanation of a code change, diff, branch, or PR. Produces HTML output.

Explain Diff

Please make me a rich, interactive explanation of the specified code change.

It should have these sections:

@morisono
morisono / The-Complete-Guide-to-Building-Skills-for-Claude.md
Created July 10, 2026 01:58 — forked from liskl/The-Complete-Guide-to-Building-Skills-for-Claude.md
Complete guide to building Skills for Claude — covers fundamentals, planning, testing, distribution, patterns, and YAML frontmatter reference (converted from Anthropic's official PDF)

Manage Multiple Claude Code Accounts

Run two Claude Code accounts simultaneously on macOS without re-authenticating by using separate configuration directories.

Steps

  1. Create Separate Config Directories
    mkdir ~/.claude-account1
    mkdir ~/.claude-account2

Proxmox VE tips

Just a somewhat chaotic list of Proxmox VE related tips/notes.

Please note that unless you see a shebang (#!/...) these code blocks are usually meant to be copy & pasted directly into the shell. Some of the steps will not work if you run part of them in a script and copy paste other ones as they rely on variables set before.
The { and } surrounding some scripts are meant to avoid cluttering your shell history with individual commands, etc. You can ignore them if you manually copy paste the individual commands.

Table of contents

@morisono
morisono / Github Webhook Tutorial.md
Created July 10, 2026 01:57 — forked from jagrosh/Github Webhook Tutorial.md
Simple Github -> Discord webhook

Step 1 - Make a Discord Webhook

  1. Find the Discord channel in which you would like to send commits and other updates

  2. In the settings for that channel, find the Webhooks option and create a new webhook. Note: Do NOT give this URL out to the public. Anyone or service can post messages to this channel, without even needing to be in the server. Keep it safe! WebhookDiscord

Step 2 - Set up the webhook on Github

  1. Navigate to your repository on Github, and open the Settings Settings
@morisono
morisono / README.md
Created July 10, 2026 01:57 — forked from taichikuji/README.md
Get a DDNS up and running with DuckDNS - Step by Step

Get a DDNS up and running with DuckDNS - Step by Step

Understanding DDNS

In summary, DDNS stands for Dynamic DNS. DDNS updates a DNS name in real-time to point to a changing IP address. This is useful for devices without a static IP. For example, companies like Google use static IPs and IP ranges, which are more expensive than ephemeral IPs and IP ranges. DDNS provides a cost-effective alternative, linking a hostname to a dynamic IP address.

How Does DDNS Work?

To use DDNS, you need an account with a DDNS provider. While some services are paid, they are still cheaper than static public IPs from ISPs. A script or service on your device updates the DDNS server with your current IP at regular intervals to maintain the link between your hostname and IP address. Luckily for us, DuckDNS is free for everybody and relays on donations to keep their services running.