HNHacker News
TopNewBestAskShowJobs

bccdee

3,448 karma · joined May 23, 2020

Canadian software engineer.
submissionscomments
bccdee··on Textadept
Sounds like you're looking for the scratch file extension [1]

[1]: https://github.com/orbitalquark/textadept-scratch

bccdee··on Use the Mikado Method to do safe changes in a complex codebase
I'm reminded of a talk I enjoyed about "extreme rewriting" [1] — how rewriting the same code many times (in certain contexts) can help uncover powerful underlying abstractions.

It makes intuitive sense to me that this would be true in complex domains (e.g. legacy code) where you really need to find the right solution, even if it takes a bit longer. Our first ideas are rarely our best ideas, and it's easy to get too attached to your first solution and try to tweak it into shape when it would be better just to start fresh.

[1]: https://www.hytradboi.com/2025/03580e19-4646-4fba-91c3-17eab...

bccdee··on Obsidian Sync now has a headless client
Syncthing has worked flawlessly for me.
bccdee··on History of the Graphical User Interface: The Rise (and Fall?) Of WIMP Design
Slop. The illustrations are bad, the article is way too long, and none of it has a clear point.
bccdee··on Bus stop balancing is fast, cheap, and effective
So elderly that they can't walk to the bus? I suspect your data mean retirement age, i.e. 60-65+. They don't all need paratransit.
bccdee··on Bus stop balancing is fast, cheap, and effective
You're being downvoted because you misunderstood the post you're replying to. They aren't referring to profit margins, but marginal utility—i.e. incremental improvements to stop spacing (purportedly) would not be enough to fix a fundamentally broken system.
bccdee··on Bus stop balancing is fast, cheap, and effective
> as primary means of transportation and arguably more importantly as a backup means of transportation

One bus route can't wear two hats. Faster, sparser routes are typically complemented by slow, meandering collector routes which provide the kind of backstop you describe. Moreover, elderly and disabled people can use paratransit [1], which exists precisely to serve people with mobility issues too severe for regular transit.

Anyway, I reject the notion of buses as a second-tier transit option reserved for poor and disabled people. The only way poor people ever get decent service is when they use the same infrastructure that affluent people do. A bus system that doesn't serve the middle class is a system that will quickly lose its funding and become inadequate for anyone to use.

[1]: https://en.wikipedia.org/wiki/Paratransit

bccdee··on Bus stop balancing is fast, cheap, and effective
You've got a point, but the article's thesis is still correct.

The article points to case studies where reducing stops increased ridership: clearly this does make a difference

But I agree that truly good bus service requires commitment and budget. A city that only improves its transit in fast, cheap ways is doomed to bad transit.

bccdee··on A simple web we own
Capitalism is not the only way of life (and fwiw, I'm not a fan)—but it is the primary way of life for nearly the entire world. Sweden, Norway, Brazil, France, Egypt, Iraq, and India are capitalist. Even China is effectively capitalist, although they like to call themselves "socialist with Chinese characteristics."
bccdee··on Keybee: A Keyboard Designed for Smartphones
Just enabled—I've been idly wondering if there were any good alternative mobile keyboard layouts for ages, and this one checks all my boxes. Thanks!
bccdee··on Keep Android Open
No, Google does not have the right. If you're building roads, you don't have a right to build them unsafely. Doesn't matter if they're privatized or not; they're important infrastructure for which we don't have meaningful alternatives.
bccdee··on Be wary of Bluesky
Yeah they're describing a real problem, but the cause of that problem—a seamless centralized sign-up funded by VC money—is the reason bluesky took off to begin with.

Bsky offers an on-ramp to a more decentralized experience, but most people won't pay the money and experience the friction to move take that ramp. Platforms like Mastodon are entirely decentralized, but that means the friction of decentralizing happens immediately upon sign-up. The people who don't want to self-host PDSes never signed up for Mastodon to begin with.

I try to be skeptical, but I feel like bsky (or something like it) is the best way can do re: bringing decentralization to the masses.

bccdee··on The only moat left is money?
> Walmart + Amazon combined are only ~16% of the retail business.

of ALL RETAIL? That includes groceries! That's huge! Anyway, Amazon is >40% of e-commerce & Walmart is >10%. Together they control more than half of all online commerce. That's definitely monopolistic.

> It was not already a monopoly. […] shortly before your noted date of "regulation" those competitors held the majority market share

From Wikipedia: "AT&T controlled over 80% of the U.S. telephone system market by 1907 and Theodore Newton Vail rejoined the company as its President. Vail negotiated with competitors, charging them fees for connecting to AT&T's long-distance network. These practices led the Justice Department to attempt to breakup AT&T, but a settlement was reached through the Kingsbury Commitment on December 13, 1913. It brought federal oversight into AT&T and led its Bell System monopoly to become federally regulated."

They had an 80% market share pre-regulation. Yes, it was already a monopoly.

bccdee··on The only moat left is money?
> the whole idea of a "natural market process" here is absolute and utter hogwash

Might I introduce you to the concept of a "natural monopoly"? https://en.wikipedia.org/wiki/Natural_monopoly

Anyway, what regulation is responsible for Walmart and Amazon putting local retailers out of business?

> the government effectively quasi-nationalized AT&T

After a big merger put AT&T in charge of the majority of telephone lines in the US, the company used its control over infrastructure to drive its competitors out of business and increase its portfolio. The Justice Department tried to break up AT&T but failed; it was in the settlement of this case that AT&T was first federally regulated in 1913. Yes, AT&T's monopoly grew between 1913 and 1982, but your causality is backwards. They regulated it because it was already a monopoly.

bccdee··on The only moat left is money?
> Regulation is what enables monopolies

That's patently false. AT&T was a monopoly and they were broken up by antitrust regulation. The absolute most you can say is that some regulations enable monopoly. I contend that we simply should pass the good kind of regulations instead.

Monopoly is enabled by market forces such as economies of scale. Monopolization is a natural market process which happens on its own unless it is actively prevented.

> big pharma loves high regulatory barriers because it keeps competitors out

The FDA, for all the flaws of its current incarnation, is the archetype of necessary regulation. Pre-FDA, the free market did nothing whatsoever to prevent nauseating practices like the adulteration of milk with powdered plaster, lead, and cow brains. The history there is fun but quite gross.

> Somalia

What is notable about Somalia is not its lack of regulation, but the fact that it is perhaps THE least stable country on the planet. It is not the basis for any useful comparison here.

bccdee··on The only moat left is money?
Power is a zero-sum game. We all live in the same space, exist in the same media ecosystem, and have the same number of hours in the day. The media consumed by the public, the structure of our cities, the investments we make in science, the sources we use for energy, the laws we pass and the way they are interpreted, stewardship of our environment, and the degree to which our tax money is used to drop bombs on civilians are ALL zero-sum.

I am so sick of the pretense that GDP growth means inequality is somehow illusory. Yes, TVs used to be expensive and now they are cheap. Big whoop.

bccdee··on AI adoption and Solow's productivity paradox
There's a lot of rote work in software development that's well-suited to LLM automation, but I think a lot of us overestimate the actual usefulness of a chatbot to the average white-collar worker. What's the point of making Copilot compose an email when your prompt would be longer than the email itself? You can tell ChatGPT to make you a slide deck, but slide decks are already super simple to make. You can use an LLM as a search engine, but we already have search engines. People sometimes talk about using a chatbot to brainstorm, but that seems redundant when you could simply think, free from the burden of explaining yourself to a chatbot.

LLMs are impressive and flexible tools, but people expect them to be transformative, and they're only transformative in narrow ways. The places they shine are quite low-level: transcription, translation, image recognition, search, solving clearly specified problems using well-known APIs, etc. There's value in these, but I'm not seeing the sort of universal accelerant that some people are anticipating.

bccdee··on Vim-pencil: Rethinking Vim as a tool for writing
I'm definitely not saying established organizations should change their workflows to "just use git" or something—word processors already offer these features, and the workflow at the New Yorker is already tailored around the affordances of Word documents.

The underlying data model, though—passing around diffs and comments, tweaking sets of modifications before applying them—is the same. You could put together a decent editing workflow around git (although maybe the UI would need to be different from what we use for code). Version control is editing, is my point.

bccdee··on Vim-pencil: Rethinking Vim as a tool for writing
Well, no, no more than you would package each comma or dangling modifier into a separate change-tracked .docx. The underlying unit of revision here is a full change set, rather than an individual change.
bccdee··on Vim-pencil: Rethinking Vim as a tool for writing
My issue is that word processors mostly amount to bad typesetting tools. Your editor doesn't need configurable document margins or page numbers. Semantic styling should be visible but unobtrusive, e.g. markdown.

If I were a Mac user, I'd probably use iA Writer. Instead, I'm very happy with Sublime. I appreciate Scrivener's bells and whistles but I find I never need more than documents, folders, and headings (although I wouldn't say no to Obsidian-style wikilinks).

bccdee··on Vim-pencil: Rethinking Vim as a tool for writing
The workflow the original post is describing is basically a merge request.
bccdee··on Welcoming Discord users amidst the challenge of Age Verification
> So your solution to people using a decentralized, federated protocol to say things you don't like is to stop various servers interacting with each other?

Yeah. In practice, Fediverse servers have formed clusters based on shared values. And since the second-largest cluster is (iirc) a Japanese CSAM distribution network, everyone is very glad that this sort of de facto censorship is possible. Do you have a viable alternative?

bccdee··on I Wrote a Scheme in 2025
You say that, but I've run into real production problems which were ultimately caused by bad serialization tooling. Language semantics are never going to be your biggest problem, but rough edges add up and do ultimately contribute to larger issues.
bccdee··on I Wrote a Scheme in 2025
Yeah I strongly agree. I think the issue is that metaprogramming is complicated, so people (especially early in their careers) tend not to do it themselves, and only notice it when it's making their lives difficult. But there are a lot of cases where a little bit of judicious metaprogramming makes life MUCH easier. If you treat metaprogramming as a first-class tool, countless rough edges will smooth themselves out for you—everything from `#derive[Clone]` to `#derive[Serialize]`.
bccdee··on Discord will require a face scan or ID for full access next month
Do you think clang, linux, and kubernetes could ever exist and survive in their current forms without the work of salaried developers? Volunteer maintenance is not sustainable; the long hours of unpaid labour are famously prone to causing burnout.

Free software is free as in speech, not free as in beer. If you want to save your cash, go use discord. If you're not paying, you're the product.

bccdee··on Discord will require a face scan or ID for full access next month
Etymologically, a product is a thing which is produced. But it's unpleasant to think about how the sausage gets made, so nobody wants to consider the goods in their lives as products. They want their Nikes to simply pop into existence before them.

Tools like grep and vim dangle by a thread based on volunteer work, and open-source maintainers are famously prone to burnout. Some tools survive by being very small—nobody's out there updating `ls` every month—but the only sustainable way to maintain a large piece of software is with a salaried workforce.

You may not want to interact with the systems that produce Zulip for you, but you should be suspicious of goods that hide their status as products. There's no such thing as a free lunch.

bccdee··on “Nothing” is the secret to structuring your work
Yeah, one of the toughest but most rewarding lessons I've learned about writing is how valuable it can be to set aside your current draft and start from scratch.

It's very tempting to want to write an outline & then revise the outline until it's perfect, so that your first draft can be as solid as possible. That never works out well for me, though. It's only after I've written a substantial chunk of the thing that I realize half my ideas were bad and the other half are being poorly realized, and I start to understand the story I really want to write.

I'm very taken with this one HYTRADBOI talk [1] that applies a similar approach to software design. It's not something I've ever gotten a chance to apply, but it really appeals to me.

[1]: https://www.hytradboi.com/2025/03580e19-4646-4fba-91c3-17eab...

bccdee··on Components will kill pages
> [Given] a method for chat applications to understand components exposed from the website in question [...] AI chat applications win, and so does the brand that gets to keep ownership of how it tells the story of its product to its users.

Never happening. The brand may "keep ownership of how it tells its story," but it loses its users. You have turned your tool into a series of widget in someone else's application, with no control whatsoever over how users interact with you. Want to show your user a notification? (Sure you do—I can't get away from the things.) Too bad. ChatGPT owns your users, and they only see what OpenAI wants them to see, which likely will not include ads for your premium features.

Don't mistake this for user freedom, either. Users still won't own their own tools. We're just moving from a model where each vendor separately leases you their tool to a model where every tool is leased via OpenAI, which curates them based on its own monopolistic whims.

Tech companies will not surrender control of their users so easily. They may integrate chatbot components into their apps, but they will not permit an inversion of control where their product becomes a component in a chatbot.

> You likely won’t expect users 5 years from today to navigate 5 pages deep

Of course I do. There's this fallacy that, because chatbots are useful for some things, chatbot interfaces must be the best at everything, and that's just not true. I don't go to ChatGPT to ask it for relevant tech news. I go here and browse the HN frontpage. Chatbots offer zero discoverability; search bars didn't replace page navigation, and chat bots won't either.

bccdee··on Vouch
This is a fun post. I think you're mistaken, though.

Your strongest point is that allowlists exclude new contributors. (You're right about blocklists, but this seems to me like a primarily allowlist-based approach.) Thing is, new contributors are already being excluded by a flood of slop PRs within which they are indistinguishable. Whatever strategy they would currently use to distinguish themselves (reaching out through social channels, volunteering in the issue for an important problem, etc) should still work with vouch. But when it does work and they are vouched for, they will get a reputational shortcut to contribute again in this repo and to contribute in other repos sharing the same vouchlist.

Like any good social solution, `vouch` is trying to codify & extend the existing ad-hoc practices that have arisen to cope with slop PRs (i.e. largely ignoring PRs submitted by strangers). Obviously it's not a full solution, but I'm suspicious of solutions that claim to fully solve a difficult problem. It's a step forward.

bccdee··on Vouch
1. Such a system is already in place (see the `--reason` flag).

2. Being able to denounce people with noxious political views is a feature, not a bug. If someone shows up in your issues complaining about how your CoC is "woke," they're a bad actor stirring up pointless drama. At best, this is just a waste of everyone's time, and at worst they're haranguing your actual contributors who happen to be trans or something. Respectful contributors naturally will not fall afoul of this, regardless of their beliefs or party affiliation or what-have-you.

← PreviousPage 3 of 34Next →