RSSAmplifier

Blog

jaseg.de on Home

Recent content in jaseg.de on Home

jaseg.deRSS feed ↗34 posts

Latest posts

Tracking down secret leakage through SIMD registers




 During my work on the ashen project's linux kernel components, I've found secrets leaking into RAM dumps taken long after they should have been deleted by userspace. It turned out that SIMD-accelerated memcpy on x86-64 and ARM64 leaves residual data in SIMD registers, which will then eventually find their way into kernel memory during context switching. 


Arduino Uno Q Kernel JTAG Debugging




 As part of my work on the Ashen project, I'm currently doing some Linux kernel work. Since the AI bubble made normal
Raspberry Pis unaffordable, I was shopping around for another, less expensive dev board. After some looking around, I
settled on the Arduino Uno Q , a devboard in the venerable Arduino Uno form factor that comes with a chonky 
STM32U585 microcontroller…

GPN24 talk: Tamper-Sensing Meshes In The Wild




 I gave a talk about my research studying tamper-sensing mesh implementations in the wild at GPN24, a German hacker event. The recording and slides of the talk are online now. 


Project Announcement: Ashen and Yanartas




 There are exciting things ahead for the next year: I have been granted funding by both nlnet and by prototype fund for open-source work on an open source hardware Hardware Security Module. As a vessel for this project, I created a consulting company, yasec. 


Housekeeping note: git.jaseg.de has moved




 A small note: As part of moving the servers and website to a new, more suitable host for my Ashen and Yanartas projects as well as the creation of yasec, my freelance consulting business, I've moved git.jaseg.de from a custom cgit/gitolite setup to a forgejo instance. This may have broken some links, especially deep links into the old cgit. If you notice any broken links, please…

New Artwork: Pixação Experiments




 I published a piece of algorithmic art fusing a Pixação graffiti-inspired lettering style with a layout similar to a Thai Haw-taew (five row) Yantra blessing tattoo. 


The KiCoil Planar Coil Generator




 I wrote a layout tool generating planar coils that can handle spiral coils, toroidal coils, and hybrids in between the two. 


kicoil




 Planar inductor supporting arbitrary shapes of spiral coils, toroidal coils, and hybrids 


How to make cgit serve PDF files as direct downloads




 cgit is great, but by default when you click on a PDF file in a repository content listing it will show you a hexdump of the file. You can access the actual file by clicking the "plain" link on top of the listing, but that's not only annoying, for large PDF files rendering the hexdump can also hang browser tabs. 


New paper: Monitoring Tamper-Sensing Meshes Using Low-Cost, Embedded Time-Domain Reflectometry




 I've got a new paper accepted at CHES, to be published in TCHES 2026/1 around beginning of December and out on eprint now . The topic of the paper is a way of monitoring a tamper-sensing mesh through time-domain reflectometry using very cheap components. The end result is a circuit that costs about 10 € in parts that is able to measure TDR responses with a few hundred picoseconds…

wsdiff: Responsive diffs in plain HTML




 There's many tools that render diffs on the web, but almost none that work well on small screens such as phones. I fixed this by publishing wsdiff, a diffing tool written in Python that produces diffs as beautiful, responsive, static, self-contained HTML pages. wsdiffs wrap text to fit the window, and dynamically switch between unified and split diffs based on screen size using…

Code listings with nice line wrapping and line numbers from plain CSS




 Code listings in web pages are often a bit of a pain to use. Usually, they don't wrap on small screens. Also, copy-pasting code from a code listing often copies the line numbers along with the code. Finally, many implementations use heavyweight HTML and/or javascript, making them slow to render. For this blog, I wrote a little CSS hack that renders nice, wrapping code blocks with…

Getting the .ipynb Notebook File Location From a Running Jupyter Lab Notebook




 If you need to get the path of the ipynb file in a running #Jupyter notebook, this one-liner will do the trick. It seems chatgpt is confused, and a bunch of other approaches on the web look fragile and/or unnecessarily complex to me. 


8seg Technical Overview




 8seg is a large-scale LED light art installation that displays text on a 1.5 meter high, 30 meter wide 8-segment display made from cheap LED tape. 


KiMesh




 KiMesh is a KiCad plugin that automatically creates security meshes with two or traces covering an arbitrarily-shaped outline on the board. 


Ubiquiti EdgeRouter on Deutsche Telekom GPON Fiber




 Short tutorial on getting a Deutsche Telekom GPON internet connection running using a SFP ONU unit in an Ubiquiti EdgeRouter. 


New Paper on Inertial Hardware Security Modules




 Paper announcement: We have published a paper on how you can DIY a tamper-sensing hardware security module from any single-board computer using a moving tamper-sensing mesh made from cheap PCBs. 


Kicad Mesh Plugin




 I wrote a little KiCad plugin that you can use to create security meshes, heaters and other things where you need one or more traces cover the entire surface of a PCB. The plugin supports arbitrary PCB shapes, cutouts, and can route around existing footprints and traces on the PCB. 


Private Contact Discovery




 I gave a short introduction into Private Contact Discovery protocols at our university workgroup. 


Hardware Security Module Basics




 I gave a short introduction into Hardware Security Modules at our university workgroup, including an overview on interesting research directions. 


How to talk to your microcontroller over serial




 Scroll to the end for the TL;DR . 
 In this article I will give an overview on the protocols spoken on serial ports, highlighting common pitfalls. I will
summarize some points on how to design a serial protocol that is simple to implement and works reliably even under error
conditions. 
 If you have done low-level microcontroller firmware you will regularly have had…

Thor's Hammer




 In case you were having an inferiority complex because your friends' IBM Model M keyboards are so much louder than the shitty rubber dome freebie you got with your pc... Here's the solution: Thor's Hammer, a simple typing cadence enhancer for PS/2 keyboards. 


32-Channel LED tape driver




 Together, a friend and I outfitted the small staircase at Berlin's Chaos Computer Club with nice, shiny RGB-WW LED tape for ambient lighting. For this installation, I made a 32-channel LED driver that achieves high dynamic range on all 32 channels using a cheap microcontroller by using Binary Code Modulation. 


Wifi Led Driver




 After the multichannel LED driver was completed, I was just getting used to controlling LEDs at 14-bit resolution. I liked the board we designed in this project, but at 32 channels it was a bit large for most use cases. Sometimes I just want to pop a piece of LED tape or two somewhere, but I don't need a full 32 channels of control. I ended up thinking that a smaller version of the…

LED Characterization




 Recently, I have been working on a small driver for ambient lighting using 12V LED strips like you can get inexpensively from China. I wanted to be able to just throw one of these somewhere, stick down some LED tape, hook it up to a small transformer and be able to control it through Wifi. When I was writing the firmware, I noticed that when fading between different colors, the…

8seg




 8seg is an experimental textual display. It is made from a 45m by 1.5m large lacework banner that can be put up in a variety of spaces, conforming to the space's size and shape through bending and folding. 


About jaseg




 
 About 
 Hej, I'm Jan, or jaseg. At the moment I'm doing a PhD (Dr.-Ing.) at TU Darmstadt in Computer Science, specializing on
Hardware Security. This is my personal website where I publish things that I find interesting. 
 I self-host my code at git.jaseg.de , but I am also on github 
and on gitlab . I use github for issue tracking for some of my projects such…

Gerbolyze




 Gerbolyze is a tool that allows the modification of Gerber PCB artwork with a vector graphics editor like Inkscape. Gerbolyze directly converts between SVG and Gerber, and accurately reproduces details that other tools can not. 


Gerbonara




 Gerbonara is a user-friendly, powerful tool for reading, writing, modification and rendering of Gerber PCB artwork from the command line or from Python code. Gerbonara supports the Gerber dialects of all industry-standard EDA tools. 


Impressum




 
 Impressum 
 
Sebastian Götte 
c/o Praxis Dr. Götte 
Krankenhausstr. 1a 
54634 Bitburg 
imprint@jaseg.net
 

Inhaltlich Verantwortlicher gem. § 55 II RStV: Sebastian Götte (Anschrift s.o.) 
 
 Lizenz dieser Seite 
Dieses Werk ist lizenziert unter einer
 
 Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe…

lolcat-c




 lolcat-c is a small, high-performance re-implementation of the lolcat rainbow cat utility. lolcat-c is meant as a lolcat that you can actually use in production. It is fast, not slowing down whatever you pipe through it, and it robustly handles real-world terminal output including escape sequences. 


python-mpv




 python-mpv is a small, ctypes-based Python library wrapping the libmpv media player library. Despite its small size and simple API, python-mpv allows advanced control over libmpv and beyond simple remote control of mpv can be used to embed mpv in OpenGL, Qt, and GTK-based Python applications. 


svg-flatten




 svg-flatten is a command-line utility that performs vector occlusion and clipping on SVG files, producing a flattened SVG file without overlapping elements, without changing what the file looks like. svg-flatten is used as a part of gerbolyze. 


wsdiff




 wsdiff is a command-line utility that produces self-contained, syntax-highlighted, HTML-formatted diffs that support both unified and side-by-side diffs from a single source file using nothing but CSS magic.