Skip to content

Instantly share code, notes, and snippets.

View jasalt's full-sized avatar

Jarkko Saltiola jasalt

View GitHub Profile
@jasalt
jasalt / phel-cider-light.el
Last active February 6, 2025 08:13
"Phel Cider Light" Phel programming config preview
;; "Phel Cider Light" Phel-lang programming config
;; Stand-alone preview version separated from from personal .emacs.d
;; https://github.com/jasalt/.emacs.d/blob/007083f149cf3954a6f38328c962c6788e179705/personal/phel.el#L1
;; Written during two days during winter cold largely with Claude Sonnet 3.5 LLM
;; and gptel.el. While surprisingly good experience for a quick proof of concept,
;; may come with hidden defects that need to be smoothed out by hand during use.
;; Attempts to emulate some useful Clojure and Elisp editing functionalities
#!/bin/bash
input_image="full.jpg"
output_prefix="part_"
max_width=3840
max_height=2160
aspect_ratio=$(bc -l <<< "$max_width / $max_height")
# Get image dimensions
dimensions=$(identify -ping -format "%w %h" "$input_image")
@jasalt
jasalt / vendor_to_json.php
Created May 16, 2025 04:57
Convert Composer `vendor` dir to JSON object that can be preloaded with PHP-WASM
#!/usr/bin/env php
<?php
// PHP script `vendor-to-json` that is run on composer project root and traverses through folders in `./vendor/` storing each file handle into nested associative array in format required by PHP-WASM files constructor parameter (and data-files attribute). Ignores folders.
// As of 2025-05-16 requires modified PhpBase.js with support to create missing dirs (Draft PR https://github.com/seanmorris/php-wasm/pull/82)
// Usage:
// ./vendor-to-json.php [prefix]
//
// Parameters:
@jasalt
jasalt / bindings.php
Created August 15, 2025 15:23
Block binding example for twig-templating block
<?php
// Example for https://github.com/jasalt/twig-templating-block (2025-08-15 714be3a)
// Example template
// <div class="favourited-videos {{ editor_classes }}">
// {% if videos %}
// {% for video in videos %}
// {{ include_template_part('cpt-video-card', video.id) }}
// {% endfor %}

+++ title = "API" weight = 110 template = "page-api.html" aliases = [ "/api" ] +++

{{ api_listing_entry(fn_name="decode", namespace="base64", doc="```phel (decode s & [strict?])

@jasalt
jasalt / video_embed_stats.py
Last active September 17, 2025 04:47
Plot tabular time-series data as overlay to a video (matplotlib + ffmpeg)
# Author: Jarkko Saltiola
# License: BSD-3
#
# Convert TSV time-series to SRT subtitles or burn overlays into a video aligned to --video-start.
#
# Also supports a real-time rolling plot overlay of selected columns via --plot-columns.
#
## Example input TSV data format:
# id timestamp device_id p1 p2 p3 w1 w2 w3 w-total
# 53285 2025-09-14 13:01:12 1 3.6 3.61 3.73 828 830.3 857.9 2516.2