Hacker Newsnew | past | comments | ask | show | jobs | submit | thayne's commentslogin

If you scroll a little further down, you'll see that it lists components of an office suite as:

- a word processor - a spreadsheet application - presentation software

This doesn't look like it has any of these


Have you considered that “office suite” has drifted in meaning since Microsoft Office was introduced and things like:

- chat

- video calls

- notion

Might now be more important to an office than word processing or presentation software?


Maybe those those things may be more important, depending on the office, but IME, that isn't what people usually mean when they say "office suite".

For sure

The behavior of bash would be to produce "a/c" and "b/c", even if both files don't exist

> The behavior of bash would be to produce "a/c" and "b/c", even if both files don't exist

In bash patterns like {a,b} aren't glob-expansion expansions, they're string operations, and those resolve before glob expansions.

You can confirm this with: ls /{nope,tmp}


zsh too

Just because it is strange doesn't mean it isn't true

I agree, which is why I said it’s strange instead of saying it isn’t true.

The things complained about in the article are not a minimal reflection of how computers work.

Take the "wobbly types" for example. It would have been more "minimal" to have types tied directly to their sizes instead of having short, int, long, etc.

There isn't any reason that compilers on the same platform have to disagree on the layout of the same basic type, but they do.

The complaints about parsing header files could potentially be solved by an IDL that could compile to c header files and ffi definitions for other languages. It could even be a subset of c that is easier to parse. But nothing like that has ever caught on.


There were many different types of computers back then. Some even had 36 bit word sizes. I don't think there was any clear winner like amd64 back then that they could have prioritized. 16 and 32 bit machines existed in decent amounts and so on.

For that, we have uint_fast32_t and so on.

> in C it's hard to say reliably define this int is 64-bit wide

That isn't really a problem any more (since c99). You can define it as uint64_t.

But we have a ton of existing APIs that are defined using the wobbly types, so we're kind of stuck with it. And even new APIs use the wobbly types because the author didn't use that for whatever reason.

But that is far from the only issue.

128 bit ints is definitely a problem though, you don't even get agreement between different compilers on the same os on the same hardware.


The general idea is sound. The implementation less so.

FWIW, the crabi project within rust is trying to improve on some parts of it. But it is still built on (a subset of) the environments c ABI. And it doesn't fix all the problems.

Part of the value of the factbook is that it is kept up to date.

If it is no longer published, the version on the Internet Archive will become out of date.


Sharding is often not easy. Depending on the application, it may add significant complexity to the application. For example, what do you do if you have data related to multiple customers? How do you handle customers of significantly different sizes?

And that is assuming you have a solution for things like balancing, and routing to the correct shard.


Presumably sharding is a lot easier than trying to debug lockups in individual postgres thread? It's well known, we've been doing it for at least 30+ years as an industry.

deja vu

did you comment exactly the same things some months ago?


Not that I recall

Or

    echo $NUM_PAGES | sudo tee /proc/sys/vm/nr_hugepages 

I've always found it odd that there isn't a standard command to write stdin to a file that doesn't also write it to stdout. Or that tee doesn't have an option to supress writing to stdout.

You forgot the "sudo" before "tee"

> write stdin to a file that doesn't also write it to stdout

You mean like "dd of=/path/file" ?


I physically/literally squinted when I saw disk destroyer.

I know it's useful for other things, but it has become a fearful instinct at this point.


If my memories serves me right it was meant to be "Copy Convert" but "cc" was already taken for "C Compiler" so they went to the next letter in the alphabet (alpha beta), hence "dd". Thanks for listening to my TED talk of useless and probably false information :)

edit: i will be stealing disk destroyer, though


    According to Dennis Ritchie, the name is an allusion to the DD statement found in IBM's Job Control Language (JCL), where DD is short for data definition  https://en.wikipedia.org/wiki/Dd_%28Unix%29#History

I've always thought that there should be `cat -o output-file` flag for that. GNU coreutils have miriads of useless flags and missing one actually useful flag LoL.

And probably `echo -o output-file` as well.


> I've always found it odd that there isn't a standard command to write stdin to a file that doesn't also write it to stdout

If you happen to have moreutils installed, you can do that with pee

    echo $NUM_PAGES | sudo pee 'cat > /proc/sys/vm/nr_hugepages'

why not write sh -c then?

Because 'sh' isn't in moreutils and is harder to remember, next question.

Why use something portable when you can use cat pee?


Personally? Because I hate the smell.

It’s not an option or feature because it’s built into the shell. Just slap a > /dev/null on the end.

That works, but it feels wasteful to needlessly copy it, and it is verbose.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: