<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="https://taoofmac.com/static/css/atom.xslt"?><feed xmlns="http://www.w3.org/2005/Atom">
<title>The Tao of Mac</title>
<subtitle>Complete Wiki/Blog feed</subtitle>
<link href="https://taoofmac.com" rel="alternate" type="text/xml"/>
<link href="https://taoofmac.com/atom.xml" rel="self" type="application/atom+xml"/>
<id>https://taoofmac.com/atom.xml</id>
<updated>2026-04-11T08:43:20+00:00</updated>
<rights>CC Attribution-NonCommercial-NoDerivs 3.0</rights>
<entry>
<title>Shottr</title>
<id>https://taoofmac.com/space/apps/shottr?utm_content=atom</id>
<published>2026-04-11T08:27:00+00:00</published>
<updated>2026-04-11T08:43:20+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/apps/shottr?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead"><a href="https://shottr.cc?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Shottr</a> is a lightweight macOS screenshot and annotation tool that manages to stay focused on the useful bits while still packing in a surprising number of editing features: quick capture, measurement, redaction, OCR, scrolling screenshots, pinning, pixelation, arrows, callouts and the usual visual markup without turning into a full design app. It has the right kind of small-tool energy, and is one of those utilities that is easy to justify keeping around all the time.</p>
<p>It also has a free trial mode and is available via Homebrew, which makes it particularly easy to install and keep up to date:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>brew<span class="w"> </span>install<span class="w"> </span>--cask<span class="w"> </span>shottr
</code></pre></div>
<br/>
]]></content>
<category label="screenshots" term="screenshots"/>
<category label="macos" term="macos"/>
<category label="productivity" term="productivity"/>
<category label="apps" term="apps"/>
<category label="annotation" term="annotation"/>
</entry>
<entry>
<title>Markdown</title>
<id>https://taoofmac.com/space/markup/markdown?utm_content=atom</id>
<published>2007-02-28T21:44:57+00:00</published>
<updated>2026-04-11T08:43:20+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/markup/markdown?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead"><a href="http://daringfireball.net/projects/markdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Markdown</a> is a text-to-HTML idiom, conversion tool and all-out ecosystem for web writers, content editors and&#8230; <a href="/space/ai" rel="next" style="color: #0000cc;">AI</a>, allowing you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid (X)HTML.</p>
<p>Althought I used to prefer <a href="/space/markup/textile" rel="next" style="color: #0000cc;">Textile</a> for its table support and other niceties, Markdown has won that war and enjoys indisputably wider adoption, as well as making for slightly more readable text when writing essays.</p>
<p>Amusingly, it became the <em>lingua franca</em> of <a href="/space/ai/llm" rel="next" style="color: #0000cc;">LLMs</a> and is now the de facto standard for most modern documentation as well.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/markup/markdown#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Diagrams</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://pikchr.org/home/doc/trunk/doc/userman.md?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pikchr</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A diagram markup language designed to be embedded into Markdown, used by the SQLite project team</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="7" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Editors</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/OlaProeis/Ferrite?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Ferrite</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight text editor for multiple file formats with live preview and syntax highlighting.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mb21/panwriter?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">panwriter</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a markdown editor with import/export capabilities and a live preview pane.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gsantner/markor?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Markor</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A text editor for Android with Markdown support.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://oscargodson.github.com/EpicEditor?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">EpicEditor</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A themable JavaScript editor.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://uberwriter.wolfvollprecht.de?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Uberwriter</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A nice, clean &#8220;Linux&#8221;:os/Linux editor</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://mouapp.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Mou</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A web developer-oriented app.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://wmd-editor.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WMD</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an amazing JavaScript editor specifically tailored for Markdown</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Implementations</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/github/cmark-gfm?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">cmark-gfm</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>GitHub&#8217;s Markdown flavor in C</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://strapdownjs.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Strapdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Yet another JavaScript parser, with some neat themes and GitHub flavour support.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://fletcherpenney.net/multimarkdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MMD</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A C language implementation of MultiMarkdown</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.pell.portland.or.us/~orc/Code/discount?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">discount</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A C implementation.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Libraries</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/day50-dev/Streamdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Streamdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Python library that renders Markdown from streaming LLM replies</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/panphora/overtype?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">OverType</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A lightweight Markdown editor library using an invisible textarea overlay on a styled preview.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mark-when/markwhen?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">markwhen</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Make a cascading timeline from markdown-like text.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mixmark-io/turndown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">turndown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a JavaScript library that can convert HTML to Markdown</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/romansky/dom-to-semantic-markdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">dom-to-semantic-markdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>another JavaScript library that can convert HTML to semantic Markdown, which is great for LLMs and reading mode</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/shakedlokits/stash?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">stash</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A CLI tool to bidirectionally sync Markdown files with Apple Notes using front-matter.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/iamgio/quarkdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">quarkdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A TeX-like authoring system written in Kotlin that compiles to Markdown.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/microsoft/markitdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">markitdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Python tool for converting files and office documents to Markdown.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/visit1985/mdp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mdp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A very neat terminal presentation tool.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/drbunsen/formd?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">formd</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A tool to convert between inline and reference Markdown links.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://johnmacfarlane.net/pandoc?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Pandoc</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A markup converter written in Haskell</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">macOS</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/xykong/flux-markdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">flux-markdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A macOS QuickLook plugin that provides a richer Markdown preview, effectively a more modern take on local file previewing for Markdown documents.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/sbarex/QLMarkdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">QLMarkdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A nicer, more full featured QuickLook previewer for Markdown files.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Watson1978/QLMarkdownGFM?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">QLMarkdownGFM</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Quicklook generator for GitHub Flavored Markdown</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://brettterpstra.com/project/markdown-service-tools?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Markdown Service Tools</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A set of OS X system services to manipulate text.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://code.google.com/p/readown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">readown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Cocoa viewer that wraps the PHP renderer.</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
</entry>
<entry>
<title>Hyperkey</title>
<id>https://taoofmac.com/space/apps/hyperkey?utm_content=atom</id>
<published>2026-04-11T08:13:00+00:00</published>
<updated>2026-04-11T08:16:16+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/apps/hyperkey?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead"><a href="https://github.com/feedthejim/hyperkey?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hyperkey</a> is a tiny macOS menu bar utility that turns Caps Lock into a proper Hyper key, which is one of those small affordances that can make a keyboard-driven setup much more pleasant. The nice bit here is that it does this without dragging in the usual heavier remapping machinery, so it feels like a lightweight answer to a very specific itch.</p>
<p>If you use custom shortcuts or window-management tools, having an easy way to get a full <code>Cmd+Ctrl+Opt+Shift</code> chord out of Caps Lock is surprisingly useful.</p>
<br/>
]]></content>
<category label="productivity" term="productivity"/>
<category label="shortcuts" term="shortcuts"/>
<category label="macos" term="macos"/>
<category label="keyboard" term="keyboard"/>
<category label="apps" term="apps"/>
</entry>
<entry>
<title>TypeWhisper</title>
<id>https://taoofmac.com/space/apps/typewhisper?utm_content=atom</id>
<published>2026-04-11T08:10:00+00:00</published>
<updated>2026-04-11T08:16:16+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/apps/typewhisper?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p/><figure><img alt="TypeWhisper screenshot" src="https://taoofmac.com/media/apps/typewhisper/vKGl3wAi6KP7RZItDV3sv_xkCcc=/home.png" width="2124" height="1696" style="max-width: 100% !important;height: auto !important;"/><figcaption>TypeWhisper screenshot</figcaption></figure><p/>
<p class="lead"><a href="https://github.com/TypeWhisper/typewhisper-mac?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">TypeWhisper</a> is a rather pragmatic macOS dictation and speech-processing tool that can use Apple&#8217;s own speech stack as well as other on-device models, which makes it more interesting to me than the usual cloud-first transcription wrappers. It also layers prompt-driven text processing on top of raw transcription, so it sits somewhere between dictation utility and local speech workbench.</p>
<p>The more appealing aspect here is that it can stay local when you want it to, but still gives you a fair amount of flexibility in engines and workflow. That makes it potentially useful not just for transcription, but also as a general accessibility and text-entry aid across the desktop.</p>
<br/>
]]></content>
<category label="speech" term="speech"/>
<category label="ai" term="ai"/>
<category label="dictation" term="dictation"/>
<category label="transcription" term="transcription"/>
<category label="accessibility" term="accessibility"/>
<category label="macos" term="macos"/>
<category label="apps" term="apps"/>
</entry>
<entry>
<title>Cotypist</title>
<id>https://taoofmac.com/space/apps/cotypist?utm_content=atom</id>
<published>2026-04-11T07:56:00+00:00</published>
<updated>2026-04-11T08:16:16+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/apps/cotypist?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p/><figure><img alt="Cotypist screenshot" src="https://taoofmac.com/media/apps/cotypist/0BYxGyJ6LGtNGRZjn_9PtSOH5hY=/cotypist-hero.gif" width="1200" height="221" style="max-width: 100% !important;height: auto !important;"/><figcaption>Cotypist screenshot</figcaption></figure><p/>
<p class="lead"><a href="https://cotypist.app?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cotypist</a> is one of the more interesting recent takes on system-wide text completion on the Mac, mostly because it appears to keep processing local and to use screenshot-derived context to improve what it suggests. That makes it potentially useful well beyond the usual &#8220;AI writing helper&#8221; niche, especially in situations where the surrounding UI matters as much as the current text field.</p>
<p>It also strikes me as a potentially valuable accessibility tool, since this kind of ambient completion can reduce typing effort, help with repetitive text entry, and provide a softer assistive layer across applications rather than inside a single editor.</p>
<p>It is currently free during the beta period, which lowers the barrier to giving it a try.</p>
<br/>
]]></content>
<category label="productivity" term="productivity"/>
<category label="ai" term="ai"/>
<category label="text-completion" term="text-completion"/>
<category label="writing" term="writing"/>
<category label="accessibility" term="accessibility"/>
<category label="macos" term="macos"/>
<category label="apps" term="apps"/>
</entry>
<entry>
<title>The Cudy AX3000 Wi-Fi 6 System (with OpenWRT)</title>
<id>https://taoofmac.com/space/reviews/2025/09/14/1630?utm_content=atom</id>
<published>2025-09-14T16:30:00+00:00</published>
<updated>2026-04-10T20:52:08+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/reviews/2025/09/14/1630?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">As I&#8217;ve been writing about <a href="/space/notes/2025/08/17/1545" rel="next" style="color: #0000cc;">once</a> or <a href="/space/notes/2025/08/31/2200" rel="next" style="color: #0000cc;">twice</a>, I&#8217;ve recently upgraded my Wi-Fi after an attempt to use ISP-provided equipment to replace my remarkably long-lasting (and extremely reliable) <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extreme</a> base stations.</p>
<p>The short of it is that I ended up getting a few <a href="https://www.amazon.es/gp/product/B0DH5BK26K/ref=as_li_tl?_encoding=UTF8&amp;tag=taoofmac-21&amp;linkCode=ur2&amp;camp=3638&amp;creative=24630&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy M3000</a> and setting up <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> on them:</p>
<p/><figure><img alt="The M3000 standalone router/access point" src="https://taoofmac.com/media/reviews/2025/09/14/1630/QfMA3Rk5ygLOffOJsnLU1sWswV8=/cudy_hero.jpg" width="1280" height="1280" style="max-width: 100% !important;height: auto !important;"/><figcaption>The M3000 standalone router/access point</figcaption></figure><p/>
<blockquote>
<p><strong>Disclaimer:</strong> Although I sought out (and paid for) several <a href="https://www.amazon.es/gp/product/B0DH5BK26K/ref=as_li_tl?_encoding=UTF8&amp;tag=taoofmac-21&amp;linkCode=ur2&amp;camp=3638&amp;creative=24630&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">M3000</a> units myself, I&#8217;m following my standard format and <a href="/space/site/review_policy" rel="next" style="color: #0000cc;">review policy</a> for consistency, since this is more or less a &#8220;review&#8221;.</p>
</blockquote>
<p>The long of it has been a somewhat fun journey, so here&#8217;s the full story.</p>
<a class="anchor" id="anchor-the-story-so-far" rel="anchor" href="/space/reviews/2025/09/14/1630#the-story-so-far" style="color: #0000cc;"><h2 id="the-story-so-far">The Story So Far</h2></a><p>In case you&#8217;ve landed here without any context, I recently <a href="/space/notes/2025/08/10/2100" rel="next" style="color: #0000cc;">switched ISPs</a> and the initial configuration included a set of Wi-Fi 7 extenders to replace my (very) long-lived <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extreme</a> base stations.</p>
<p>This was a somewhat protracted thing and I had plenty of time to lay down the groundwork by <a href="/space/reviews/2025/08/03/1900" rel="next" style="color: #0000cc;">upgrading my LAN to 2.5GbE Ethernet with a few 10GbE ports</a>, but after a week of living with the system <a href="/space/notes/2025/08/17/1545" rel="next" style="color: #0000cc;">I decided I wanted something I could manage myself</a> due to a bunch of management restrictions and outright compatibility problems I could not re-configure it to overcome, because everything is locked out by my ISP.</p>
<p>My functional requirements were pretty clear:</p>
<ul>
<li><strong>Fully local, browser-based management</strong> (I don&#8217;t mind managing each device individually).</li>
<li><strong>Absolutely <em>zero</em> cloud management features</strong>. Zilch. Nada. No setting up a user account with the vendor or any external dependencies (I don&#8217;t want or need off-site remote management&#8212;and if I did, I could set it up myself.)</li>
<li><strong>No mobile apps required</strong> (or desirable) for either initial setup or daily tweaks (which was something I actually didn&#8217;t like about the <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extremes</a> even if it was very convenient to have management baked into iOS).</li>
<li><strong>Not an ugly arachnoid eyesore</strong> (we can&#8217;t hang access points off walls or ceilings, and the Airport Extremes became effectively invisible in plain sight).</li>
</ul>
<p>And the <a href="https://www.amazon.es/gp/product/B0DH5BK26K/ref=as_li_tl?_encoding=UTF8&amp;tag=taoofmac-21&amp;linkCode=ur2&amp;camp=3638&amp;creative=24630&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">M3000</a> doesn&#8217;t look half bad compared to an <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extreme</a>, so that was <em>definitely</em> a reason for me to take a second look (they come in black too, but the white ones were drop-in replacements for the Airports in our decor).</p>
<p/><figure><img alt="As you can see, they are pretty neutral. I will miss the extra LAN and USB ports, though." src="https://taoofmac.com/media/reviews/2025/09/14/1630/GGbDadDDTpNqaZ1XSrsowRmfQSk=/cudy_side_by_side.jpg" width="2048" height="1024" style="max-width: 100% !important;height: auto !important;"/><figcaption>As you can see, they are pretty neutral. I will miss the extra LAN and USB ports, though.</figcaption></figure><p/>
<p>Technically, I had a few more requirements:</p>
<ul>
<li>I wanted &#8220;dumb&#8221; access points. No routing, no meshing, no weird/proprietary vendor features&#8212;just a box able to turn Ethernet packets into radio and back again.</li>
<li>I decided to aim for Wi-Fi 6/6E (I quickly realized that we only have a couple of MacBooks able to do Wi-Fi 7 and that most of our devices are Wi-Fi 6 capable).</li>
<li>Full control over all Wi-Fi features (channel, SSIDs, power, etc.) with support for an arbitrary number of SSIDs (with VLAN mapping of each) on both 2.4/5 GHz (or 6 GHz if available).</li>
<li>No band steering (it does not really work in our scenario, and one of the biggest gripes I had with our ISP setup was that I couldn&#8217;t turn it off).</li>
<li>2.5GbE backhaul (gigabit-plus Wi-Fi is useless if you can&#8217;t pipe it through.)</li>
<li><em>At least one</em> pass-through Ethernet port (the Airport Extreme has three additional GbE ports, which is still apparently a premium configuration over a decade later but has proven very, very handy)</li>
</ul>
<p><a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> was not really a requirement, but since my first-ever Wi-Fi access points were indeed <a href="/space/com/linksys/wrt54g" rel="next" style="color: #0000cc;">WRT54G</a> devices and I have <a href="/space/com/linksys/wrt54g3g-eu" rel="next" style="color: #0000cc;">a <em>long</em> history</a> with it, that&#8217;s where I started my research, and <a href="https://www.cudy.com/en-eu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy</a> hardware had quite a few positive references.</p>
<p>Moreover, they actually provide instructions on how to re-flash their devices with <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a>, and there is an upgrade path to the currently supported version (as well as a likely runway of official <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> support for a few years at least), so they soon rose to the top of my list.</p>
<a class="anchor" id="anchor-factory-firmware" rel="anchor" href="/space/reviews/2025/09/14/1630#factory-firmware" style="color: #0000cc;"><h2 id="factory-firmware">Factory Firmware</h2></a><p>The factory firmware is actually <em>very</em> nice, and makes an excellent job of exposing all of the features as well as guiding users through initial setup of the devices either as a router or as an access point in various configurations:</p>
<figure>
  <video controls="" autoplay="" loop="" muted="" playsinline="" style="width: 100%" poster="/media/reviews/2025/09/14/1630/xR9fsWz4QX8oZmxD7Tp-5TggbXE=/cudy_ui.jpg" aria-label="Screen recording of the Cudy web interface being configured">
    <source src="/media/reviews/2025/09/14/1630/rQW1skjHXFdvlWs3ITEGexRtrsw=/cudy_ui.mp4" type="video/mp4">
    <img src="https://taoofmac.com/media/reviews/2025/09/14/1630/xR9fsWz4QX8oZmxD7Tp-5TggbXE=/cudy_ui.jpg" style="max-width: 100%;height: auto;width: 100%" alt="Static screenshot of the Cudy web interface" width="1724" height="1080"/>
  </source></video>
  <figcaption>The base Cudy UI is very comprehensive.</figcaption>
</figure>

<p>I didn&#8217;t run it for long, but it seems to do a very good job of exposing both <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> core functionality and the additional features <a href="https://www.cudy.com/en-eu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy</a> added. Although I didn&#8217;t install their app or tried to manage it remotely, I&#8217;d say most people would be well served by the factory firmware&#8211;and since it even supports TR069 for carrier remote management, ISPs probably should take a look at it too.</p>
<p>But my objective was to make sure I had full control of the hardware and run these on the latest vanilla <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a>, so there were a few more steps involved.</p>
<a class="anchor" id="anchor-conversion-process" rel="anchor" href="/space/reviews/2025/09/14/1630#conversion-process" style="color: #0000cc;"><h2 id="conversion-process">Conversion Process</h2></a><p>The first thing I needed to do was unlock the factory firmware. The white/grey devices I have are &#8220;V2&#8221; hardware, but <a href="https://www.cudy.com/en-eu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy</a> themselves say that the firmware is identical to the V1 (which is black with red trimming) and provide a vanilla <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> 23.05 image, so I started out with that.</p>
<p>The <a href="https://www.cudy.com/en-eu/blogs/faq/openwrt-software-download?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy support page</a> links to their <a href="https://drive.google.com/drive/folders/1BKVarlwlNxf7uJUtRhuMGUqeCa5KpMnj?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Google Drive</a>, where you can download the <code>M3000 V1.zip</code> file (for both V1/V2).</p>
<p>That ZIP file contains a Windows version of <code>tftpd</code> (which is an extra nice touch, even if it triggers a bunch of virus warnings), a comprehensive set of instructions for Windows users in a PDF and a few firmware files, which we&#8217;ll get to in a moment.</p>
<p>To get the latest supported firmware, I went to the <a href="https://firmware-selector.openwrt.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">OpenWRT Firmware Selector</a> and looked for the Cudy M3000, downloading the latest <code>sysupgrade</code> file. I downloaded <code>24.10.2 (r28739-d9340319c6)</code>.</p>
<p>I then set up <code>tftpd</code> on one of my <a href="os/linux/fedora" rel="nofollow" style="color: #0000cc;">Fedora</a> laptops (because, I don&#8217;t have personal Windows machines anymore) and wired it up to the LAN port on the <a href="https://www.amazon.es/gp/product/B0DH5BK26K/ref=as_li_tl?_encoding=UTF8&amp;tag=taoofmac-21&amp;linkCode=ur2&amp;camp=3638&amp;creative=24630&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">M3000</a>.</p>
<p>To enable it to get at the <code>recovery.bin</code> file via TFTP, I copied that file to <code>/var/lib/tftpboot</code>, set my laptop to IP address <code>192.168.1.88</code> and restarted <code>tftpd</code>.</p>
<p>I then held down the power button on the <a href="https://www.amazon.es/gp/product/B0DH5BK26K/ref=as_li_tl?_encoding=UTF8&amp;tag=taoofmac-21&amp;linkCode=ur2&amp;camp=3638&amp;creative=24630&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">M3000</a>, plugged in the barrel jack, waited until the lights settled (solid red in my case) and then reset my laptop to use DHCP, because the next step is to log in to the (now unlocked) <a href="https://www.cudy.com/en-eu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy</a> web UI at <code>http://192.168.10.1</code>.</p>
<p>Once you&#8217;re there, go to Advanced Settings/Firmware and upload <code>cudy_m3000-v1-sysupgrade.bin</code> (checksum <code>d09cdb39e9544b1d33a4daf28964c50b</code>), which is also provided in the ZIP file.</p>
<p>This gives you a vanilla <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> 23.05 install, and you then go to <code>http://192.168.1.1/cgi-bin/luci/admin/system/flash</code>, upload the 24.10.2 file and&#8230; you&#8217;re done.</p>
<a class="anchor" id="anchor-tl-dr" rel="anchor" href="/space/reviews/2025/09/14/1630#tl-dr" style="color: #0000cc;"><h3 id="tldr">TL;DR</h3></a><ul>
<li>Connect to the LAN port.</li>
<li>Set your IP address to <code>192.168.1.88</code>.</li>
<li>Start <code>tftpd</code> with the <code>recovery.bin</code> file in <code>/var/lib/tftpboot</code>.</li>
<li>Plug in the power jack while holding the power button, wait until the lights settle (solid red in my case).</li>
<li>Reconfigure your machine from <code>192.168.1.88</code> to DHCP.</li>
<li>Log in to the <a href="https://www.cudy.com/en-eu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy</a> web UI (<code>http://192.168.10.1</code>), go to Advanced Settings/Firmware and upload <code>cudy_m3000-v1-sysupgrade.bin</code> (<code>d09cdb39e9544b1d33a4daf28964c50b</code>).</li>
<li>Wait for it to reboot.</li>
<li>Go to <code>http://192.168.1.1/cgi-bin/luci/admin/system/flash</code> and upload the 24.10.2 sysupgrade image.</li>
</ul>
<a class="anchor" id="anchor-openwrt-configuration" rel="anchor" href="/space/reviews/2025/09/14/1630#openwrt-configuration" style="color: #0000cc;"><h2 id="openwrt-configuration">OpenWRT Configuration</h2></a><p>I initially got a standalone unit to test and then bought a 3-pack and another standalone unit (to keep as a cold spare), so I had a working configuration I could use to set up the new nodes way before I got them all.</p>
<p>Over that initial week with the first unit, I sorted out all of the details:</p>
<ul>
<li>Disabled the built-in DHCP server</li>
<li>Added both Ethernet ports to the <code>br-lan</code> bridge to allow pass-through (this way I can plug an Apple TV or similar directly into the gigabit port)</li>
<li>Set the timezone, checked that NTP worked correctly, etc.</li>
<li>Installed <code>rsync</code> and <code>luci-app-statistics</code> to play around with configuration files and monitoring</li>
<li>Set up the 2.4GHz radio for a &#8220;compatibility mode&#8221; that wouldn&#8217;t frustrate my IoT devices (including the many low bitrate ESP32s lying around)</li>
<li>Set up WPA3 on the 5GHz radio to enable full <code>802.11ax</code> data rates (I also punched up the channel width to 160Mhz and set up <code>802.11r</code> for faster hand-overs)</li>
</ul>
<p>This bit is probably the most interesting for everyone, so here&#8217;s a redacted version of my initial <code>/etc/config/wireless</code>:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code><span class="na">config wifi-device 'radio0'</span>
<span class="w">    </span><span class="na">option type 'mac80211'</span>
<span class="w">    </span><span class="na">option path 'platform/soc/18000000.wifi'</span>
<span class="w">    </span><span class="na">option channel 'auto'</span>
<span class="w">    </span><span class="na">option band '2g'</span>
<span class="w">    </span><span class="na">option htmode 'HT40'</span>
<span class="w">    </span><span class="na">option legacy_rates '1'</span>
<span class="w">    </span><span class="na">option country 'PT'</span>
<span class="w">    </span><span class="na">option cell_density '1'</span>

<span class="na">config wifi-iface 'default_radio0'</span>
<span class="w">    </span><span class="na">option device 'radio0'</span>
<span class="w">    </span><span class="na">option network 'lan'</span>
<span class="w">    </span><span class="na">option mode 'ap'</span>
<span class="w">    </span><span class="na">option ssid 'my_ssid'</span>
<span class="w">    </span><span class="na">option encryption 'psk-mixed'</span>
<span class="w">    </span><span class="na">option key 'my_key'</span>
<span class="w">    </span><span class="na">option ieee80211r '1'</span>
<span class="w">    </span><span class="na">option mobility_domain 'dead'</span>
<span class="w">    </span><span class="na">option ft_over_ds '0'</span>
<span class="w">    </span><span class="na">option ft_psk_generate_local '1'</span>

<span class="na">config wifi-device 'radio1'</span>
<span class="w">    </span><span class="na">option type 'mac80211'</span>
<span class="w">    </span><span class="na">option path 'platform/soc/18000000.wifi+1'</span>
<span class="w">    </span><span class="na">option channel 'auto'</span>
<span class="w">    </span><span class="na">option band '5g'</span>
<span class="w">    </span><span class="na">option htmode 'HE160'</span>
<span class="w">    </span><span class="na">option cell_density '1'</span>
<span class="w">    </span><span class="na">option country 'PT'</span>

<span class="na">config wifi-iface 'default_radio1'</span>
<span class="w">    </span><span class="na">option device 'radio1'</span>
<span class="w">    </span><span class="na">option network 'lan'</span>
<span class="w">    </span><span class="na">option mode 'ap'</span>
<span class="w">    </span><span class="na">option ssid 'my_5GHz_ssid'</span>
<span class="w">    </span><span class="na">option encryption 'sae'</span>
<span class="w">    </span><span class="na">option key 'my_5GHz_key'</span>
<span class="w">    </span><span class="na">option ocv '1'</span>
<span class="w">    </span><span class="na">option ieee80211r '1'</span>
<span class="w">    </span><span class="na">option mobility_domain 'beef'</span>
<span class="w">    </span><span class="na">option ft_over_ds '0'</span>
<span class="w">    </span><span class="na">option dtim_period '3'</span>
</code></pre></div>

<p>To set up the other nodes, I just uploaded the first one&#8217;s configuration backup, changed the hostname and IP address (given the vagaries of our new home gateway, I opted for static IPs) and plugged them in.</p>
<a class="anchor" id="anchor-performance" rel="anchor" href="/space/reviews/2025/09/14/1630#performance" style="color: #0000cc;"><h2 id="performance">Performance</h2></a><p>My iPhone and MacBook Pro can both do 1.2 Gbps down / 1.5 Gbps up within 2&#8211;3 meters of any of the access points when connecting to our internal OpenSpeedTest instance&#8212;which I&#8217;m hosting on one of my <a href="/space/blog/2024/12/26/2330" rel="next" style="color: #0000cc;">TerraMaster</a>&#8217;s 10GbE interfaces:</p>
<p/><figure><img alt="OpenSpeedTest hosted on my 10GbE NAS" src="https://taoofmac.com/media/reviews/2025/09/14/1630/TFuQON5DiV3TOb37PWsboEHjmsQ=/cudy_speedtest.png" width="1280" height="658" style="max-width: 100% !important;height: auto !important;"/><figcaption>OpenSpeedTest hosted on my 10GbE NAS</figcaption></figure><p/>
<p>Running a second simultaneous test gives obviously lower (but similar) individual results and maxes out the 2.5GbE uplink, so I would say this is about as good as it&#8217;s ever going to get, since I suspect that even if we were using Wi-Fi 7 and 6GHz, physics and the 2.5GbE backhaul would start factoring in.</p>
<p>Again, this is in a pure &#8220;flat&#8221; configuration, with all physical interfaces and radios set as part of the <code>br-lan</code>&#8211;no routing is taking place, and no layer 3 handling is happening.</p>
<p>Our staple latency test (streaming games using Steam Link from a 2.5GbE server) is buttery smooth, but then again it was already good with the <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extremes</a> (you only really need 30-50Mbps for crisp 1080p streaming), and the <a href="/space/blog/2024/02/03/2000" rel="next" style="color: #0000cc;">Logitech G Cloud</a> (which, ironically, has worse Wi-Fi than any of our iPads) works perfectly.</p>
<p>But I&#8217;ll let the data speak for itself:</p>
<p/><figure><img alt="PHY bitrate in my living room" src="https://taoofmac.com/media/reviews/2025/09/14/1630/5k3iohpY4emdK6Wr-_rKuIFdqJM=/cudy_phy.png" width="931" height="222" style="max-width: 100% !important;height: auto !important;"/><figcaption>PHY bitrate in my living room</figcaption></figure><p/>
<p>This is the same kind of performance I was getting with the Wi-Fi 7 extenders from my ISP, but:</p>
<ul>
<li>I can now <em>see</em> it, monitor it and dive into the nitty-gritty details at will instead of having to guess what was happening.</li>
<li>Even though it&#8217;s not Wi-Fi 6E, it is a massive improvement over the sub-300 Mbps I was getting from the Apple Airport Extremes.</li>
</ul>
<p>So I&#8217;m calling this a success performance-wise.</p>
<a class="anchor" id="anchor-stability" rel="anchor" href="/space/reviews/2025/09/14/1630#stability" style="color: #0000cc;"><h2 id="stability">Stability</h2></a><p>There is some occasional flip-flopping between access points, but that only happens in Linux and in places where coverage has strong overlap, so I&#8217;m not worried about it (I can always turn off <code>802.11r</code> if it becomes a nuisance, and I consider it an experiment, not a requirement):</p>
<p/><figure><img alt="This is a good example--I see a similar pattern in the nearest AP to this one" src="https://taoofmac.com/media/reviews/2025/09/14/1630/FZ9huuu8MOW_JhtK_pbrBUOLC4M=/cudy_flipflop.png" width="931" height="222" style="max-width: 100% !important;height: auto !important;"/><figcaption>This is a good example--I see a similar pattern in the nearest AP to this one</figcaption></figure><p/>
<p>Looking at the logs from both APs involved it seems to be a client issue:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>Sun Sep  7 09:50:00 2025 daemon.notice hostapd: phy1-ap0: STA a6:a8:e5:87:20:d0 IEEE 802.11: did not acknowledge authentication response
Sun Sep  7 09:50:46 2025 daemon.notice hostapd: phy1-ap0: STA a6:a8:e5:87:20:d0 IEEE 802.11: did not acknowledge authentication response
Sun Sep  7 09:50:48 2025 daemon.info hostapd: phy1-ap0: STA a6:a8:e5:87:20:d0 IEEE 802.11: associated (aid 5)
Sun Sep  7 09:50:48 2025 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED a6:a8:e5:87:20:d0 auth_alg=sae
Sun Sep  7 09:50:48 2025 daemon.info hostapd: phy1-ap0: STA a6:a8:e5:87:20:d0 WPA: pairwise key handshake completed (RSN)
Sun Sep  7 09:50:48 2025 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED a6:a8:e5:87:20:d0
Sun Sep  7 09:54:34 2025 daemon.info hostapd: phy1-ap0: STA a6:a8:e5:87:20:d0 IEEE 802.11: authenticated
Sun Sep  7 09:54:45 2025 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED a6:a8:e5:87:20:d0
</code></pre></div>

<p>This hasn&#8217;t recurred, but I will be keeping an eye on things&#8211;and if you want to dig deeper into <code>802.11r</code> configuration, <a href="https://www.libe.net/en/wlan-roaming?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">this great page</a> has a bunch of detail on it.</p>
<p>So far there haven&#8217;t been any unexpected behaviors, and since I am not using band steering (which you can add by installing <code>usteer</code> or <code>dawn</code> and their corresponding <code>luci</code> packages, by the way) everything&#8217;s been fine with my legacy devices.</p>
<a class="anchor" id="anchor-faq" rel="anchor" href="/space/reviews/2025/09/14/1630#faq" style="color: #0000cc;"><h2 id="faq">FAQ</h2></a><p>While I was going through this process, I got a bunch of feedback from people online:</p>
<ul>
<li><strong>Why not UniFi?</strong> Value for money, plain and simple. I have used Ubiquiti devices before, but I wasn&#8217;t going to pay three digits for a &#8220;dumb&#8221; access point and don&#8217;t need most of their features.</li>
<li><strong>Why not Wi-Fi 7?</strong> There isn&#8217;t anything similar with Wi-Fi 6E/7 support and 2.5GbE backhaul yet&#8211;at least not anywhere near this price point. <a href="https://www.cudy.com/en-eu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy</a> does have other models, but they haven&#8217;t released unlocked <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> firmware (yet, I hope) and besides, I am already getting gigabit-plus speeds for all my devices.</li>
<li><strong>What about meshing?</strong> It&#8217;s useless for me. We have reinforced concrete walls and two lift shafts in the middle of our flat and even 2.4 GHz has issues, which is partly why I made sure we have at least two Ethernet jacks in each room when we renovated over twenty years ago.</li>
<li><strong>What about roaming?</strong> This is a home (office), not an independent country. Standard Wi-Fi handovers work fine even if you walk around the house on a video call. I enabled <code>802.11r</code> anyway but see no need for it.</li>
<li><strong>What about central management?</strong> It&#8217;s <em>just four</em> active devices, and they&#8217;re all set up as &#8220;dumb&#8221; access points, so there isn&#8217;t a lot to manage except when I&#8217;m setting up a new VLAN or need a test SSID. Gathering stats off <a href="https://openwrt.org/docs/guide-user/luci/luci_app_statistics?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;"><code>luci-app-statistics</code></a> via <code>collectd</code> is a wheel that&#8217;s already been invented, so I don&#8217;t need a controller for that.</li>
</ul>
<p>All in all, I don&#8217;t even need the LuCI web UI, and if I need to test a complex configuration I can hack something together with <code>ssh</code> and <code>ansible</code> for reproducibility in around 30 minutes.</p>
<a class="anchor" id="anchor-conclusion" rel="anchor" href="/space/reviews/2025/09/14/1630#conclusion" style="color: #0000cc;"><h2 id="conclusion">Conclusion</h2></a><p>The <a href="https://www.amazon.es/gp/product/B0DDKVHXHL/ref=as_li_tl?_encoding=UTF8&amp;tag=taoofmac-21&amp;linkCode=ur2&amp;camp=3638&amp;creative=24630&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy AX3000/M3000</a> models make for pretty great <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extreme</a> replacements, and in this age of networking devices with cloud features nobody asked for <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> turns them into very nice locally managed access points that I will never have to worry about again (until I break the configuration myself, of course).</p>
<p>Although it is much too early to weigh in on hardware reliability (some of the <code>802.11ac</code> <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extremes</a> I was using were manufactured over a decade ago), the price/performance ratio is great, and right now I don&#8217;t mind it not being Wi-Fi 7.</p>
<p>After all, it took almost ten years for the 2.4GHz band to become saturated in my building, and it doesn&#8217;t look as if the 5GHz band is going to be massively swamped anytime soon, so I&#8217;m expecting something like 3-4 years of hassle-free operation if the hardware holds up.</p>
<p>A relevant thing I should point out again is that people who have less need for low-level control might actually be fine with the stock firmware&#8212;I did not use it extensively (nor did I try the <a href="https://www.cudy.com/en-eu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cudy</a> app or any of the router/firewall features), but it already exposes a lot more functionality (and seems a lot more flexible) than ISP gear, so I would encourage people to give it a go.</p>
<p>I suspect I will eventually come across some <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> corner cases as I succumb to the temptation to fiddle with the configuration a bit more, but given our particular situation there&#8217;s a very high chance these will just fade into the background and &#8220;just work&#8221;, which was the ideal outcome that Apple pretty much nailed with the <a href="/space/com/apple/airport/extreme" rel="next" style="color: #0000cc;">Airport Extremes</a>&#8230;</p>
<blockquote>
<p><strong>Update, September 24, 2025:</strong> I decided to tweak my settings a little bit and enabled 802.11k/v on both radios, which seems to have improved the flip-flopping. That meant upgrading <code>wpad-basic-mbedtls</code> to the full version (<code>opkg update &amp;&amp; opkg remove wpad-basic-mbedtls &amp;&amp; opkg install wpad-mbedtls</code>) and the following settings:</p>
</blockquote>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code><span class="na">config wifi-device 'radio0'</span>
<span class="w">        </span><span class="na">option type 'mac80211'</span>
<span class="w">        </span><span class="na">option path 'platform/soc/18000000.wifi'</span>
<span class="w">        </span><span class="na">option channel 'auto'</span>
<span class="w">        </span><span class="na">option band '2g'</span>
<span class="w">        </span><span class="na">option htmode 'HT40'</span>
<span class="w">        </span><span class="na">option legacy_rates '1'</span>
<span class="w">        </span><span class="na">option country 'PT'</span>
<span class="w">        </span><span class="na">option cell_density '1'</span>

<span class="na">config wifi-iface 'default_radio0'</span>
<span class="w">        </span><span class="na">option device 'radio0'</span>
<span class="w">        </span><span class="na">option network 'lan'</span>
<span class="w">        </span><span class="na">option mode 'ap'</span>
<span class="w">        </span><span class="na">option ssid 'my_ssid'</span>
<span class="w">        </span><span class="na">option encryption 'psk-mixed'</span>
<span class="w">        </span><span class="na">option key 'my_key'</span>
<span class="w">        </span><span class="na">option ieee80211r '1'</span>
<span class="w">        </span><span class="na">option mobility_domain 'dead'</span>
<span class="w">        </span><span class="na">option ft_over_ds '0'</span>
<span class="w">        </span><span class="na">option ft_psk_generate_local '1'</span>
<span class="w">        </span><span class="na">option ieee80211k '1'</span>
<span class="w">        </span><span class="na">option wnm_sleep_mode '1'</span>
<span class="w">        </span><span class="na">option wnm_sleep_mode_no_keys '1'</span>
<span class="w">        </span><span class="na">option bss_transition '1'</span>
<span class="w">        </span><span class="na">option proxy_arp '1'</span>

<span class="na">config wifi-device 'radio1'</span>
<span class="w">        </span><span class="na">option type 'mac80211'</span>
<span class="w">        </span><span class="na">option path 'platform/soc/18000000.wifi+1'</span>
<span class="w">        </span><span class="na">option channel 'auto'</span>
<span class="w">        </span><span class="na">option band '5g'</span>
<span class="w">        </span><span class="na">option htmode 'HE160'</span>
<span class="w">        </span><span class="na">option cell_density '1'</span>
<span class="w">        </span><span class="na">option country 'PT'</span>

<span class="na">config wifi-iface 'default_radio1'</span>
<span class="w">        </span><span class="na">option device 'radio1'</span>
<span class="w">        </span><span class="na">option network 'lan'</span>
<span class="w">        </span><span class="na">option mode 'ap'</span>
<span class="w">        </span><span class="na">option ssid 'my_5GHz_ssid'</span>
<span class="w">        </span><span class="na">option encryption 'sae'</span>
<span class="w">        </span><span class="na">option key 'my_5GHz_key'</span>
<span class="w">        </span><span class="na">option ocv '1'</span>
<span class="w">        </span><span class="na">option ieee80211r '1'</span>
<span class="w">        </span><span class="na">option mobility_domain 'beef'</span>
<span class="w">        </span><span class="na">option ft_over_ds '0'</span>
<span class="w">        </span><span class="na">option dtim_period '3'</span>
<span class="w">        </span><span class="na">option ieee80211k '1'</span>
<span class="w">        </span><span class="na">option wnm_sleep_mode '1'</span>
<span class="w">        </span><span class="na">option wnm_sleep_mode_no_keys '1'</span>
<span class="w">        </span><span class="na">option bss_transition '1'</span>
<span class="w">        </span><span class="na">option proxy_arp '1'</span>
</code></pre></div>

<p>I suspect I might have to tweak the <code>802.11k</code> settings a bit more, but so far it seems to be working well.</p>
<blockquote>
<p><strong>Update, December 2025:</strong> I've been told that [Cudy] has updated their [OpenWRT page][cudy_support] with newer firmware versions, so if you're doing this now, make sure to check there first since new hardware revisions (serial numbers starting with 2543) require a different recovery image (good thing I bought a spare unit to keep things uniform). So far, I've had zero issues with any of mine.</p>
</blockquote>

<a class="anchor" id="anchor-one-more-update" rel="anchor" href="/space/reviews/2025/09/14/1630#one-more-update" style="color: #0000cc;"><h2 id="one-more-update">One More Update</h2></a><p>After a few more months of living with these, I ended up revisiting the 5GHz configuration. The main thing I changed was to stop trying to be clever with <code>HE160</code>. It <em>did</em> work, and on paper it looked great (those headline PHY rates are always tempting), but in practice it made the whole setup feel a bit too fussy for a house where I care more about moving around on FaceTime calls and carrying on with work than about wringing the last possible megabit out of a speed test. In hindsight this was fairly obvious: <code>HE160</code> is a lot of channel width to throw at a multi-AP setup, and I was also leaving channel selection on <code>auto</code>, which wasn&#8217;t helping matters.</p>
<p>So I simplified things.</p>
<p>I kept the 5GHz SSID as the &#8220;good&#8221; network &#8211; WPA3, <code>802.11r</code>, <code>802.11k</code>, <code>802.11v</code>, all the usual niceties &#8211; but moved the radios to <code>HE80</code> and assigned fixed channels to each AP. That gave me a much saner setup: lower theoretical peak rates, yes, but much better behaviour in day-to-day use.</p>
<p>The current 5GHz plan is now:</p>
<ul>
<li>AP 1: channel <code>36</code></li>
<li>AP 2: channel <code>52</code></li>
<li>AP 3: channel <code>100</code></li>
<li>AP 4: channel <code>116</code></li>
</ul>
<p>And the relevant <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> configuration now looks like this:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code><span class="n">config</span><span class="w"> </span><span class="n">wifi</span><span class="o">-</span><span class="n">device</span><span class="w"> </span><span class="s1">'radio1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">type</span><span class="w"> </span><span class="s1">'mac80211'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="s1">'platform/soc/18000000.wifi+1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">channel</span><span class="w"> </span><span class="s1">'36'</span><span class="w">   </span><span class="c1"># vary per AP: 36 / 52 / 100 / 116</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">band</span><span class="w"> </span><span class="s1">'5g'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">htmode</span><span class="w"> </span><span class="s1">'HE80'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">cell_density</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">country</span><span class="w"> </span><span class="s1">'PT'</span>

<span class="n">config</span><span class="w"> </span><span class="n">wifi</span><span class="o">-</span><span class="n">iface</span><span class="w"> </span><span class="s1">'default_radio1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">device</span><span class="w"> </span><span class="s1">'radio1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">network</span><span class="w"> </span><span class="s1">'lan'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">mode</span><span class="w"> </span><span class="s1">'ap'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">ssid</span><span class="w"> </span><span class="s1">'7 5GHz'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">encryption</span><span class="w"> </span><span class="s1">'sae'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">key</span><span class="w"> </span><span class="s1">'...'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">ocv</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">ieee80211r</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">mobility_domain</span><span class="w"> </span><span class="s1">'beef'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">ft_over_ds</span><span class="w"> </span><span class="s1">'0'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">dtim_period</span><span class="w"> </span><span class="s1">'3'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">ieee80211k</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">wnm_sleep_mode</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">wnm_sleep_mode_no_keys</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">bss_transition</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w">        </span><span class="n">option</span><span class="w"> </span><span class="n">proxy_arp</span><span class="w"> </span><span class="s1">'1'</span>
</code></pre></div>

<p>The rationale is simple enough:</p>
<ul>
<li><code>HE160</code> is fine if you care more about peak throughput than roaming, but I don&#8217;t.</li>
<li>Fixed channels make overlap and neighbour relationships much easier to reason about.</li>
<li><code>802.11r</code> only really makes sense if all APs serving a given SSID are configured consistently, so tidiness matters more than &#8220;advanced&#8221; settings.</li>
<li>Keeping the 2.4GHz network as the compatibility lane for older and IoT devices is still the right trade-off here.</li>
</ul>
<p>So far this seems to have paid off. The 5GHz metrics now look much more sensible, and the APs are behaving in a way that feels a lot closer to what I wanted in the first place.</p>
<p>The other thing I finally got around to doing was centralising the AP metrics. I already had <a href="https://openwrt.org/docs/guide-user/luci/luci_app_statistics?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;"><code>luci-app-statistics</code></a> and <code>collectd</code> on all of them, so rather than inventing some sort of controller story for a handful of dumb APs, I just pointed them all at the Graphite instance I already had on the network. This turned out to be mildly more annoying than expected, because although <code>collectd-mod-write-graphite</code> is available, the LuCI-side renderer for it wasn&#8217;t present on these installs &#8211; so adding a UCI block under <code>luci_statistics</code> wasn&#8217;t enough to get a runtime config generated.</p>
<p>The package installation itself is straightforward:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>opkg<span class="w"> </span>update
opkg<span class="w"> </span>install<span class="w"> </span>collectd-mod-write-graphite
</code></pre></div>

<p>The part that actually mattered was dropping a native <code>collectd</code> include file into place:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>LoadPlugin<span class="w"> </span>write_graphite
<span class="nt">&lt;Plugin</span><span class="w"> </span><span class="err">write_graphite</span><span class="nt">&gt;</span>
<span class="w">  </span><span class="nt">&lt;Node</span><span class="w"> </span><span class="err">"graphite"</span><span class="nt">&gt;</span>
<span class="w">    </span>Host<span class="w"> </span>"192.168.1.250"
<span class="w">    </span>Port<span class="w"> </span>"2003"
<span class="w">    </span>Protocol<span class="w"> </span>"tcp"
<span class="w">    </span>Prefix<span class="w"> </span>"collectd."
<span class="w">    </span>Postfix<span class="w"> </span>""
<span class="w">    </span>StoreRates<span class="w"> </span>true
<span class="w">    </span>AlwaysAppendDS<span class="w"> </span>false
<span class="w">    </span>EscapeCharacter<span class="w"> </span>"_"
<span class="w">  </span><span class="nt">&lt;/Node&gt;</span>
<span class="nt">&lt;/Plugin&gt;</span>
</code></pre></div>

<p>That lives in:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>/etc/collectd/conf.d/write_graphite.conf
</code></pre></div>

<p>and after that it was just a matter of restarting <code>collectd</code>:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>/etc/init.d/collectd<span class="w"> </span>restart
</code></pre></div>

<p>That was enough to get all the APs reporting centrally, which makes comparing station counts, signal levels and bitrate across the house a lot easier than peering at each box individually.</p>
<p>If anything, this only reinforced my original conclusion: there is still no compelling reason to replace a handful of perfectly good <a href="os/linux/openwrt" rel="nofollow" style="color: #0000cc;">OpenWRT</a> access points with a controller ecosystem when a bit of channel planning and a central metrics sink get you most of the way there.</p>
<br/>
]]></content>
<category label="cudy" term="cudy"/>
<category label="homelab" term="homelab"/>
<category label="networking" term="networking"/>
<category label="openwrt" term="openwrt"/>
<category label="ax3000" term="ax3000"/>
<category label="hardware" term="hardware"/>
<category label="m3000" term="m3000"/>
<category label="wifi" term="wifi"/>
<category label="reviews" term="reviews"/>
</entry>
<entry>
<title>Clojure(Script)</title>
<id>https://taoofmac.com/space/dev/clojure?utm_content=atom</id>
<published>2013-08-20T17:09:00+00:00</published>
<updated>2026-04-11T08:16:16+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/dev/clojure?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">Clojure is a <a href="/space/dev/lisp" rel="next" style="color: #0000cc;">LISP</a> dialect that targets the <a href="/space/dev/java" rel="next" style="color: #0000cc;">Java</a> VM - but that also happens to have a number of other back-ends, including a <a href="/space/dev/javascript" rel="next" style="color: #0000cc;">JavaScript</a> one. </p>
<p/><div class="message error" role="alert">
    <p><b>Error:</b> Could not parse 'table.yaml'</p>
<pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;">while parsing a block mapping
  in "&lt;byte string&gt;", line 2, column 1
did not find expected key
  in "&lt;byte string&gt;", line 438, column 1
</pre>
</div>
<br/>
]]></content>
<category label="lisp" term="lisp"/>
<category label="clojurescript" term="clojurescript"/>
<category label="clojure" term="clojure"/>
<category label="development" term="development"/>
</entry>
<entry>
<title>Window Managers</title>
<id>https://taoofmac.com/space/apps/window_managers?utm_content=atom</id>
<published>2010-08-05T21:43:06+00:00</published>
<updated>2026-04-10T11:03:57+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/apps/window_managers?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">Window managers on <a href="/space/com/apple/macos" rel="next" style="color: #0000cc;">macOS</a> (and <a href="/space/com/microsoft/windows" rel="next" style="color: #0000cc;">Windows</a>) are auxiliary programs that try to complement the system&#8217;s own handling of windows, and are not as powerful as <a href="/space/apps/x11" rel="next" style="color: #0000cc;">X11</a> window managers. However, there are a few exceptions, and as I started using bigger and bigger (and more) displays I&#8217;ve been using them on a daily basis.</p>
<p>My requirements change over time and in different circumstances (sometimes I need an automatic tiling window manager, sometimes I just want good window snapping to predefined zones), so I experiment a fair bit&#8211;the listing below contains most of my favorites over time in various operating systems.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/apps/window_managers#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p>Apps are listed as <em>primarily</em> keyboard or mouse driven even though most support both kinds of input. What matters in that classification is the <em>fastest</em> way to arrange windows.</p>
<p>Some commercial solutions (and potentially insecure Mac solutions like <code>yabai</code>, which require you to explicitly disable System Integrity Protection) are <em>intentionally</em> ignored.</p>
<p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Platform</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td rowspan="12" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Automatic Tiling</td>
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Linux</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/YaLTeR/niri?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">niri</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A scrollable tiling Wayland compositor inspired in PaperWM</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hyprwm/Hyprland?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hyprland</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a highly customizable dynamic tiling Wayland compositor</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/leukipp/cortile?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">cortile</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An auto tiling manager that provides tiling window management atop existing window managers</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/paperwm/PaperWM?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">PaperWM</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A scrollable tiling GNOME Shell extension</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Windows</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/LGUG2Z/komorebi?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">komorebi</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Seems to support a number of common tiled layouts</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dalyIsaac/Whim?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Whim</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>i3-inspired, configured using C# scripting</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/glsorre/amethystwindows?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Amethyst Windows</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An XMonad-like tiling window manager for Windows</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/glzr-io/glazewm?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">glazewm</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>i3-inspired with rules for specific windows or monitors</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rickbutton/workspacer?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Workspacer</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Also XMonad-like, configurable via C#</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">macOS</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/acsandmann/rift?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">rift</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>i3-inspired, supports stacking and binary space partitioning as well as Lua scripting</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ianyh/Amethyst?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Amethyst</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An XMonad-like tiling window manager for the Mac that I quite like.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://mactiler.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MacTiler</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A simple tiling window manager for macOS with the ability to preserve window layouts between monitors</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">CLI</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/junosan/tile?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tile</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a CLI tool that can be used to script window manipulation</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Keyboard Driven</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Windows</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pit-ray/win-vind?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">win-vind</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>vim keys everywhere</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">macOS</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dough654/omachy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Omachy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>opinionated Omarchy-inspired macOS setup tool that configures a keyboard-driven tiling workflow.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jurplel/InstantSpaceSwitcher?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">InstantSpaceSwitcher</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A native utility for instant macOS Space switching that skips the animation without disabling SIP</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rcarmo/ShiftIt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ShiftIt</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>My fork of ShiftIt, which was somewhat popular among my colleagues at SAPO.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://magnet.crowdcafe.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Magnet</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>simple, straightforward, very effective, available in the App Store</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://manytricks.com/moom/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Moom</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>My 2012-2021 window manager, which allows you to store predefined layouts but wasn&#8217;t scriptable. The 2024 edition adds FancyZones-like functionality and a bit more flexibility.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Manual Tiling</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/nikitabobko/AeroSpace?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">AeroSpace</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>My 2024 favorite for tiling. Provides a fast, snappy i3-like tiling window manager for macOS with its own workspace support, and the default config uses <code>HJKL</code> as control keys. Only issue I have with it is that it requires relatively new macOS versions, and I sometimes use an older Mac laptop.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="11" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Mouse Driven</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Linux</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/domferr/tilingshell?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tilingshell</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a GNOME extension that provides an absolutely excellent FancyZones-like functionality</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Windows</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://docs.microsoft.com/en-us/windows/powertoys/fancyzones?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">FancyZones</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Arguably the best Windows 10 PowerToy, has awesome zone snapping features that have (so far) no equivalent. Excellent for multiple displays.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="14" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">macOS</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/MrKai77/Loop?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Loop</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Uses a radial menu to manage windows</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dgurkaynak/Penc?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Penc</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a trackpad-oriented window manager with gestures for moving, resizing and snapping windows</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/noah-nuebling/mac-mouse-fix?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mac-mouse-fix</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an open-source utility for improving mouse behavior and button mappings on macOS</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/projectstorm/dynamouse?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Dynamouse</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>not really a window manager, but a way to associate multiple pointing devices with specific displays</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://highlyopinionated.co/swish/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Swish</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a gesture-driven window manager with window snapping and some grid functionality</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://hookshot.app?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hookshot</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Actually a mix of keyboard and mouse driven actions, but very much mouse driven with quick actions.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://mizage.com/divvy/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Divvy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>traditional, quick mouse-drawn window snapping (Moom implements a similar approach)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://thelasso.app?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Lasso</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>mouse-driven, grid-oriented, with support for custom layouts</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://www.folivora.ai/bettersnaptool?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">BetterSnapTool</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>My 2024 favorite for FancyZones-like functionality on the Mac.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Scriptable</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/J-x-Z/cocoa-way?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cocoa Way</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>native macOS Wayland compositor written in Rust using Smithay, enabling seamless Linux app streaming on macOS without XQuartz.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/agzam/spacehammer?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">spacehammer</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A prebuilt, highly sophisticated Fennel configuration for Hammerspoon</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/apandhi/Autumn?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Autumn</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a nice, also JavaScript scriptable window manager that includes an IDE. In May 2021, the IDE hangs up weirdly in Big Sur, so I opted for Phoenix instead.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kasper/phoenix?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Phoenix</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>My 2021 favorite, fully scriptable in JavaScript. Can replace both Moom and Amethyst for me with <a href="https://gist.github.com/rcarmo/5132874cdaf2755e42907508802e864f?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">this config</a>.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://www.hammerspoon.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hammerspoon</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Scriptable in Lua or Fennel</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="mouse" term="mouse"/>
<category label="keyboard" term="keyboard"/>
<category label="tiling" term="tiling"/>
<category label="i3" term="i3"/>
<category label="xmonad" term="xmonad"/>
<category label="manager" term="manager"/>
<category label="window" term="window"/>
<category label="gnome" term="gnome"/>
</entry>
<entry>
<title>Model Context Protocol</title>
<id>https://taoofmac.com/space/ai/mcp?utm_content=atom</id>
<published>2025-05-01T17:30:00+00:00</published>
<updated>2026-04-10T11:03:57+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/ai/mcp?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">This page is a collection of notes and links related to the Model Context Protocol (<a href="https://modelcontextprotocol.io/introduction?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MCP</a>), a proposed standard for extending managing context in large language models (<a href="/space/ai/llm" rel="next" style="color: #0000cc;">LLMs</a>) via external tools.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/ai/mcp#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Field</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Audio Processing</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Integration</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/shiehn/sas-audio-processor?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">SAS Audio Processor</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Exposes 25 DeclarAgent-based MCP tools for trimming, normalizing, compressing, EQ/reverb/pitch-shift/time-stretch, analysis, and MIDI extraction; accepts WAV inputs and emits structured JSON for Claude/MCP clients.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Automation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/steipete/macos-automator-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">macos-automator-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a macOS Node server that exposes AppleScript and JXA to MCP clients</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Server Implementation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mitsuhiko/playwrightess-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">playwrightess-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an experimental MCP server that exposes a persistent Playwright JavaScript eval environment via a single <code>playwright_eval</code> tool</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hemanth/paws-on-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">paws-on-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>yet another Python MCP server</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Context Management</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Integration</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mksglu/claude-context-mode?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">claude-context-mode</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an MCP server that adds context mode support and tooling for Claude workflows</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Document Processing</td>
<td rowspan="8" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/microsoft/markitdown?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">markitdown</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a document-to-Markdown conversion tool/library useful for ingestion pipelines</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Documentation</td>
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Server Implementation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Ami3466/tomcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">toMCP</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>turns any website or docs into an MCP server by extracting clean Markdown</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Extension Architecture</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tuananh/hyper-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">hyper-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a powerful MCP server that leverages WebAssembly plugins</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Graphics</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pranav-deshmukh/blender-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">blender-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a server that enables real-time interaction between Large Language Models and Blender using JSON over TCP.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rahulgarg123/openscad-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">openscad-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an MCP server for OpenSCAD that enables design automation and AI-assisted 3D modeling</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Integration</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/iosifache/annas-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">annas-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an MCP server (and CLI) for searching and downloading documents from Anna&#8217;s Archive</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/santhoshravindran7/Fabric-Analytics-MCP?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Fabric-Analytics-MCP</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an MCP server that integrates with Microsoft Fabric for analytics tasks</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">LLM Interoperability</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Integration</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bartolli/mcp-llm-bridge?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mcp-llm-bridge</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a bridge that connects MCP servers to OpenAI-compatible language models through a standardized interface.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Language Bindings</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Frameworks</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/PrefectHQ/fastmcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">FastMCP</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>the fast, Pythonic way to build MCP servers and clients.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Server Implementation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mehmetbaykar/swift-fast-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">swift-fast-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Swift builder API for quickly assembling MCP servers</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/metoro-io/mcp-golang?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mcp-golang</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Go-based MCP server implementation</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Multi-agent Systems</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Frameworks</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/inngest/agent-kit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">agent-kit</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an MCP framework for building multi-agent networks</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">RAG</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Server Implementation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tobi/qmd?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">qmd</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>local markdown-first knowledge indexing/search engine with hybrid BM25/vector/reranking and MCP transport for Claude-compatible clients, plus context-aware retrieval via CLI.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ggozad/haiku.rag?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">haiku.rag</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an agentic RAG toolkit that can run as an MCP server (document indexing, search, QA)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Reverse Engineering</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bethington/ghidra-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ghidra-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an MCP server that integrates with Ghidra for reverse engineering workflows</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tooling</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Integration</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/modelcontextprotocol/conformance?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">conformance</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A conformance test framework and GitHub Action for validating MCP clients and servers against the specification</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/postrv/forgemax?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Forgemax</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a code-mode MCP gateway that collapses many tool schemas into two tools (search and execute) via a sandboxed V8 JavaScript runner</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Visual Programming</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Server Implementation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/joolui/node-red-mcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">node-red-mcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Node-RED MCP server with HomeAssistant understanding</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">WebMCP</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Demo</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Leanmcp-Community/music-composer-webmcp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">music-composer-webmcp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a WebMCP demo that lets agents compose music in a browser-based sequencer via WebMCP tools</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="llm" term="llm"/>
<category label="mcp" term="mcp"/>
<category label="ai" term="ai"/>
</entry>
<entry>
<title>Python</title>
<id>https://taoofmac.com/space/dev/python?utm_content=atom</id>
<published>2007-04-15T10:44:37+00:00</published>
<updated>2026-04-10T11:03:57+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/dev/python?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead"><a href="http://www.python.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Python</a> is one of my favorite programming languages due to its terseness and amazing flexibility, and after decades using it I find it quite amusing that it is now the language of choice for data science and machine learning.</p>
<a class="anchor" id="anchor-my-stuff" rel="anchor" href="/space/dev/python#my-stuff" style="color: #0000cc;"><h2 id="my-stuff">My Stuff</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Year</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Item</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rcarmo/sushy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Sushy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>my current wiki engine</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2015</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rcarmo/rss2imap?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">rss2imap</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>The way I used read my news a while back</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2009</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/Projects/PNGCanvas" rel="nofollow" style="color: #0000cc;">PNG Canvas</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a native Python <a href="PNG" rel="nofollow" style="color: #0000cc;">PNG</a> creation module,
suitable for use in Google App Engine</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2007</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/Projects/Yaki" rel="nofollow" style="color: #0000cc;">Yaki</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>my previous wiki engine</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2006</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/Projects/MailArchive" rel="nofollow" style="color: #0000cc;">MailArchive</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a quick hack to file web pages as <a href="MIME" rel="nofollow" style="color: #0000cc;">MIME</a> compliant e-mail messages.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2005</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/Projects/PicoStats" rel="nofollow" style="color: #0000cc;">PicoStats</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a minimalist Apache log parser.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/Projects/imapbackup" rel="nofollow" style="color: #0000cc;">IMAP Backup</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>another quick hack that apparently filled a long-standing need.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/Python/Grimoire" rel="nofollow" style="color: #0000cc;">The Python Grimoire</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>which I converted into <a href="http://www.tiddlywiki.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">TiddlyWiki</a> format</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2004</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/Projects/newspipe" rel="nofollow" style="color: #0000cc;">newspipe</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>which I used daily for a couple of years and occasionally contributed to</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/projects/picorendezvous" rel="next" style="color: #0000cc;">PicoRendezvous.py</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a minimalist (and dumb) <a href="/space/com/apple/bonjour" rel="nofollow" style="color: #0000cc;">Bonjour</a> / Rendezvous client</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/apps/growl" rel="next" style="color: #0000cc;">Growl</a> native protocol <a href="/space/projects/netgrowl" rel="next" style="color: #0000cc;">implementation</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>this spawned numerous variants, including a
<a href="/space/projects/regrowl" rel="nofollow" style="color: #0000cc;">proxy</a>.</p></td>
</tr>
</tbody>
</table>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/dev/python#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><div class="message error" role="alert">
    <p><b>Error:</b> Could not parse 'table.yaml'</p>
<pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;">while parsing a block mapping
  in "&lt;byte string&gt;", line 2, column 1
did not find expected key
  in "&lt;byte string&gt;", line 1682, column 1
</pre>
</div>
<a class="anchor" id="anchor-techniques" rel="anchor" href="/space/dev/python#techniques" style="color: #0000cc;"><h2 id="techniques">Techniques</h2></a><ul>
<li><a href="/media/dev/python/cJjZP8v6tb5vfwv6nP2OCVcwbW4=/daemon.py.txt" rel="media" style="color: #0000cc;">daemon.py</a>, an example daemon script.</li>
<li><a href="http://www.python.org/doc/current/lib/module-pydoc.html?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Pydoc</a>
  built-in Web help, anytime, anywhere</li>
<li><a href="http://www.norvig.com/spell-correct.html?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">How to Write a Spelling Corrector</a> - an
  interesting technique that can come in handy to fix/suggest search
  terms, etc.</li>
<li><a href="http://phillipinbahia.blogspot.com/2006/08/python-webcam-color-track.html?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Python Webcam Color Track</a></li>
<li><a href="http://gumuz.looze.net/wordpress/index.php/archives/2005/06/06/python-webcam-fun-motion-detection/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Python webcam fun - motion detection</a></li>
</ul>
<a class="anchor" id="anchor-notes" rel="anchor" href="/space/dev/python#notes" style="color: #0000cc;"><h2 id="notes">Notes</h2></a><a class="anchor" id="anchor-setting" rel="anchor" href="/space/dev/python#setting" style="color: #0000cc;"><h3 id="setting-distutils-paths-in-os-x">Setting <code>distutils</code> paths in OS X</h3></a><p>Create a file named <code>.pydistutils.cfg</code> in your home directory with the
following contents and set <code>$PATH</code> accordingly:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><span class="k">[install]</span>
<span class="na">install_lib</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">~/Library/Python/$py_version_short/site-packages</span>
<span class="na">install_scripts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">~/Library/Python/$py_version_short/bin</span>
<span class="na">install_data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">~/Library/Python/$py_version/share</span>
</pre></div><p>This will install packages to your <code>Library</code> folder rather than to the
system directory, saving you the trouble to use <code>sudo</code> or risking
messing with the system installation. Of course <code>virtualenv</code> does a
better job for keeping track of project-specific dependencies, but this
is great for common/complex dependencies and is sure to survive
operating system upgrades.</p>
<p>And then you can use <code>easy_install</code> or <code>pip install --user</code> with
impunity, although you might need to do something like:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code><span class="nv">ARCHFLAGS</span><span class="o">=</span>-Wno-error<span class="o">=</span>unused-command-line-argument-hard-error-in-future<span class="w"> </span>easy_install<span class="w"> </span>pandas
</code></pre></div>

<p>&#8230;for getting around some <code>clang</code> oddities.</p>
<a class="anchor" id="anchor-instant-web-server-on-port-8000-2-x" rel="anchor" href="/space/dev/python#instant-web-server-on-port-8000-2-x" style="color: #0000cc;"><h3 id="instant-web-server-on-port-8000-2x">Instant Web Server on port 8000 (2.x)</h3></a><div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><span class="ch">#!/bin/sh</span>
python<span class="w"> </span>-c<span class="w"> </span><span class="s1">'__import__("SimpleHTTPServer").test()'</span>
</pre></div><a class="anchor" id="anchor-totally-unrelated" rel="anchor" href="/space/dev/python#totally-unrelated" style="color: #0000cc;"><h2 id="totally-unrelated">Totally Unrelated</h2></a><ul>
<li><a href="http://www.style.org/unladenswallow/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Estimating the Airspeed of an Unladen Swallow</a></li>
</ul>
<br/>
]]></content>
<category label="data" term="data"/>
<category label="python" term="python"/>
<category label="programming" term="programming"/>
<category label="development" term="development"/>
<category label="science" term="science"/>
<category label="scripting" term="scripting"/>
</entry>
<entry>
<title>Xteink X4</title>
<id>https://taoofmac.com/space/hw/xteink/x4?utm_content=atom</id>
<published>2026-04-09T13:19:00+00:00</published>
<updated>2026-04-11T08:16:16+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/hw/xteink/x4?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">The Xteink X4 is a small open e-ink reader that has become more interesting because of the growing CrossPoint ecosystem around it. The hardware itself is attractive mostly as a hackable reading device: simple, portable, and now backed by a fairly active alternative firmware community&#8212;one that feels more relevant now that it is a device <a href="/space/reviews/2026/04/04/1800" rel="next" style="color: #0000cc;">that I recently got</a>.</p>
<p>The most sensible starting point is the upstream CrossPoint Reader firmware, then branch out into more specialized forks only if you need particular UX changes, CJK support, or more experimental features.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/hw/xteink/x4#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Firmware</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/crosspoint-reader/crosspoint-reader?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">CrossPoint Reader</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Active upstream firmware for the Xteink X4 with the broadest feature set and the safest place to start before trying more specialized forks.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/yattsu/biscuit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">biscuit</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Alternative firmware for the ESP32-C3-based Xteink X4 e-paper reader, focused on the device hardware rather than the broader CrossPoint reader stack.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Guides</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://learn.adafruit.com/circuitpython-on-the-xteink-x4-ereader?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">CircuitPython on the Xteink X4 eReader</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Adafruit guide for running CircuitPython on the ESP32-C3-based Xteink X4, including installation, web workflow and display demos</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="crosspoint" term="crosspoint"/>
<category label="eink" term="eink"/>
<category label="hardware" term="hardware"/>
<category label="xteink" term="xteink"/>
<category label="ereader" term="ereader"/>
</entry>
<entry>
<title>Obsidian</title>
<id>https://taoofmac.com/space/apps/obsidian?utm_content=atom</id>
<published>2022-08-03T12:00:00+00:00</published>
<updated>2026-04-09T18:14:07+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/apps/obsidian?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead"><a href="http://obsidian.md?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Obsidian</a> is a very popular cross-platform <a href="/space/gtd/notes" rel="next" style="color: #0000cc;">note-taking</a> application that allows you to use plain <a href="/space/markup/markdown" rel="next" style="color: #0000cc;">Markdown</a> as a very flexible notes database and that I have somewhat begrudgingly adopted as a key part of my workflow during 2025.</p>
<p>I don&#8217;t exactly remember when I started using Obsidian daily&#8212;I suspect it was when I finally figured out how to use it with <a href="/space/apps/syncthing" rel="next" style="color: #0000cc;">SyncThing</a> on my iPad, but another (just as important) milestone I remember was when I got <a href="https://github.com/mgmeyers/obsidian-kanban?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">the Kanban plugin</a> working, since that gave me a sensible cross-platform way to manage my to-dos across Mac and Linux (Reminders just doesn&#8217;t cut it in that scenario).</p>
<p>Don&#8217;t get me wrong, <em>I still don&#8217;t like Obsidian</em>. It is one of the many Electron-based nightmares that we have to run on our devices because, unfortunately, there isn&#8217;t anything demonstrably more developer-friendly (note that I didn&#8217;t say <em>better</em>).</p>
<p>In particular, I don&#8217;t like that it&#8217;s not open source, since despite not minding paying for software I think that anything I commit to using for multiple years should last &#8220;forever&#8221;. I don&#8217;t like how it approaches linking and metadata, and I absolutely didn&#8217;t like that it tries to tie you to a proprietary syncing service.</p>
<p>Despite all that, I use it daily on Linux, macOS, and iOS, and the combination of cross-platform access and the Kanban workflow fits my day-to-day needs perfectly.</p>
<a class="anchor" id="anchor-pluses" rel="anchor" href="/space/apps/obsidian#pluses" style="color: #0000cc;"><h2 id="pluses">Pluses</h2></a><ul>
<li>The Kanban plugin has turned into my master to-do list, and I never managed to get Reminders to work cross-platform in the same way.</li>
<li>There is a plugin that allows me to have my <a href="/space/reviews/2025/06/14/1530" rel="next" style="color: #0000cc;">Supernote Nomad</a> notes show up in Obsidian, which is a nice trick. In fact, I can even run Obsidian on the Nomad itself.</li>
<li>The Markdown editor essentially disappears when you&#8217;re editing, which I like because it lets me focus on the content rather than the formatting. Somehow <a href="/space/apps/ia_writer" rel="next" style="color: #0000cc;">iA Writer</a> feels less polished, which is weird&#8212;I suspect it&#8217;s about it not being truly WYSIWYG.</li>
<li>Obsidian&#8217;s secret power on mobile is the iOS swiping keyboard&#8212;I&#8217;m able to thumb type quite quickly with it, to the point where it&#8217;s just ridiculously easy to take an idle moment to jot down ideas.</li>
<li>The Data Tables feature is stupendously powerful, and I am actively resisting using it too much because I know it will make my notes less portable.</li>
</ul>
<a class="anchor" id="anchor-minuses" rel="anchor" href="/space/apps/obsidian#minuses" style="color: #0000cc;"><h2 id="minuses">Minuses</h2></a><p>There are enough rough edges that I still keep coming up against the same issues:</p>
<ul>
<li>Its WikiLinks can&#8217;t be relative, or link to a page/folder rather than an <code>.md</code> file.</li>
<li>Electron is a resource hog and feels sluggish on older hardware, so I end up editing in <a href="/space/cli/vim" rel="next" style="color: #0000cc;">Vim</a> or another editor quite often.</li>
<li>It cannot deal with front-matter &#8220;properly&#8221; (at least not the way I want it to), so importing this site into it never worked (and it is highly likely that it never will). That also means I can&#8217;t use it as a primary editor for this site directly, or, in fact, for a few <a href="https://www.mkdocs.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MkDocs</a>-based sites I maintain.</li>
<li>It&#8217;s proprietary in key ways (syncing, mobile app limitations, not open source).</li>
<li>The Canvas feature is a nice idea, but it is nowhere near as good as a proper mind-mapping app like <a href="/space/apps/xmind" rel="next" style="color: #0000cc;">XMind</a> (or even Apple&#8217;s Freeform).</li>
<li>The graph view is cute, but not really useful for anything other than showing off.</li>
<li>Setting a common look and feel across platforms is tricky, especially on iOS where CSS tweaks are limited.</li>
<li>Plugins are <em>very</em> brittle, and hit-or-miss in quality. After a few months of trying out various plugins, I have no clue as to whether my current set of plugins will be maintained in the future (a couple that I use already bear deprecation notices, and I certainly don&#8217;t want to maintain them).</li>
<li>It really doesn&#8217;t understand about folders, or about &#8220;one note per folder with all attachments&#8221; approaches. With the right plugins you can just paste an image into a note and it will store the attachment in the same folder, but it still feels hacky.</li>
</ul>
<a class="anchor" id="anchor-workarounds" rel="anchor" href="/space/apps/obsidian#workarounds" style="color: #0000cc;"><h2 id="workarounds">Workarounds</h2></a><p>I eventually worked out a set of alternatives and workarounds that make Obsidian usable for me:</p>
<ul>
<li>On iOS you can use M&#246;bius Sync to keep a local folder and then use <a href="/space/apps/syncthing" rel="next" style="color: #0000cc;">SyncThing</a> to sync a single vault. You do have to be careful about it, since the mobile app is <em>way</em> behind the desktop apps in functionality and feels artificially gimped&#8212;for instance, you cannot pick a vault location at will, so you need to be creative with workarounds (this is even true if, like me, you&#8217;re used to iOS folder sharing).</li>
<li>Thanks to the <a href="https://github.com/platers/obsidian-linter?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Linter plugin</a>, I can enforce a set of formatting and metadata rules that make my notes consistent across platforms and editors, even if Obsidian itself doesn&#8217;t really understand them.</li>
<li>I have a little script that takes an Obsidian note and moves it across to this site, where I finish editing it and publish it using VS Code. In fact, if VS Code had a decent live Markdown editor and a comparable Kanban editor, I might just use that instead of Obsidian altogether.</li>
</ul>
<p>I suspect that some day I will take something like <a href="https://foambubble.github.io/foam/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Foam</a> and hack it into a workable notes system that I can run in <a href="/space/apps/code" rel="next" style="color: #0000cc;">VS Code</a>, but for now Obsidian is &#8220;good enough&#8221; despite its many flaws.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/apps/obsidian#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Alternatives</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Michaelliv/napkin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Napkin</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>local-first CLI for Obsidian vaults that operates directly on markdown files without the Obsidian app, designed as a memory system for AI agents using progressive disclosure.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/siyuan-note/siyuan?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">siyuan</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a privacy-first personal knowledge management system that supports block-level references and Markdown WYSIWYG editing.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Plugins</td>
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jrcruciani/obsidian-memory-for-ai?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Memory for AI</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Plugin that gives Obsidian agents a dedicated, persistent memory interface to retain and recall conversation context and project notes across sessions.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kavinsood/yaos?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">YAOS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Zero-terminal real-time sync engine for Obsidian using your own Cloudflare Worker instead of conventional file sync or self-hosted database-heavy setups.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kepano/obsidian-skills?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">obsidian-skills</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Agent Skills bundle for Obsidian that teaches compatible agents to edit Obsidian Markdown, Bases, JSON Canvas, and interact with vaults via the Obsidian CLI.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/vieiraae/obsidian-sidekick?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Sidekick</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>AI-powered assistant panel that plugs into GitHub Copilot or BYOK providers, bundles agents/skills/tools/prompts/triggers, offers ghost-text autocomplete and editor context menu actions, and boots a <code>sidekick/</code> folder with sample configs.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/glowingjade/obsidian-smart-composer?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Smart Composer</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Probably the nicest, most straightforward LLM plugin for revising grammar and overall formatting. Supports LiteLLM and custom endpoints without any issues.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/vrtmrz/obsidian-livesync?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">livesync</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Obsidian plugin for WebRTC-based real-time collaboration and synchronization</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Publishing</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/soestin/Obsidian-Web-Sync-R2?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Obsidian Web Sync R2</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Publish an Obsidian vault as a website using Cloudflare Workers and R2, synced via Remotely Sync.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="/space/quartz.jzhao.xyz" rel="nofollow" style="color: #0000cc;">Quartz</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a static site generator that can directly publish Obsidian vaults. It&#8217;s beautiful, but suffers from the usual PWA stupidity of downloading a <code>contentindex.json</code> <em>with your site&#8217;s entire plaintext</em> to facilitate search.</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="electron" term="electron"/>
<category label="notes" term="notes"/>
<category label="zettelkasten" term="zettelkasten"/>
<category label="markdown" term="markdown"/>
</entry>
<entry>
<title>ESP8266 (and ESP32)</title>
<id>https://taoofmac.com/space/hw/esp8266?utm_content=atom</id>
<published>2016-05-08T23:49:00+00:00</published>
<updated>2026-04-09T07:14:14+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/hw/esp8266?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">These little modules have taken hobby electronics by storm, so of course I grabbed a few of them and have been hacking away quietly on both the <code>ESP8266</code> and the <code>ESP32</code>.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/hw/esp8266#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Applications</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/memovai/mimiclaw?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MimiClaw</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Telegram-based AI assistant for ESP32-S3 using LLM APIs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mlhpdx/hacker-news-cyd?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">hacker-news-cyd</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Hacker News reader for ESP32 Cheap Yellow Displays, with a neat Wireguard twist</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Cameras</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/HomeKidd/esp32-homekit-camera?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp32-homekit-camera</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a camera project that I keep trying to fix</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Displays</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/lmarzen/esp32-weather-epd?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32 E-Paper Weather Display</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An ESP32 e-paper weather display project with a nice visual design for the weather screen</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://www.youtube.com/watch?v=6JCLHIXXVus&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32-Cheap-Yellow-Display Audio Fixes</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a video on how to fix audio issues with the Cheap Yellow Display</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32-Cheap-Yellow-Display</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a set of libraries for the ESP32-2432S028R and similar displays</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Documentation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://eitherway.io/posts/esp32-buyers-guide?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32 Buyer's Guide</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an updated guide to the various SKUs for 2023</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Emulation</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/atomic14/esp32-zxspectrum?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32 Rainbow</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a ZX Spectrum emulator for the ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hchunhui/tiny386?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tiny386</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An x86 emulator for the ESP32 that can run Windows 95</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/retro-esp32?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Retro ESP32</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a set of emulators for ESP32, mostly targeting the Odroid Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Firmware</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/luc-github/ESP3D?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP3D</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>firmware for ESP8266/ESP32 boards that adds Wi-Fi/web UI control for 3D printers, CNC, and sand tables</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">GUI</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/slint-ui/slint?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">slint</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a GUI toolkit that can run in MCUs like the Pi pico and the ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Graphics</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dejwk/roo_display?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">roo_display</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A display library for ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Hacks</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://chrdavis.github.io/hacking-a-mitsubishi-heat-pump-Part-1/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hacking A Mitsubishi Heat Pump</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>I need to do this to mine</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Hardware</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/lhm0/wide-mcu-breadboard?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">wide-mcu-breadboard</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>3D-printable breadboard body for wide MCUs like ESP32 and Pi Pico, reusing standard spring contacts to give four free holes per pin</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">IoT</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jomjol/AI-on-the-edge-device?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">AI-on-the-edge-device</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an impressive water meter reader solution using an ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="13" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Libraries</td>
<td rowspan="7" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/HomeSpan/HomeSpan?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">HomeSpan</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Arduino library for creating your own ESP32-based HomeKit devices</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/NorthernMan54/rtl_433_ESP?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">rtl_433_ESP</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an Arduino library for use on ESP32 boards with to decode 433MHz sensor signals</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/RavenSystem/esp-homekit-devices?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Home Accessory Architect</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a set of libraries to create HomeKit devices</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/littlefs-project/littlefs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">littlefs</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A little fail-safe filesystem designed for MCUs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/microsoft/devicescript?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">DeviceScript</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>TypeScript for Tiny IoT Devices (ESP32, RP2040, etc.)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mlesniew/PicoMQTT?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">PicoMQTT</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An MQTT client and server library for ESP8266 and ESP32 devices.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/patagonaa/esp32-ir-powermeter?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp32-ir-powermeter</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library to read power usage from a digital power meter via the infrared interface</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/fdivitto/FabGL?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">FabGL</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a set of ESP32 libraries that allow for VGA output and various graphics-related functionality, as well as terminal emulation</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/SwiCago/HeatPump?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">HeatPump</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>the library to talk to Mitsubishi ACs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/stblassitude/Adafruit_SSD1306_Wemos_OLED?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">SSD1306 Driver</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>This driver works correctly with the 1.1.0 revision Wemos D1 OLED shields I have</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/knolleary/pubsubclient?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pubsubclient</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A smaller, simpler MQTT library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/toblum/McLighting?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">McLighting</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An RGB LED controller library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tuanpmt/esp_mqtt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp_mqtt</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a MQTT library with SSL support</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">M5Stack</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/G4lile0/ESP32-WiFi-Hash-Monster?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WiFi Hash Monster</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an EAPOL sniffer (and generic Wi-Fi monitor)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://gitlab.com/mschmidl/covidsniffer?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">CovidSniffer</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a COVID tracker BLE sniffer</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Mods</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hexeguitar/ESP32_TFT_PIO?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32_TFT_PIO</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Cheap Yellow Display project with mods to improve the audio quality</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="10" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Networking</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/wolfSSL/wolfip?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">wolfIP</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight TCP/IP stack for resource-constrained MCUs with no dynamic allocations, fixed socket/buffer limits, BSD-like sockets, and a FreeRTOS port.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bozimmerman/Zimodem?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Zimodem</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>custom modem simulator with lots of features</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dakhnod/ESP32-Bluetooth-USB-dongle?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32-Bluetooth-USB-dongle</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>use a ESP32 device like a Bluetooth dongle</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dhansel/WifiModem?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WifiModem</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>ESP8266 firmware to act as a telnet modem and server</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/esp32-open-mac/esp32-open-mac?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp32-open-mac</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an open source Wi-Fi driver for the ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/maccasoft/WifiModem?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WifiModem</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Hayes modem emulation for ESP8266 modules</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/cnlohr/espthernet?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">espethernet</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>direct connection to a PHY device</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/martin-ger/esp32_nat_router?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32 NAT Router</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a basic router for the ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/martin-ger/esp_wifi_repeater?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp_wifi_repeater</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An amazing Wi-Fi repeater, with basic mesh networking</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tzapu/WiFiManager?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WiFiManager</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A library for first-boot configuration of Wi-Fi connections</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Operating Systems</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/MicroPythonOS/MicroPythonOS?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MicroPythonOS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a MicroPython-based OS for ESP32 with Android-like touch UI, app store, and OTA updates</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/valdanylchuk/breezybox?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">BreezyBox</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A BusyBox-inspired shell and virtual terminal system for ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/valdanylchuk/breezydemo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">BreezyDemo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A demo cyberdeck project using BreezyBox on an ESP32-S3 with LCD</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ByteWelder/Tactility?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Tactility</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An operating system focused on ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/EtchedPixels/FUZIX?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">FUZIX</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a minimal UNIX-like OS that can run on a variety of MCUs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/whitecatboard/Lua-RTOS-ESP32?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Lua-RTOS-ESP32</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Lua-based RTOS for the ESP32 that also has a block-based editor</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Photography</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/chriko3/ObscuraOne?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Obscura One</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An open-source screenless camera built around the ESP32-CAM with a fully 3D-printable body and Arduino firmware</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Reference</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/crankyoldgit/IRremoteESP8266/wiki/ESP01-Send--Receive-Circuit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link#receiver" rel="external" style="color: #0000cc;">ESP01-Send--Receive-Circuit</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a circuit to use the ESP-01 as an IR receiver</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Resources</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://blog.cesanta.com/esp8266-superfast-flashing-flash-esp-in-5-seconds?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP8266 superfast flashing</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2013</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.esp8266.com/wiki/doku.php?id=getting-started-with-the-esp8266&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Getting Started with the ESP8266</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Everything you need to know.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.instructables.com/id/How-to-use-the-ESP8266-01-pins/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">How to use the ESP8266-01 pins</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Nice, straightforward overview</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Runtimes</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gysmo38/mitsubishi2MQTT?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mitsubishi2MQTT</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Tasmota-like firmware to control Mitsubishi ACs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://esphome.io?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esphome</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>modular firmware for ESP8266 and ESP32</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/yesco/esp-lisp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp-lisp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A tiny LISP interpreter</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/esp8266/Arduino?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Arduino Core</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An ESP8266 core for Arduino</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/micropython/micropython?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MicroPython</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Which also supports the ESP8266 thanks to <a href="/space/links/2016/01/29/0743" rel="nofollow" style="color: #0000cc;">this Kickstarter campaign</a></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://hackaday.com/2014/10/25/an-sdk-for-the-esp8266-wifi-chip/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">An SDK for the ESP8266 Wi-Fi Chip</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>The early days</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Security</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Fr4nkFletcher/ESP32-Marauder-Cheap-Yellow-Display?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32-Marauder-Cheap-Yellow-Display</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A set of wireless security tools for the Cheap Yellow Display</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/MatAtBread/esp-scope?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp-scope</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A web-based oscilloscope for ESP32 boards that streams ADC data to a browser UI</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/valdanylchuk/xcc700?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">xcc700</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Self-hosting mini C compiler for ESP32/Xtensa; emits relocatable ELF for ESP-IDF elf_loader</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jczic/ESP32-MPY-Jama?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESP32-MPY-Jama</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a MicroPython IDE for the ESP32 family</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Fishwaldo/esp_ghota?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">esp_ghota</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a way to do OTA updates via GitHub</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Video</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rossumur/espflix?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">espflix</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an inspired ESP32 video hack</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="microcontrollers" term="microcontrollers"/>
<category label="esp32" term="esp32"/>
<category label="esp8266" term="esp8266"/>
<category label="electronics" term="electronics"/>
<category label="resources" term="resources"/>
<category label="mcu" term="mcu"/>
<category label="hardware" term="hardware"/>
<category label="expressif" term="expressif"/>
</entry>
<entry>
<title>Hardware</title>
<id>https://taoofmac.com/space/hw?utm_content=atom</id>
<published>2005-02-01T12:32:00+00:00</published>
<updated>2026-04-09T07:14:14+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/hw?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">This page is a placeholder for a category.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/hw#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Name</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">URL</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Hardware, Education</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://tinytapeout.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">https://tinytapeout.com</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Tiny Tapeout is a platform that makes it easy and affordable for anyone to design and manufacture their own digital chips.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Hardware, Manufacturing</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://wafer.space?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">https://wafer.space</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Wafer Space offers budget silicon manufacturing</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="hardware" term="hardware"/>
</entry>
<entry>
<title>Agentic Systems</title>
<id>https://taoofmac.com/space/ai/agentic?utm_content=atom</id>
<published>2025-12-23T10:00:00+00:00</published>
<updated>2026-04-09T07:13:02+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/ai/agentic?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">Notes and resources on building and operating agentic AI systems, covering orchestration frameworks, task routing, memory, and evaluation approaches that extend baseline <a href="/space/ai/llm" rel="next" style="color: #0000cc;">LLM</a> capabilities.</p>
<a class="anchor" id="anchor-skills" rel="anchor" href="/space/ai/agentic#skills" style="color: #0000cc;"><h2 id="skills">Skills</h2></a><p>Reusable instruction packs, workflow recipes, and prompt modules live in <a href="/space/ai/agentic/skills" rel="next" style="color: #0000cc;">Agentic Skills</a>.</p>
<a class="anchor" id="anchor-openclaw" rel="anchor" href="/space/ai/agentic#openclaw" style="color: #0000cc;"><h2 id="openclaw">OpenClaw</h2></a><p>OpenClaw-specific projects and lightweight variants live in <a href="/space/ai/agentic/openclaw" rel="next" style="color: #0000cc;">OpenClaw Ecosystem</a>.</p>
<a class="anchor" id="anchor-pi-dev" rel="anchor" href="/space/ai/agentic#pi-dev" style="color: #0000cc;"><h2 id="pidev">Pi.dev</h2></a><p>Pi.dev is the home of the Pi coding agent and its ecosystem of extensions, adapters, and clients. See the <a href="/space/ai/agentic/pi" rel="next" style="color: #0000cc;">Pi.dev Ecosystem</a> page for the curated project list.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/ai/agentic#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><div class="message error" role="alert">
    <p><b>Error:</b> Could not parse 'table.yaml'</p>
<pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;">while parsing a block mapping
  in "&lt;byte string&gt;", line 2, column 1
did not find expected key
  in "&lt;byte string&gt;", line 360, column 1
</pre>
</div>
<br/>
]]></content>
<category label="agents" term="agents"/>
<category label="ai" term="ai"/>
<category label="orchestration" term="orchestration"/>
</entry>
<entry>
<title>Porting Mac OS X to the Nintendo Wii</title>
<id>https://taoofmac.com/space/links/2026/04/08/1805?utm_content=atom</id>
<published>2026-04-08T18:05:00+00:00</published>
<updated>2026-04-08T18:05:00+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/links/2026/04/08/1805?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p><a href="https://bryankeller.github.io/2026/04/08/porting-mac-os-x-nintendo-wii.html?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" title="external link to https://bryankeller.github.io/2026/04/08/porting-mac-os-x-nintendo-wii.html" alt="screenshot of https://bryankeller.github.io/2026/04/08/porting-mac-os-x-nintendo-wii.html" style="color: #0000cc;"><img class="quicklook" src="https://taoofmac.com/thumb/links/2026/04/08/1805/640,480/JMz5mv_B0umEuab5yNvJOwswVq0=/large.jpg" width="320" height="240" style="max-width: 100% !important;height: auto !important;"/></a></p>
<p class="lead">This was not on my bingo card for 2026.</p>
<p>The Wii is, indeed, a <a href="/space/hw/powerpc" rel="next" style="color: #0000cc;">PowerPC</a> machine, but getting <a href="/space/com/apple/macos" rel="next" style="color: #0000cc;">Mac OS X</a> to boot on it still requires a fair amount of kernel hacking&#8212;never mind the real life altitude it was actually written at, although it does confirm that flight time can, indeed, be used productively.</p>
<br/>
]]></content>
<category label="mac" term="mac"/>
<category label="wii" term="wii"/>
<category label="powerpc" term="powerpc"/>
<category label="nintendo" term="nintendo"/>
<category label="hacks" term="hacks"/>
</entry>
<entry>
<title>JavaScript</title>
<id>https://taoofmac.com/space/dev/javascript?utm_content=atom</id>
<published>2007-02-28T21:44:19+00:00</published>
<updated>2026-04-08T07:07:58+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/dev/javascript?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">The <a href="ECMA" rel="nofollow" style="color: #0000cc;">ECMA</a> - <a href="http://www.ecma-international.org/publications/standards/ECMA-262.HTM?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">262</a> Standard, ratified after <a href="Netscape" rel="nofollow" style="color: #0000cc;">Netscape</a> and <a href="/space/com/microsoft" rel="next" style="color: #0000cc;">Microsoft</a> (mostly) agreed to make JavaScript and JScript interoperable.</p>
<a class="anchor" id="anchor-setting-up-node" rel="anchor" href="/space/dev/javascript#setting-up-node" style="color: #0000cc;"><h2 id="setting-up-node">Setting Up Node</h2></a><p>In order to run NodeJS sanely on macOS and WSL, I&#8217;ve taken to setting up an unprivileged package install folder like so:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>mkdir<span class="w"> </span><span class="s2">"</span><span class="si">${</span><span class="nv">HOME</span><span class="si">}</span><span class="s2">/.npm-packages"</span>

<span class="c1"># Add a new dotfile, without expanding $HOME</span>
cat<span class="w"> </span><span class="s">&lt;&lt; 'EOF' &gt;&gt; ~/.npmrc</span>
<span class="s">prefix=${HOME}/.npm-packages</span>
<span class="s">EOF</span>

<span class="c1"># Add the following five lines to .bashrc, without expanding variables:</span>

cat<span class="w"> </span><span class="s">&lt;&lt; 'EOF' &gt;&gt; ~/.bashrc </span>
<span class="s">NPM_PACKAGES="${HOME}/.npm-packages"</span>
<span class="s">PATH="$NPM_PACKAGES/bin:$PATH"</span>
<span class="s"># Unset manpath so we can inherit from /etc/manpath via the `manpath` command</span>
<span class="s">unset MANPATH # delete if you already modified MANPATH elsewhere in your config</span>
<span class="s">export MANPATH="$NPM_PACKAGES/share/man:$(manpath)"</span>
<span class="s">EOF</span>
</code></pre></div>

<a class="anchor" id="anchor-ways-to-avoid-writing-javascript" rel="anchor" href="/space/dev/javascript#ways-to-avoid-writing-javascript" style="color: #0000cc;"><h2 id="ways-to-avoid-writing-javascript">Ways To Avoid Writing JavaScript</h2></a><p>I&#8217;ve taken to looking for alternative ways to develop in JavaScript that don&#8217;t require me to put up with its syntax and overall insanity. Here&#8217;s a few I like (mostly compilers, since that&#8217;s what makes the most sense for me):</p>
<p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Compilers</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://imba.io?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Imba</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>another Elm-like language that compiles ro Javascript</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://reasonml.github.io/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Reason</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an OCaml-like language and compiler</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://elm-lang.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Elm</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A functional language that compiles to <a href="JavaScript" rel="nofollow" style="color: #0000cc;">JavaScript</a></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Gozala/wisp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">wisp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A homoiconic LISP dialect with <a href="/space/dev/clojure" rel="nofollow" style="color: #0000cc;">Clojure</a> syntax and macros</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pythonium/pythonium?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pythonium</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A <a href="/space/dev/python" rel="nofollow" style="color: #0000cc;">Python</a>3 to <a href="JavaScript" rel="nofollow" style="color: #0000cc;">JavaScript</a> translator</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://opalrb.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Opal</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A <a href="/space/dev/ruby" rel="nofollow" style="color: #0000cc;">Ruby</a> transpiler</p></td>
</tr>
</tbody>
</table>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/dev/javascript#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p>Most of these are library-independent. Check my <a href="dev/javascript/jquery" rel="nofollow" style="color: #0000cc;">jQuery</a> page for more, since there&#8217;s an entire sub-culture that believes it to be JavaScript programming in and by its own&#8230;</p>
<p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">AI</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/axa-group/nlp.js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">nlp.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a natural language processing library for bots</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Animation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://ptsjs.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Pts</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Processing-like library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/juliangarnier/anime/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">anime</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an impressive lightweight JavaScript animation library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/fand/vfx-js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">vfx-js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library for creating visual effects</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kepano/defuddle?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">defuddle</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an implementation of the readability algorithm</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Audio</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/foobar404/Wave.js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Wave.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a themable audio visualizer</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Automation</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/n8n-io/n8n?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">n8n</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Zapier alternative that is Open Core, but requires licensing for most uses</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/activepieces/activepieces?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">activepieces</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>another self-hostable Zapier alternative (MIT Licensed)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">CAD</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mmiscool/BREP?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">BREP</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a feature-based modeling playground with BREP-style workflows on triangle meshes</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="7" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Charting</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://highcharts.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Highcharts</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A very comprehensive charting library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2013</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.gojs.net/latest/index.html?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">GoJS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A commercial charting and diagramming library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/antvis/f2?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">F2</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an elegant charting library for mobile</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Kanaries/graphic-walker?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Graphic Walker</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An embeddable Tableau-like dashboard UI, also available for Jupyter</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tremorlabs/tremor?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tremor</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a React library for creating semi-interactive dashboards.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://observablehq.com/plot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Observable Plot</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A nice D3 wrapper that makes a lot of it much more intuitive</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/aerugo/simplegantt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">simplegantt</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a simple Gantt chart library for restricted environments</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Data Structures</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rtfeldman/seamless-immutable?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">seamless-immutable</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Immutable data structures a la Mori</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/imrefazekas/knockout.sync.js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">knockout.sync.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A nice nockout extension that allows you to sync data among clients and backends</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/automerge/automerge?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">automerge</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library of data structures for building collaborative applications in JavaScript, using CRDTs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Frameworks</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mastrojs/mastro?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mastro</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a very simple framework on performance and simplicity</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Games</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.kesiev.com/akihabara/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Akibahara</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A wonderful set of small libraries to clone 8-bit era arcade games</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="18" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Graphics</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2008</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://blog.thejit.org/javascript-information-visualization-toolkit-jit/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">JS Infoviz Toolkit</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A pretty comprehensive set of resources</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2009</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.mrspeaker.net/2009/12/03/particle-system-with-html5-canvas/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Parcycle</a></td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A particle system for Canvas</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://raphaeljs.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Raphael</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A vector graphics library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/paperjs/paper.js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">paper.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>open source vector graphics scripting framework that runs on top of Canvas</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://impactjs.com/ejecta?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Ejecta</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A fast GL-backed canvas library for iOS</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2013</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://jonobr1.github.io/two.js/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Two.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An intriguing API that supports a number of back-ends (svg, canvas and WebGL)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://svgjs.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">svgjs</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A lightweight library for SVG handling</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gre/glsl-transition?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">glsl-transition</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A library that uses GL shaders for transitions</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2015</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jwagner/smartcrop.js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">smartcrop.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Content-aware image cropping</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://fabricjs.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Fabric.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>supports various kinds of canvas manipulation, including image filters</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/BinaryMuse/planetary.js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Planetary.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Another globe visualization library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/leeoniya/uPlot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">uPlot</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>extremely fast timeseries plotting</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/syt123450/giojs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Gio.JS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Globe visualization library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/timqian/chart.xkcd?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">chart.xkcd</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>various XKCD-styled chart types</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/vasturiano/globe.gl?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">globe.gl</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Very nice globe visualization component, with animated overlays, arcs, etc.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/riccardoscalco/textures?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Textures</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lovely way to do SVG-based hatch fills for charts</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/aeroheim/midori?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">midori</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library for animating image backgrounds with cinematic effects</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="15" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Libraries</td>
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dashersw/cote?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">cote</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a zero-configuration microservices framework</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/daybrush/moveable?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">moveable</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>GUI library for drawing editors</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/developit/htm?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">htm</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a JSX-like library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/nextapps-de/flexsearch?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">flexsearch</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a full-text indexer for browser and server-side</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rchipka/node-osmosis?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">osmosis</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an HTML parsing library with Xpath support</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tactivos/azure-sync?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">azure-sync</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>syncs from local filesystem to blob storage</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/AsyncBanana/microdiff?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">microdiff</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a fast object diff library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/piscinajs/piscina?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">piscina</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a cleverly named task pool</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://htmx.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">htmx</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a nice, compact, Ajax library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/astoilkov/main-thread-scheduling?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">main-thread-scheduling</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library for scheduling tasks on the main thread</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Digicreon/muJS?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">muJS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A lightweight AJAX navigation library &#8212; 5KB alternative to Turbo and htmx</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/VolodymyrBaydalka/docx-preview?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">docx-preview</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>browser renderer for .docx files using HTML/CSS output</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/meshesha/pptxviewjs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pptxviewjs</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>lightweight web component/renderer for PPTX file previews</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/sheetjs/sheetjs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">xlsx</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>spreadsheet parsing/export library used for rendering Excel workbooks in browsers</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://htmx.org/extensions/sse/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">htmx SSE</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Server-Sent Events extension for htmx</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Markup</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2007</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://ejohn.org/projects/javascript-diff-algorithm/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Diff Algorithm</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Text diffing</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2013</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://craig.is/making/rainbows?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Rainbow</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A nice syntax highlighter</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://filepicker.github.io/codeblock.js/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Codeblock.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A nice way to provide code samples.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Mobile</td>
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://expo.io?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Expo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Good React Native wrapper/accelerator</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://nativescript.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">NativeScript</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Native mobile development with nice Vue support. Probably my favorite so far</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://ionicframework.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Ionic</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Good Angular, Vue and React Native wrapper/accelerator</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="7" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Runtimes</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://bellard.org/quickjs/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">QuickJS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>supports compilation to standalone binaries</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/aflin/rampart?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">rampart</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A minimal footprint runtime/stack with full text search, sql, lmdb,
redis, https, websockets, curl, crypt and more</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/oven-sh/bun?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Bun</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an all-in-one runtime and NPM client written in Zig</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kaluma-project/kaluma?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">kaluma</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>tiny and efficient JavaScript runtime for RP2040 (Raspberry Pi Pico)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/robertkrimen/otto?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">otto</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a JavaScript interpreter written in <a href="/space/dev/golang" rel="nofollow" style="color: #0000cc;">Go</a></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/quickjs-ng/quickjs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">quickjs-ng</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a fork of QuickJS</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bellard/mquickjs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">MicroQuickJS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a minimal port of QuickJS for microcontrollers</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="9" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.phantomjs.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">PhantomJS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A complete <a href="http://en.wikipedia.org/wiki/WebKit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WebKit</a> renderer, since obsoleted.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/subtleGradient/javascript.tmbundle?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">javascript.tmbundle</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An indispensable &#8220;TextMate&#8221;:apps/TextMate add-on (the autocompletion features alone are priceless)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ekalinin/nodeenv?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">nodeenv</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A sane way to install multiple versions of Node in segregated environments.
Downloads prebuilt binaries on macOS, Linux and Windows.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/facebookincubator/create-react-app?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">create-react-app</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A bootstrap tool for React apps.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/zeit/pkg?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pkg</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Package Node projects into an executable</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/vercel/pkg?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pkg</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Package Node apps into standalone binaries</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/statelyai/xstate?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">xstate</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>JavaScript and TypeScript finite state machines and statecharts.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hexojs/hexo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hexo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a static site generator</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/vercel-labs/portless?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">portless</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Node-based CLI that runs your dev server through a local proxy so every service gets a stable <name>.localhost URL (with HTTPS/2, host sync, and auto-managed ports for subdomains/worktrees).</name></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="23" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">UI</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2007</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://simile.mit.edu/timeline/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Timeline</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a draggable timeline widget</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://jweir.github.com/colorwheel/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Color Wheel</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A color picker component</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://stephencelis.com/projects/timeframe?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link#example_information" rel="external" style="color: #0000cc;">Timeframe</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Amazing calendar widget with support for date range selection.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ccampbell/mousetrap?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Mousetrap</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a very nice way to handle keyboard shortcuts</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/sporritt/jsplumb/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">jsPlumb</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Yahoo pipes-like library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2013</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://buunguyen.github.io/rainbow.js?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">rainbow.js</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A slim progress bar</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://github.hubspot.com/odometer?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Odometer</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A library for counters with smooth transitions</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://ricostacruz.com/nprogress?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">nprogress</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Another slim progress bar</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ChiperSoft/Kalendae?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Kalendae</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a very impressive, framework-agnostic date picker</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/matthewmueller/date?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">date</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A date parser that can take pseudo-natural language strings</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://framerjs.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Framerjs</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>For designing interactive prototypes</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2015</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/aFarkas/lazysizes?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">lazysizes</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>For lazy image loading</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bevacqua/dragula?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">dragula</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a cute drag and drop library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/zircleUI/zircleUI?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">zircleUI</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Vue-based framework for developing zoomable UIs (especially nice for touchscreen displays)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/alyssaxuu/flowy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Flowy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library for implementing flowchart editors with drag and drop</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/scrumpy/tiptap?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tiptap</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a nicely featured editor component for Vue.js</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/arwes/arwes?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">arwes</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a React-based framework with a futuristic look and feel</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/neutralinojs/neutralinojs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">neutralino</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight alternative to Electron</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/sampotts/plyr?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">plyr</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a customizable HTML5 video player component</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/yue/yue?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Yue</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a cross-platform C++ library for writing desktop apps</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/lowlighter/mizu?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mizu</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight HTML templating library for any-side rendering with support for custom elements</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/shadcn-ui/ui?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">shadcn-ui</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a nice-looking React component library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/zumerlab/zumly?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Zumly</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a JavaScript library for hierarchical zoom navigation and structured zoomable user interfaces with pluggable transition drivers.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Web Frameworks</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/honojs/hono?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hono</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>another lightweight web framework, focusing on edge platforms</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="scripting" term="scripting"/>
<category label="programming" term="programming"/>
<category label="languages" term="languages"/>
<category label="resources" term="resources"/>
</entry>
<entry>
<title>Go (lang)</title>
<id>https://taoofmac.com/space/dev/golang?utm_content=atom</id>
<published>2013-06-28T10:12:00+00:00</published>
<updated>2026-04-09T07:13:02+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/dev/golang?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">A great systems-oriented programming language I&#8217;ve taken up to complement <a href="/space/dev/python" rel="next" style="color: #0000cc;">Python</a> due to its ability to cross-compile and produce (mostly) self-contained static binaries.</p>
<a class="anchor" id="anchor-tricks" rel="anchor" href="/space/dev/golang#tricks" style="color: #0000cc;"><h2 id="tricks">Tricks</h2></a><p>Shrinking executables via <code>gccgo</code> and <code>upx</code>:</p>
<div class="highlight"><pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Cascadia Code', 'Cascadia Mono', 'Consolas', 'DejaVu Sans Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro','Fira Code','Fira Mono', 'Droid Sans Mono', 'Courier New', monospace !important;"><span/><code>go<span class="w"> </span>build<span class="w"> </span>-mod<span class="o">=</span>vendor<span class="w"> </span>-gccgoflags<span class="w"> </span><span class="s1">'-Os -s'</span><span class="w"> </span>-o<span class="w"> </span>main<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>upx<span class="w"> </span>--best<span class="w"> </span>--lzma<span class="w"> </span>main
</code></pre></div>

<a class="anchor" id="anchor-resources" rel="anchor" href="/space/dev/golang#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">AI</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/takara-ai/go-attention?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-attention</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A full attention mechanism and transformer in pure go (uses FP64, and is slow)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/neurocult/agency?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">agency</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an LLM library for Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="8" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Authentication</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/lastlogin-net/obligator?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">obligator</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a relatively simple and opinionated OpenID Connect (OIDC) server</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pocket-id/pocket-id?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pocket-id</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A simple and easy-to-use OIDC provider</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/steveiliop56/tinyauth?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tinyauth</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a simple authentication server that integrates with traefik</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/authelia/authelia?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">authelia</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>authentication and authorization server providing 2-factor authentication and single sign-on</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gnur/tobab?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tobab</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an identity-aware proxy</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ory/hydra?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Ory</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a full IAP authentication solution with OpenID integration</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tarent/loginsrv?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">loginsrv</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a standalone minimalistic login server providing a JWT login for multiple login backends</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/thomseddon/traefik-forward-auth?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">traefik-forward-auth</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a forward auth service that provides OAuth support for the Traefik reverse proxy</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Big Data</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hortonworks/gohadoop/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gohadoop</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A set of libraries to build Hadoop jobs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2015</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/chrislusf/glow?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Glow</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An easy-to-use distributed computation (map-reduce) system in pure Go.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Configuration</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/vrischmann/envconfig?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">envconfig</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>simple, no-frills environment variable handling</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017-01</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/spf13/viper?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">viper</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A flexible configuration solution for 12 factor apps (and more)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="12" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Data Science</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/zasper-io/zasper?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">zasper</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Jupyter clone designed for massive concurrency with minimal resource usage.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="11" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/advancedlogic/go-freeling?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-freeling</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Natural language processing</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gonum/floats?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gonum/floats</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>operations on slices of floats</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gonum/graph?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gonum/graph</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Graph navigation/traversal</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gonum/matrix?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gonum/matrix</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Matrix algebra</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gonum/optimize?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gonum/optimize</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Gradient descent and minimization</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gonum/plot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gonum/plot</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Plotting and visualization</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gonum/stat?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gonum/stat</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>statistics package</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gopherdata/gophernotes?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gophernotes</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Jupyter kernel for Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kniren/gota?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gota</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>DataFrames, Series and data manipulation</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/sajari/regression?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">regression</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Multivariable regression</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://godoc.org/go-hep.org/x/hep/csvutil?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">csvutil</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>CSV and tabular data</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Data Structures</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mediocregopher/seq?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gen</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Clojure-like immutable data-structures and functional helpers</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Database</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/zserge/pennybase?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pennybase</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Poor man&#8217;s Backend-as-a-Service (BaaS), similar to Firebase/Supabase/Pocketbase</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/crawshaw/sqlite?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">sqlite</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Go interface to sqlite3</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/multiprocessio/go-sqlite3-stdlib?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-sqlite3-stdlib</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a set of math and statistics extensions to <code>sqlite</code></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/heroiclabs/nakama?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">nakama</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A game-oriented state server, backed by CockroachDB</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/amacneil/dbmate?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">dbmate</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a database migration tool that supports MySQL, PostgreSQL, SQLite and ClickHouse</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jinzhu/gorm?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gorm</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Go ORM library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Deep Learning</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/NOX73/go-neural?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-neural</a></td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/fxsjy/gonn?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gonn</a></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tleyden/neurgo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">neurgo</a></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Desktop</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/FyshOS/fynedesk?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">fynedesk</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a desktop environment built with the Fyne GUI toolkit</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/wailsapp/wails?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">wails</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an Electron-like framework for desktop app development</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Frameworks</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/maddalax/htmgo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">htmgo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight framework for building interactive web applications using Go and htmx without JavaScript</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">GUI</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://gioui.org/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gio</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a cross-platform GUI library for Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/roblillack/spot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">spot</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a React-like destkop GUI toolkit for Go that supports FLTK and Cocoa</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/fyne-io/fyne?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">fyne</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a cross platform GUI toolkit that can be used in Android and iOS</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/spearson78/tinygui?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tinygui</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a GUI toolkit for TinyGo</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Graphics</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/fogleman/fauxgl?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">fauxgl</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a software rasterizer and 3D renderer</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/fogleman/meshview?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">meshview</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a 3D viewer for STL meshes</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/deadsy/sdfx?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">sdfx</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a CAD package written in Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/disintegration/gift?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gift</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>The Go Image Filtering Toolkiti</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">HomeKit</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/brutella/hap?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">hap</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a rewrite of the <code>brutella/hc</code> HomeKit library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">IoT</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/f-secure-foundry/tamago?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tamago</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>compile and execute Go on bare ARM SoCs</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://gokrazy.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gokrazy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a pure-Go userland for <a href="/space/hw/raspberry_pi" rel="nofollow" style="color: #0000cc;">Raspberry Pi 3</a> appliances</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://tinygo.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">tinygo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an <code>LLVM</code> compiler for small devices</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Learning</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/MedUnes/go-kata?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-kata</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A collection of daily coding challenges to master idiomatic Go through deliberate practice</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="25" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Libraries</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rvitorper/go-bt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-bt</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A minimalist behavior tree library for game AI, background workers and async logic</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bitfield/script?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">script</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library for building script alternatives</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kelindar/event?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">event</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>simple internal event bus for Go applications</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/metoro-io/mcp-golang?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mcp-golang</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Go implementation of the <a href="/space/ai/mcp" rel="nofollow" style="color: #0000cc;">MCP</a> protocol</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/destel/rill?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">rill</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a toolkit for clean, composable, channel-based concurrency</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/progrium/darwinkit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">darwinkit</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library for building Darwin (macOS) apps</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/samber/lo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">lo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lodash-style library for generics, map, filter, contains, find, etc.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/thoas/go-funk?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-funk</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library with map, reduce and other functional primitives</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ergo-services/ergo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ergo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an impressive <a href="/space/dev/erlang" rel="nofollow" style="color: #0000cc;">Erlang</a>-compatible library for implementing OTP design patterns</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/soypat/sdf?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">sdf</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>signed distance function shape generation</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/zitadel/oidc?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">oidc</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>OpenID Connect client and server library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dolthub/maphash?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">maphash</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Hash any comparable type using Golang&#8217;s fast runtime hash.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/evanoberholster/imagemeta?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">imagemeta</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>supports EXIF, XMP and HEIC metadata parsing</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/soypat/natiu-mqtt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">natiu-mqtt</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a self-contained MQTT implementation</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/alecthomas/chroma?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Chroma</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a fast generic syntax highlighter</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/buraksezer/olric?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">olric</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A distributed cache and in-memory key/value data store that can be used standalone or embedded.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/anthonynsimon/bild?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">bild</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a collection of parallel image processing algorithms</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://godoc.org/code.google.com/p/go-imap/go1/imap?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-imap</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an IMAP client library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/benmanns/goworker?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">goworker</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Resque-compatible library for background workers</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mjibson/go-dsp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-dsp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A digital processing package</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pquerna/ffjson?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ffjson</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Faster JSON for Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tidwall/gjson?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gjson</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Fast JSON data retrieval</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/yhat/scrape?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">scrape</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A simple interface for Go web scraping</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ahmetalpbalkan/go-linq?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-linq</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>LINQ-like functionality with coroutine support</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/docker/libchan?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">libchan</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A network-enabled abstraction that mimics channels</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Machine Learning</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/cdipaolo/goml?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">goml</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>stream oriented ML library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/sajari/word2vec?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">word2vec</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>word2vec model support</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/sjwhitworth/golearn?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">golearn</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A very nice machine learning library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Messaging</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/poundifdef/SmoothMQ?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">SmoothMQ</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>is a drop-in replacement for AWS SQS</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bitly/nsq?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">nsq</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A message queueing system</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Microservices</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://www.flogo.io?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">flogo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a low-code environment with streaming support and a Node-RED like approach.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/lithdew/flatend?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">flatend</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an interesting take on deployment and discovery via P2P/Kademlia</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/micro/go-micro?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-micro</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a microservices framework with pluggable components for discovery, transports, etc.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Middleware</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017-11</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/casbin/casbin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">casbin</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a flexible access control library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Networking</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/0xERR0R/blocky?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">blocky</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>DNS proxy/ad-blocker for local network (can run inside of gokrazy)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rtr7/router7?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">router7</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A router based on <a href="https://gokrazy.org?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gokrazy</a></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Other</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/progrium/macdriver?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">macdriver</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Objective-C bindings for Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://blog.filippo.io/shrink-your-go-binaries-with-this-one-weird-trick/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Shrinking Go binaries</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>By stripping debug symbols and using <code>upx</code></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jteeuwen/go-bindata?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-bindata</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Pack external assets into a Go program as binary data</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Parsers</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016-06</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/beevik/etree?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">etree</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An XML handling library modeled on Python&#8217;s <code>ElementTree</code></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Protocols</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pion/handoff?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Pion Handoff</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Go tool for moving a browser-created WebRTC session into a backend process so you can record, inject media, or inspect decrypted traffic.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mitchellh/go-vnc?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go-vnc</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An extensible VNC protocol library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2015-03</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/anacrolix/torrent?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">torrent</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An embeddable BitTorrent library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2015-01</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gdamore/mangos?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mangos</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A network library for IPC patterns</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Robotics</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://gobot.io?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Gobot</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A set of robotics-oriented libraries</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Search</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/blevesearch/bleve?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">blevesearch</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Lucene-like indexing library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Servers</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mjl-/mox?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">mox</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>modern full-featured (SMTP, IMAP, DKIM, etc.) mail server</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/foxcpp/maddy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">maddy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a composable, all-in-one SMTP/IMAP server</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">System</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/thejerf/suture?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">suture</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A library that implements Erlang-like supervision trees</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="17" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/go-shiori/shiori?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">shiori</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a simple Pocket-like bookmark manager with a web interface, able to archive pages like ArchiveBox</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/nafey/minimalytics?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">minimalytics</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a minimalist analytics tool backed by SQLite</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/nektos/act?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">act</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool for running GitHub Actions locally</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/u-root/u-root?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">u-root</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Go-based userspace for embedded systems and cloud environments.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bruin-data/bruin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">bruin</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a data pipeline tool that integrates data ingestion, transformation, and quality checks.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/dannyvankooten/gozer?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gozer</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A simple static site generator</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/monogon-dev/monogon?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">monogon</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Linux userland in pure Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/radiosilence/nano-web?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">nano-web</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Hyper-minimal webserver for serving SPAs and static content</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tobychui/zoraxy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">zoraxy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A general purpose HTTP reverse proxy and forwarding tool</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/charmbracelet/glow?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">glow</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a CLI Markdown renderer in te spirit of more/less</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/osteele/gojekyll?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gojekyll</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A partial reimplementation of Jekyll in Go</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/charmbracelet/vhs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">vhs</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>terminal demo recorder with GIF/<code>ffmpeg</code>re output</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jondot/goweight?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">goweight</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a CLI tool to identify which libraries contribute most to binary size</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/DataHenHQ/till?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">till</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a web scraping caching proxy that handles most of the anti-scraping mechanics</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/prabhatsharma/zinc?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">zinc</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight alternative to elasticsearch that claims to run in less than 100 MB of RAM and has a broadly similar API</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pyroscope-io/pyroscope?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pyroscope</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a profiling platform with support for Go, Python and Ruby</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/melbahja/got?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Got</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool/library that uses concurrent HTTP range requests for faster downloads</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Transpilers</td>
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="http://tardisgo.github.io?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Tardis Go</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A transpiler to JavaScript</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/eobrain/funcgo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">funcgo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A simplified dialect that compiles to Clojure</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/neelance/gopherjs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">GopherJS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A transpiler to JavaScript</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">UI</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/metaspartan/gotui?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gotui</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a cross-platform terminal UI library that supports terminal dashboards and charts</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ImVexed/muon?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">muon</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight alternative to Electron with go bindings</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gizak/termui?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">termui</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A terminal-oriented dashboard library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/andlabs/ui?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ui</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A platform-native GUI library</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Video</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/AlexxIT/go2rtc?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">go2rtc</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a camera proxy that can surface RTSP cameras to HomeKit (and much more)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Glimesh/broadcast-box?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">broadcast-box</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool for broadcasting video streams to multiple platforms using WebRTC</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="10" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Web</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/livebud/bud?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">but</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a full-stack web framework with server-side rendering and good JS integration</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/abahmed/gearbox?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gearbox</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A web framework built around <code>fasthttp</code></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2018</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://beego.me/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Beego</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Ships with an ORM and built-in monitoring</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://getqor.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">QOR</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A set of libraries for E-Commerce and CMS</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/gin-gonic/gin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Gin</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>uses a Radix tree for routing, handles panics</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://gobuffalo.io?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Gobuffalo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://iris-go.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Iris</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Lots of features and plugins</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2017-07</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/julienschmidt/httprouter?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">HttpRouter</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A high performance HTTP router</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/zenazn/goji/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Goji</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Sinatra-inspired, minimalist framework</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2016-06</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://echo.labstack.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">echo</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A high-performance HTTP server framework with LetsEncrypt support</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Web Frameworks</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/augustoroman/sandwich?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">sandwich</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a middleware &amp; routing framework</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/pocketbase/pocketbase?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pocketbase</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Firebase-like web app realtime backend with SQLite, user and file management, and a dashboard UI.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Writing</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/errata-ai/vale?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">vale</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an extensible linter for prose</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="programming" term="programming"/>
<category label="language" term="language"/>
<category label="google" term="google"/>
</entry>
<entry>
<title>Visual Studio Code</title>
<id>https://taoofmac.com/space/apps/code?utm_content=atom</id>
<published>2016-12-20T18:30:00+00:00</published>
<updated>2026-04-08T07:07:58+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/apps/code?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead"><a href="https://code.visualstudio.com?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Visual Studio Code</a> became my <em>de facto</em> default editor (well, other than <a href="/space/cli/vim" rel="next" style="color: #0000cc;"><code>vim</code></a> back in 2016 (years before I joined <a href="/space/com/microsoft" rel="next" style="color: #0000cc;">Microsoft</a>) simply because it was inhumanly <em>fast</em> for an Electron application and completely usable on Mac and Linux from day one.</p>
<p>Throughout the years, its <code>Monaco</code> editor, support for every single programming language I wanted to use and explosive extension ecosystem just made it better and more &#8220;sticky&#8221;, and I use it daily on almost every single device I own (including the iPad, via <a href="apps/blink" rel="nofollow" style="color: #0000cc;">Blink</a>).</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/apps/code#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Data Science</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/posit-dev/positron?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">positron</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a fork designed to be used as a one-stop data science IDE</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Debugging</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hediet/vscode-debug-visualizer?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">debug-visualizer</a></td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Diagramming</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hediet/vscode-drawio?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">draw.io</a></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Notetaking</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/foambubble/foam?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Foam</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>way better than Obsidian for my use case</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hannut91/vs-code-wiki?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">VS Code Wiki</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>mostly compatible with <code>vimwiki</code></p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/goessner/mdmath?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Markdown+Math</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Productivity</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/appsoftwareltd/vscode-agent-kanban?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Agent Kanban</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>VS Code extension that wires a drag-and-drop Kanban board to GitHub Copilot Chat, storing each task as a markdown file with YAML metadata so you can plan/todo/implement with @kanban commands while keeping a version-controlled chat history.</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="studio" term="studio"/>
<category label="code" term="code"/>
<category label="electron" term="electron"/>
<category label="visual" term="visual"/>
<category label="microsoft" term="microsoft"/>
<category label="editor" term="editor"/>
</entry>
<entry>
<title>AI Speech Technologies</title>
<id>https://taoofmac.com/space/ai/speech?utm_content=atom</id>
<published>2025-05-01T18:15:00+00:00</published>
<updated>2026-04-11T08:16:16+00:00</updated>
<author>
<name>Rui Carmo</name>
<uri>https://taoofmac.com</uri>
</author>
<link href="https://taoofmac.com/space/ai/speech?utm_content=atom" rel="alternate" type="text/html" xml:base="https://taoofmac.com"/>
<content type="html"><![CDATA[
<p class="lead">This page is a collection of notes and links related to <a href="/space/ai" rel="next" style="color: #0000cc;">AI</a> speech technologies, including Text-to-Speech (TTS), Speech-to-Text (STT), voice synthesis, voice cloning, and other related frippery in the modern <a href="/space/ai" rel="next" style="color: #0000cc;">AI</a> space.</p>
<a class="anchor" id="anchor-resources" rel="anchor" href="/space/ai/speech#resources" style="color: #0000cc;"><h2 id="resources">Resources</h2></a><p/><table class="compact" style="background: transparent;margin: 0px;padding: 0px;border-collapse: collapse;font-size: 90%;">
<thead>
<tr style="border-top: 1px solid #aaa;">
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Field</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
<th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
</tr>
</thead>
<tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Generative Audio</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Models</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/suno-ai/bark?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">bark</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a text-prompted genereative audio model</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Speech Agents</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/RunanywhereAI/rcli?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">RCLI</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an on-device Apple Silicon voice agent for macOS that combines STT, local LLM inference, TTS, 38 local actions, and document RAG in a low-latency TUI/CLI.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/hkjarral/Asterisk-AI-Voice-Agent?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Asterisk-AI-Voice-Agent</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An Asterisk-based AI voice agent project integrating telephony with voice AI workflows.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="14" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Speech Recognition</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Libraries</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/argmaxinc/WhisperKit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WhisperKit</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Swift package that integrates Whisper with Apple&#8217;s CoreML</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Models</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/collabora/WhisperLive?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WhisperLive</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a real-time text-to-speech system based on Whisper</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/usefulsensors/moonshine?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">moonshine</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a family of models optimized for fast and accurate automatic speech recognition on resource-constrained devices. Designed to run efficiently on smaller hardware.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/huggingface/distil-whisper?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">distil-whisper</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a distilled version of whisper that is 6 times faster</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ggerganov/whisper.cpp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">whisper.cpp</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a C++ implementation of whisper that can run in consumer hardware</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/openai/whisper?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">whisper</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a general purpose speech recognition model</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
<td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/TypeWhisper/typewhisper-mac?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">TypeWhisper</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A macOS dictation and transcription app that can use Apple&#8217;s speech stack as well as other local on-device engines, with optional prompt-driven post-processing.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/cjpais/Handy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Handy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An offline, cross-platform speech-to-text app built with Tauri that transcribes locally. Uses Whisper and Parakeet models without sending audio to the cloud.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/matthartman/ghost-pepper?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Ghost Pepper</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a 100% local macOS hold-to-talk speech-to-text menu bar app with WhisperKit transcription and local LLM cleanup.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/msf/dictate?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">dictate</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Go-based local voice-to-text tool for Linux terminals that streams whisper.cpp transcription to stdout, files, or keystroke injection for dictating into focused terminal apps.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/bugbakery/audapolis?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">audapolis</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an editor for spoken-word audio with automatic transcription</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Vaibhavs10/insanely-fast-whisper?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">insanely-fast-whisper</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An opinionated CLI for audio transcription</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Transcription Tools</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/chidiwilliams/buzz?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">buzz</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A cross-platform Whisper desktop app that works quite well on the Mac (including speaker diarization)</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/davidamacey/OpenTranscribe?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">OpenTranscribe</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an open-source all-in-one recording transcription and diarization stack</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="18" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Speech Synthesis</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Implementations</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/taf2/pocket-tts.c?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pocket-tts.c</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A minimal, dependency-free C scaffold for Pocket-TTS, aimed at CPU-only TTS. Includes a tiny CLI in the flux2.c style.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="8" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Models</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/samuel-vitorino/sopro?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">sopro</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a lightweight text-to-speech model</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/SesameAILabs/csm?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">csm</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a speech generation model from Sesame that generates RVQ audio codes from text and audio inputs.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/canopyai/Orpheus-TTS?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Orpheus-TTS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an open-source text-to-speech system built on Llama-3b</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/resemble-ai/chatterbox?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">chatterbox</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a text-to-speech model that can generate expressive speech with a variety of styles and emotions.</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/2noise/ChatTTS?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ChatTTS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a text-to-speech model designed specifically for dialogue scenarios, with decent prosody</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/CorentinJ/Real-Time-Voice-Cloning?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Real-Time-Voice-Cloning</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a PyTorch implementation of a voice cloning model</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/collabora/WhisperSpeech?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">WhisperSpeech</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a text-to-speech system built by inverting Whisper</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/yl4579/StyleTTS2?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">StyleTTS2</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A text to speech model that supports style diffusion</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Resources</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://calbryant.uk/blog/training-a-new-ai-voice-for-piper-tts-with-only-a-single-phrase/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Training a voice for piper TTS</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a detailed walkthrough of how to customize a voice model</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="8" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2026</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jamiepine/voicebox?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Voicebox</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an open-source voice cloning studio with DAW-like features, local-first voice synthesis powered by Qwen3-TTS, multi-track timeline editor, and REST API</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kyutai-labs/pocket-tts?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">pocket-tts</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A lightweight text-to-speech (TTS) application designed to run efficiently on CPUs that supports voice cloning</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
<td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/abus-aikorea/voice-pro?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">voice-pro</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tookit for doing speech processing and voice cloning</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool for doing speech processing and voice cloning</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/denizsafak/abogen?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">abogen</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool for generating audiobooks from text using the Kokoro open weights model</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/rany2/edge-tts?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">edge-tts</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a text-to-speech module that leverages the Microsoft Edge TTS API</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/souzatharsis/podcastfy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">podcastfy</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool for generating podcasts from text</p></td>
</tr>
<tr style="border-top: 1px solid #aaa;">
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/myshell-ai/OpenVoice?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">OpenVoice</a></td>
<td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool that enables accurate voice cloning with multi-lingual support and flexible style control.</p></td>
</tr>
</tbody>
</table>
<br/>
]]></content>
<category label="speech" term="speech"/>
<category label="synthesis" term="synthesis"/>
<category label="ai" term="ai"/>
<category label="cloning" term="cloning"/>
<category label="tts" term="tts"/>
<category label="whisper" term="whisper"/>
<category label="voice" term="voice"/>
<category label="stt" term="stt"/>
</entry>
</feed>