[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)