Skip to content

Instantly share code, notes, and snippets.

@snydergd
snydergd / README.md
Created December 7, 2023 04:00
Unexpected Keyboard Thumb-Key Layout

Thumb-Key?

Yes, Thumb-Key - an open-source privacy-centered alternative to the better-known MessageEase input method.

For Unexpected Keyboard?

Unexpected Keyboard is another open source and privacy conscious keyboard, with a couple extra features. It also makes use of swipes to enable more keys to be quickly entered.

It also permits custom layouts.

@snydergd
snydergd / dokieli-save-enabler.user.js
Last active March 9, 2024 15:32
Enable Solid Save Button Userscript
// ==UserScript==
// @name Enable Dokieli Save
// @namespace http://tampermonkey.net/
// @version 2024-03-09
// @description Dokieli save button is currently disabled always with pods: https://github.com/linkeddata/dokieli/issues/390 -- this attempts to force it to be enabled.
// @author https://snydergd.solidcommunity.net/profile/card#me
// @match https://*.solidcommunity.net/*
// @match https://*.inrupt.net/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=solidcommunity.net
// @homepage https://gist.github.com/snydergd/ed530bc8ea20861628b1cfea3e58590c
@snydergd
snydergd / websocket.ps1
Created January 8, 2026 02:42
Interact with websocket using PowerShell
# based on https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/websockets
# Very minimal setup without good error handling or careful consideration - for quick and dirty tests
$c = [System.Net.WebSockets.ClientWebSocket]::new()
$c.Options.KeepAliveInterval = [TimeSpan]::FromSeconds(10)
$c.Options.KeepAliveTimeout = [TimeSpan]::FromSeconds(10)
$c.connectasync("ws://localhost:8000/ws", [Activator]::CreateInstance([System.Threading.CancellationToken])).GetAwaiter().GetResult()
$b = [byte[]]::new(1024)
$result = $c.receiveAsync([System.ArraySegment[byte]]$b, [System.Threading.CancellationToken]::None).GetAwaiter().GetResult()