Compare commits
	
		
			9 Commits
		
	
	
		
			416a9be424
			...
			fa78ccec80
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fa78ccec80 | |||
| e4e432790c | |||
| 2eb833436e | |||
| f14e379996 | |||
| a02e3eb569 | |||
| 664b195cf3 | |||
| c08ae199f9 | |||
| e1ed459c59 | |||
| 2f7506fbad | 
							
								
								
									
										41
									
								
								.devcontainer/devcontainer.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								.devcontainer/devcontainer.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | // For format details, see https://aka.ms/devcontainer.json. For config options, see the | ||||||
|  | // README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose | ||||||
|  | { | ||||||
|  | 	"name": "Existing Docker Compose (Extend)", | ||||||
|  |  | ||||||
|  | 	// Update the 'dockerComposeFile' list if you have more compose files or use different names. | ||||||
|  | 	// The .devcontainer/docker-compose.yml file contains any overrides you need/want to make. | ||||||
|  | 	"dockerComposeFile": [ | ||||||
|  | 		"../docker-compose.yml", | ||||||
|  | 		"docker-compose.yml" | ||||||
|  | 	], | ||||||
|  |  | ||||||
|  | 	// The 'service' property is the name of the service for the container that VS Code should | ||||||
|  | 	// use. Update this value and .devcontainer/docker-compose.yml to the real service name. | ||||||
|  | 	"service": "server", | ||||||
|  |  | ||||||
|  | 	// The optional 'workspaceFolder' property is the path VS Code should open by default when | ||||||
|  | 	// connected. This is typically a file mount in .devcontainer/docker-compose.yml | ||||||
|  | 	"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}" | ||||||
|  |  | ||||||
|  | 	// Features to add to the dev container. More info: https://containers.dev/features. | ||||||
|  | 	// "features": {}, | ||||||
|  |  | ||||||
|  | 	// Use 'forwardPorts' to make a list of ports inside the container available locally.> | ||||||
|  | 	// "forwardPorts": [], | ||||||
|  |  | ||||||
|  | 	// Uncomment the next line if you want start specific services in your Docker Compose config. | ||||||
|  | 	// "runServices": [], | ||||||
|  |  | ||||||
|  | 	// Uncomment the next line if you want to keep your containers running after VS Code shuts down. | ||||||
|  | 	// "shutdownAction": "none", | ||||||
|  |  | ||||||
|  | 	// Uncomment the next line to run commands after the container is created. | ||||||
|  | 	// "postCreateCommand": "cat /etc/os-release", | ||||||
|  |  | ||||||
|  | 	// Configure tool-specific properties. | ||||||
|  | 	// "customizations": {}, | ||||||
|  |  | ||||||
|  | 	// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root. | ||||||
|  | 	// "remoteUser": "devcontainer" | ||||||
|  | } | ||||||
							
								
								
									
										26
									
								
								.devcontainer/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.devcontainer/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | version: '3.8' | ||||||
|  | services: | ||||||
|  |   # Update this to the name of the service you want to work with in your docker-compose.yml file | ||||||
|  |   server: | ||||||
|  |     # Uncomment if you want to override the service's Dockerfile to one in the .devcontainer  | ||||||
|  |     # folder. Note that the path of the Dockerfile and context is relative to the *primary*  | ||||||
|  |     # docker-compose.yml file (the first in the devcontainer.json "dockerComposeFile" | ||||||
|  |     # array). The sample below assumes your primary file is in the root of your project. | ||||||
|  |     # | ||||||
|  |     # build: | ||||||
|  |     #   context: . | ||||||
|  |     #   dockerfile: .devcontainer/Dockerfile | ||||||
|  |  | ||||||
|  |     volumes: | ||||||
|  |       # Update this to wherever you want VS Code to mount the folder of your project | ||||||
|  |       - ..:/workspaces:cached | ||||||
|  |  | ||||||
|  |     # Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust. | ||||||
|  |     # cap_add: | ||||||
|  |     #   - SYS_PTRACE | ||||||
|  |     # security_opt: | ||||||
|  |     #   - seccomp:unconfined | ||||||
|  |  | ||||||
|  |     # Overrides default command so things don't shut down after the process ends. | ||||||
|  |     # command: sleep infinity | ||||||
|  |   | ||||||
							
								
								
									
										12
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | # To get started with Dependabot version updates, you'll need to specify which | ||||||
|  | # package ecosystems to update and where the package manifests are located. | ||||||
|  | # Please see the documentation for more information: | ||||||
|  | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||||||
|  | # https://containers.dev/guide/dependabot | ||||||
|  |  | ||||||
|  | version: 2 | ||||||
|  | updates: | ||||||
|  |  - package-ecosystem: "devcontainers" | ||||||
|  |    directory: "/" | ||||||
|  |    schedule: | ||||||
|  |      interval: weekly | ||||||
| @@ -13,7 +13,7 @@ pygmentsUseClasses  = true | |||||||
|  |  | ||||||
| rssLimit = 10 | rssLimit = 10 | ||||||
|  |  | ||||||
| copyright = "2024 Daniel Kraus" | copyright = "2024-2025 Daniel Kraus" | ||||||
| enableEmoji = true | enableEmoji = true | ||||||
|  |  | ||||||
| [permalinks] | [permalinks] | ||||||
|   | |||||||
| @@ -22,16 +22,25 @@ calculator back in the 1980's. | |||||||
|  |  | ||||||
| ### [ggap-ev.org](https://ggap-ev.org) | ### [ggap-ev.org](https://ggap-ev.org) | ||||||
|  |  | ||||||
|  | GGAP is a registered charity in Germany. This NGO uses donated money to fund the | ||||||
|  | vocational training of young adults on the Philippines who would otherwise have | ||||||
|  | to "earn" their living in an unlawful way. | ||||||
|  |  | ||||||
| {{< figure src="ggap-ev.png">}} | {{< figure src="ggap-ev.png">}} | ||||||
|  |  | ||||||
| ### [nephrowiki.de](https://nephrowiki.de) | ### [nephrowiki.de](https://nephrowiki.de) | ||||||
|  |  | ||||||
|  | NephroWiki is a closed wiki system that has been up and running since 2011. | ||||||
|  |  | ||||||
| {{< figure src="nephrowiki.png">}} | {{< figure src="nephrowiki.png">}} | ||||||
|  |  | ||||||
| ## Portfolio -- software | ## Portfolio -- software | ||||||
|  |  | ||||||
| ### [Daniel's XL Toolbox](https://xltoolbox.net) | ### [Daniel's XL Toolbox](https://xltoolbox.net) | ||||||
|  |  | ||||||
|  | Daniel's XL Toolbox is an add-in for Excel that assists with data analysis | ||||||
|  | and visualization. | ||||||
|  |  | ||||||
| {{< figure src="xltoolbox.png">}} | {{< figure src="xltoolbox.png">}} | ||||||
|  |  | ||||||
| Even though I haven't been able to work on this project for quite some time, | Even though I haven't been able to work on this project for quite some time, | ||||||
| @@ -50,7 +59,7 @@ reference articles from [Pubmed](https://pubmed.gov) by PMID. | |||||||
|  |  | ||||||
| ### Github Star History | ### Github Star History | ||||||
|  |  | ||||||
| [](https://star-history.com/#bovender/LinkTitles&bovender/xltoolbox&bovender/pubmedparser&Date) | [![Star History Chart][sh-img]][sh-link] | ||||||
|  |  | ||||||
| ## Server administration | ## Server administration | ||||||
|  |  | ||||||
| @@ -59,3 +68,7 @@ This includes running a mail and an IMAP server, hosting my own | |||||||
| [Nextcloud](https://nextcloud.com) and [Gitea](https://gitea.io) instances, | [Nextcloud](https://nextcloud.com) and [Gitea](https://gitea.io) instances, | ||||||
| [Mastodon for Nephrology](https://neph.social) | [Mastodon for Nephrology](https://neph.social) | ||||||
| and more. Almost all of my services are dockerized. | and more. Almost all of my services are dockerized. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | [sh-img]: https://api.star-history.com/svg?repos=bovender/linktitles,bovender/pubmedparser,bovender/imapcli,bovender/xltoolbox&type=Date | ||||||
|  | [sh-link]: https://www.star-history.com/#bovender/linktitles&bovender/pubmedparser&bovender/imapcli&bovender/xltoolbox&Date | ||||||
							
								
								
									
										
											BIN
										
									
								
								content/posts/2025/install-pynitrokey/IMGP0069.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								content/posts/2025/install-pynitrokey/IMGP0069.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 213 KiB | 
							
								
								
									
										58
									
								
								content/posts/2025/install-pynitrokey/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								content/posts/2025/install-pynitrokey/index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | |||||||
|  | --- | ||||||
|  | title: Install pynitrokey on Fedora 41 | ||||||
|  | description: Here's how I installed pynitrokey on my Fedora 41 KDE laptop, resolving missing dependencies. | ||||||
|  | date: 2025-03-30T10:53:35+0100 | ||||||
|  | draft: false | ||||||
|  | # ShowLastmod: true | ||||||
|  | toc: false | ||||||
|  | scrolltotop: true | ||||||
|  | images: [] | ||||||
|  | tags: | ||||||
|  |   - security | ||||||
|  |   - Linux | ||||||
|  |   - Fedora | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | {{< figure src="IMGP0069.jpg" | ||||||
|  |     alt="My Nitrokey 3A mini" | ||||||
|  |     title="My Nitrokey 3A mini on the right side of the picture" >}} | ||||||
|  |  | ||||||
|  | I use [Yubikey][]s and [Nitrokey][]s as a second factor during 2FA | ||||||
|  | authentication. | ||||||
|  |  | ||||||
|  | My experiences with Nitrokey devices have been mixed. Currently my 3A mini | ||||||
|  | stopped working. I wanted to investigate what's going on, only to find out that | ||||||
|  | the commandline tool `nitropy` no longer worked on my machine either! :-( | ||||||
|  |  | ||||||
|  | Here's how I got it to work again. I'm a Python noob, so maybe there's a better | ||||||
|  | way to install the dependencies. The operating system is Fedora 41. | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | sudo dnf install systemd-devel python3-devel | ||||||
|  | pipx install pynitrokey | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Afterwards I was greeted with this: | ||||||
|  |  | ||||||
|  | ```text | ||||||
|  | $ nitropy nk3 test | ||||||
|  | Command line tool to interact with Nitrokey devices 0.8.1 | ||||||
|  | Critical error: | ||||||
|  | No connected NK3 devices found | ||||||
|  |  | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | Critical error occurred, exiting now | ||||||
|  | Unexpected? Is this a bug? Would you like to get support/help? | ||||||
|  | - You can report issues at: https://support.nitrokey.com/ | ||||||
|  | - Writing an e-mail to support@nitrokey.com is also possible | ||||||
|  | - Please attach the log: '/tmp/nitropy.log._p6mpa3e' with any support/help request! | ||||||
|  | - Please check if you have udev rules installed: https://docs.nitrokey.com/nitrokeys/nitrokey3/firmware-update#troubleshooting-linux | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | I made sure that I had the abovementioned `udev` rules in place. The key is not | ||||||
|  | detected by any system, be it my personal Linux laptop or any Windows machine | ||||||
|  | that I could access. [D'oh][]! | ||||||
|  |  | ||||||
|  | [Nitrokey]: https://www.nitrokey.com | ||||||
|  | [Yubikey]: https://www.yubico.com | ||||||
|  | [d'oh]: https://en.wikipedia.org/wiki/D'oh! | ||||||
							
								
								
									
										80
									
								
								content/posts/2025/media-mounts-at-dm/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								content/posts/2025/media-mounts-at-dm/index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | |||||||
|  | --- | ||||||
|  | title: "[In German] USB-Sticks in den Fotostationen von dm" | ||||||
|  | description: | ||||||
|  | date: 2025-03-22T22:20:07+0100 | ||||||
|  | draft: false | ||||||
|  | # ShowLastmod: true | ||||||
|  | toc: false | ||||||
|  | scrolltotop: true | ||||||
|  | images: [] | ||||||
|  | tags: | ||||||
|  |   - German | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | (This post is in German.) | ||||||
|  |  | ||||||
|  | In den letzten Wochen habe ich ein paar Mal Fotoabzüge benötigt und bin mit | ||||||
|  | einem USB-Stick zur örtlichen Drogerie. Zu meiner Überraschung konnten keinerlei | ||||||
|  | Bilder auf dem Stick gefunden werden. Inzwischen habe ich das mit mehreren | ||||||
|  | Sticks und an verschiedenen Foto-Stationen (aber immer in demselben Laden) | ||||||
|  | probiert, Fehlanzeige. Interessanterweise hat es mit einer SD-Karte problemlos | ||||||
|  | geklappt. | ||||||
|  |  | ||||||
|  | Offenbar bin ich weder der erste noch der einzige, der dieses Problem schon | ||||||
|  | einmal hatte, es gibt zu einem ähnlichen Problem mit einer CEWE-Fotostation | ||||||
|  | einen [Forumsthread][]. | ||||||
|  |  | ||||||
|  | In diesem Blog-Beitrag sammele ich einfach mal meine Beobachtungen, vielleicht | ||||||
|  | hilft es ja einmal jemandem. Von Mal zu Mal werde ich dies updaten. | ||||||
|  |  | ||||||
|  | ## Beispiele für "geht" und "geht nicht" | ||||||
|  |  | ||||||
|  | Ich hatte zuletzt zwei Speichermedien dabei, einen USB-Stick und eine SD-Karte: | ||||||
|  |  | ||||||
|  | ```plain | ||||||
|  | $ lsblk -f | ||||||
|  | NAME        FSTYPE FSVER LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINTS | ||||||
|  | sda | ||||||
|  | └─sda1      exfat  1.0   [REDACTED]  E7F3-FDF9                             114,5G     0% /run/media/daniel/[REDACTED] | ||||||
|  | sdb | ||||||
|  | └─sdb1      exfat  1.0               7FDE-A701                               119G     0% /run/media/daniel/7FDE-A701 | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | `sda` ist ein USB-Stick, den ich häufig in anderen Zusammenhängen im Einsatz | ||||||
|  | habe. `sdb` ist eine ältere SD-Karte. Beide haben nominell 128 GB Kapazität, und | ||||||
|  | beide haben eine Partitionstabelle im herkömmlichen MSDOS-Format und eine | ||||||
|  | Primärpartition, die mit dem Dateisystem EXFAT formatiert ist. Das Dateisystem | ||||||
|  | auf dem USB-Stick hat ein Label, welches aus wenigen Buchstaben ohne | ||||||
|  | Sonderzeichen besteht. | ||||||
|  |  | ||||||
|  | Auf beiden Speichermedien hatte ich denselben Foto-Ordner kopiert, mit etwa | ||||||
|  | einer Handvoll Fotos. Die Bilder lagen also auf beiden Medien in einem | ||||||
|  | Unterorder. | ||||||
|  |  | ||||||
|  | **Interessanterweise wurden die Bilder auf der SD-Karte gefunden, die Bilder auf | ||||||
|  | dem USB-Stick jedoch nicht.** | ||||||
|  |  | ||||||
|  | Hier meine Beobachtungen im einzelnen, denn entsprechende Überlegungen findet | ||||||
|  | man auch im Netz: | ||||||
|  |  | ||||||
|  | ### Dateisystem | ||||||
|  |  | ||||||
|  | Bevor ich es sowohl mit dem Stick als auch mit der SD-Karte probierte, habe ich | ||||||
|  | folgende Dateisysteme auf dem USB-Stick ausprobiert: | ||||||
|  |  | ||||||
|  | - EXFAT | ||||||
|  | - FAT32 | ||||||
|  |  | ||||||
|  | Mit beiden Dateisystemen wurden keine Bilder gefunden. | ||||||
|  |  | ||||||
|  | ### Root-Verzeichnis vs. Unterverzeichnis | ||||||
|  |  | ||||||
|  | Es hat keinen Unterschied gemacht, ob ich die Bilder (JPG-Dateien) im | ||||||
|  | Wurzelverzeichnis oder in einem Unterordner auf dem Stick hatte. | ||||||
|  |  | ||||||
|  | ### Verschiedene Terminals | ||||||
|  |  | ||||||
|  | Ich habe meinen USB-Stick an verschiedenen Foto-Terminals ausprobiert, an keinem | ||||||
|  | von ihnen wurden die Bilder gefunden. | ||||||
|  |  | ||||||
|  | [Forumsthread]: https://www.cewe-community.com/forum/fb/viewtopic.php?t=13036&p=135162 | ||||||
| @@ -1,15 +1,17 @@ | |||||||
| services: | services: | ||||||
|   build: |   build: | ||||||
|     image: hugomods/hugo:latest |     image: hugomods/hugo:ci | ||||||
|     command: hugo  |     command: hugo  | ||||||
|     volumes: |     volumes: | ||||||
|       - ".:/src" |       - ".:/src" | ||||||
|     user: 1000:1000 |     user: 1000:1000 | ||||||
|   server: |   server: | ||||||
|     image: hugomods/hugo:latest |     image: hugomods/hugo:ci | ||||||
|     command: server --buildDrafts --buildFuture |     command: server --buildDrafts --buildFuture | ||||||
|     volumes: |     volumes: | ||||||
|       - ".:/src" |       - ".:/src" | ||||||
|     ports: |     ports: | ||||||
|       - "127.0.0.1:1313:1313" |       - "127.0.0.1:1313:1313" | ||||||
|     user: 1000:1000 |     user: 1000:1000 | ||||||
|  |     environment: | ||||||
|  |       - TZ=Europe/Berlin | ||||||
|   | |||||||
 Submodule themes/hermit-v2 updated: 8e7eb9ad36...e56a2653d1
									
								
							
		Reference in New Issue
	
	Block a user