Hacker News new | past | comments | ask | show | jobs | submit login
The Murgia Hack System (mhsys.org)
139 points by ingve on Oct 13, 2018 | hide | past | favorite | 12 comments



    As opposed to other kernels and microkernels – probably –, 
    MH is based on a completely random ideology, picked arbitrarily, 
    in a Cambridge pub, after evidently too many beers.
  
    Unimpressed by the lack of shape in modern software, some day in 2014
    I thought that it would be really cool to build a system made of 
    tangible abstractions. A system described in terms of objects that can 
    be very easily understood would be – I decided – very pleasant to play 
    with, and to use as a base for complex systems!
Fun and quite Kay-ish


Main website: http://mhsys.org/index.html

Source code: https://github.com/mhsys/mh

"MH is free software" and there's a link to GNU, but I don't see an actual license anywhere.

"it is possible to use NetBSD drivers, filesystem and other code in userspace to driver real hardware, it has a complete libc in userspace, Newlib, and has a really useful native runtime system, libmrg" - that is promising, even though there are notes about this still being early / not useful, etc.


There's an open Github issue where the author clarifies that his own code is BSD, and he puts the license of each file in its header.


Convenience link to said issue: https://github.com/glguida/mh/issues/1


Oh, weird that there are 2 repos. The one I linked doesn't have issues enabled (I looked there first).


From the news page[1]:

> The MH development repository has moved from https://github.com/glguida/mh to https://github.com/mhsys.

> Now that we have multiple external projects, like rumprun-mrg, and a strong interest in adding more ports for the mh userspace, it make sense to have a place to have all MH related code.

[1] http://mhsys.org/news/


Yes, I planned to move and continue development to mhsys.org after I needed to have multiple repositories. Having said this, I have a few outstanding patches that fix the tool chain building — a change got lost in the split.

Thank you for your interest btw; this was completely unexpected and a rather pleasant surprise!

Development is currently stalled mostly for personal reasons, but I am more than available to help and answer questions to anyone interested in it.


Question 1: where does the name come from?


"murgia, the hills where I grew up (Apulia, Italy)" https://www.youtube.com/watch?v=K1lbWtiTw4o&t=2m24s


It can be an interesting evolution of Unix "everything is a file". This potentially simplifies everything - threading, signals, pipes, asyncronous I/O.

I have the impression that Microsoft tried to do everything is a device in post-NT systems but I can't remember the details.


> Everything is a device!

There Are No Things. [0] ... only actions and properties. Everything is an actor [1].

In his Turing lecture, Robin Milner wrote [2]:

  Now, the pure lambda-calculus is built with just two 
  kinds of thing: terms and variables. Can we achieve 
  the same economy for a process calculus? Carl Hewitt, 
  with his Actors model, responded to this challenge 
  long ago; he declared that a value, an operator on 
  values, and a process should all be the same kind of 
  thing: an Actor.

  This goal impressed me, because it implies the 
  homogeneity and completeness of expression ... But it 
  was long before I could see how to attain the goal in 
  terms of an algebraic calculus...

  So, in the spirit of Hewitt, our first step is to 
  demand that all things denoted by terms or accessed by 
  names--values, registers, operators, processes, 
  objects--are all of the same kind of thing; they 
  should all be processes.
And now today Hewitt's elusive true mythical Actor model may have finally been realized and embodied in a language called Pony [3].

[0] https://www.edge.org/response-detail/11514

[1] https://en.wikipedia.org/wiki/Actor_model#Fundamental_concep...

[2] https://en.wikipedia.org/wiki/Actor_model#Theory

[3] https://github.com/ponylang/ponyc


Reminds me of QNXx




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: