HNHacker News
TopNewBestAskShowJobs

mlaux

203 karma · joined April 1, 2016

My cool projects: http://constcast.org/

Software consulting: https://misosoftware.com/

matt@misosoftware.com

submissionscomments
mlaux··on Ask HN: Who's still keeping a DOS machine up because the business depends on it?
The serial port stuff is very close to what I'm working on - what's on the other end of the connection? What does "integrating them into modern systems" look like for you: getting data out/pushing data in/both?
mlaux··on Ask HN: Who's still keeping a DOS machine up because the business depends on it?
Not exactly, freely available solutions are already good enough for people who just want to run their apps on modern hardware, and have been for a long time. What I was thinking about writing is a tool that eases migration by using interrupt and I/O hooks to detect common patterns and, say, builds a modern SQLite database as the business uses their dBase program. Whether anyone actually needs this, I don't know.
mlaux··on Ask HN: Who's still keeping a DOS machine up because the business depends on it?
My idea is basically a DOS runtime with hooks on interrupts and I/O that would allow for either migrating databases to modern formats, or converting I/O accesses for modern USB peripherals. Customization for every customer and AI not being much of a help are pluses for me... lack of money not so much.
mlaux··on Ask HN: Who's still keeping a DOS machine up because the business depends on it?
My idea is a DOS emulator with a really thorough log of every DOS interrupt called and I/O port interacted with. This could then be used to automatically, say, insert rows into a sqlite table when the DOS app updates a .DBF file, or forward GPIB data to a modern USB adapter. I wanted to avoid low level/cycle-accurate emulation as much as possible, only adding quirks as needed to support the most popular business application suites.
mlaux··on Show HN: Copperhead – Cursor for circuit boards
While this new competency of LLMs in EDA is objectively neat, I can't help but feel a little sad about the way this is going. Electronics projects are my refuge from the new hyper-speed low-quality software world. I want to "just not use it" and continue to enjoy electronics, but if I ever want to turn one of my ideas into a product, I'll be up against people who are building extremely quickly and to a lower quality standard. Yes, potential users of a cool new gadget care about having their problems solved above all else, but I can tell this is going to turn into another field we're all here saying "what happened to craft?" about, and idk, I just don't like it. And this is coming from someone who enjoys (turn by turn) LLM-boosted programming.
mlaux··on Claude Fable 5.1 and Claude Mythos 5.1
Looks like all three breaking changes are patches for inadvertent chain of thought disclosure. Someone found out (don't have the tweet handy) that if you created a bogus "think_deeply" tool and then forced the model to use it, it would output what is believed to be its raw thinking there - I believe the first breaking change stops this. The second two are aimed at people getting Haiku to repeat thinking blocks from other models verbatim (since it can see the decrypted version). I get that in their eyes it's an "exploit" but still kinda disappointing that they patched this
mlaux··on Happy Zelda's 40th first LLM running on N64 hardware (4MB RAM, 93MHz)
I tried to build this but it's missing the weights.bin file and my computer is too weak to generate it. Can you add it to the repo?
mlaux··on Show HN: Game demo made with my homemade game engine
I love the art style! Echoing the others, I'm stuck in the second room - would be cool to have a few hints at the beginning to help out with discoverability.
mlaux··on Unheard works by Erik Satie to premiere 100 years after his death
My favorite Satie piece is “Vexations” [1], a short clip that the composer ostensibly wished to be played 840 times in a row.

As a little art project, I recently made a version for MS-DOS and AdLib [2] that starts with a piano-like sound and gradually distorts the timbre every repetition by flipping a random bit in the AdLib’s registers.

I never made a recording of it because I was envisioning it as an “if you got to see it in person, cool” type of thing, but I should probably go back and do that

[1] https://youtu.be/7GoV2psW-OE

[2] http://constcast.org/vexations.html

mlaux··on Show HN: Tool-Assisted Speedrunning the Boring Parts of Animal Crossing (GCN)
This is so cool! AC and ACWW were a huge part of growing up and I dare say have a little impact on who I am today. Back then, I went on Tumblr’s AC community and found all the little debug menus but didn’t know how MIPS worked at that point to go any further. <3
mlaux··on Show HN: I built a website that explains any difficult concept in seconds
Looks like `nodsgy.com` works, but with `www.nodsgy.com`, this appears:

> Backend Not Found

> Why am I seeing this?

> There are a few potential reasons:

> You haven't deployed an app yet.

> Your app's first Rollout may still be in progress.

> This is a custom domain, but we haven't finished setting it up yet.

> How can I deploy my first app?

> Refer to our App Hosting documentation to get started.

mlaux··on Show HN: Zipshare – one-step Android screen sharing for support teams
Thanks for trying it out! I'll keep an eye on this issue. As much as I love native apps, for something like this where the fewer steps the better, doing everything in the browser would definitely be an advantage.
mlaux··on What does LETTER. do in LISTRD in FAP from 196x?
You might already know this but here’s my guess:

OK, so this looks like it’s reading one card’s worth of code from either an actual card or tape. Based on how KNOW is used, the mystery LETTER looks like it’s classifying each word based on what type of token it is… then it goes into an interpreter loop with what’s basically a switch statement on the IDENT of each word (derived from its entry in KNOW). So I think each card could have 14 tokens of up to 6 chars each, some only one character (like a parenthesis) or some an entire literal?

A108 is the per-word outer loop and A105 is the per-char inner loop. A102 and A104 are the labels where the loop indices are updated and it jumps back to the beginning of the loop. As far as I can tell, MADIN and MADOUT are no-ops. I’m not sure what KGETIN is doing.

I believe the 343434343434k is meant to simulate some extra cells with a bunch of right parens so you could just end your program without wasting another card on closing everything?

Edit: I just read page 24 of the linked SLIP manual and what I’m calling tokens they’re calling SLIP cells.

mlaux··on Do not use secrets in environment variables
Typically seen more often as something like:

    http://example.com/viewPost.php?post=../../../whatever
(where the server side code has the bug, not the web server configuration itself)
mlaux··on Live Streaming a Macintosh Plus
I believe the ImageWriter II dot matrix printer (and maybe a few third party ones) had an optional color ribbon that supported those primary colors.
mlaux··on Leaking silhouettes of cross-origin images
Nice idea. I just tried it - looks like alpha is ignored for colors specified in ::visited and the alpha of the non-visited color is always used.
mlaux··on The UNIX Time-Sharing System (1974)
That makes so much more sense. I was thinking per-device instead of per-logical-root. Thank you!
mlaux··on The UNIX Time-Sharing System (1974)
> There is only one exception to the rule of identical treatment of files on different devices: no link may exist between one file system hierarchy and another. This restriction is enforced so as to avoid the elaborate bookkeeping which would otherwise be required to assure removal of the links when the removable volume is finally dismounted. In particular, in the root directories of all file systems, removable or not, the name .. refers to the directory itself instead of to its parent.

Is this saying that if I had a removable disk mounted at /mnt/foo and issued “cd ..” in that directory, I’d remain in /mnt/foo instead of moving up to /mnt? When did this change to the current behavior?

mlaux··on On the Closing of Living Computers: Museum+Labs
This is a real shame. I moved to Seattle at the beginning of COVID and never got to take a look before it closed. Hopefully they’ll be back, maybe in a new location?

Edit: Maybe some tech exec with enough money that the museum's expenses are a drop in the bucket could help?

mlaux··on A look at the die of the 8086 processor
Probably just a voltage regulator, a clock source, reset pin logic, a couple ROM chips (2 8-bit wide chips or 1 16-bit wide), some static RAM, a PAL/GAL/74xx logic for address decoding and chip select pins, stuff to deal with the multiplexing, and whatever input/output you want (bus buffers for parallel I/O, off the shelf UART chips, etc)

I’ve only done it with the 6502 and Z80, but the 8086 shouldn’t be too much harder. There are plenty of resources available online for those two chips that you could adapt!

mlaux··on Ask HN: What discontinued company/product do you wish was still around?
They still exist, but they're incredibly niche nowadays. Arcades are split up into two categories: small stores that cater to niches, like classic American games or imported modern Japanese games [1][2], or huge chains that specialize in 'family entertainment' [3] that include bowling and food.

The arcade isn't dead yet - there's still plenty of enthusiasm for rhythm and fighting games, which I believe is actually growing. At least among my friend group, it's much more rewarding to face off in person than to be trashtalked by some anonymous gamer on an online console gaming service. Also, when the arcade closes, there's nothing better than just sitting around and chatting for a few hours. Arcades make a fantastic "third place" [4].

[1] http://freeplayrichardson.com/

[2] http://arcadeufo.com/ (disclaimer - owner of this place)

[3] https://www.round1usa.com/

[4] https://www.pps.org/article/roldenburg

mlaux··on Dd is not a disk writing tool (2015)
> It’s unique in its ability to issue seeks and reads of specific lengths, which enables a whole world of shell scripts that have no business being shell scripts. Want to simulate a lseek+execve? Use dd!

How would one simulate a call to execve with dd? Seems like a totally different problem domain.