dexen

Joined 17 years ago

Karma
5,397
Submissions
1,459
Member since
Apr 6
“namespace resolution and algorithm composition are creative metaoperations

8½

return -ENOCOMPREHEND;

View on Hacker News

Recent submissions

Comment · 1 month ago
Comment · 2 months ago
An absent (removed) part might be acceptable depending on circumstances, but a genuinely missing part creates hazards and must be ascertained as to its location. A mechanical jam, an electric short, a hydraulic leak, or a Foreign Object Damage to the engine from a piece of metal on the loose can destroy the plane, endanger people and mission. Same concern with tools & bits, can't have any unaccounted for.
Comment · 5 months ago
Excellent post, thank you
Comment · 8 months ago
Comment · 1 year ago
At my old uni there were a couple public terminals running DOS, most of the time sitting idle at the prompt. It was bespoke kiosk cabinets only exposing keyboard and screen. One April Fool's I had the bright idea to change PROMPT to something along the lines of "This terminal out of service." - and to increase the confusion, also to change PATH to a non-existent directory, so that most commands wouldn't work and instead flash "Bad command or file name.".

For a couple minutes observed people coming up to a terminal, trying a few things, and stepping away in frustration.

I sure hope administration did restart the terminals overnight to return regular function; normal users were unable to access the power & reset controls.

Comment · 1 year ago
In which Jerf longs for PHP. Every single point has been in, and actively used, for a long while. The __call() & friends is particularly nifty - simple mental model, broad applicability, in practice used sparingly to great effect.

All in all a very enjoyable post.

Comment · 1 year ago
>printing also will likely impact timing and can change concurrent behaviour as well.

I've had a bug like that and the intuitive way to handle it turned out to be entirely sufficient.

The bug (deep in networking stack, linux kernel on embedded device) was timing sensitive enough that printk() introduced unsuitable shifts. Instead I appended single-character traces into pre-allocated ring buffer memory. The overhead was down to one memory read and two memory writes, plus associated TLB misses if any; not even a function call. Very little infra was needed, and the naive, intuitive implementation sufficed.

An unrelated process would read the ring buffer (exposed as /proc/ file) at opportune time and hand over to the developer.

tl;dr know which steps introduce significant processing, timing delays, or synchronization events and push them out of critical path

Comment · 2 years ago
>government getting private property snatched in transit by extending letters of marque to ISPs

Yep, that is piracy indeed, even if done under the figleaf of "privateering".

Comment · 2 years ago
For sake of example: a "locale-aware" number conversion routine would be the worst possible choice for parsing incoming network traffic. Beyond the performance concerns, there's the significant semantic difference in number formatting across cultures. Different conventions of decimal or thousands coma easily leading to subtle data errors or even security concerns.

Lastly, having a simple and narrowly specified conversion routines allows one to create a small sub-set of C++ standard library fit for constrained environments like embedded systems.

Comment · 2 years ago
>Unless it's one of those cursed things installed at the customer thousands of miles away that never happens back in the lab.

I had a bug like that in my previous (telcom embedded dev) career. Ended up driving to the customer premises (luckily mere 200km), working two weeks on collecting traces for the repro, and a day on the patch. Once I figured out how to trace the repro, the rest was trivial - the bug was glaringly obvious in the trace. Which in hindsight means I didn't really need to drive there at all, I merely needed to properly implement tracing the repro, and send the built artifact to the customer.

The problem would have been trivially solved if I had sufficient experience with tracing, or found a colleague with sufficient experience. However this one time the experience was bought & paid for with the trip.

Comment · 2 years ago
The brevity carried over to Plan 9. Re-posting my older comment (https://news.ycombinator.com/item?id=4023385):

http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs follows the Unix philosophy. A lot of legacy has been shed. I can count 13 options to ls, 11 options to sed and just 5 to sed.

The standard Plan 9 shell, Rc, is described in mere ~500 lines of manpage, while Bash takes whooping ~5400 lines.

Oh, and there is no `dll hell' in P9 :-)

Comment · 2 years ago
To further expand upon this, quickly ascending to high altitude (flying airplane or balloon) after diving is also dangerous, for the very same reason. Pilots are trained to wait out at least 24 hours after a dive, or at least 12 hours if the dive didn't require decompression steps.
Comment · 2 years ago
Author states "i feel disrespected in my own ~home.". And funnily enough "~" is exactly what he's looking for:

    df -h ~
Comment · 2 years ago
Interesting, thank you. Especially the point about government being a huge spender where it has reduced regular commerce.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton