blog/projects/index.html
2025-07-26 14:24:27 +02:00

218 lines
8.8 KiB
HTML

<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<title>Projects | 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">Home</a>
<a href="/blog/" title="Blog">Blog</a>
<a href="/projects/" title="Projects" class="active">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>Projects</h1>
<ul class="breadcrumbs">
<li><a href="/">jaseg.de</a></li><li><a href="/projects/">Projects</a></li>
</ul>
</header>
<main class="cards">
<div class="intro">
<div class="document">
<p>I maintain a number of open-source projects. Most of these I started out of some personal need or interest.
I strive to keep all of them up to date and maintained, so if you notice an issue with one of them, please
open an issue on the project's issue tracker.</p>
</div>
</div>
<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="card"><h3><a href="/projects/gerbolyze/">Gerbolyze</a></h3>
<div class="summary">
<div class="document">
<p>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.</p>
</div>
<a href="http://jaseg.de/projects/gerbolyze/">Read more</a>
</div>
<div class="links">
<a href="https://git.jaseg.de/gerbolyze.git">Sources</a>
<a href="https://github.com/jaseg/gerbolyze/issues">Issues</a>
<a href="https://gerbolyze.gitlab.io/gerbolyze">Docs</a>
<a href="https://pypi.org/project/gerbolyze">PyPI</a>
</div>
</div>
<div class="card"><h3><a href="/projects/gerbonara/">Gerbonara</a></h3>
<div class="summary">
<div class="document">
<p>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.</p>
</div>
<a href="http://jaseg.de/projects/gerbonara/">Read more</a>
</div>
<div class="links">
<a href="https://git.jaseg.de/gerbonara.git">Sources</a>
<a href="https://gitlab.com/gerbolyze/gerbonara/issues">Issues</a>
<a href="https://gerbolyze.gitlab.io/gerbonara">Docs</a>
<a href="https://pypi.org/project/gerbonara">PyPI</a>
</div>
</div>
<div class="card"><h3><a href="/projects/lolcat-c/">lolcat-c</a></h3>
<div class="summary">
<div class="document">
<p>lolcat-c is a small, high-performance re-implementation of the <a class="reference external" href="https://github.com/busyloop/lolcat">lolcat</a> 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.</p>
</div>
<a href="http://jaseg.de/projects/lolcat-c/">Read more</a>
</div>
<div class="links">
<a href="https://git.jaseg.de/lolcat.git">Sources</a>
<a href="https://github.com/jaseg/lolcat">Github</a>
<a href="https://github.com/jaseg/lolcat/issues">Issues</a>
</div>
</div>
<div class="card"><h3><a href="/projects/python-mpv/">python-mpv</a></h3>
<div class="summary">
<div class="document">
<p>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.</p>
</div>
<a href="http://jaseg.de/projects/python-mpv/">Read more</a>
</div>
<div class="links">
<a href="https://git.jaseg.de/python-mpv.git">Sources</a>
<a href="https://github.com/jaseg/python-mpv/issues">Issues</a>
<a href="https://neinseg.gitlab.io/python-mpv">Docs</a>
<a href="https://pypi.org/project/mpv">PyPI</a>
</div>
</div>
<div class="card"><h3><a href="/projects/svg-flatten/">svg-flatten</a></h3>
<div class="summary">
<div class="document">
<p>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.</p>
</div>
<a href="http://jaseg.de/projects/svg-flatten/">Read more</a>
</div>
<div class="links">
<a href="https://git.jaseg.de/gerbolyze.git/tree/svg-flatten?h=main">Sources</a>
<a href="https://github.com/jaseg/gerbolyze/issues">Issues</a>
<a href="https://gerbolyze.gitlab.io/svg-flatten">Docs</a>
</div>
</div>
<div class="card"><h3><a href="/projects/wsdiff/">wsdiff</a></h3>
<div class="summary">
<div class="document">
<p>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.</p>
</div>
<a href="http://jaseg.de/projects/wsdiff/">Read more</a>
</div>
<div class="links">
<a href="https://git.jaseg.de/wsdiff.git">Sources</a>
<a href="https://github.com/jaseg/wsdiff/issues">Issues</a>
<a href="https://pypi.org/project/wsdiff">PyPI</a>
</div>
</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>