Congratulations!

[Valid Atom 1.0] This is a valid Atom 1.0 feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://the.taoofmac.com/space/RecentChanges?format=atom

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <feed xmlns="http://www.w3.org/2005/Atom">
  3. <title>Tao of Mac</title>
  4. <subtitle>The Tao of Mac is the personal wiki of Rui Carmo, featuring a technology-oriented blog, links to articles, several compilations of resources around various key technology topics, and a collection of photos and videos.</subtitle>
  5. <link rel="alternate" type="text/xml" href="https://taoofmac.com"/>
  6. <link rel="self" type="application/atom+xml" href="https://taoofmac.com/atom.xml"/>
  7. <id>https://taoofmac.com/atom.xml</id>
  8. <updated>2026-06-03T14:30:00+00:00</updated>
  9. <rights>CC Attribution-NonCommercial-NoDerivs 3.0</rights>
  10. <entry>
  11. <title>Markdown</title>
  12. <id>https://taoofmac.com/space/markup/markdown</id>
  13. <published>2007-02-28T21:44:57+00:00</published>
  14. <updated>2026-06-03T14:30:00+00:00</updated>
  15. <author>
  16. <name>Rui Carmo</name>
  17. <uri>https://taoofmac.com</uri>
  18. </author>
  19. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/markup/markdown"/>
  20. <content type="html"><![CDATA[
  21. <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>
  22. <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>
  23. <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>
  24. <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%;">
  25. <thead>
  26. <tr style="border-top: 1px solid #aaa;">
  27. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
  28. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
  29. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
  30. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
  31. </tr>
  32. </thead>
  33. <tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
  34. <tr style="border-top: 1px solid #aaa;">
  35. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Diagrams</td>
  36. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  37. <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>
  38. <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>
  39. </tr>
  40. <tr style="border-top: 1px solid #aaa;">
  41. <td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Editors</td>
  42. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
  43. <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>
  44. <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>
  45. </tr>
  46. <tr style="border-top: 1px solid #aaa;">
  47. <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>
  48. <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>
  49. </tr>
  50. <tr style="border-top: 1px solid #aaa;">
  51. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
  52. <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>
  53. <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>
  54. </tr>
  55. <tr style="border-top: 1px solid #aaa;">
  56. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
  57. <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>
  58. <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>
  59. </tr>
  60. <tr style="border-top: 1px solid #aaa;">
  61. <td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Implementations</td>
  62. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  63. <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>
  64. <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>
  65. </tr>
  66. <tr style="border-top: 1px solid #aaa;">
  67. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
  68. <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>
  69. <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>
  70. </tr>
  71. <tr style="border-top: 1px solid #aaa;">
  72. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
  73. <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>
  74. <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>
  75. </tr>
  76. <tr style="border-top: 1px solid #aaa;">
  77. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
  78. <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>
  79. <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>
  80. </tr>
  81. <tr style="border-top: 1px solid #aaa;">
  82. <td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Libraries</td>
  83. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  84. <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>
  85. <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>
  86. </tr>
  87. <tr style="border-top: 1px solid #aaa;">
  88. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  89. <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>
  90. <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>
  91. </tr>
  92. <tr style="border-top: 1px solid #aaa;">
  93. <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>
  94. <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>
  95. </tr>
  96. <tr style="border-top: 1px solid #aaa;">
  97. <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>
  98. <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>
  99. </tr>
  100. <tr style="border-top: 1px solid #aaa;">
  101. <td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
  102. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  103. <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>
  104. <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>
  105. </tr>
  106. <tr style="border-top: 1px solid #aaa;">
  107. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  108. <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>
  109. <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>
  110. </tr>
  111. <tr style="border-top: 1px solid #aaa;">
  112. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2014</td>
  113. <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>
  114. <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>
  115. </tr>
  116. <tr style="border-top: 1px solid #aaa;">
  117. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
  118. <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>
  119. <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>
  120. </tr>
  121. <tr style="border-top: 1px solid #aaa;">
  122. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2010</td>
  123. <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>
  124. <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>
  125. </tr>
  126. <tr style="border-top: 1px solid #aaa;">
  127. <td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">macOS</td>
  128. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  129. <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>
  130. <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>
  131. </tr>
  132. <tr style="border-top: 1px solid #aaa;">
  133. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
  134. <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>
  135. <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>
  136. </tr>
  137. <tr style="border-top: 1px solid #aaa;">
  138. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2012</td>
  139. <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>
  140. <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>
  141. </tr>
  142. <tr style="border-top: 1px solid #aaa;">
  143. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2011</td>
  144. <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>
  145. <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>
  146. </tr>
  147. </tbody>
  148. </table>
  149. <br/>
  150. ]]></content>
  151. </entry>
  152. <entry>
  153. <title>Notes for June 2025</title>
  154. <id>https://taoofmac.com/space/notes/2025/07/06/1900</id>
  155. <published>2025-07-06T19:00:00+00:00</published>
  156. <updated>2025-07-06T19:00:00+00:00</updated>
  157. <author>
  158. <name>Rui Carmo</name>
  159. <uri>https://taoofmac.com</uri>
  160. </author>
  161. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/notes/2025/07/06/1900"/>
  162. <content type="html"><![CDATA[
  163. <p class="lead">It was a strange month. This update is late since I have had <a href="/space/links/2025/07/02/2359" rel="next" style="color: #0000cc;">far too much on my mind</a>, and that has also impacted a few projects, but there are a few things I want to note:</p>
  164. <a class="anchor" id="anchor-vibe-coding" rel="anchor" href="/space/notes/2025/07/06/1900#vibe-coding" style="color: #0000cc;"><h2 id="vibe-coding">Vibe Coding</h2></a><p>I have been doing a little experiment with my feed summarizer over the past <a href="/space/notes/2025/05/10/1100" rel="next" style="color: #0000cc;">couple of months</a>, and I&#8217;m very sorry to say that the latest version was pretty much all written using <a href="/space/ai" rel="next" style="color: #0000cc;">AI</a>.</p>
  165. <p><a href="/space/apps/code" rel="next" style="color: #0000cc;">VS Code</a> and Claude have evolved a lot in terms of integration and my <a href="/space/blog/2025/05/13/2230" rel="next" style="color: #0000cc;">staple approach</a> is still valid, but there have been quite a few annoyances along the way.</p>
  166. <p>Here are some of the main issues I&#8217;ve noticed:</p>
  167. <ul>
  168. <li>
  169. <p><strong>Over-Eagerness to process <code>TODO</code> items:</strong><br/>
  170.    Most models now tend to churn through <code>TODO</code> lists unprompted, often without validating whether the resulting code actually works as intended.</p>
  171. </li>
  172. <li>
  173. <p><strong>Zero Short-Term Memory:</strong><br/>
  174.    Even with <code>SPEC</code>, <code>TODO</code>, and the new <code>.github/copilot-instructions.md</code> grounding, coding agents still:</p>
  175. <ul>
  176. <li>Ignore coding standards.</li>
  177. <li>Fail to re-use or call previously written code.</li>
  178. <li>Deviate from established code structures.</li>
  179. <li>Write overly complex, verbose, and often redundant functions.</li>
  180. </ul>
  181. </li>
  182. <li>
  183. <p><strong>Untidiness:</strong><br/>
  184.    Claude, in particular, is prone to:</p>
  185. <ul>
  186. <li>Producing emoji-laden checklists and proclaiming success before tasks are truly complete.</li>
  187. <li>Littering the repository with ad hoc <code>test_</code> files that are frequently re-written and rarely re-used.</li>
  188. </ul>
  189. </li>
  190. </ul>
  191. <p>And I think the key word here is &#8220;eager&#8221;. The chat interactions have become grating and annoying, so I now just say &#8220;Implement item #3 in the <code>TODO.md</code> and write appropriate tests&#8221;.</p>
  192. <p>The upshots are that the current codebase has a lot more logging than I would have ever bothered with and an (arguably) better database schema, but I am not overly impressed. Overall, using AI saved me <em>just a little more time</em> than the time I spent working the problem and explaining to it the issues it created, and it can be more mentally burdensome to type out the stuff I want fixed (because I have to write an all-inclusive prompt to avoid deviations) than to fix it myself.</p>
  193. <p>As to the changes I&#8217;ve noticed over time, I suspect this is mostly due to tweaks in the scaffolding (updating the system prompts inside the editor, etc.) and nothing I can really ascribe to any model improvements.</p>
  194. <p>I don&#8217;t really <em>like</em> the code, but it is stuff I didn&#8217;t really want to write myself. Time will tell how correctly it works, but I am a bit worried about overall quality&#8211;not just of my stuff, but of the generation of software that is being written today.</p>
  195. <a class="anchor" id="anchor-media-and-entertainment" rel="anchor" href="/space/notes/2025/07/06/1900#media-and-entertainment" style="color: #0000cc;"><h2 id="media-and-entertainment">Media and Entertainment</h2></a><p>We finally finished watching the second season of <a href="https://www.imdb.com/title/tt9253284?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Andor</a>, which is, together with <a href="https://www.imdb.com/title/tt3748528?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Rogue One</a>, undoubtedly the best Star Wars I&#8217;ve ever seen. In comparison, all the other Star Wars spinoffs feel like kitschy messes and self-serving director playgrounds that might as well be binned, but I don&#8217;t suppose Disney will really get this&#8211;we were just lucky.</p>
  196. <p>On a lower note, for the first time in a couple of years I am behind on my regularly scheduled reading to the point where I really need to step things up a tad. In my defense, I wasn&#8217;t expecting the <a href="https://www.goodreads.com/series/50543-blue-ant?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Blue Ant Series</a> (which I had actually never read in order) to be this long-winded.</p>
  197. <br/>
  198. ]]></content>
  199. <category term="coding" label="coding" />
  200. <category term="andor" label="andor" />
  201. <category term="entertainment" label="entertainment" />
  202. <category term="media" label="media" />
  203. <category term="starwars" label="starwars" />
  204. <category term="ai" label="ai" />
  205. <category term="notes" label="notes" />
  206. <category term="books" label="books" />
  207. <category term="claude" label="claude" />
  208. <category term="vscode" label="vscode" />
  209. </entry>
  210. <entry>
  211. <title>Yamaha CLP-F01PE</title>
  212. <id>https://taoofmac.com/space/com/yamaha/clp-f01pe</id>
  213. <published>2006-09-17T20:40:44+00:00</published>
  214. <updated>2025-07-06T15:09:00+00:00</updated>
  215. <author>
  216. <name>Rui Carmo</name>
  217. <uri>https://taoofmac.com</uri>
  218. </author>
  219. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/com/yamaha/clp-f01pe"/>
  220. <content type="html"><![CDATA[
  221. <p/><figure><img alt="Colorways" src="https://taoofmac.com/media/com/yamaha/clp-f01pe/VTN0HQzsOFS0IYb6dZKxR0jWqx0=/colors.jpg" width="480" height="143" style="max-width: 100% !important;height: auto !important;"/><figcaption>Colorways</figcaption></figure><p/>
  222. <p class="lead">The <a href="com/yamaha" rel="nofollow" style="color: #0000cc;">Yamaha</a> CLP-F01PE is a Clavinova digital piano with impeccable design that we have owned for over 20 years:</p>
  223. <p/><div class="message error" role="alert">
  224.    <p><b>Error:</b> Could not find image <tt>CLPF01PE.jpg</tt></p>
  225. <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;">
  226. </pre>
  227. </div>
  228. <a class="anchor" id="anchor-maintenance" rel="anchor" href="/space/com/yamaha/clp-f01pe#maintenance" style="color: #0000cc;"><h2 id="maintenance">Maintenance</h2></a><p>After alomost 20 years of use, ours started developing a few issues in late 2024 (intermittent garbled audio that became worse with time). It had previously been serviced once to replace keyboard pads, so we reached out to Yamaha support in Portugal, which paid us a visit and said it was a motherboard issue.</p>
  229. <p>There were a few awkward moments since they were not used to servicing these vintage models, but they tried to get a replacement board from Yamaha, which (when it came) was the completely wrong part.</p>
  230. <p/><figure><img alt="The motherboard itself, before cleaning" src="https://taoofmac.com/media/com/yamaha/clp-f01pe/Q9BolRBesXygnsq0sPQDRYToDMQ=/motherboard.jpg" width="2048" height="1152" style="max-width: 100% !important;height: auto !important;"/><figcaption>The motherboard itself, before cleaning</figcaption></figure><p/>
  231. <p>Fast forward a few months, and I noticed that the symptoms improved when I jiggled the main board a little. I eventually bought a copy of the schamatics from eBay, and after a few hours of poking around I realized that IC1 (which is effectively the wavetable ROM) was the most likely culprit, since it was socketed and jiggling it <em>alone</em> fixed the issue temporarily.</p>
  232. <p>I also inspected most of the boards and saw no obvious signs of damage, corrosion or bad solder joints, so I decided to try reseating the ROM chip.</p>
  233. <p>I patiently removed the chip, cleaned the pins carefully with a wire brush, applied DeoxIt to the socket, and reinserted it. It&#8217;s been a couple of months and the problems seem to have gone away.</p>
  234. <p>Although it is unlikely that I will ever be able to share the schematics (I was only able to get a printed version that unfolds to around A2 size), I will be adding whatever information I can below:</p>
  235. <ul>
  236. <li><a href="/media/com/yamaha/clp-f01pe/7CEkzzSDGLxGLJ_K8j88Aftd7GQ=/clpf01_en.pdf" rel="media" style="color: #0000cc;">Local copy of manual</a></li>
  237. </ul>
  238. <br/>
  239. ]]></content>
  240. </entry>
  241. <entry>
  242. <title>Microsoft to cut 9000 jobs</title>
  243. <id>https://taoofmac.com/space/links/2025/07/02/2359</id>
  244. <published>2025-07-02T23:59:00+00:00</published>
  245. <updated>2025-07-04T16:35:00+00:00</updated>
  246. <author>
  247. <name>Rui Carmo</name>
  248. <uri>https://taoofmac.com</uri>
  249. </author>
  250. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/links/2025/07/02/2359"/>
  251. <content type="html"><![CDATA[
  252. <p><a href="https://www.bloomberg.com/news/articles/2025-07-02/microsoft-to-cut-9-000-workers-in-second-wave-of-major-layoffs?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" title="external link to https://www.bloomberg.com/news/articles/2025-07-02/microsoft-to-cut-9-000-workers-in-second-wave-of-major-layoffs" alt="screenshot of https://www.bloomberg.com/news/articles/2025-07-02/microsoft-to-cut-9-000-workers-in-second-wave-of-major-layoffs" style="color: #0000cc;"><img class="quicklook" src="https://taoofmac.com/thumb/links/2025/07/02/2359/640,480/weBzr8VZ5h9KMFn001TY5Zs_icQ=/large.jpg" width="320" height="240" style="max-width: 100% !important;height: auto !important;"/></a></p>
  253. <p class="lead">I&#8217;m actually posting this a couple of days later, partially because I spotted a <em>lot</em> of traffic towards my <a href="/space/site/disclaimer" rel="next" style="color: #0000cc;">disclaimer</a> page and other similar posts from recent past, and partially because it&#8217;s been&#8230; stressful.</p>
  254. <p>I&#8217;m OK. Plenty of other people aren&#8217;t. 4% of the company this time included a few of my former Portuguese colleagues, and I feel like I have to bring up <a href="/space/blog/2024/06/08/1200" rel="next" style="color: #0000cc;">last year&#8217;s post</a> to remind myself these things are a reality these days.</p>
  255. <p>I will say this one thing, though: I handpicked this particular news item to backlink to because it was one of the first on major media <em>and</em> has some of the most shallow, clueless commentary I&#8217;ve ever seen Bloomberg dole out. None of the &#8220;news&#8221; coverage that mentions <a href="/space/ai" rel="next" style="color: #0000cc;">AI</a> has any real clue.</p>
  256. <br/>
  257. ]]></content>
  258. <category term="microsoft" label="microsoft" />
  259. <category term="disclaimer" label="disclaimer" />
  260. <category term="reorg" label="reorg" />
  261. <category term="fy26" label="fy26" />
  262. <category term="layoffs" label="layoffs" />
  263. </entry>
  264. <entry>
  265. <title>The ESI Xsynth</title>
  266. <id>https://taoofmac.com/space/reviews/2025/06/29/1800</id>
  267. <published>2025-06-29T00:00:00+00:00</published>
  268. <updated>2025-06-29T00:00:00+00:00</updated>
  269. <author>
  270. <name>Rui Carmo</name>
  271. <uri>https://taoofmac.com</uri>
  272. </author>
  273. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/reviews/2025/06/29/1800"/>
  274. <content type="html"><![CDATA[
  275. <p class="lead">It&#8217;s been a <em>long</em> while since I last wrote about a piece of music gear (and there are quite a few I got in the intervening years that I have been meaning to write about), but I recently got my hands on the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESI Xsynth</a> and despite only having spent a few weeks with it, I thought I&#8217;d write a quick review.</p>
  276. <figure class="full-width">
  277. <img src="https://taoofmac.com/media/reviews/2025/06/29/1800/Utd8Mu6JCl35mZdct7t0NeeDb2Y=/hero.jpg" alt="The ESI Xsynth" width="2048" height="717" style="max-width: 100% !important;height: auto !important;"/>
  278. <figcaption>The ESI Xsynth</figcaption>
  279. </figure>
  280.  
  281. <blockquote>
  282. <p><strong>Disclaimer:</strong> <a href="https://www.esi-audio.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ESI</a> sent me a review sample of the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> free of charge (for which I thank them), and as usual this article follows <a href="/space/site/review_policy" rel="next" style="color: #0000cc;">my review policy</a>.</p>
  283. </blockquote>
  284. <a class="anchor" id="anchor-hardware" rel="anchor" href="/space/reviews/2025/06/29/1800#hardware" style="color: #0000cc;"><h2 id="hardware">Hardware</h2></a><p>The <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">product page</a> has a list of detailed specifications, but there are five things worth highlighting and that I found particularly interesting:</p>
  285. <ul>
  286. <li>Two octave (25 key) keyboard with polyphonic aftertouch</li>
  287. <li>3-oscillator polyphonic (10-voice) synth that has a modulation matrix and several effects that can be applied to both the synth engine and aux input</li>
  288. <li>A built-in audio interface that can record the synth engine and aux in directly to a Mac (or iPad) via USB-C</li>
  289. <li>MIDI in and out ports interfaces with 3.5mm TRS jacks (so it can also act as a MIDI interface for other devices)</li>
  290. <li>Built-in arpeggiator, glide, and hold functions, as well as minimalist pressure-sensitive modulation and pitchbend controls</li>
  291. </ul>
  292. <p>All of it in a surprisingly compact and portable package that only needs a USB-C connection to work. No battery, but the power draw is low enough that you can use it directly with an iPad without needing anything but a cable.</p>
  293. <p>The device feels solidly built, with a mix of stylized metal and plastic that looks and feels nice&#8211;at 387mm x 148mm x 27mm with slightly over half a kilo (634g) in weight, it certainly feels solid enough to take on the road, and given that the encoders are fairly compact and don&#8217;t protrude much, I would have no qualms about tossing it into a backpack or laptop bag.</p>
  294. <a class="anchor" id="anchor-keyboard" rel="anchor" href="/space/reviews/2025/06/29/1800#keyboard" style="color: #0000cc;"><h3 id="keyboard">Keyboard</h3></a><p>The keyboard was a bit of a surprise for me, since for some reason I was expecting mini keys&#8211;instead, what you get is a two-octave set that matches the general dimensions of a normal keyboard (which is great if you have trouble switching between mini keys and regular keyboards), although the mechanism and feel is rather different.</p>
  295. <p>I especially like that unlike my <a href="/space/blog/2019/09/07/1140" rel="next" style="color: #0000cc;">Korg NanoKey Studio</a>, both the black and white keys are long enough to interleave and allow you to place your fingers in exactly the same way you&#8217;d do it on a regular keybed.</p>
  296. <p>A key aspect is that pressing on the keys <em>anywhere</em> results in a nearly uniform response (velocity and aftertouch-wise). You can tap a key at any corner and it will go down uniformly, which is quite a unique feel, and the evenness of that response makes the the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> feel a lot more usable (and expressive) than the NanoKey Studio or an Akai MPK Mini.</p>
  297. <p>On that topic, the polyphonic aftertouch is a bit of a mixed bag depending on whether you&#8217;re used to a piano keyboard or a synth keyboard, since given the keyboard has a very short travel distance, the aftertouch response varies a lot depending on how much pressure you&#8217;re used to applying.</p>
  298. <p>Despite having a <a href="/space/com/yamaha/clp-f01pe" rel="next" style="color: #0000cc;">&#8220;real&#8221; piano</a> I spend a lot of time on synth keys, so even though I had no trouble with the default velocity curve, aftertouch required some tweaking to work for me to use it effectively&#8211;so I recommend using the companion desktop app to tweak things to your liking.</p>
  299. <p>Also, there are no modulation or pitch wheels, just two buttons that are rather short and somewhat unresponsive for my liking. They do work, but I found them somewhat fiddly to use (and, more annoyingly, easy to hit by mistake since, again, I found the orange backlights hard to read).</p>
  300. <p>I spent a while trying out the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> on its own and quickly figured out that I had to use the modulation matrix to send aftertouch values to an oscillator or filter (which not all the built-in presets do), so expect some finagling before you get a result you&#8217;re comfortable with.</p>
  301. <p>Both velocity and aftertouch work via MIDI, even though (at least in my case) I have more software with MPE support than &#8220;just&#8221; aftertouch. In any case, Logic Pro&#8217;s Alchemy synth had no trouble with <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> input, although, again, a consistent feel was a bit elusive given the limited key travel.</p>
  302. <p>But I can&#8217;t think of anything equivalent in this size that has polyphonic aftertouch <em>and</em> all the other features, so I am not complaining too much.</p>
  303. <a class="anchor" id="anchor-screen-and-ui" rel="anchor" href="/space/reviews/2025/06/29/1800#screen-and-ui" style="color: #0000cc;"><h2 id="screen-and-ui">Screen and UI</h2></a><p>One of the first things that you&#8217;ll notice when you turn on the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> is the built-in OLED screen, which is used to show the current patch, parameters, and other information. It is a fairly small screen, but it is bright and clear enough to be readable in most lighting conditions&#8211;much more so, ironically, than the orange backlit buttons, which are a bit dimmer than I would have liked and can be hard to read even in completely dark conditions.</p>
  304. <p>The default setting is to render the current waveform, which for me isn&#8217;t overly useful&#8211;so I disabled that as soon as I could to be able to always see patch names and parameters:</p>
  305. <p/><figure><img alt="The screen while editing a patch" src="https://taoofmac.com/media/reviews/2025/06/29/1800/rvO12uFlWWFxd9IAlNDz7iUHP4I=/display.jpg" width="1280" height="720" style="max-width: 100% !important;height: auto !important;"/><figcaption>The screen while editing a patch</figcaption></figure><p/>
  306. <p>In general, the UI is really straightforward&#8211;each of the four left encoders corresponds to a parameter, and you can switch between pages of parameters by hitting the left and right buttons. The far right encoder is used to navigate through patches, and the enter button is used to confirm changes, <em>except</em> in a particular case that gave me a bit of trouble:</p>
  307. <p>You can hit the &#8220;Global&#8221; to init a patch, and it is <em>far too easy</em> to hit Enter by mistake and completely wipe out the current patch, simply because the &#8220;Cancel&#8221; button is immediately on top of the &#8220;Enter&#8221; button and (again) the buttons are a bit dimmer than I would have liked:</p>
  308. <p/><figure><img alt="My nemesis - the init patch dialog" src="https://taoofmac.com/media/reviews/2025/06/29/1800/RBwg_bEjA9OGmir6nN_NvzewDMI=/init.jpg" width="1280" height="720" style="max-width: 100% !important;height: auto !important;"/><figcaption>My nemesis - the init patch dialog</figcaption></figure><p/>
  309. <p>So I ended up wiping out a few factory patches before I got used to this quirk. Strangely enough, saving edits to a patch required me to hit the &#8220;Enter&#8221; button in some circumstances, which is a bit counterintuitive (I kept hitting it once and then wondering why it didn&#8217;t save).</p>
  310. <p>I would have preferred a &#8220;hold down X for 2 seconds to confirm&#8221; type of confirmation for both resetting or saving patches, or at least a &#8220;hold down X + Y to confirm&#8221; approach for more destructive actions.</p>
  311. <p>But going back to the Global menu, that&#8217;s where you can set up MIDI channels and other parameters, including having local audio on or off, which is useful if you want to use the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> as a MIDI controller only:</p>
  312. <p/><figure><img alt="Global menu interface showing MIDI and audio settings" src="https://taoofmac.com/media/reviews/2025/06/29/1800/xCYoofjmj71xBg_jXhhimXwG-Qk=/mosaic.jpg" width="1280" height="792" style="max-width: 100% !important;height: auto !important;"/><figcaption>Global menu interface showing MIDI and audio settings</figcaption></figure><p/>
  313. <a class="anchor" id="anchor-synth-engine-and-patches" rel="anchor" href="/space/reviews/2025/06/29/1800#synth-engine-and-patches" style="color: #0000cc;"><h2 id="synth-engine-and-patches">Synth Engine and Patches</h2></a><p>You get four banks (A-D) of 128 patches, the first two of which have factory presets of various types (bass, lead, pad, etc.). I typically skip over effects and bass patches (it&#8217;s just a personal preference), but a few of the leads and pads were quite nice, and I ended up using those as starting points for my own parameter tweaking.</p>
  314. <p>A nice touch is that you can browse through patches using a category mode, which lets you quickly skim through all pads or leads, etc. This is a lot more useful than the usual &#8220;scroll through all patches&#8221; approach, and it makes it easier to find something that fits your needs.</p>
  315. <p>But there is a surprising amount of flexibility in the synth engine itself:</p>
  316. <p/><figure><img alt="Block diagram showing the internal signal flow of the Xsynth" src="https://taoofmac.com/media/reviews/2025/06/29/1800/yqPdFyuYWsbHDuaSmCBvPcb2GCM=/xsynth-internals.png" width="4596" height="2834" style="max-width: 100% !important;height: auto !important;"/><figcaption>Block diagram showing the internal signal flow of the Xsynth</figcaption></figure><p/>
  317. <p>If you look at the block diagram above, you&#8217;ll see that the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> does a few interesting things:</p>
  318. <ul>
  319. <li>The three oscillators are set up in a Y cascade (with the first one cascading into the second and third), but with feedback from the third oscillator to the first one, and with a separate ring modulator.</li>
  320. <li>The envelopes and modulation matrix extend from the oscillators through to the filter and amplifier, which I&#8217;ve only seen in the Arturia Minifreak (which I&#8217;ve never actually written about here either, but which I also have and use).</li>
  321. <li>The aux input actually goes through the mixer, filter, amplifier and effects chain, so you can use the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> as a simple effects unit for external audio sources, which is a nice touch especially considering that it has a built-in audio interface.</li>
  322. </ul>
  323. <p>This doesn&#8217;t mean that it&#8217;s <em>easy</em> to create patches (as with any modern synth, you need to spend a fair amount of time learning the implications of some controls), but it does mean that you can do a lot more with the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> than you might expect.</p>
  324. <p>For me at least, it was much more productive to use the desktop editor to create and edit patches, since it has a much larger screen and a more intuitive interface for editing parameters:</p>
  325. <figure>
  326.  <video controls="" autoplay="" loop="" muted="" playsinline="" style="width: 100%" poster="/media/reviews/2025/06/29/1800/wMmA3nvCPdt1lrdicAUZ9C5aeM8=/editor.jpg">
  327.    <source src="/media/reviews/2025/06/29/1800/uMhID--be_yQw9djP45qdVi6NQ4=/editor.mp4" type="video/mp4">
  328.    <img src="https://taoofmac.com/media/reviews/2025/06/29/1800/wMmA3nvCPdt1lrdicAUZ9C5aeM8=/editor.jpg" style="max-width: 100%;height: auto;width: 100%" alt="Your browser cannot play this video" width="1396" height="1080"/>
  329.  </source></video>
  330.  <figcaption>The Xsynth desktop editor</figcaption>
  331. </figure>
  332.  
  333. <p>The editor is available for both macOS and Windows, and as a bonus it can also be used to do firmware upgrades and restore factory settings.</p>
  334. <a class="anchor" id="anchor-effects" rel="anchor" href="/space/reviews/2025/06/29/1800#effects" style="color: #0000cc;"><h2 id="effects">Effects</h2></a><p>In a nice departure from the usual &#8220;effects are a separate box&#8221; approach, the Xsynth supports a small set of built-in effects that (as you can glean from the diagram above) can also be applied to incoming audio, and fall into roughly four categories (which are mapped to the four right encoders):</p>
  335. <ul>
  336. <li>Distortion (several kinds), Compressor, Auto-Wah, Lo-Fi</li>
  337. <li>Reverb (Room, Stage, Plate, Spring)</li>
  338. <li>Chorus and Delay</li>
  339. <li>EQ (various types, with selectable frequencies)</li>
  340. </ul>
  341. <p>The reverb is serviceable and the delay works well enough, and I spent a little while trying to get the Auto-Wah (of all things) to work with the aftertouch. So yes, you can have some fun with the effects, but they are not the main selling point of the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a>.</p>
  342. <p>Like I mentioned above, the aux input can also be used to process external audio, and they worked fine with <a href="/space/blog/2022/05/28/2320" rel="next" style="color: #0000cc;">my homebrew DX7 clone</a>, which I hooked up to the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> via both MIDI and audio.</p>
  343. <a class="anchor" id="anchor-portability-and-ios-compatibility" rel="anchor" href="/space/reviews/2025/06/29/1800#portability-and-ios-compatibility" style="color: #0000cc;"><h2 id="portability-and-ios-compatibility">Portability and iOS Compatibility</h2></a><p>Despite being bigger than I initially expected, the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> feels rugged enough to just drop into a backpack and laptop bag without a lot of concerns, and like I mentioned above, I was able to use it with my iPad Pro 11&#8221; with a single USB-C cable and use AUM with it:</p>
  344. <figure>
  345.  <video controls="" autoplay="" loop="" muted="" playsinline="" style="width: 100%" poster="/media/reviews/2025/06/29/1800/jWRbn1JuZ0IOJRLkKOZE4T0rsRE=/ios.jpg">
  346.    <source src="/media/reviews/2025/06/29/1800/9Ui-YNo5sIRs-Zza3UD51W2w7MY=/ios.mp4" type="video/mp4">
  347.    <img src="https://taoofmac.com/media/reviews/2025/06/29/1800/jWRbn1JuZ0IOJRLkKOZE4T0rsRE=/ios.jpg" style="max-width: 100%;height: auto;width: 100%" alt="Your browser cannot play this video" width="1030" height="720"/>
  348.  </source></video>
  349.  <figcaption>Using the Xsynth with AUM on iOS</figcaption>
  350. </figure>
  351.  
  352. <p>I also had no issues using it with GarageBand, and went for AUM mostly because I completely suck at looping and having a keyboard that I can use as an audio interface was a great way to hook up a few of my standalone synths and use them as audio sources for practicing that.</p>
  353. <a class="anchor" id="anchor-the-xsynth-as-a-master-keyboard" rel="anchor" href="/space/reviews/2025/06/29/1800#the-xsynth-as-a-master-keyboard" style="color: #0000cc;"><h2 id="the-xsynth-as-a-master-keyboard">The Xsynth as a Master Keyboard</h2></a><p>I also had no trouble using the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> as a master keyboard for my Mac and with <a href="/space/apps/bitwig" rel="next" style="color: #0000cc;">Bitwig</a> on a Linux laptop<sup id="fnref:1"><a class="footnote-ref" rel="anchor" href="/space/reviews/2025/06/29/1800#fn:1" style="color: #0000cc;">1</a></sup> and it worked well enough with both Logic Pro and <a href="/space/apps/bitwig" rel="next" style="color: #0000cc;">Bitwig</a>.</p>
  354. <p>If you want to use the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> as a master keyboard, you can do so by connecting it via USB to your computer and using Midi CC to control your DAW or other software.</p>
  355. <p>What I found most useful is the ability to have multiple pages of CC assignments for the encoders, which you can switch between by hitting the left and right buttons.</p>
  356. <p>In my case, I set it up to control Arturia&#8217;s Analog Lab on my Mac (which really demands eight controls, but it&#8217;s workable).</p>
  357. <a class="anchor" id="anchor-conclusion" rel="anchor" href="/space/reviews/2025/06/29/1800#conclusion" style="color: #0000cc;"><h2 id="conclusion">Conclusion</h2></a><p>I&#8217;ve barely scratched the surface of what the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> can do in a couple of weekends, but one of the reasons I wanted to write this review is to share my initial impressions before Summer vacation starts and I have a bit more time to play with it.</p>
  358. <p>The size and comparative ruggedness makes it quite suitable to use on the go, and I can see myself taking it along with me on Summer break instead of the <a href="/space/blog/2019/09/07/1140" rel="next" style="color: #0000cc;">Korg NanoKey Studio</a>, which can&#8217;t do much more than act as a MIDI controller and has no built-in synth engine.</p>
  359. <p>It does have a few quirks, but <a href="https://www.youtube.com/watch?v=jyMcv5Ta6rk&amp;utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">like Floyd Steinberg, who did a video on it recently</a>, I would rate it an 8/10 (or 4/5 stars, if you prefer that rating system) for its price point and features, especially considering the built-in audio interface and range of effects.</p>
  360. <p>For me, other than the software quirks, the only physical changes I&#8217;d make would be switching the orange backlights to white and adding more conventional modulation and pitch controls (perhaps control strips).</p>
  361. <p>Given that I prefer to travel with an iPad, I would love a mini-keys version of the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> that I could pack in roughly the same space as the iPad Pro 11&#8221;&#8211;I will probably update this review after I have done a couple of trips with it and can figure out whether the full-sized keys make up for their size.</p>
  362. <p>But I am quite happy with the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> overall and look forward to diving deeper into its capabilities in the coming months.</p>
  363. <div class="footnote">
  364. <hr/>
  365. <ol>
  366. <li id="fn:1">
  367. <p>I forgot to mention that the <a href="https://www.esi-audio.com/products/xsynth/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Xsynth</a> ships with a few goodies including Cubasis LE and a <a href="/space/apps/bitwig" rel="next" style="color: #0000cc;">Bitwig</a> 8-track license, which is a nice touch.&#160;<a class="footnote-backref" rel="anchor" href="/space/reviews/2025/06/29/1800#fnref:1" title="Jump back to footnote 1 in the text" style="color: #0000cc;">&#8617;&#65038;</a></p>
  368. </li>
  369. </ol>
  370. </div>
  371. <br/>
  372. ]]></content>
  373. <category term="ios" label="ios" />
  374. <category term="midi" label="midi" />
  375. <category term="macos" label="macos" />
  376. <category term="music" label="music" />
  377. <category term="bitwig" label="bitwig" />
  378. <category term="usbc" label="usbc" />
  379. <category term="audio interface" label="audio interface" />
  380. <category term="synthesizer" label="synthesizer" />
  381. <category term="review" label="review" />
  382. <category term="esi" label="esi" />
  383. <category term="ipad" label="ipad" />
  384. <category term="xsynth" label="xsynth" />
  385. </entry>
  386. <entry>
  387. <title>The MacOS Tahoe Beta 2 Finder Icon Still Sucks</title>
  388. <id>https://taoofmac.com/space/links/2025/06/25/0738</id>
  389. <published>2025-06-25T07:38:22+00:00</published>
  390. <updated>2025-06-25T07:38:22+00:00</updated>
  391. <author>
  392. <name>Rui Carmo</name>
  393. <uri>https://taoofmac.com</uri>
  394. </author>
  395. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/links/2025/06/25/0738"/>
  396. <content type="html"><![CDATA[
  397. <p><a href="https://daringfireball.net/linked/2025/06/24/sorry-macos-tahoe-b2-finder-icon?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" title="external link to https://daringfireball.net/linked/2025/06/24/sorry-macos-tahoe-b2-finder-icon" alt="screenshot of https://daringfireball.net/linked/2025/06/24/sorry-macos-tahoe-b2-finder-icon" style="color: #0000cc;"><img class="quicklook" src="https://taoofmac.com/thumb/links/2025/06/25/0738/640,480/2TB0weyOSNApBcdnbtQ-y5M4TMA=/large.jpg" width="320" height="240" style="max-width: 100% !important;height: auto !important;"/></a></p>
  398. <p class="lead">I agree with John on this. Sometimes designers want to make their mark so bad on a project they go and gloss over either tradition, established branding or earlier styles <em>that were there for a reason</em>, and the updated Beta 2 icon still does not look like the Finder to me, even if I squint at it without glasses.</p>
  399. <p>Design systems are usually created with a bunch of fluffy &#8220;rules&#8221; that verge on hyperbole, and this feels like the result from one of those &#8220;creative&#8221; processes. I bet there is a Figma page someplace with a list of design principles that says something like &#8220;an outline for visual demarcation of the icon&#8217;s key visual, allowing whitespace to define its boundaries&#8221; or some such nonsense.</p>
  400. <p>Just stop fucking with the Finder icon, guys.</p>
  401. <br/>
  402. ]]></content>
  403. <category term="madness" label="madness" />
  404. <category term="branding" label="branding" />
  405. <category term="macos" label="macos" />
  406. <category term="icon" label="icon" />
  407. <category term="beta" label="beta" />
  408. <category term="tahoe" label="tahoe" />
  409. <category term="design" label="design" />
  410. <category term="finder" label="finder" />
  411. <category term="apple" label="apple" />
  412. </entry>
  413. <entry>
  414. <title>Checking In</title>
  415. <id>https://taoofmac.com/space/notes/2025/06/22/1830</id>
  416. <published>2025-06-22T18:30:00+00:00</published>
  417. <updated>2025-06-22T18:30:00+00:00</updated>
  418. <author>
  419. <name>Rui Carmo</name>
  420. <uri>https://taoofmac.com</uri>
  421. </author>
  422. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/notes/2025/06/22/1830"/>
  423. <content type="html"><![CDATA[
  424. <p class="lead">It&#8217;s been a crazy few weeks, and in keeping with the geopolitical situation, it doesn&#8217;t seem like it&#8217;s going to get any better soon, so keeping positive things in mind is a bit of a challenge.</p>
  425. <p>Additionally, the weather has been warming up so that office crawls past 27<sup>o</sup>C most days, which means I am spending as little time in there as possible.</p>
  426. <a class="anchor" id="anchor-reviews" rel="anchor" href="/space/notes/2025/06/22/1830#reviews" style="color: #0000cc;"><h2 id="reviews">Reviews</h2></a><p>As such, I&#8217;ve been trying out a few things I <em>don&#8217;t</em> need a desk for. Writeups will appear ASAP, but one has been an intriguing complement to AudioKit&#8217;s completely amazing (and totally free) <a href="https://audiokitpro.com/releasedsynthonej6/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Synth One J6</a> app for the iPad &#8211; however, the lack of musical inspiration due to workload has been too much for me to write about either&#8230;.</p>
  427. <a class="anchor" id="anchor-3d-printing" rel="anchor" href="/space/notes/2025/06/22/1830#3d-printing" style="color: #0000cc;"><h2 id="3d-printing">3D Printing</h2></a><p>But I finished my tiny SE/30 and compiled an SDL-only version of BasiliskII for it, which is currently running System 7 and (of course) the After Dark screensaver:</p>
  428. <p/><figure><img alt="Cozying up on my desk" src="https://taoofmac.com/media/notes/2025/06/22/1830/SSGPGnSLtmHqNwZP1Lzo1theU6o=/afterdark.jpg" width="1280" height="1280" style="max-width: 100% !important;height: auto !important;"/><figcaption>Cozying up on my desk</figcaption></figure><p/>
  429. <p>The steps to get the core software going (and minimize boot time) are mostly documented <a href="https://github.com/rcarmo/ground-init/blob/main/samples/basiliskii.yaml?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">in this YAML file</a> (I have no time to do a full write-up, but this is meant to be reproducible).</p>
  430. <p>Like I mentioned <a href="/space/notes/2025/05/31/2130" rel="next" style="color: #0000cc;">a couple of weeks ago</a> I also got a roll of <a href="https://www.amazon.es/gp/product/B09TR8N5T2/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;">&#8220;platinum grey&#8221; filament from Polymaker</a>. but since I want to do a version with proper audio, better internals and a slightly different look and there are no STEP files available, I&#8217;ve been recreating a usable model from the STLs I have:</p>
  431. <p/><figure><img alt="Cleaning up the STL into something editable" src="https://taoofmac.com/media/notes/2025/06/22/1830/OwCykEVA4nKHVlZwHV77IK3NVsM=/step_model.jpg" width="1280" height="931" style="max-width: 100% !important;height: auto !important;"/><figcaption>Cleaning up the STL into something editable</figcaption></figure><p/>
  432. <p>&#8230;and, since I want to have a period-accurate mouse, I am indeed modeling one &#8211; starting with the fittings for a modern three-button one (with wheel). The tiny mice I&#8217;m using are cheap enough that I am planning to do a couple of these (a period-accurate one and an ADB version), and I&#8217;m definitely not rushing things:</p>
  433. <p/><figure><img alt="Tiny Mouse platform, with wheel support" src="https://taoofmac.com/media/notes/2025/06/22/1830/e7qSJiUo8pZ7DfRIeWQ0WKFIJkk=/mouse.jpg" width="1280" height="748" style="max-width: 100% !important;height: auto !important;"/><figcaption>Tiny Mouse platform, with wheel support</figcaption></figure><p/>
  434. <p>The mechanism I&#8217;m using seems to be pretty common in AliExpress US$2 mice, and looks like this (SD card for scale, since I was out of tiny bananas):</p>
  435. <p/><figure><img alt="The mechanism, to scale" src="https://taoofmac.com/media/notes/2025/06/22/1830/W_ht0OZNcTTierAZr3ahTrq73ZE=/scale.jpg" width="1280" height="960" style="max-width: 100% !important;height: auto !important;"/><figcaption>The mechanism, to scale</figcaption></figure><p/>
  436. <a class="anchor" id="anchor-other-stuff" rel="anchor" href="/space/notes/2025/06/22/1830#other-stuff" style="color: #0000cc;"><h2 id="other-stuff">Other Stuff</h2></a><p>There&#8217;s a lot more going on, including the fact I&#8217;m shifting the static site builder to an ARM VM on Azure that is 30% cheaper (and has twice the cores) than the Intel one that&#8217;s been publishing my updates <em>but</em> I&#8217;ve also been changing the way I deploy the builder service, so it&#8217;s not all there yet.</p>
  437. <p>But I am <em>very</em> happy with the approach I was taking at <a href="/space/notes/2025/05/31/2130" rel="next" style="color: #0000cc;">paring down <code>piku</code> even further</a>, and a few smaller things are already running that way. I just got distracted by work and the somewhat crazy notion that I should rewrite my RSS feed summarizer in <a href="/space/dev/golang" rel="next" style="color: #0000cc;">Go</a> just because I wanted to get off the usual &#8220;<a href="/space/dev/python" rel="next" style="color: #0000cc;">Python</a> is the AI runtime&#8221; beaten track&#8211;I get enough of that at work.</p>
  438. <p>But I <em>am</em> going all &#8220;agentic&#8221; on the idea of converting the older 4000-odd entries on this site to pristine Markdown with some sort of AI workflow. That might arguably be an even bigger time sink than anything else since like any other massive AI-driven content or code conversions, validating the results is a nightmare&#8230;</p>
  439. <br/>
  440. ]]></content>
  441. <category term="coding" label="coding" />
  442. <category term="notes" label="notes" />
  443. <category term="3d printing" label="3d printing" />
  444. <category term="reviews" label="reviews" />
  445. </entry>
  446. <entry>
  447. <title>Infinite Mac OS X</title>
  448. <id>https://taoofmac.com/space/links/2025/06/20/0801</id>
  449. <published>2025-06-20T08:01:19+00:00</published>
  450. <updated>2025-06-20T08:01:19+00:00</updated>
  451. <author>
  452. <name>Rui Carmo</name>
  453. <uri>https://taoofmac.com</uri>
  454. </author>
  455. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/links/2025/06/20/0801"/>
  456. <content type="html"><![CDATA[
  457. <p><a href="https://blog.persistent.info/2025/03/infinite-mac-os-x.html?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" title="external link to https://blog.persistent.info/2025/03/infinite-mac-os-x.html" alt="screenshot of https://blog.persistent.info/2025/03/infinite-mac-os-x.html" style="color: #0000cc;"><img class="quicklook" src="https://taoofmac.com/thumb/links/2025/06/20/0801/640,480/GeidxPexqyvnuDzjI5FH4YrrLYQ=/large.jpg" width="320" height="240" style="max-width: 100% !important;height: auto !important;"/></a></p>
  458. <p class="lead">This is so cool, and I&#8217;m happy that the Mac lineage is being preserved somehow for future generations. There&#8217;s a lot to digest here, from the intricacies of PPC emulation to rebuilding disk images for legacy software; it reads like both a technical diary and a casual trip down memory lane.</p>
  459. <p>And as someone who&#8217;s just finished 3D printing and setting up a tiny SE/30 and working on improvements (and perhaps a v2), it is great inspiration&#8211;I&#8217;d love to build a working replica of the G4 iMac I used to own, and this might play a part in it.</p>
  460. <br/>
  461. ]]></content>
  462. <category term="emulation" label="emulation" />
  463. <category term="pearpc" label="pearpc" />
  464. <category term="dingusppc" label="dingusppc" />
  465. <category term="unix" label="unix" />
  466. <category term="technology" label="technology" />
  467. <category term="osx" label="osx" />
  468. <category term="webassembly" label="webassembly" />
  469. <category term="mac" label="mac" />
  470. <category term="retro" label="retro" />
  471. </entry>
  472. <entry>
  473. <title>On The Too-Well-Known But Seldom Acknowledged Limitations of LLMs</title>
  474. <id>https://taoofmac.com/space/links/2025/06/16/2055</id>
  475. <published>2025-06-16T20:55:06+00:00</published>
  476. <updated>2025-06-16T20:55:06+00:00</updated>
  477. <author>
  478. <name>Rui Carmo</name>
  479. <uri>https://taoofmac.com</uri>
  480. </author>
  481. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/links/2025/06/16/2055"/>
  482. <content type="html"><![CDATA[
  483. <p><a href="https://cacm.acm.org/blogcacm/a-knockout-blow-for-llms/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" title="external link to https://cacm.acm.org/blogcacm/a-knockout-blow-for-llms/" alt="screenshot of https://cacm.acm.org/blogcacm/a-knockout-blow-for-llms/" style="color: #0000cc;"><img class="quicklook" src="https://taoofmac.com/thumb/links/2025/06/16/2055/640,480/hQu3u-FzqR1n1oDvsBG3n86ECp4=/large.jpg" width="320" height="240" style="max-width: 100% !important;height: auto !important;"/></a></p>
  484. <p class="lead">I really didn&#8217;t have time to comment on <a href="https://machinelearning.apple.com/research/illusion-of-thinking?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">The Illusion of Thinking paper</a> before a bunch of knee-jerk reactions started coming in from the &#8220;<a href="/space/ai/llm" rel="next" style="color: #0000cc;">LLM</a> religion&#8221; side of the industry, so I decided to let it blow over even though I was <em>really</em> tempted to comment on the more idiotic takes that pointed to the paper as a way for Apple to minimize the importance of <a href="/space/ai/llm" rel="next" style="color: #0000cc;">LLM</a>s and thus (as the conspiracy theory goes) distract people from <a href="/space/blog/2025/06/03/2155" rel="next" style="color: #0000cc;">having dropped the ball</a>.</p>
  485. <p>There was already enough idiocy online, and feeding both anti-Apple and pro-<a href="/space/ai/llm" rel="next" style="color: #0000cc;">LLM</a> trolls would benefit nobody.</p>
  486. <p>But this piece does paint a good summary of where we are at, and <a href="/space/blog/2023/03/18/0140" rel="next" style="color: #0000cc;">looking back</a>, it&#8217;s interesting to see that many people still assume probabilistic token generation is tantamount to thought (let alone logic) to the point where a single simple, completely deterministic experiment has raised so many hackles.</p>
  487. <p>The key point for me is not the exact test Apple uses&#8211;it is, rather that even with a step-by-step solution laid out, the models &#8220;overthink&#8221; (i.e., there&#8217;s a probability cascade that misses the mark) and stumble in a way that&#8217;s as revealing as it is disappointing.</p>
  488. <p>I&#8217;ve already given up on the <a href="/space/ai" rel="next" style="color: #0000cc;">AI</a> bubble bursting&#8211;there&#8217;s too much riding on the premise that the current tech, even as fallible and unwieldy as it is starting to prove itself, can translate into (somewhat elusive) business value and even political clout, so I now expect GPU investments to follow along pretty much the same track as, say, nuclear missiles even as the software model design side keeps exhausting the possibilities of brute force compute.</p>
  489. <p>But I don&#8217;t see a lot of reason to complain that Apple has just pointed out that throwing dice and using them for divination isn&#8217;t reasoning&#8211;it&#8217;s always been kind of obvious.</p>
  490. <br/>
  491. ]]></content>
  492. <category term="illusion" label="illusion" />
  493. <category term="hype" label="hype" />
  494. <category term="paper" label="paper" />
  495. <category term="algorithm" label="algorithm" />
  496. <category term="hanoi" label="hanoi" />
  497. <category term="ai" label="ai" />
  498. <category term="acm" label="acm" />
  499. <category term="machine learning" label="machine learning" />
  500. <category term="llm" label="llm" />
  501. <category term="research" label="research" />
  502. <category term="apple" label="apple" />
  503. <category term="thinking" label="thinking" />
  504. <category term="reasoning" label="reasoning" />
  505. <category term="ai bubble" label="ai bubble" />
  506. </entry>
  507. <entry>
  508. <title>AI Image Generation</title>
  509. <id>https://taoofmac.com/space/ai/image</id>
  510. <published>2025-05-01T18:45:00+00:00</published>
  511. <updated>2025-06-14T15:39:00+00:00</updated>
  512. <author>
  513. <name>Rui Carmo</name>
  514. <uri>https://taoofmac.com</uri>
  515. </author>
  516. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/ai/image"/>
  517. <content type="html"><![CDATA[
  518. <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> image generation technologies, including Stable Diffusion, DALL-E, Midjourney, and other generative image models that have become prominent in the modern <a href="/space/ai" rel="next" style="color: #0000cc;">AI</a> space.</p>
  519. <a class="anchor" id="anchor-resources" rel="anchor" href="/space/ai/image#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%;">
  520. <thead>
  521. <tr style="border-top: 1px solid #aaa;">
  522. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Field</th>
  523. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
  524. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
  525. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
  526. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
  527. </tr>
  528. </thead>
  529. <tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
  530. <tr style="border-top: 1px solid #aaa;">
  531. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">3D Rendering</td>
  532. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">NeRF Tools</td>
  533. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  534. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/nerfstudio-project/nerfstudio?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">nerfstudio</a></td>
  535. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A tool for manipulating Neural Radiance Fields (NeRF) and rendering the scenes out as video</p></td>
  536. </tr>
  537. <tr style="border-top: 1px solid #aaa;">
  538. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">General</td>
  539. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
  540. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  541. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/upscayl/upscayl?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">upscayl</a></td>
  542. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an AI-based image upscaler</p></td>
  543. </tr>
  544. <tr style="border-top: 1px solid #aaa;">
  545. <td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Generative AI</td>
  546. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">3D Asset Models</td>
  547. <td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  548. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Tencent/Hunyuan3D-2?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Hunyuan3D-2</a></td>
  549. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a 3D textured asset generation model</p></td>
  550. </tr>
  551. <tr style="border-top: 1px solid #aaa;">
  552. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Diffusion Models</td>
  553. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/yousef-rafat/miniDiffusion?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">miniDiffusion</a></td>
  554. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a minimalistic implementation of diffusion models in Python</p></td>
  555. </tr>
  556. <tr style="border-top: 1px solid #aaa;">
  557. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Frame Prediction</td>
  558. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/lllyasviel/FramePack?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">FramePack</a></td>
  559. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a next-frame (next-frame-section) prediction neural network structure that generates videos progressively.</p></td>
  560. </tr>
  561. <tr style="border-top: 1px solid #aaa;">
  562. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Image Generation Models</td>
  563. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Alpha-VLLM/Lumina-Image-2.0?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Lumina-Image-2.0</a></td>
  564. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Another image generation model</p></td>
  565. </tr>
  566. <tr style="border-top: 1px solid #aaa;">
  567. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Video Generation Models</td>
  568. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  569. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Tencent/HunyuanVideo?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">HunyuanVideo</a></td>
  570. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A pretty impressive open source video generation model</p></td>
  571. </tr>
  572. <tr style="border-top: 1px solid #aaa;">
  573. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Web Interface</td>
  574. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  575. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Alasano/gpt-image-1-playground?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gpt-image-1-playground</a></td>
  576. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a simple web-based interface for generating images using GPT-IMAGE-1</p></td>
  577. </tr>
  578. <tr style="border-top: 1px solid #aaa;">
  579. <td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Image Generation</td>
  580. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Apple Optimization</td>
  581. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  582. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/apple/ml-stable-diffusion?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">CoreML Stable Diffusion</a></td>
  583. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Apple&#8217;s optimizations for CoreML</p></td>
  584. </tr>
  585. <tr style="border-top: 1px solid #aaa;">
  586. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Diffusion Acceleration</td>
  587. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  588. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ChenDarYen/NitroFusion?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">NitroFusion</a></td>
  589. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a high-fidelity, fast (single-step) SDXL diffusion model</p></td>
  590. </tr>
  591. <tr style="border-top: 1px solid #aaa;">
  592. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  593. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/VoltaML/voltaML-fast-stable-diffusion?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Fast Stable Diffusion</a></td>
  594. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Another tactic to accelerate inference</p></td>
  595. </tr>
  596. <tr style="border-top: 1px solid #aaa;">
  597. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Vector Graphics</td>
  598. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  599. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/SagiPolaczek/NeuralSVG?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">NeuralSVG</a></td>
  600. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An Implicit Representation for Text-to-Vector Generation</p></td>
  601. </tr>
  602. <tr style="border-top: 1px solid #aaa;">
  603. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Web Interface</td>
  604. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  605. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/automatic1111/stable-diffusion-webui?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Stable Diffusion WebUI</a></td>
  606. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Nearly always the best, bleeding edge WebUI for SD</p></td>
  607. </tr>
  608. <tr style="border-top: 1px solid #aaa;">
  609. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Multi-modal Models</td>
  610. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Samples</td>
  611. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  612. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/apple/ml-mgie?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ml-mgie</a></td>
  613. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>instruction-based image self-editing</p></td>
  614. </tr>
  615. <tr style="border-top: 1px solid #aaa;">
  616. <td rowspan="19" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Stable Diffusion</td>
  617. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Apps</td>
  618. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  619. <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/swift-coreml-diffusers?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">swift-coreml-diffusers</a></td>
  620. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Hugging face&#8217;s own app, using Swift and CoreML for Apple Silicon</p></td>
  621. </tr>
  622. <tr style="border-top: 1px solid #aaa;">
  623. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  624. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://apps.apple.com/us/app/draw-things-ai-generation/id6444050820?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Draw Things</a></td>
  625. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Pre-packaged app for iOS, downloads and allows re-use of .ckpt files.</p></td>
  626. </tr>
  627. <tr style="border-top: 1px solid #aaa;">
  628. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://diffusionbee.com/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">DiffusionBee</a></td>
  629. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Pre-packaged app for macOS (M1 and Intel)</p></td>
  630. </tr>
  631. <tr style="border-top: 1px solid #aaa;">
  632. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">CGI</td>
  633. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  634. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/coolzilj/Blender-ControlNet?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Blender-ControlNet</a></td>
  635. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Blender plugin to generate ControlNet inputs for posing figures</p></td>
  636. </tr>
  637. <tr style="border-top: 1px solid #aaa;">
  638. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  639. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/carson-katri/dream-textures?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">dream-textures</a></td>
  640. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A Blender plugin for texturing models based on a text description.</p></td>
  641. </tr>
  642. <tr style="border-top: 1px solid #aaa;">
  643. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Implementations</td>
  644. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  645. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/vitoplantamura/OnnxStream?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">OnnxStream</a></td>
  646. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Stable Diffusion XL 1.0 Base on a Raspberry Pi Zero 2 (or in 298MB of RAM)</p></td>
  647. </tr>
  648. <tr style="border-top: 1px solid #aaa;">
  649. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Libraries</td>
  650. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  651. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/oracle-samples/sd4j?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">sd4j</a></td>
  652. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Java library for Stable Diffusion that uses ONNX</p></td>
  653. </tr>
  654. <tr style="border-top: 1px solid #aaa;">
  655. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Models</td>
  656. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://huggingface.co/ByteDance/SDXL-Lightning?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">SDXL-Lightning</a></td>
  657. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an SDXL flavor that works on only a few steps</p></td>
  658. </tr>
  659. <tr style="border-top: 1px solid #aaa;">
  660. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  661. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://upscale.wiki/wiki/Model_Database?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Upscale Model Database</a></td>
  662. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Too wide a choice, perhaps</p></td>
  663. </tr>
  664. <tr style="border-top: 1px solid #aaa;">
  665. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Reference</td>
  666. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  667. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/6174/comflowy?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">comflowy</a></td>
  668. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a set of reference workflows and documentation for ComfyUI</p></td>
  669. </tr>
  670. <tr style="border-top: 1px solid #aaa;">
  671. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/black-forest-labs/flux?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">flux</a></td>
  672. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>minimal inference examples for FLUX.1 models</p></td>
  673. </tr>
  674. <tr style="border-top: 1px solid #aaa;">
  675. <td rowspan="8" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
  676. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/6174/comflowyspace?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">comflowyspace</a></td>
  677. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a ComfyUI desktop wrapper</p></td>
  678. </tr>
  679. <tr style="border-top: 1px solid #aaa;">
  680. <td rowspan="6" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  681. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ComfyUI-AnimateDiff-Evolved</a></td>
  682. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>An AnimateDiff integration for ComfyUI</p></td>
  683. </tr>
  684. <tr style="border-top: 1px solid #aaa;">
  685. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/comfyanonymous/ComfyUI?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ComfyUI</a></td>
  686. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>pretty impressive node-based UI</p></td>
  687. </tr>
  688. <tr style="border-top: 1px solid #aaa;">
  689. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/invoke-ai/InvokeAI?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">InvokeAI</a></td>
  690. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A polished UI</p></td>
  691. </tr>
  692. <tr style="border-top: 1px solid #aaa;">
  693. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/leejet/stable-diffusion.cpp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">stable-diffusion.cpp</a></td>
  694. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>stable diffusion inference on the CPU, in pure C++</p></td>
  695. </tr>
  696. <tr style="border-top: 1px solid #aaa;">
  697. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ltdrdata/ComfyUI-Manager?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ComfyUI-Manager</a></td>
  698. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A component manager for ComfyUI</p></td>
  699. </tr>
  700. <tr style="border-top: 1px solid #aaa;">
  701. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/varunshenoy/opendream?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Opendream</a></td>
  702. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A layer-oriented, non-destructive editor</p></td>
  703. </tr>
  704. <tr style="border-top: 1px solid #aaa;">
  705. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  706. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/brycedrennan/imaginAIry?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">imaginAIry</a></td>
  707. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Works well on Apple Silicon, pure CLI interface to all SD models.
  708. Does not reuse <code>.ckpt</code> files, however, so requires separate disk cache.</p></td>
  709. </tr>
  710. <tr style="border-top: 1px solid #aaa;">
  711. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Upscaling</td>
  712. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Video Enhancement</td>
  713. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  714. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/k4yt3x/video2x?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">video2x</a></td>
  715. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool for upscaling videos using RealESRGAN and other models</p></td>
  716. </tr>
  717. </tbody>
  718. </table>
  719. <br/>
  720. ]]></content>
  721. <category term="image" label="image" />
  722. <category term="dall-e" label="dall-e" />
  723. <category term="ai" label="ai" />
  724. <category term="midjourney" label="midjourney" />
  725. <category term="stable diffusion" label="stable diffusion" />
  726. <category term="generative" label="generative" />
  727. </entry>
  728. <entry>
  729. <title>Six Months with the Supernote Nomad</title>
  730. <id>https://taoofmac.com/space/reviews/2025/06/14/1530</id>
  731. <published>2025-06-14T15:30:00+00:00</published>
  732. <updated>2025-06-14T15:30:00+00:00</updated>
  733. <author>
  734. <name>Rui Carmo</name>
  735. <uri>https://taoofmac.com</uri>
  736. </author>
  737. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/reviews/2025/06/14/1530"/>
  738. <content type="html"><![CDATA[
  739. <p class="lead">It&#8217;s been <a href="/space/reviews/2025/01/18/2335" rel="next" style="color: #0000cc;">a few months since I wrote about the Nomad</a> (and around six months since I started using it), so I thought some kind of update would be in order and gathered my notes into a sort of mid-term review.</p>
  740. <p>In short, pretty much all the pluses and minuses in my original conclusion have panned out: it&#8217;s become a part of my writing workflow and a device I reach for several times a week to do a substantial part of my reading, but not taken over either completely, largely for the reasons I pointed out at the time&#8211;and a few more.</p>
  741. <a class="anchor" id="anchor-the-good-bits" rel="anchor" href="/space/reviews/2025/06/14/1530#the-good-bits" style="color: #0000cc;"><h2 id="the-good-bits">The Good Bits</h2></a><p>The Nomad has been a <em>great</em> reading device. I really like going through The Economist on it every week, and with the longer afternoons leading up to Summer I&#8217;ve also been using it to catch up on my book queue as the larger screen size makes it more comfortable than my aging Kindle.</p>
  742. <p>Ratta has been updating Chauvet (the Android underpinnings of the Nomad) as well as the bundled apps (including passing through some updates to the Kindle app) and adding a few entirely new features, like drawing straight lines (great for diagrams), a sticker feature (that I also tried to hack for drawing architecture diagrams with relative success), and even an entirely new app that lets you use your Nomad as a drawing tablet for your Mac.</p>
  743. <p>That&#8217;s not bad at all considering the above also includes quite a few minor bug fixes and improvements (and is already a better track record than most device manufacturers), so that has been a definite plus&#8211;as has the fact that none of those enhancements included AI features, which remains a plus for me.</p>
  744. <p>And I have no doubt that the periods of time I spend using <em>only</em> the Nomad to organize my thoughts have been more focused and of (arguably) better quality output, but I can&#8217;t just look at it in isolation, and some shortcomings have come to the fore.</p>
  745. <a class="anchor" id="anchor-the-gaps" rel="anchor" href="/space/reviews/2025/06/14/1530#the-gaps" style="color: #0000cc;"><h2 id="the-gaps">The Gaps</h2></a><p>For instance, I&#8217;m still using my Kindle every evening, simply because I can&#8217;t keep my bedside lamp on into the wee hours&#8211;a back light is still much less intrusive and, let&#8217;s face it, a killer feature for night time reading.</p>
  746. <p>Then there&#8217;s the actual note taking. As it happens, inspiration for a lot of the notes I take comes from some kind of reference material&#8211;papers, web pages, RSS feeds, etc., and <em>all of it is effectively digital in nature</em>. This means two things:</p>
  747. <ul>
  748. <li>Trying to use a paper metaphor for most of it doesn&#8217;t quite fit.</li>
  749. <li>Getting my notes across to other devices is <em>really</em> important, and not necessarily in ways where the Nomad excels.</li>
  750. </ul>
  751. <p>For instance, I find myself constantly wanting to annotate stuff inside the Kindle app (which doesn&#8217;t really work), and trying to find workarounds like syncing EPUBs or PDFs back and forth ended up breaking whenever I tried to get my notes outside the companion app (which I went back to for a bit).</p>
  752. <p>There is another constraint where it comes to annotating PDFs&#8211;as I originally mentioned, the Nomad&#8217;s size doesn&#8217;t help a lot there, and zooming and panning is so slow that it makes it hard to quickly skim and clip off things from a document&#8211;something I can do much faster on an iPad, with the added benefit that I can round-trip annotations to my Mac. We don&#8217;t have Preview on the iPad&#8211;yet&#8211;but I can still do it better and faster than with the Nomad&#8217;s features.</p>
  753. <p>This is not to say that using the Nomad is hard or unnatural, but paper is still a separate medium, and there are all sorts of corner cases when you try to make it digital. Moreover my review was done during a period of time when I was actively trying to minimize both my screen time and the number of things I was doing at once, and after the Christmas break I had to go back to actively multitasking, which in my case makes it hard to set aside even half an hour of uninterrupted time for quiet writing.</p>
  754. <p>And when I am on a roll, waiting a few seconds for the Nomad to catch up on anything (switching apps, searching for info, syncing with my other machines, etc.) significantly increases friction and actually causes me to lose track of what I am doing.</p>
  755. <a class="anchor" id="anchor-the-hacks" rel="anchor" href="/space/reviews/2025/06/14/1530#the-hacks" style="color: #0000cc;"><h2 id="the-hacks">The Hacks</h2></a><p>One of the things that really drove home the point that my note-taking is primarily digital was that once I got <a href="/space/apps/obsidian" rel="next" style="color: #0000cc;">Obsidian</a> to run on the Nomad, I pretty much stopped using the built-in Notes app except when I wanted to do a simple diagram or needed a distraction-free environment.</p>
  756. <p><a href="/space/apps/obsidian" rel="next" style="color: #0000cc;">Obsidian</a> completely replaced the Nomad&#8217;s (very limited) task list for me as well as a good chunk of the (largely missing) calendar functionality, since I do a bit of journaling and planning, and I think this says a lot about what I need in a note taking device&#8211;I could do the exact same thing using Apple&#8217;s Notes, Calendar and Reminders apps (especially now that Reminders can do kanban very well), but having the lot integrated in a single cross-platform experience is hard to replicate.</p>
  757. <p>That doesn&#8217;t mean I can&#8217;t use the Nomad to capture notes on the go (and I&#8217;ve settled on a mix of <a href="/space/apps/syncthing" rel="next" style="color: #0000cc;">SyncThing</a> and the <a href="https://github.com/philips/supernote-obsidian-plugin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">unofficial Supernote plugin for Obsidian</a> to have my handwritten notes synchronized to my other devices), but <em>the initial note is such a small part of the process</em> that I sometimes question whether having a more focused, distraction-free device for capturing the initial idea is really important.</p>
  758. <p>After all, I spent many years using Palm devices and early smartphones to capture To-Dos, and a surprising amount of text on this site was painstakingly edited on an iPod Touch (and then an iPhone, iPad, etc.), so looking back, I think that the key challenge for me with the Nomad over the past few month has been exclusively a matter of focus.</p>
  759. <a class="anchor" id="anchor-flow-matters" rel="anchor" href="/space/reviews/2025/06/14/1530#flow-matters" style="color: #0000cc;"><h2 id="flow-matters">Flow Matters</h2></a><p>I do so much context-switching (and need to carry so much across contexts) that the Nomad tends to fall behind&#8211;things like the iOS share sheet, AirDrop, cutting and pasting snippets of text via Continuity or just plain Apple Notes have less friction and are <em>faster</em> than switching to <a href="/space/apps/obsidian" rel="next" style="color: #0000cc;">Obsidian</a> or waiting for the Nomad&#8217;s cloud services to sync.</p>
  760. <p>Of course, Summer is upon us now and I fully intend to take the Nomad with me on vacation, so maybe I&#8217;ll again be able to hit that sweet spot of thoughtfulness and patience that made it feel so good&#8211;and it would be nice to at least be able to read my handwriting again.</p>
  761. <br/>
  762. ]]></content>
  763. <category term="eink" label="eink" />
  764. <category term="supernote" label="supernote" />
  765. <category term="nomad" label="nomad" />
  766. <category term="productivity" label="productivity" />
  767. <category term="review" label="review" />
  768. <category term="writing" label="writing" />
  769. <category term="update" label="update" />
  770. <category term="note-taking" label="note-taking" />
  771. </entry>
  772. <entry>
  773. <title>Godot Engine</title>
  774. <id>https://taoofmac.com/space/apps/godot</id>
  775. <published>2020-06-10T10:05:01+00:00</published>
  776. <updated>2025-06-14T12:46:00+00:00</updated>
  777. <author>
  778. <name>Rui Carmo</name>
  779. <uri>https://taoofmac.com</uri>
  780. </author>
  781. <link rel="alternate" xml:base="https://taoofmac.com" type="text/html" href="https://taoofmac.com/space/apps/godot"/>
  782. <content type="html"><![CDATA[
  783. <p class="lead"><a href="https://godotengine.org/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Godot</a> is a game engine that has risen in popularity over the past few years. It currently supports (officially) its own programming language (<code>GDScript</code>, in both textual and &#8220;visual&#8221; forms) and <a href="/space/dev/csharp" rel="next" style="color: #0000cc;">C#</a> (via <code>mono</code>), and is able to target most platforms (including mobile, VR headsets and consoles).</p>
  784. <p>Unlike Unity or Unreal (which have massive communities, asset stores, and performance/storage requirements), it has an almost <em>tiny</em> footprint (less than a hundred megabytes) and runs quite well on low-end hardware, so despite having fiddled with Unity on and off for years, I (together with my kids) find myself playing around with Godot instead.</p>
  785. <p>(It&#8217;s worth noting that Godot&#8217;s visual scripting was a pretty decent starting point for getting started with game logic and that, despite discontinued, it lives on as an extension.)</p>
  786. <a class="anchor" id="anchor-resources" rel="anchor" href="/space/apps/godot#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%;">
  787. <thead>
  788. <tr style="border-top: 1px solid #aaa;">
  789. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Category</th>
  790. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Date</th>
  791. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Link</th>
  792. <th style="border-bottom: 1px solid black;border-top: 2px solid black;padding: 4px 4px !important;font-weight: bold;text-align: center;">Notes</th>
  793. </tr>
  794. </thead>
  795. <tbody style="border-top: 2px solid black;border-bottom: 2px solid black;">
  796. <tr style="border-top: 1px solid #aaa;">
  797. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">AI</td>
  798. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  799. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/limbonaut/limboai?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">LimboAI</a></td>
  800. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Godot plugin for doing behavior trees and finite state machines</p></td>
  801. </tr>
  802. <tr style="border-top: 1px solid #aaa;">
  803. <td rowspan="11" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Add-ons</td>
  804. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  805. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/CozyCubeGames/cozy-cube-godot-addons?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cozy Cube Godot Addons</a></td>
  806. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a collection of Godot add-ons for various purposes, including area lights and other effects</p></td>
  807. </tr>
  808. <tr style="border-top: 1px solid #aaa;">
  809. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/liamhendricks/cellblock?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Cellblock</a></td>
  810. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a scene management tool for developing open world games</p></td>
  811. </tr>
  812. <tr style="border-top: 1px solid #aaa;">
  813. <td rowspan="9" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  814. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/2shady4u/godot-sqlite?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godot-sqlite</a></td>
  815. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>SQLite support</p></td>
  816. </tr>
  817. <tr style="border-top: 1px solid #aaa;">
  818. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Arnklit/Waterways?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Waterways</a></td>
  819. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool to generate river meshes with flow and foam maps based on bezier curves.</p></td>
  820. </tr>
  821. <tr style="border-top: 1px solid #aaa;">
  822. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ClarkThyLord/Voxel-Core?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Voxel Core</a></td>
  823. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Voxel creation and manipulation</p></td>
  824. </tr>
  825. <tr style="border-top: 1px solid #aaa;">
  826. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Jay7c/TimeOfDay?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Time of Day</a></td>
  827. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Dynamic skydome with time of day support</p></td>
  828. </tr>
  829. <tr style="border-top: 1px solid #aaa;">
  830. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Larpon/ingrid?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Ingrid</a></td>
  831. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>an infinite grid add-on</p></td>
  832. </tr>
  833. <tr style="border-top: 1px solid #aaa;">
  834. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/MikeSchulze/gdUnit3?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">GdUnit3</a></td>
  835. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a unit testing framework</p></td>
  836. </tr>
  837. <tr style="border-top: 1px solid #aaa;">
  838. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ceceppa/anima?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">anima</a></td>
  839. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a complex animation helper</p></td>
  840. </tr>
  841. <tr style="border-top: 1px solid #aaa;">
  842. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/coppolaemilio/dialogic?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">dialogic</a></td>
  843. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A helper tool for dialog creation</p></td>
  844. </tr>
  845. <tr style="border-top: 1px solid #aaa;">
  846. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/tomankirilov/VPainter?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">VPainter</a></td>
  847. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>texture painting add-on</p></td>
  848. </tr>
  849. <tr style="border-top: 1px solid #aaa;">
  850. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Apps</td>
  851. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
  852. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/alfredbaudisch/Godello?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Godello</a></td>
  853. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Trello clone with a Phoenix back-end</p></td>
  854. </tr>
  855. <tr style="border-top: 1px solid #aaa;">
  856. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://orama-interactive.itch.io/pixelorama?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Pixelorama</a></td>
  857. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a 2D sprite editor</p></td>
  858. </tr>
  859. <tr style="border-top: 1px solid #aaa;">
  860. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Audio</td>
  861. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2025</td>
  862. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Dowsley/GodAmp?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">GodAmp</a></td>
  863. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Godot clone of the WinAmp music player</p></td>
  864. </tr>
  865. <tr style="border-top: 1px solid #aaa;">
  866. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  867. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/kyzfrintin/Godot-Mixing-Desk?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Mixing Desk</a></td>
  868. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>procedural audio and adaptive music</p></td>
  869. </tr>
  870. <tr style="border-top: 1px solid #aaa;">
  871. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Extensions</td>
  872. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
  873. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/arcadia-unity/ArcadiaGodot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">ArcadiaGodot</a></td>
  874. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a port of the Clojure Arcadia project</p></td>
  875. </tr>
  876. <tr style="border-top: 1px solid #aaa;">
  877. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Geometry</td>
  878. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  879. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Arnklit/ShellFurGodot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Shell Fur</a></td>
  880. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>add fur to characters</p></td>
  881. </tr>
  882. <tr style="border-top: 1px solid #aaa;">
  883. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/SoloByte/godot-polygon2d-fracture?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Polygon Fracture</a></td>
  884. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>libraries for fracturing polygons in various ways</p></td>
  885. </tr>
  886. <tr style="border-top: 1px solid #aaa;">
  887. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/godot-extended-libraries/godot-lod?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godot-lod</a></td>
  888. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Godot 3 LOD add-on</p></td>
  889. </tr>
  890. <tr style="border-top: 1px solid #aaa;">
  891. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Graphics</td>
  892. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  893. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/2Retr0/GodotOceanWaves?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">GodotOceanWaves</a></td>
  894. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a rendering experiment utilizing inverse Fourier transform for ocean wave
  895. generation in real-time</p></td>
  896. </tr>
  897. <tr style="border-top: 1px solid #aaa;">
  898. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/TokisanGames/Sky3D?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Sky3D</a></td>
  899. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tool that implements a dynamic day/night cycle</p></td>
  900. </tr>
  901. <tr style="border-top: 1px solid #aaa;">
  902. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Interface</td>
  903. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  904. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/MarcoFazioRandom/Virtual-Joystick-Godot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Virtual Joystick</a></td>
  905. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a touchscreen virtual joystick controller</p></td>
  906. </tr>
  907. <tr style="border-top: 1px solid #aaa;">
  908. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Language Bindings</td>
  909. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  910. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/migueldeicaza/SwiftGodot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">SwiftGodot</a></td>
  911. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Miguel de Icaza&#8217;s Swift driver for Godot</p></td>
  912. </tr>
  913. <tr style="border-top: 1px solid #aaa;">
  914. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Models</td>
  915. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
  916. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://kenney.nl/assets/platformer-kit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Platformer Kit</a></td>
  917. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a free model kit to build platform games</p></td>
  918. </tr>
  919. <tr style="border-top: 1px solid #aaa;">
  920. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Networking</td>
  921. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  922. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/goatchurchprime/godot-mqtt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godot-mqtt</a></td>
  923. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Godot 4 MQTT plugin</p></td>
  924. </tr>
  925. <tr style="border-top: 1px solid #aaa;">
  926. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Other</td>
  927. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  928. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://git.sr.ht/~sircmpwn/gdwlroots?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">gdwlroots</a></td>
  929. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a module which provides bindings to <code>wlroots</code>, for building Wayland compositors within Godot</p></td>
  930. </tr>
  931. <tr style="border-top: 1px solid #aaa;">
  932. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/SlateyDev/godoom?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godoom</a></td>
  933. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a port of Doom for Godot</p></td>
  934. </tr>
  935. <tr style="border-top: 1px solid #aaa;">
  936. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ThePat02/force-directed-graph-godot?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">force-directed-graph-godot</a></td>
  937. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a simple implementation of a Force-Directed Graph</p></td>
  938. </tr>
  939. <tr style="border-top: 1px solid #aaa;">
  940. <td rowspan="11" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Plugins</td>
  941. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2024</td>
  942. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Vahera/godot-orchestrator?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Godot Orchestrator</a></td>
  943. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a visual-scripting solution for Godot 4.2+</p></td>
  944. </tr>
  945. <tr style="border-top: 1px solid #aaa;">
  946. <td rowspan="3" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2023</td>
  947. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/brombres/Godot-GameGUI?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Godot-GameGUI</a></td>
  948. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a dynamic layout and sizing system for building user interfaces</p></td>
  949. </tr>
  950. <tr style="border-top: 1px solid #aaa;">
  951. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/godot-jolt/godot-jolt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godot-jolt</a></td>
  952. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a extension that integrates the Jolt physics engine</p></td>
  953. </tr>
  954. <tr style="border-top: 1px solid #aaa;">
  955. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/ramokz/phantom-camera?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">phantom-camera</a></td>
  956. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a nice camera handling plugin for both 2D and 3D games</p></td>
  957. </tr>
  958. <tr style="border-top: 1px solid #aaa;">
  959. <td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  960. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/HungryProton/scatter?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Scatter</a></td>
  961. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Placement of foliage and other assets</p></td>
  962. </tr>
  963. <tr style="border-top: 1px solid #aaa;">
  964. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/SIsilicon/Godot-Volumetrics-Plugin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Volumetrics Plugin</a></td>
  965. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a GLES-only volumetric fog plugin</p></td>
  966. </tr>
  967. <tr style="border-top: 1px solid #aaa;">
  968. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Zylann/godot_heightmap_plugin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Heightmap Plugin</a></td>
  969. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Includes a terrain sculpting tool and LOD generation</p></td>
  970. </tr>
  971. <tr style="border-top: 1px solid #aaa;">
  972. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Zylann/godot_tree_generator_plugin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Tree Generator</a></td>
  973. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a tree generator plugin for Godot 3</p></td>
  974. </tr>
  975. <tr style="border-top: 1px solid #aaa;">
  976. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/touilleMan/godot-python?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godot-python</a></td>
  977. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>Python language support for Godot</p></td>
  978. </tr>
  979. <tr style="border-top: 1px solid #aaa;">
  980. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
  981. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/Zylann/godot_heightmap_plugin?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godot_heightmap_plugin</a></td>
  982. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>A heightmap-based terrain plugin for Godot 3.x</p></td>
  983. </tr>
  984. <tr style="border-top: 1px solid #aaa;">
  985. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/fenix-hub/godot-engine.easy-charts?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Easy Charts</a></td>
  986. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a library with a number of 2D/3D chart types</p></td>
  987. </tr>
  988. <tr style="border-top: 1px solid #aaa;">
  989. <td rowspan="5" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Samples</td>
  990. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2022</td>
  991. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/goatchurchprime/godot_webrtc_mqtt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">godot_webrtc_mqtt</a></td>
  992. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a WebRTC and MQTT example with a working GDScript MQTT client</p></td>
  993. </tr>
  994. <tr style="border-top: 1px solid #aaa;">
  995. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  996. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/christinoleo/GodotMindMap?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">GodotMindMap</a></td>
  997. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a barebones mind mapping app</p></td>
  998. </tr>
  999. <tr style="border-top: 1px solid #aaa;">
  1000. <td rowspan="4" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
  1001. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/NeoSpark314/godot_oculus_quest_toolkit?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Oculus Quest Toolkit</a></td>
  1002. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>includes a simple Beat Saber clone and all</p></td>
  1003. </tr>
  1004. <tr style="border-top: 1px solid #aaa;">
  1005. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/danilw/godot-utils-and-other?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Sample Demo Code</a></td>
  1006. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a number of interesting bits of code, including some amazing sample shaders</p></td>
  1007. </tr>
  1008. <tr style="border-top: 1px solid #aaa;">
  1009. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/mgschwan/VRWorkout?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">VRWorkout</a></td>
  1010. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a VR workout game for the Oculus Quest</p></td>
  1011. </tr>
  1012. <tr style="border-top: 1px solid #aaa;">
  1013. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Shaders</td>
  1014. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/GDQuest/godot-shaders?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Godot Shader Examples</a></td>
  1015. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"/>
  1016. </tr>
  1017. <tr style="border-top: 1px solid #aaa;">
  1018. <td rowspan="2" style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tools</td>
  1019. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2021</td>
  1020. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/jegor377/godot-gdgifexporter?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">GIF exporter</a></td>
  1021. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>save frames directly to a GIF file</p></td>
  1022. </tr>
  1023. <tr style="border-top: 1px solid #aaa;">
  1024. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2019</td>
  1025. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://github.com/efornara/frt?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">frt</a></td>
  1026. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a Godot runtime for the Raspberry Pi</p></td>
  1027. </tr>
  1028. <tr style="border-top: 1px solid #aaa;">
  1029. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">Tutorials</td>
  1030. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;">2020</td>
  1031. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><a href="https://kidscancode.org/blog/tags/godot/?utm_source=taoofmac.com&amp;utm_medium=web&amp;utm_campaign=unsolicited_traffic&amp;utm_content=external_link" rel="external" style="color: #0000cc;">Kids Can Code Tutorials</a></td>
  1032. <td style="min-width: 80px;margin: 0px;padding: 4px 4px !important;vertical-align: top;border-top: 1px solid #aaa;"><p>a set of Godot 2 tutorials (easy to follow by kids, but some GDScript needs to be rewritten for 3.x)</p></td>
  1033. </tr>
  1034. </tbody>
  1035. </table>
  1036. <br/>
  1037. ]]></content>
  1038. <category term="2d" label="2d" />
  1039. <category term="gamedev" label="gamedev" />
  1040. <category term="3d" label="3d" />
  1041. <category term="development" label="development" />
  1042. <category term="engine" label="engine" />
  1043. </entry>
  1044. </feed>
  1045.  
  1046.  
  1047.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid Atom 1.0" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//the.taoofmac.com/space/RecentChanges%3Fformat%3Datom

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda