<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: danilafe</title><link>https://news.ycombinator.com/user?id=danilafe</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 10:33:55 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=danilafe" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by danilafe in "“Why not just use Lean?”"]]></title><description><![CDATA[
<p>Also true. The slowness is relatively unpredictable, too: sometimes changing a 'rewrite' to a 'with' can increase memory usage tenfold.<p>While we're at it, another major concern for me is the inscrutability of Agda's error messages. I've had one error message single-handedly overflow my tmux scrollback buffer. There's no way I'm going to be able to interpret that.</p>
]]></description><pubDate>Mon, 27 Apr 2026 23:23:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47928624</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47928624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47928624</guid></item><item><title><![CDATA[New comment by danilafe in "“Why not just use Lean?”"]]></title><description><![CDATA[
<p>To be fair, Coq has ProofGeneral and Agda has its emacs mode. Once you go outside these established channels, oftentimes using the tool becomes incredibly difficult. I guess for interactive theorem proving in general you may need some sort of editor at some point.</p>
]]></description><pubDate>Mon, 27 Apr 2026 22:43:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47928348</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47928348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47928348</guid></item><item><title><![CDATA[New comment by danilafe in "“Why not just use Lean?”"]]></title><description><![CDATA[
<p>I think what holds Agda back from being "practical" is that it just doesn't have good tactics. You can't easily automate proofs and even simplification techniques require some language-level tricks[1]. There's technically support for elaborator reflection (as in Idris) but it's painful and impossible to debug. Certainly nowhere near where Coq and Lean are.<p>[1]: like this one I've used for several proofs so far: <a href="https://danilafe.com/blog/agda_expr_pattern/" rel="nofollow">https://danilafe.com/blog/agda_expr_pattern/</a></p>
]]></description><pubDate>Mon, 27 Apr 2026 22:41:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47928329</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47928329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47928329</guid></item><item><title><![CDATA[New comment by danilafe in "“Why not just use Lean?”"]]></title><description><![CDATA[
<p>I believe you, but this hasn't been my experience. It took me hours to get Lean to work (something odd was happening with the package manager + version + tooling combination). Agda worked out of the box with macOS homebrew. Agda's docs are petty bad, but I've found its cross-linked module documentation incredibly useful. The main issue is knowing something exists.</p>
]]></description><pubDate>Mon, 27 Apr 2026 20:26:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47926882</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47926882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47926882</guid></item><item><title><![CDATA[New comment by danilafe in "“Why not just use Lean?”"]]></title><description><![CDATA[
<p>> The flip side of this is that, thanks to LLMs, working on a minority platform isn't the barrier that you might expect<p>This is a nice thought, but with Agda in particular it's just not true. It's one of the few languages I've seen that's sufficiently unrepresented in training data. Frontier LLMs (Codex, Claude Code) reliably say "I realized I can't do this." after wasting lots of tokens going back and forth.<p>In fact, I think this positions Agda uniquely poorly.</p>
]]></description><pubDate>Mon, 27 Apr 2026 20:04:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47926618</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47926618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47926618</guid></item><item><title><![CDATA[New comment by danilafe in "“Why not just use Lean?”"]]></title><description><![CDATA[
<p>Its parameterized modules, extremely elegant yet flexible mixfix notation mechanism, the various niceties around pattern matching (though this one might be a bit of Stockholm syndrome; Agda doesn't nicely allow pattern matching anywhere except at function clauses), the fact that records, GADTS, and modules all feel like aspects of the same thing, and the fact that typeclasses are 'just' records that are automatically filled in. The typeclass and module features IMO already give it some edge over Haskell. I don't know if it's friendlier, but it is more ergonomic.</p>
]]></description><pubDate>Mon, 27 Apr 2026 20:00:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47926559</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47926559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47926559</guid></item><item><title><![CDATA[New comment by danilafe in "“Why not just use Lean?”"]]></title><description><![CDATA[
<p>People tell me Lean is really good for functional programming. However, coming from Agda, it feels like a pretty clunky downgrade. They also tell me it's good for tactics, but I've found Coq's tactics more powerful and ergonomic. Maybe these are all baby-duck perceptions. So far, it feels like Lean's main strength isn't being the best at anything, but being decent at everything and having a huge community. I see the point and appeal, but it's saddens me that a bit of the beauty and power are lost in exchange.</p>
]]></description><pubDate>Mon, 27 Apr 2026 18:17:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47925222</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47925222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47925222</guid></item><item><title><![CDATA[New comment by danilafe in "Generating Flashcards from PDF Underlines"]]></title><description><![CDATA[
<p>I suppose it's because the tablet I'm using (reMarkable 2) doesn't have a way to intelligently track what I marked up. Perhaps it's part of their intended design.</p>
]]></description><pubDate>Fri, 17 Apr 2026 16:58:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47808011</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=47808011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47808011</guid></item><item><title><![CDATA[New comment by danilafe in "Heathrow scraps liquid container limit"]]></title><description><![CDATA[
<p>This is funny because just a few months ago, I was forced at Heathrow to chug -- not allowed to pour out! -- my entire water bottle that I had filled prior to my flight. The security person watched me do it and added, "bathroom's over there".</p>
]]></description><pubDate>Tue, 27 Jan 2026 05:08:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46775769</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46775769</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46775769</guid></item><item><title><![CDATA[New comment by danilafe in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p>I'm over at <a href="https://danilafe.com" rel="nofollow">https://danilafe.com</a>.<p>It's a blog, where I write about compilers, formal verification, and programming languages mostly. Occasionally some web design (with Hugo) sneaks in.</p>
]]></description><pubDate>Thu, 15 Jan 2026 06:04:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46628640</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46628640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46628640</guid></item><item><title><![CDATA[New comment by danilafe in "Vanity activities"]]></title><description><![CDATA[
<p>You might be right, but I was taking that as a given since the article made that claim. I think the general point (of taking smaller actions in lieu of more effective but costly ones) matters more so than the individual "vanity activity".</p>
]]></description><pubDate>Sun, 07 Dec 2025 23:47:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46186624</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46186624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46186624</guid></item><item><title><![CDATA[New comment by danilafe in "Vanity activities"]]></title><description><![CDATA[
<p>Yes, but only if you would spend that time on something that is more valuable (according to your happiness+ heuristic).</p>
]]></description><pubDate>Sun, 07 Dec 2025 23:46:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46186613</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46186613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46186613</guid></item><item><title><![CDATA[New comment by danilafe in "Vanity activities"]]></title><description><![CDATA[
<p>It doesn't have to be one or the other. Both ethical consumption and going vegetarian reduce one's environmental impact, and they're independent of one another. So, while someone "truly" optimizing for environmental impact would better spend their time avoiding meat, someone who enjoys meat can still reduce their environmental impact without becoming miserable. Variables like "income" and "environment" are just parts of the equation for the more important heuristic of happiness.<p>A lot of the activities on that list are like this. Reading the news has a non-zero impact (hey, I'm on HN, and it definitely helps me keep up to date), and it's "easy" in that it fits into my heuristic for happiness. Same with using a metal straw, and same with picking between credit cards.<p>In a sense, these activities are "free" in terms of their perceived difficulty, but have a positive, if small, impact. If they're "free", why not do them?</p>
]]></description><pubDate>Sun, 07 Dec 2025 18:58:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46184090</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46184090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46184090</guid></item><item><title><![CDATA[New comment by danilafe in "Ghostty is now non-profit"]]></title><description><![CDATA[
<p>I keep seeing Ghostty in the news, and I've tried it, but it feels like just another terminal emulator to men. This coming from someone who spends 90% of the workday in the terminal.<p>Asking in good faith -- could someone tell me what's special about Ghostty compared to alternatives?</p>
]]></description><pubDate>Thu, 04 Dec 2025 05:48:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46144208</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46144208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46144208</guid></item><item><title><![CDATA[New comment by danilafe in "Zig quits GitHub, says Microsoft's AI obsession has ruined the service"]]></title><description><![CDATA[
<p>Their most most recent update replaces all this with a list of recently updated PRs and issues. I've been learning on it heavily since it came out. One of the few recent changes that really feels like a clear improvement.</p>
]]></description><pubDate>Wed, 03 Dec 2025 09:09:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46132140</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46132140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46132140</guid></item><item><title><![CDATA[New comment by danilafe in "Learning music with Strudel"]]></title><description><![CDATA[
<p>As a sibling comment said, it's a C major chord, but voiced one noted at a time. "usually" / in pop, you hear all the notes at once.</p>
]]></description><pubDate>Wed, 03 Dec 2025 05:54:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46130728</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46130728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46130728</guid></item><item><title><![CDATA[New comment by danilafe in "Hacking on the ReMarkable 2"]]></title><description><![CDATA[
<p>I've had a reMarkable 2 since 2020 or so. To be honest, the only area of the device I have ever wanted to be hackable was the sync API. I am completely satisfied with the gestures, e-reader and pretty much everything else. But what I'd love to be able to do is to access my files, stored in the cloud, automatically. My use case in particular would be something that passively converts my scribbled annotations into other things.<p>The API hacking scene is very much dead. Most API implementations have been unmaintained for years now and no longer work. It's a real shame.</p>
]]></description><pubDate>Mon, 01 Dec 2025 05:01:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46103661</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=46103661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46103661</guid></item><item><title><![CDATA[New comment by danilafe in "How to Average in Prolog (2017)"]]></title><description><![CDATA[
<p>This is a strange article to me. I've not seen any class that teaches Prolog place these constraints (use recursion / don't add new predicates) or even accidentally have the outcome of "making prolog look tedious". What's the joke here?<p>That aside, I wonder if getting the reverse solution (sum(?, 10)) is better served by the straightforward or the tedious approach. I suspect both would work just the same, but I'd be curious if anyone knows otherwise.</p>
]]></description><pubDate>Wed, 07 May 2025 20:34:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43920295</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=43920295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43920295</guid></item><item><title><![CDATA[New comment by danilafe in "Microfeatures I love in blogs and personal websites"]]></title><description><![CDATA[
<p>Woah, it's amazing to hear from you in person.<p>> Gwern.net has it! It's just that because we use both margins already, there is usually not enough horizontal space.<p>Upon closer inspection, I do. I should say that I have missed it up until now, though. Some sort of selective blindness, probably.<p>> Chrome has a 'link to text fragment' feature for this which got standardized and which Firefox is supposed to support at some point. So not so necessary as it used to be. (The unique IDs are often not so unique anyway or unstable.)<p>Thank you for reminding me of this; I stumbled across it some time ago and was quite surprised. I myself use Firefox, so until it adds support for this feature, I don't think I'll be leaning on it myself (and thus will try to provide anchors).<p>I would say that another microfeature I love is having stable and unique element IDs :-)<p>> Links.js hasn't been used in years on Gwern.net.<p>Thank you, I was failed by GitHub search. I will update the post. I struggled to find the Lorem link when looking for it; I would've expected to at least find something on /about, but did not. I understand that it's a test page, but it does currently have the only description of what the icons mean, and as a reader I definitely could've used a description.</p>
]]></description><pubDate>Fri, 28 Jun 2024 03:40:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=40817472</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=40817472</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40817472</guid></item><item><title><![CDATA[New comment by danilafe in "Microfeatures I love in blogs and personal websites"]]></title><description><![CDATA[
<p>Thank you for your thoughtful comment!<p>> But again, the page doesn't make use of the feature it is extolling the virtues of!<p>I said I loved the feature, not that I had the energy to implement it -- though I definitely should. :-)<p>> Yes, though I might argue that such links, or a link to a ToC page for the group, belong in a more general list of related links.<p>This is a good idea, and in my ideal world my site (and others) would support this, but it's more difficult to do automatically. Stitching together a series TOC and connecting sequences of articles is easier to automate.<p>> I'd stay away from an icon per target site/type though - that could quickly get confusing as you essentially have many icons for the same thing (an external link), and every site will use its own preferred set of icons, so the difference won't help generally identify things at a glance.<p>Yes, I'm not sure that I'd advocate for this in general. Another issue is that I personally get a little confused by some of the icons (what does "SAMA" stand for, if you don't know about OpenAI / Sam Altman already?).<p>> I'd like all articles to carry an obvious date of publishing and/or last update<p>Definitely, though as others in the comments have suggested, it may be that Google downranks pages like this. Not that I care much for my search ranking.</p>
]]></description><pubDate>Tue, 25 Jun 2024 01:30:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=40783307</link><dc:creator>danilafe</dc:creator><comments>https://news.ycombinator.com/item?id=40783307</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40783307</guid></item></channel></rss>