summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/blog/epa-sgd-crypto/index.rst64
-rw-r--r--content/blog/kicad-mesh-plugin/index.rst32
-rw-r--r--content/blog/led-characterization/index.rst26
-rw-r--r--content/blog/multichannel-led-driver/index.rst28
-rw-r--r--content/blog/sybil-resistance-identity/index-old.rst6
-rw-r--r--content/blog/sybil-resistance-identity/index.rst7
-rw-r--r--content/blog/telekom-gpon-sfp/index.rst10
-rw-r--r--content/blog/thors-hammer/index.rst6
-rw-r--r--content/blog/wifi-led-driver/index.rst6
-rw-r--r--content/imprint/index.rst3
-rw-r--r--content/projects/8seg/index.rst35
11 files changed, 129 insertions, 94 deletions
diff --git a/content/blog/epa-sgd-crypto/index.rst b/content/blog/epa-sgd-crypto/index.rst
new file mode 100644
index 0000000..f2dd79f
--- /dev/null
+++ b/content/blog/epa-sgd-crypto/index.rst
@@ -0,0 +1,64 @@
+---
+title: "75 Million Lives, Two Keys"
+date: 2025-01-05T23:42:00+01:00
+draft: true
+---
+
+2025 has begun. In this new year, with its new national healthcare record system, the country of Germany will start one
+of the largest rollouts of a cryptographic system in history. While the system has received scrutiny as well as
+resulting harsh criticism from a number of parties ranging from NGOs to everyday civilians, the system has received
+surprisingly little attention from the academic applied cryptography crowd. Additionally, previous criticism of
+the system has largely revolved around organizational issues. While valid, we belive that some cryptographic issues at
+the core of the system have escaped attention unitl now. In particular, at the core of the system is a key escrow system
+that contains several questionable design choices and that in its overall design seems out of place in 2025.
+
+The aim of the system is to serve as a shared storage for all healthcare records of a person. In the system, a person's
+entire patient file with all documentation on the treatment process including test results, images and other raw data
+will be stored in something vaguely resembling cloud storage such that all healthcare providers that the person visits
+can access the entire file. This centralized, synchronized storage eliminates the need for transferring this data
+between hospitals and doctors offices by fax, mail or physical media as it was common practice until now. After a
+development and testing phase lasting approximately five years, the German government decided to roll out the system to
+everybody insured under Germany's mandatory national health insurance scheme, totalling approximately 75 million people,
+on January 15th 2025.
+
+In this article, we will give an overview of the system's cryptographic design before highlighting a few odd
+design choices that could amount to a viable attack vector to the powerful adversaies
+
+## Context and involved parties
+
+Germany has a national, mandatory health insurance system. The system is open to any permanent resident of the country
+irrespective of citizenship. The system is mandatory in that while residents can choose between a number of both
+publically owned as well as private healthcare providers, it is not possible to opt out of the system. The public health
+insurance providers cover approximately 90% of German residents. These providers are organized in an umbrella
+organization named "GKV Spitzenverband". The resposibility of this umbrella organization largely revolves around
+negotiating prices with pharmaceutical companies and with healthcare providers as a publically sanctioned cartel, but
+also includes the specification and operation of shared IT infrastructure for billing and data exchange between
+healthcare providers.
+
+While GKV Spitzenverband is the party that ultimately holds responsibility for the regulatory administration of national
+healthcare IT infrastructure, it has delegated large parts of both the technical specification of this infrastructure as
+well as its day-to-day operation to Gematik GmbH, a state-owned limited liability corporation created specifically for
+the purpose of developing and implementing national healthcare IT standards. The electronic healthcare record system we
+describe in this article was standardized and implemented by Gematik GmbH under the direction of GKV Spitzenverband.
+
+Healthcare providers in Germany need to be registered with GKV Spitzenverband to serve members of public health
+insurance providers. Since these public providers constitute approximately 90% market share, the vast majority of
+healthcare providers are registered this way.
+
+## Design principles
+
+## Cryptographic design
+
+## The implied adversary model
+
+While Gematik GmbH publishes detailed specifications of the systems they standardize, these specifications and some
+associated implementation guidelines are about the extent of public information. Software implementations are being kept
+secret, and while standardization results are available, a large fraction of design rationale is discussed behind closed
+doors. From an academic perspective, the most glaring omission in Gematik GmbH's public documents is any definition of a
+threat model or an adversary model. As a result of this, we will deduce an adversary model below by contextualizing the
+published standards in the national healthcare setting. We will base our further analysis of the system on this
+adversary model.
+
+## Previous reviews and audits of the system
+
+[0] https://www.destatis.de/DE/Themen/Arbeit/Arbeitsmarkt/Qualitaet-Arbeit/Dimension-2/krankenversicherungsschutz.html
diff --git a/content/blog/kicad-mesh-plugin/index.rst b/content/blog/kicad-mesh-plugin/index.rst
index df15933..5ba576a 100644
--- a/content/blog/kicad-mesh-plugin/index.rst
+++ b/content/blog/kicad-mesh-plugin/index.rst
@@ -5,8 +5,8 @@ date: 2020-08-18T13:15:39+02:00
.. raw:: html
- <figure>
- <img src="images/anim.webp" style="max-width: 20em">
+ <figure data-pagefind-ignore>
+ <img src="images/anim.webp" style="max-width: 20em">
</figure>
Tamper Detection Meshes
@@ -38,7 +38,7 @@ stored on the card, things such as copying of a card can only be hindered by mak
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/modern_art.svg" style="max-width: 20em">
</figure>
@@ -93,7 +93,7 @@ usable for this task.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/kicad-mesh-outline.png" alt="KiCAD showing an irregular board shape with rounded corners and
indents. In the middle of the board there is a footprint for a 4-pin surface-mount pin header.">
<figcaption>The process starts out with the mesh shape being defined inside KiCAD. The mesh's outline is drawn
@@ -104,7 +104,7 @@ usable for this task.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/grid-vis-plain.svg" alt="A vizualization of the grid fitting process. Over the mesh's irregular
outline a grid is drawn. In this picture, all grid cells that are fully inside the grid are shown. Grid cells
that overlap the mesh border are highlighted. Grid cells outside of the mesh border are not drawn.">
@@ -125,7 +125,7 @@ means that on every step, the algorithm is choosing a new direction at random.
.. raw:: html
- <div class="subfigure">
+ <div class="subfigure" data-pagefind-ignore>
<figure>
<img src="images/cells-0.svg" alt="a completely organized looking grid with spiral patterns all over.">
<figcaption>0%</figcaption>
@@ -157,7 +157,7 @@ sides connected, a straight through, a 90 degree bend, and a "T"-junction—see
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/maze_tiles_plain.svg" style="max-width: 20em">
<figcaption>
There are six possible tile types in our connectivity graph inside its square tiling. This graphic illustrates
@@ -169,7 +169,7 @@ After tiling the grid according to the key above, we get the result below.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/tiles-25-small.svg">
<figcaption>
An auto-routed mesh with traces colored according to tile types.
@@ -178,7 +178,7 @@ After tiling the grid according to the key above, we get the result below.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/traces-25-small.svg">
<figcaption>
The same mesh, but with traces all black.
@@ -189,7 +189,7 @@ Putting it all together got me the KiCAD plugin you can see in the screenshot be
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/kicad-mesh-settings2.png">
<figcaption>
The plugin settings window open.
@@ -198,11 +198,11 @@ Putting it all together got me the KiCAD plugin you can see in the screenshot be
.. raw:: html
- <figure>
- <img src="images/kicad-mesh-result-large.png">
- <figcaption>
- After runing the plugin, the generated mesh looks like this in pcbnew.
- </figcaption>
+ <figure data-pagefind-ignore>
+ <img src="images/kicad-mesh-result-large.png">
+ <figcaption>
+ After runing the plugin, the generated mesh looks like this in pcbnew.
+ </figcaption>
</figure>
I am fairly happy with the result, but getting there was a medium pain. Especially KiCAD's plugin API is still very
@@ -218,7 +218,7 @@ making a copy of the board file first and treating mesh generation as a non-reve
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/grid-vis-plain.svg" alt="">
<figcaption></figcaption>
</figure>
diff --git a/content/blog/led-characterization/index.rst b/content/blog/led-characterization/index.rst
index 6ad4d64..94de4d3 100644
--- a/content/blog/led-characterization/index.rst
+++ b/content/blog/led-characterization/index.rst
@@ -19,7 +19,7 @@ really important so you could dim it down a lot without flickering. I ended up u
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/rgb_cube.svg" alt="An illustration of the RGB color cube.">
<figcaption>An illustration of the RGB color cube.
<a href="https://commons.wikimedia.org/wiki/File:RGB_color_cube.svg">Picture</a> by
@@ -46,7 +46,7 @@ transformation.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/hsv_cylinder.png" alt="An illustration of the HSV color space as a cylinder.">
<figcaption>An illustration of the HSV color space as a cylinder.
<a href="https://commons.wikimedia.org/wiki/File:HSV_color_solid_cylinder.png">Picture</a> by
@@ -67,7 +67,7 @@ particular in the blues and greens we loose *a lot* of colors to sRGB.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<video controls loop>
<source src="video/sRGB.mkv" type="video/h264">
<source src="video/sRGB.webm" type="video/webm">
@@ -98,7 +98,7 @@ over the problem, there are several sources for imperfections:
.. raw:: html
- <div class="subfigure">
+ <div class="subfigure" data-pagefind-ignore>
<figure>
<img src="images/driver_ringing_strong.jpg" alt="Strong ringing on the LED voltage waveform edge at about
100% overshoot during about 70% of the cycle time.">
@@ -160,7 +160,7 @@ spectrum of the phosphor.
.. raw:: html
- <div class="subfigure">
+ <div class="subfigure" data-pagefind-ignore>
<figure>
<img src="images/spectrograph_step1_parts.jpg">
<figcaption>The ingredients. The cup of coffee and Madoka Magica DVD set are essential to the eventual
@@ -195,7 +195,7 @@ different colors on their pictures. Some other sensor was needed.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/daylight_spectrum_dvd.jpg">
<figcaption>The daylight spectrum as seen using a DVD as a grating.
<a href="https://commons.wikimedia.org/wiki/File:SpectresSolaires-DVD.jpg">Picture</a> by
@@ -235,7 +235,7 @@ trimpot on the virtual ground both amplifers use as a reference so I could trim
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/preamp_schematic.jpg" alt="A drawing of the photodiode preamplifier's schematic">
<figcaption>The photodiode preamplifier schematic. Schematic drawn with an unlicensed copy of
DaveCAD.</figcaption>
@@ -255,7 +255,7 @@ here.
.. raw:: html
- <div class="subfigure">
+ <div class="subfigure" data-pagefind-ignore>
<figure>
<img src="images/preamp_front.jpg">
<figcaption>The front side of the preamplifier board.</figcaption>
@@ -290,7 +290,7 @@ The whole unit with photodiode preamplifier, linear stage, photodiode and steppe
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/electronics_whole.jpg" alt="The complete electronics setup of the spectrograph. In the back
there is the DVD drive stepper stage. In front of it, mounted on a piece of wood are a small USB-to-12V
switching-regulator module to power the stepper motor in the top left, below on the bottom left is the
@@ -338,7 +338,7 @@ begin.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/raw_plot_cheap_rgb.svg" alt="A plot with three wide peaks, two large peaks on both sides and
one smaller one in the middle. The middle one overlaps the two on the sides. The large ones are about 2.5V in
amplitude. Overall, the plot is about 300 stepper steps wide with each peak being around 130 steps wide.">
@@ -375,7 +375,7 @@ of the blue peak towards red.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/photodiode_sensitivity.svg" alt="A plot of photodiode sensitivity against wavelength relative
to peak sensitivity at 820nm. The sensitivity rises from 20% at 380nm approximately linearly to 80% at 620nm,
then the rise rolls off.">
@@ -394,7 +394,7 @@ wavelength in nanometers.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/processed_plot_cheap_rgb.svg" alt="A plot with three wide peaks, all three of different
heights. The leftmost peak is highest at 6nA, the middle peak lowest at 1.6nA and the rightmost peak in between
at 4nA. The middle one overlaps the two on the sides. Overall, the plot spans about 300nm on its x axis with
@@ -428,7 +428,7 @@ models can be found in the `project repo`_.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<video controls loop>
<source src="video/led_within_srgb_scale=1.0.mkv" type="video/h264">
<source src="video/led_within_srgb_scale=1.0.webm" type="video/webm">
diff --git a/content/blog/multichannel-led-driver/index.rst b/content/blog/multichannel-led-driver/index.rst
index 86fab72..c4e17b8 100644
--- a/content/blog/multichannel-led-driver/index.rst
+++ b/content/blog/multichannel-led-driver/index.rst
@@ -40,7 +40,7 @@ good timing.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/pwm_schema.jpg" alt="A visualization of PWM at different duty cycles.">
<figcaption>Waveforms of two PWM cycles at different duty cycles.</figcaption>
</figure>
@@ -96,7 +96,7 @@ on.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/bcm_schema.jpg" alt="A visualization of BCM at different duty cycles.">
<figcaption>Waveforms of a single 4-bit BCM cycle at different duty cycles. This BCM can produce 16 different
levels.</figcaption>
@@ -144,7 +144,7 @@ period, one pulse will reset the shift register and one will strobe the freshly-
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/olsndot_output_schematic.jpg" alt="From left to right, we see the STM32, one of the shift
registers, and the LEDs and MOSFETs. The LED tape is driven to ground by the MOSFETs, which are in turn directly
driven from the shift register outputs. The shift register is wired up to the STM32 with its clock and data
@@ -199,7 +199,7 @@ voltrage we saw on our oscilloscope on the LED tape.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/driver_ringing_strong.jpg" alt="Strong ringing on the LED voltage waveform edge at about
100% overshoot during about 70% of the cycle time.">
<figcaption>Bad ringing on the LED output voltage caused by wiring inductance. Note that the effect on the
@@ -215,7 +215,7 @@ likely culprit. The figure below is the schematic used for the simulations.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/driver_output_ltspice_schematic.jpg" alt="The LTSpice schematic of one output of the driver,
taking into account the shift register's output ESR and the wiring ESL.">
<figcaption>The schematic of the simulation in LTSpice</figcaption>
@@ -228,7 +228,7 @@ driver.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/overshoot_sim_r0.svg" alt="The result of the LTSpice simulation of our driver output. The LED
current shows similar ringing to what we measured using the oscilloscope. Interestingly, the gate voltage shows
strong ringing, too.">
@@ -246,7 +246,7 @@ since the estimated ESL and stray capacitance of the wiring is probably way off.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/driver_ringing_weak.jpg" alt="Weak ringing on the LED voltage waveform edge at about 30%
overshoot during about 20% of the cycle time.">
<figcaption>Adding a resistor in front of the MOSFET gate to slow the transition damped the ringing somewhat,
@@ -257,7 +257,7 @@ since the estimated ESL and stray capacitance of the wiring is probably way off.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/overshoot_sim_r100.svg" alt="The result of the LTSpice simulation of our driver output with an
extra 100 Ohms between shift register output and MOSFET gate. Similar to the oscilloscope measurement the
ringing is much reduced in its amplitude.">
@@ -273,7 +273,7 @@ cycle of the LED current is not at all equal to the 50% duty cycle of the excita
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/asymmetric_iled.svg" alt="The result of an LTSpice simulation of the LED duty cycle without and
with damping. Dampening widens the LED current waveform from 50% duty cycle with sharp edges to about 80% duty
cycle with soft edges.">
@@ -283,7 +283,7 @@ cycle of the LED current is not at all equal to the 50% duty cycle of the excita
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/asymmetric_vgate.svg" alt="The gate voltages in the spice simulation above. The undamped
response shows sharp edges with the miller plateau being a barely noticeable step, but with strong ringing on
the trailing edge. The damped response shows RC-like slow-edges, but has wide miller plateaus on both edges
@@ -327,7 +327,7 @@ sensitive owing to their physically large die area.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/linearization_setup.jpg" alt="The led measurement setup consists of several PCBs and a
breadboard linked with a bunch of wires and a big tin can to shield the LEDs and the photodiode. A large sub-D
connector is put into the top of the tin can as a feed-through for the LED tape's control signals and the
@@ -356,7 +356,7 @@ photocurrents for a certain BCM setpoint just as our retinas would do.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/driver_linearity_raw.svg" alt="">
<figcaption>
A plot of the measured brightness of our LED tape for each BCM period. The brightness values are normalized
@@ -376,7 +376,7 @@ the resulting brightness curve below.
.. raw:: html
- <div class="subfigure">
+ <div class="subfigure" data-pagefind-ignore>
<figure>
<img src="images/uncorrected_brightness_sim.svg" alt="">
<figcaption>
@@ -432,7 +432,7 @@ Conclusion
.. raw:: html
- <div class="subfigure">
+ <div class="subfigure" data-pagefind-ignore>
<figure>
<a href="images/olsndot_schematic.png">
<img src="images/olsndot_schematic.png" alt="A picture of the LED driver schematic">
diff --git a/content/blog/sybil-resistance-identity/index-old.rst b/content/blog/sybil-resistance-identity/index-old.rst
index 6f1bee3..734cc5a 100644
--- a/content/blog/sybil-resistance-identity/index-old.rst
+++ b/content/blog/sybil-resistance-identity/index-old.rst
@@ -1,13 +1,15 @@
---
title: "Theia Attack Resistance and Digital Identity"
date: 2020-09-09T15:00:00+02:00
+draft: true
---
.. raw:: html
<figure class="header">
- <img src="images/succulents.jpg">
- <figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on <a href="https://unsplash.com/">Unsplash</a></figcaption>
+ <img src="images/succulents.jpg">
+ <figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on
+ <a href="https://unsplash.com/">Unsplash</a></figcaption>
</figure>
diff --git a/content/blog/sybil-resistance-identity/index.rst b/content/blog/sybil-resistance-identity/index.rst
index f90b5ac..3c9e008 100644
--- a/content/blog/sybil-resistance-identity/index.rst
+++ b/content/blog/sybil-resistance-identity/index.rst
@@ -6,9 +6,10 @@ draft: true
.. raw:: html
- <figure class="header">
- <img src="images/succulents.jpg">
- <figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on <a href="https://unsplash.com/">Unsplash</a></figcaption>
+ <figure class="header" data-pagefind-ignore>
+ <img src="images/succulents.jpg">
+ <figcaption>Photo by <a href="https://unsplash.com/@timbennettcreative">Tim Bennett</a> on
+ <a href="https://unsplash.com/">Unsplash</a></figcaption>
</figure>
Identity in Cyberspace
diff --git a/content/blog/telekom-gpon-sfp/index.rst b/content/blog/telekom-gpon-sfp/index.rst
index 17f78d5..3d85732 100644
--- a/content/blog/telekom-gpon-sfp/index.rst
+++ b/content/blog/telekom-gpon-sfp/index.rst
@@ -98,7 +98,7 @@ EdgeRouter's SFP interface, then patch connections between the SFP ONU and the l
<figure style="width: 20em">
<a href="images/edgerouter_sfp_config.png">
<img src="images/edgerouter_sfp_config.png" alt="The EdgeRouter's graphical configuration interface showing IP
- address 10.10.1.2/24 being configured for interface eth5, which is the SFP interface.">
+ address 10.10.1.2/24 being configured for interface eth5, which is the SFP interface." data-pagefind-ignore>
</a>
<figcaption>SFP interface configuration to access the SFP ONU from a laptop connected to the EdgeRouter's LAN
port</figcaption>
@@ -114,7 +114,7 @@ EdgeRouter's SFP interface, then patch connections between the SFP ONU and the l
<a href="images/edgerouter_snat_config.png">
<img src="images/edgerouter_snat_config.png" alt="The EdgeRouter's graphical configuration interface showing a
source NAT being configured for interface eth5 for TCP protocol connections to destination address 10.10.1.1
- using masquerading.">
+ using masquerading." data-pagefind-ignore>
</a>
<figcaption>Source NAT configuration to access the SFP ONU from LAN. eth5, masquerading on, TCP, destination
10.10.1.1 (the SFP ONU's IP).</figcaption>
@@ -135,7 +135,7 @@ default login credentials for the device are admin/1234.
<a href="images/sfp_onu_web_if.png">
<img src="images/sfp_onu_web_if.png" alt="The SFP ONU configuration web interface is a basic-looking website with
a big Zyxel logo on it. It has menu options named status, setup and management. It shows a system overview
- page that lists the device's uptime and software version.">
+ page that lists the device's uptime and software version." data-pagefind-ignore>
</a>
<figcaption>The SFP ONU's web interface.</figcaption>
</figure>
@@ -155,7 +155,7 @@ on this page.
<a href="images/sfp_onu_ploam_pw_config.png">
<img src="images/sfp_onu_ploam_pw_config.png" alt="The SFP ONU configuration web interface shows its SLID
configuration page. A text field labelled SLID asks the user to enter a value of at most ten characters. As
- an example, abcdefg123 is listed.">
+ an example, abcdefg123 is listed." data-pagefind-ignore>
</a>
<figcaption>The SFP ONU's config interface to set SLID/PLOAM PW/ONT-Installationskennung.</figcaption>
</figure>
@@ -169,7 +169,7 @@ link on the left. Make sure to not select the factory reset option instead.
<a href="images/sfp_onu_reset.png">
<img src="images/sfp_onu_reset.png" alt="The SFP ONU configuration web interface shows its reset ONU page. There
are two options labelled Reset ONU and Reset to factory default settings. The reset ONU option is
- selected.">
+ selected." data-pagefind-ignore>
</a>
<figcaption>Rebooting the SFP ONU.</figcaption>
</figure>
diff --git a/content/blog/thors-hammer/index.rst b/content/blog/thors-hammer/index.rst
index ba851a5..d81287a 100644
--- a/content/blog/thors-hammer/index.rst
+++ b/content/blog/thors-hammer/index.rst
@@ -9,7 +9,7 @@ for `PS/2`_ keyboards.
.. raw:: html
- <figure>
+ <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">
@@ -31,7 +31,7 @@ pulse a few tens of milliseconds long that is enough to actuate the solenoid.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/thors_hammer_schematic.jpg" alt="The schematic of the PS2 driver">
<figcaption>The schematic of the driver stretching the PS/2 clock pulses to drive the solenoid.</figcaption>
</figure>
@@ -44,7 +44,7 @@ Built on a breadboard, the circuit looks like this.
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/thors_hammer_breadboard.jpg" alt="The circuit built on a breadboard">
<figcaption>The completed circuit built up on a breadboard and attached to a keyboard.</figcaption>
</figure>
diff --git a/content/blog/wifi-led-driver/index.rst b/content/blog/wifi-led-driver/index.rst
index 1c4024a..f352fe6 100644
--- a/content/blog/wifi-led-driver/index.rst
+++ b/content/blog/wifi-led-driver/index.rst
@@ -9,7 +9,7 @@ Project motivation
.. FIXME finished project picture with LED tape
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/board_in_case.small.jpg">
<figcaption>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
@@ -47,7 +47,7 @@ currents their `trip times get long enough that they become unlikely to trip in
.. raw:: html
- <div class="subfigure">
+ <div class="subfigure" data-pagefind-ignore>
<figure>
<img src="images/schematic.png">
<figcaption>
@@ -71,7 +71,7 @@ currents their `trip times get long enough that they become unlikely to trip in
.. raw:: html
- <figure>
+ <figure data-pagefind-ignore>
<img src="images/boards.small.jpg">
<figcaption>The completed PCBs of this project (front) and the `multichannel LED driver`_ project the driver
circuitry was derived from (back).
diff --git a/content/imprint/index.rst b/content/imprint/index.rst
index 12901ea..bbff4e2 100644
--- a/content/imprint/index.rst
+++ b/content/imprint/index.rst
@@ -1,5 +1,6 @@
---
title: "Impressum"
+noindex: true
---
Impressum
@@ -29,7 +30,7 @@ Lizenz dieser Seite
</a>.<br/>
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">
<img alt="Creative Commons Lizenzvertrag" style="border-width:0"
- src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" />
+ src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" data-pagefind-ignore/>
</a>
diff --git a/content/projects/8seg/index.rst b/content/projects/8seg/index.rst
index 27da3f3..43e5c85 100644
--- a/content/projects/8seg/index.rst
+++ b/content/projects/8seg/index.rst
@@ -5,12 +5,8 @@ external_links:
url: "https://git.jaseg.de/8seg.git"
- name: Enclosure 3D models
url: "https://www.printables.com/model/695260-parametric-flexible-aluminium-profile-case"
- - name: Web interface at 37C3 (congress network only!)
- url: "https://8seg.jaseg.de/"
- name: Technical overview blog post
url: "/blog/8seg"
- - name: Contact email
- url: "mailto:8seg.m@jaseg.de"
summary: >
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.
@@ -22,37 +18,8 @@ summary: >
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.
-8seg is currently being set up at 37C3 in the entrance hall, on the second-floor railing in front of Hall X.
+8seg was last set up at 37C3 in the entrance hall, on the second-floor railing opposite Hall X.
By popular request, you can find 3D models for the printable parts of the power supply enclosures `here
<https://www.printables.com/model/695260-parametric-flexible-aluminium-profile-case>`__
-Posting messages
-----------------
-
-To send messages to the display, please use the web interface linked above.
-
-8seg is a community service run by a sole volunteer. Please respect my work, and please do not post offensive messages,
-spam or similar. 8seg is currently open to the congress network on the hope that y'all will behave civilly. Please don't
-make me put a login wall in front of this thing, alright? ;)
-
-You may write code to talk to the web interface, but please do not post automated messages at a frequency higher than
-one per 20 minutes. No spam, no commercial advertising and absolutely nothing cryptocurrency-related.
-
-Scheduling regular messages
----------------------------
-
-If you want your message to be added to the regular "idle rotation" of 8seg, which the display cycles through when no
-other messages are queued, please email me at the contact email above.
-
-Reporting abuse
----------------
-
-If you see 8seg being used for something stupid or bad, please email me at the contact email above.
-
-Further questions
------------------
-
-For further questions, please email me at the email linked above, or message me on mastodon at `chaos.social/@jaseg
-<https://chaos.social/@jaseg>`__.
-