<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>solariz.de - Tech &amp; Thoughts</title>
    <link>https://solariz.de/</link>
    <description>Recent content on solariz.de - Tech &amp; Thoughts</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 26 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://solariz.de/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>A local epub eBook server for my xteink</title>
      <link>https://solariz.de/posts/26/04-xteink-local-epub-server/</link>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/04-xteink-local-epub-server/</guid>
      <description>As I wrote before, recently I got myself a XTEINK X4, even the blogpost is not that old I got it a little more than a week ago. After using it active several days I can really say the size is the big win and the best argument for this eBook reader. I really keep the habbit to have it in my pocket beside my wallet. It is so tiny it doesn&amp;rsquo;t hurt and I found myself using it more and more if I need to wait somewhere.&#xA;Technical Improvements In my first article I wrote I went with the Papyrix firmware, well it is still great and lightweight but I had some smaller issues with it. Torn between Papyrix and crosspoint I currently running the crosspoint firmware. But the good thing is, flashing this thing is so easy and done &amp;lt;1minute with no ebooks lost, so it actually doesnt matter so much.&#xA;What I found is transfering via Web Transfer is easy but I would prefer to have something like a local library for my ebooks. Until today they all &amp;ldquo;lived&amp;rdquo; inside a default folder structure on my homeserver filestorage. I thought for a Sunday Project this might be a good Idea to see whats available to get a &amp;ldquo;Plex like&amp;rdquo; library for ebooks. And I settled on the open source Project Komga. It have the big advantage that it not only support ebooks but also Mangas - not that I particulary own a lot of Mangas but who knows, having this options is nice.&#xA;Komga Komga basically is a self hosted reading Library, really best compared to Plex or Jellyfin if you know those from TV Series / Movies. You can create multiple libraries and enrich the ebooks in them with metadata. The XTEINK Reader with the flashed firmware offers a nice Option to directly connect to your Komga and download eBooks from there as well syncing their Reading Progress. This comes specially handy if you own multiple eBook readers compatible with this Sync Mechanic.&#xA;Setting Up Komga Long storry short, I run docker on my homeserver anyway for alot of small services. Adding it via a docker-compose.yml is done in no time.&#xA;services: komga: image: gotson/komga:latest container_name: komga environment: - TZ=Europe/Berlin volumes: - /tank/ebooks/config:/config - /tank/ebooks/data:/data ports: - &amp;#34;25600:25600&amp;#34; restart: unless-stopped A quick docker compose up -d and we&amp;rsquo;re good to go. On my homeserver it is found at http://homeserver:25600 afterwards.&#xA;Create your admin account and add your first Library. Then on your homeserver place your ebooks inside the library folder and Komga start indexing them.&#xA;Connecting Komga to XTEINK on Crosspoint Firmware This is again very straight forward, connect your XTEINK reader to the wifi and open the webinterface Settings.&#xA;There you find KOReader Sync and OPDS Browser both you can fill in like this:&#xA;XTEINK on CrossPoint works with both Komga OPDS browsing and KOReader sync using separate endpoints and separate credentials. KOReader sync uses the Komga /koreader endpoint with an API key (you can generate this one in the Komga Webinterface in your User Settings), while OPDS browsing uses the Komga /opds/v1.2/catalog endpoint with the normal Komga account login.&#xA;One thing to note for the KOReader sync, use your API Key as username and as password you can put in anything as a placeholder. I put in 00000 which is perfectly fine. One thing noted here for Security, since you mostlikely in this simple Setup not using HTTPS encrytion I would not suggest to open this API via port forwarding. Port Forwarding on your Network is in general a bad Idea, better go with a dial-in VPN.&#xA;Notes I tend to store myself notes in my Knlowledge Base for future Setups in short note form, I just paste it here it might help:&#xA;# Komga on XTEINK CrossPoint **Environment:** - Komga server: http://172.22.44.2:25600 - Reader: XTEINK with CrossPoint firmware **KOReader Sync:** - URL: http://172.22.44.2:25600/koreader - Username: Komga API key - Password: 00000000 - Document matching: binary **OPDS:** - URL: http://172.22.44.2:25600/opds/v1.2/catalog - Username: Komga account email - Password: Komga account password **Status:** - KOReader sync: read a …</description>
    </item>
    <item>
      <title>New gadget; Xteink X4 E-Ink reader flashed with Papyrix</title>
      <link>https://solariz.de/posts/26/04-xteink-x4-ereader-papyrix-firmware/</link>
      <pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/04-xteink-x4-ereader-papyrix-firmware/</guid>
      <description>I mean isn&amp;rsquo;t it a totaly adult and viable decision to directly buy a tech thing after you read a bunch of blogs writing about it? Yeah, absolutely :) And as some of the Podcasts I listen also mentioned this one I was sold. As you can see on Bubbles how this is really in everyones &amp;ldquo;mouth&amp;rdquo; in the last days.&#xA;What the&amp;hellip; ? Well the XTEINK X4 isn&amp;rsquo;t just a regular boring ebook reader. It&amp;rsquo;s also not going to replace my 8&amp;quot; ebook reader, but it is tiny, it fits in my palm allowing me to really just have it with me everywhere.&#xA;Light (74g) and tiny. But beside that another very cool fact is that it is based on a ESP32 and expose the JTAG via USB-C.&#xA;[19780.412325] usb 3-4: new full-speed USB device number 50 using xhci_hcd [19780.597933] usb 3-4: New USB device found, idVendor=303a, idProduct=1001, bcdDevice= 1.01 [19780.597941] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [19780.597944] usb 3-4: Product: USB JTAG/serial debug unit [19780.597946] usb 3-4: Manufacturer: Espressif [19780.597947] usb 3-4: SerialNumber: F8:5B:1B:xx:xx:xx [19780.602172] cdc_acm 3-4:1.0: ttyACM1: USB ACM device [19780.754978] usb 3-4: USB disconnect, device number 50 ESP32 open Firmware This means it is very easy to put custom firmwares on this little thing. And there are plenty of them to choose. The most common ones are crosspoint and papyrix.&#xA;Even the most famous may be crosspoint, my decision went with papyrix because I like how it offers wifi with webinterface to push ebooks onto the reader. Also it accept perfectly fine alot of formats like markdown and even a Calibre sync integration.&#xA;Once you connect the reader to your wifi (it can also open it&amp;rsquo;s own) you can simply access it via browser and upload stuff:&#xA;Flashing is a peace of cake, for crosspoint you can even do it from within your browserwindow. For Papyrix you download the flasher from the papyrix releases and the latest firmware and in less than 20s it is flashed to the device via usb-c.&#xA;➤ ./papyrix-flasher-linux-amd64 flash firmware.bin Firmware: firmware.bin (4168640 bytes) Detecting device... Found ESP32 on /dev/ttyACM1 Port: /dev/ttyACM1 @ 921600 baud Connecting to bootloader... Uploading stub flasher... Running stub flasher... Stub running! Connected! Flashing bootloader at 0x0 (12464 bytes)... [==============================] 100% (9/9 KB) 416 KB/s Flashing partitions at 0x8000 (3072 bytes)... [==============================] 100% (0/0 KB) 224 KB/s Flashing otadata at 0xE000 (8192 bytes)... [==============================] 100% (0/0 KB) 91 KB/s Flashing firmware at 0x10000 (4168640 bytes)... [==============================] 100% (1972/1972 KB) 95 KB/s Flash complete! Rebooting device... Done! XTCH Format Discovered in another blog post about the X4 by sigkill.sh I found a link to a converter which offer this &amp;ldquo;strange&amp;rdquo; XTCH Format. It converts epub and other formats to a 1-bit or 2-bit bitmap based image format ebook. Why do I want this you may ask? Isnt text superior? Well yes and no. The Advantage is you can select fonts you like, display chapter and progress markers, fully mix text and graphics all 100% optimized for exactly this reader. I don&amp;rsquo;t think this is great for everything but I will give it a try for longer books like this example:&#xA;The converter I used you can find at x4converter.rho.sh&#xA;Another worth mentioning use for xtch comes handy if you want to read Mangas on this tiny device have a look at cbz2xtc Manga to xtch converters.&#xA;Conclusion Finally a ebook reader I don&amp;rsquo;t forget at home because to bulky. This thing really give me no excuse not to take it. And reading a book even if it is just in 15min waiting time, is always preferable compared to another doomscrolling session on the phone. And good thing I did not mention, this thing doesn&amp;rsquo;t rip a hole in you Wallet, I sepnt about 70€ for it.&#xA;Interesting Idea is that they ship a ring magnet with it, so if you have a phone with magnetic backside or case you can just attach it to your phones back :)&#xA;</description>
    </item>
    <item>
      <title>April this and that...</title>
      <link>https://solariz.de/posts/26/04-this-and-that/</link>
      <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/04-this-and-that/</guid>
      <description>Minor Blog Extensions First I added asciinema support to better show some console stuff. ASCIInema allows to record a terminal session in text and replay it as text. So no wasteful GIF or blurry MP4 for just text. You can see the first use of it in this blog in my FZF SSH Parser Article. Then inspired by Naty I also implemented humans.txt [?] and human.json [?] standards to this blog. Im not so big in all the Indieweb standards. But specially in times of AI slob everywhere, it cant hurt to have more humans on the web.&#xA;Finally I tried to update my blog papermod Theme to the newest release, found the last official realeas is old, but there went some changes into the git repo. Unfortunately quickly found out a simple update is breaking a lot of stuff - postponed.&#xA;Laptop Change A bit sad and happy at the same time. As a Tuxedo Computers user since many years I retired my Infinity Book gen9, admittedly a bit premature, as it was only two years old. However, as I mentioned earlier, I had been experiencing some issues with it. After replacing the battery it seemed to improve, just to show problems again weeks later. Battery draining sometimes even it is shutdown, freezes mid usage, fan kicking in 100% even no cpu load. Unfortunately all those things are just happened randomly and not reproducible, very hard for a support case with customer support.&#xA;Since I work in events and handle IT needs, reliability is an absolute must. Therefore, I decided to give Framework a try. I kept the NVMe and RAM of my Tuxedo and just ordered a Framework 13. Experience so far is positive. I opted for the 13&amp;quot; Intel Ultra 5 125H. Not the fastest but my thoughts were more -hope for better battery life if not picking the most powerful CPU- and tbh. most times I don&amp;rsquo;t need that powerfull CPU anyway. I do not game on this machine and most CPU intense things I do is running cmake or rust compiler 😇 Let&amp;rsquo;s see after some weeks, may write an short article about it.&#xA;Some Linux Tools Not &amp;ldquo;big&amp;rdquo; enough to write a full article but worth to mention; Discovered some tools which I found handy to use in my normal Network IT use. Just a short rundown.&#xA;dstp A simple one purpose tool to run certain network tests against a given IP or Domain. In one glance you can see status of ping, DNS, TLS, https state. Example:&#xA;➤ dstp codeberg.org Ping: 28.751296ms DNS: resolving 217.197.84.140 SystemDNS: resolving 2a0a:4580:103f:c0de::1, 217.197.84.140 TLS: certificate is valid for 87 more days HTTPS: got 200 OK Written in go works on Linux and MacOS, available on github.com/ycd/dstp.&#xA;discovery-rs Great TUI mDNS/AVAHI browser written in Rust. Need to check what IP that stupid printer had again? See what devices are advertising services quickly. In the example Screenshot a M5 ESP:&#xA;Available in common rust repo install with cargo install discovery-rs or check github.com/JustPretender/discovery-rs&#xA;Another worth mentioning mDNS Discover alternative with a nice TUI is whosthere I just recently discovered it - pun ? :) - I think the TUI is nicer compared to discovery-rs but take this recommendation carefully because I did not test it &amp;ldquo;in the field&amp;rdquo; so can&amp;rsquo;t say how reliable it is, for now at least.&#xA;Oryx A TUI network sniffer based on eBPF, think tcpdump with a terminal GUI. Features like search and statistics make it a very nice tool to monitor network traffic. Easy to discover anomalies like arp storms. Also written in Rust. Find it at github.com/pythops/oryx&#xA;Damn Fu* Coldness This Year really sucks in terms of Health. The Weather feels like a constant up and down and so does my body. Already April and not a single month were I did not had any coughing or sore throat. Can&amp;rsquo;t wait for the Spring finally arrive, enough of all this wet and cold days.&#xA;</description>
    </item>
    <item>
      <title>FZF&#43;Fish are great in SSH-Completion</title>
      <link>https://solariz.de/posts/26/04-cli-sshcompletion-atuin/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/04-cli-sshcompletion-atuin/</guid>
      <description>What it does&amp;hellip; As said, fzf is my go to for great shell search and tui&amp;rsquo;s. Basically add a fuzzy search to everyting you can imagine. But this is not what I want to write about, today I want to show another usecase of fzf in combination with my fish shell.&#xA;I start using fzf as a SSH config tui. It allows me to type ssh + space and the basically type any hostname or alias from within my .ssh/config to autocomplete and search using up down. See the recording:&#xA;To run this asciicast without javascript, use asciinema play https://solariz.de/sshatuin.cast with Asciinema&#xA;As you see it easy matches the yyy demo entries in my ssh config, 5 of 85 entries (yeah need to tidy up) got found, even I typed far to many yyyyyy the fuzzy search kick in. As soon as I press RETURN key it select it and present me with the correct ssh command ssh yyy1234demo6 which match the host entry in my .ssh/config:&#xA;Host yyy1234demo6 Hostname yyy1234demo6.myserver.demo User root How-to Configure As mentioned, I use fish Shell. This btw. can also be run easily on Linux and MacOS. It allow you very easy to create custom functions which are a drop in call for certain events / functions in your shell. In this case the function triggers whenever i type ssh*.&#xA;To create a function in fish you just drop in a file to .config/fish/functions/ here we go:&#xA;# .config/fish/functions/ssh.fish # Parse SSH config into aligned columns: Alias, HostName, User, Port # Header is emitted as the first row so column -t aligns it with the data. # Port 22 is omitted (default, adds noise). function __ssh_config_hosts awk &amp;#39; BEGIN { printf &amp;#34;ALIAS\tHOSTNAME\tUSER\tPORT\n&amp;#34; } /^Host / { if ($2 ~ /[*?]/) { host = &amp;#34;&amp;#34;; next } if (host) printf &amp;#34;%s\t%s\t%s\t%s\n&amp;#34;, host, (hn ? hn : &amp;#34;&amp;#34;), (user ? user : &amp;#34;&amp;#34;), (port &amp;amp;&amp;amp; port != &amp;#34;22&amp;#34; ? port : &amp;#34;&amp;#34;) host = $2; hn = &amp;#34;&amp;#34;; user = &amp;#34;&amp;#34;; port = &amp;#34;&amp;#34; } { k = tolower($1) if (k == &amp;#34;hostname&amp;#34;) hn = $2 if (k == &amp;#34;user&amp;#34;) user = $2 if (k == &amp;#34;port&amp;#34;) port = $2 } END { if (host) printf &amp;#34;%s\t%s\t%s\t%s\n&amp;#34;, host, (hn ? hn : &amp;#34;&amp;#34;), (user ? user : &amp;#34;&amp;#34;), (port &amp;amp;&amp;amp; port != &amp;#34;22&amp;#34; ? port : &amp;#34;&amp;#34;) } &amp;#39; ~/.ssh/config | column -t -s (printf &amp;#39;\t&amp;#39;) end # Tab completion handler: FZF for ssh/kssh/sshp, normal completion for everything else function __fzf_complete_ssh set -l cmd (commandline -opc) set -l token (commandline -ct) if test (count $cmd) -ge 1 &amp;amp;&amp;amp; contains -- $cmd[1] ssh kssh sshp set -l host (__ssh_config_hosts \ | fzf --height 40% --reverse --query=$token --select-1 --exit-0 \ --header-lines=1 \ | awk &amp;#39;{print $1}&amp;#39;) if test -n &amp;#34;$host&amp;#34; commandline -t -- $host commandline -f repaint end return end commandline -f complete end # Tab triggers FZF for ssh, normal completion for everything else bind \t __fzf_complete_ssh # Ctrl+S as an alternative trigger anywhere on the line bind \cs __fzf_complete_ssh </description>
    </item>
    <item>
      <title>Pockethernet BER and ID Plugs</title>
      <link>https://solariz.de/posts/26/03-pockethernet-id-bert-plugs-arrived/</link>
      <pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/03-pockethernet-id-bert-plugs-arrived/</guid>
      <description>This short Article is in addition to my Pockethernet V2 Review I posted last year December.&#xA;At the time of writing the original Article there was a announced BER Loop Adapter and ID Plugs but not available at that time.&#xA;Now some time later this changed and I clicked them in the official Pockethernet store.&#xA;Brief preface; I am neither sponsored by Pockethernet nor have I received anything for free; everything here was purchased by me through normal means and is in regular use by myself.&#xA;BER Test Dongle Unlike the Pockethernet v2 Wiremap terminator which came with my Pockethernet V2 the BER Test need a new dongle which is slighly larger and offer a RJ45 port on both sides. Currently this v2 dual Terminator is available for about 19€ in the store.&#xA;But what is BER at all? BER stands for Bit Error Rate, it measures how many bits are received incorrectly compared with the total number of bits sent over a link. It is used to check the reliability of a connection is by sending a known data pattern, then comparing what arrives to count errors. No or very low BER means a healthy link, while a higher BER points to issues such as noise, bad cabling, faulty termination. In practice, some people may also say BERT, which refers to the Bit Error Rate Test or the Bit Error Rate Tester. This is where the famous LAN-Bert naming for most testers comes from :)&#xA;How is it implemented in Pockethernet ? Actually very straight forward. The Adapter have two sides, pockethernet them self write:&#xA;With the RJ45 connectors, one for Wiremap and one for the Error rate test.&#xA;The loopback end provides a passive loopback which works for cables of up to 50m / 160ft in length.&#xA;In the v2 App you find a section &amp;ldquo;Error Rate&amp;rdquo; which can be selected as test. Inside you have to chose Speed, Packet size, Payload and Number of Packets to send.&#xA;Testing for BER requires you to connect the pockethernet to the Loopback Dongle (You can see the picture at the beginning of the post) after starting the test it might take some time depending how many Packets you selected. A good starting point here is 1M packets which will still be done in under 1 Minute.&#xA;Here you see a screenshot of a succesful test as it should be, Zero Errors found. This was just on my desk with a 3m cable, I would be surprised if it showed anything else. In Real life you want to use BER to test flappy or questionable joined connections on some old whacky patchpanels while walking around nearby a bit. Yeah, I had that case already, a connection which errors everytime somebody walk past the rack.&#xA;ID Dongels ID Dongles or Wiremap Identifiers are the other small siblings you see on the picture at the top. Those are like on most little better network testers IDs to tracing ports. Basically you plug 1-8 in ports X-Y on the patchpanel in the IDF and check on the other side where you find which one. Beside giving you just an ID it will run a full Wiremap and can tell you with TDR how long the cable is and if it is straight or some funky termination approach.&#xA;Not much I need to Explain I think, it is straight forward and most of you should have worked with similar equipment to know whats the deal. Here is a screenshot how the ID (# 8 in my example) is found:&#xA;The Pack includes 2-8, for ID 1 you can use the one you received with the pockethernet unit itself or you can also use the BER Dongles wiremap end. Compared to the BER dongle, the ID pack is a bit expensive if you&amp;rsquo;re being stingy. It is about 129€ which makes it ~18 € per probe. Considering it is not only a stupid resistor which cant to a wiremap it is still not cheap but ok for me often working with it. You can also find this set on their official store.&#xA;Conclusion Why should I ramble on, it&amp;rsquo;s a solid device, it&amp;rsquo;s saved me a lot of time already.&#xA;As wrote in my original Review of the pockethernet v2, I did not liked the v1 but this one is with Bluetooth LE just so timesafing and really a thing you just have with you in the &amp;ldquo;pocket&amp;rdquo; or rucksack in my case.&#xA;Thumbs up, worth the €€€.&#xA;</description>
    </item>
    <item>
      <title>Kara-Tiles - A Kara Keep New Tab Page Addon</title>
      <link>https://solariz.de/posts/26/02-kara-keep-tiles-addon/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/02-kara-keep-tiles-addon/</guid>
      <description>What is Karakeep? Well, I&amp;rsquo;ll write an extra blog article about it soon, so in short: It&amp;rsquo;s a self-hosted open-source bookmark manager with a cloud-hosted option available. I work on multiple devices and browsers, and the integrated browser bookmark management is not ideal for my workflow. Karakeep (formerly named Hoarder) solves this problem and adds lots of useful features, such as an actual page summary, allowing me to use it not only as a bookmark manager, but also as a replacement for my &amp;ldquo;read it later&amp;rdquo; list.&#xA;What the Kara-Tiles Addon does? Well may but a video on later but for now a short Screenshot says more than 1000 words.&#xA;To Explain a bit; It access your Karakeep Bookmarks via API, cache them in your browser local storage and display a nice &amp;ldquo;old style Tiles&amp;rdquo; overview with added features like: Offline Fuzzy Sarch, Tag and domain Filters, hotkeys, favorite Bar and most used.&#xA;Availability Chrome Extension Firefox Extension Options and How to use? After Installation you need to enter your Karakeep instance URL as well as an API Key; This Key you can get in your Karakeep user settings &amp;gt; API.&#xA;What next I work with the extension everyday in all of my browsers, so be sure there will be updates to improve usability further. Nothing huge featurewise in my mind right now, I love the Principle of an Programm or extension fullfilling one purpose good instead of doing everything but mediocre.&#xA;If there is anything bothering feel free to leave me a comment below this Article. I will use this Blog Post as &amp;ldquo;Extension Webpage&amp;rdquo; Link and may update it from time to time.&#xA;Kara-Tiles Changelog I try to keep a small changelog here:&#xA;0.0.6 22 Feb &amp;lsquo;26 - First Firefox Build, grayscale images, better tag search 0.0.5 21 Feb &amp;lsquo;26 - Tiny bug fixes and UI Improvements 0.0.4 20 Feb &amp;lsquo;26 - First iteration published in chrome extension store </description>
    </item>
    <item>
      <title>Good Linux compatible USB-C Travel Hub with PD</title>
      <link>https://solariz.de/posts/26/02_usb-travel-dongle/</link>
      <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/02_usb-travel-dongle/</guid>
      <description>Not an lenghy Article, just posting my findings for whoever may need it.&#xA;The Hardware: i-tec USB-C 4K Metall Nano Docking Station Named by the bulky name i-tec USB-C 4K Metall Nano Docking Station 1x HDMI 1x GLAN 3x USB 3.0 1x SD/MicroSD 1x Audio Power Delivery 100W I found mine on Amazon. Port-wise, it has what I need. Mostly I use this kind of light dock if I work remotely or at events to attach one screen, network, mouse and have it charging my laptop. So I can quickly grab it when I need to go somewhere.&#xA;dmesg On my Fedora 43 quick dmesg log when plugging in the dock. I had plugged in 2 USB devices, an HDMI screen, network, and a 90W USB-C PD charger.&#xA;With some previous adapters, I had the issue that they were very picky about which port I used on my laptop, but this one didn&amp;rsquo;t care much.&#xA;[13572.247251] usb 3-1: new high-speed USB device number 18 using xhci_hcd [13572.337179] usb 2-1: new SuperSpeed USB device number 9 using xhci_hcd [13572.358474] usb 2-1: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice= 6.63 [13572.358485] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [13572.358488] usb 2-1: Product: USB3.1 Hub [13572.358490] usb 2-1: Manufacturer: GenesysLogic [13572.361782] hub 2-1:1.0: USB hub found [13572.362684] hub 2-1:1.0: 4 ports detected [13572.375448] usb 3-1: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice= 6.63 [13572.375453] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [13572.375454] usb 3-1: Product: USB2.1 Hub [13572.375455] usb 3-1: Manufacturer: GenesysLogic [13572.376617] hub 3-1:1.0: USB hub found [13572.376853] hub 3-1:1.0: 4 ports detected [13572.661967] usb 2-1: USB disconnect, device number 9 [13572.678131] usb 3-1.1: new high-speed USB device number 19 using xhci_hcd [13572.777167] usb 3-1.1: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11 [13572.777175] usb 3-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [13572.777177] usb 3-1.1: Product: USB 2.0 Hub [13572.778587] hub 3-1.1:1.0: USB hub found [13572.778612] hub 3-1.1:1.0: 4 ports detected [13572.877336] usb 3-1.2: new full-speed USB device number 20 using xhci_hcd [13572.979025] usb 3-1.2: New USB device found, idVendor=1e7d, idProduct=319c, bcdDevice= 1.00 [13572.979038] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [13572.979041] usb 3-1.2: Product: ROCCAT Isku [13572.979043] usb 3-1.2: Manufacturer: ROCCAT [13573.884908] usb 2-1: new SuperSpeed USB device number 10 using xhci_hcd [13573.905813] usb 2-1: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice= 6.63 [13573.905821] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [13573.905823] usb 2-1: Product: USB3.1 Hub [13573.905825] usb 2-1: Manufacturer: GenesysLogic [13573.908298] hub 2-1:1.0: USB hub found [13573.909336] hub 2-1:1.0: 4 ports detected [13574.192045] usb 2-1.1: new SuperSpeed USB device number 11 using xhci_hcd [13574.211934] usb 2-1.1: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 2.00 [13574.211939] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [13574.211941] usb 2-1.1: Product: AX88179B [13574.211942] usb 2-1.1: Manufacturer: ASIX [13574.211943] usb 2-1.1: SerialNumber: 0034298FXXXXXX [13574.264676] cdc_ncm 2-1.1:2.0: MAC-Address: 98:fc:84:XX:XX:XX [13574.264687] cdc_ncm 2-1.1:2.0: setting rx_max = 16384 [13574.265125] cdc_ncm 2-1.1:2.0: setting tx_max = 16384 [13574.265667] cdc_ncm 2-1.1:2.0 eth1: register &amp;#39;cdc_ncm&amp;#39; at usb-0000:00:0d.0-1.1, CDC NCM (NO ZLP), 98:fc:84:xx:xx:xx [13574.270671] usb 3-1.3: new full-speed USB device number 22 using xhci_hcd [13574.376775] usb 3-1.3: New USB device found, idVendor=0461, idProduct=4e9d, bcdDevice= 2.12 [13574.376787] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [13574.376789] usb 3-1.3: Product: Alienware 610M [13574.376792] usb 3-1.3: Manufacturer: DELL For the Resolution it can do:&#xA;1x HDMI up to 4K/60 Hz or 1x HDMI up to 1080p/120 Hz&#xA;For my 2nd Screen this is fine for me, 4k 100hz would be …</description>
    </item>
    <item>
      <title>Signals encrypted Storage on Linux Desktops!</title>
      <link>https://solariz.de/posts/26/01_signal-kde-encrypted-key-kwalletd/</link>
      <pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/01_signal-kde-encrypted-key-kwalletd/</guid>
      <description>signal on Linux offer the way to store your encryption key in your system walled (encrypted) or local as plain-text unencrypted. Actually if you use a full disk encryption a clean text key isn&amp;rsquo;t a huge issue. But nevertheless to give it a bit more secure feeling I wanted to use KWalletD to store the signal key encrypted.&#xA;Signal now even prompt you with a question if you want to do so or not. So easy I thought, quickly enabled it; But to verify I took a look at the logfile and found; It is actually trying to use kwallt6 but can&amp;rsquo;t.&#xA;The problematic Log The Ugly is; if you dont look at the logs and config, you actually never know if it is encrypted or not. There is no Warning in the GUI that it couldnt save encrypted key or access kwallet :(&#xA;@Signal Why not display an warning as banne or before login?&#xA;Debug: Using password store: kwallet6 ... [2:0121/125647.169397:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd6: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown [2:0121/125647.169447:ERROR:components/os_crypt/sync/kwallet_dbus.cc:113] Error contacting kwalletd6 (isEnabled) [2:0121/125647.170338:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown [2:0121/125647.170350:ERROR:components/os_crypt/sync/kwallet_dbus.cc:82] Error contacting klauncher to start kwalletd6 [2:0121/125647.171088:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.kde.KWallet.close: object_path= /modules/kwalletd6: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown [2:0121/125647.171103:ERROR:components/os_crypt/sync/kwallet_dbus.cc:408] Error contacting kwalletd6 (close) Check it&amp;hellip; You can check yourself by opening your signal user dir, normal something like:&#xA;/home/username/.var/app/org.signal.Signal/config/Signal&#xA;There you should find a config.json, if inside you find &amp;quot;key&amp;quot;: &amp;quot;12345678....&amp;quot; variable you know it&amp;rsquo;s not using the system wallet.&#xA;A good config should have only &amp;quot;encryptedKey&amp;quot;: &amp;quot;.....&amp;quot; not key.&#xA;I hope in the future Signal automatically remove the plaintext key if a valid encrypted one is found on startup.&#xA;Reason and fix&amp;hellip; The Problem is acutally caused by the default flatpak permissions of Signal. To communicate with KwalletD it need Session bus access but this permission is missing in the default flatpak settings. To enable it go to your Settings &amp;gt; Application Permissions &amp;gt; Flatpak &amp;gt; Signal and enable session bus access:&#xA;Afterwards restart signal in the terminal and it should not show those errors from before. Finally close signal again and remove the plaintext key variable from the config file mentioned above.&#xA;Now you should be good.&#xA;Remember; Kwallet also does not protect you from people having access to your computer. If someone have full access to your device no key / password is save. So always lock your Screen !&#xA;</description>
    </item>
    <item>
      <title>Tuxedo Laptop Battery acting strange - replaced</title>
      <link>https://solariz.de/posts/26/01_tuxedo_laptop_battery_replaced/</link>
      <pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/01_tuxedo_laptop_battery_replaced/</guid>
      <description>Currently I use as my productivity working device a Tuxedo Laptop, the Infinity book pro 14&amp;quot;. It is about 1.5yrs old and started acting up in december when it comes to battery. The Battery sometimes was overnight discharging to 0% even the laptop was powered off.&#xA;Also it showed a reduced maximal capacity. In Linux you can check your battery stats quickly with upower -b the old battery looked like this:&#xA;native-path: BAT0 vendor: OEM model: standard power supply: yes updated: Wed 21 Jan 2026 02:01:39 PM CET (7 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: fully-charged warning-level: none energy: 64.68 Wh energy-empty: 0 Wh energy-full: 64.68 Wh energy-full-design: 80.08 Wh voltage-min-design: 15.4 V capacity-level: Full energy-rate: 0 W voltage: 16.795 V charge-cycles: 69 percentage: 100% capacity: 80.7692% technology: lithium-ion The important thing here is energy-full: 64.68 Wh which is way too low; it should be ~80 Wh. So a loss of 20% capacity in only 69 charge cycles. Well, I am honest-I mostly use the laptop docked on constant power. But when I go to events, I need to rely on it. The biggest issue, besides the smaller capacity, was this weird random discharge, so after checking everything, even reinstalling another OS for testing purposes, it still didn&amp;rsquo;t fix that. So my rough guess was the battery.&#xA;Luckily the people at Tuxedo Computers did not hesitate long and also did not require me to send in the laptop (which is a no-go for me because daily need) - they sent me an advanced replacement battery.&#xA;So I exchanged the old one with the new one. This I love about the Tuxedo laptops, they&amp;rsquo;re so easy to access. 6 screws, and the full back pops open. Unfortunately, I needed to remove the M2 Drive to acces one of the two more screws for the battery, but that&amp;rsquo;s it - old one out, new one in.&#xA;After changing to the new battery the upower -b looked much better again:&#xA;native-path: BAT0 vendor: OEM model: standard power supply: yes updated: Thu 22 Jan 2026 08:39:56 AM CET (22 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: fully-charged warning-level: none energy: 80.08 Wh energy-empty: 0 Wh energy-full: 80.08 Wh energy-full-design: 80.08 Wh voltage-min-design: 15.4 V capacity-level: Full energy-rate: 0 W voltage: 16.654 V charge-cycles: N/A percentage: 100% capacity: 100% technology: lithium-ion And surprise, after night the battery did NOT discharge itself into nirvana. I left it with 100%, powered it off, and when I powered it on this morning it was still 100% as it should be.&#xA;Yay, happy battery again.&#xA;</description>
    </item>
    <item>
      <title>Pixelfed Integration for hugo based /photos Page</title>
      <link>https://solariz.de/posts/26/01_photos-hugo-blog-from-pixelfed/</link>
      <pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/26/01_photos-hugo-blog-from-pixelfed/</guid>
      <description>Recently we had the Digital Independence Day what better Reason could one have to rethink how I use published photos. I actually wanted to integrate them better into my blog already since long. But Digital Independence Day was a good kick in the ass to finally quit Instagram for real. I&amp;rsquo;m not here to start a big moral talk&amp;hellip; let&amp;rsquo;s focus on the Tech Aspects of what I did.&#xA;As you may noted we now have the new Menu entry /photos which offers a small Gallery. Instead of integrating another workflow which is doomed to fail because of my lazyness, I need something easy usable from my Android phone. So I had my pixelfed account laying there, mostly collecting dust. Why not start using it again and integrate it into the blog. This post is about how I wired this up.&#xA;What I wanted (requirements) I only post pictures to pixelfed, no markdown, no ftp not manual sync or upload process Pull new Pixelfed posts automatically (incremental, not re-downloading everything) Only public posts, only images (no videos, no private stuff) Hugo-friendly structure: each post becomes a page bundle Gallery view with: thumbnails grid lightbox modal responsive images (srcset) some metadata and a link back to Pixelfed During build, generate: square thumbnails watermarked bigger sizes Integrate into my deployment process The Hugo photos page Let us start with the simple stuff, creating /photos.&#xA;I added a dedicated /photos section and a custom list template. A 3-column grid layout with Yearly horizontal dividers would be best and easy to get responsive. The Structure looks like this:&#xA;├── assets/ │ ├── css/ │ │ └── extended/ │ │ └── photos.css Gallery &amp;amp; lightbox styles │ └── watermark.png Used for image watermarking │ ├── layouts/ │ └── photos/ │ └── list.html Gallery template with lightbox | └── content/ └── photos/ ├── _index.md Gallery page frontmatter └── YYYYMMDD-HHMMSS/ photo directories, one per post ├── photo.jpg Actual Photo └── index.md Photo metadata frontmatter ok, as you can see this is actually not that much. The /content/photos/YYMMDD-HHMMSS is later auto-generated by a python script which pulls from pixelfed. All other things are static, add once and forget :)&#xA;_index.md --- title: &amp;#34;Photos&amp;#34; layout: &amp;#34;photos&amp;#34; summary: &amp;#34;Photo gallery&amp;#34; --- Lorem Ipsum photos.css To keep the post a bit more clean I posted my css file in a gist here to not spam the long CSS here.&#xA;list.html This is where the actual &amp;ldquo;magic&amp;rdquo; happens. In my post about how I create my OG Images automatically, I learned a lot about hugos capabilities in image manipulation. So why not use it to do my gallery thumbnails and final images?&#xA;{{- define &amp;#34;main&amp;#34; }} &amp;lt;header class=&amp;#34;page-header&amp;#34;&amp;gt; &amp;lt;h1&amp;gt;{{ .Title }}&amp;lt;/h1&amp;gt; {{- if .Content }} &amp;lt;div class=&amp;#34;post-description&amp;#34;&amp;gt; {{ .Content }} &amp;lt;/div&amp;gt; {{- end }} &amp;lt;/header&amp;gt; &amp;lt;div class=&amp;#34;photo-gallery&amp;#34; itemscope itemtype=&amp;#34;https://schema.org/ImageGallery&amp;#34;&amp;gt; {{- range (.Pages.GroupByDate &amp;#34;2006&amp;#34;) }} &amp;lt;div class=&amp;#34;year-section&amp;#34;&amp;gt; &amp;lt;h2 class=&amp;#34;year-header&amp;#34;&amp;gt;{{ .Key }}&amp;lt;/h2&amp;gt; &amp;lt;div class=&amp;#34;year-photos&amp;#34;&amp;gt; {{- range .Pages.ByDate.Reverse }} {{- $image := .Resources.GetMatch (.Params.image) }} {{- if $image }} {{/* Generate square thumbnail (no watermark) */}} {{- $thumb := $image.Fill &amp;#34;320x320 Center MitchellNetravali webp q72&amp;#34; }} {{/* Get watermark PNG */}} {{- $watermark := resources.Get &amp;#34;watermark.png&amp;#34; }} {{/* Generate large version with watermark overlay */}} {{- $largeTmp := $image.Fit &amp;#34;1400x1400 MitchellNetravali&amp;#34; }} {{- $large := $largeTmp.Filter (images.Overlay $watermark (sub $largeTmp.Width 151) (sub $largeTmp.Height 43)) }} {{- $large = $large.Process &amp;#34;webp q88&amp;#34; }} {{/* Generate small version with watermark overlay */}} {{- $smallTmp := $image.Fit &amp;#34;740x740 MitchellNetravali&amp;#34; }} {{- $small := $smallTmp.Filter (images.Overlay $watermark (sub $smallTmp.Width 151) (sub $smallTmp.Height 43)) }} {{- $small = $small.Process &amp;#34;webp q84&amp;#34; }} {{- …</description>
    </item>
    <item>
      <title>Win git - Could not read from remote repository.</title>
      <link>https://solariz.de/posts/25/windows-git-ssh-agent/</link>
      <pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/25/windows-git-ssh-agent/</guid>
      <description>Fixing Git Clone SSH Agent on Windows Last days I run Git on Windows for a quick upload of something, tried cloning the private repo over SSH, and it bombed out with a permission denied error. Even though a plain SSH test to GitHub worked fine.&#xA;As said, normally I work on my Linux Laptop but during Holidays I &amp;ndash;had&amp;ndash; to build some csharp stuff in windows. So old pains came back :)&#xA;fatal: Could not read from remote repository. Here&amp;rsquo;s what I saw:&#xA;git clone git@github.com:solariz/xxxxxxx.git test Cloning into &amp;#39;test&amp;#39;... git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights But verifying SSH alone:&#xA;ssh -T git@github.com Hi solariz! You&amp;#39;ve successfully authenticated, but GitHub does not provide shell access. That checks out, so why the clone failure? If I check ssh-add -L it correctly showed me all of my keys in the agent.&#xA;Turns out Git on Windows was using some wrong SSH client by default. Fixed it by pointing Git to the built-in OpenSSH.&#xA;git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe Retried the clone:&#xA;git clone git@github.com:solariz/xxxxxxx.git test Cloning into &amp;#39;test&amp;#39;... remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) Receiving objects: 100% (3/3), done. It works now.&#xA;git windows commit Editor While at it, I usually skip vim in Windows shells since I don&amp;rsquo;t have it installed. Wanted to set Sublime Text as my Git editor instead.&#xA;Tried this:&#xA;git config --global core.editor &amp;#34;C:/Program Files/Sublime Text/subl.exe -w&amp;#34; But spaces in the path messed it up. Escaping didn&amp;rsquo;t help either. Quick fix: Add the Sublime folder to your Windows PATH, then:&#xA;git config --global core.editor &amp;#34;subl.exe -w&amp;#34; Now Git opens Sublime for commits or whatever, no hassle. Small tweaks like these save time when you&amp;rsquo;re jumping between systems.&#xA;</description>
    </item>
    <item>
      <title>Star Citizen 4.5 Vulkan Crash on Start-Up</title>
      <link>https://solariz.de/posts/25/starcitizen-4-5-vulkan-crash-startup/</link>
      <pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://solariz.de/posts/25/starcitizen-4-5-vulkan-crash-startup/</guid>
      <description>With today&amp;rsquo;s released Patch 4.5, Star Citizen switched to using the Vulkan renderer by default. This is a big step forward. But unfortunately, for some players, the game simply does not start anymore. You run the launcher, and then the game immediately crashes.&#xA;I ran into this myself, and eventually, after trying everything, I found I got it working.&#xA;Also a recommendation after you got Vulkan running I wrote about best Performance Settings for Star Citizen Vulkan in my citizen-history blog.&#xA;NVIDIA User on AMD CPU I have an RTX 5080 on a Ryzen 9800X3D; when the game starts, it immediately crashes. In the LIVE Directory, you find a Game.log file showing clearly that the error is the initialization of the Vulkan Renderer:&#xA;Failed to create Vulkan logical device&#xA;GPUDeviceVulkan.cpp:825&#xA;vkCreateDevice: Failed to create device chain&#xA;STATUS_CRYENGINE_FATAL_ERROR (0x2BADF00D)&#xA;Game.log &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - Device (NVIDIA GeForce RTX 5080) [GPU (Discrete)] ID:11266 &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - Driver 591.59.0.0 &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - VulkanAPI 1.4.325 &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - Supports 6 Queue Families &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - Device (NVIDIA GeForce RTX 5080) valid GPU &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - Device (AMD Radeon(TM) Graphics) [GPU (Integrated)] ID:5056 &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - Driver 2.0.353 &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - VulkanAPI 1.4.315 &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; VulkanMetric - Supports 5 Queue Families &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK] Chosen Vulkan GPU Device (NVIDIA GeForce RTX 5080) Driver Version (591.59.0.0) Vulkan API (1.4.325) &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK] Current Device: (NVIDIA GeForce RTX 5080) VendorID: (4318) &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK] Current Device: (NVIDIA GeForce RTX 5080) VendorID: (4318) &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK_INFO] vkCreateDevice layer callstack setup to: &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK_INFO] &amp;lt;Application&amp;gt; &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK_INFO] || &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK_INFO] &amp;lt;Loader&amp;gt; &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK_INFO] || &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK_INFO] &amp;lt;Device&amp;gt; &amp;lt;2025-12-18T16:56:32.471Z&amp;gt; [VK_INFO] Using &amp;#34;NVIDIA GeForce RTX 5080&amp;#34; with driver: &amp;#34;C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4646b47d9477048e\.\nvoglv64.dll&amp;#34; &amp;lt;2025-12-18T16:56:32.506Z&amp;gt; GPU benchmark: 14.52 ms (Adapter index: 0) &amp;lt;2025-12-18T16:56:32.622Z&amp;gt; [VK_ERROR] terminator_CreateDevice: Failed in ICD C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4646b47d9477048e\.\nvoglv64.dll vkCreateDevice call &amp;lt;2025-12-18T16:56:32.622Z&amp;gt; [VK_ERROR] vkCreateDevice: Failed to create device chain. As you see in the above Log I even tried to revert the NVIDIA Driver to an older Version 591.59 which did not helped.&#xA;The Ugly Crash:&#xA;Now I run all the common things you do: driver uninstall, clean reinstall, game repair, config delete, default settings, Vulkan SDK, &amp;hellip; nothing helped for me.&#xA;What really helped for me To skip the blabla, it was something absolutely not obvious to me. As said, everything I tried didn&amp;rsquo;t work, so you get desperate and you try all the stuff you hear. Ensure that ASLR IS TURNED ON:&#xA;For me it was a combination of Exploit Protection ASLR and Custom Application Profile.&#xA;Open your Windows Settings and go to App &amp;amp; browser control at the bottom, open the Exploit protection settings First, ensure that force randomization for images (Mandatory ASLR) is set to &amp;ldquo;On by default&amp;rdquo; Also, the next Option Randomize memory allocations to &amp;ldquo;On by default&amp;rdquo; This was the case for me already before, but above you find a Tab &amp;ldquo;Program settings&amp;rdquo; which has overrides for some programs. Open the Program Settings Tab and check carefully if Star Citizen is in there somewhere; if so&amp;hellip; remove the entry. Beside that before I did a DDU + NV Clean install of …</description>
    </item>
  </channel>
</rss>
