logoalt Hacker News

Show HN: Run GUIs as Scripts

19 pointsby zero-st4rslast Friday at 7:28 AM7 commentsview on HN

Hi there, Zero Stars here.

I recently published some new work to Hokusai Pocket, which is a cross-platform binary made on top of raylib and MRuby that runs GUIs from ruby scripts.

License?

MIT!

How does it work?

The binary is available on the GitHub releases page: https://github.com/skinnyjames/hokusai-pocket/releases/tag/0...

You can download the binary on x86 Windows, OSX, or Linux, and run your GUI application with

hokusai-pocket run:target="<your_hokusai_app.rb>"

For a little bit of a hello world, I started a photoshop clone

https://github.com/skinnyjames/hokusai_demo_paint

Also a little game

https://github.com/skinnyjames/pocket-squares

Docs / Help?

The docs are in progress, but the old docs for the CRuby version express some of the basic ideas around the project. https://hokusai.skinnyjames.net/docs/intro

(I'm also available to answer questions in between slinging pizza)

Deps?

Hokusai pocket currently uses

* libuv for offloading cpu intensive tasks to a worker pool to prevent blocking the UI thread, and I plan to integrate some libuv networking as well.

* raylib for backend graphics / I've also built with SDL on arm64 to run applications on my pinephone

* NativeFileDialog for the lovely integration into filesystem.

* MRuby for running or embedding the scripts

* tree-sitter for the custom template grammar (Although templates can be built with ruby)

Anyway, I hope you get a chance to try it. If you make something cool AND have docker installed, you can also publish your work as single binary

`hokusai-pocket publish:target=<your cool program.rb>`

Would love feedback, apps, and help with documentation and more build targets.

urs truly,

@ ᴗ @


Comments

alienbabytoday at 3:56 PM

I see aot if these kinda of links to GitHub repositories with the user obviously keen on showing people, but they then describe what it is / does using specialist / domain language which can make it quite hard to get just what it is I'm looking at, or what I can do with it, and where / why it would be useful. I do wish people would consider their audience after posting 'look at this thing' links, and that people might not quite be as familiar with acronyms and domain specific terminology without a bit more of a plain speaking background description as to what is being shown off! Maybe even some screenshots too.

I mean, I can follow ops intent to a general degree, it sounds interesting, but ..

show 1 reply
apitmantoday at 2:37 PM

This is potentially very interesting to me, but I'm having a hard time under exactly what it is. Could you give a little background on what motivated it, and what the core features are?

show 3 replies