Model by wayneclarke, structure paint is cement look from Havo Holland.


At the WHY2025 hackers event, we used bigred’s antenna pole to make a huge sign using leds.
It gave me the idea to make a pole which displays digital “fireworks” using leds.
Fireworks are becoming illegal the next year in the Netherlands, I think.
So why not going digital?
12 Meter pole, 300 Leds.
There is a QR code and a website link mentioned on a page at the gate.
10 presets to select via a website.
Notification on my TV
While waiting for the first visitor I made a magnetic game.
Using a bunch of magnets, and 3D printed hexagon rings.
Two players try to place magnets in a small area without moving the others. If magnets slam together, you have more pieces to place.
(Below, last player has to take those 6 pieces)
CODE for website index.html
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WLED Mast</title>
<style>
body {
background: #111;
color: #fff;
font-family: Arial;
margin: 0;
padding: 20px;
text-align: center;
}
.grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 18px;
}
button {
padding: 25px;
font-size: 22px;
border-radius: 20px;
border: none;
background: #333;
color: #fff;
font-weight: bold;
}
button:active {
background: #555;
}
</style>
</head>
<body>
<h1>WLED Mast</h1>
<div class="grid">
<button onclick="run('b1')">off</button>
<button onclick="run('b2')">fireworks</button>
<button onclick="run('b3')">sound<BR>reactive</button>
<button onclick="run('b4')">bounch-balls</button>
<button onclick="run('b5')">fire</button>
<button onclick="run('b6')">juggle</button>
<button onclick="run('b7')">swing</button>
<button onclick="run('b8')">sparkle</button>
<button onclick="run('b9')">popcorn</button>
<button onclick="run('b10')">comet</button>
</div>
<script>
const API_KEY = "misuse-prevent";
function run(action) {
fetch(`/action.php?action=${action}&key=${API_KEY}`)
.then(r => r.json())
.then(j => console.log(j))
.catch(err => alert("Error"));
}
</script>
</body>
</html>
CODE for Wled API
<?php
$public_api_key = "misuse-prevent";
if (!isset($_GET['key']) || $_GET['key'] !== $public_api_key) {
http_response_code(401);
die("Unauthorized");
}
$action = $_GET['action'] ?? null;
// Map 10 buttons → WLED preset numbers
$allowed_actions = [
"b1" => 19,
"b2" => 22,
"b3" => 23,
"b4" => 20,
"b5" => 21,
"b6" => 3,
"b7" => 8,
"b8" => 2,
"b9" => 4,
"b10" => 14
];
if (!$action || !isset($allowed_actions[$action])) {
http_response_code(400);
die("Invalid action");
}
$preset = $allowed_actions[$action];
// ---- WLED IP address ----
$wled_ip = "http://WLEDDEVICEIP"; // <-- CHANGE THIS
// API endpoint
$url = $wled_ip . "/win&PL=" . $preset;
// Call WLED directly
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
header("Content-Type: application/json");
if ($error) {
echo json_encode(["ok" => false, "error" => $error]);
} else {
echo json_encode(["ok" => true, "preset" => $preset]);
}
I did this a few times before, but I forgot.
Doing it again. Smoke wood and a container and booze.
While watching this movie on YouTube, I recognised several people in small roles. Most of them their first roles.
(I never knew about this short before last night)
It is the first (short) movie by Richard Curtis, a (now) famous writer/director. (Mr Bean, The Black Adder)
He only did “Not the nine O’clock News” before that.
Funny to see the young faces.
Many have worked together after this short.







I made a short incomplete link graph.
Follow-up on previous post.
I’ve posted about sounds before, annoying!
The Wilhelm scream is a stock sound effect that has been used in many films and TV series, beginning in 1951 with the film Distant Drums. The scream is usually used when someone is shot, falls from a great height, or is thrown from an explosion. See also Squeaky door.
About movie props
Not that annoying, but I can’t think about anything else as the previous film I saw the prop in.
Props in They Live (1988) I saw in 2024



Wait a minute! Thats from Ghostbusters (1984)


Even another film exists using the same prop (never seen this movie)
The prop was made using a shoe polisher thingy b.t.w.
Here is Amazing Grace being played in reverse on a Bagpipe Practice Chanter.
(I just looked at the Music Score and reverse played it, starting at the end.)
Why? Because I was bored.
Halfway the movie clip is the reversed reverse playing 🙂
The speech in reverse sounds like Serenissima, another tune we play with our Folkband.
I was working on a RP2040 HID project, but I needed some components I didn’t have … right now .. again ..
So I made something else ..
A tiny animator for stop motion animations using my webcam, python and OpenCV.
For claymotion or lego or whatever.
The program displays your webcam with the previous snapshot overlayed, so you can position everything relative to your previous snapshot.
Press B to take a frame.
CODE (short but you need OpenCV)
import cv2
from datetime import datetime
# black is just a start empty image ..
img=cv2.imread("black.png");
cap = cv2.VideoCapture(0)
while True:
ret,vid=cap.read()
dim = (800,600)
img1 = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
vid1 = cv2.resize(vid, dim, interpolation = cv2.INTER_AREA)
result=cv2.addWeighted(img1,0.5,vid1,0.5,0)
cv2.imshow('overlay', result)
if(cv2.waitKey(10) & 0xFF == ord('b')):
now = datetime.now()
current_time = now.strftime("%d_%m_%Y_%H_%M_%S")
filename = '%s.png' % current_time
if not cv2.imwrite(filename, vid1):
raise Exception("Could not write image")
img=cv2.imread(filename);
Pressing B fills your directory with PNG’s
like 24_10_2023_00_01_01.png (date formatted)
convert to GIF
convert -delay 10 -loop 0 24*.png animation.gif



This is NOT a post about the pi-hole project. Of which I apparantly never posted my setup.
I needed an extra PI for a project, and I always try to keep one spare.
But they are always gone, in use, missing .. whatever.
So I can´t work on this project right now, so lets rant about disappearing stuff
Like they are being sucked up in another dimension .. gone. WHERE ARE THEY?!?
How to keep track of them?
Any suggestions?
I used to have a sheet, but I often forget to keep track.
Do I use a MAC address scan on my switches?
First 3 parts of the Mac address are vendor specific.
So far i’ve found : Octopi, Beerbrew computer, Retro Arcade, Picore, Nodered, Domoticz 433toMqtt, Ledserver, Lasercutter-etch-a-sketch, mobile LMS music server, Pressure Lab AP, Escape Game AP (3 of them), one unused Raspberry zero (without Wifi), One at my old work, one broke, Kodi+Netflix,Ansible project, found another one .. Jumanji/Dashticz/NoderedDashboard demo (with screen)
WHERE THE F are the rest of them?
(Sdcards with temporary projects on them 29, I need to combine project on those cards. I’ve got a 64Gb card holding a Rpi OS and only a 1K python script!)
And Arduino’s are even worse … they are all over the place.
Those are probably 100+
(ESP32, 8266, Nano’s, Mega, M5Stack and alikes)
I know i have many temporary projects, but I keep most things organized in my projects containers.

One of the rows with Ikea containers, a few for bigger projects and now i’m using the plastic boxes you get when you order chinese or thai.
I previously wrote about English Humour, now generic standup comedy.
I’ll write what I know and like, can you help me add to my list??!?
Only a few worth mentioning posted below.
I’m having a hard time to distinguish between One man shows, Standup comedians and alike.
Dutch/Belgium
English/Scottish/American
Other
Oneliner cannons – ( Funny as hell, no long stories )
Music comedians
Naughty
Saw some demo-scene shader showdowns on YT the other day.
Two guys live programming shaders in less than a hour!
Fun to play with .. bonzomatic.
This shader program is realtime being compiled and the effect is shown on the background.
Below version I made using an example is changing to the music being played. (Fast Fourier transform function, see my other post about this)