Making red wine from the grapes we got from our neighbours.
Funny movie – feet i a bucket of wine
Some books about the subject we own




In 2012 I started with 3D printing, I didn’t have my own yet. So it was done using shapeways.
April 2019 I ordered my own, a Creality CR-10S.
Specs
Problem with this 3D Printer is the lack of a thermal runaway detection. My solution is a MQTT/Nodered warning system which plays an alarm and uses a shelly to disconnect the power.
https://www.henriaanstoot.nl/2022/05/11/mqtt-bash-nodered-notify/
Software I Use – see other posts
Hardware
I’m using a filament sensor like the one in below picture
It used to be a DIY thingy using an arduino. (below)
Filament under my table ( in the “dark” )
Software on my mobile
Hints and tips
Want to know what filament is in your gcode?
grep M104 <file.gcode> # M104 is the temperature M104 200 -> PLA M104 240 -> PETG
Laser engraving using my 3D printer (pre lasercutter)
Websites
UPDATE 20230803
Best gap filler i found which is easily sanded down with a dremel.
Alabastine Polyester Plamuur
Location Noot en Zo Utrecht .. with Arja en Coline
Why? Because i can
While on holiday in New Zealand i made photos of a rock i found on the campsite we where. Nothing special about the rock, but it was a nice subject to try to replicate.
So i took many many pictures of the stone from all sides.
Imported those images in meshroom and convered it to a 3D stl object.
Printing and airbrushing
Added some grass from our clock project
I’m missing some chords on my autoharp, so i took it apart and refitted it using simular felt.
Cutting places with a penknife and placing new parts.
C E G – Cmaj
A C D F# – D7
B D G – Gmaj
B E G – Emin
A C E – Amin
B D F# – Bmin
B D F G – G dom seventh
A C# E G – A dom seventh
A D F# – Dmaj
A C F – Fmaj
A D F – Dmin
A C# F# – F sharp minor / G flat minor
Crokinole is played on a circular wooden board, with wooden circular disks as playing pieces.
Possible origin is Canada.
Players take turns shooting disks across the circular wooden board by flicking the disks with their fingers. Players try to land their disks in scoring regions on the board, with the highest scoring area the recessed hole in the very center of the board. Each round, each player/side alternately shoots a set number of disks (usually 12 or 8), shooting one disk each turn.
Players must position their disk on the start of each of their turns in their quadrant in front of them, touching the outer scoring ring boundary.
If there are no opponent’s disks on the board, they must aim for the center of the board.
If there is an opponent’s disk on the board, they must aim and hit an opponent’s piece first, either directly, or by a carrom shot.
The center recessed hole is worth 20 points, and disks are removed and scored at the end of the round if they land in the center hole.
Disks that are outside the outer scoring ring at the end of each shot, or are touching the outer scoring ring at the end of each shot, are removed from play for the round.
I’ve got several Saitec flightsim items, and building some additions myself.
For example i’ve got:
But i really wanted the feeling of starting the engine with a knob.
So i build one using alumium scraps and a arduino.
It doesn’t look much, but it all be behind a metal sheet anyway.
Really pleased with the spring reset and multiple settings.
I’ve a lot of bagpipe writer music files, many are the same tune but a little different.
find -type f | egrep -i "bww$|bmw$" | wc -l 34565
Most contain information about composers, complete title, arrangements and information about harmony and seconds/thirds/whatever.
So I made a PHP search script and a BASH indexer.
(This is NOT a safe script to use servers with internet access)
PHP
Strict Search: <form method="post" action="?"><input type="Text" name="words" size=40 value=""><input type="Submit" name="submit" value="search"></form> Fuzzy Search: <form method="post" action="?"><input type="Text" name="words2" size=40 value=""><input type="Submit" name="submit" value="search">Fuzzy-ness<input type="Text" name="words2key" size=1 value="3"></form> Parsons Search: <form method="post" action="?"><input type="Text" name="words3" size=40 value=""><input type="Submit" name="submit" value="search">Fuzzy-ness<input type="Text" name="words2key" size=1 value="3"></form> <P><PRE> <?PHP if ($_POST['words']) { $words = preg_replace("(\r\n|\n|\r)", "", $_POST['words']); $words = preg_replace("/[^0-9a-z]/i",'', $words); $command = "/bin/cat /var/www/html/findbww/bww.list |/bin/grep -i $words | sed 's/*\w\+//' | sed 's/\\/private\\/Private\\/Henri\\/save\\/move\\/cds-uitzoeken\\///g' "; $blah=shell_exec($command); $blah=str_replace("$words", "<b><font color=red>$words</font></b>",$blah); print $blah; } if ($_POST['words2']) { $words=$_POST['words2']; $words2key=$_POST['words2key']; $words = preg_replace("(\r\n|\n|\r)", "", $words); $words = preg_replace("/[^0-9a-z]/i",'', $words); $command = "/bin/cat /var/www/html/findbww/bww.list |/usr/bin/agrep -$words2key -i $words | sed 's/*\w\+//' | sed 's/\\/private\\/Private\\/Henri\\/save\\/move\\/cds-uitzoeken\\///g'"; $blah=shell_exec($command); $blah=str_replace("$words", "<b><font color=red>$words</font></b>",$blah); print $blah; } if ($_POST['words3']) { $words=$_POST['words3']; $words2key=$_POST['words2key']; $words = preg_replace("(\r\n|\n|\r)", "", $words); $words = preg_replace("/[^0-9a-z]/i",'', $words); $command = "/bin/cat /var/www/html/findbww/bww.list.parsons |/usr/bin/agrep -$words2key -i $words | sed 's/*\w\+//' | sed 's/\\/private\\/Private\\/Henri\\/save\\/move\\/cds-uitzoeken\\///g'"; $blah=shell_exec($command); $blah=str_replace("$words", "<b><font color=red>$words</font></b>",$blah); print $blah; } ?> </PRE>
Bash indexer (uses agrep)
#!/bin/bash [ `find /FULLPATH/Music/Bagpipe-music-writer/ -type f | wc -l` -eq 0 ] && exit cd /var/www/html/findbww : > bww.list : > bww.list.parsons locate -i bww | egrep -i "\.bww$" |grep -v html.bww| while read tunepath; do tune=$(basename "$tunepath") keywords=$(cat "$tunepath" | egrep -vi "FontSizes|FrequencyMappings|GracenoteDurations|InstrumentMappings|MIDINoteMappings|TuneFormat|VariationTempo|TuneTempo|Bagpipe Reader" | awk -F',\\(' '{ print $1 }' | grep -v \"\" | grep -v ^! | grep -v "Converted from" | grep ^\" |tr '\n' ','| tr -d "\015") parsons=$(./parsons "$tunepath") echo "$tunepath,$tune,$keywords" >> bww.list echo "$tunepath,$parsons" >> bww.list.parsons done locate -i bwm | egrep -i "\.bwm$" |grep -v html.bwm| while read tunepath; do tune=$(basename "$tunepath") keywords=$(cat "$tunepath" | egrep -vi "FontSizes|FrequencyMappings|GracenoteDurations|InstrumentMappings|MIDINoteMappings|TuneFormat|VariationTempo|TuneTempo|Bagpipe Reader" | awk -F',\\(' '{ print $1 }' | grep -v \"\" | grep -v ^! | grep -v "Converted from" | grep ^\" |tr '\n' ','| tr -d "\015") parsons=$(./parsons "$tunepath") echo "$tunepath,$tune,$keywords" >> bww.list echo "$tunepath,$parsons" >> bww.list.parsons done chown www-data bww.list*
Converting for parsons code.
See https://www.henriaanstoot.nl/2022/03/23/20-years-www-pipetunesearch-org/
and https://en.wikipedia.org/wiki/Parsons_code
#!/bin/bash echo -n "\"" for f in `cat "$1"` ;do echo "$f" | tr -cd "[A-HL]_[0-9]" ; echo ; done | grep -v '^$' |grep _ > /tmp/parsons let count=0 for f in `cat /tmp/parsons| tr -cd "[A-HL] \n"` ;do if [ "$f" = "LG" ] ; then g=0; fi if [ "$f" = "LA" ] ; then g=1; fi if [ "$f" = "B" ] ; then g=2; fi if [ "$f" = "C" ] ; then g=3; fi if [ "$f" = "D" ] ; then g=4; fi if [ "$f" = "E" ] ; then g=5; fi if [ "$f" = "F" ] ; then g=6; fi if [ "$f" = "HG" ] ; then g=7; fi if [ "$f" = "HA" ] ; then g=8; fi if [ $count -eq 0 ] ;then echo -n "*"; ((count++)) last=$g else if [ "2$g" -eq "2$last" ] ; then echo -n "r" ; fi if [ "2$g" -lt "2$last" ] ; then echo -n "d" ; fi if [ "2$g" -gt "2$last" ] ; then echo -n "u" ; fi last=$g fi done echo "\""
Just place all files in a directory on a php enabled webserver.
The bash script is being run daily.
(parsons bash script is called from this main script)
These will generate 2 files
One with the filename and all useful text like composers.
And a file with the filename and the parsons code.
Example:
11th of September, The.bww,"*udduddudduddudurrdudrrdudduddudrrduuuuududurrdudrrurrdududurrdudrrduddudurrduudduddudduddududdurdudrurdduddududr urduuudrduddurdudrudrurduududdurdudrurdduddururdududduddudduddudruddudruddudduddudruddruududududududrudurddrududruddudrudduddudurddrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrudrrud rrudrrudrrudrrudrrudrrudrrudrrudrrudrruuduuduuduuduuduuudrduuduurduuduuurdrduuduuduuuduurduuduuduuduuduu"
Example screenshots
Some new lights in our livingroom.
A while ago, I made a wooden shelf thingy behind our couch.
Inserted some electrical outlets and some network ports (utp outlets)
Put a load of little pebbles on top. But it needed some light.
Get some copper tubing, a pressure gauge, tap, bends and some electrical wiring.
Easy and lots of fun