HNHacker News
TopNewBestAskShowJobs

fanf2

44,323 karma · joined August 9, 2010

dot@dotat.at

https://dotat.at (home page)

https://dotat.at/@/ (blog)

https://dotat.at/:/ (links)

erstwhile fanf@isc.org hostmaster@cam.ac.uk postmaster@cam.ac.uk fanf@exim.org fanf@apache.org

submissionscomments
fanf2··on The case against a C alternative (2022)
The C standard library has had <threads.h> since C11 https://www.cppreference.com/c/thread and there are now a nonzero number of systems that support it! (glibc, musl, maybe others?)
fanf2··on Atom is better than RSS, in ways that matter
Which of the nine incompatible versions of RSS supports backwards compatibility? https://web.archive.org/web/20110726002019/http://diveintoma...
fanf2··on Scanwheel is a drum style mechanical television you can build yourself
It’s closer to John Logie Baird’s electromechanical televisor from the 1920s https://earlytelevision.org/baird_televisor.html which was the first practical implementation of a Nipkow disk
fanf2··on Supersonic flight returning to US after half-century ban
Also NASA / Lockheed Martin https://www.nasa.gov/mission/quesst/
fanf2··on Moving beyond fork() + exec()
Yeah. The right way to eliminate fork() is to make the usual APIs that modify process state take an explicit process handle, so the same APIs can be used to set up an empty process. They can also be composed in other ways, eg for IPC or debugging.
fanf2··on C constructs that still don't work in C++
If the VLA size is not controlled it gives an attacker a primitive for arbitrarily shifting the stack pointer. There isn’t any spec for what is a reasonable limit on a VLA size. https://dotat.at/@/2010-01-22-coroutines-in-less-than-20-lin...
fanf2··on C extensions, portability, and alternative compilers
https://www.kernel.org/doc/html/latest/kbuild/llvm.html
fanf2··on Curly braces: An evolution of Unix and C
I don’t think there’s any branching in intitializer lists or declarations.
fanf2··on Apparently Google hates us now
It would be nice if DDG could get rid of the umpteen shitty wikipedia mirrors that clutter up the results.
fanf2··on Why are we still using Markdown?
If the manpage is written with the 4.4BSD -mdoc semantic markup macros then it can contain hyperlinks like

  .Lk https://dotat.at/ "Tony Finch’s web site"
And the mandoc tools will include them in their really nice HTML output. It will also hyperlink .Xr cross-references to other man pages.

https://mandoc.bsd.lv/

fanf2··on Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries
The first thing I look at in new DNS code is whether it’s vulnerable to DNS name compression loops. This code passes the test! However it’s vulnerable to dots embedded in labels: it doesn’t escape bytes properly when converting from wire format to text.
fanf2··on Is BGP safe yet?
Let’s Encrypt has been doing DNSSEC validation for years. DNSSEC could have prevented the jabber.ru MITM attack.
fanf2··on Is it a pint?
When CAMRA was new in the early 1970s, they started a campaign for oversize glasses holding a pint to the line instead of a pint to the rim, so that there would be space for a pint of liquid and a head in the glass. The big breweries hated this idea and mounted a reactionary campaign arguing things like it would be too expensive to replace all the glasses, or serve customers the full measure they had paid for. (My father was a new recruit at Guinness and sadly one of his early tasks was the pint-to-brim campaign.)
fanf2··on The Road Not Taken: A World Where IPv4 Evolved
There are several ways to map the IPv4 address space into the IPv6 address space, going right back to the first IPv6 addressing architecture RFC. Every compatibility protocol added a new one.

IPv6 added IPSEC which was backported to IPv4.

IPv6 tried to add easy renumbering, which did’t work and had to be discarded.

IPv6 added scoped addresses which are halfbaked and limited. Site-scoped addresses never worked and were discarded; link-scoped addresses are mostly used for autoconfiguration.

IPv6 added new autoconfiguration protocols instead of reusing bootp/DHCP.

fanf2··on Tony Hoare has died
Inmos? Transputers were inspired by Hoare’s CSP.
fanf2··on No leap second will be introduced at the end of June 2026
Yeah. There’s also the issue that the earth’s rotation is slowing down, so over the long term leap seconds would become more and more frequent. There’s a point when the earth is slow enough that leap seconds need to happen nearly every month, and by that point they are no longer a workable solution to the problem. That is expected to take a few thousand years, comparable to the point where a leap hour would be needed if there were no leap seconds.
fanf2··on Async Programming Is Just Inject Time
The vtable vs switch dichotomy was called the “expression problem” by Philip Wadler https://en.wikipedia.org/wiki/Expression_problem
fanf2··on Government grant-funded research should not be published in for-profit journals
Scientific publishers do not pay for peer review. Reviews are done by researchers as part of their jobs which are paid for by their research grants.
fanf2··on Notes on Clarifying Man Pages
`info foo | less` is a better info reader than `info foo`
fanf2··on Green’s Dictionary of Slang - Five hundred years of the vulgar tongue
There is an English dictionary of fuck called The F Word

https://en.wikipedia.org/wiki/The_F-Word_(book)

fanf2··on The original vi is a product of its time (and its time has passed)
The BSDs use nvi which is a clone of vi from about 1990.

You might encounter Bill Joy’s vi on a Solaris or illumos machine.

fanf2··on xAI joins SpaceX
Kessler satellites
fanf2··on Ode to the AA Battery
> there's basically no reason you'd ever want an alkaline battery except cost

Rechargeable batteries are much cheaper than disposable single-use batteries.

fanf2··on The Anti-Hat Riots of 1973
Real hat riots in 1922 https://en.wikipedia.org/wiki/Straw_Hat_Riot
fanf2··on Are arrays functions?
Functions are partial in most programming languages, so the fact that arrays are best modelled as partial functions (rather than total functions) isn’t a huge obstacle.
fanf2··on The State of OpenSSL for pyca/cryptography
Most of the performance regressions are due to lots of dynamic reconfigurability at runtime, which isn’t needed for portability to ancient systems. (Although OpenSSL is written in C it has a severe case of dynamic language envy, so it’s ironic that the pyca team want a less dynamic crypto library.)
fanf2··on We rolled our own documentation site
I use https://pagefind.app/ for search on my website. It’s really easy to add to a static site.
fanf2··on I/O is no longer the bottleneck? (2022)
It isn’t on-die, the ram is separate chips in the same package. See the pics about halfway down https://www.apple.com/de/newsroom/2023/10/apple-unveils-m3-m...
fanf2··on The Fisher-Yates shuffle is backward
There are actually four variants:

• loop counts downwards vs upwards

• the processed part of the array is a uniform sample of the whole array, or it is a segment that has been uniformly shuffled

Knuth described only the downwards sampling version, which is probably why it’s the most common.

The variants are compared quite well on wikipedia https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle

fanf2··on Instant database clones with PostgreSQL 18
This doesn’t work for testing migrations because MySQL/MariaDB doesn’t support DDL inside transactions, unlike PostgreSQL.
Page 1 of 34Next →