HNHacker News
TopNewBestAskShowJobs

xenophonf

3,901 karma · joined November 24, 2010

Keeper of the Sacred Chao and Patron Saint of All Things Plastic fnord

To contact me via PinealWeb, think very hard at this spot right here. Alternatively, email me at xenophon+hackernews@irtnog.org.

submissionscomments
xenophonf··on I counted all of the yurts in Mongolia using machine learning
Assuming you selectively quoted me in good faith before asking "who is harmed", you should read the whole SEP entry on the ethics of manipulation, and then you should review the works it references.

https://plato.stanford.edu/entries/ethics-manipulation/

But to answer you directly:

- Whoever hires the author for their software engineering or data science expertise in part because of this blog post will pay for substandard work.

- By deceiving their audience as to the accuracy and precision of the demonstrated techniques, the author undermines the audience's ability to make good decisions about when to use or how to reason from the results of machine learning algorithms.

- The author disrespects their audience when they misrepresent themself, their work, and their results.

xenophonf··on Dinesh’s Mid-Summer Death Valley Walk (1998)
I use Smart Referer to disable this, but the extension appears to be unmaintained:

https://gitlab.com/smart-referrer/smart-referer

https://addons.mozilla.org/en-US/firefox/addon/smart-referer...

Anyone know of a reputable replacement?

xenophonf··on I counted all of the yurts in Mongolia using machine learning
It'd be a lot more accurate—not to say more honest—to say the author _estimated_ the number of all the yurts in Mongolia using machine learning. ML algorithms are stochastic; their outputs are whatever the algorithm deems the most probable of the options generated from the given inputs. They barely give a thought to all the ways their count could be wrong—no error analysis, no confidence intervals. There's a meaningless prediction score of 40%, and they blithely add "a hundred or so" to the count.

This is anti-information. People reading this uncritically will come away with completely wrong ideas about the number of yurts in Mongolia, about machine learning algorithms, about data science in general.

xenophonf··on NSF faces shake-up as officials abolish its 37 divisions
And many more people were completely fine with the status quo ante, so they abstained from voting entirely.
xenophonf··on NSF faces shake-up as officials abolish its 37 divisions
> There's not much else we can do at this point if this is the level of irrationality you're dealing with.

You're giving up too easily. You can:

- fundraise

- boycott

- divest

- strike

- sue

- register voters

- drive people to polls

xenophonf··on National Weather Service no longer translating products for non-English speakers
> you shouldn't expect government services to be in a foreign language

But that's the thing about America. We don't have ein Volk. Or to put it another way, what does foreign mean to a nation like America? Lots of languages are spoken natively in America. That most people speak English is an accident of history and a matter of convention reinforced by bigots trying to "other" their neighbors. Americans could have just as easily ended up mostly speaking German.

xenophonf··on National Weather Service no longer translating products for non-English speakers
> lingua franca

It's pretty hypocritical to unironically use an Italian idiom for a Mediterranean pidgin that literally means `language of the Franks`, i.e., French, in a comment supporting neo-reactionaries' attempts to shut minorities out of the government services they deserve per the democratic social contract not to mention pay for with their taxes.

xenophonf··on Dockerfmt: A Dockerfile Formatter
That's bad practice because it hides build steps from `docker inspect`. Per https://github.com/docker-library/official-images#clarity:

> Try to make the Dockerfile easy to understand/read. It may be tempting, for the sake of brevity, to put complicated initialization details into a standalone script and merely add a RUN command in the Dockerfile. However, this causes the resulting Dockerfile to be overly opaque, and such Dockerfiles are unlikely to pass review. Instead, it is recommended to put all the commands for initialization into the Dockerfile as appropriate RUN or ENV command combinations. To find good examples, look at the current official images.

xenophonf··on Supply Chain Attacks on Linux Distributions – Fedora Pagure
Good point. Looking at this from the user's perspective, my concern is to limit the ability of someone with access to my computer from using a connected hardware authenticator. Maybe that physical touch activation of the authenticator has a better term—proof of presence?
xenophonf··on Supply Chain Attacks on Linux Distributions – Fedora Pagure
You shouldn't use Git over HTTPS. With SSH, you can use a hardware authenticator that requires both proof of ownership (i.e., the unlock PIN) and proof of possession (i.e., physical touch) out of the box. That's technically possible over HTTPS, of course, but I have yet to see a Git server that works that way.
xenophonf··on Switching from Pyenv to Uv
That's unhelpful.

To answer my own question—and to actually help other people with similar use cases—I read about uv's build process and dependency locking. It does not appear to be able to lock dependencies for build distributions (wheels).

https://docs.astral.sh/uv/concepts/projects/build/

https://docs.astral.sh/uv/pip/compile/

However, it does mention that Python supports multiple build systems, which I didn't know, so this hasn't been a complete waste of my time.

Thanks!

xenophonf··on Switching from Pyenv to Uv
> Just try it.

I don't need to be told to RTFM. I was asking for advice. My attention span is my most valuable commodity, and since I'm not really surprised or slowed down by setuptools, etc., it sounds like uv probably isn't worth investigating.

Thanks.

xenophonf··on Switching from Pyenv to Uv
What does uv offer over bog-standard setuptools, pip, pip-tools, and build?

Right now, the only thing I really want is dependency pinning in wheels but not pyproject.yaml, so I can pip install the source and get the latest and greatest, or I can pip install a wheel and get the frozen dependencies I used to build the wheel. Right now, if I want the second case, I have to publish the requirements.txt file and add the wheel to it, which works but is kind of awkward.

xenophonf··on Kill your Feeds – Stop letting algorithms dictate what you think
You're basically training their advertising model for them, so yay for the Algorithm, I guess.
xenophonf··on Warewulf is a stateless and diskless container OS provisioning system
The documentation link is _right there_.
xenophonf··on Mox – modern, secure, all-in-one email server
That webmail screenshot made me realize how much I desperately miss threaded mail/news readers. <3 I should figure out how to make Roundcube do that.
xenophonf··on Bunster: Compile bash scripts to self contained executables
Even Python isn't Python.

https://pyinstaller.org/

Works great. I use this instead of pipx.

xenophonf··on UnitedHealth overcharged cancer patients for drugs by over 1,000%
That's the magic of vertical integration!

https://youtu.be/5rw4kNHNZyk

xenophonf··on I am rich and have no idea what to do
The antonym of "luck" is "misfortune".
xenophonf··on Apple Photos phones home on iOS 18 and macOS 15
Lovely.

And this blog post is how I find out the Photos app mysteriously turned iCloud Photos back on. What the fuck? At least "Keep Originals" was still set.

xenophonf··on I thought I found a bug
I remember downloading and installing one of the MCC Interim releases in 1993? 1994? before switching to Slackware. Early *BSD and Linux were certainly an adventure back then. I don't miss it.
xenophonf··on A Tour of WebAuthn
I've always wanted to write a serverless OIDC provider/SAML IdP but got stymied by the WebAuthn standards, which don't seem to be written for normal people. :( But this e-book looks like it might have enough actual code interleaved with exposition to serve as more than just a high-level intro.
xenophonf··on Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
Autocomplete:

It's nice, but using non-shitty libraries with good documentation is nicer.

Language servers:

Bloat.

Copilot:

Why bother with AI when I'm good at writing buggy code myself?

Remembering types and fields:

Don't trust memory. Write documentation—if only for yourself if not for your colleagues.

The language server go-to-definition feature:

That doesn't require a language server, just a cross-reference; see also ctags, bloat (above).

xenophonf··on Weird Lexical Syntax
I never bothered with structural editing on Emacs. I just use the sentence/paragraph movement commands. M-a, M-e, M-n, M-p, M-T, M-space, etc.
xenophonf··on Math is still catching up to the genius of Ramanujan
I wasn't particularly excited to learn philosophy or economics, but that gave me the foundation to understand Marx and Engels. Learning "things you're not necessarily excited about" makes you well-rounded. That's a _good thing_.

Let's use another example. Communicating with other people is a very important part of my job as a software engineer. I'd say that at this point in my career, writing good proposals, documentation, project charters, task orders, change requests, etc. is vital to my individual and collective success, so I'm glad I was taught lots of rhetoric and literature and writing and all that artsy stuff my younger self spent too much time disdaining.

Or another example. I have written precisely zero lines of Lisp or ML for work, and I flunked the first computer science class I took that used Lisp (good old _Essentials of Programming Languages_). And yet I use the concepts I learned in those classes _all the time_. Heck, I was just talking about side effects the other day in the context of 21 CFR Part 11 computer system validation.

My last metaphor. Brushing one's teeth or taking a shower isn't particularly exciting, but that kind of routine maintenance work is a vital part of your physical health. So it goes for mental exercise. Reading something challenging, learning the work's historical context, and writing a critical response well all helps keep you mentally healthy. That's good no matter what socioeconomic system you live in.

xenophonf··on SAML: A Technical Primer
> just use OIDC

OIDC doesn't scale, and OIDC Federation is still in draft. SAML Federation is mature with wide support and good discovery UX thanks to SeamlessAccess.

SAML has a variety of standard attribute bundles, entity categories, frameworks, and profiles covering important integrations, e.g., identity assurance. These are slowly being defined in (or ported to) OIDC.

I like OIDC and think highly of the people working on it, but it's nowhere near as cut and dry as you suggest.

xenophonf··on Is Tor still safe to use?
DNSSEC is an authentication mechanism. It does not encrypt queries or responses.

You might be thinking of DNS-over-HTTPS (DoH) or DNS-over-TLS (DoT).

There's also DNSCurve.

https://en.wikipedia.org/wiki/DNSCurve

xenophonf··on Launch HN: SSOReady (YC W24) – Making SAML SSO painless and open source
SSOReady doesn't appear to support multilateral identity federation, which makes this DOA as far as I'm concerned.

I don't see how a proprietary authentication proxy atop a partial implementation of a SAML service provider addresses problems with enterprise SSO, which I'll wholeheartedly agree is just too goddamn hard.

The open source community doesn't need yet another open core project, for that matter.

xenophonf··on Stop Microsoft users sending 'reactions' to email by adding a postfix header
BRB hacking "Engage!" into https://github.com/marketplace/actions/manual-workflow-appro...
xenophonf··on Stop Microsoft users sending 'reactions' to email by adding a postfix header
It isn't materially different than replying "OK" in that both a thumb's-up notification and an "OK" reply both act as distractions from whatever meaningful activity I'm engaging in, the same with all the DINGS and BUZZES and BANNERS and POP UPS that vie for my precious attention.

I've struggled my entire life trying to control my focus, and it's like the rest of humanity has decided to go all in on filling our shared environment with even more distractions. It sucks. It's manipulative. Let me turn it off. Leave me be. Better yet, help me pay attention to the things _I_ value.

/rant

← PreviousPage 4 of 23Next →