HNHacker News
TopNewBestAskShowJobs

trws

307 karma · joined July 2, 2020

submissionscomments
trws··on Nishinomiya's 1.3 meters tall "Manbow Tunnel"
It’s true.
trws··on Is POSIX really outdated?
My personal favorite irony is that by default “write” on windows is more posix compliant than any Linux install using ext4. If you need write atomicity, as posix guarantees, avoid ext4.
trws··on Email and Git = <3
Oh that’s pretty cool, thanks for the link. I’ve used davmail as a proxy like this, just for the oauth support, but it doesn’t scale to large mailboxes or high traffic well at all. May forward this along for some of our internal services people.
trws··on It’s time to allow researchers to submit manuscripts to multiple journals
I’m all for government agencies requiring research to be available to everyone, full disclosure I work for one, but I’m pretty against paying the open access ransom to do it. GP seems to have a beef with the DoE, but policy requires all published works that have even one DoE employee on them be licensed perpetually royalty free and transferable to the government, and that works funded by the office of science (and many other sources) be available through free open platforms like OSTI.gov. Why should we waste grant money on the thousand+ dollar fees to the publishing houses rather than making it free through the already existing, already required, and already working channels? Of course, this is for Computer Science and mathematics. I can’t speak for other fields.
trws··on Email and Git = <3
Sadly you’re right. Microsoft has brainwashed many IT departments into forcing oauth on everything, no app specific passwords, no regular passwords, nothing else. Thankfully they do support this on imap and smtp, but you have to have something that can handle it. I use a modified version of isync with the sasl plugin to fetch mail, and a python smtp sender that supports the oauth flow along with a set of scripts for generating a new refresh token every few months. It’s a heck of a lot of stuff to maintain, but at least it works. If anyone’s interested I could provide links or upload the modified versions to fix o365 quirks.
trws··on China May Have Unmatched Supercomputer Abilities, Third Exascale Machine Online
The short version is increasing by the performance of tightly coupled distributed software, often physics simulations. The more widely distributed the nodes, the slower the distributed algorithm will run, forcing smaller sizes to get results in a reasonable time frame. Denser machines allow for larger areas, higher resolutions or longer timescales.
trws··on How mobile apps illegally share personal data
There are but anything that requires decisions, individual separate decisions, every time will induce fatigue. Addressing that problem isn’t going to happen by changing the ui presented at each individual interaction, it happens by finding a way to make the vast majority of those decisions ahead by stating your personal default, then overriding it as necessary. A process that can be done once, or occasionally, and applied 100 times can be involved and still be worthwhile. Making it involved and repeated ad nauseam is a good way to ensure nobody will actually bother every time.
trws··on Vale.sh – A Linter for Prose
Having used it myself, though maybe not the usual way, I have a feeling you might like it more with a bit of context. If you take a huge rule set, like Microsoft’s style for example, it can definitely have the effect you’re talking about. That’s what I love about vale though. It makes it very easy to build up rules for my own projects, import ones we care about, and not run anything else. I work on a number of API and programming language standards where specific “words of power” are used, and must be used, to have specific effects. Being able to write rules for common mistakes with these has helped me many times. Having one for weasel words I can run on my papers, or those of my graduate students, can save a good deal of time. It’s the flexibility to make it fit my needs/wants on each thing that make it so useful. To the point about poetry, I haven’t tried it, but it wouldn’t shock me if you could make some rules useful to certain styles of rhyming or verse to help catch technical mistakes.
trws··on Burning tires and bridges: US residents ‘shocked’ by firm’s Bitcoin-mining plan
It’s also actually happened. For example this major tire fire in Tracy California https://www.ttownmedia.com/tracy_press/archives/tracing-trac...

It burned for two years. On the semi-ironic upside, its proximity to Lawrence Livermore National Laboratory and the major atmospheric research center there actually proved highly useful for helping model atmospheric behavior of smoke for things like wildfires.

trws··on AMD Open-Source GPU Kernel Driver Above 5M Lines, Entire Linux Kernel at 34.8M
I have not seen these scripts, but can confirm that AMD has a long history of such Perl scripts. Look at hipcc for a current, moderately frustrating, example of this. Also the last time I met one of the open source driver team in person he was, in fact, wearing a classic ATI red ATI t-shirt straight in from Markham. Much of that team is European now though from what I hear, and they’re generally a good bunch.
trws··on Simplifying GPU Application Development with HMM
I can see how you got here from the release notes, but the conclusions are a bit off. For hardware and kernels that support the full HMM setup with AMD, you get 3 today as long as XNACK is turned on. Systems like Frontier have been using it for some time now.

Also, 2 can be subdivided into systems that implement it by having two allocations, one host one device, and triggering transfers when the GPU might access memory (2.1) and those that implement demand paging (2.2). The HMM support adds demand paging for type 2.2 as well as type 3 on supported hardware, where without it hip had to use either 2.1 or remote PCIE access to provide “unified memory”. Those were dark days, but for current hardware on appropriate kernels appropriately configured, AMD implements memory just as unified as either NVIDIA’s HMM or ATS implementations.

trws··on Foreach Derp with Csh
tcsh was the obvious choice back then, it had the best completion and interactive features by a mile, in a way it was then what fish shell is today. That said, most people I know who still use tcsh do all their scripting in bash, again rather like fish, it just has too many gotchas. In fact, I got a production bug report about two months ago because one of our commands accepts a python-like format string as an argument, and the exclamation point they wanted to use inside it is interpreted by tcsh before interpreting the surrounding quotes. Purely a cshism, but still we got pinged for it.
trws··on Ask HN: What plotting tools should I invest in learning?
This is almost exactly my list, except that I’ve pretty much stopped using gnuplot and mostly use plotnine (the new name for the python port of ggplot2) as a replacement for matplotlib’s interface. Interfaces implementing the grammar of graphics like ggplot2 and plotnine make exploring different plot types and ways to present data.
trws··on ZFS 2.2.0 (RC): Block Cloning merged
I’m not a filesystem admin, but we at LLNL use OpenZFS as the storage layer for all of our Lustre file systems in production, including using raid-z for resilience in each pool (order 100 disks each), and have for most of a decade. That combined with improvements in Lustre have taken the rate of data loss or need to clear large scale shared file systems down to nearly zero. There’s a reason we spend as many engineer hours as we do maintaining it, it’s worth it.

LLNL openzfs project: https://computing.llnl.gov/projects/openzfs Old presentation from intel with info on what was one of our bigger deployments in 2016 (~50pb): https://www.intel.com/content/dam/www/public/us/en/documents...

trws··on Show HN: Using C++23 <stacktrace> to get proper crash logs in C++ programs
It’s impossible to implement std::regex efficiently due to internal but exposed character handling requirements. To the sibling comments about iostream, thank vzeverovich and everyone that worked on fmt and turning it into std::format (edit: accidentally wrote std::fmt initially), which is vastly superior and not dependent on mutable global state.
trws··on Apple forced to make major cuts to Vision Pro headset production plans
The screenshot tool is pretty tightly coupled to shortcuts that’s certainly true. I actually didn’t know there was a keyboard shortcut for hidden files and folders, it can be toggled through the preference menu for finder, but again yeah that’s not as discoverable as it should be. Switching apps in full screen mode would be using the dock. I never do, but it works just fine and it’s the way you switch apps with a mouse, also using cams+tab works with the system set to follow space of selected application which is set by default.

To your point about trackpads though, I agree. I can’t stand a mouse on macOS, it loses too much convenience, especially with BTT available.

That said, is there any system today that you find more discoverable? I mean serenityOS actually fits that bill, and classics like older macOS or windows 98, but anything modern?

trws··on Apple forced to make major cuts to Vision Pro headset production plans
I’m actually curious about specifics here for macOS aside from things like hidden scroll bars. Mainly because I find it to be one of the most discoverable. If you go into the ‘help’ menu in any application, you get a search box that searches all the menus of the application, if a shortcut exists for the action it’s listed alongside it. Admittedly Qt and KDE can do this too, but only for QT apps, while on macOS it’s every app that actually provides menus. Nearly every application handles files and actions the same way, and take the same common shortcuts for things like preferences. If I want to see shortcuts for system actions, they’re all listed in the keyboard control panel, and arbitrary shortcuts for arbitrary applications can be added there. I can’t name another system that feels as integrated and discoverable in that sense, except possibly KDE or gnome running ONLY apps developed specifically for that toolkit.

What system(s) do you find more discoverable, and how? I’m honestly curious because I love checking our new systems or window managers and it’s bugged me not to have some of this elsewhere for a while.

trws··on Racket: Lisp for the modern day
Yeah, self modifying has become harder. As far as I know the most robust solution to that now is like what Julia does, where it can compile new generations of any module to update call targets, for example. At worst, when seccomp disallows flipping a writable page to executable at runtime, you can always compile into a file then dlopen the file. In other words, it can take many more contortions now than it used to, but it’s still possible.
trws··on A single line of code made a 24-core server slower than a laptop (2021)
This is the citation I most often use from that time, though the primary source is probably another reference down the line: https://dl.acm.org/doi/10.1145/69624.357206

The short version is that if atomics are implemented as part of the memory network, common cache, or memory controller, then atomics of the form “fetch-and-X” can be implemented in roughly equivalent complexity to a load of the current value (plus an instruction for the op, give it take) with the cost only scaling past that as op queues or other implementation-specific limits fire. It’s the infinite consensus ops that just can’t scale no matter what you do. The coherence and memory model matter a lot too of course, which is part of why x86 tends to be slow for atomics, while arm and ppc (with fetch-and-X extensions) or GPUs tend to do much better.

trws··on A single line of code made a 24-core server slower than a laptop (2021)
Then why keep bouncing it? Leaving it managed by a known single user in a cache architecture like on x86 means that latency goes up, but the overall throughput of the operation goes up drastically. That’s why flat combining data structures are so popular there despite their absolute maximum throughput being bounded by sequential performance.

Also, FWIW, intel largely does implement operations closer to that way on single socket parts, if you want to see it for real look at on-device atomics on a GPU. Ironically an average laptop chip handles atomics much faster than most servers as a result.

trws··on A single line of code made a 24-core server slower than a laptop (2021)
Let’s be clear here, while you are 100% right that armv8 atomics kinda suck by default, neither compare and swap nor load linked store conditional scale but some atomics can scale if implemented and used appropriately. As parent points out, an atomic increment can scale, we proved they could scale to the performance of a load in the 80s for goodness sake. The fact that arm, ppc, and some others tend to implement these in the absolute worst way possible for performance doesn’t mean atomics can’t scale.
trws··on Is it OK to recline your airplane seat? Some travel experts say no
I’m 6’7”. It makes a difference. On most flights I don’t worry about it because I arrange to be in a position where I have more room or can fold my legs under the seat (people sometimes get upset when my feet reach all the way to the kick bar under their seat for some reason), but if I’m stuck in regular economy in a middle seat, I could be inconvenienced or even injured by someone reclining roughly.
trws··on Health officials delayed report linking fluoride to brain harm
What do you consider necessary for “good quality toothpaste?”
trws··on Re-live buying a computer in 1995 [video]
I agree aesthetically, but watching my daughter trying to learn interfaces with skeuomorphic design has been illuminating. Trying to explain to her that the save button is a blue rectangle with some gray stuff on the bottom for some reason (she has no idea what a “floppy disk” is) or the symbol for an inbox being a physical inbox, or contacts as a Rolodex or address book is starting completely from scratch. All of these things make intrinsic sense to me, because I learned those concepts when those physical objects existed in a meaningful form, but to her they’re completely meaningless. A desk calendar for a calendar interface would be just as opaque. So perhaps we need to reconsider what is or is not used for inspiration. An app that shows a drawing pad and tools is immediacy intuitive even to her, but when the corollaries are gone, where then do we go for the same effect?
trws··on Rotten meat may have been a staple of Stone Age diets
In addition to the direct persistence hunting, also note that most bow and arrow hunting or even spear hunting is, in and of itself, a form of persistence hunting. The expectation that an arrow will take down the animal where it is hit is usually not how it would have worked with more primitive bows except with very small game. The animal would still have to be followed and possibly struck more times to actually bring it down. Bull fighting is a modern extension of this, though in an enclosed space.
trws··on Spack – scientific software package manager for supercomputers, Linux, and macOS
> This is particularly surprising since one of the points of Spack is to integrate with the existing system software, and so much of what you're building already exists and works fine on the system.

Try spack external find, and much of this problem goes away. It will register the existing packages as externals.

As to the rest, spack actually has public binary mirrors with builds of many packages for common distributions now, in addition to the E4S mirror. It may not be as easy to ensure use of these as would be ideal, but this situation has gotten much, much better over the last few years.

trws··on A cell cultured startup working in exotic meats (2022)
You’re absolutely right, if their goal is for people to get the flavor and texture of the meat. This is cultured meat though, which tends to develop far less connective tissue than it would in nature, so the point may well be to disguise the texture.
trws··on Show HN: Asdf Clone Written in Rust
The which issue is fair, but you could also consider either adding them to the shell as functions, for the wrapper effect but getting a path listing on where as part of it. Or making the rtx binary respond to argv[0] being different names such that the “wrappers” are just symlinks and save the extra exec. None of these is perfect, but they avoid the issue where path becomes too long to manage, and the function option can make them completely independent of PATH.
trws··on Ask HN: At 45, I can't seem to read as well anymore
If the issue is visual tracking and comprehension, consider seeking an audio version of the textbook. These are often prepared as part of accessibility for the blind or visually impaired, but can also be a great help to people with other issues like dyslexia. It’s not ideal, because medical terms and dense topics tend to be harder in that form, but it could really help with ensuring that you can ingest all the content, possibly with access to the physical text for cross referencing.
trws··on 10x C++ Editor
It depends on what you want. VScode is more flexible and has a better remote experience, supports less out of the box but has more support through plugins. Clion handles refactoring better in my experience, and works well for most cmake based projects out of the box. If you need a different test system or build system though it can take some extra work to get it going. I find it worth it for the refactoring alone TBH, but the loss of remote development makes it less comfortable for day-to-day use.
← PreviousPage 3 of 4Next →