HNHacker News
TopNewBestAskShowJobs

Tallain

295 karma · joined October 31, 2016

submissionscomments
Tallain··on ChatGPT Images 2.5
Sounds like you fundamentally misunderstand the thing people have against using AI for these pursuits. If your imagination or capability needed LLMs in order to unlock their full potential (as in, if you waited until AI removed the barriers between a beginner and their future craft), maybe your potential wasn't that great to begin with. And all you're doing is producing things closer to the median, instead of somewhere toward one end of a bell curve.
Tallain··on GUIs should be fully keyboard-driven
I don't know if this is aimed at me or not. I don't use this workflow; in fact I'm pretty bog-standard in many of the ways I use my computers. In any case, I don't see how expecting to be able to bring up a context menu is in any way esoteric. We're in a thread about navigating GUIs using a keyboard. On many keyboards there's literally a key dedicated to opening a context menu, and on most OSs there's a pretty standard shortcut to do it as well, which is what GP was talking about and what sibling comments discuss being added more recently in MacOS. So, again, not very esoteric.

I also don't see how trying to emphasize empathy toward users translates to hubris. But sounds like you've got a bone to pick, so keep picking I guess.

Tallain··on GUIs should be fully keyboard-driven
In this case it's not a context menu, it's just a menu. User experience is degraded, see GP's case. There is an expectation and a common paradigm which is intentionally ignored because the OS developers thought they knew better than the users.

This reminds me of frequent conversations with other developers when presented with a bug report. "That's not a bug, it's working as intended." The intention is wrong, then -- the bug is in the design, not the code, but it's still a bug.

Tallain··on Get your Windows license refund
A few years back I threw Mint plus this theme on my old Thinkpad T430s. My intent was to use it for one thing and one thing only: writing. The theme helped me trick myself into thinking the machine was unusable for anything else.
Tallain··on Get your Windows license refund
This just in: multiple factors can contribute to the same result. Shocking!
Tallain··on Get your Windows license refund
I switched to Mint and never looked back. It's one of the easiest transitions IMO, and if you really miss Windows, you can bring the aesthetic with you: https://cinnamon-spices.linuxmint.com/themes/view/Chicago95
Tallain··on Hollywood's Video Game Era Is Here. Will It Be Any Good?
It sounds like you haven't touched (or heard of?) any of the recent DOOM games.
Tallain··on Where did all the public bathrooms go?
I've driven from Mukdahan to Kanchanaburi to Trang provinces so my experience is not centered around the major cities at all. I don't know what poor luck or exotic adventures you may have had, but I never once struggled to find a bathroom.
Tallain··on Where did all the public bathrooms go?
For the most part, yes, but I've gone much longer stretches without seeing a gas station in the US. To be fair, there's also no point in building gas stations at regular intervals in the desert or the many other long stretches of nothing across much of the country.
Tallain··on Where did all the public bathrooms go?
In every part of Thailand I've been to outside BKK, there's a gas station almost every few kilometers on every major road. Almost every gas station has a public restroom that's open 24/7, unattended. The ones that don't have a public restroom are typically right next to a string of restaurants that have a restroom you can use during the day for free if you ask.
Tallain··on Windows brings out the Rorschach test in everyone (2003)
I mean, Raymond Chen has been writing The Old New Thing consistently for over 20 years. Nearly every single entry is interesting, informative, and illuminating, aimed at every facet of software engineering, old and new, over the decades. He may be part of the final bastion of quality and care for detail at MS, dwindling and faint as it is.

Windows doesn't need or deserve defending. It's atrocious. But this is a silly comment.

Tallain··on OpenLogi
It's not that hard if you put in the effort and practice.

But if you don't want to and still want to use an LLM, there are low-bar choices you can make (using a technical writing skill, using ASD-STE100 Simplified Technical English, choosing your audience, proofreading at the end with human eyes to make sure it makes sense and doesn't repeat itself uselessly).

I think it shows either a) low respect or consideration for your audience or yourself, or b) laziness.

Trust yourself to write even if it's bad. At least it's human.

Tallain··on Delphi 13 Community Edition Is Now Available
Yeah, a lot of non-visual components still require (or want) you to drag-and-drop them in the builder and edit many or most properties there. It's a weird thing to adjust to, and it often leads to a very cluttered view if you have a lot of them. Conversely, a cluttered view with a ton of non-visual components can be a very easy-to-spot signal that you might be trying to do too much in one screen.
Tallain··on Delphi 13 Community Edition Is Now Available
The RAD environment makes it insanely quick and easy to throw together a reasonably functional desktop app. Think WinForms on steroids. For all its age and the many cracks and seams, it's still very fast, easy for beginners and pros alike, and the final executable is a single tiny file (usually)
Tallain··on “Code was never the hard part” is an insult to all programmers
In my experience, the parent's view and your view are an example of the divide between the Silicon Valley / startup mindset -- it doesn't need to last, it just needs to get us a paycheck so we can go on to the next paycheck -- and actual software engineering where people build resilient systems meant for humans to use for a long time.

There's a conflation too that to approach things with this level of thought and care requires waterfall design (it doesn't), so people shrug it off or resist because if you want to think carefully and design thoughtfully you can't also Move Fast and Break Things.

Ironically, we all complain about enshittification.

Tallain··on It's a shame what's happened to radio
Radio Paradise (https://radioparadise.com) has been my go-to for years. Discovered a lot of great new music through here.
Tallain··on LG monitors silently install software through Windows Update without consent
You don't need it. The mouse functions perfectly fine without it. And you can even switch DPI when the mouse has a button to do that.

The software allows for fine-tuned settings, button remapping, etc. It is awful software, to be sure, but it's not necessary to use the mouse.

Tallain··on 56,000 lines of DOOM, in a language I made up
Thanks! I hate it!

In awe at whatever inspired this though

Tallain··on The lost joy of music piracy
The death of what.cd was also the end of an era for me. I know "replacements" have popped up but the real value of what wasn't in the piracy, it was in the community. It was the best on the internet and nothing has taken its place since.
Tallain··on Ask HN: What Are You Working On? (July 2026)
It's published but I would doxx myself by posting the link here -- I can email you if you'd like.

Also, full disclosure, because this was written entirely for myself, the code behind it is 100% LLM generated. I set the specs and direction but didn't touch code at all, just let agents churn while I did my day job and tested the results later.

For the recommendations:

- Seed selection is performed by building a mix of seed artists from recent listening, lifetime favorites, old obsessions, and underexplored artists.

- Seed weight combines `log(1 + play count)`, track diversity, number of listening months, and a recency decay

- Candidates are generated at the union of artists reached by "similar artist" edges through Last.fm and MusicBrainz-enriched local data (APIs are used to enrich DB initially, then after that it's all offline)

- Discovery excludes known artists, hidden and recently-reviewed artists

- Discovery requires edges with at least two distinct seeds, or one strong seed edge

- Discovery is scored by similarity (Last.fm + tag), feedback, and rediscovery thresholds. Then score is subtracted for excessive knownness within a genre, obviousness, recommendation fatigue, and shallow prior listening. The thresholds are by default but configurable:

    ```
    0.35 × calibrated Last.fm similarity
    + 0.25 × calibrated tag similarity
    + 0.10 × rediscovery
    + 0.10 × feedback
    ```
- Serendipity is additional score provided when a candidate connects several seeds that are themselves weakly connected, or are in separate connected components. This is a weak implementation of the Auralist serendipity algorithm, and will be improved on.

- Finally, diversity reranking; a greey MMR-style reranker.

    ```
    rerank score = λ × candidate score
                 − (1 − λ) × similarity to already selected results
    ```
Tallain··on Ask HN: What Are You Working On? (July 2026)
Two things right now:

1. A music recommendation tool based on Last.fm scrobble history.

It's graph-based, no ML or "fancy" techniques, but I've had good results with it so far. It builds recommendations based on a listening window or just recent history. It combines several different recommendation algorithms (including an Auralist-inspired "serendipity" score for novel recommendations, meant to simulate the serendipity of being recommended something novel by a friend), scores and ranks candidates, and takes in feedback that inform subsequent recommendations.

Fun project. Found some good new music with it already. :)

2. A code exploration / indexing tool with CLI and MCP interfaces for exploring concepts and impacts of changes in a codebase.

Essentially, an overwrought "find all uses" that doesn't depend on exact symbol or string matching.

I have a codebase of non-trivial size, but thankfully it's fairly well-structured. This tool indexes the code and bundles modules into "concepts" -- these can be auto-discovered or preconfigured. Dependencies, inheritance trees, symbols and symbol usage are all also indexed.

Then you can ask, "what's the impact of extending the domain model of XYZ" or "I want to remove this property" and it shows where to start, where to look next, and fuzzy edges or dependencies that might need deeper exploration. It surfaces non-obvious connections, too, or things a junior dev (or LLM) might miss, like when a model is mapped to an API DTO, or intermediary states, etc.

It's been useful for a new dev exploring the codebase, because you can ask in terms of business concepts instead of needing to know the exact symbol name in the code. And it's been much more token efficient than grep for exploration subagents. But it's limited to dotnet only.

Tallain··on I Hate (Most) Keyboard 'Fn' Keys
Another recommendation is LinearMouse. It lets you fix pretty much every problem that MacOS inflicts on mouse users: pointer acceleration, scroll behavior, click/button behavior. This and Karabiner make the OS much more usable for me.
Tallain··on Last.fm is now independent
Very interested to know how you built this; I'd like to see similar data for my own dump even though I quit Spotify some time ago.
Tallain··on He Lost It at the Movies
There's also Reverse Shot: https://reverseshot.org/

The Dissolve alumni are all (mostly) writing at various publications: https://thedissolve.com/

While David Bordwell sadly passed, his blog is still a great resource (books, too!) and actively updated: https://www.davidbordwell.net/blog/

Tallain··on Six Levels of Dark Mode (2024)
Maybe silly is the wrong word. But sometimes I think I would make things easier on myself if I allowed some shade variants. It's good for me to keep the constraint though.

I've been spending some time creating a Visual Studio theme using this palette and the way that IDE uses colors is... less than great. Trying to find the right token to change is an exercise in madness, and many things that are visually the same in importance/hierarchy use very slightly different shades for some unknown reason.

Tallain··on Six Levels of Dark Mode (2024)
I do wish there was more conversation around the levels of blackness for dark modes. Black screen and white text is physically painful for me. I usually have to resort to reader mode, or open up dev tools and change colors myself, to make a page like this readable for me.

I appreciate how hard it can be to make a good dark mode; I've spent months building a custom dark theme I term "mid-contrast". It's still WCAG compliant, but easy on my eyes, and I've stuck with the (maybe silly?) requirement of 16 colors only, like Solarized.

Tallain··on Isaac Asimov: The Last Question (1956)
This continues to be the most tiring response to any criticism of LLM output. It's pretty much guaranteed to show up at this point. I guess with similar enough input tokens, we're guaranteed the same output...
Tallain··on We gave an AI a 3 year retail lease and asked it to make a profit
Since when is a simulation equal to real world performance?
Tallain··on Reports of code's death are greatly exaggerated
In my experience, Codex / ChatGPT are better at telling you where you're wrong, where your assumptions are incomplete, etc., and better at following the system prompts.

But more importantly, as a coding agent, it follows instructions much better. I've frequently had Claude go off and do things I've explicitly told it not to do, or write too much code that did wrong things, and it's more work to corral it than I want to spend.

Codex will follow instructions better. Currently, it writes code that I find a few notches above Claude, though I'm working with C# and SQL so YMMV; Claude is terrible at coming up with decent schema. When your instructions do leave some leeway, I find the "judgment" of Codex to be better than Claude. And one little thing I like a lot is that it can look at adjacent code in your project so it can try to write idiomatically for your project/team. I haven't seen Claude exhibit this behavior and it writes very middle-of-the-road in terms of style and behavior.

But when I use them I use them in a very targeted fashion. If I ask them to find and fix a bug, it's going to have as much or more detail as a full bug report in my own ticketing system. If it's new code, it comes with a very detailed and long spec for what is needed, what is explicitly not needed, the scope, the constraints, what output is expected, etc., like it's a wiki page or epic for another real developer to work from. I don't do vague prompts or "agentic" workflow stuff.

Tallain··on So you want to write an “app” (2025)
Delphi has an amazing RAD environment. For building small, self-contained desktop apps (with cross-platform support!) it beats any other modern offering... if you can get past the ecosystem. The language and ecosystem very much show their age.

Anyway, I think this generation is missing out on the experience of building in a real RAD environment. I'm more on the backend, but from what I see the pinnacle is fast hot reload, which pales in comparison to what could be.

Page 1 of 5Next →