<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Alcides Fonseca</title><link>http://wiki.alcidesfonseca.com/</link><description>A Maelstrom of Ideas, Code and Politics</description><atom:link href="http://wiki.alcidesfonseca.com/feeds/all/" rel="self"/><language>en-us</language><lastBuildDate>Sat, 30 May 2026 00:05:30 +0000</lastBuildDate><item><title>Introduction to AI Engineering</title><link>http://wiki.alcidesfonseca.com/blog/introduction-to-ai-engineering</link><description>

	&lt;p&gt;Luca Cavallin wrote a wonderful guide to &lt;a href="https://www.lucavall.in/blog/ai-engineering-for-developers"&gt;AI Engineering for Developers&lt;/a&gt;. It covers patterns, infrastructure and introduces several concepts one ought to know (&lt;span class="caps"&gt;RAG&lt;/span&gt;, Agents, Prefix Caching, ReAct, LangGraph).&lt;/p&gt;

	&lt;p&gt;I see this as a starting point for any new graduate whose degree did not cover all of this stuff. Spoiler alert: the one I teach in does not. And it won&amp;#8217;t any time soon. I&amp;#8217;ll link to the post I am writing explaining why.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Sat, 30 May 2026 00:05:30 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/introduction-to-ai-engineering</guid></item><item><title>LLM April Inflection Point</title><link>http://wiki.alcidesfonseca.com/blog/llm-april-inflection-point</link><description>

	&lt;blockquote&gt;
		&lt;p&gt;I’ve called November 2025 the November inflection point because that was when &lt;span class="caps"&gt;GPT&lt;/span&gt;-5.1 and Opus 4.5, combined with their respective coding agent harnesses, got good—good enough that we’ve spent the last six months adapting to agent systems that can reliably get useful work done.&lt;br /&gt;
I think April 2026 is a new inflection point where the revenue implications of this have started to land, to the benefit of the frontier AI labs and with material impacts on the budgets of large companies.&lt;br /&gt;
We’ll know for sure how real this moment is when the S-1 documents for the upcoming Anthropic and OpenAI &lt;span class="caps"&gt;IPO&lt;/span&gt;s give us some real, audited numbers to get our teeth into.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— Simon Willison in &lt;a href="https://simonwillison.net/2026/May/27/product-market-fit/#atom-everything"&gt;I think Anthropic and OpenAI have found product-market fit&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;What if AI is more expensive than junior developers? Everything stays the same, but AI companies go bankrupt and the AI bubble bursts much earlier than expected. &lt;/p&gt;

	&lt;p&gt;Is this scenario so crazy? Simon spends ~2000$ per month, which is a reasonable cost of a junior developer in Portugal or another near-shore country. Now I&amp;#8217;m sure he is more productive with those tokens than he would with a junior developer. In fact, he would be less productive given the cost of training. But developers can leave anytime, and &lt;a href="https://www.fbritoferreira.com/blog/no-juniors-today-no-seniors-in-2031/"&gt;it is a good idea&lt;/a&gt; to &lt;a href="https://coderpad.io/blog/hiring-developers/in-the-ai-era-shopify-is-investing-in-junior-engineers-not-cutting-them/"&gt;train new productive developers&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;Of course &lt;span class="caps"&gt;LLM&lt;/span&gt; providers do not want the AI bubble to burst. To avoid it, they can just reduce infrastructure and training costs. No &lt;span class="caps"&gt;CEO&lt;/span&gt; will do that at the risk of losing the monopoly race to their competitors. So it&amp;#8217;s a race to the bottom, aiming to become the last survivor. &lt;a href="https://www.investopedia.com/ask/answers/032315/what-are-most-famous-monopolies.asp"&gt;I wonder if this has happened in the past, and what was the role of nationalization in the process&amp;#8230;.&lt;/a&gt;&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Thu, 28 May 2026 22:40:20 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/llm-april-inflection-point</guid></item><item><title>UK's NHS just got called to the principal's office</title><link>http://wiki.alcidesfonseca.com/blog/uks-nhs-just-got-called-to-the-principals-office</link><description>

	&lt;blockquote&gt;
		&lt;p&gt;Private repositories can create a false sense of security.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Making code private is not an appropriate mitigation for lack of ownership, patching capability, or operational assurance, so systems that cannot be safely maintained should be remediated or retired.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Moving code from public to private as a substitute for investment in secure-by-design delivery, ownership and remediation is a warning sign because it reduces sharing and scrutiny, can slow coordinated improvement across government and suppliers, and does not remove the underlying weaknesses in a running service.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— Government Digital Service&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt; It looks to me like a small group within &lt;span class="caps"&gt;NHS&lt;/span&gt; England have received a report showing some potential vulnerabilities discovered by Mythos. Rather than following their own internal guidance, they&amp;#8217;ve over-reacted and slapped a blanket ban on coding in the open.&lt;br /&gt;
I fervently hope that this new guidance will encourage &lt;span class="caps"&gt;DHSC&lt;/span&gt; to bring &lt;span class="caps"&gt;NHS&lt;/span&gt; England into line with best practice. If not, perhaps &lt;span class="caps"&gt;GDS&lt;/span&gt; ought to reassert itself as the technical authority with power to veto a department&amp;#8217;s incomprehensible decisions?&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— Terrence Eden (ex-&lt;span class="caps"&gt;GDS&lt;/span&gt;) in &lt;a href="https://shkspr.mobi/blog/2026/05/gds-weighs-in-on-the-nhss-decision-to-retreat-from-open-source/"&gt;&lt;span class="caps"&gt;GDS&lt;/span&gt; weighs in on the &lt;span class="caps"&gt;NHS&lt;/span&gt;&amp;#8217;s decision to retreat from Open Source&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;I just love the role &lt;span class="caps"&gt;GDS&lt;/span&gt; has had in the UK digital infrastructure. Nowadays, government digital services are a critical infrastructure. Protecting it is a national responsibility and should be done with the proper resources.&lt;/p&gt;

	&lt;p&gt;In Portugal, I do not see a push towards open-source. &lt;a href="https://repositorio.iscte-iul.pt/bitstream/10071/5992/1/master_rui_nunes_godinho.pdf"&gt;There are a&lt;/a&gt; &lt;a href="https://interoperable-europe.ec.europa.eu/sites/default/files/inline-files/OSS%20Country%20Intelligence%20Report_PT_1.pdf"&gt;few&lt;/a&gt; &lt;a href="https://github.com/amagovpt/"&gt;exceptions&lt;/a&gt; but, in general, Portugal is lacking in developing in the open. I would love to spend time fixing bugs in the software I &lt;em&gt;have&lt;/em&gt; to use.&lt;/p&gt;

	&lt;p&gt;We need this to come from the top. And proper resources to be spent in our infrastructure, which means paying competitive wages and hiring top talent to spread good practices to the rest of the government, like &lt;span class="caps"&gt;GDS&lt;/span&gt; did in the UK.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Sun, 17 May 2026 19:30:48 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/uks-nhs-just-got-called-to-the-principals-office</guid></item><item><title>ArXiv introduces penalties on slop</title><link>http://wiki.alcidesfonseca.com/blog/arxiv-introduces-penalties-on-slop</link><description>

	&lt;blockquote&gt;
		&lt;p&gt;If generative AI tools generate inappropriate language, plagiarized content, biased content, errors, mistakes, incorrect references, or misleading content, and that output is included in scientific works, it is the responsibility of the author(s). We have recently clarified our penalties for this. If a submission contains incontrovertible evidence that the authors did not check the results of &lt;span class="caps"&gt;LLM&lt;/span&gt; generation, this means we can&amp;#8217;t trust anything in the paper. The penalty is a 1-year ban from arXiv followed by the requirement that subsequent arXiv submissions must first be accepted at a reputable peer-reviewed venue. Examples of incontrovertible evidence: hallucinated references, meta-comments from the &lt;span class="caps"&gt;LLM&lt;/span&gt; (&amp;#8220;here is a 200 word summary; would you like me to make any changes?&amp;#8221;; &amp;#8220;the data in this table is illustrative, fill it in with the real numbers from your experiments&amp;#8221;)&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— &lt;a href="https://x.com/tdietterich/status/2055000956144935055"&gt;Thomas G. Dietterich&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Just like Github, arXiv is where anyone can upload their scientific outputs. There&amp;#8217;s a minimal verification to prevent Spam, but arXiv was never about gatekeeping content. Until now.&lt;/p&gt;

	&lt;p&gt;&lt;a href="https://wiki.alcidesfonseca.com/blog/on-copyright-and-ai/"&gt;As I mentioned before,&lt;/a&gt; reputation is more important than ever in an age where text (and voice) is being produced cheaply, financed by monopoly-inducing &lt;span class="caps"&gt;LLM&lt;/span&gt; factories at a loss.&lt;/p&gt;

	&lt;p&gt;If the goal of arXiv is to provide an open alternative to the gatekeeping of journals, what is the open alternative to the gatekeeping of arXiv?&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Sun, 17 May 2026 09:47:34 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/arxiv-introduces-penalties-on-slop</guid></item><item><title>Typography of the Future</title><link>http://wiki.alcidesfonseca.com/blog/typography-of-the-future</link><description>

	&lt;blockquote&gt;
		&lt;p&gt;We’ve already seen how Eurostile Bold Extended is spectacularly effective at establishing a movie’s timeframe. But if Eurostile isn’t enough, there’s more you can do to clarify your movie’s timeframe. I’d like to introduce you to six easy rules that are pretty much guaranteed to position your text firmly in the &lt;span class="caps"&gt;FUTURE&lt;/span&gt;.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— Dave Addey, in &lt;a href="https://typesetinthefuture.com/2016/02/18/futuristic/"&gt;&lt;span class="caps"&gt;HOW&lt;/span&gt; TO &lt;span class="caps"&gt;MAKE&lt;/span&gt; &lt;span class="caps"&gt;YOUR&lt;/span&gt; &lt;span class="caps"&gt;TEXT&lt;/span&gt; &lt;span class="caps"&gt;LOOK&lt;/span&gt; &lt;span class="caps"&gt;FUTURISTIC&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Wonderful description of how to take your typography 50 years into the future. But maybe it only works for 80is and 90ies kids like me.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Wed, 13 May 2026 09:47:08 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/typography-of-the-future</guid></item><item><title>LLM and Competency Impersonation</title><link>http://wiki.alcidesfonseca.com/blog/llm-and-competency-impersonation</link><description>

	&lt;blockquote&gt;
		&lt;p&gt;I have a colleague, a careful and intelligent person in a role that is not engineering, who spent two months earlier this year building a system that should have been designed by someone with formal training in data architecture. He used the tools well, by the standards by which use of the tools is currently measured. He produced a great deal of code, a great deal of documentation, a great deal of what looked, to anyone who did not know what to look for, like progress. He could not, when asked, explain how any of it actually worked. The work was wrong from the first day. The schemas, and more importantly the objectives, were wrong in a way that would have been obvious to anyone with two years in the field. Several of us did know. When opinions were voiced even as high as a V.P., he fought back. The room had been arranged in such a way that saying so was not a contribution; his managers were too invested in the appearance of momentum to want the appearance disturbed. The work will continue, in all probability, until it is shown to a stakeholder, and they decide not to invest.&lt;br /&gt;
This is the part of the phenomenon I find hardest to write about. The tool did not make him a worse colleague. It made him able to impersonate, for months, a discipline he had never trained in, and the impersonation was good enough that the institutional incentives all bent toward letting him continue. Perhaps it’s a failure of management, but I have been finding management to be so eager to embrace AI that they’re willing to accept the risk.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— No One&amp;#8217;s Happy, in &lt;a href="https://nooneshappy.com/article/appearing-productive-in-the-workplace/"&gt;Appearing Productive in The Workplace&lt;/a&gt;&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Thu, 07 May 2026 07:29:39 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/llm-and-competency-impersonation</guid></item><item><title>Why TUIs are back</title><link>http://wiki.alcidesfonseca.com/blog/why-tuis-are-back</link><description>

	&lt;p&gt;Terminal User Interfaces (&lt;span class="caps"&gt;TUI&lt;/span&gt;s) are making a comeback. &lt;span class="caps"&gt;DHH&lt;/span&gt;&amp;#8217;s &lt;a href="https://omarchy.org"&gt;Omarchy&lt;/a&gt; is made of three types of user interfaces: &lt;span class="caps"&gt;TUI&lt;/span&gt;s, for immediate feedback and bonus geek points, webapps because 37signals (his company) sells &lt;span class="caps"&gt;SAAS&lt;/span&gt; web applications and the unavoidable gnome-style native applications that really do not fit well in the style of the distro.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="" src="https://mundobytes.com/wp-content/uploads/2025/08/Omarchy-la-distro-del-creador-de-Ruby-on-Rails-2-scaled.png.webp" /&gt;&lt;/p&gt;

	&lt;p&gt;The same pattern occurred around 10 years ago in code editors. We came from the native editors of &lt;span class="caps"&gt;BBE&lt;/span&gt;dit, Textmate (also promoted by &lt;span class="caps"&gt;DHH&lt;/span&gt;), Notedpad++ and Sublime to Electro-powered apps like Atom, &lt;span class="caps"&gt;VSC&lt;/span&gt;ode and all its forks. The hardcore, moved to vim or emacs, trading immediate feedback and higher usability for the steepest learning curve I&amp;#8217;ve seen.&lt;/p&gt;

	&lt;h4&gt;Windows&lt;/h4&gt;

	&lt;p&gt;The lesson is clear: Native applications are losing. Windows is doing the &lt;span class="caps"&gt;GUI&lt;/span&gt; library standard joke. Because one &lt;span class="caps"&gt;API&lt;/span&gt; does not have success, they make up another one, just for that one to fail within the sea of alternatives that exist.&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;span class="caps"&gt;MFC&lt;/span&gt; (1992) wrapped Win32 in C++. If Win32 was inelegant, &lt;span class="caps"&gt;MFC&lt;/span&gt; was Win32 wearing a tuxedo made of other tuxedos. Then came &lt;span class="caps"&gt;OLE&lt;/span&gt;. &lt;span class="caps"&gt;COM&lt;/span&gt;. ActiveX. None of these were really &lt;span class="caps"&gt;GUI&lt;/span&gt; frameworks – they were component architectures – but they infected every corner of Windows development and introduced a level of cognitive complexity that makes Kierkegaard read like Hemingway. &lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— &lt;a href="http://www.jsnover.com"&gt;Jeffrey Snover&lt;/a&gt;, in &lt;a href="https://www.jsnover.com/blog/2026/03/13/microsoft-hasnt-had-a-coherent-gui-strategy-since-petzold/"&gt;Microsoft hasn&amp;#8217;t had a coherent &lt;span class="caps"&gt;GUI&lt;/span&gt; strategy since Petzold&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;Since then, Microsoft has gone through Winforms, &lt;span class="caps"&gt;WPF&lt;/span&gt;, Silverlight, WinUIs,  &lt;span class="caps"&gt;MAUI&lt;/span&gt; without success. Many enterprise and personal desktop application still rely on Electron Apps, and the last memory of coherent visual integration of the whole OS I have is of Windows 98 or 2000.&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;It turns out that it’s a lot of work to recreate one’s OS and UI &lt;span class="caps"&gt;API&lt;/span&gt;s every few years. Coupled with the intermittent attempts at sandboxing and deprecating “too powerful” functionality, the result is that each new layer has gaps, where you can’t do certain things which were possible in the previous framework.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— Domenic Denicola, in &lt;a href="https://domenic.me/windows-native-dev/"&gt;Windows Native App Development Is a Mess&lt;/a&gt;&lt;/p&gt;

	&lt;h4&gt;Linux&lt;/h4&gt;

	&lt;p&gt;The UI inconsistency in Linux was created by design. Different teams wanted different outcomes and they had the freedom to do it. &lt;span class="caps"&gt;GTK&lt;/span&gt; and Qt became the two reigning frameworks. While Qt is most known for it, both aimed to support cross-platform native development (once upon a time, I successfully compiled gedit on Windows, learning a lot about C compilation, make files and environment variables in the process) but are only widely used in Linux land. Luckily, applications made in the different toolkits can look okay-ish next to each other, something that the different frameworks on Windows fail to achieve. How many engineer-hours does it take to redo the windows Control Panel?&lt;/p&gt;

	&lt;p&gt;Given the difficulty in testing the million different combinations of distros, desktop environments and hardware in general, most companies do not bother with a native Linux application — they either address it using electron (minting the lock-down), or they let the open-source community solve it self (when they have open &lt;span class="caps"&gt;API&lt;/span&gt;s).&lt;/p&gt;


	&lt;h4&gt;macOS&lt;/h4&gt;

	&lt;p&gt;Apple used to be a one-book religion. Apple&amp;#8217;s &lt;a href="https://developer.apple.com/design/human-interface-guidelines/"&gt;Human Interface Guidelines&lt;/a&gt; used to be cited by every User Interface course over the world. Xerox &lt;span class="caps"&gt;PARC&lt;/span&gt; and Apple were the two institutions that studied what it means to have a good human interface. Fast forward a few decades, and Apple is doing the &lt;del&gt;best&lt;/del&gt; worst it can to break all the guidelines and consistency it was known for.&lt;/p&gt;

	&lt;p&gt;&lt;img alt="" src="https://pbs.twimg.com/media/HGXc3k1b0AAZPcy?format=jpg&amp;name=small" /&gt;&lt;/p&gt;

	&lt;p&gt;Now, Apple has been &lt;a href="https://news.ycombinator.com/item?id=45288997"&gt;ignoring Fitts&amp;#8217; law&lt;/a&gt;, &lt;a href="https://noheger.at/blog/2026/01/11/the-struggle-of-resizing-windows-on-macos-tahoe/"&gt;making resizing windows near-impossible&lt;/a&gt; (&lt;a href="https://noheger.at/blog/2026/02/12/resizing-windows-on-macos-tahoe-the-saga-continues/"&gt;even after trying to fix it&lt;/a&gt;) and &lt;a href="https://tonsky.me/blog/tahoe-icons/"&gt;adding icons to every single menu&lt;/a&gt;. MacOS is no longer the safe heaven where designers can work peacefully. &lt;/p&gt;

	&lt;h4&gt;Electron&lt;/h4&gt;

	&lt;p&gt;Everyone knows that the user experience of electron apps sucks. The most popular claim is the memory consumption, which to be fair has been decreasing over the last decade, but my main complaint (as I usually drive a 64GB &lt;span class="caps"&gt;RAM&lt;/span&gt; MacBook Pro) is the lack of visual consistency and lack of keyboard-driven workflows. Looking at my dock, I have 8 native apps (text mate and macOS system utilities) and 6 electron apps (Slack, Discord, Mattermost, VScode, Cursor, Plexampp). And that&amp;#8217;s from someone who really wishes he could avoid having any electron app at all.&lt;/p&gt;

	&lt;p&gt;Let us take the example of Cursor (but would be true for &lt;span class="caps"&gt;VSC&lt;/span&gt;ode as well). If you are in the agent panel, requesting your next feature, can you move to the agent list on the side panel with just the keyboard? Can you archive it? These are actions that should be the same across every macOS application, and even if there are shortcuts, they are not announced in the menus. And over the last decade, developers have been forgetting to add menus to do the same things that are available in their application (mostly because the application is &lt;span class="caps"&gt;HTML&lt;/span&gt; within its sandbox). For the record, Slack does this better than the others, but it&amp;#8217;s not perfect.&lt;/p&gt;

	&lt;h4&gt;Restarting from scratch&lt;/h4&gt;

	&lt;p&gt;Together with Dart, Google wanted to design a new operating system, without all the legacy of Android, for new devices. It wanted a fresh UI toolkit (&lt;a href="https://docs.flutter.dev/ui"&gt;Flutter UI&lt;/a&gt;) but Google gave up on the project before a real product was launched. It&amp;#8217;s one of those situations where having a monopoly (or a large enough slice of the market) is required to succeed.&lt;/p&gt;

	&lt;p&gt;Meanwhile, &lt;a href="https://zed.dev"&gt;Zed&lt;/a&gt; did the same thing in Rust: they designed their own &lt;span class="caps"&gt;GPU&lt;/span&gt;-renderer library (&lt;a href="https://crates.io/crates/gpui"&gt;&lt;span class="caps"&gt;GPUI&lt;/span&gt;&lt;/a&gt;) which is cross-platform. Despite the high-speed, it lacks integration with the host OS on itself, requiring the developers to add the right bindings. Personally, I would rather have a slow renderer that integrated with my OS than the extra speed.&lt;/p&gt;


	&lt;h4&gt;&lt;span class="caps"&gt;TUI&lt;/span&gt;s&lt;/h4&gt;

	&lt;p&gt;&lt;span class="caps"&gt;TUI&lt;/span&gt;s are fast, easy to automate (&lt;a href="https://arstechnica.com/civis/threads/apple-terminated-product-manager-of-automation-position-and-fired-sal-soghoian.1359425/"&gt;&lt;span class="caps"&gt;RIP&lt;/span&gt; Automator&lt;/a&gt;) and work reasonably well in different operating systems. You can even run them remotely without any headache-inducing &lt;a href="https://www.tomshardware.com/how-to/forward-x-session-ssh"&gt;X forwarding&lt;/a&gt;. When the native UI toolkits fail, we go back to basics. Claude and Codex have been very successful on the command-line: you focus on the interaction and forget about the operating system around you. You can even drive code and apps on cloud machines, or remote into your &lt;span class="caps"&gt;GPU&lt;/span&gt;-powered machine from your iPad. &lt;span class="caps"&gt;TUI&lt;/span&gt;s are filling the void left by Apple and Microsoft in the post-apocalyptic world where every application looks different. Which is good if you are doing art (including computer games), but not if your goal is to get out of the way of letting the user do their job.&lt;/p&gt;


	&lt;h4&gt;What&amp;#8217;s next&lt;/h4&gt;

	&lt;blockquote&gt;
		&lt;p&gt;A checkbox is also part of an interface. You’re using it to interact with a system by inputting data. Interfaces are better the less thinking they require: whether the interface is a steering wheel or an online form, if you have to spend any amount of time figuring out how to use it, that’s bad. As you interact with many things, you want homogeneous interfaces that give you consistent experiences. If you learn that Command + C is the keyboard shortcut for copy, you want that to work everywhere. You don’t want to have to remember to use &lt;span class="caps"&gt;CTRL&lt;/span&gt; + Shift + C in certain circumstances or right-click → copy in others, that’d be annoying.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— &lt;a href="https://substack.com/%40loeber"&gt;John Loeber&lt;/a&gt; in &lt;a href="https://essays.johnloeber.com/p/4-bring-back-idiomatic-design"&gt;Bring Back Idiomatic Design&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;We need to go back to the basics. Every developer should learn the theory of what makes a good User Interface (software or not!), like &lt;a href="https://www.nngroup.com/books/usability-engineering/"&gt;Nielsen&lt;/a&gt;, &lt;a href="https://www.amazon.com/dp/0465050654/"&gt;Norman&lt;/a&gt;  or &lt;a href="https://www.amazon.com/Designing-Mind-Understanding-Interface-Guidelines-dp-0128182024/dp/0128182024"&gt;Johnson&lt;/a&gt;, and stop treating User Design as a soft skill that does not matter in the Software Engineering Curriculum. In any course, if the UI does not make any sense, the project should be failed. And in the &lt;span class="caps"&gt;HCI&lt;/span&gt; course, we should aim for perfect UIs. It takes work, but that work is mostly about understanding what we need. The programming is already being automated.&lt;/p&gt;

	&lt;p&gt;Operating systems and Toolkits authors should drive this investment. They should focus on making accessible toolkits that developers want to use, and lower the barrier to entry, making those platforms last as long as possible. I do not necessarily argue for cross-platform support, but having one such solution would help reduce the electron and &lt;span class="caps"&gt;TUI&lt;/span&gt; dependency.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Sun, 03 May 2026 22:31:35 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/why-tuis-are-back</guid></item><item><title>Hanna Fry on (OpenClaw) Agents</title><link>http://wiki.alcidesfonseca.com/blog/hanna-fry-on-openclaw-agents</link><description>

	&lt;p&gt;&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/WnzR5aOElvw?si=6FG5lzmAnzDDUz-Z" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

	&lt;p&gt;A good explanation for the lay man or woman.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Sat, 02 May 2026 09:04:05 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/hanna-fry-on-openclaw-agents</guid></item><item><title>You probably don't need git worktrees</title><link>http://wiki.alcidesfonseca.com/blog/you-probably-dont-need-git-worktrees</link><description>

	&lt;p&gt;I have been trying to debug why Claude (and Cursor) often skips running &amp;#8220;git pre-commit hooks&amp;#8221;, despite being in the Claude.md. I have to remind it every prompt, and even then it fails to run them. They only show up in CI, failing immediately (without running the test-suite). Now, this is also happening to &lt;a href="https://dragonboat.io"&gt;the Dragonboat team&lt;/a&gt; and I know it&amp;#8217;s not a me-problem.&lt;/p&gt;

	&lt;p&gt;One of the things that I changed during this debugging was to make each agent clone their own repo — our repos are quite small — and I&amp;#8217;ve kept up with this practice, as there is no real advantage for me in keeping a centralized local repo. In fact, this way I am sure they don&amp;#8217;t change the centralized database, potentially interfering with each other. In fact, I had some issues where agents would reuse branches, mixing different PRs together.&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;But worktrees have some significant limitations. Not least of which is that their dependence on hardcoded fully-qualified paths written into configuration files not only makes worktrees non-portable, but also makes them &lt;span class="caps"&gt;DOA&lt;/span&gt; for any kind of containerized development environment. The worktree.useRelativePaths option helps here, but as of this writing it’s still relatively brand-new (Git v2.48 released Q1 2025), and not available in the version of git you probably have installed on your host machine or any of your container images. On top of that, VSCode’s support for relative worktrees with devcontainers is experimental, totally undocumented, and (as of this writing) unreliable at best.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— Avdi Grimm in &lt;a href="https://avdi.codes/you-probably-dont-need-git-worktrees/?utm_source=feedly&amp;utm_medium=rss&amp;utm_campaign=you-probably-dont-need-git-worktrees"&gt;You probably don&amp;#8217;t need git worktrees&lt;/a&gt;&lt;/p&gt;

	&lt;p&gt;I wasn&amp;#8217;t aware of all of those disadvantages, but it is so easy and fast to clone a new version. And even if you want to work offline, you can just clone from another local repo, like I did in 2007 when there was no wifi on campus.&lt;/p&gt;

	&lt;p&gt;Now if you have a multi-gigabyte repo, you might think twice about skipping worktrees. But then you have bigger problems to worry about.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Thu, 30 Apr 2026 10:44:29 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/you-probably-dont-need-git-worktrees</guid></item><item><title>The impact of LLMs on the Software Economy</title><link>http://wiki.alcidesfonseca.com/blog/the-impact-of-llms-on-the-software-economy</link><description>

	&lt;p&gt;There are a few people I recommend following to understand what is going on with software development:&lt;/p&gt;

	&lt;ul&gt;
		&lt;li&gt;&lt;a href="https://martinfowler.com"&gt;Martin Fowler&lt;/a&gt; is probably my best reference in software engineering, both from the low-level Design Patterns point of view (where he made his fame), to more processes oriented and &lt;a href="https://martinfowler.com/articles/engineering-practices-llm.html"&gt;the more recent AI impact on the development processes&lt;/a&gt;. Even academics would agree with me on this one.&lt;/li&gt;
		&lt;li&gt;&lt;a href="https://redmonk.com/jgovernor/"&gt;James Governor&lt;/a&gt; (Redmonk) do a more industry-wide macro view of the software development trends. They advise big companies on what route to take, and they estimate the money involved in these new trends. I would hire them if I was running a SaaS or devtools-focused VC. I met James last year at &lt;a href="https://lisbonai.xyz"&gt;LisbonAI&lt;/a&gt;, and there is a large contrast between his wacky style and the sobriety of his writing.&lt;/li&gt;
		&lt;li&gt;&lt;a href="https://simonwillison.net"&gt;Simon Willisson&lt;/a&gt; has been the new person in terms of AI development. I follow Simon since before Django had a 1.0 release, and he has become the reference in terms of AI development. &lt;a href="https://simonwillison.net/about/#subscribe"&gt;He even has a paid newsletter with less content.&lt;/a&gt; Simon focus more on the exploratory side, and less on the engineering side, although he has started to document &lt;a href="https://simonwillison.net/2026/Feb/23/agentic-engineering-patterns/"&gt;agents design patterns&lt;/a&gt;.&lt;/li&gt;
	&lt;/ul&gt;

	&lt;p&gt;The fourth spot on my Mount Rushmore is up for debate. &lt;a href="https://www.tbray.org/ongoing/"&gt;Tim Bray&lt;/a&gt; would blog a lot about the organizational side of things, but has now retired from that. I used to love the writing of &lt;a href="https://steve-yegge.medium.com"&gt;Steve Yegge&lt;/a&gt;, but I think he has drank too much of his own cool aid.&lt;/p&gt;

	&lt;p&gt;The new kid on the block for me is &lt;a href="https://mitchellh.com/writing/building-block-economy"&gt;Mitchell Hashimoto&lt;/a&gt;. He has the technical background — Vagrant, Terraform and Ghostty — and &lt;a href="https://mitchellh.com/writing/my-startup-banking-story"&gt;he does not mind sharing his path&lt;/a&gt;.&lt;/p&gt;

	&lt;p&gt;Specifically, I think two of his recent blog posts were what every developer needs to read:&lt;/p&gt;

	&lt;p&gt;&lt;blockquote&gt;Historically, the effort required to understand a codebase, implement a change, and submit that change for review was high enough that it naturally filtered out many low quality contributions from unqualified people. For over 20 years of my life, this was enough for my projects as well as enough for most others.&lt;/p&gt;

	&lt;p&gt;Unfortunately, the landscape has changed particularly with the advent of AI tools that allow people to trivially create plausible-looking but extremely low-quality contributions with little to no true understanding. Contributors can no longer be trusted based on the minimal barrier to entry to simply submit a change.&lt;/blockquote&gt;&lt;/p&gt;

	&lt;p&gt;— &lt;a href="https://github.com/mitchellh/vouch"&gt;Vouch&lt;/a&gt;, an open source tool to explicitly keep track of trust in open source repos.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Agents will more readily pick open and free software over closed and commercial. At the time of writing this article, this is an objective truth. Independent research labs running experiments on popular models have found repeatedly that under diverse circumstances, models pick open and free alternatives over commercial. So far.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;— &lt;a href="https://mitchellh.com/writing/building-block-economy"&gt;The Building Block Economy&lt;/a&gt;, which gives you a new perspective on the impact of &lt;span class="caps"&gt;LLM&lt;/span&gt;s on the software development economy and tooling.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alcides Fonseca</dc:creator><pubDate>Thu, 09 Apr 2026 10:43:55 +0000</pubDate><guid>http://wiki.alcidesfonseca.com/blog/the-impact-of-llms-on-the-software-economy</guid></item></channel></rss>