News for hackers. Stuff that matters.
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by Intralexical on Monday March 04, 2024 @11:53PM (#39599579)
So… Somebody submitted Half Life/Xash3D as a Puter app:

https://puter.com/app/half-life-c3j01ag3pyd

It looks like it's using a build of the below, hosted on GitHub.io:

https://github.com/Pixelsuft/hl

Re:Show HN: 3 years and 1M users later, I just open-sourced ... by patife on Tuesday March 05, 2024 @12:09AM (#39599654)
:o
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by kgeist on Tuesday March 05, 2024 @01:58AM (#39600216)
I wonder what are the security implications. I just opened a random URL and an arbitrary application was launched inside my Internet OS desktop. What if someone gives me a link to a malicious password stealer, for example? I think a permission system would be nice.
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by Intralexical on Tuesday March 05, 2024 @02:16AM (#39600313)
There is a permission system I think. It's described in the developer docs:

> […] your app will get a few things by default: […] An app directory in the user's cloud storage […] A key-value store in the user's space […]

> > Apps are sandboxed by default! Apps are not able to access any […]

https://docs.puter.com/security/

I guess that refers to the cloud storage/backend. Clientside apps seem to run as IFrames, so should be subjected to normal browser sandboxing (…and actually, I guess, multiprocessing too), with only explicit message-passing.

Honestly I think the developer API could have been better highlighted by this HN post. Puter's actually doing a bit more than the Desktop Environment mockup that's visually apparent, and not featuring that seems like a wasted opportunity to pick up some app developers.

Re:Show HN: 3 years and 1M users later, I just open-sourced ... by evere on Tuesday March 05, 2024 @02:29AM (#39600381)
Maybe it could be "sandboxed" in an iframe?
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by splatzone on Tuesday March 05, 2024 @05:20AM (#39601529)
I can't get past the menu, is it just me?
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by TrackerFF on Tuesday March 05, 2024 @07:21AM (#39602406)
worked fin here, launched a multiplayer game - everything seemed smooth.
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by samieljabali on Tuesday March 05, 2024 @05:38AM (#39601651)
Got to use the keyboard to navigate the menu.
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by RobotToaster on Tuesday March 05, 2024 @09:20AM (#39603754)
Not working on firefox for me.
Re:Show HN: 3 years and 1M users later, I just open-sourced ... by LeonM on Tuesday March 05, 2024 @08:02AM (#39602770)
Honestly blown away by this. Graphics, audio, everything just works (tm).

I've seen many 'desktop in browser' type demos over the years, but never anything like this. This is impressive on so many levels.

Re:Show HN: 3 years and 1M users later, I just open-sourced ... by Intralexical on Tuesday March 05, 2024 @02:48PM (#39608357)
On a technical level it's actually not that impressive. Mozilla got BananaBread/Sauerbraten running with WebGL on netbooks over a decade ago, with much more advanced graphics than Xash3D:

https://kripken.github.io/misc-js-benchmarks/banana/index.ht...

https://wiki.mozilla.org/HTML5_Games/BananaBread

The Half Life "app" above actually just wraps an existing Emscripten port in an IFrame. Puter does provide an abstracted filesystem (and other "OS" features), but I don't think the app above uses that, so it's no different than if you went to `data:text/html,IntralexicalOS!<br><iframe src="https://pixelsuft.github.io/hl/" style="width:50%;height:50%">`.

But actually I think putting together such a simple technical concept that works this well is the impressive part, that hasn't been done before. You can now take any existing web build of any app, and by adding a couple calls to `puter.fs.write()`, deploy it to a familiar virtual workspace where you get multitasking, cloud storage, and interoperation with other apps, for free.