News for hackers. Stuff that matters.
Re:The Linux realtime preemption endgame is near by vacuity on Thursday November 16, 2023 @04:38PM (#38295926)
Recently, I've been thinking that we need a microkernel design in applications. You have the core and then services that can integrate amongst each other and the core that provide flexibility. Like the "browser as an OS" kind of things but applied more generally.
Re:The Linux realtime preemption endgame is near by galdosdi on Thursday November 16, 2023 @05:53PM (#38296807)
Yes! This reminds me strongly of the core/modules architecture of the apache httpd, as described by the excellent O'Reilly book on it.

The process of serving an HTTP request is broken into a large number of fine grained stages and plugin modules may hook into any or all of these to modify the input and output to each stage.

The same basic idea makes it easy to turn any application concept into a modules-and-core architecture. From the day I read (skimmed) that book a decade or two ago this pattern has been burned into my brain

Re:The Linux realtime preemption endgame is near by blackth0rn on Thursday November 16, 2023 @06:26PM (#38297117)
ECS systems for the gaming world are somewhat like this. There is the core ECS framework and then the systems and entity's integrate with each other
Re:The Linux realtime preemption endgame is near by spookie on Thursday November 16, 2023 @06:38PM (#38297228)
ECS is incredible. Other areas should take notice
Re:The Linux realtime preemption endgame is near by whstl on Thursday November 16, 2023 @07:07PM (#38297473)
Agreed. I find that we're going in this direction in many areas, games just got there much faster.

Pretty much everywhere there is some undercurrent of "use this ultra-small generic interface for everything and life will be easier". With games and ECS, microkernels and IPC-for-everything, with frontend frameworks and components that only communicate between themselves via props and events, with event sourcing and CQRS backends, Actors in Erlang, with microservices only communicating via the network to enforce encapsulation... Perhaps even Haskell's functional-core-imperative-shell could count as that?

I feel like OOP _tried_ to get to this point, with dependency injection and interface segregation, but didn't quite get there due to bad ergonomics, verbosity and because it was still too easy to break the rules. But it was definitely an attempt at improving things.

Re:The Linux realtime preemption endgame is near by gigatexal on Saturday November 18, 2023 @08:31AM (#38319362)
ECS?
Re:The Linux realtime preemption endgame is near by vacuity on Saturday November 18, 2023 @10:25AM (#38320561)
Entity-component-system paradigm. Compared to OOP, ECS is more "data-first". It's like a database of components (attributes such as Position, Velocity, Player) with entities (simple integer identifiers) as keys. Systems are functions that query for components and perform actions on them. See Shipyard, enTT, Bevy, flecs, etc. The design space is still evolving.
Re:The Linux realtime preemption endgame is near by gigatexal on Sunday November 19, 2023 @01:42AM (#38329822)
As a database guy I really can get around this. OOP hurts my head sometimes when the hierarchies get too deep.
Re:The Linux realtime preemption endgame is near by vbezhenar on Friday November 17, 2023 @12:23AM (#38299913)
COM, OSGI, Service architecture, microservice architecture and countless other approaches. This is correct way to build applications, because it gets reinvented over and over again.
Re:The Linux realtime preemption endgame is near by elcritch on Friday November 17, 2023 @03:50AM (#38301080)
That’s pretty much what Erlang/OTP is, and it’s like a whole OS. Though it lacks capabilities.