For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | more mihaip's commentsregister

(I’m the author of the post)

The solution we ended up with was partially a matter of the minimum change to fix the issue, and partly because we have a lot of platforms to cover with a small team, so the fewer platform-specific concepts we have (frameworks in this case), the easier it is to maintain.


I'm the creator of the site, thanks for the submission.

This is an in-progress port of the SheepShaver emulator to WebAssembly/Emscripten, https://github.com/mihaip/infinite-mac/issues/34 is tracking the remaining work.

If you're interested in running older Mac software in the browser, the BasiliskII-based sites at https://system7.app/ and https://macos8.app/ may be better bets. They will boot faster and have fewer compatibility issues (especially System 7).

The main thing that Mac OS 9/SheepShaver brings is PowerPC support. There is also a variant of System 7 for PowerPC with more esoteric mid-90s Apple projects like OpenDoc and QuickDraw GX installed available at https://system7.app/?domain=system7-ppc.app.


I'm a little disappointed that "Just Grandma and Me" isn't a first person shooter but other than that, great work!


Hi, it's a great project, although I found out that some 68k and PPC software seems to have required things that aren't emulated by either BasiliskII nor Sheepshaver, or at least so it looked when I was playing with it - tried running Macintosh Common Lisp and it always seemed to crash.

Still, reminds me of plying with vMac long ago and this weird world of, to our perception then, barely usable machines ;)


Awesome, this is so cool! I remember MacOS 9 with a mix of fondness, hatred, and nostaglia. OS X was definitely a big improvement when it came out (I remember OS 9 having so many crashes), but some of the charm was definitely lost.

And these .app domain names you're all using in this space are great and totally apt. I love to see great usages of my work in the wild like this.


> I love to see great usages of my work in the wild like this.

Out of curiosity and ignorance--what is the work you're referring to here which is being used for the project / website? The comment makes me feel it's the (dot)app TLD, in which case--fascinating! But also what does it even mean to work on something like that?


I believe GP is the lead engineer of Google Registry. .app is owned and run by Google.


Indeed that is correct. For more information see:

https://registry.google

https://nomulus.foo (our open source software that runs our TLDs)


OS9 always seemed like little improvement over OS8. The biggest thing I remember was this was when they introduced the Applications folder. It's like they were trying to get you to get used to how the structure in OS X was going to be, but with no explanation.


OS9 was really just 8.7 but, as you describe, a stepping stone towards 10, both numerically and with a few nods to the future, e.g. Keychain Access, CarbonLib, and file/printer sharing over TCP.


Carbon worked all the way back with Mac OS 8.1

https://en.wikipedia.org/wiki/Carbon_(API)


Carbon was a moving target; each "update" cut more core MacOS tools and added OSX service interfaces. It was quickly obvious that there was no intention of letting MacOS run in the future, so why port to Carbon? many social signals in the developer group at the same time.


Correct, but it wasn't shipped with the OS until MacOS 9.


Yeah, so looking back at the release dates of these, I definitely used at least back through OS 7, but I can't say I remember anything specifically about them because it's fading into the haze of youthful memories. In my mind it's all just pre-OS X and post-OS X, as that marks by far the biggest change in Mac OS functionality that I remember.


I love that this exists. Time to time I crave playing some of my childhood games that are OS9 based and setting up sheepshaver is a pain. This will help me to get my kicks playing some old games for the few minutes I intend to play them :) thanks!


I really love your project. It is a giant pain in the ass to get BasiliskII and/or SheepShaper working, at least the few times I've messed with them. Is it possible to run this offline or in some kind of encapsulated web app form?


If you have experience with QEMU now there is good support for MacOS 8/9/X in ppc and there is an alpha version with initial support for System 7/8/A/UX on 68k. It's still a PITA but at least it's similar to the PITA of other QEMU VMs, which you may be familiar with.


There's a professor at Columbia University that has good prebuilt SheepShaver packages with OS 9:

Mac: http://www.columbia.edu/~em36/macos9osx.html Windows: http://www.columbia.edu/~em36/macos9win.html

There's not much in the way of third-party software included in these images, but it's a good starting point.


I'll testify to this software, I use it on my i9 Catalina Mac and it works great.


macintosh.js (https://github.com/felixrieseberg/macintosh.js/) is an Electron packaged version of an earlier iteration of the BasiliskII Emscripten port.


This is really great. I can't seem to get sound working on Firefox, though.


so cool, thanks for making this! Love that you have escape velocity!


I immediately checked for EV and was stoked to see it!! I haven’t played that game in decades…so many good memories. SOL?


Fantastic work.

Could this have implement dynamic screen resolutions, like Qemu/Virtualbox/Vmware guest extensions do when virtualising other operating systems ?


Having worked with it extensively, how would you say the performance of SheepShaver compiled to WASM compares to a natively compiled VM binary?


Is there a way to browse the Web somehow?


wine em, dine em, OS 9 em!


Doesn't load on my mobile firefox and it tries to hijack browsing history (have to fight with it hitting the back button to get back to HN).


No native client is running. The browser makes a WebSocket connection to our relay server, and we run the WireGuard tunnel over that.


You mean WireGuard (in userspace w/ netstack) tunneled in WebSockets to DERPServers, correct? What sorcery is this. (:


Tailscale SSH's check mode (https://tailscale.com/kb/1193/tailscale-ssh/#configure-tails...) is meant to address the issue of "rogue process starts an SSH connection". For truly sensitive applications, you can set the check period to be "1s" to always require it.


Hmm. If the problem is that Tailscale SSH doesn’t strongly associate the person authenticating with the connection being authenticated, asking the person to reauthenticate seems like a pretty weak solution.


Unless I'm misunderstanding something, the check solution creates that strong association. Logging in gives you a link you have to go to and auth, authing let's your session connect. Disconnect, and you have to do this again.

No check mode reuses the auth of the tailscale client, check mode authenticates the ssh connection itself


And then that tailscale client is authorized to log in over ssh for however long the check lasts, and anyone else who can initiate a TCP session over the link can also get in.


https://oldweb.today/ gives you that experience, using some of the same building blocks.


Boy did I go down the rabbit hole today with this. I found so many sites from my past that I ended up looking up in the Internet Archive just now. I really miss the web from 25 years ago. Design was simpler and things loaded fast. The focus was on content, not chrome (and tracking the heck out of you).

I know this is rose-colored glasses but hell, even interacting with the old Windows and Mac OSes was a breath of fresh air. There are things that show their age but there are also things that make it really easy for me to find my way around a computer.

Thanks for the link. That was a great trip down memory lane. I wonder if we'll ever adopt some of that old stuff ever again.


> things loaded fast

Did they really, though? Or did we just have more patience for general slowness back then? Things were simpler, no doubt, but the computers were also much slower (if you didn't have much RAM, loading a webpage would probably result in paging to the disk), the network was slower (even if you were lucky enough to have a T1, you were probably connected to it via 10 Mbps half-duplex ethernet), the servers you connected to were slower...

Don't get me wrong, I adore the simplicity and hackability of older systems, but I have a PowerMac G3, and even after maxing out the RAM at 768 MB (at launch, the max was 384 MB because there were no 256 MB DIMMs to test with), swapping the old 12 GB IDE HDD for a 32 GB CF card, fixing the ATI extensions to enable the dedicated GPU, and connecting it to a multi-gigabit network with symmetric gigabit fiber internet, there's only so much performance you can squeeze out of these things. Even loading 90s-era webpages on 90s hardware (with 2000s upgrades) is slower than loading many modern webpages on modern systems.


Oldweb.today kicks ass. Great project. If you're scrolling by wondering whether it's worth putting in your list of sites to visit, definitely do it.


Creator of the site here. There's a blog post with the technical details if you're curious about how it works and whose work it builds on: https://blog.persistent.info/2022/03/blog-post.html

There are also a couple of variants that boot either System 7.5.3 or KanjiTalk 7.5.3 (the Japanese version of MacOS): https://system7.app/ and https://kanjitalk7.app/


In middle school, we had a math teacher with an old mac setup that ran a physics simulator program. It came with a variety of starter templates, one of them was this crash test dummy in a car.

It was all polygons, but you could hit run and the car would accelerate and hit a wall then the circle head and arms would sort of fly around.

Anyone know what this software was? I remember running and re-running little simulations repeatedly, with little understanding of the science but very much enjoying the ragdoll physics of it.


Working Model, by Knowledge Revolution. I used to work there, and my first project was making the jump from 2D to 3D.


This is why I love this orange site.


Logged in users can change that color. For me it’s green.


Green is best, although that orange bar reminds me of Hercules monitors.


You’re missing out


Any stories / surprising bits from working there?


Oh man, there’s a 3D version? I has endless fun playing with the 2D one in the uni computer lab.


I was going to say Interactive Physics but I think that came prior to that, by the same people



I remember two programs like that, one that my middle school had called "Fun Physics," and one my high school had called "Conceptual Physics." The interfaces were exactly the same, and it wouldn't surprise me if Conceptual Physics was a rebundled version sold along with Paul Hewitt's course. Unfortunately, those names are so generic that I can't find them on Google.


You could author workspaces in Working Model and I dimly remember Fun Physics was built using WM.


Old software can frequently be found on archive.org—with much more focused selection than ‘the whole web’.


Oh wow, I remember this for sure. What a throw back. What was it called?


MATLAB or something from MathWorks?


I caught this the last time it came around HN. Thanks for making this. Browser accessibility of these classic systems and the painstaking work you undertook to integrate all of the third party software is really important for preserving the experience we had growing up with these machines.

My son regularly asks me to play Lemmings now because of this app :)


I poked around a few weeks ago and ran into a variety of errors when I dug into the more hardware-specific bits.

So I was shocked when I could use the Disk Copy utility to image Macintosh HD right into the Uploads folder & onto my (real) desktop.

"It Just Works" in the best Mac sense. Amazing job.


HOLY SHIT! You have a working ver of Bryce KPT! from 1994!

Jeasus - that brings back so many shitty 3D city scapes I made back then/

Can you get Aldus Pagemaker (5.0 preferably, /r/beggingchoosers, and all that) running on this please.


I haven't tried this myself, but you should be able to download and install it from https://macintoshgarden.org/apps/aldus-pagemaker-50 (drag the .sit on the emulator, and it'll be copied to the "Downloads" folder). You can then use StuffIt Expander to unstuff the .sit and Disk Copy to mount the install images (both are in the "Utilities" folder)


Incidentally, Apple reseller resource CDs[1] also contained fully functional copies of PageMaker, licensed only for customizing Apple marketing materials, along with the assets (product photography, custom Apple internal-use fonts) required to do so.

Creating period-correct marketing materials for projects like this emulator could be a fun art project.

[1] https://archive.org/search.php?query=arple


Holy hell. Thank you for that website. When I was a kid I downloaded a game called “Foodfight” from the Internet cafe. However, when I got the floppy home, I attempted to run it on my dad’s Mac but it would not launch. For the last 25 years I’ve periodically wondered about that game, if it was any good or not, and why it didn’t launch (first mystery solved, it’s written in HyperCard!). I can’t wait to tell my dad.


BitLowskii! REPORTE!


Welp, I can sorta get it there -- but I cant figure out how to install it after mounting:

https://i.imgur.com/WRNDdjB.png

https://i.imgur.com/Pedlilm.png

---

Whats really interesting to me about this, was that just ~last week or so, I was wondering what ever happened to Kai (Kai's Power Tools - Kai was the inventor of it and it was a revolutionary glimpse into the future of what 3D worlds were going to be put into the hands of the masses via PCs.)


Once you have the disk mounted in your second screenshot, drag (all?) the 1.image files onto the Disk Copy window to mount each individual floppy, and inside "1" is a Utilities folder with a How to Install and a Aldus Installer/Utility app.


Is there a way to use appletalk on a LAN? I would love to get a game of multiplayer bolo going in my office.


There is! netatalk on linux is the package you need for that, and it's still built in to BSD, I believe. now weather that package still speaks the older versions of the protocol, who can say. Interestingly, a challenge you would have with this because this emulator is web based, your networking options would be fairly limited, even if you could emulate netatalk, the browser's security features would preclude you accessing hosts than the server it's on, it's the same reason Fabrice Bellard didn't add networking to his jslinux project.


netatalk provides macintosh fileshare hosting services on unix/linux. It has nothing to do with this use case.


Something involving a web server, a websocket (ws) server acting as a switch or repeater, a emulator specific websocket client to act as a network adaptor. Each emulator would then send packets via websocket to the ws server which would then send to the other connected ws clients. All the ws would be abstracted behind the emulated network adapter.

That would give you enough to let a bunch of Bolo addicts go to the same site and play multiplayer. It would also let them share files amongst those emulators.

But that wouldn't necessarily let any of them talk to an appletalk server near the server, eg on its real lan. For that you'd need a tuntap thing acting as a bridge or router.

That said, you probably wouldn't require that appletalk/netatalk server. As long as one emulator holds the maps or files etc you could use that as a file server. No tuntap required.

Hmmm...


Since you can't listen for incoming connections from a browser, most likely no.

Coincidentally, Bolo networking was originally designed for serial networks like LocalTalk. The same network logic was used when UDP support was added. So there are assumptions made about learning of another player's network address from an third player, and is the reason why ubiquitous NAT broke Bolo internet gaming.

But if you have an old Mac around, you can play internet Bolo games using a Bolo packet re-writing proxy I wrote. We schedule games occasionally over at 68kMLA.


BOLO WAS THE BEST!


Maze Wars and Spectre VR were pretty fun on AppleTalk too.


Ah, giant 3d polygons. They just don't make games like they used to!


As someone who was involved in the creation of Infini-D back in the day, I can only say that this brought a smile to my face and that I've shared it with the whole original team. Thank you! Thank you!


Hey there! I opened Resedit and began deleting things in the System suitcase. Jammed the emulator up pretty good! Reloaded the page and it rebooted. Great work!


I would love it if you could include the game lunatic fringe in this.


Lunatic Fringe was part of After Dark, which is in the Control Panels & Extensions folder. If you drag that to the "Control Panels" folder in the System Folder and restart, it'll be enabled, and you can choose it.


There's an open source web version I worked on at GitHub if you want to play an in-dev version that works on modern computers.

https://github.com/jackinloadup/lunatic-fringe

Click to play: https://jackinloadup.github.io/lunatic-fringe/


Very impressive. A fantastic next step would be to emulate a NeXT so you can run WorldWideWeb, Tim Berners-Lee's original browser+editor. A bit like https://worldwideweb.cern.ch/ but including the whole NeXTSTEP system around it, allowing for looking at source code, editing pages, etc.

What a great tool that would be for educating how the original Web was built.


Just as a heads up -

I went to go create a new project in Think Pascal, and when I tried to enter a name all my keystrokes came out as boxes.

Using Chrome 100 on macOS Big Sur. English (Canadian) key layout.


This seems to work OK for me. Any chance a modifier is stuck down (try pressing command, option and shift to reset their state). If this still happens, can you file a bug at https://github.com/mihaip/infinite-mac/issues/new?


Any chance you can add Meat Gone Bad? https://www.macintoshrepository.org/6032-meat-gone-bad


Can I update the System 7.5.3 machine to A/UX?


A/UX is very picky about hardware. You can run it in the Shoebill emulator


Minor nitpicking: For some reason, the scroll thumbs (and their ghosts) do not work (visually). Otherwise, great work!


Thank you for the magnificent trip down memory lane!


Really awesome work!


This particular issue has been reported as https://github.com/mihaip/infinite-mac/issues/20



The tool caches the API responses (in the _raw_data directory), so if you're re-running it, most of the initial requests will be served from the cache.

If the XML parse errors are listing any item IDs, feel free to email them to me (mihai at persistent dot info) and I'll see if there's any workaround from my side.

Edit: If it's "XML parse error when fetching items, retrying with high-fidelity turned off" messages that you're seeing, then those are harmless (assuming no follow-up exceptions). The retry must have succeeded.


Have you tried the JSON API? (See the requests that Google Reader itself makes.) It requires no cookies and supports getting up 1000 items per continuation.


I wrote most of Reader's JSON API in 2006-2007 :)

The tool uses the "high-fidelity" Atom output mode for getting at item bodies. That preserves namespaced XML elements and other extra data from the feed. It uses JSON for everything else, and will fall back to regular Atom output if the high fidelity mode is not well-formed (it was added in late 2010, as things were winding down, and thus never got a lot of testing).


I tried this with a canvas (putImageData with alternatively the positive and negative frame) and it wasn't any faster on desktop Chrome (and slower on iOS devices).


Yep, its true. Maybe you should try using an animated gif.


I tried that too (https://github.com/mihaip/web-experiments/blob/master/tempor...). It still flickers, I'm guessing because the frame delay interval is specified as an integer, and both 16 and 17ms don't quite line up with 60Hz (or whatever the screen's refresh rate is).


The only suggestion I have left is to convert it to a video; that is always difficult to snapshot anyway.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search:

HN For You