Skip to content

Instantly share code, notes, and snippets.

@pjaudiomv
pjaudiomv / docker-compose.yaml
Last active April 22, 2026 01:05
BMTL Aggregator Docker Compose
x-bmlt-common: &bmlt-common
image: bmltenabled/bmlt-server:latest
restart: unless-stopped
environment:
APP_KEY: "base64:srS1uJ3KpqVGqX7K8GgKkIJ54NnuTmEQGmmWZj78sRM="
DB_HOST: db
DB_DATABASE: rootserver
DB_USERNAME: rootserver
DB_PASSWORD: CHANGE_ME
AGGREGATOR_MODE_ENABLED: true
@pjaudiomv
pjaudiomv / getDirectionsUrl.ts
Last active April 11, 2026 19:01
Platform-aware directions URL helper
export type Platform = 'web' | 'ios' | 'android';
export function getPlatform(): Platform {
if (typeof window === 'undefined') return 'web';
const ua = window.navigator.userAgent.toLowerCase();
if (/android/.test(ua)) return 'android';
if (/iphone|ipad|ipod/.test(ua) || (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1)) return 'ios';
return 'web';
}
@pjaudiomv
pjaudiomv / servsafe_food_handler_assertion.json
Created March 5, 2026 03:38
servsafe_food_handler_assertion.json
{
"@context": "https://w3id.org/openbadges/v2",
"type": "Assertion",
"id": "urn:uuid:2417b93c-3355-4971-bd59-ecc55624a45c",
"recipient": {
"type": "id",
"hashed": true,
"salt": "e7b896b4730a4b62a04860babf30e7e0",
"identity": "sha256$81ebebac6389eb0f7fc8c269a39163399523a140e3ace1d45bb74c1b41d38fd0"
},
@pjaudiomv
pjaudiomv / docker-compose.yml
Created February 10, 2026 18:17
Wordpress Docker Compose
services:
wordpress:
depends_on:
- db
build: .
restart: always
ports:
- 8080:80
- 7443:443
environment:
@pjaudiomv
pjaudiomv / generate_pdf_report.py
Created January 2, 2026 16:23
Generate a PDF report from audit_duplicate_keys_results.json
#!/usr/bin/env python3
"""
Generate a PDF report from audit_duplicate_keys_results.json
This script reads the JSON output from audit_duplicate_format_keys.py
and generates a formatted PDF report.
Usage:
python3 generate_pdf_report.py # Use default input file
python3 generate_pdf_report.py audit_duplicate_keys_results.json
@pjaudiomv
pjaudiomv / audit_duplicate_format_keys.py
Last active January 2, 2026 16:01
Audit BMLT servers to find duplicate format keys in the same language
#!/usr/bin/env python3
"""
Audit BMLT servers to find duplicate format keys in the same language.
This script checks all servers and reports formats that have the same key_string
in the same language (e.g., two formats with key "B" in English).
Usage:
python3 audit_duplicate_format_keys.py # Audit all servers
python3 audit_duplicate_format_keys.py 102 # Audit only server with id=102
@pjaudiomv
pjaudiomv / audit_meetings.py
Created January 1, 2026 16:11
Audit BMLT servers to find meetings with orphaned service body references
#!/usr/bin/env python3
"""
Audit BMLT servers to find meetings with orphaned service body references.
This script checks all servers in serverList.json and reports meetings that
reference service body IDs that no longer exist in the server's service body list.
Usage:
python3 audit_meetings.py # Audit all servers
python3 audit_meetings.py 102 # Audit only server with id=102
@pjaudiomv
pjaudiomv / BMLT_Semantic_API_Documentation.md
Created September 4, 2025 11:01
BMLT Semantic API Documentation

BMLT Semantic API Documentation

Overview

The BMLT (Basic Meeting List Tool) Semantic API provides a comprehensive interface for retrieving meeting data from BMLT root servers. This API uses a switcher= parameter to specify different operations and returns data in JSON or CSV format.

Base URL Structure

All API calls follow this pattern:

@pjaudiomv
pjaudiomv / ec2-token.sh
Created November 12, 2024 18:46
aws token v2
export TOKEN=$(curl -sL -X PUT -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" http://169.254.169.254/latest/api/token)
curl -sL -X GET -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/
@pjaudiomv
pjaudiomv / docker-compose.yml
Created June 23, 2024 00:24
WordPress with SMTP using mailpit for local dev
services:
wordpress:
depends_on:
- db
- mailpit
image: wordpress:6.5.3-php8.3-apache
restart: always
ports:
- 8080:80
- 7443:443