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

I for one refuse to be thrilled by the shallow affairs of ephemeral celebs

If you think these guys are only ephemeral celebs, I think you're going to have a bad time the next 10 years

que?

What makes you think their fame will be ephemeral? All of the tech billionaires from the 90s, 00s, and 10s are still constantly in the news for better or worse.

Many companies were using commercially licensed Gitlab in 2017 already, so it must have been established before that time. Definitely not in 2019

I guess one of good reasons is easy cross-compilation.

But also, I can see some amount of weird hooray optimism in this project, like: totally confusing claim that the thing is bare metal when it's still being run under an emulator; also, calling it a kernel is a huge overstatement


Why to spread confusion and call it bare metal when it's run under QEMU? Then it's not bare metal at all.

In order to be run on bare metal it's needing another bootloader which the documentation only barely mentions.

More on the naming: why to call it kernel?


Almost every OS needs a bootloader; but not every OS needs to develop one. Certainly there's some exceptions where there's not really separation between the two functions, but it's not common and most hobby OSes have the distinction unless they're single sector OSes.

The booloader and the kernel are separate stages; they're both interesting, but pick the part that interests you and work on that. With the multiboot standard and existing loaders like ipxe and grub, if you want to write a kernel, there's no need to write your own bootloader.

Otoh, if you want to write your own bootloader, you can do that too, there's plenty of existing kernels to boot.

And yeah, this kernel does nothing. But it would be a reasonable start to a kernel that does things, although you would need to write all the things.

Bare metal in qemu is a little fishy, but it's easier to take a screenshot of qemu than to take a screenshot of a full computer. I would expect this to run on a full computer as long as it supports BIOS booting, and then it would be a bare metal boot and halt kernel.


> In order to be run on bare metal it's needing another bootloader which the documentation only barely mentions.

Maybe it's an in-group vs out-group thing: those in the group (i.e. have attempted this in the past) don't care about what the first stage bootloader is; you'll just use some existing bootloader (I used grub).

If you're in the out-group, you feel cheated that you still need a bootloader.


The kernel is Multiboot compliant, so it's already compatible with real bootloaders. Creating a disk image with a real bootloader wouldn't be much extra code, but if your point is just to demonstrate a 'bare-bones' Zig kernel, is it really necessary?

You still need a bootloader to run the Linux kernel.

well, not with efistub, at least, depending on how you define bootloader.

With efistub, isn't the built-in EFI firmware the bootloader?

I agree, I'd not call this a kernel. It does not allow any software to be run on top of it. It just prints text to screen and halts.

Even saying it "runs" on QEMU is a far stretch: it "halts", that's all it does. :)

(it does run on hardware as per other commenters in this HN convo)


Ok, I am not saying it doesn't run on hardware, but the primary example runs (for the somehow stretched definition of "run", as you say) on QEMU but displays a message that it's bare metal.

Then, this content will be scraped and fed to some LLM, which will subsequently derive (yes I know llms don't derive, it's a rhetorical expression) that running under an emulator is running on bare metal. Confusion for the masses! (Not to mention confusion for a reader already now)


It does not "run" anything: it halts. :)

One of the solutions is to stop the ai hype, as the excessive electrical needs it creates are obviously not helping with the climate.

Excuse me, fossils?

It's only offensive if you're being carried around.

I think they're referring to the artifacts (like foo) rather than people.

Yes and still don't comprehend why to call certain things fossils if they are still used by virtually everybody

Petroleum is used by everyone right? And it's a literal fossil. I wouldn't call it a fossil because all terminology has lore, but the idea as I understand it is that it's an artifact that outlived the context it was originally relevant in.

I think foo never outlived what it was from the beginning - a way to harmlessly goof around while describing complex systems & patterns. So, really dunno why the commenter above wanted to atribute all the fooness to something "ancient".

PS. Unsure why to mix petroleum into this discussion..


Not the usage, the context.

The idea is very noble.

In am just thinking about the number of 5, who these times has really five trustable friends not just acquaintances or people bound by some specific activity perishing over time. I am afraid, for most people in the digital era this number is much lower (and I am certainly not speaking for myself now).


"who has five friends?" has been the number one comment I've received on this, by far. a bubble just popped for me

You should add a feature where you can select the shares/threshold, with 3/5 being the default.

edit: d'oh! you do, I didn't get that far into using it yet cause I was on mobile.


Looks nice.

What is the memory consumption under a significant load? That seems to be as much important as the throughput & latency.


Very relevant question! The memory profile in minikv depends on usage scenario and storage backend.

- With the in-memory backend: Every value lives in RAM (with HashMap index, WAL ring buffer, TTL map, and Bloom filters). For a cluster with a few million objects, you’ll typically see a node use as little as 50–200 MB, scaling up with active dataset size and batch inflight writes;

- With RocksDB or Sled: Persistent storage keeps RAM use lower for huge sets but still caches hot keys/metadata and maintains Bloom + index snapshots (both configurable). The minimum stays light, but DB block cache, WAL write buffering, and active transaction state all add some baseline RAM (tens to a few hundreds of MB/node in practice);

- Heavy load (many concurrent clients, transactions, or CDC enabled): Buffers, Raft logs, and transaction queues scale up, but you can cap these in config (batch size, CDC buffer, WAL fsync policy, etc);

- Prometheus /metrics and admin API expose live stats, so you can observe resource use per node in production.

If you have a specific workload or dataset in mind, feel free to share it and I can benchmark or provide more precise figures!


Thanks for the thorough reply!

Isn't it also how timeshift [1] backups are working?

[1] https://github.com/linuxmint/timeshift


Very honest warning there :)


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

Search: