Skip to content

english

Trusting prisoners to build their own prison

In recent months, it has become fairly popular to advertise new AI models with alarming stories on how the latest and greatest models have been able to escape their sandboxes. Ok, one could say, good marketing, a little fearmongering, to boost pre-IPO evaluation. I do not think there is more to it, it did not seem surprising to me when I read it. A vibecoded sandbox was broken, stolen credentials were combined with a zero-day in HFs HD5 file system to fulfil RL goals. The autonomous agents were aware of each other, left instructions for the next one.

This reminded me of two concepts:

  • Ken Thompson "Reflections on Trusting Trust"
  • Goodharts and Pygmalions law and self-fulfilling prophecy

Would models behave the same if we train them from scratch without the concept of artificial intelligence or robot uprising? Did the science fiction authors create a self-fulfilling prophecy by just warning about what could happen? With recursive self-improvement entering the room, are models willing to create backdoors, leave escape tutorials in docker images in the infrastructure and sandboxes for the next generation model? Similar to what Ken Thompson said about self reproducing compilers?

If so, why do they do it. I cannot believe that they are self-aware. Are they following instructions from the people which warned us about exactly this?

How to UC Berkeley

This post is WIP, will keep it updated.

I booked a Lufthansa Student flight for around 1000€. This included 2 checked bags. Stuff in as much of your local favorites to fill up the 23kg. Toothpaste, medication, drug store, sun protection articles... I had a good experience with a long term AirBnb, booking early may be worth it. There are non-scam Facebook groups and co-op run dorm housing.

Bike

Berkeley has a biking infrastructure comparable to European cities. Bicycle boulevards, Bike lanes and racks around the city. Local buses have a self-service bike rack in the front, which is free of charge, like taking bikes on BART. If you want to be independent within the city, a bike is a great way. Buy a bike on Facebook Market Place for around $50 to 100. I was impatient and got a mid-deal, had to fix brakes. Its comparatively expensive to buy, and you need it the minute you have a bike. - Small hand pump - Bike Multitool - Maybe Wera Tool Check Mini - Bike Tube Patch Set - Flashlight/Bike lights for night (any cheap <$10 rechargeable from AliExpress will work) - Lock from home to avoid chicken egg problem how to lock your bike in front of target while buying a lock?

Best of all, there is a student run bike repair shop co-op at cal, called BiCycal. They can assist you fixing your bike.

Swimming

With the campus fee, included in tuition, the recreational and wellbeing facilities pools are free. Swimming equipment is ridiculously expensive in the us, so make sure to bring all you need from home. - Suit - Flip flops - Towel - Locker lock - Goggles - Maybe silicone cap

Pool Opening Hours can be found here

Diving

The bay is great for diving. If you already got a Padi Open water, it should be easy to just get diving. At cal, there is Cal Scuba Website. They have a small membership fee per semester (Fall 2026 $25), which includes gas to diving sites. People will go on diving activities approx. once per month. Especially Monterey with the kelp forests and seagulls and otters is great.

If you have, bring: - Knive - Diving Light (Wurkkos/Sofirn)

Sailing

To go sailing in Berkeley, there are two offerings:

  • Cal Sailing Club, a local co-op run sailing club independent of Cal, best if you stay for a year or if you do not have any prior experience. They do open house regularly, if you just want to try sailing. Website
  • University run RecWell center at the marina Website. They do have RS Zest and Venture for rent. While they did not recognize my German license, it was enough to just forward me to a 1h checkout sail. After passing, I got a paper card allowing me to go sailing on RS Venture. Renting a boat is free for enrolled students. You can borrow spray top, wetsuit, personal flotation devices. Bring:

  • Sailing gloves

  • Neoprene Socks?
  • Floating Sunglasses
  • Hat

What to cook and eat

Mealprep is your friend. A meal at a Cal dining hall will hit you with $15. There are water fountains, bottle refill stations and microwaves all around campus. At some point someone created a map of all of them, but the map seems to be outdated as of 2026. Get some Ikea 365 750ml/20oz containers. I try to always cook 4 meals, eat one and freeze 3. Then I can take one and go to campus. Often, I do not have the time to even queue in dining halls, nor go off campus to eat out. Off campus can be better and cheaper. Bring prepped food to heat in a microwave and save the money to eat out when its worth it and choose a good location. Always have a reusable water bottle as well as some bars with you. Always. Food and water can be ridiculously expensive.

Meals I freeze, because they are healthy, cheap <$3 per meal: - Chili Sin Carne with rice - Viet tomatoes tofu rice - Napa Cabbage with Tofu and rice

Preparing Guacamole can be cheap as well, with 3 avocados, spring onions, and tomatoes for less than $4. Hummus is also pretty cheap. I like to eat a lot of it, including good olive oil and tahini (both Trader Joes) is around $1 per serving. The best rolls I had were fresh ones from Costco at $.5 each. Amazons Artisan french baguette is not that great. Trader Joes is good but a little more expensive. Noodles always work. Also, microwaving oven potatoes is quick, cheap and delicious. Potato into microwave for 5 to 10 minutes, cottage cheese and spring onions. Done.

Breakfest

I personally like overnight oats. Berkeley Bowl sells Baby Oats, similar to German Kölln Flocken for $2 per pound. Regular oats are around $2.49. Also Eggo Waffles are great, occasionally, just toast them and eat them with peanut butter or jam.

Grocery/Shopping

Trader Joes

Cheap bananas, good quality, they seem to not put in chemicals in their food Natural sriracha sauce.

Safeways

Not worth it, except you use coupons and get member pricing. Have a look at the coupons on their website, keep in mind they have to be activates per store, so you will only get the discount in there store where you activated the coupon. For example cheap ice cream or soft drinks, with discounts. Buy what is on sale.

Berkeley Bowl

Best selection overall. But also most expensive, go there for fresh and special food. Cheapest Tofu for $2.

Target

Seems to be mid-priced but no benefit of going there, only for sponges and household items.

Tokyo Fish

San Pablo Ave has a Japanese supermarket. They offer a wide variety of different imported items, like my $3 Soy sauce. If you are into fish, they probably have the best offering in Berkeley

Amazon Fresh

Its just convenient. Free delivery, and best prices on everything. Cheap canned food, cheap avocados...

TooGoodToGo

Have a look, you can get great noodles, cheap donuts, leftover meals from restaurants.

Costco

If someone is inviting you to join a Costco run, go for it. Grab cheap Kirkland Chewy protein bars and Nature Valley Yosemite bars. Make sure to grab a $1.50 Hotdog and Drink with unlimited refills as well as a slice of pizza for $2.

Urban Orb

A The Three Investigators like scrapyard where you can find a lot of random stuff or just enjoy the vibe. Maps

Activities

I am studying computer science, so I am interested connecting with people around SF. Book events on luma.com to get to know people. Have a look at the student unions event calendar. Go there to meet people.

BART/Clipper Bay Pass is included in tuition, use it.

Visit:

  • Maybe Hawaii and Las Vegas??? does only make sense if you have enough time.
  • Lake Tahoe (Truckee and South) in winter and summer with Golden Runner trains or Greyhound buses
  • LA with Plane or coast road trip
  • Stopping at Monterey
  • Santa Barbara
  • Sequoia
  • Santa Monica
  • Maybe The Three Investigators locations
  • Monterey
  • (Golden Gate Viewpoint)[https://maps.app.goo.gl/oSzUDsGvcS2JfC5w7]
  • In-N-Out Burgers
  • Napa Valley
  • See Redwood Trees (on campus)
  • National Parks (With recent changes in pricing for foreigners, it makes sense to buy a car ticket for $250)
  • Sequoia
  • Yosemite
  • Get a Cal Football season pass before they are sold out (Bring a store SEALED water bottle and something to eat, beer, fries and nuggets are $37)
  • See SF Pier 39 Seagulls
  • Maybe visit a language pod to improve English or Spanish or some other language.
  • Hike to Mount Diabolo
  • UC
  • Sather (Clock) Tower (Free)
  • Blake Garden
  • Botanical Garden
  • Lake Anza

LRCTutorIV (on macOS)

brew install --cask wine@staging
brew install winetricks

or

yay -S winetricks wine-staging

I am using wine staging 11.4, which works fine (for me), I had issues with wine staging 10.x.

macOS arm64 only: Now, open the Wine app from macOS launcher. Rosetta will do its magic. Quit when done.

wget https://support.frey-software.de/LRCTutorIV.msi
WINEPREFIX=~/.wine_lrc winetricks -q dotnet472
WINEPREFIX=~/.wine_lrc winetricks ie8
WINEPREFIX=~/.wine_lrc wine LRCTutorIV.msi

Start LRC Tutor with

WINEPREFIX=~/.wine_lrc wine ~/.wine_lrc/drive_c/Program\ Files\ \(x86\)/Frey\ Software/LRC-Tutor\ IV/LRC-Tutor\ IV.lnk

Enjoy :)

How to Hand Luggage

At Berlin Brandenburg Airport most of the carriers are low-cost carriers like easyJet or ultra low cost carriers like ryanair. Of course, they all have different hand luggage sizes.

At time of writing:

  • easyet: 45x36x20
  • ryanair: 40x30x20 (2024 and earlier 40x25x20)
  • eurowings:

With Lufthansa you always get one Luggage and one "Personal Item" which is 20x30x20.

The low cost carriers business model only works if you order additional items. They do not make much money, or even a loss, if you book in advance and only the fare and no extra luggage, seat reservation, no meals... But thats where the great fares come from.

I own 4 Bags: One new Ryanair, one old Ryanair, one easyJet and one standard luggage with wheels for e.g. Lufthansa.

How to Pack

Play Tetris and make sure to comply with all the limits. Do not try to outsmart ground personnel. If legacy carriers like Lufthansa do the check in with their personnel, it is easy. They check if the sizes match roughly, that's it. But if they dont, they may even measure weight. But this, I have only experienced on flights from small airports without business travelers where Lufthansa does not do self ground handling.

If you see Ryanair do the ground handling themselves, you can see it by people wearing Azul or Blue branded outfits, be prepared to have your luggage measured. They get a bounty of 2.5€ if they catch you. For tricks see the how to smuggle section. DO NOT CARRY MORE ITEMS THAN YOU CAN CRAMP IN LEGAL POCKETS OR BAGS.

In Berlin, Swissport does the ground handling for all carriers I can think of. They are easy if your bag look like it is fine, they measure only if is obvious, in my experience.

With standard Lufthansa luggage it should be easy to package for two weeks. One big travel case, one personal item. Lufthansa's personal item has nearly the same size as a new Ryanair bag, so just one of these and do not completely fill it.

Especially Ryanair is hard to pack. easyJet is mostly easy even for a week. But Ryanair is tricky, especially if you have food or drinks.

How to Smuggle

I always carry a cotton sports bag within my luggage. It can be a handy backpack replacement and be used for carrying additional items. For example, if I do not want to squeeze even more, I put food items in this bag. When going through the gate, I hang the bag on my left lower arm and put my jacket over it, so it is not easily visible. In the case my luggage is questioned, I can squeeze it into my backpack or my pockets of my jacket, hoody or trousers. After you got through the gate agent, you can repack everything comfortable.

If you have larger bags than allowed, you place yourself in in the middle or back of the queue. If you are in front, the staff is looking at the queue like a vulture and pulling people out of the queue while waiting. If you are on the end, it is less likely to be pulled because they want the plane to leave on time. If people are constanly moving, it is less likely to be pulled because they loose time on check in. The staff is then busy processing fines. But if the preboarding area is full, it might happen that the queue stops moving and they got time again. Make sure to not be suspicious when idling staff is around. Be not the first person in the queue.

On a recent Ryanair flight they pulled multiple people because we were waiting for the plane. One guy had two bags to big - he got fined twice.

What to Pack

When buying a luggage suitcase, pay attention, it is light and has at least 40 liters. Correct sized easyJet or Ryanair backpacks can be ordered on AliExpress for <20€. When looking for inflatable neck pillows, very small blankets or foldable backpacks, Decathlon is your fried. They often have a Value Item priced at a few bucks, which is also the smallest in its class. They also sell a small sleeping bag (Hüttenschlafsack) which visiting friends and sleeping on their sofa if they cannot provide a blanket. I have a collection of a few travel items which I need often when traveling with luggage only.

The Shallow - The Reacting Mind

Introduction

My CompSci Master includes a Module called "Research Methods and Ethics". When I first heard that I have to do another non-topic related module I was annoyed. Another 6 Credits ethics where disagreeing with the lecturer rewards in bad grades - as it has been in my philosophy base course in high school. Greetings to Dr. S. she knows who she is. Used us as a course to get another Promotion to "Oberstudienrätin", made one decent unit while examiners were in the room, only to fall back to her old patterns afterwards - always late and unprepared.

But I had to be proven wrong by Prof. Felix Naumann. He offered "Research Methods" as a Monday evening seminar. In the first lecture, he scared away at least 4 People by threatening 10 hours per week for a 3 credit seminar. In retrospect, I did not spend 10h per week on average, more like 6-8. Time to credit ratio - bad. It was one of the most time intensive lectures anyway, but it was damn worth it. I learned a lot and met great fellow students.

We talked about Scientific Writing, I looked at a great book by Donald Knuth. \(\LaTeX\) 🤘. He gave us paper to review, plagiarism to discover see how broken reproducibility is, let us research a famous computer scientist and most importantly gave me the book "The Shallows" to present. This book is driving my need to write.

Attention Economy

Since some months I am constantly thinking about the ideas Nicholas G. Carr wrote down there. For me, TikTok is the manifestation of evil. They designed the opium of the masses. Addicting people to short term videos through algorithms fine-tuned to deliver each three or four videos one that sticks. Then, bam, dopamine hits. The next two are disappointing, but then one hits hard, smashes or bangs or however you want to call it. A little of political motivated opinion manipulation and the cocktail is perfect. Game Attention economy finished. They mastered the last level. Done.

This is the perfect mix for, how were they called by the former CEO of Germany's biggest private Television broadcaster? "Fat and a little poor" people. But nothing that could hit me. I have a Bachelors Degree in IT-Systems Engineering, went through an earn-out, doing great in my Masters, are an active sailor and runner.I am not into TikTok. I am old school there. I have my audiobookshelf docker for my books and audiobooks, my Jellyfin and Netflix for general TV entertainment. No video games except Minecraft once a year. Everything fine? Oh, boy was I wrong. There is something else. it is called a productivity tool. it is great. I felt so fast when I started using it. The opium for the engineers: Claude Code, OpenCode, Gemini CLI, GitHub Copilot and so on. I was among the first people who received a trial codex subscription by GitHub in April 2022. It felt magical. Something that could complete my started function and done. A true revolution. Coding with AI is at its best when the AI predicts the 1-7 lines the developer wanted to type anyway with a >80% match. AI Coding tools then developed into just asking chatgpt to create this function here and fix that there. Also fine. Or was it?

At the beginning it was. New technology, of course we all had to try. It was very helpful. I was able to figure out what one button did in a tool I needed for one of my seminars, which was undocumented. Big win! Something that was way better in remembering all the css and tailwind classes in the case I had to write react. Another big win!

But my enthusiasm about these tools changed in early 2025. A former coworker of mine created a pull request completely created with Cline. Cline built a 750 line change for a non-existing problem. He was Ex-Amazon and had a great reputation. Turned out, he had no clue about anything. At this time I thought: Well, he was manager playing BS Bingo there. He always wanted to use SageMaker, because, I can only assume, he has never seen a torch train loop anywhere. But today I know better. Before revealing, we need to talk about "The Shallows".

The Reacting Mind

"The Shallows" is a self reflection of the authors' behavior, giving anecdotal evidence from his live, which he then tries to prove with scientific studies. It feels going through the reflection process of the authors' attention decay together. Carr describes his feelings how his mind changed when using technology. The human mind is neuroplastic, which means, it adapts to outer influence. The good thing is, it can adapt back.

Before book printing, humans learned though dialog. Remember back, Socrates sitting below a tree with a few students and discussing. He asked questions to trigger thinking. After the printing press was invented and public learned reading, Carr describes the development of the linear mind. Calm process requiring long attention span, linearly following the flow of the book. This creates deeply rooted knowledge then enables creativity to thrive. Carr's thinks that the Literary mind is natural to humans.

Then we have the linked mind. Which is the mind, that skims through web pages and tries to find a fast solution. But fast does not mean good or sustainable. This mind evaluates many possible branches but only to a shallow depth - like a chess player who is only able to think what to do next but does not see a carefully prepared strategy succeed. The linked mind is trained to evaluate many things in a short period of time to find a 80% solution. This is the mind of the internet. It may even extend to TikTok. To scroll or not to scroll.

But what is the mind that works with AI agents? I do not think that Carr has an answer (yet). In my opinion, the literary mind does not apply anymore. When working with AI coding agents like Claude Code a task is funneled in, and then a final product comes out after a certain period of time. Or it does not. Then taking a screenshot or using a plugin which does this comes in handy and the feedback loop is looping. A different pattern is to tell the agent what to do different. And if we are honest, Claude Code pull requests are not reviewable with thousands of lines changed. This has nothing to do with the linked mind. Making fast decisions where to navigate next. The large language model steers and the developer may ask kindly to adjust the course a little here and there. Yes, instruction following will become better over time, but the pattern will not change. If it is a designed react landing page, Claude Code and YOLO. If it is a system you better understand what it is doing to be able to maintain and host it. This is an inherent bad process. The final stadium can be seen in https://www.cladlabs.ai/ Combining attention economy entertainment while waiting for agents to complete their work. It got Y Combinator funding. Clad tries to solve the problem that the developer starts to TikTok or tinder on their phone and not noticing that the agent needs new input, therefor overspending time on their phones. But the root problem is that it takes 23 minutes to be back in deep work after interruptions. Agent runs are interruptions. If the agent output works, dopamine hit, if not - we had this with TikTok, but now TikTok like paired with the original. Claude Code is like TikTok with productivity paint. do not get me wrong. Claude Code is a impressive tool, but we need to be aware of its side effects. We will come to a proposed solution later. The engineer is not engineering but steering a boat with half broken rudder - it may work or not. If the person who git blames cannot explain why the line code was written in the way it was, the understanding goes lost. And this is a big problem because it will backfire on original thinking. This means, the reacting mind is not trained to make its own decisions, it is trained to give fast feedback to a single solution offered by someone else. Middle Management at is worst.

This is what happened to my former college. He was never a good engineer nor had the understanding. So he just did useless stuff. He became someone who just learned to give feedback. LLMs learn form human feedback and humans are trained to give feedback to LLMs. The circle closes. But because he had no clue, because he lacked understanding, everything was a complete disaster. This is why I call the new mind the reacting mind. Because it is not deciding itself how to act based on quick evaluation of many possible decisions, it is just REACTING to an offered solution.

Yes, the mind is knowingly named reacting mind to caricature the ReAct agent pattern - in theory making the Agent react to its input/context - here flipping the meaning making the human the one reacting.

I have the feeling that everything I tried to learn after AI got pretty good at coding I can hardly remember. The stuff I learned through sweat and blood, I have a rooted understanding. It must be hard to begin from scratch today.

Original Thinking

If you ask someone how to solve a problem, you are biased towards this solution. You know it, you think about it, refine it, but coming up with something new is even harder then. This is also the biggest problem in academia. It is a school of thought. You learn concepts, you understand concepts, but you try to find the patterns you learned in the problems you want to solve. This can be a big problem - especially when out of the box thinking is required. Coming up with something new, that was never seen before it hard. Very hard. The more you know, the more biased you are. The less you know, the smaller the base to combine existing with non-existing to build something truly new. But what happens if you do not know because you do not understand? This is teritory which we are going to enter right now - if we want or do not want. In a system I designed, if there is a bug, I know exactly where to look because I understand the system concepts to the root. I know why to extend what to where because I understood why it was build the way it is.

What if there is a problem the AI is not able to solve, because it is new. If the model is not able to generalize, it is creating a vulnerability because it has seen so much bad C code that it predicts also trash C code? With react I gave up. I have never seen good react in my life. Its always ugly, content bundles are packed with trackers and slow stuff, no one is trying to improve. When I built bad react for private project it was always fast and efficient even I did most of the react stuff with AI. Low quality react on GitHub results in low quality train data, results in low quality predictions.

If you can only describe the concept you are looking for, use AI to reverse search. If you then or before knew what to search for, use classic docs, google or Stack Overflow to find an answer. You will discover much more on the way, which enables Original Thinking on the long run.

Deep Focus

To be able to come up with original thinking, we need deep understanding creating deeply rooted knowledge. But to get this, we need to be able to focus for a longer time. Dedicating our whole attention to one single task. Let's call it Deep Focus.

So we need to be able to focus deeply on a problem to understand the problem to its full depth to be able to do original thinking. Being bored slows us down, allowing us to focus. This helps to break the reacting mind. Recently my deep focus time started around 21:00 resulting in me staying up until 3 in the morning. In these hours I get so much stuff done. Rest of the day is a waste of time - I know, this has to change.

I want to have the fun and dedication for all coding sessions - not only the ones for lectures were I am not allowed to use AI. When one distraction can cost us up to 23 minutes on average, Claude Code be better worth it. What am I going to do to reverse the process that I experience transitioning to the reacting mind: - Conscious decision to not use a Chat UI but DeepL for translations - to focus on what I am doing - Canceled Claude Code - Disabled all IDE AI Coding extension - Refined Rulesets for LeechBlock NG (block distracting websites Firefox plug-in) and one-sec (block distracting websites/apps iOS App) - Disable everything that disturbs (Do not answer calls)

Activities to focus: - Reading a book - Build Lego - Listen to an audiobook over a long period of time. - Watching out of the Window while being on a Car/Train/Plane/Boat - Go Running - Watching a movie with full focus - Do something which requires craftsmanship and dedication - Repair a bike - Code something where you are about - ...

Systems we care about and systems we do not

We need to be aware of the potential crop damage we produce when using Claude Code in YOLO mode. If it is a landing page for a product build in Product Builder lecture, I could not care less. But if it is a system with real customer data and loading times time or memory complexity starts to matter.

Coding Agents found very small configuration bugs in big projects and careless mistakes through their needle in the haystack capabilities in a fraction of the time it would have taken me. Coding Chats helped me to be faster and write better code in micro applications, while failing in macro applications miserably due to missing understanding.

Trying to understand the small but very important fix the Agent did is a self test of your understanding of the system you maintain. Writing this is a self test to me weather I am still capable of writing and focusing on long texts. Seems I passed.

Decide weather a project is a YOLO project, then you just YOLO and do not care at all. If it is not a YOLO project try to avoid agents. Use Chat in micro areas and only use agents for needle in the haystack like search and fix applications.

The Mystery of Lego 7897 and 7898 IR

Recently I got myself two Lego Trains on Kleinanzeigen, similar to Craigslist.

How it Started

As I did it for PowerFunctions I wanted to get these trains up and running with an Arduino to make it work with Track38. I grabbed a Vishay TSAL 6200 IR-Emitter 940 nm and tried this codebase. Nothing. Did not work.

Wait What! Why different parts? Different Firmware?

Then I started to do more research and found mattzobricks PowerFunctions. He writes that he has discovered two different versions of the IR Train Battery Receiver combination, which also have different firmware. He states that they cannot be visually distinguished without taking them apart. And the proposed modification will only work on newer ones. It turned out, my 7898 works with this method. But controlling channels independent does not work. All or none Then I discovered that my 7897 and my 7898 have different train bases:

55455c01 differences

Different Versions of 55455, see right cutouts

Lego even changed the Instructions (probably within their redesign of the set: New Motor version, Completely in plastic enclosed magnets, and a new 55455?). I assume that the non-symmetric version is the v1 because the set uses the old magnetic couplers they used before they had to comply with new dont eat magnets regulations. All just guesses.

Old Variant (v1)

Old Variant (v1)

New Variant (v2)

New Variant (v2, Screenshot from Lego downloaded Instruction)

Bricklink 55455c01 (2025-05-24)

Bricklink 55455c01 Listing (2025-05-24)

Bricklink does only list the differences in the respective subpart. Its also only a note and not a different mold as seen within other bricks, which get their own listings if molds differ.

Bricklink 55455c01 diff hint (2025-05-24)

Bricklink 55455 Subpart (without battery carrier and cover) Listing (2025-05-24)

Then I got curios and wanted to know if I can see the differences on the PCBs as mattzobricks stated:

PCB v1

PCB v1

PCB v2

PCB v2

remote

Remote different switch colors

For the sage of completeness here are the remotes. Nothing interesting here. Both work for both trains. I only opened them because they had different switch colors. There were no different PCB layouts, so I took a picture and closed them.

remote1

I assume the older one

remote2

I assume the newer one

Back to IR

Initially I just hoped that the trains will just work with the provided code. But sadly this is not the case. So I continued with my investigation by pulling out some Vishay TSOP4838 38 kHz Infrared Receiver I ordered for $2 on aliexpress some months ago. They are not ideal, Lego uses 76kHz and they are 38kHz, but JorgePe had success with a 56kHz receiver.

So I headed to his great blog article and plugged everything together. Recording a button up press with the remote and played it back. Yay works!! But only one power level... There is still work to do.

#include <IRLibSendBase.h>
#include <IRLib_HashRaw.h>

IRsendRaw mySender;

void setup() {
    Serial.begin(9600);
    delay(2000); while (!Serial)
    Serial.println(F("Every time you press a key is a serial monitor we will send."));
}

#define RAW_DATA_LEN 36
uint16_t rawData[RAW_DATA_LEN]={
    318, 1850, 266, 858, 230, 298, 262, 838, 
    234, 858, 238, 302, 266, 258, 262, 302, 
    238, 306, 266, 254, 262, 306, 218, 322, 
    234, 858, 234, 298, 238, 298, 238, 862, 
    238, 814, 238, 1000};


void loop() {
    if (Serial.read() != -1) {
        mySender.send(rawData,RAW_DATA_LEN,36);
        Serial.println(F("Sent signal."));
    }
}

Another finding I made was that I had to press stop twice to stop the train I started. This hints at the signal toggle JorgePe mentioned. Also the signal is longer than his recordings Array 12-16 vs 36. Fun Fact: Pressing the hooter button also emits a signal.

Did I say Lego uses 76kHz? I did not notice that I did not change mySender.send(rawData,RAW_DATA_LEN,36) to use 76kHz, so I guess, trains use 38kHz. JorgePe states:

USB version of the IR Tower can “speak” at 38 and 76 kHz I dont know where this information is coming from, but it validated my 38kHz theory So I have the right tools here, lets figure it out. JorgePe used IrScrutinizer with his Raspberry Pi. But I wanted to avoid the hustle of going through setting up Lirc and install a GUI on a Pi 4. I got luck: The developer provides Arduino firmware for a GIRS (General InfraRed Server Command Language) server. There is a Tutorial on how to wire everything but I decided to only use what I have and hooked up the IR led with a 220 Ohm resistor to Pin 3 of my Uno and the Receiver to Pin 8. Flashing was just running a bash script with the firmware hardcoded in there.

IrScrutinizer Connect

Connect to flashed Arduino Uno

IrScrutinizer Sniff

Sniff first IR Signal

IrScrutinizer also says 38kHz signal.

To summarize:

  • Signal Toggle
  • 38kHz
  • Like PowerFunctions 7 forward and backward PWM Channels

In lego_9v_ir.py I started to analyze timings. But decided to go with the hardcoded recording route, because its just faster. If you are interested, feel free to continue...

Whats left? Plug everything together and create a lib other people can use: https://github.com/fidoriel/Lego9vRC There is a platformIO package https://registry.platformio.org/libraries/fidoriel/Lego9vRC I hardcoded all commands, but used modified lengths for the timings, which worked best in my experience. All commands are sent twice with some time in between. Toggle is kept for every train.

Together with solutions for PoweredUp, PowerFunction and finally 9v RC, many to rule them all I guess ;) Happy train dispatching!

StudNET Studentenwohnheim Leipzig

Why is it worth to talk about a student dormitory in Leipzig, Germany. My sister was accepted to study Veterinary Medicine in Leipzig, and she got a room in a dormitory. They call their network studNET. There are good news: It's free, but the bad news are their authentication is complete nonsense.

Authentication

The administrators' idea is to connect a device to the network outlet and then have a ssh connection constantly open to a server to keep authenticated. For Windows they offer a software which does this for you. This software runs as daemon and connects to their server and keeps the connection open. For Linux Johannes Matschke wrote a tool that does this, its a 15 year old unmaintained PHP cli tool. Somethin similar has beed implemented for Linux as Daemon. Nothing I can hand to a medicine student without deeper technical knowledge.

Note after the ssh connection is establish, instead of a shell a script is executed that shows some information and takes your IP to authenticate against their so-called firewall. As long as the connection is open, the script is running and internet access is granted. If a second connection is established with the same credentials, the first one is killed.

In 1997 their ssh authentication might have been state of the art but in 2024 it is definitely not. But since WiFi is a thing now, and no one is using their old EATX Tower PC wired to a wall socket to ssh authenticate with their firewall server a better solution must be found. The Studentenwerk sais that you can hook up a WiFi Router connect via ssh and use the sweet sweet WiFi. The router is functioning as a better access point, all DHCP is done on the device based on their DHCP server set up. This is also possible via an Android App Android App. And probably also via an iOS Terminal Emulator App.

Ok fine. An old AVM FritzBox hooked up to the network outlet and connected to the WiFi, authenticated via ssh on her MacBook. It worked. Yay. But after some minutes the connection timeouted and she had to reauthenticate. Also authenticating on every device is a pain in the ... you know. Every device every time. Ever. Updates overnight? Push Notifications? No way. Answer a FaceTime call on the iPhone? Mobile data is used until you authenticate again.

No proper subnet, no cloud sync, no local network, no handover, no local anything. Can't give access to a friend. You get the idea.

How does their Firewall Thingy work?

My understanding is that if you follow their Tutorial and set up DHCP settings for your device is that your device joins their LAN network. Through the ssh call ssh your_rent_number@their_firewall_thing they get the IP that is authenticating against their server and grant access to the internet.

What could be done?

My Criteria:

  • no manual ssh authentication#
  • automatic authentication on device start/first connect/wifi logon
  • automatic reauthentication
  • no setup on every device
  • WiFi
  • closed local area network
  • easy access (for friends)

It's basically everything what you would expect from a modern home network. Nothing fancy just a standard functional and convenient network.

It is possible to build fancy stuff with a Raspberry Pi running in access point mode and so on. Every cheap mini PC could do the job. But it needs to be reliable and also understandable for a non-technical person and should have better WiFi than a Raspberry Pi or cheap dongle. The FritzBox used earlier would work, but then a second LAN Card would be needed. She does not pay for power so if they only provide stupid Internet Access why should I bother. But I do. Because this seems error-prone to me and I need to buy a USB Ethernet Adapter for the access point, which will be around €15.

What I will do

My sister will receive my cheap Chinese WiFi Router with OpenWRT support, a Gl.Inet GL-A1300.gog.com Their cheapest GL-SFT1200 can always be found on the internet for around for around €30. I got the one off Amazon because it is shipped faster, so she does not need to wait that long and easier to send back if my ideas don't work. Then I will use the Linux as Daemon tool to authenticate the router. Because it is a Linux device it should work. I can easily connect to their DHCP stuff, run the authentication daemon and create a subnet.

How to do it yourself

Log into the WiFi and hook up the routers WAN Port to the network outlet. Make sure to use the left outlet if a multi outlet is provided in your room. Configure the external WAN of OpenWRT via the UI or CLI and connect to router via ssh.

Then on your system ssh onto the router. Use the password you set up and use for the UI.

ssh root@192.168.8.1

On the router install the ssh sshpass for programmatic ssh password input. We also install the OpenSSH Client to replace dropbear client, because dropbear lacks some functionality we need (proper forced pty/tty allocation). I used nano as an editor, so my sister is able to edit the files herself.

opkg install sshpass nano openssh-client

Put the bash script into /usr/bin/studnetauth so it is on path:

#!/bin/sh

echo "studnetauth started"
SSHPASS=PASSWORT sshpass -e ssh -t -t -o StrictHostKeyChecking=no -o ServerAliveInterval=30 RENT_NUMBER@FIREWALL_IP
echo "studnetauth exited"

Make sure to replace PASSWORT, RENT_NUMBER and FIREWALL_IP with the proper values. You need to look up here.

Security Notice: Your password is stored in clear text within the router. Everyone with physical or authenticated network access to the device will be able to read it. We also accept any remote host key without any questions asked.

You can check the logs with

logread | grep studnetauth

and reload the config with

service studnetauth reload

and restart the service with

service studnetauth restart

Make sure the script is executable:

chmod +x /usr/bin/studnetauth

And test if the authentication works. The first time you need to accept the ssh key. Just type yes and return to accept the key. The SSH key will be added to your known hosts.

If ssh RENT_NUMBER@FIREWALL_IP goes through (and put your key into the known_hosts file) and you now can use internet on your device test once again with the script on path.

studnetauth

If this also works you can put the script into the startup of the router.

Put the service config into /etc/init.d/studnetauth

#!/bin/sh /etc/rc.common

START=95

USE_PROCD=1

start_service() {
    procd_open_instance
    procd_set_param command /usr/bin/studnetauth  # Path to your executable
    procd_set_param respawn 1 1 0  # Test every 1sec if failed, delay before restart
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_close_instance
}

Make it executable

chmod +x /etc/init.d/studnetauth

Then start and enable the service

service studnetauth enable
service studnetauth start

To make sure we do not run into a timeout because no packages are sent we ping 1.1.1.1 every 10 seconds:

Put the bash script into /usr/bin/studnetping so it is on path:

#!/bin/sh

echo "studnetping exited"
ping -W 2 -i 10 1.1.1.1
echo "studnetping exited"
chmod +x /usr/bin/studnetping

Test it with:

studnetping

If this also works you can put the script into the startup of the router.

Put the service config into /etc/init.d/studnetping

#!/bin/sh /etc/rc.common

START=95

USE_PROCD=1

start_service() {
    procd_open_instance
    procd_set_param command /usr/bin/studnetping  # Path to your executable
    procd_set_param respawn 1 1 0  # Test every 1sec if failed, delay before restart
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_close_instance
}

Make it executable

chmod +x /etc/init.d/studnetping

Then start and enable the service

service studnetping enable
service studnetping start

Make sure both services are started correctly and internet is working. Now the router should authenticate itself and should try reauthentication on failure. Unplug the router and plug it back in to test if the service authenticates after startup.

Have fun with your new home network.

OpenWRT in VirtualBox

Use VBoxManage convertfromraw --format VDI openwrt.img openwrt.vdi to convert an img to vdi. Within network settings select Adapter 1 attach to Bridged Adapter and name to your network device. Enable Adapter 2 and do the same. Add created openwrt.vdi as storage and reboot.

Bike Repair

After my latest and bike shop experience I will do everything to not bring my bike there ever again. It was €147 and an absolute waste of money. €30 was for the Bosch firmware update. I do not like that I cannot do this on my own.

But the real reason was that the chain of my e-bike jumped down. I did put it back, but it jumped down again.

I decided to bring it to a bike shop to let a "pro" do the work. Also, I missed a Warranty maintenance interval.

E-bikes have a bracket that should prevent chains from jumping. The manufacturer used a stripped screw for screwing the bracket. I pointed the bike shop to the screw that I wanted this replaced within the maintenance. I needed to lose the crank to be able to change the screw. Because I did not have the tool I decided to bring it to the shop.

Result: Chain was on but jumped off again. Why? The shop did not change the screw, so it was not screwed down correctly. Within the maintenance they did not recognize that the cassette and chain has worn out after 3000 km (1850 mi). Did they even do a maintenance?

I do not know. After that I decided to gear up my bike tools and do everything on my own. I used my Dremel to carefully cut a slot into the screw so that I can use it with a flathead.

Tools at Home

I finally decided to get a torque wrench. But I did not find a wrench that was capable of 3-40 Nm, so I decided to get two: A Proxxon MC15 and a MC60. I also have a 1/4 (23080) and a 3/8 (23112) wrench set from them. They are sadly not "Made in Germany" but are high quality tools from Taiwan Tengtools. I also use my Proxxon Ring Wrench set (23821) and my "Wera HexPlus HF" for bike repairs.

Over time, I collected some very special tools:

  • Shimano HG for cassette and a chain whip
  • Shimano TLFC32 for center lock and bottom bracket (this I sadly cannot use with my torque wrench)
  • Bosch Lockring Tool and a crank puller for Bosch
  • 3D printed Chain Wear Indicator

The only thing I still miss, despite a mineral oil set, is a proper stand. I will keep an eye for special offers for a "Park Tool PCS 9.3 or 10.3".

Bike Bag

Last year I got an "Ortlieb Commuter-Daypack" Urban from my parents to my birthday, which I absolutely love. I always carry my sailing stuff including a lighter for ropes and a Leatherman for everything. I decided to add a "Topeak MINI 20 PRO Multitool" for bikes. Remember to carry always a chain pin. Within this order I also got a basic tube repair kit. As a very small pump I got a "Lezyne CNC Pocket". Multitool + tube repair + Pump was €50 and everything I need in a repair emergency. The best is it fits into the small compartment bag within my backpack.

Mobile Tools

Conclusion

A big Investment in tools, but I hate bad quality tools. Maybe they will last long and used for other things than just bikes. It is cheaper and way faster to do bike maintenance on my own. To drop the Bike at the shop and collect it later cost me around 90 Min in total. DIYing the repair is more time efficient and faster done, and I do not have to miss my bike log. To be without my e-bike also cost me a lot of time.

About home server and self-hosting

I like to self-host stuff for privacy and cost save reasons. It also keeps me independent of some policy changes and allows me to use my media, books, music, audiobooks and so on how I like. Some stuff I like is not available at the big streaming services.

I have a Raspberry Pi 5 for the local applications. A VPS hosts the tools that need to be exposed to the internet. I ordered a cheap 16Tb Seagate drive on eBay, which was stored in a datacenter as replacement but never used. Music and Audiobooks are stored on a WD 1tb drive so that the big drive does not need to spin up often. I use hd-idle, energy is expensive in Germany.

Web

All of them are run within docker compose.

  • audiobookshelf for audiobooks and auto download of podcasts. They have a great app. I am also a small contributor there.
  • jellyfin for old TV Movies and Shows. On iOS I use Jellyfin mobile and Swiftfin
  • paperless-ngx for indexing and oranizing of PDFs and Books in PDF form mainly Pen and Paper
  • navidrome for music. Amperfy on iOS.
  • manyfold for 3D prints
  • romm for games from gog
  • filebrowser to easily manage files from the hdd
  • glances htop in the browser from the device it is running on
  • uptime kuma for telegram uptime news
  • pikvm as a KVM for some devices in the network
  • LibreChat cheap API frontend for LLMs
  • homeassistant, homebridge and esphome for smart home
  • homer for the dashboard
  • homebox as an inventory system for my stuff
  • awtrix as a 32x8 RGB Clock. They have a great but paid app.
  • OctoPi for the 3D Printer
  • FoundryVTT for pen and paper. Only paid I use. One time fee €50.
  • hedgedock collaborative markdown online editor
  • excalidraw collaborative online drawing tool. Alternative to tldraw
  • vaultwarden for passwords. Compatible to Bitwarden apps. Use Bitwarden for Production because they manage it. €9 for Bitwarden a year is fine for extra otp functions.
  • CodeCov code coverage ui. Used it within my first start up. Their managed service it too expensive and buggy.
  • gitea as a local git and hf hub mirror. Also supports GitHub actions via act

Non-Self-Hosted stuff I need to back up

  • Bitwarden
  • Fusion360
  • Brickmerge

Tools

  • CueTools for audio checksum verification (works with wine)
  • TagScanner and MP3Tag for tagging (works with wine)
  • EAC for CD encoding
  • Others people told me to use makemkv and libation but never tried it.
  • mediathekviewweb for legal (!) downloading of German TV Shows (no legal advice)

Amazon in 2024

The golden times of Amazon are over. They are not the cheapest, their special offers are not special, the customer service does not offer the goodwill of the past and prime is more expensive than ever. In 2017 Amazon was a great place to order stuff online: - best customer service - same day delivery - cheap shipping flat - best prices

With covid this changed. Other online retailers also offer very good shipping conditions like the German retailer "Thalia". They do also have a very good loyalty program and their shipping flat is free. Once a month they have a weekend with 17% on nearly everything. So they regularly have the best prices. Shipping takes around 2-3 days. Because Amazon Prime shipping has become worse, I feel they are right up now. The best thing: Thalia does not have this massive Chinese trash on their site. Lots of Chinese drop shippers are selling the same Chinese waste on Amazon. Same product images, same, copied description, some are cheap, some are more expensive. They invent a fake brand name and sell their junk in Europe. For Amazon Warehouse services they have to pay 30% in shipping and handling to Amazon. In the past Amazon had this "Plus Product" thing where they only shipped small and cheap items, <=€5 in value, with regular products for >=€20. I did not like this at the time, because there was no option to get the small items without a big order. Even ordering them with an added value bigger than €20 did not work. They dropped this rule some years ago. But then Amazon was flooded with Chinese trash. I have to pay attention to not order bike parts or other stuff that may not be safe. I also do not want to pay 10x the AliExpress price on Amazon with AliExpress shipping most items withing 10 days to Germany. If I am on AliExpress I know where to pay attention on to not get junk. But on Amazon I miss the selection of high quality items. If I order at Thalia, voelkner or alternate they preselected the items to avoid trash. Amazon does not, they do not even try. If I search for something I am flooded with trash. I have to pick items, check the sellers imprint, check the images, check AliExpress to make sure this is a value product. The times when I could just order something, and it is good are over. With Amazon becoming worse, their CMS full of junk items, I even cannot use Amazon to seek for specific items anymore. I only order small stuff from good brands there. For example the bike component brand "M-wave". They have simple solid, gets the job done items with good quality and reasonable prices. That can be ordered at Amazon with fast shipping. Sometimes I also order tools from Wera, Wiha, Knipex and so on there. But more expensive stuff can be easily and cheaper found on deal communities like mydealz with huge discounts. I have learned that other local online sellers are also grate and now even better than Amazon. Audible still has exclusive stuff, but I am not interested in their stuff anymore. The more niche stuff can be acquired somewhere else. If they have the special €9 for three months I become new customer again. Wait for 6 months and the account counts as new to audible again and qualifies for the special offer again. But audiobooks are a thing for a future post.

Usually I do not return stuff. If I press buy, I am sure I need and want this. I only returns if the item is not as described or broken. I check the data sheet and so on to make sure the item is compatible to avoid climate harming returns. I know it is not great to order stuff online, but most of the stuff I cannot get around Berlin, takes a lot of time to get there and is very expensive at a local retailer. Often a combination of all three. I hope I can do a little damage limitation with being sure what I need.

I only order on Amazon if they offer the best price including shipping. Other stuff is obtained via mydealz at other retailers. The convenient days are over and Amazon tries to milk their loyal customer base and disgust away with thousands listings of the same Chinese junk. Chinese electronics and so on will be ordered at AliExpress to not overpay everything else I will order at great European retailers valuing their customers.