diff options
Diffstat (limited to 'blog/index.html')
-rw-r--r-- | blog/index.html | 126 |
1 files changed, 107 insertions, 19 deletions
diff --git a/blog/index.html b/blog/index.html index d20527a..c48040c 100644 --- a/blog/index.html +++ b/blog/index.html @@ -35,17 +35,26 @@ </header> <main class="cards"> - <div class="intro"> - <div class="document"> + <div class="card"><h3><a href="/blog/jupyterlab-notebook-file-oneliner/">Getting the .ipynb Notebook File Location From a Running Jupyter Lab Notebook</a></h3><strong>2025-06-29</strong> + <div class="summary"> + <div class="document"> +<p>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.</p> +</div> + <a href="http://jaseg.de/blog/jupyterlab-notebook-file-oneliner/">Read more</a> + </div> </div> - </div> - <div class="card"><h3><a href="/blog/8seg/">8seg</a></h3><strong>2023-12-26</strong> + + <div class="card"><h3><a href="/blog/8seg/">8seg Technical Overview</a></h3><strong>2023-12-26</strong> <div class="summary"> - 8seg Technical Overview Prologue German hacker culture has this intense love for things that light up in colorful ways. Like for many others in this community, I have always been fascinated by LEDs. One of the first things on my pile of unfinished projects was to build my own LED matrix and use it to display text. When I started that project, I was still new to electronics. Back then, commercial LED matrices were limited to red or green color only, and were very expensive, so there was an incentive to build your own. + <div class="document"> + + +<p>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.</p> +</div> <a href="http://jaseg.de/blog/8seg/">Read more</a> </div> </div> @@ -53,7 +62,11 @@ <div class="card"><h3><a href="/blog/telekom-gpon-sfp/">Ubiquiti EdgeRouter on Deutsche Telekom GPON Fiber</a></h3><strong>2022-02-21</strong> <div class="summary"> - Disclaimer I provide this guide as a reference for other knowledgeable users without any warranty. Please feel free to use this as a resource but do not hold me responsible if this does not work for you. There is a significant chance that due to an error on my side or due to Telekom changing their setup this guide will not work for you, and you may end up having to pay for an unsuccessful Telekom technician visit. + <div class="document"> + + +<p>Short tutorial on getting a Deutsche Telekom GPON internet connection running using a SFP ONU unit in an Ubiquiti EdgeRouter.</p> +</div> <a href="http://jaseg.de/blog/telekom-gpon-sfp/">Read more</a> </div> </div> @@ -61,7 +74,11 @@ <div class="card"><h3><a href="/blog/ihsm-worlds-first-diy-hsm/">New Paper on Inertial Hardware Security Modules</a></h3><strong>2021-11-23</strong> <div class="summary"> - World's First DIY HSM Last week, Prof. Dr. Björn Scheuermann and I have published our first joint paper on Hardware Security Modules. In our paper, we introduce Inertial Hardware Security Modules (IHSMs), a new way of building high-security HSMs from basic components. I think the technology we demonstrate in our paper might allow some neat applications where some civil organization deploys a service that no one, not even they themselves, can snoop on. + <div class="document"> + + +<p>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.</p> +</div> <a href="http://jaseg.de/blog/ihsm-worlds-first-diy-hsm/">Read more</a> </div> </div> @@ -69,7 +86,11 @@ <div class="card"><h3><a href="/blog/kicad-mesh-plugin/">Kicad Mesh Plugin</a></h3><strong>2020-08-18</strong> <div class="summary"> - Tamper Detection Meshes Cryptography is at the foundation of our modern, networked world. From email to card payment infrastructure in brick and mortar stores, cryptographic keys secure almost every part of our digital lives againts cybercriminals or curious surveillance capitalists. Without cryptography, many of the things we routinely do in our lives such as paying for groceries with a credit card, messaging a friend on Signal or unlocking a car with its keyfob would not be possible. + <div class="document"> + + +<p>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.</p> +</div> <a href="http://jaseg.de/blog/kicad-mesh-plugin/">Read more</a> </div> </div> @@ -77,7 +98,11 @@ <div class="card"><h3><a href="/blog/private-contact-discovery/">Private Contact Discovery</a></h3><strong>2019-06-22</strong> <div class="summary"> - Private Contact Discovery Private Contact Discovery (PCD) is the formal name for the problem modern smartphone messenger applications have on installation: Given a user's address book, find out which of their contacts also use the same messenger without the messenger's servers learning anything about the user's address book. The widespread non-private way to do this is to simply upload the user's address book to the app's operator's servers and do an SQL JOIN keyed on the phone number field against the database of registered users. + <div class="document"> + + +<p>I gave a short introduction into Private Contact Discovery protocols at our university workgroup.</p> +</div> <a href="http://jaseg.de/blog/private-contact-discovery/">Read more</a> </div> </div> @@ -85,7 +110,11 @@ <div class="card"><h3><a href="/blog/hsm-basics/">Hardware Security Module Basics</a></h3><strong>2019-05-17</strong> <div class="summary"> - Hardware Security Modules and Security Research and Cryptography On May 17 2019 I gave a short presentation on the fundamentals of hardware security modules at the weekly seminar of Prof. Mori's security research working group at Waseda University. The motivation for this was that outside of low-level hardware security people and people working in the financial industry HSMs are not thought about that often. In particular most network or systems security people would not consider them an option. + <div class="document"> + + +<p>I gave a short introduction into Hardware Security Modules at our university workgroup, including an overview on interesting research directions.</p> +</div> <a href="http://jaseg.de/blog/hsm-basics/">Read more</a> </div> </div> @@ -93,9 +122,18 @@ <div class="card"><h3><a href="/blog/serial-protocols/">How to talk to your microcontroller over serial</a></h3><strong>2018-05-19</strong> <div class="summary"> - 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 to stuff some data up a serial port to another microcontroller or to a computer. + <div class="document"> + + +<p>Scroll to the end for the <a class="reference internal" href="#conclusion">TL;DR</a>.</p> +<p>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.</p> +<p>If you have done low-level microcontroller firmware you will regularly have had to stuff some data up a serial port to +another microcontroller or to a computer. In the age of USB, an old-school serial port is still the simplest and +quickest way to get communication to a control computer up and running. Integrating a ten thousand-line USB stack into +your firmware and writing the necessary low-level drivers on the host side might take days. Poking a few registers to +set up your UART to talk to an external hardware USB to serial converter is a matter of minutes.</p></div> <a href="http://jaseg.de/blog/serial-protocols/">Read more</a> </div> </div> @@ -103,8 +141,29 @@ If you have done low-level microcontroller firmware you will regularly have had <div class="card"><h3><a href="/blog/thors-hammer/">Thor's Hammer</a></h3><strong>2018-05-03</strong> <div class="summary"> - 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. -Your browser does not support the HTML5 video tag. A demonstration of the completed project. h264 download / webm download The connects to the keyboard's PS/2 clock line and briefly actuates a large solenoid on each key press. + <div class="document"> + + +<p>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 <a class="reference external" href="https://en.wikipedia.org/wiki/PS/2_port">PS/2</a> keyboards.</p> +<figure data-pagefind-ignore> + <video controls loop> + <source src="video/thors_hammer.mov" type="video/h264"> + <source src="video/thors_hammer.webm" type="video/webm"> + Your browser does not support the HTML5 video tag. + </video> + <figcaption>A demonstration of the completed project. + + <a href="video/thors_hammer.mov">h264 download</a> / + <a href="video/thors_hammer.webm">webm download</a> + </figcaption> +</figure><p>The connects to the keyboard's PS/2 clock line and briefly actuates a large solenoid on each key press. An interesting +fact about PS/2 is that the clock line is only active as long as either the host computer or the input device actually +want to send data. In case of a keyboard that's the case when a key is pressed or when the host changes the keyboard's +LED state, otherwise the clock line is silent. We ignore the LED activity for now as it's generally coupled to key +presses. By just triggering an NE555 configured as astable flipflop we can stretch each train of clock pulses to a +pulse a few tens of milliseconds long that is enough to actuate the solenoid.</p></div> <a href="http://jaseg.de/blog/thors-hammer/">Read more</a> </div> </div> @@ -112,7 +171,11 @@ Your browser does not support the HTML5 video tag. A demonstration of the comple <div class="card"><h3><a href="/blog/multichannel-led-driver/">32-Channel LED tape driver</a></h3><strong>2018-05-02</strong> <div class="summary"> - Theoretical basics 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. This tape is like regular RGB tape but with an additional warm white channel, which makes for much more natural pastels and whites. There are several variants of RGBW tape. Cheap ones have separate RGB and white LEDs, which is fine for indirect lighting but does not work for direct lighting. + <div class="document"> + + +<p>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.</p> +</div> <a href="http://jaseg.de/blog/multichannel-led-driver/">Read more</a> </div> </div> @@ -120,7 +183,23 @@ Your browser does not support the HTML5 video tag. A demonstration of the comple <div class="card"><h3><a href="/blog/wifi-led-driver/">Wifi Led Driver</a></h3><strong>2018-05-02</strong> <div class="summary"> - Project motivation The completed driver board installed in the 3D-printed case. This device can now be connected to 12V and two segments of LED tape that can then be controlled trough Wifi. The ESP8266 module goes on the pin header on the left and was removed for this picture. 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. + <div class="document"> + + +<p>After the <a href="#system-message-1"><span class="problematic" id="problematic-1">`multichannel LED driver`_</span></a> 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 32-channel driver that didn't require a separate control computer would be handy. So I sat down and designed a variant of the design with only 8 channels instead of 32 and an on-board <a href="#system-message-2"><span class="problematic" id="problematic-2">ESP8266_</span></a> module instead of the <a href="#system-message-3"><span class="problematic" id="problematic-3">RS485_</span></a> transceiver for WiFi connectivity.</p> +<div class="system-messages section"> +<h2>Docutils System Messages</h2> +<div class="system-message" id="system-message-1"> +<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils"><stdin></tt>, line 1); <em><a href="#problematic-1">backlink</a></em></p> +Unknown target name: "multichannel led driver".</div> +<div class="system-message" id="system-message-2"> +<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils"><stdin></tt>, line 1); <em><a href="#problematic-2">backlink</a></em></p> +Unknown target name: "esp8266".</div> +<div class="system-message" id="system-message-3"> +<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils"><stdin></tt>, line 1); <em><a href="#problematic-3">backlink</a></em></p> +Unknown target name: "rs485".</div> +</div> +</div> <a href="http://jaseg.de/blog/wifi-led-driver/">Read more</a> </div> </div> @@ -128,13 +207,22 @@ Your browser does not support the HTML5 video tag. A demonstration of the comple <div class="card"><h3><a href="/blog/led-characterization/">LED Characterization</a></h3><strong>2018-05-02</strong> <div class="summary"> - Preface 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 colors look all wrong! + <div class="document"> + + +<div class="section" id="preface"> +<h2>Preface</h2> +<p>Recently, I have been working on a <a class="reference external" href="http://jaseg.de/blog/wifi-led-driver/">small driver</a> 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 colors look <em>all wrong</em>! This observation led me down a rabbit hole of color +perception and LED peculiarities.</p></div> <a href="http://jaseg.de/blog/led-characterization/">Read more</a> </div> </div> </main><footer> - Copyright © 2023 Jan Sebastian Götte + Copyright © 2025 Jan Sebastian Götte / <a href="/about/">About</a> / <a href="/imprint/">Imprint</a> </footer> |