#weeklyreview 24/2026
This was a busy week. Two social events and long work days. Of course also more fiddling with tech. But it all started with the 4th
Digital Independence Day Templin/Uckermark
For the fourth time we met in Templin to show and tell people about alternative to big commercial technology. This time a bunch of new faces showed up and we were a total of 8 people. Its getting traction despite our lousy advertisement efforts.
One quote from my partner in crime resonated with me especially:
You don’t need to switch directly from Windows to Linux. Rather start replacing application by application with their open source alternative. Once you’ve replace InternetExplorer or Chrome with Firefox, MS Office with LibreOffice and Outlook with Thunderbird, you’ve likely already covered the majority of your computer use. When you then switch from Windows to Linux you’ll be met with familiar applications already.
The 5th event will take place on July 5th in Templin again.
Movies & Paintings
Back on Sunday evening Berlin K2 started to watch a movie it seem to like. The story is about a woman at the end of the 18th century. She’s supposed to get a portrait of her painted by a another woman.
The scenery looked more and more familiar the longer I watched. Eventually it struck me. One scene of that movie we’ve got as an painting from my dear friend Cristina Carrillo.
The movie is the french “Portrait of a lady on fire” by director Céline Sciamma and it’s really good.
Greybeard gathering
As it was the 2nd Tuesday of the month our group of old hackers gathered again at the Pratergarten. This time it was warm enough to start sitting outside in the beer garden and in the sun. One guy joked that direct sunlight is not the right environment for hackers.
Why greybeards you ask? Because a lot of the original male software developers of Unix (think Kernighan & Ritchie ) were sporting full beards and eventually those became grey. Funny enough in our group I’m the only one with a beard … and I’m not a hacker.
Always quite an interesting meeting as those guys know a lot beside mere programming and computers. Learned quite some things about Taurus weapon systems this time.
Linux to the rescue
A friend of mine water damaged their HP Laptop. Wouldn’t boot up anymore despite the fans turning when powered on. I took out the harddrive to see if that’s still working. And it is. Got Windows 11 on it. Now while we have access to the mere files, some valuable data is still hidden inside programs and their proprietary formats.
Unfortunately the Disk didn’t fit in own HP laptop as it’s got a different SSD connector. What I had though is a SSD-to-USB adapter. I thought it should be possible to create a virtual machine though that simulates the original Laptop to some extend and use the USB-device as it’s hard drive. The normal VM wizard didn’t lead to success so I asked Perplexity to help me create the correct QEMU/KVM call.
And it delivered. I needed to create a software TPM device first as the original Laptop uses UEFI. After some fiddling I actually got the original OS booting up on my trusty Linux Laptop despite some 10 years hardware difference. The Documentation and explanation of the steps can be found here.
My friend but has now bought a similar laptop as replacement. We’ll put the disc into the new Laptop and will hope that the system will just come up. Let’s see. But good to know that my approach would have worked using virtualization.
Beer & Burgers
On Thursday it was time for our beer & burger gathering again. This time in West Berlin … Upper Burger Grill in Charlottenburg.
The Burger was quite OK. Not the best I ever had … but also not the worst 😉
After the burgers we felt fancy and decided to pay the Monkey Bar a visit. That’s a quite popular bar at the moment at the end of the Bikini House Berlin. It oversees the “Zoologischer Garten” and I guess you could see the monkeys during the day.
The view is indeed stunning. You can see over to the Gedaechtniskirche, the Bikini House and of course the Zoo. What I found most interesting was the audience. Every age group from Teenagers (I hope 16+) to people probably approaching their 80s were there. So they’re doing something right attracting such a diverse age group. Then again the Ku’damm area feels a little weird to me. Everyone seems to be pretending their rich and famous. Some surely are. Most just pretend and want to part of the hype. Also… it seems to be mostly russian speaking people nowadays in that Area.
Elk
This week the Version 1.0 of the alternative web client for Fediverse services named “Elk” was release. I’m hosting my own instance and are using it currently as my main Mastodon Client on the web.
One nice notable feature (among many others) is it’s ability to compose longer threads. The compose window let’s you split your longer writings into multiple properly linked posts. I know that some people struggle with this. Many Fediverse instances have a character limit for their posts – usually 500. I’ve patched my Mastodon instance to allow 5000 characters in a single post. So if your instance has a short limit and you want to post longer texts then consider using Elk for this purpose.
Local LLM stuff
I’ve continued playing with my LiteLLM setup. Also finally got OpenCode configured and used Qwen3.6 with Ollama on my laptop to write me some Ansible playbooks for installing and configuring OpenCode. That worked quite well.
I’ve also tried to calculate the cost of my Ollama setup on my Laptop at the energy price of 30ct/kWh. The M2 Max CPU/GPU seem to be able to churn out ~ 50 Tokens/s while consuming 65W. For 1M tokens it would roughly need 5.5 hours at 65W. That’s about 0,3575 kWh and thus ~ 10,7ct/1M tokens.
Of course I build myself a benchmark tool that produces the numbers for all available models on my machine and spits out a respective config file for LiteLLM
Full Reportollama-bench Results
Date: 2026–06–15 18:28 Models: 11 Prompts: 3 Runs/prompt: 3 Max tokens: 200
Power draw: 65W Electricity: 30 cent/kWh
Per-Model Details
deepseek-r1:1.5b
MetricAverageStd DevTokens generated200—Generation speed164.58 tok/s±2.04Time to first token345 ms—Total wall time1571 ms—Energy consumed28.22 µkWh—Cost per token€0.000000042327—Cost per 1M tokens€0.0423—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#1200159.46199858.76€0.000000088146#2200165.2113324.29€0.000000036442#3200165.7513124.19€0.000000036278#4200166.0415824.63€0.000000036946#5200165.7813324.22€0.000000036336#6200165.4413324.26€0.000000036397#7200165.3015724.71€0.000000037068#8200163.9513224.45€0.000000036668#9200164.2813424.44€0.000000036665embeddinggemma:latest
No successful runs.
gemma4:12b-mlx
MetricAverageStd DevTokens generated200—Generation speed25.33 tok/s±1.73Time to first token441 ms—Total wall time8376 ms—Energy consumed151.04 µkWh—Cost per token€0.000000226563—Cost per 1M tokens€0.2266—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#120029.632633169.43€0.000000254139#220025.97126141.34€0.000000212014#320025.60109143.04€0.000000214565#420024.92338151.04€0.000000226557#520024.41112149.95€0.000000224931#620024.25100150.73€0.000000226102#720024.19333155.31€0.000000232968#820024.54106149.07€0.000000223605#920024.49111149.46€0.000000224189glm–4.7-flash:latest
MetricAverageStd DevTokens generated200—Generation speed49.06 tok/s±2.71Time to first token1104 ms—Total wall time5202 ms—Energy consumed93.78 µkWh—Cost per token€0.000000140672—Cost per 1M tokens€0.1407—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#120052.427969212.82€0.000000319226#220052.5022972.97€0.000000109457#320051.7922073.76€0.000000110633#420047.7230181.17€0.000000121749#520048.6822278.23€0.000000117351#620048.0522579.28€0.000000118926#720047.8632181.28€0.000000121927#820048.2822278.84€0.000000118265#920044.2722585.67€0.000000128512gpt-oss:latest
MetricAverageStd DevTokens generated190—Generation speed51.89 tok/s±5.22Time to first token1195 ms—Total wall time4883 ms—Energy consumed87.95 µkWh—Cost per token€0.000000139035—Cost per 1M tokens€0.1390—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#120064.297670194.70€0.000000292055#220056.0432470.33€0.000000105494#320049.2035279.81€0.000000119716#416949.4638768.75€0.000000122042#520050.0838879.18€0.000000118768#614547.3339062.41€0.000000129125#720049.3442880.98€0.000000121468#820050.5940978.83€0.000000118245#919450.6540876.58€0.000000118427lfm2.5-thinking:latest
MetricAverageStd DevTokens generated200—Generation speed220.08 tok/s±25.13Time to first token179 ms—Total wall time1110 ms—Energy consumed19.85 µkWh—Cost per token€0.000000029775—Cost per 1M tokens€0.0298—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#1200254.3090330.53€0.00000004579#2200256.758115.55€0.000000023331#3200246.508116.14€0.000000024204#4200193.0210620.65€0.000000030974#5200197.348719.90€0.000000029855#6200205.028219.13€0.000000028694#7200206.7010519.39€0.000000029091#8200209.448218.75€0.000000028132#9200211.658418.60€0.000000027903llama3.2:1b
MetricAverageStd DevTokens generated133—Generation speed169.33 tok/s±9.77Time to first token348 ms—Total wall time1163 ms—Energy consumed20.82 µkWh—Cost per token€0.000000046968—Cost per 1M tokens€0.0470—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#1200155.79178555.43€0.000000083146#2200156.2716626.15€0.000000039231#3200161.4316525.39€0.000000038085#468185.091799.90€0.00000004367#5117173.1216515.21€0.000000039005#672176.9816210.30€0.000000042897#7116173.4717915.34€0.000000039682#8117169.4916515.47€0.000000039674#9107172.3616414.20€0.000000039822llama3.2:latest
MetricAverageStd DevTokens generated140—Generation speed81.62 tok/s±2.52Time to first token524 ms—Total wall time2250 ms—Energy consumed40.45 µkWh—Cost per token€0.000000086673—Cost per 1M tokens€0.0867—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#120080.353315104.81€0.00000015722#220083.2616446.41€0.000000069612#320083.5116646.32€0.000000069477#411386.1620027.37€0.000000072663#510482.3816525.83€0.000000074512#611381.1116728.21€0.000000074901#711180.1320628.79€0.000000077798#810880.2516627.35€0.000000075972#911177.4316728.94€0.000000078218mistral:latest
MetricAverageStd DevTokens generated190—Generation speed36.54 tok/s±1.59Time to first token373 ms—Total wall time5595 ms—Energy consumed100.72 µkWh—Cost per token€0.000000159125—Cost per 1M tokens€0.1591—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#120039.252688140.58€0.00000021087#220039.288393.54€0.000000140311#320035.6549102.23€0.000000153349#420035.21160105.52€0.000000158286#520035.4552102.85€0.000000154271#617335.665588.65€0.000000153722#717236.4115888.21€0.000000153854#818735.905495.07€0.000000152513#917735.995489.84€0.000000152266qwen3.6:35b-mlx
MetricAverageStd DevTokens generated200—Generation speed66.81 tok/s±2.82Time to first token980 ms—Total wall time3987 ms—Energy consumed71.85 µkWh—Cost per token€0.000000107768—Cost per 1M tokens€0.1078—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#120069.277994196.48€0.000000294719#220070.3610053.15€0.00000007972#320070.296152.49€0.000000078734#420068.6716155.50€0.000000083247#520065.4810156.97€0.000000085461#620065.106556.64€0.000000084967#720065.0016958.62€0.000000087933#820063.759858.43€0.000000087638#920063.347358.33€0.000000087495qwen3.6:latest
MetricAverageStd DevTokens generated200—Generation speed57.33 tok/s±1.49Time to first token1332 ms—Total wall time4859 ms—Energy consumed87.37 µkWh—Cost per token€0.000000131056—Cost per 1M tokens€0.1311—Per-run breakdown:
RunTokensSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost per token#120059.589619234.39€0.000000351579#220059.6027765.84€0.000000098764#320058.2427167.18€0.000000100772#420056.8936070.31€0.000000105468#520055.6927470.08€0.000000105124#620056.1627269.55€0.000000104324#720057.0337370.38€0.000000105568#820056.9327168.61€0.000000102909#920055.8727470.00€0.000000104995Model Comparison
ModelSpeed (tok/s)TTFT (ms)Energy (µkWh)Cost/token (EUR)Cost/1M tokens (EUR)deepseek-r1:1.5b164.5834528.22€0.000000042327€0.0423embeddinggemma:latest—————gemma4:12b-mlx25.33441151.04€0.000000226563€0.2266glm–4.7-flash:latest49.06110493.78€0.000000140672€0.1407gpt-oss:latest51.89119587.95€0.000000139035€0.1390lfm2.5-thinking:latest220.0817919.85€0.000000029775€0.0298llama3.2:1b169.3334820.82€0.000000046968€0.0470llama3.2:latest81.6252440.45€0.000000086673€0.0867mistral:latest36.54373100.72€0.000000159125€0.1591qwen3.6:35b-mlx66.8198071.85€0.000000107768€0.1078qwen3.6:latest57.33133287.37€0.000000131056€0.1311Ranked by generation speed:
1. lfm2.5-thinking:latest — 220.08 tok/s
2. llama3.2:1b — 169.33 tok/s
3. deepseek-r1:1.5b — 164.58 tok/s
4. llama3.2:latest — 81.62 tok/s
5. qwen3.6:35b-mlx — 66.81 tok/s
6. qwen3.6:latest — 57.33 tok/s
7. gpt-oss:latest — 51.89 tok/s
8. glm–4.7-flash:latest — 49.06 tok/s
9. mistral:latest — 36.54 tok/s
10. gemma4:12b-mlx — 25.33 tok/s



