<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: aleyan</title><link>https://news.ycombinator.com/user?id=aleyan</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 22 May 2026 21:58:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=aleyan" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by aleyan in "Uv is fantastic, but its package management UX is a mess"]]></title><description><![CDATA[
<p>Agree with you on outdated and upper bounds. However, if users are complaining about the interface being difficult, there is probably something there.<p>Yes, it makes sense that `uv lock` commands only work the lock file, but users have real needs to upgrade direct and transitive dependencies. For transitive dependencies `uv lock --upgrade-package` works, even if a bit wordy. For direct dependencies, `uv lock --upgrade-package` also works, but doesn't touch `pyproject.toml`, which is much more developer visible. As `uv.lock` package versions get ahead of `pyproject.toml`, `pyproject.toml` becomes a less dependable guide to the surface area of dependencies. A friendly `uv upgrade` command would be nice.<p>The biggest uv ux footgun I have seen by far is `uv pip`. I have seen a lot of projects use uv correctly with pyproject.toml/uv.lock for development, but then use `uv pip install -r pyproject.toml`, which bypasses uv.lock, in their deployment Dockerfiles and ci tooling. Yes, coding agents are to blame for recommending bad `uv pip` patterns because they have so much `pip` in their training sets, but uv should provide some affordances to protect the user.<p>Sorry for the rant, uv is a great tool, that I think[0] should be used more! Thank you for your contributions to the ecosystem.<p>[0] <a href="https://aleyan.com/blog/2026-why-arent-we-uv-yet" rel="nofollow">https://aleyan.com/blog/2026-why-arent-we-uv-yet</a></p>
]]></description><pubDate>Fri, 22 May 2026 02:58:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48231454</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=48231454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48231454</guid></item><item><title><![CDATA[New comment by aleyan in "Uncle Bob: It's Over"]]></title><description><![CDATA[
<p>Over on reddit and over here as well people seems to be reacting to the title of the video or the first 5 seconds or just the author. On the original x[1] post however, the top replies are about the subject matter, which is about having agents write tests and refactor code.<p>And speaking of agents writing tests, I have an ask. The tests agents love to write are in a lot of ways like human written tests, perfunctory and smelly. They are there to check coverage or prompt checkbox, but they barely stress the system under test. I often find that the tests are faking and mocking so many inputs, methods, and side effects, that they aren't testing anything at all. Asking the agent to write the tests first so that they the underlying implementation is more testable has yielded no results.<p>What has worked for people to get agents to write more testable implementations and better tests?<p>PS. Reacting to Uncle Bob, I found metric driven agentic refactors just push complexity to outside the scope of the metric. I am finding I need to actively guide the agents for the refactors to actually improve things without increasing the entropy of the codebase.<p>[1] <a href="https://x.com/unclebobmartin/status/2046206145597972849" rel="nofollow">https://x.com/unclebobmartin/status/2046206145597972849</a></p>
]]></description><pubDate>Sun, 03 May 2026 18:29:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47999904</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=47999904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47999904</guid></item><item><title><![CDATA[New comment by aleyan in "Why Aren't We Uv Yet?"]]></title><description><![CDATA[
<p>OP/Author here.<p>1) 2008: pip, 2012: Conda, 2018: Poetry, 2021: PDM, 2023: Rye, 2024: uv. A new package manager every few years rather than every few months would be more apt. But, yes I agree we shouldn't tool churn for newness sake.<p>2) Have you tried uv? The speed is nice, but is not what makes it shine.<p>3) uv not being written in python is a defining positive feature for it. It eliminates the bootstrap problem of having to get a system python with the right setup before you can run your python manager, virtualenv manager, and finally package manager. I haven't had to debug anyones virtualenv or python version issues in a year.</p>
]]></description><pubDate>Fri, 10 Apr 2026 13:27:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47717826</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=47717826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47717826</guid></item><item><title><![CDATA[Why Aren't We Uv Yet?]]></title><description><![CDATA[
<p>Article URL: <a href="https://aleyan.com/blog/2026-why-arent-we-uv-yet/">https://aleyan.com/blog/2026-why-arent-we-uv-yet/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47716778">https://news.ycombinator.com/item?id=47716778</a></p>
<p>Points: 1</p>
<p># Comments: 2</p>
]]></description><pubDate>Fri, 10 Apr 2026 12:00:44 +0000</pubDate><link>https://aleyan.com/blog/2026-why-arent-we-uv-yet/</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=47716778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47716778</guid></item><item><title><![CDATA[New comment by aleyan in "U+237C ⍼ Is Azimuth"]]></title><description><![CDATA[
<p>Yes, the angle above the horizon is usually what is most useful because it is used to find something small but visible. In the case of my ascii moon, the angle below the horizon, is there to explain why something is not visible. The Moon is large enough that people can easily find it on their own if it is not obstructed by the Earth itself.<p>Consider the Moon as viewed from NYC at time of comment [0], it is hiding below the horizon. If you were to look at my website and then at the sky you might become upset that I am reporting the shape of the moon, but obviously it can't be seen. Hence why the website reports the angle below the horizon roughly half the time it isn't visible.<p>Adding Azimuth and Elevation when the Moon is above the horizon would be for completionism only and not the real enterprise use-cases served by ANSI compliant renderings of the Moon.<p>[0] <a href="https://aleyan.com/projects/ascii-side-of-the-moon/?lat=40.71&lon=-74.00&date=2026-03-11T04%3A19Z" rel="nofollow">https://aleyan.com/projects/ascii-side-of-the-moon/?lat=40.7...</a></p>
]]></description><pubDate>Wed, 11 Mar 2026 04:32:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47331760</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=47331760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47331760</guid></item><item><title><![CDATA[New comment by aleyan in "U+237C ⍼ Is Azimuth"]]></title><description><![CDATA[
<p>This is a fantastic discovery! Displaying azimuth in my ascii-side-of-the-moon [0] sounds useful, but then I would need to explain the symbol. I am displaying altitude/elevation below horizon, but there doesn't appear to be standard symbol for it. I checked the tables linked from article and there doesn't seem to be a symbol for it.<p>Maybe this is the opportunity to invent and suggest a symbol for Altitude?<p>[0] <a href="https://aleyan.com/projects/ascii-side-of-the-moon" rel="nofollow">https://aleyan.com/projects/ascii-side-of-the-moon</a></p>
]]></description><pubDate>Tue, 10 Mar 2026 23:54:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47330267</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=47330267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47330267</guid></item><item><title><![CDATA[Lists]]></title><description><![CDATA[
<p>Article URL: <a href="https://news.ycombinator.com/lists">https://news.ycombinator.com/lists</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47308335">https://news.ycombinator.com/item?id=47308335</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 09 Mar 2026 12:46:08 +0000</pubDate><link>https://news.ycombinator.com/lists</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=47308335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47308335</guid></item><item><title><![CDATA[Hard-braking events as indicators of road segment crash risk]]></title><description><![CDATA[
<p>Article URL: <a href="https://research.google/blog/hard-braking-events-as-indicators-of-road-segment-crash-risk/">https://research.google/blog/hard-braking-events-as-indicators-of-road-segment-crash-risk/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46947777">https://news.ycombinator.com/item?id=46947777</a></p>
<p>Points: 370</p>
<p># Comments: 563</p>
]]></description><pubDate>Mon, 09 Feb 2026 17:09:37 +0000</pubDate><link>https://research.google/blog/hard-braking-events-as-indicators-of-road-segment-crash-risk/</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=46947777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46947777</guid></item><item><title><![CDATA[New comment by aleyan in "ASCII characters are not pixels: a deep dive into ASCII rendering"]]></title><description><![CDATA[
<p>Great work! While I was building ascii-side-of-the-moon [0][1] I briefly considered writing my own ascii renderer to capture differences in shade and shape of the Lunar Maria[2] better. Ended up just using chafa [3] with the hope of coming back to ascii rendering after everything is working end to end.<p>Are you planning to release this as a library or a tool, or should we just take the relevant MIT licensed code from your website [4]?<p>[0] <a href="https://aleyan.com/projects/ascii-side-of-the-moon" rel="nofollow">https://aleyan.com/projects/ascii-side-of-the-moon</a><p>[1] <a href="https://news.ycombinator.com/item?id=46421045">https://news.ycombinator.com/item?id=46421045</a><p>[2] <a href="https://en.wikipedia.org/wiki/Lunar_mare" rel="nofollow">https://en.wikipedia.org/wiki/Lunar_mare</a><p>[3] <a href="https://github.com/hpjansson/chafa" rel="nofollow">https://github.com/hpjansson/chafa</a><p>[4] <a href="https://github.com/alexharri/website/tree/master/src" rel="nofollow">https://github.com/alexharri/website/tree/master/src</a></p>
]]></description><pubDate>Sat, 17 Jan 2026 20:26:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46661700</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=46661700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46661700</guid></item><item><title><![CDATA[Show HN: The ASCII Side of the Moon]]></title><description><![CDATA[
<p>Article URL: <a href="https://aleyan.com/projects/ascii-side-of-the-moon/?lat=32.72&lon=-117.16&date=2025-12-29T14%3A24Z">https://aleyan.com/projects/ascii-side-of-the-moon/?lat=32.72&lon=-117.16&date=2025-12-29T14%3A24Z</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46421045">https://news.ycombinator.com/item?id=46421045</a></p>
<p>Points: 23</p>
<p># Comments: 2</p>
]]></description><pubDate>Mon, 29 Dec 2025 14:24:08 +0000</pubDate><link>https://aleyan.com/projects/ascii-side-of-the-moon/?lat=32.72&amp;lon=-117.16&amp;date=2025-12-29T14%3A24Z</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=46421045</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46421045</guid></item><item><title><![CDATA[New comment by aleyan in "Z-Image: Powerful and highly efficient image generation model with 6B parameters"]]></title><description><![CDATA[
<p>I have a 24GB M5 macbook pro. In ComfyUI using default z-image workflow, generating a single image just took me 399 seconds, during which the computer froze and my airpods lost audio.<p>On replicate.com a single image takes 1.5s at a price of 1000 images per $1. Would be interesting to see how quick it is on ComfyUI Cloud.<p>Overall, running generative models locally on Macs seems very poor time investment.</p>
]]></description><pubDate>Sat, 06 Dec 2025 22:07:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46176998</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=46176998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46176998</guid></item><item><title><![CDATA[New comment by aleyan in "Mise: Monorepo Tasks"]]></title><description><![CDATA[
<p>If you want to get a single entry point into your repo's task, also consider my tool: dela[0]. It scans a variety of task file definitions like pyproject.toml, package.json, makefile, etc and makes them available on the cli via the bare name of the task. It has been very convenient for me so far on diverse repos, and the best part is that I didn't have to convince anyone else working on the repos to adjust the repos structure.<p>Dela doesn't currently support mise as a source of tasks, but I will happily implement it if there is demand. Currently [1] I saw mise use on 94 out of 100,000 most starred github repos.<p>Thank you for allowing this moment of self promotion.<p>[0] <a href="https://github.com/aleyan/dela" rel="nofollow">https://github.com/aleyan/dela</a><p>[1] <a href="https://aleyan.com/blog/2025-task-runners-census/#most-used-task-runners" rel="nofollow">https://aleyan.com/blog/2025-task-runners-census/#most-used-...</a></p>
]]></description><pubDate>Mon, 06 Oct 2025 19:23:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=45495236</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45495236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45495236</guid></item><item><title><![CDATA[New comment by aleyan in "Ghost kitchens are dying"]]></title><description><![CDATA[
<p>> The Khrushchev flats had communal kitchens<p>Khrushchyovkas did not have communal kitchens; I grew up in one [0]. Perhaps you are thinking about kommunalkas [1]?<p>[0] <a href="https://news.ycombinator.com/item?id=7935844">https://news.ycombinator.com/item?id=7935844</a><p>[1] <a href="https://en.wikipedia.org/wiki/Communal_apartment" rel="nofollow">https://en.wikipedia.org/wiki/Communal_apartment</a></p>
]]></description><pubDate>Tue, 16 Sep 2025 02:59:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45257568</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45257568</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45257568</guid></item><item><title><![CDATA[New comment by aleyan in "How to self-host a web font from Google Fonts"]]></title><description><![CDATA[
<p>Thanks for fixing. Out of curiosity, what made you think your blog needs a warrant canary?</p>
]]></description><pubDate>Mon, 15 Sep 2025 22:06:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45255552</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45255552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45255552</guid></item><item><title><![CDATA[New comment by aleyan in "How to self-host a web font from Google Fonts"]]></title><description><![CDATA[
<p>The view warrant canaries[0] link on the bottom of the page goes to a cloudflare 502 page. Bitrot is indistinguishable from subpoena, but neither is a good indicator.<p>[0] <a href="https://files.velocifyer.com/Warant%20canaries/" rel="nofollow">https://files.velocifyer.com/Warant%20canaries/</a></p>
]]></description><pubDate>Mon, 15 Sep 2025 16:15:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45251481</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45251481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45251481</guid></item><item><title><![CDATA[Gall's Law]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/John_Gall_(author)">https://en.wikipedia.org/wiki/John_Gall_(author)</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45251047">https://news.ycombinator.com/item?id=45251047</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 15 Sep 2025 15:41:28 +0000</pubDate><link>https://en.wikipedia.org/wiki/John_Gall_(author)</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45251047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45251047</guid></item><item><title><![CDATA[New comment by aleyan in "Nicu's test website made with SVG (2007)"]]></title><description><![CDATA[
<p>Oh man, this is a deep mine to dig. I haven't even thought about svg size optimization. The default blog template I used really wants me to use hero images, and the jpgs are already hefty. I just looked at my network panel, and it seems the font files are loaded once per svg on initial load and then are cached.<p>What is the motivation for viewbox coordinates being at (0,0)? I have been thinking about setting chart gutters so that the graph is left aligned with the text, but this seems like an orthogonal issue.</p>
]]></description><pubDate>Sun, 14 Sep 2025 17:47:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45241745</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45241745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45241745</guid></item><item><title><![CDATA[New comment by aleyan in "Nicu's test website made with SVG (2007)"]]></title><description><![CDATA[
<p>I have been using SVGs for charts on my blog for a couple of months[0] now. Using SVGs satisfied me, but in all honesty, I don't think anyone else cares. For completeness the benefits are below:<p>* The charts are never blurry<p>* The text in the chart is selectable and searchable<p>* The file size could be small compared to PNGs<p>* The charts can use a font set by a stylesheet<p>* The charts can have a builtin dark mode (not demonstrated on my blog)<p>Additionally as the OP shown, the text in SVG is indexed by google, but comes up in the image sections [1].<p>The downside was hours of fiddling with system fonts and webfonts and font settings in matplotlib. Also the sizing of the text in the chart and how it is displayed in your page is tightly coupled and requires some forethought.<p>[0] <a href="https://aleyan.com/blog/2025-llm-assistant-census" rel="nofollow">https://aleyan.com/blog/2025-llm-assistant-census</a><p>[1] <a href="https://www.google.com/search?q=%22slabiciunea+lui+Nicu+forever%22" rel="nofollow">https://www.google.com/search?q=%22slabiciunea+lui+Nicu+fore...</a></p>
]]></description><pubDate>Sun, 14 Sep 2025 16:22:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45241062</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45241062</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45241062</guid></item><item><title><![CDATA[New comment by aleyan in "Behind the scenes of Bun Install"]]></title><description><![CDATA[
<p>I have been excited about bun for about a year, and I thought that 2025 is going to be its breakout year. It is really surprising to me that it is not more popular. I scanned top 100k repos on GitHub, and for new repos in 2025, npm is 35 times more popular and pnpm is 11 time more popular than bun [0][1]. The other up and coming javascript runtime, deno is not so popular either.<p>I wonder why that is? Is it because it is a runtime, and getting compatibility there is harder than just for a straight package manager?<p>Can someone who tried bun and didn't adopt it personally or at work chime in and say why?<p>[0] <a href="https://aleyan.com/blog/2025-task-runners-census/#javascript-ecosystem---pnpm-rising" rel="nofollow">https://aleyan.com/blog/2025-task-runners-census/#javascript...</a><p>[1] <a href="https://news.ycombinator.com/item?id=44559375">https://news.ycombinator.com/item?id=44559375</a></p>
]]></description><pubDate>Thu, 11 Sep 2025 13:47:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45211622</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45211622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45211622</guid></item><item><title><![CDATA[New comment by aleyan in "Anscombe's Quartet"]]></title><description><![CDATA[
<p>That's an amazing addition! Once I read about Simpson's paradox[0], couldn't help but seeing it or suspecting it everywhere. Luckily, it is not a true paradox, and it can resolved if underlying data is available and not just summary statistics.<p>I recommend putting together the Quintet in one image, so that the original 4 charts, plus the new one are all visible and interpretable together. It will be learning aid for decades to come.<p>[0] <a href="https://en.wikipedia.org/wiki/Simpson's_paradox" rel="nofollow">https://en.wikipedia.org/wiki/Simpson's_paradox</a></p>
]]></description><pubDate>Tue, 09 Sep 2025 15:48:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45183688</link><dc:creator>aleyan</dc:creator><comments>https://news.ycombinator.com/item?id=45183688</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45183688</guid></item></channel></rss>