Email or username:

Password:

Forgot your password?
53 comments
Devine Lu Linvega

@arbe well right now it's using an int, but I might make it loop around an unsigned short for good measure :)

Devine Lu Linvega

Built the stack-machine operating system(or, a kind of livecoding playground) of my dreams this afternoon. Where's that factor raptor with sunglasses emoji

Lizbeth

@neauoire that's insane, really makes me want to setup a little uxn shortcut on the desktop to get into there, it really makes computer stuff looks fun again

Devine Lu Linvega

@ritualdust Once it's a bit more fleshed out, I'll make you a launcher that does exactly that ^^

Helvetica Blanc

@neauoire @ritualdust OMG please! I cannot seem to get it running on MacOS, but I also get lost at the terminal quite easily.

Devine Lu Linvega

@helveticablanc @ritualdust it's really not in a state that can be used easily, gimme a bit of time and it'll be usable.

The advantage of this is that it's easier to use than uxnemu which expects that you give it a rom path, this, you open it, and start playing.

Helvetica Blanc replied to Devine Lu Linvega

@neauoire @ritualdust Oh yeah, I'm in no rush! Its so cool to watch you develop it tho!

Devine Lu Linvega

The wm is basically 100 lines of code, but it does pretty much all I need.

Kiëd Llaentenn

@neauoire Oh wait, the wm is uxn? how?

Btw, have you seen sowm? Tiny X11 window manager written by the Neofetch guy. github.com/dylanaraps/sowm

Devine Lu Linvega

@unlkfp yeah I came across it a little while back :)

What I'm going for is rio meets puredata

Devine Lu Linvega

The window manager's dropdown menu is its own little Uxn program connected to the main OS node, that will spawn new program nodes.

Devine Lu Linvega

I don't know why I didn't do all this sooner, I wasted so much time trying to contend with i3 and unix's bullshirt.

Alexander Ilyin

@neauoire What do you consider UNIX's bs in this context?

Devine Lu Linvega replied to Alexander

@creitve having only stdin/stdout/stderr for program communication, and the pain of forking routing, and in this case, one thing I really like, is allowing one program to poke() at another program's running memory as a form of pipe.

As well, as all this is stored as an image, recovering state is going to be really easy, it's not tangled into any parts of the subsystem.

pikuseru replied to Devine Lu Linvega

@neauoire @creitve I think you may have just made your own version of a Smalltalk-esque programming environment (like Squeak) 👀

Devine Lu Linvega replied to pikuseru

@pikuseru @creitve yup, I'm going for something similar, although, programs don't expose any symbols table. So I can't say, write to a specific value stored in an object, the "objects" have a singular API which is the varvara specs. It's kind of simplistic, but it should get me where I need to go :)

wiki.xxiivv.com/site/varvara.h

Jack Rusher

@neauoire I’m also surprised you didn’t, especially given Plan9 :)

Devine Lu Linvega

Routing the menu directly into Left makes Left work as a sort of debugger for message passing.

efelbar

@neauoire this really reminds me of some of the things @prahou was scripting in ratpoison, but ohmygod your ui looks elegant! crazy what you can come up with if you leave the constraints of existing software :)

(side note: i've been thinking about a low-power portable computer system for ages now and this looks like the dream wm/os for it! do you know what the current state of running uxn close to metal is?)

Devine Lu Linvega replied to efelbar

@flbr @prahou yeah, it's pretty much a solved problem. See @gustav's uxnfloppy :)

efelbar replied to Devine Lu Linvega

@neauoire @gustav ah oh course! now i'm remembering seeing their progress; i'll have to check it out in more detail :>

[DATA EXPUNGED]
Devine Lu Linvega replied to DELETED

@jameschip yup, so you can connect one output to various programs to fork the stream.

[DATA EXPUNGED]
Devine Lu Linvega replied to DELETED

@jameschip yeah that was the idea. Data can go both ways, but it uses uxn's event flow, so there's 256 bi-directional named ports to communicate data with. Each can trigger various events in the next program, like a refresh, a resize, a note, etc..
wiki.xxiivv.com/site/varvara.h

[DATA EXPUNGED]
Devine Lu Linvega replied to DELETED

@jameschip not really, it just has to be a valid varvara rom(standard uxn program), they always have the same base API to draw pictures, and write files and so on.

I can move the cursor of another application by writing to that application's Mouse/x port, and that, in turn, triggers a Mouse/vector, which the application will respond to because that's what roms do.

[DATA EXPUNGED]
Devine Lu Linvega replied to DELETED

@jameschip yup! That's how files, stdio, etc are passed around in Varvara. I should have to need the file's symbols to communicate with it.

Repeter wants an Ukr victory

@neauoire You're doing something amazing now. I don't understand what it is but I like it and please don't stop.

Devine Lu Linvega

It's starting to be usable enough that I can build the OS from within itself. I no longer need to rely on unix pipes to route data between programs, I can just paint little lines between them. :mac:

The linter rom is the little black dot, I currently don't have anything to draw roms that don't use the screen device.

efelbar replied to Devine Lu Linvega

@neauoire i'm so excited watching you work on this :D
maybe you could draw a rom's icon if it has one, and just the filename if it doesn't?

Devine Lu Linvega replied to efelbar

@flbr yes! I'm hoping to grab the rom's metadata next and display it :) you're one step ahead of me!

efelbar replied to Devine Lu Linvega

@neauoire haha suppose i should have figured :P

Devine Lu Linvega replied to Devine Lu Linvega

Finally figured out a robust way to fork all communication, so I can send the data to different programs, so say I want to print an image alongside its hexadecimal value, I don't have to pass it into the image viewer and then to the hex viewer.

Those are all uxn programs, the dropdown is its own rom, so is the log viewer, it keeps the emulator really simple, giving it the only task of managing Uxns:
git.sr.ht/~rabbits/porporo/tre

voxel replied to Devine Lu Linvega

@neauoire does the sender wait for all of the receivers to indicate that they're ready to receive? Do they have input buffers that are always writeable? I'm wondering what happens if multiple programs try to write send to a receiver at once, or if one receiver becomes 'unready to receive' during its execution

Devine Lu Linvega replied to voxel

@voxel yeah it will wait, and events will be queued until it's ready to go through. I might have fun with more non-deterministic stuff in the future, but I haven't found a use for it yet, so it's all sequential atm.

charlie replied to Devine Lu Linvega

@neauoire so excited to see this evolve. you got me here wondering about the implications of connecting ports other than console in and console out, this aspect could be really fun to explore!

Devine Lu Linvega replied to charlie

@bellinitte yeah, there's plenty to try with this! I feel like I haven't even scratched the surface

Leon replied to Devine Lu Linvega

@neauoire @bellinitte I always wondered what it would be like to have an OS where I could explicitly and visually patch sound, data, events, hardware etc like a modular system.

Fabian replied to Devine Lu Linvega

@neauoire Awesome. I am blown away by the fact how capable UXN is. 🤩🎉

tenshi replied to Devine Lu Linvega

@neauoire this is incredible, i can imagine routing audio through a bunch of little programs for doing music, mixing, etc.
like unix pipes, but graphical!!!!! wild

David JONES

@neauoire yay Display Postscript! I'm not sure if it worked anything like this but it's what this reminds me of.

Tendigits

@neauoire amazing! It’s funny, I assumed from earlier posts you were diagraming architectural plans for the system, I didn’t realize the boxes and lines would literally be floating interconnected roms. I’m enjoying how it’s so visually intuitive.

Jonas

@neauoire Nice! Where does that leaves Potato in all this?

Go Up