263 lines
10 KiB
HTML
263 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html><head>
|
|
<meta name="generator" content="Hugo 0.149.1">
|
|
<meta charset="utf-8">
|
|
<title>Home</title>
|
|
<meta name="description" content="">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<meta name="color-scheme" content="dark light">
|
|
<link rel="stylesheet" href="/style.css">
|
|
|
|
<link rel="preload" href="/fonts/roboto_slab/RobotoSlab-VariableFont_wght.ttf" as="font" type="font/ttf" crossorigin />
|
|
<link rel="preload" href="/fonts/nyght-serif-main/fonts/WEB/NyghtSerif-Regular.woff2" as="font" type="font/woff2" crossorigin />
|
|
<link rel="preload" href="/fonts/nyght-serif-main/fonts/WEB/NyghtSerif-Bold.woff2" as="font" type="font/woff2" crossorigin />
|
|
<link rel="preload" href="/fonts/nyght-serif-main/fonts/WEB/NyghtSerif-BoldItalic.woff2" as="font" type="font/woff2" crossorigin />
|
|
</head>
|
|
<body><nav>
|
|
<div class="internal">
|
|
|
|
<a href="/" title="Home" class="active">Home</a>
|
|
<a href="/blog/" title="Blog">Blog</a>
|
|
<a href="/projects/" title="Projects">Projects</a>
|
|
<a href="/about/" title="About">About</a>
|
|
</div>
|
|
<div class="search">
|
|
<div id="search"></div>
|
|
</div>
|
|
<div class="external">
|
|
<a href="https://git.jaseg.de/" title="cgit">cgit</a>
|
|
<a href="https://github.com/jaseg" title="Github">Github</a>
|
|
<a href="https://gitlab.com/neinseg" title="Gitlab">Gitlab</a>
|
|
<a href="https://chaos.social/@jaseg" title="Mastodon">Mastodon</a>
|
|
</span>
|
|
</nav>
|
|
|
|
<header>
|
|
<h1>jaseg.de</h1>
|
|
</header>
|
|
<main class="cards">
|
|
<div class="intro">
|
|
<div class="document">
|
|
|
|
|
|
<p>Hi there, and welcome to my personal website.</p>
|
|
<p>I'm jaseg, and I write about my projects here. You can find long-form articles in the blog, and links to my open-source
|
|
projects on the projects page. On the top right of this page, there are links to my git repositories and social media
|
|
pages. If you want to learn more about me, head over to the about page.</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<h2>Recently updated projects</h2>
|
|
|
|
<div class="card"><h3><a href="/projects/kimesh/">KiMesh</a></h3>
|
|
|
|
<div class="summary">
|
|
<div class="document">
|
|
|
|
|
|
<p>KiMesh is a KiCad plugin that automatically creates security meshes with two or traces covering an arbitrarily-shaped outline on the board.</p>
|
|
</div>
|
|
<a href="http://jaseg.de/projects/kimesh/">Read more</a>
|
|
</div>
|
|
<div class="links">
|
|
<a href="https://git.jaseg.de/kimesh.git">Sources</a>
|
|
<a href="https://github.com/jaseg/kimesh/issues">Issues</a>
|
|
<a href="https://jaseg.de/projects/kimesh">Docs</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="card"><h3><a href="/projects/8seg/">8seg</a></h3>
|
|
|
|
<div class="summary">
|
|
<div class="document">
|
|
|
|
|
|
<p>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.</p>
|
|
</div>
|
|
<a href="http://jaseg.de/projects/8seg/">Read more</a>
|
|
</div>
|
|
<div class="links">
|
|
<a href="https://git.jaseg.de/8seg.git">Sources and hardware design files</a>
|
|
<a href="https://www.printables.com/model/695260-parametric-flexible-aluminium-profile-case">Enclosure 3D models</a>
|
|
<a href="http://jaseg.de/blog/8seg">Technical overview blog post</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="pagination-links">
|
|
|
|
<a href="/projects/">See more<span class="arrow-right"></span></a>
|
|
|
|
</div>
|
|
|
|
<h2>Blog</h2>
|
|
|
|
<div class="card"><h3><a href="/blog/paper-sampling-mesh-monitor/">New paper: Monitoring Tamper-Sensing Meshes Using Low-Cost, Embedded Time-Domain Reflectometry</a></h3><strong>2025-10-20</strong>
|
|
|
|
<div class="summary">
|
|
<div class="document">
|
|
|
|
|
|
<p>foobar</p>
|
|
</div>
|
|
<a href="http://jaseg.de/blog/paper-sampling-mesh-monitor/">Read more</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="card"><h3><a href="/blog/wsdiff-static-html-diffs/">wsdiff: Responsive diffs in plain HTML</a></h3><strong>2025-07-25</strong>
|
|
|
|
<div class="summary">
|
|
<div class="document">
|
|
|
|
|
|
<p>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 only CSS.</p>
|
|
</div>
|
|
<a href="http://jaseg.de/blog/wsdiff-static-html-diffs/">Read more</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="card"><h3><a href="/blog/css-only-code-blocks/">Code listings with nice line wrapping and line numbers from plain CSS</a></h3><strong>2025-07-23</strong>
|
|
|
|
<div class="summary">
|
|
<div class="document">
|
|
|
|
|
|
<p>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 line continuation markers in plain CSS without any JS.</p>
|
|
</div>
|
|
<a href="http://jaseg.de/blog/css-only-code-blocks/">Read more</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<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 class="card"><h3><a href="/blog/8seg/">8seg Technical Overview</a></h3><strong>2023-12-26</strong>
|
|
|
|
<div class="summary">
|
|
<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>
|
|
|
|
|
|
<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">
|
|
<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>
|
|
|
|
|
|
<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">
|
|
<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>
|
|
|
|
|
|
<div class="card"><h3><a href="/blog/kicad-mesh-plugin/">Kicad Mesh Plugin</a></h3><strong>2020-08-18</strong>
|
|
|
|
<div class="summary">
|
|
<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>
|
|
|
|
|
|
<div class="card"><h3><a href="/blog/private-contact-discovery/">Private Contact Discovery</a></h3><strong>2019-06-22</strong>
|
|
|
|
<div class="summary">
|
|
<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>
|
|
|
|
|
|
<div class="card"><h3><a href="/blog/hsm-basics/">Hardware Security Module Basics</a></h3><strong>2019-05-17</strong>
|
|
|
|
<div class="summary">
|
|
<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>
|
|
|
|
|
|
|
|
<div class="pagination-links">
|
|
|
|
<a href="/blog/">See more<span class="arrow-right"></span></a>
|
|
|
|
</div>
|
|
|
|
</main><footer>
|
|
Copyright © 2025 Jan Sebastian Götte
|
|
/ <a href="/about/">About</a>
|
|
/ <a href="/imprint/">Imprint</a>
|
|
</footer>
|
|
<script type="text/javascript" src="/pagefind/pagefind-ui.js" defer></script>
|
|
<script>
|
|
window.addEventListener('DOMContentLoaded', (event) => {
|
|
new PagefindUI({element: "#search", showSubResults: true});
|
|
});
|
|
</script>
|
|
<script type="speculationrules">
|
|
{
|
|
"prerender": [
|
|
{
|
|
"source": "document",
|
|
"where": {
|
|
"and": [
|
|
{"href_matches": "/*"}
|
|
]
|
|
},
|
|
"eagerness": "moderate"
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|