HNHacker News
TopNewBestAskShowJobs

monax

568 karma · joined May 24, 2020

submissionscomments
monax··on SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V
Apps don’t get full access to memory or hardware. The kernel only maps what they’re allowed to see. Drivers live in user space, and apps talk to them through capabilities (handles you can pass around). There’s no ambient authority, you only get access if you’ve been given the key.
monax··on SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V
I had multiple rewrites, but this last iteration is two years old
monax··on SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V
Thanks! Skift is basically a patchwork of all the OS ideas I like. The UI takes inspiration from SwiftUI/Flutter, the microkernel is influenced by Zircon, and there are some Plan 9 ideas where everything is a URL. A few bits are probably inspired by NT and Darwin too, though I don’t remember exactly which.
monax··on SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V
It’s a microkernel-based operating system. Mostly just a learning/fun side project for me. It implements something akin to the NixOS /store. Hardware, networking, sound, and the file system are all very barebones. Most of the work so far has been put into the framework, some example apps, and the browser.
monax··on SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V
This works for everything except the browser. For that, use:

```bash ./skift.sh run --release vaev-browser -- <url-or-file> ```

The HTTP stack is super barebones, so it only supports `http://` (no HTTPS). It works with my site, but results may vary elsewhere.

Most of my time so far has gone into the styling and layout engine rather than networking.

monax··on SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V
Didn’t expect to see my project on the main page today ‘^^ Right now the build is broken, so you can’t test the full OS, but you can run individual apps with:

```bash ./skift.sh run --release <app-name> ```

on Linux or macOS.

To see all available apps:

```bash ls ./src/apps ```

monax··on Show HN: C++ Compiler Support Page
Having something like WPT [1] for C++ would be really nice.

[1] https://github.com/web-platform-tests/wpt

monax··on C++20 Modules: Practical Insights, Status and TODOs
Theses macros are defined in our framework, the coroutine code is not that hot so we didn't measure the overhead

https://github.com/skift-org/karm

monax··on C++20 Modules: Practical Insights, Status and TODOs
Yes it is
monax··on C++20 Modules: Practical Insights, Status and TODOs
We are building a document rendering tool using them. It’s a pretty large project, and there have been some really good improvements in Clang’s implementation of C++20 modules in the past few versions.

https://github.com/odoo/paper-muncher/blob/main/src/main.cpp

monax··on Anthropic raises $13B Series F
If you get a 10x speedup with an LLM it mean you are not doing anything new or interesting
monax··on Show HN: Vaev – A browser engine built from scratch (It renders google.com)
Yes !
monax··on Show HN: Vaev – A browser engine built from scratch (It renders google.com)
It's just a placeholder implementation, we will have a proper GC when we get to it
monax··on Show HN: Vaev – A browser engine built from scratch (It renders google.com)
> There is no compiler enforced safe mode

It's still early days, but Clang can check some lifetimes, using the [[clang::lifetimebound]] attribute [1]. You can also restrict unsafe pointer usage [2] outside designated blocks of code—somewhat like Rust’s unsafe keyword.

[1] https://clang.llvm.org/docs/AttributeReference.html#id8 [2] https://clang.llvm.org/docs/SafeBuffers.html#buffer-operatio...

monax··on Show HN: Vaev – A browser engine built from scratch (It renders google.com)
I intend to keep Skift and Vaev together for as long as possible since everything is meant to be cross-platform. I don’t see any architectural conflict that would motivate such a change.
monax··on Show HN: Vaev – A browser engine built from scratch (It renders google.com)
For distraction-free reading?
monax··on Show HN: Vaev – A browser engine built from scratch (It renders google.com)
The main goal is great support for static documents rendering as it's being used at the core of the paper-muncher [1] PDF rendering engine, meant to replace wkhtmltopdf at odoo. But we don't exclude general web browsing and JavaScript support at some point.

[1] https://github.com/odoo/paper-muncher

monax··on Preview Builds of the Zed Editor Now Available for Linux
You can remove all the AI stuff from the settings

  "collaboration_panel": {
    "button": false
  },
  "assistant": {
    "version": "1",
    "button": false
  },
  "chat_panel": {
    "button": false
  },
  "notification_panel": {
    "button": false
  },
monax··on Rusty.hpp: A Borrow Checker and Memory Ownership System for C++20
I built a whole operating system using ideas transplanted from Rust into C++

https://github.com/skift-org/skift

monax··on Show HN: Htmldocs – Typeset and generate pdfs with HTML/CSS
It seems you have more information about this situation than I do, as I recently took on the role of project maintainer and wasn't involved from the start.

I find the bug you mentioned interesting, and I'll promptly investigate to determine if it still exists. If I remember correctly, there's a --dpi option that may have already resolved this issue.

I share your concern about the code's state; it's problematic as it's currently leaking file descriptors and memory all over the place. We experimented with Puppeteer as an alternative, but its speed and memory usage were too high for our specific use case, so we're currently stuck with the current wkhtmltopdf.

monax··on Show HN: Htmldocs – Typeset and generate pdfs with HTML/CSS
As the maintainer of wkhtmltopdf @ Odoo I can tell you it's not WebKit. Instead it's outdated WebKit from 2014 running on top of QT4 '^^
monax··on Android Games on PC
I like that many of them are "just" PC port
monax··on Adobe to acquire Figma for $20B
Penpot is foss afaik
monax··on Brutal OS reached milestone 4
yes :) https://discord.com/invite/gamGsfg
monax··on Brutal OS reached milestone 4
Hi, Sorry if our doc is not fully fleshed out yet, the project is still in the early stages, and APIs and idioms keep changing rapidly.

> Modern as in C11?

As in bleeding-edge C23

> Their own, or somebody else's? Why can't they just say which?

Our own

> Which are listed where?

We have a Doxygen doc but it's not published yet.

> Did they reimplement the entire C library?

Yes

Hopes this answers your questions

monax··on Brutal OS reached milestone 4
Thanks, I'm fixing it asap
monax··on Brutal OS reached milestone 4
Working on it https://github.com/brutal-org/brutal/tree/main/sources/libs/...

It as already has some neat feature like C2json

monax··on Brutal OS reached milestone 4
Hi, can you open an issue on Github?
monax··on Brutal OS reached milestone 4
We are still early in development; it still lacks proper filesystem and networking support
monax··on Brutal OS reached milestone 4
Yeah kerning is still WIP
← PreviousPage 2 of 3Next →