mirror of
https://github.com/kittywitch/dork.dev.git
synced 2026-02-09 07:09:18 -08:00
deploy: ee4aaae289
This commit is contained in:
parent
8f37c852bb
commit
6981b7aa5c
4 changed files with 181 additions and 1 deletions
12
index.html
12
index.html
|
|
@ -27,6 +27,18 @@
|
|||
<h2>posts</h2>
|
||||
<nav>
|
||||
<ul>
|
||||
<li>
|
||||
<article>
|
||||
<a href="posts/2025-06-20-taimihud.html"><h3>2025-06-19-taimihud</h3></a>
|
||||
<p><time>2025-06-20 07:53:23.065138653 +0000</time></P>
|
||||
</article>
|
||||
</li>
|
||||
<li>
|
||||
<article>
|
||||
<a href="posts/2025-06-20-keyboards.html"><h3>2025-06-19-keyboards</h3></a>
|
||||
<p><time>2025-06-20 07:53:17.789977958 +0000</time></P>
|
||||
</article>
|
||||
</li>
|
||||
<li>
|
||||
<article>
|
||||
<a href="posts/2024-09-14-2-months-into-my-first-3d-printer.html"><h3>2 months into my first 3D printer</h3></a>
|
||||
|
|
|
|||
65
posts/2025-06-20-keyboards.html
Normal file
65
posts/2025-06-20-keyboards.html
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>dork.dev - 2025-06-19-keyboards</title>
|
||||
<link rel="stylesheet" type="text/css" href="/stylesheet.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta property="og:title" content="dork.dev - 2025-06-19-keyboards" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="posts/2025-06-20-keyboards.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<header>
|
||||
<h1><a href="/">dork.dev</a><small> - 2025-06-19-keyboards</small></h1>
|
||||
<hr>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
Published on <time>2025-06-20 07:53:17.789977958 +0000</time>.
|
||||
|
||||
<h1>I built two keyboards over the last year!</h1>
|
||||
<h2>Handwired</h2>
|
||||
<p>Design: https://www.printables.com/model/347534-void40-a-40-ortholinear-keyboard</p>
|
||||
<p>Inspired by a video sent to me by a friend, <a href="https://youtu.be/PDguuYMG0IQ">"Building a Split USB-C Handwired Keyboard" by Joe Scotto</a>, I started initially with a 3x3 macropad in the same style as Joe Scotto.</p>
|
||||
<p>I moved onto a Planck-like shortly afterwards, initially I was using a large RP2040 devboard, but I settled on an RP2040 Zero (not pictured!).</p>
|
||||
<p>Keyswitches:</p>
|
||||
<ul>
|
||||
<li>Inner: Matrix Lab FFFF (Tactile)</li>
|
||||
<li>Outer: Nightwalker Glow-in-the-Dark Nightcall (Silent Linear)</li>
|
||||
</ul>
|
||||
<p>Stabilizers were hand-lubricated.</p>
|
||||
<p>Keycaps were KAT Cyberspace.</p>
|
||||
<p><a href="handwire-keyboard-matrix.jpg"><img src="handwire-keyboard-matrix.jpg" alt="The matrix of the keyboard" /></a>
|
||||
<a href="handwire-keyboard-mcu.jpg"><img src="handwire-keyboard-mcu.jpg" alt="The wiring of the matrix and mcu of the keyboard" /></a>
|
||||
<a href="handwire-keyboard.jpg"><img src="handwire-keyboard.jpg" alt="The finished keyboard" /></a></p>
|
||||
<h2>Sofle RGB</h2>
|
||||
<p>Case design: https://www.thingiverse.com/thing:5407420
|
||||
PCB vendor: https://pandakb.com/products/pcb-kit/sofle-rgb-mx-pcb-kit/ (I did not use the kit!)
|
||||
Keyboard design: https://josefadamcik.github.io/SofleKeyboard/ (Sofle RGB)</p>
|
||||
<p>Keyswitches:</p>
|
||||
<ul>
|
||||
<li>Turquoise Tealios (Linears) for alphas</li>
|
||||
<li>Zealio V2 (Tactile) for all other keys</li>
|
||||
</ul>
|
||||
<p>Keycaps are KAT Cyberspace.</p>
|
||||
<p>I spent an awful lot of time debugging issues that were fundamentally my own fault for following the build guide wrong in one way or another, but I feel like it turned out very pretty.</p>
|
||||
<p>[<img src="sofle-rgb-finished.jpg" alt="Sofle RGB" />]</p>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<hr>
|
||||
<nav id="contact">
|
||||
<ul>
|
||||
<li>E-mail: kat (at) dork (dot) dev</li>
|
||||
<li>Git: <a href="https://github.com/kittywitch">kittywitch</a></li>
|
||||
<li>Other websites of mine: <a href="https://kittywit.ch">kittywit.ch</a>, <a href="https://inskip.me">inskip.me</a>.</li>
|
||||
<li>Feed: <a href="/rss.xml">RSS</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
101
posts/2025-06-20-taimihud.html
Normal file
101
posts/2025-06-20-taimihud.html
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>dork.dev - 2025-06-19-taimihud</title>
|
||||
<link rel="stylesheet" type="text/css" href="/stylesheet.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta property="og:title" content="dork.dev - 2025-06-19-taimihud" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="posts/2025-06-20-taimihud.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<header>
|
||||
<h1><a href="/">dork.dev</a><small> - 2025-06-19-taimihud</small></h1>
|
||||
<hr>
|
||||
</header>
|
||||
<main>
|
||||
<article>
|
||||
Published on <time>2025-06-20 07:53:23.065138653 +0000</time>.
|
||||
|
||||
<h1>TaimiHUD: finally, I can play Guild Wars 2 on Linux!</h1>
|
||||
<p><a href="taimihud-pathing.png"><img src="taimihud-pathing.png" alt="TaimiHUD, showing Pathing, Markers and Timers windows and paths visible." /></a>
|
||||
<a href="taimihud-timers.png"><img src="taimihud-timers.png" alt="TaimiHUD, showing a timer." /></a>
|
||||
<a href="taimihud.png"><img src="taimihud.png" alt="TaimiHUD, showing Pathing, Markers and Timers windows." /></a>
|
||||
<a href="taimihud-timers-ui.png"><img src="taimihud-timers-ui.png" alt="TaimiHUD, showing the timers UI." /></a>
|
||||
<a href="taimihud-markers-ui.png"><img src="taimihud-markers-ui.png" alt="TaimiHUD, showing the markers UI." /></a></p>
|
||||
<p>Repositories:</p>
|
||||
<ul>
|
||||
<li>Personal: https://github.com/kittywitch/TaimiHUD</li>
|
||||
<li>Organization: https://github.com/TaimiHUD/TaimiHUD</li>
|
||||
</ul>
|
||||
<p>For the longest of time, I've felt like that Windows users have a far superior experience of GW2 with addons than Linux users do. This is a real shame, given the amount of people who could play now from a Steam Deck, let alone daily-drive Linux to avoid the horrors of modern Windows. The Windows users had BlishHUD and its modules to turn to.</p>
|
||||
<p>The things that irked me most were the accessibility challenges, I found myself longing for things like:</p>
|
||||
<ul>
|
||||
<li>encounter timers</li>
|
||||
<li>auto marker placements</li>
|
||||
<li>pathing for achievements, races, ...</li>
|
||||
</ul>
|
||||
<p>Inspired by a beloved friend, I began work on the above one goal at a time.</p>
|
||||
<p>I had prior made a <a href="https://raidcore.gg">Nexus</a> addon for Guild Wars 2, <a href="https://github.com/kittywitch/gw2buttplug-rs">gw2buttplug-rs</a> that facilitated output for buttplug.io via DPS-metering with the help of my wife to get me started with it, as my first GW2 Rust project.</p>
|
||||
<h2>Timers</h2>
|
||||
<p>Milestone by milestone, I reimplemented Timers following the same data format as BlishHUD's, so I could load Hero's Timers Pack, until eventually we had everything but Bandit Trio working.</p>
|
||||
<p>Bandit Trio seems to not work due to perculiarities of how the Bandit Trio timer itself works, which will eventually require a complete change of how Timers are handled under the hood, to properly support health/HP/CC event triggers.</p>
|
||||
<h2>Licensing</h2>
|
||||
<p>I decided to license the project MIT, to allow the community the freedoms over the software that they rightfully deserve.</p>
|
||||
<h2>3D rendering</h2>
|
||||
<p>I started work on a DX11 rendering engine for the game and got to the point of having models load and a billboarded marker from Timers working.</p>
|
||||
<p>[<img src="taimihud-cats.png" alt="TaimiHUD's cat model testing" />]
|
||||
[<img src="taimihud-billboard.png" alt="TaimiHUD's billboard test" />]</p>
|
||||
<p>It was at this point that I went to attend to Commander's Markers!</p>
|
||||
<h2>Commander's Markers</h2>
|
||||
<p>With Timers handled, Commander's Markers was next on the chopping block, two formats to support and my own to be created. I even made it so that it automatically places it based upon a location trigger, and drags the minimap for you if it can.</p>
|
||||
<h2>Pathing?</h2>
|
||||
<p>By this point the source code was very available, and an experienced Rust developer called <a href="https://github.com/Connicpu">Connie</a> showed interest in working on the codebase for the purposes of Pathing. At first, with a trail, and very recently trails. I couldn't be happier that this is no longer a solo effort, given how much of my time the last several months this has been.</p>
|
||||
<p>My wife also made contributions to the codebase; providing Pathing with the depth buffer stolen from the game via Retour, alongside refactoring the addon to be compatible with being loaded by either Nexus <em>or</em> ArcDPS.</p>
|
||||
<p>Given the way this continues, I want to migrate all development into a GitHub organization and set up a community in our own right, hopefully refactoring TaimiHUD into a set of addons and libraries.</p>
|
||||
<h2>Nexus, ArcDPS and arcloader</h2>
|
||||
<p>Delta (the author of Nexus, not to be confused with deltaconnected, the author of ArcDPS (not to be confused with arcnmx, my wife)) has been a relatively accomodating addon loader creator, although we have our share of disagreements. In Nexus's future, I would like to see it licensed under a proper open-source license, instead of simply being source-available, whether or not I think the codebase is the epitome of what it could necessarily be.</p>
|
||||
<p>Often, it feels like decisions are relatively slapdash... an example of this would be textures being a shared asset amongst addons, thus never being unloaded/garbage-collected/..., causing "memory leaks" should one use Nexus's own texture loader implementation for their code.</p>
|
||||
<p>Given that Raidcore's own internal project on Pathing for the last year has been a ...gentle fiasco in its own right, I do find the closed-source nature of those developments upsetting. At least if they had shared our paradigm, someone else would be able to take the torch and continue the work that needs doing, working from the source-code, however low the author's own opinions of it are?</p>
|
||||
<p>My wife has a lot of opinions on the current state of Nexus, and I think she should make a blogpost of her own to talk about them in detail. Her work in wanting to be able to load TaimiHUD without using Nexus led to her own project, <a href="https://github.com/arcnmx/arcloader">arcloader</a> and I think it's very cute! (it's also MIT licensed 💜💜💜, what a chad!)</p>
|
||||
<h2>Long-term</h2>
|
||||
<p>As I said prior; I would like to see TaimiHUD turned into a set of addons and libraries, this would probably be along the lines of:</p>
|
||||
<ul>
|
||||
<li>coordinates conversion library</li>
|
||||
<li>coordinates conversion API DLL</li>
|
||||
<li>3D rendering library</li>
|
||||
<li>3D rendering API DLL</li>
|
||||
<li>Pathing component addon
|
||||
<ul>
|
||||
<li>non-optional requirement for 3D rendering</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Markers component addon</li>
|
||||
<li>Timers component addon
|
||||
<ul>
|
||||
<li>optional 3D rendering use for Directions, Markers</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>I think it would also be ideal to keep this detatched from any one particular modloader?</p>
|
||||
<p>I have a fondness for my wife's arcloader, and would like to see it a project under our umbrella, we would ideally be more arcloader-centric in the future if it continues development, but I have no interest in being attached at the hip to any one modloader.</p>
|
||||
<p>My wife contributed us the revamp to support ArcDPS and I see no reason why we should not continue to support any reasonable loader options in future.</p>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
<footer>
|
||||
<hr>
|
||||
<nav id="contact">
|
||||
<ul>
|
||||
<li>E-mail: kat (at) dork (dot) dev</li>
|
||||
<li>Git: <a href="https://github.com/kittywitch">kittywitch</a></li>
|
||||
<li>Other websites of mine: <a href="https://kittywit.ch">kittywit.ch</a>, <a href="https://inskip.me">inskip.me</a>.</li>
|
||||
<li>Feed: <a href="/rss.xml">RSS</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
4
rss.xml
4
rss.xml
|
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>dork.dev</title><link>https://dork.dev</link><description>kat, the dorky developer</description><item><title>2 months into my first 3D printer</title><link>https://dork.dev/posts/2024-09-14-2-months-into-my-first-3d-printer.html</link><description><![CDATA[<p><a href="printer.jpg"><img src="printer.jpg" alt="Ender 3 V3 SE" /></a></p>
|
||||
<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>dork.dev</title><link>https://dork.dev</link><description>kat, the dorky developer</description><item><title>2025-06-19-taimihud</title><link>https://dork.dev/posts/2025-06-20-taimihud.html</link><description><![CDATA[<h1>TaimiHUD: finally, I can play Guild Wars 2 on Linux!</h1>
|
||||
]]></description><guid>https://dork.dev/posts/2025-06-20-taimihud.html</guid><pubDate>Fri, 20 Jun 2025 07:53:23 +0000</pubDate></item><item><title>2025-06-19-keyboards</title><link>https://dork.dev/posts/2025-06-20-keyboards.html</link><description><![CDATA[<h1>I built two keyboards over the last year!</h1>
|
||||
]]></description><guid>https://dork.dev/posts/2025-06-20-keyboards.html</guid><pubDate>Fri, 20 Jun 2025 07:53:17 +0000</pubDate></item><item><title>2 months into my first 3D printer</title><link>https://dork.dev/posts/2024-09-14-2-months-into-my-first-3d-printer.html</link><description><![CDATA[<p><a href="printer.jpg"><img src="printer.jpg" alt="Ender 3 V3 SE" /></a></p>
|
||||
]]></description><guid>https://dork.dev/posts/2024-09-14-2-months-into-my-first-3d-printer.html</guid><pubDate>Sat, 14 Sep 2024 19:26:06 +0000</pubDate></item><item><title>The first month of life with the Framework 13</title><link>https://dork.dev/posts/2024-04-07-the-first-month-of-life-with-the-framework-13.html</link><description><![CDATA[<h2>Preparation</h2>
|
||||
]]></description><guid>https://dork.dev/posts/2024-04-07-the-first-month-of-life-with-the-framework-13.html</guid><pubDate>Sun, 07 Apr 2024 19:34:59 +0000</pubDate></item><item><title>Doing something with this domain!</title><link>https://dork.dev/posts/2024-04-07-hello-world.html</link><description><![CDATA[<p>I've moved this website to use <a href="http://cobalt-org.github.io/">cobalt</a>! Hopefully I should be making posts here, too. ^^</p>
|
||||
]]></description><guid>https://dork.dev/posts/2024-04-07-hello-world.html</guid><pubDate>Sun, 07 Apr 2024 19:34:53 +0000</pubDate></item></channel></rss>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue