Selander's Tech Jot-downs
Sunday, October 5, 2025
DIY New Shoelace Aglet
Saturday, December 2, 2023
How to Prep one's Boots for Winter
This is mostly quite obvious stuff - like ramming in an open door - but the true purpose of the post is actually to write down the recipe on DIY leather conditioner for safe-keeping.
The most important step to prepare one's boots for winter usage is, of course, to wear a second pair of thick enough wool socks over your ordinay socks. That goes a long way. The second most important step is to have a good insole. I prefer wool ones. This is basically enough for winter and - by just adjusting how heavy socks one is wearing - can be used all year around.
But one trick I just recently stumbled upon that makes a lot of difference for colder days is to also add a plastic mesh insole under your wool one, to trap some air and thus give better isolation and warmth and also help keep the wool insole dry. This actually plays out pretty well if you, like me, have a standing desk in the office and is too lazy to change footwear when at work.
It is, of course, a bit sad that the mesh insoles are made of plastic but I imagine that wooden ones might break too easily and that textile fiber based ones might compress too easily - but perhaps metal ones should be a possibility? Anyways, it also seems to be a military thing - mine are the kind the Swedish army uses but I've also seen Czech ones for sale on the web.
In the picture above, I've turned the plastic mesh insole from the stripped boot upside down, so you can see the ridges and gorges that is doing the air-trapping. The side that should be facing up against your wool insole is just flat with holes.
In the not yet stripped boot, you can also see how you always should take the insoles out of the foodbed and place them in the boot-shaft when you're not using the boot, to make them dry quicker and be ready for next time you put your boots on again.
Finally, regardless of winter or summer, you should clean your boots when dirty and regulary treat them with leather conditioner to prevent the leather from drying out and cracking and overall prolong the lifespan of your boots (and remember that a good cobbler probably can resole your boots as the outer sole is likely to wear out before the upper boot).
I spent some time of searching for a good recipe of DIY leather conditioner and let me tell you, there are surprisingly many out on the Internet! But I kept searching until I found one that I liked the look of (although I should probably spent years on testing them all out on actual leather instead, but in the end, I'm only human). The following recipe has A) just a few ingredients and B) just organic ingredients - no syntetic or mineralbased oils. Here's the web-page where I found it: https://propolis-ratgeber.info/lederpflege-selber-machen/
DIY Leather Conditioner
- 5 parts coconut oil (or olive oil)
- 4 parts Lanolin (i.e., woolfat)
- 1 part beeswax (2 parts for a firmer creme)
Thursday, November 23, 2023
Disaster! The Perils of a Cheap ProMicro and How to Save One's Homebuilt Daily Driver
Friday, August 6, 2021
Slant Board Build with Scrap Wood
As can be seen below, the top board is not one but two joinced pieces of some upscale panel that the contractors left after our kitchen renovation the other year. After I had sawed the uneven side straight, it was 75 cm long, so after cutting it in half and joining the to pieces together (and fixating them with a couple of screws), the top board is almost exactly 37.5 x 37.5 cm (just under 15 x 15 inces). Most commercial wooden ones are around 13 x 16 inches, so close enough.
For the supporting part, I used 120 x 28 mm Sibirian Larch we had left over since we rebuilt our terrace the other year. Figuring that if a right triangle with equally long legs have the other two angles at 45 degress, we should end up at 15 degrees if we make one of the legs three times as long as the other. Since the boards are 120 mm wide, we should thus take a 360 mm long piece and cut it diagonally. That worked out very well - especially since that diagonal according to Pythagoras' theorem would be just under 380 mm and thus matches the length of the top board very well.
EDIT (2021-08-09): OK, the simple heurestic is of course flawed. Actually calculating the trigonomics shows that with the opposite leg 120 mm and the adjacent 360 mm, we get the true angle with tan
Finally, given that the top bord already had a number of convenient recesses, I gave up on making the slant board adjustable at exact degrees of angle and just cut a suitable piece of board with slanted end, fastened it with hinges - slightly off centre to prevent it from falling down between the two bottom boards - and verified that I could use it to have the top board fixated at a number of different angles with at least one with the top edge half-way up my shin to work perfect as a foot rail.
Working beautifully!
As I intend to use this first one mostly at home without shoes, I'm not sure whether any anti-slip tape really is needed, but it sure looks nice with it added. Now I just hope I will be able to muster up enough scrap wood to build a second one to have at work.
Thursday, June 10, 2021
Today, I Finished the First Jar of DIY Shaving-soap and Three Ingredient Deodorant
I had planned to make a post about the Aball and Ploopy Nano trackballs I built since last post, but then this morning the first of the three jars of DIY Shaving-soap of the last post ran out, so I thought I should mention that.
However, as impressive it may sound with a jar from a relatively small batch lasting seven months, I must confess that I on average only shave once a week - so it lastest about 30 shavings. On the other hand, as I still experiment on how to get the perfect, thick, lasting foam, I tend to work way too much soap into the brush, so I've been wasting some of it - especially when I've poured a table-spoon of water into the jar to loosen the surface up while showering, that really reduces the life of the jar. Between retained mosture and our recent warm spell, it was more mushy cream than hard soap in the jar this morning. That's really why it ran out this morning.
While on the topic of DIY hygiene products, I've actually gone against the principle of using as few ingredients as possible and increased the ones for my deodorant from one to three (an increase of 200% ;-) ). I was happy using pure Potassium Alum deo sticks but then came across an recipe in Martina Johansson's and Fanny Lindkvist's book "Giftfri" (Poison-free): equal parts coconut oil, bicarbonate, and starch. The recipe listed corn starch but I used potatoe starch instead since I figure that a lot more of the latter is produced locally in Sweden than the former.
Surprisingly, it really doesn't get sticky but seems to be quickly absorbed by my skin and works equally well as the Potassium Alum sticks - and if I ever would be trapped somewhere without food and starving, I could sustain my life a little longer by eating the oil-bicarbonate-starch deodorant, something that would work with the crystal Potassium Alum one! :-)
Friday, October 30, 2020
DIY Shaving Soap
Since I am so happy with my homemade shampoo soap bars (I'm on my third batch now - each batch usually lasts around 10 months), I wanted to see if I could find a manageable recipe for homemade shaving soap as well. In all honesty, I've ever only tried one commercial shaving soap and one commercial shaving cream, but never been really happy with the foam from either of them. This probably have a lot to do with my brush-whipping technique, too, but it cannot hurt to try with a DIY shaving soap, can it?
However, most of the recipes online calls for a gazillion ingredients while I want more of a redux recipe. I took me quite some time, but eventually I stumbled upon this excellent thread by enthusiast soap-maker JBLA with his promising, small batch recipe with just stearic acid, coconut oil, water, potassium lye, and extra glycerin (when making soap, some glycerin results naturally but in the soap factories, that glycerin is allegedly taken out and used/sold for other purposes, but extra glycerin increases the soaps moisturising capabilities).
I use to make my shampoo soap bars using cold process soap making but since the creator of this recipe recommended the hot process for this shaving soap, since it otherwise traces really quickly due to the stearic acid. Hence, I fired up our trusty double-boiler and used that to simmer the soap mixture for a bit over two hours. This has the benefit of letting me use the soap as soon as it has cold down without any need of letting it cure for four weeks.
I had already saved a few suitable jars since before but also used the jar the coconut oil came in. Here is how it turned out:
Sunday, July 12, 2020
An Isogherkin (or a long Gherkin or a narrow Planck) Build Log/Write-Up
Well, I actually did just that, but the early keymap tries on the Planck indicated that a protoype 3x12 keyboard was motivated and I wanted to build a keyboard of my own, for the kicks of it and for practice. As you can see below, the build of this prototype didn't exactly reach tip-top quality in all phases, showing that the practice was sorely needed.
Background
Many years ago now, I had a colleague whom used a private HHKB in the office, which fascinated me and prompted me to go for a mechanical keyboard of my own, a 60% Vortex Pok3r. It was fun to program it, but the programming had its limitations and by now I had got wind of qmk and that led me to get a 60% GH Satan kit that I soldered together and had lots of fun programming and flashing with QMK. By now, I had discovered the mechkeys online scene and had seen lots of really cool keyboards, like the 3x10 Gherkin mini-keyboard from 40procentclub that I on the one hand felt an urge to own but didn't acquire as I realised that it wouldn't work for me. Instead I got my first Jack Humbert's excellent 4x12 Planck - rev 4 off Massdrop. Once I had developed a keymap ("Nordic off-by-one iso") that worked really well for me, I got myself a rev 6 Plank directly from olkb.com and a Datamancer wooden case from Massdrop, so I could have one at home and one at the office (lots of colleagues forgot whatever errand brought them to my desk and instead discussed my Planck and keyboards with me).
For a while, this worked great - pressing space together with a modifier on a full-size keyboard out of Planck habit is a pretty harmless error. Then I got interested in the qmk combos feature and realised that I only used a subset of the bottom row keys on my Planks.
Converting Escape, Backspace, Tab and Enter from space-involved layer 1 keys to layer zero combos worked excellently and as I wanted to try out a split keyboard, too, I quickly put my haircross on Foostan's CRKBD, which looks a lot like a potential end-game for me. I got a kit for it from KeyHive but have yet to get around building it.
Instead, I launched into this Isogherkin experiment.
Keymap
- it should maximise the use of the muscle memory of full-size Iso (Nordic) keyboard users
- i.e., everything should be close to where it logically would be on a full-size Iso (Nordic) keyboard
- as much as possible should be crammed into the default layer
- All the Isogherkin keys primarily map to the same keys that are outlined in red on the above picture of my laptop keyboard.
- But KC_NUBS is left-Shift when held and KC_NUBS when tapped (LSFT_T(KC_NUBS))
- Then the edge modifiers are two key combos where one logically would expect them to be: Escape in the top-left corner (Q and W), Backspace in the top-right corner (KC_LBRC and KC_RBRC), Tab top-left second row (A and S), Enter in the top-right second row (KC_QUOT and KC_NUHS). Although do note that since an Iso enter is a vertically long key, we could have made it KC_RBRC and KC_NUHS or KC_NUHS and KC_RSFT instead)
- I really rarely use Caps Lock, so I am fine stowing it away on some other layer
- The bottom row by necessity get combo heavy, since the Isogherkin are lacking the Planck's fourth row
- The most important combo is B and N as space when tapped and layer 1 when held. It didn't work with TT(1, KC_SPC) even with Sevanteri's qmk fork so here some code is due (I also should implement repeating spaces after an initial tap)
- V and B and N and M enters layer 2/numbers row and layer 3/function keys, respectively. Here I should add some code to make them emulate TT(<layer>) rather than MO(<layer>)
- C and V and M and KC_COMM are LAlt and Ralt, respectively
- Z and X and KC_DOT and KC_SLSH are LGui and RGui, respectively
- KC_SLSH and KC_RSFT makes RCtl, as expected, but for LCtl, we needed Sevanteri's qmk fork in order to be able to use LSFT_T(KC_NUBS) and Z as the combo, without having to write code of our own to implement the "LSFT_T:iness"
- Another thing Sevanteri's qmk fork is needed for is to make it possible to combine several combos, like to write a @ - the layer 2 combo V+B and the AltGR combo M+KC_COMM and shift and W.
Challenges
- That the arrow keys ends up on layer 1 is no biggie, nor CapsLock as I so rarely use it, but that Delete have to do it as well is a bit sad. Also, real afterthought has to be put into where to place Page Up, Page Down, Home and End - preferably logically grouped with the arrow keys
- KC_GRV, of course, also ends up on layer 1, on the top-leftmost key (Q) - but I never use it. Do you?
- My sense of order is a bit upset by the homing keys, F and J, not being on the same distance of the keyboard centreline. Instead, J is directly to the right of the centre while F is three columns to the left of it. I do appreciate that they are far from the centre of full-size keyboards, too, especially the ones with numpads, but it still irks me...
- I hope Sevanteri's qmk fork might solve it, but otherwise, there seems to be some challenges with combining multiple combos, like LAlt and Tab to cycle through Windows or Ctrl-Alt-Delete
- At some point, I will implement a mouse layer as well, as that is something I really like about qmk.
- A left hand-only ctrl-z is impossible when Z is a part of the LCtl combo... (EDIT 2021-01-26: Actually, if you strike a combo, you can keep it activated by keeping one key pressed and then tap the other, so it turns out I can do a left hand-only ctrl-z after all!)
Build
First Impressions
- The prototype is really fragile. It would be quite easy to break it in half (but it is only a prototype)
- It's easy to write text on
- It's a bit harder to use for coding (V-B+M-COMM+U for a left curly bracket)
- It will take a while to either get the TAPPING_TERM and COMBO_TERM just right - or learn to live with/adjust to them
- The bottom row combos are easiest to strike with one's thumbs but a lot harder with one's other fingers - especially the pinkies
- I don't like the fact that I seem to have to add code for any combinations of combos that might be needed (if nothing else, too much code will not fit the memory of the Promicro)
- Regardless of whether I will ever deem the Isogherkin really usable or not, this experiment has been a really rewarding project, to equally amounts entertaining and educational
Sunday, November 24, 2019
The Gamified Timed Static Contractions Extended
Only this week, I also got around to craft myself a piece of webbing for Chest-Presses - yepp, I've kinda-sorta hit a plateau with my Dumbbell Bench Presses lately...
Tuesday, January 1, 2019
Gamifying Timed Static Contractions with Phidgets Load Cells, revisited
The Executive Summary would be: has been overall successful but there is still some room for improvements.
I've modified one of the example Ruby scripts that ships with libphidget21 to output measurements from both load-cells as soon as they're available for 95 seconds and are using the following scheme,
to five times a second re-plot the graph of my load-cells output in a Gnuplot script, to get the interactive feedback needed to be able to adjust the force I'm exercising against the unyielding band to stay at or near the target level.while (1) {replotpause 0.2}
The very first time, in mid June, I didn't have any target resistance to try to meet but just used the set-up to measure how I really did on a conventional, "blind" TCS Squat:
- One trivial one would be to label one of the load-cells "left" and the other "right" to always use the same one with the same foot/leg - but in practice, I don't think it matters that the cells might switch foot/leg from workout to workout. After all, they're supposed to be calibrated the same.
- I'm still in a tad too high stance in the last phase, so I need to film myself in profile during the squats and shorten the band until my thighs stay at a 45 degree angle to the floor throughout the third phase (but let's wait until after I've hit 90 units with the current length).
- The rubber training mat I'm using to stand on actually doesn't offer enough friction for my feet to stay put during the high exertion during the third phase. When I focus on maintaining the full pressure into the band loop, my feet tend to slide a bit closer together, making the exercise easier. To combat this, I either need to switch from the training mat to something more rugged and rigid - or place a piece of plank sawed off to keep my feet shoulder-width apart when placed between them (I think I'll go for the latter - also once I've hit 90 units with the current suboptimal set-up).
- Since my load-cells only goes to 100 kg and I never imagined that I would ever surpass 2 x 100 kg, I might have to progress to a deeper stance than thighs 45 degrees to the floor - or splash out and get new load-cells that goes beyond 100 kg (Phidgets' next larger ones go to 500 kg which surely would be a total overkill).
- Naturally, another way to make the current load-cells last longer is also to increase the length of the third phase - that would also decrease the level of resistance I would be able to handle. The 30-30-30 second protocol Drew Baye recommends would be the natural choice, but another possibility would be to opt for maintaining the same, more conservative load for 90 seconds - i.e., no pre-exhaustion phases but just one marathon session where the challenge would be to struggle to keep the load at the target for the complete duration. Actually, it would be something fun to try but it would be hard to guess what target load to go for? Perhaps 70% of the current third phase target? Or is even less a must? Or is more possible to handle?
- I also need to simplify re-checking the current calibration of the load-cells. Currently, I basically just run the normal workout script and hang a few dumbbell weight-plates to each load-cell while they're hung from my chin-up bar. So far, with 30 kg in weight-plates, they've always been less than 1 kg off - but I really should check closer to the max weight, using my own body weight or so. (This is why I've written "units" rather than "kilograms" in this post - I fear they're not 100% accurate, but as long as the trending is correct and they're not too far of each other, they still work as long as one consider them as measuring generic load units rather than exakt SI kilograms).
Saturday, December 29, 2018
DIY Pure Coconut Oil Shampoo Bar
The latest experiment I've embarked on is to make my own shampoo bars. It begun with a friend pointing out the unnatural stressors in industrial shampoos and myself, probably because of that, noticing an buying a shampoo bar at one of our local area grocery stores. I've used that bar to wash my hair the last couple of weeks with good results. Cannot say I've experienced any of the transition troubles many sources on the Internet describes. But the same Internet searches also turned up an abundance of DIY recipes for shampoo bars and it seems like a cool thing to try.
However, most recipes calls for a mix of many fats and oils: olive oil, shea butter, ricin oil, etc, etc and with different saponification values for each kind of fat, that felt a bit daunting for a first-timer. Hence, I deliberately choose to listen to Mommy Potamus blog post Coconut Oil Shampoo Bar Recipe we're she herself have had good result with a superfatted shampoo bar made of just coconut oil. It's an experiment, after all. If it doesn't work out, I will be one learning experience richer and have a bunch of soaps to try to find other uses for (how was it? Pure coconut soap dries skin out too much? Does that apply to hands to the same amount as it does it for the more sensetive face skin?).
The saponification number of coconut fat/oil seems to be 178 - 191 but most sources has pegged it to be 184 for organic coconut oil (although the webstore, https://www.organicmakers.se/, where got my lye and coconut oil from uses 183) so I used 184. That means that for 1000 weight units of oil, 184 units of lye is needed to soapify it. However, one always want to superfat the soap a bit, to ensure that there are enough fat around to consume all of the lye. Furthermore, Mommy Potamus' recipe called for a 10% superfatted shampoo bar for normal hair, so that's what I aimed for.
I wanted to use 500 g of the coconut oil. Having it 10% superfatted makes for 500 / 1.1 = 454.54545454545454545454 g of coconut oil to saponify. With a saponification value of 184, that means we'll need 454.54545454545454545454 * (184/1000) or 83.63636363636363636363 g lye. Most soapmakers seems to be opting for a lye solution of 30% lye and 70% water, so with 83.63636363636363636363 g lye, we'll need (83.63636363636363636363 / 3) * 7 or 195.15151515151515151509 g water. But as my kitchen scale only have gram accuracy, I went for 500 g coconut oil, 84 g lye and 195 g water. Since I'm aiming for a 10% superfatted shampo, I have a good marginal for error and doesn't really need any scale with "drug-dealer accuracy".
1. I used some rapeseed oil to coat the silicon muffins tray I was going to use as soap forms. I'm not entirely sure this is actually needed, but better safe than sorry. It seems the most common modus operandi instead is to use one big rectangular form and then cut out individual bars out of it with a knife once it has settled, but I'll go for individual forms directly.
2. I weighted up 500 g coconut oil in the big bowl, 84 g lye in the measuring glass, and 195 g water in the little bowl.
3. With my glasses on and protective gloves on my hands, I went outdoor and carefully mixed the lye into the water and kept stirring with a steel whisker until the solution went clear and all of the lye granulates had been completely dissolved. Since the reaction between lye and water generates heat, my steel bowl was hot to the touch by now - which was nice since it was just below freezing outside today.
4. After waiting yet some minute to let the solution cool off a little, I went back inside and carefully poured it over the still solid chunks of coconut oil in the big bowl, then used the same steel whisker to stir until all of the coconut oil had melted.
5. Then I inserted the blending rod at an angle to trap as little air under the head as possible and ran it at full speed in short intervals, stirring the mixture with the rod head in between, to get a feel for how thick it had become. I thought it thickened a lot slower than it said it would in the different tutorials on the web, until I actually did the tracing test by lifting the rod and watching what happened with the droplets on the surface of the mixture. They stayed there without sinking down into the mixture so evidently, I had made it too thick - yet, to me, it seemed pretty thin so make a note: thick enough it actually pretty thin!
6. When pouring the mixture into the forms, pretty thin comes in quite handy. I tried to get roughly the equal amount into each of the 12 muffin molds in the silicon tray, then used the silicon spatula to try to smooth out the tops of them, which wasn't easy and got noticeably harder over the few minutes I spent on it as the mixture clearly already solidified quickly. Here's how the final result looked:
Clearly, I wasn't very successful at smoothing out the tops of them... One can also see a yellow (mis-)colouring on the bottoms from the rapeseed oil. Next time, I might go for using washed cream cartons as molding forms instead and slicing out quadratic bars with a knife instead.
8. Now they're supposed to mature on the grid under the old kitchen towel for at least four weeks. That's the really frustrating part of soap-making. But before February 1st, I should be able to try to wash my hair with one of