roka Kirby Mon, 13 Mar 2023 00:00:00 +0100 Randomly ordered chaos. Personal website of Robert Katzki. Climate Jets posts/climate-jets Mon, 13 Mar 2023 00:00:00 +0100 The project ClimateJets highlights the amount of emissions caused by the private jets of the ultra rich. Besides the emissions it’s crazy how much time of the year some people spend flying. 🤯

eBook reader – a new Era posts/ebook-reader-a-new-era Thu, 02 Mar 2023 00:00:00 +0100

More then ten years ago I tried reading eBooks with an entry level Kindle. I wasn’t convinced and sticked to physical books over the years. Last autumn I made a second try at digital reading – and this time I’m sold.

Note: I’m just very happy with the products & services mentioned here, I am in no way affiliated with them.

Why did it not work out last time?

One of the main pain points was the unsatisfying feeling when finishing a book: I wanted to place it onto my book shelf. As the shelf got quite cramped over the years I started to mostly borrow books from the library again. I had totally forgotten about the library to be honest.

I still like to go to a well sorted bookstore and look for interesting new books. I don’t get these from the library as it would be like cheating the store. Back then with the Kindle I had no choice to get the book in a digital version except from Amazon. And that would be a crime to my moral feelings.

Another thing that bugged me was that Kindle is an Amazon product. Since 8 years or so I don’t have an account with them anymore and try to avoid them as much as possible.

Selecting a reader

The trigger to look for an eReader was the problem every night: my wife wants to sleep already, I prefer to read a bit more but the light annoys her. How often did I try to read under my blanket in bed — neither comfortable nor enjoyable.

When I looked for a device I thought Tolino is the eReader to get in Germany. When I read reviews, it turned out that the software on recent devices seems to be really buggy. I was suprised about this, like how can a reader fail at turning pages… Kindle is out due to Amazon and Kobo isn’t really an option in Germany. I learned that the Tolino devices are actually Kobo hardware running with Android instead of a Linux system.

Somehow I came across Pocketbook and decided to get a Pocketbook Era.

Why I’m in love now

The device’s form factor is very nice, easy to hold with this side panel. For the quality of the reader I think all the recent ones are good compared to ten years ago. It has a background light which was a necessity for me.

As mentioned, I use my library a lot these days. The Pocketbook comes with an Integration to Onleihe by default, which is the eBook service of libraries in Germany. It’s such a great feeling to just tap a few times and have a new book ready to read!

The best of two worlds

And for discovering new books: the Pocketbook allows to set different stores as the default and I chose my favorite local bookstore, Cohen & Dobernigg. I can even go to the physical store, look for books and then buy the eBook right in the store.

As the Pocketbook has a cloud sync feature that syncs the eBooks themselves as well as the reading position, the new eBook will just appear on my device after buying a book in the store. Perfect, that’s such a great integration! 🥰

To satisfy my feeling of placing the book on a shelf, I signed up to a nice overview of the books I read and that I want to read in the future.

It sure is nice to go through a physical book, but with all the analogue / digital combination it truly is the best of both worlds to me. I’m off, I have to read.

Stanton photos/2023/stanton Thu, 23 Feb 2023 00:00:00 +0100

We spent our winter vacation in St. Anton, just like last year. It was a blast again! The kids made great progress in ski school and my wife and I could enjoy some days on the slopes together. 🥰

We had a lot of sun and snow as you can see. During the days the snow melted a lot and some meadows where already green. Hopefully they get some more snow soon.

Bing & ChatGPT posts/bing-chatgpt Wed, 08 Feb 2023 00:00:00 +0100 I’m still very uncertain with ChatGPT in general and the integration in search engines currently. What stresses me is this summary of an interview with Microsoft CEO Satya Nadella:

AI is coming for your browser, your social media, and your operating system, too.

I don’t want this. Especially when Microsoft themselves warns people to do their own research on the results. Sure. Where will people look up the sources (if at all)? The same search engine they used to get this uncertain information? What a mess. 😵‍💫

Burned photos/2023/burned Sun, 05 Feb 2023 00:00:00 +0100 ]]> Unselfing Social posts/unselfing-social Fri, 03 Feb 2023 00:00:00 +0100 ➭ Visit link

As an experiment, for one continuous month, make the focus of one in every three things you share on social media — wherever you normally share, however regularly or irregularly you do, however many people you reach — something other than yourself or your own work.

This website resonates a lot with me — especially social media often is people just showing off. It’s nicer to discover new things via people I follow, because let’s be honest: it’s great what everybody achieves, but don’t fake it. A recommendation is a really nice thing and I‘m always grateful for those I get. What can you recommend?

Lego Duplo Train Remote projects/lego-duplo-train-remote Wed, 30 Nov 2022 00:00:00 +0100

Some time ago I saw instructions for a remote for the Lego Duplo train that comes with Bluetooth onboard. As we have the same train and the kids love to build some tracks (or have me build a nice course 😏), I wanted to build something similar.

What’s inside?

From ebay I got a Fischer old controller for model railroads and removed everything inside it. The board connecting to the train is an Espruino MDBT42Q that can be programmed via JavaScript. I have to say that keeping a connection from the Web IDE to this board was sometimes rough. I think for future projects I’ll prefer boards with a wired connection. Nonetheless, this was my first time tinkering with a microcontroller and I’m really happy with it! 🙌

To be independent from a power outlet, I added an Adafruit USB-C Charger with a battery. For the capacity I looked for what size best fits into my old controller. The 10kΩ potentiometer and a switch I reused from the old controller to turn it on and off add everything we need for functionality.

Light up!

Last minute I added a bright red LED to show when the remote is turned on — this was a great addition as the kids often leave the remote laying around and play somewhere else. Easy to spot with the red light that it’s still turned on. Phew.

It’s fun to drive the train! See yourself:

The inner part while turned on.
Looks quite organized, I’m proud about that. Doubted myself after previous projects…

The code

For completeness, here is the whole code. Taken & optimized from instructables. Thanks ThePlayshed!

var devices;
var gatt;
var connected = false;
var connecting = false;
var DevName="e0:7d:ea:0c:03:29";
var serviceUUID="00001623-1212-efde-1623-785feabcd123";
var characteristicUUID="00001624-1212-efde-1623-785feabcd123";
var Characteristic_store;
pinMode(D31, 'input_pulldown');
var prepval = new Uint8Array([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]);
var sendvalue;

function connect_train() {
  connecting = true;

  NRF.connect("18:04:ed:f5:cc:be").then(function(g) {
    console.log("Starting connecting2");
    gatt = g;
    return gatt.getPrimaryService("00001623-1212-efde-1623-785feabcd123");
  }).then(function(service) {
    return service.getCharacteristic("00001624-1212-efde-1623-785feabcd123");
  }).then(function(characteristic) {
    Characteristic_store = characteristic;
    return characteristic.readValue();
  }).then(value => {
  }).then(function() {
    console.log("Train Connected");
    connected = true;
    connecting = false;
  }).catch(function(error) {
    console.log('Error', error);

function train_direction(dir_val) {
  sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x00]);
  if (dir_val < 100) {
    console.log('ganz schnell rueckwaerts');
    sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x9c]);
  } else if (dir_val >= 100 && dir_val < 200) {
    console.log('schneller rueckwaerts');
    sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xce]);
  } else if (dir_val >= 200 && dir_val < 300) {
    sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xe2]);
  } else if (dir_val >= 300 && dir_val < 400) {
    sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x00]);
  } else if (dir_val >= 400 && dir_val < 475) {
    sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x1e]);
  } else if (dir_val >= 475 && dir_val < 550) {
    console.log('schneller vorwaerts');
    sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x32]);
  } else if (dir_val >= 550) {
    console.log('ganz schnell vorwaerts');
    sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x64]);
  Characteristic_store.writeValue(prepval).then(_ => {

setInterval(function() {
  var reading = analogRead(D31);
  if (connected) {
    train_direction(reading * 600);
  } else if (!connecting) {
}, 100);
Volksdorf photos/2022/volksdorf Sat, 19 Nov 2022 00:00:00 +0100
Pommes sind okay photos/2022/pommes-sind-okay Fri, 04 Nov 2022 00:00:00 +0100 ]]> Slovenia photos/2022/slovenia Sun, 11 Sep 2022 00:00:00 +0200

We spent our summer vacation near the coast in Slovenia. There are such lovely coastal towns that have a lot of Venezian charme. Also Ljubljana impressed me a lot — the castle atop the medieval town looks great! Wandering around those narrow streets and going up atop the city was really nice.

What I didn’t expect in advance where the caves. Sure, I knew there are caves, but the size of these was mind blowing. We sure come back for another visit!

Pssst, a few photos are from Triest, Italy. ;)