[HN Gopher] Brutal OS reached milestone 4
       ___________________________________________________________________
        
       Brutal OS reached milestone 4
        
       Author : monax
       Score  : 98 points
       Date   : 2022-03-28 10:21 UTC (12 hours ago)
        
 (HTM) web link (brutal.smnx.sh)
 (TXT) w3m dump (brutal.smnx.sh)
        
       | ricardobeat wrote:
       | The OS looks quite interesting, but the GUI library caught my
       | attention - hope there are plans to make it available separately.
        
         | mysterydip wrote:
         | They said it runs on macOS and linux, so I would assume so
        
         | supercyp wrote:
         | The gui library is able to be used on Linux. But For the moment
         | we can't do hardware acceleration (but it is still really fast
         | without it).
        
           | encryptluks2 wrote:
           | Are you planning on supporting Vulkan?
        
       | sylware wrote:
       | Where is their "brutal toolchain" (not GNU, not LLVM) able to
       | bootstrap build their OS from kernel to user space? (sarcasm).
       | 
       | I wish they prove me wrong.
        
         | monax wrote:
         | Working on it https://github.com/brutal-
         | org/brutal/tree/main/sources/libs/...
         | 
         | It as already has some neat feature like C2json
        
           | sylware wrote:
           | They are doing it the right way.
           | 
           | But we should not get ahead of ourselves, let's wait for them
           | to fully self-bootstrap 'brutal' with their toolchain.
        
       | ianai wrote:
       | It's not UNIX but it "is" UNIX? That's kind of all I got out of
       | the about.
       | 
       | Glad to see new OS design in 2022!
        
         | monax wrote:
         | The idea is to take all the concepts we like about UNIX and
         | iterate on them. It's UNIX as if it was invented now. For
         | example, let's have a C compiler but let's add lambda and a
         | more complete type system. Or let's have a shell, but let's
         | have full ide like autocomplete to it. Or instead of plain
         | text, let's use JSON
        
           | ianai wrote:
           | Sick. How far along is it?
           | 
           | Any chance of bringing in Plan9 type ideas/concepts? Ie being
           | able to mount remote compute resources similar to mounting
           | file systems in UNIX? (As the one real plan9-ism in mind at
           | the moment.)
        
             | monax wrote:
             | We are still early in development; it still lacks proper
             | filesystem and networking support
        
           | humanrebar wrote:
           | A language like C but with lambdas isn't really C, not that
           | that's a bad thing.
           | 
           | I was a little surprised that a compiler was in scope given
           | the amount of other work that needed to be written and
           | (hopefully) supported, though I guess that's a different
           | issue.
        
             | skissane wrote:
             | > A language like C but with lambdas isn't really C, not
             | that that's a bad thing.
             | 
             | The C standard working group is currently debating whether
             | to add lambdas to the language:
             | 
             | http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2924.pdf
        
             | Ygg2 wrote:
             | > A language like C but with lambdas isn't really C, not
             | that that's a bad thing.
             | 
             | At that point, why not just use Rust?
        
               | msla wrote:
               | Because I might, in some conceivable future, wish to
               | implement that obscure data structure the doubly-linked
               | list.
        
               | ianai wrote:
               | Are doubly-linked lists actually rarely implemented? I
               | thought they were the back end of things like python
               | lists, or something similar.
        
               | ianai wrote:
               | Does rust have an equivalent to the classic KR book?
        
               | Ygg2 wrote:
               | Did Unix? Does C with lambdas has its K&R?
               | 
               | I don't see why it's some sort of requirement.
        
               | ianai wrote:
               | Someone somewhere once likened UNIX to the OS version of
               | C to me, or something like that. There's also the various
               | books on UNIX from those days.
               | 
               | My question though was more about rust as a language.
               | Does it have a golden standard introduction to it like C
               | does. Not 'some sort of requirement', but genuine
               | interest in a clear path to learn the language.
        
               | anthk wrote:
               | After K&R 2nd Ed. (ANSI C) and Modern C (C99) you can do
               | a lot.
        
             | bitshiffed wrote:
             | It's not standard, but Blocks (w/ clang & compiler-rt) have
             | been around in C for a while.
             | 
             | https://en.wikipedia.org/wiki/Blocks_(C_language_extension)
        
           | __d wrote:
           | What (if any) is the overlap with Plan9 (and its various
           | forks and derivatives, including Inferno)?
           | 
           | Given KenC, I was amused to see that Brutal has its own C
           | variant too!
        
       | nyx_land wrote:
       | It's cool and all that there seem to be more alternative OSes
       | gaining momentum recently with things like this and SerenityOS
       | and it's definitely impressive how much work people have put into
       | them, but I can't for the life of me understand why you would go
       | through the massive task of trying to make your own OS and then
       | just copy Unix. These are 60 year old ideas that were largely
       | born out of hardware constraints -- we have the ability to
       | experiment with different design ideas now.
        
         | ianai wrote:
         | There's a lot to be said for ideas which hit it so "on the
         | nail" in the IT world that they manage to stick around for so
         | many decades. An alternative take, too, could be basing an OS
         | on bleeding edge C23 and new releases into the future should
         | act as something of a modern baseline of the UNIX standard.
         | That could be used as a starting point or comparison for future
         | OS development.
         | 
         | Or, perhaps at worst, it probably makes the developers very
         | aware of how the current *nix flavors could be improved from
         | the lowest levels on up.
        
       | konart wrote:
       | That Soviet PC though... Shame we'll never see it.
        
         | mywacaday wrote:
         | What is it, thought it was a render?
        
           | El_RIDO wrote:
           | That's Project SPHINX: https://www.inexhibit.com/case-
           | studies/project-sphinx-when-t...
        
           | rsecora wrote:
           | Soviet computer:
           | 
           | https://www.inexhibit.com/case-studies/project-sphinx-
           | when-t...
        
       | 7xhonks wrote:
       | vv cool! I got it to build and run except I couldnt get the mouse
       | to move, but still seems very neat. Hope I can try contributing a
       | bit!
        
         | monax wrote:
         | Hi, can you open an issue on Github?
        
           | 7xhonks wrote:
           | I'm not sure what was going on, but Its now working.
           | 
           | Also the C code is pretty interesting, I like that its built
           | up result types and generic types but also in c, very cool,
           | if not a little bit wild :)
        
       | PolCPP wrote:
       | That kerning on that "hello world" vector font demo though
        
         | monax wrote:
         | Yeah kerning is still WIP
        
           | 1MachineElf wrote:
           | If it had kerning, then would it still be brutalist?
        
           | rwmj wrote:
           | Honestly the amount of crazy code involved in Linux font
           | rendering[1], and _then_ you get to CJKV support[2], it 's
           | mind-boggling. Even then, it's nowhere near as good as macOS
           | :-/
           | 
           | [1] https://gitlab.gnome.org/GNOME/pango &
           | https://github.com/harfbuzz/harfbuzz
           | 
           | [2] https://www.amazon.co.uk/CJKV-Information-Processing-Ken-
           | Lun...
        
             | copperx wrote:
             | I'll disagree. Linux has better font rendering than Windows
             | and macOS.
        
         | smilespray wrote:
         | In this case, keming is a more appropriate term.
        
         | WithinReason wrote:
         | You mean letter spacing? It looks like there is no kerning
         | going on.
        
       | Brian_K_White wrote:
       | I love this.
        
       | 0des wrote:
       | Very cool project, and i want that hardware badly... But...
       | Please add some margin on your article before someone gets hurt
        
         | NoGravitas wrote:
         | I believe that is a Soviet Project SPHINX system - a design for
         | a smart home network that never actually got produced due to
         | the fall of the Soviet Union.
         | 
         | https://blog.adafruit.com/2021/12/13/project-sphinx-when-the...
        
           | 0des wrote:
           | Even if it only involves stuffing a raspberry pi into
           | something, I want to yell at someone over the phone from my
           | penthouse office in front of that thing while 80s power-
           | montage music plays.
        
           | eternityforest wrote:
           | That's amazing! I didn't even know displays like that existed
           | at the time.
           | 
           | I wonder where we would be now if that had gone according to
           | plan.
        
         | monax wrote:
         | Thanks, I'm fixing it asap
        
           | [deleted]
        
       | 0235005 wrote:
       | Is there a discord server or where does community gathers? This
       | projects seems really cool and I would like to contribute.
        
         | monax wrote:
         | yes :) https://discord.com/invite/gamGsfg
        
       | kome wrote:
       | I don't know why, but I love everything about it. And I just
       | discovered it.
        
         | monax wrote:
         | Glad you like it :)
        
       | dec0dedab0de wrote:
       | What is that hardware in the cover image? Is it even real?
        
         | p_l wrote:
         | It was a design study from Soviet Union in I think 1980s, but
         | no real hardware got built.
        
         | amelius wrote:
         | It looks cool but the keyboard is almost square, making it
         | difficult to touch the keys in the top row while still resting
         | your hands. A flat aspect ratio (like most keyboards have)
         | would be better. It's easier to move your fingers over large
         | distances horizontally than vertically; see also the piano
         | keyboard.
        
           | [deleted]
        
           | 0des wrote:
           | My god sack up man. Your wrists aren't going to break off.
        
             | yjftsjthsd-h wrote:
             | Ergonomics are important, and ignoring or powering through
             | something that can injure you is a poor choice.
        
               | 0des wrote:
               | You know what you're doing right now. Stop it. We are not
               | dainty wristed aliens yet. I love velcro shoes and
               | elastic waistbands as much as the next guy, but this is
               | bordering on comedy. How do you people lift a coffee cup
               | with a straight face while saying this type of stuff?
        
               | HailTheGreenOne wrote:
               | Clearly you have never actually earned money by typing.
        
               | neurotrace wrote:
               | You're right. Lifting a coffee cup with poor ergonomics
               | isn't going to cause any injuries. Typing for hundreds of
               | hours over many years in a poor position can lead to
               | problems such as RSI.
        
         | taspeotis wrote:
         | In most modern browsers you can right click an image and send
         | it to Google to reverse image search it for you.
         | 
         | https://www.reddit.com/r/DesignPorn/comments/ei1pa8/sphinx_s...
         | 
         | https://kbd.news/Project-Sphinx-711.html
        
       | tangus wrote:
       | I wonder if January 11 was a Thuesday or a Thuersday...
        
         | dark-star wrote:
         | A Thuersday, obviously...
         | 
         | They're not only redesigning the OS, they're also redesigning
         | the calendar (and font kerning too, it seems)
        
       | monax wrote:
       | Previous milestones:
       | 
       | 1: https://brutal.smnx.sh/articles/milestone-1
       | 
       | 2: https://brutal.smnx.sh/articles/milestone-2
       | 
       | 3: https://brutal.smnx.sh/articles/milestone-3
        
       | einpoklum wrote:
       | > BRUTAL is an operating system built from scratch in modern C.
       | 
       | Modern as in C11?
       | 
       | > BRUTAL is built on top of a capabilty based micro-kernel.
       | 
       | Their own, or somebody else's? Why can't they just say which?
       | 
       | > BRUTAL targets x86_64, i686, RISC-V and ARM.
       | 
       | Ok, a decent set of targets, certainly for starting out with.
       | 
       | > BRUTAL exposes its features to developers through clean APIs.
       | 
       | Which are listed where?
       | 
       | > BRUTAL features a rich and modern C library complete with
       | fibers, custom allocators, generic data structures, and more...
       | 
       | Did they reimplement the entire C library? Added a backed/port
       | for an existing library?
       | 
       | I like Brutalism in design, don't like Minimalism in
       | documentation.
       | 
       | https://duckduckgo.com/?q=brutalism&t=ffab&iar=images&iax=im...
        
         | monax wrote:
         | 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
        
           | einpoklum wrote:
           | Thanks for the prompt response and +1 for me. But... why
           | spell this out _here_? Add that info to your documentation.
           | For a new OS to be adopted, good documentation is probably
           | even more important than good performance :-P
           | 
           | > As in bleeding-edge C23
           | 
           | Well... looking at what's coming C23:
           | https://en.cppreference.com/w/c/23
           | 
           | I see mostly syntactic sugar and a few adoptions from POSIX;
           | and C17 didn't change much either. So, for me, this is
           | basically C11 - which I still find very modern and does not
           | seem that widely adopted TBH. So good on you. (But make sure
           | to support code in older C standard versions.)
           | 
           | Also, I doubt that it is really a good idea to reimplement
           | libc. I would assume taking on even more work than the
           | already huge effort that is an OS would either slow you down
           | or reduce quality. IIRC, when Linux got started, Torvalds
           | ported gcc along with glibc and also bash. Could you explain
           | your choice of a different direction?
        
           | ianai wrote:
           | This is really awesome. I'll definitely be following the
           | development of this OS!
           | 
           | You figure you'll keep with the bleeding edge C standards for
           | the future?
           | 
           | Also, if someone wanted to build compatibility layers out to
           | other FOSS OSes into the system somewhere would that be
           | tolerated? For example drivers from other OSes could
           | massively improve quality of life and usability.
        
       | [deleted]
        
       ___________________________________________________________________
       (page generated 2022-03-28 23:02 UTC)