HNHacker News
TopNewBestAskShowJobs

MattCruikshank

332 karma · joined February 23, 2010

submissionscomments
MattCruikshank··on Gaussian Point Splatting
Sure, you could think in terms of 1m^3.

Yes, you're right that composing the best picture for an eye point could (and does) use splats from all over the scene.

But I think if you limit to splats that are (entirely, mostly, partially?) inside the 1m^3 block, you'll do pretty well. And you're absolutely right that reflective surfaces would probably be the first to suffer.

Well, it's worse than that. Because if you make a 1m^3 pond cube, and then I go putting trees around it, a naive rendering would still show YOUR reflections in the pond, rather than rendering from that pond's point of view, etc, like traditional rendering.

One of Gaussian Splats strengths, that it doesn't care... becomes a problem for me.

MattCruikshank··on Gaussian Point Splatting
My dumb idea... do outdoor scans, and then convert the contents into 1m^2 blocks... And then, just dumbly stitch them together.

Kind of like Minecraft... but with user-generated gaussian-splat blocks.

MattCruikshank··on Endive: A JVM native WebAssembly runtime
If you haven't seen The Birth & Death of JavaScript, it's well worth a watch:

https://www.destroyallsoftware.com/talks/the-birth-and-death...

MattCruikshank··on Corporations can vote in some Delaware elections, judge says
I was daydreaming about, picture if a corporation buys an entire state.

Say, Wyoming or West Virginia. Gemini guesses $180 billion to $250 billion.

With that investment, they'd get to control who lives in the state.

So, then the corporation gets to control who the Governor is. And the two Senators, and the seat in the Congress.

Forgive me if I'm wrong, but doesn't a single Senator have just a tremendous amount of power to block basically any legislation? With pocket vetoes, or silent filibusters?

Granted, actually buying a Senator is probably cheaper by a few orders of magnitude.

MattCruikshank··on Show HN: ShadowCat – file transfer through QR Codes in a Browser
I blame the intentionally cheap receiving optics. Researchers have reconstructed a TV signal from a hotel room with closed blinds, by very accurately measuring the ambient light intensity of the room (as shown on the blinds.)

Knowing that, I doubt that someone with even moderate funding would have difficulty receiving a signal from any of the transmitters you mention.

But, in all honesty, if you put a physical cap on the transmitter and receiver, maybe I'm wrong.

But in the other hand, none of the devices I currently own have one of your transmitters, and they all have screens and cameras, so...

Thanks for the dialogue and for sharing your experiences.

MattCruikshank··on Show HN: ShadowCat – file transfer through QR Codes in a Browser
I specifically want this device to have no input or output hardware that could be used without my knowledge. IrDA could absolutely be used without my knowledge.
MattCruikshank··on Show HN: ShadowCat – file transfer through QR Codes in a Browser
Me, in my life, I have a PC that's connected to the internet. I have a phone that's connected to the internet.

I want another device, which I imagine to be a Pi or Esp32 or something with a camera and a touchscreen display, and capacitive charging. After I program it and give it the public/private keypair and the OTP, I imagine physically breaking off a USB port, or sealing one with some hardening resin.

I don't want an entire airgapped computer. Maybe you do, that's fine. For me, I'd love it to be a credit-card sized doodad.

MattCruikshank··on Show HN: ShadowCat – file transfer through QR Codes in a Browser
I've wanted to use this for an air-gapped communication device.

I have a device with a camera and a touch-screen that only uses capacitive charging. I type a message. Bytes are encrypted. I hit send. QR codes flash on my screen. I use my PC or my normal phone to receive the encrypted bytes, and transmit them to you. You have the same device. You have your PC or phone flash encrypted QR codes. You use your device to receive, and then decrypt.

I've daydreamed about also buying several different hardware random noise generators. XOR all of their bits together. Save a huge one time pad to each of our devices. And then also use public key crypto on top of it.

I'm not really sure why I want this. But, it's my answer for how to reduce attack surface as much as possible, and have truly secret messages.

MattCruikshank··on Michael Keating has died
That's a bummer.

I'll admit that, at first, I thought this said Michael Keaton. And oddly enough, Michael Keaton's real name is Michael Douglas. So, there's a whole spiral of madness that my brain went off into.

MattCruikshank··on 1024000^2 Blocks, 2B2T Minecraft Server World Download Project, and Discoveries
> None of these will work properly.

If I'm trying to tour one of the beautiful servers that people have made, yes, it absolutely would work for my use case.

I'm sorry my idea doesn't appeal to you.

Acting like it has no value for anyone means you don't understand my use case, or you don't care about me. It may entirely be my fault that you don't understand my use case, but I think you're being obstinate.

Cheers.

MattCruikshank··on Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised
I've been toying with using Jart's Blink, the "tiniest x86-64-linux emulator". If it were hardened against attacks by a smart community, it seems really attractive...

Then I've been toying with using WASM, with a strictly limited API surface... (API stands for what, "Attack, Please, Infiltrators"?)

I'd really love to make a service which can run "untrusted" code... I want this to exist. I want it to feel like the Sandstorm.io marketplace, and to use Tailscale or something like it... and then to make "Facebook but only for friends or friends-of-friends." No public figures. No random people or ads in my feeds. Just friends. And then other similar apps - mail, discord, etc. Don't let it make outbound HTTP connections. Don't let it access local filesystem, other than assets that were bundled with it. Give it a SQLite API... And let it handle inbound HTTP, REST, WebSocket requests... And use gRPC over Tailscale to only talk directly to approved contacts...

Thoughts? How to run untrusted code safely?

I tried using Firecracker and gVisor... But I'm dissatisfied with them. I was trying to make it easy for someone to download and run my service... But Firecracker and gVisor don't at all feel like "libraries that install cleanly." They feel more like, if you're enterprise scale, you can hire someone to make sure Firecracker and gVisor work the way you want... Maybe I'm just not trying hard enough... Maybe using WSL2 on Windows 11 is just asking for trouble. I tried several different ways to run Linux on Windows, and none of them seemed very happy, when I tried to add Firecracker / gVisor.

MattCruikshank··on Gaussian Splat of a Strawberry
Yeah, when you describe that, I picture Wave Function Collapse to generate a map schematic... And then a text prompt, and some style photos the designers want it to match.
MattCruikshank··on Gaussian Splat of a Strawberry
Sure, but NERFs were trying to match your input photos and poses, not some arbitrary prompt, if I understand correctly.
MattCruikshank··on Gaussian Splat of a Strawberry
Where's the Lytro camera when you need one?

I was really pulling for OTOY to keep making light field capture and display technology...

MattCruikshank··on Gaussian Splat of a Strawberry
I want some math Phds to sit down with the Corridor Crew guys and figure out how to make Gaussian Splat reconstruction way better, the way they came up with CorridorKey.
MattCruikshank··on Gaussian Splat of a Strawberry
I just wanted to do a quick size comparison...

If I'm reading Chrome right, that's 171 MB, for the website, and the data.

If I'm doing the math right, that's 40 seconds worth of the bandwidth from Netflix, at its highest rate.

MattCruikshank··on Show HN: Gaussian Splat of a Strawberry
I know feelings about AI are mixed. But when AI can dream up gaussian splats in real time, from a prompt, and do refinement as you get closer to things... That's going to be pretty bonkers.
MattCruikshank··on 1024000^2 Blocks, 2B2T Minecraft Server World Download Project, and Discoveries
> Minecraft worlds aren't static. Will you be billed to download updated chunks too?

There are two hard problems in computer science - caching, naming things, and off-by-one errors.

Yes, I can imagine multiple choices.

1) When you're downloading a chunk, always download the newest version of it.

2) When you're downloading a chunk, download it as it existed at the moment of a snapshot. Heavier burden on the server, to keep multiple snapshots. Perhaps some servers only keep one snapshot. Perhaps some keep one snapshot every 24 hours, but only for 4 days. You only have to keep multiple copies of chunks that actually got modified. And in fact, if a chunk never got modified, you only download a flag that says to let it get generated by the seed.

3) You periodically ask to download chunks, to keep relatively up-to-date. Maybe every hour. Maybe you only stream chunks from the backing server, if you haven't modified them locally. Maybe you choose that locally-modified chunks win. Maybe there's a way in-game to say you want this chunk (and its neighborhood) to update from the backing server. Commands, command-blocks, etc.

> Also what happens if you don't put money into your Minecraft account? Can you still play with others?

I'm not proposing to change anything about how Minecraft currently works. I'm proposing adding something new. Whatever ways you currently play with your friends, you can continue to do that.

But yes, if you stand up a server that streams from my server, and you run out of money, you could get notified you're out of money, and then as you continue to explore, I guess the thing that makes the most sense is that you just use the original seed to generate more terrain.

> On paper, sure. In reality there are only going to be relatively few maps people might actually want to explore.

Okay. Right now, you can visit the Marketplace to pay Minecoins to download maps others have made. If you look at the prices, they're absurdly inflated.

I'm proposing a way more organic and cheaper marketplace. I think a "reddit of cool places to visit" that you just click a link, and you're in someone else's map for as long as you want to be, could be really nice.

Add ways in-game to make a portal to someone else's server... and you're making something really neat.

MattCruikshank··on 1024000^2 Blocks, 2B2T Minecraft Server World Download Project, and Discoveries
That's why I wrote, "then set it up so that "downloader pays" for bandwidth, plus a small royalty for the creator. As a downloader, I get to set up rate limits, etc, to not accidentally spend more than I want to, etc."

So, I set up a server.

You put $10 in your Minecraft account.

You load up my world, say 96 chunks at first. 1.15 MB of data.

Let's say you fly around long enough to load 1 GB of my world. That's a crap-ton of flying around, by the way.

You pay me $0.10. $0.09 of that goes to my AWS/Azure egress, and the final $0.01 goes towards the AWS/Azrue storage and my own royalty. That's right - I actually get paid for making a world that you wanted to visit. Imagine that.

Maybe I can't even get that money back out of Minecraft's walled garden. Maybe I can only use that to fly around other people's world, or to buy Minecoins that I can use to purchase mod packs and stuff, to make even more interesting worlds, to attract more players.

Seems like a nice economy, to me.

MattCruikshank··on 1024000^2 Blocks, 2B2T Minecraft Server World Download Project, and Discoveries
It is, for Minecraft. But not in the scale of "people who might want to visit Middle Earth Minecraft," or "The Earth in Minecraft", or...
MattCruikshank··on 1024000^2 Blocks, 2B2T Minecraft Server World Download Project, and Discoveries
> How is this different from just loading your world in a server and having your friends join?

Because player location, inventory, actions, are all load on the server. That's why servers have player limits.

> BitTorrent isn't going to work.

You and I are talking about different things. I'm talking about serving up the raw blocks alone.

And yes, I know, Minecraft servers don't support static file serving, or streaming from another source, or copy-on-write. I'm saying these are all nearly trivial to implement.

MattCruikshank··on 1024000^2 Blocks, 2B2T Minecraft Server World Download Project, and Discoveries
I'm so continuously confused why Minecraft doesn't have a show-off mode where a team of people can build something, and then someone else can spectate it, without causing undue server load.

I should be able to give you a URL to some location, and when you click it, it opens up Minecraft, streams the blocks, and you're viewing it.

minecraft://server/loc?w=0&x=0&y=0&z=0

w is the overworld, nether, end, etc.

And if you want to set up a server where you and your friends can interact with each other and make edits, the server should be able to stream blocks from some backing server, but copy-on-write them to your own local storage.

How is this not a thing?

If you want to be really awesome, set it up like bittorrent, where you can share the load, so the central server isn't hammered.

And if bittorrent doesn't really work as a model, then set it up so that "downloader pays" for bandwidth, plus a small royalty for the creator. As a downloader, I get to set up rate limits, etc, to not accidentally spend more than I want to, etc.

This whole 2b2t would cost $2,111.04 to download from AWS, if I'm doing the math right. But that's a trillion blocks. You don't need a trillion blocks to enjoy flying around some awesome maps.

MattCruikshank··on Image-blaster: Creates 3D environments, SFX, and meshes from a single image
I went to high school with the sales clerk, Ivana Miličević.

It's always weird to see her in stuff.

MattCruikshank··on UCLA discovers first stroke rehabilitation drug to repair brain damage (2025)
If you've read Ted Chiang's "Understand," you'll understand why this headline made my eyes pop out. For those who haven't, it's in the "Stories of Your Life and Others" collection, which includes the short story that the film Arrival was based on.
MattCruikshank··on NetHack 5.0.0
So, if I understand correctly, the goal is to enjoy dying thousands of times?

Or, to give up and read online how to play?

Or some of both?

MattCruikshank··on SatoshiGuesser – Roll for Bitcoin
Quick question - why hasn't someone 51 percent attacked Satoshi's wallets?

Estimated cost of a 51% attack on Bitcoin, if no one is cooperating, is $6 billion to $10 billion.

Surely the cost goes down if they get some big players to cooperate.

And the reward is... $83 billion. Basically 10x your money.

I mean, this is the kind of thing that we could sell bonds for, to raise the $6 to $10 billion needed.

Other than the fact that you'd be de-legitimizing BTC, the very thing you're trying to steal. Or morals - them, too. Other than that?

MattCruikshank··on I built a Game Boy emulator in F#
Sorry for the tangent - does anyone have some really zoomed in views of GB, GBColor, GBA screens in operation? I'd love for retro shaders to be able to more faithfully reproduce.

I mean, ideally, we'd run different color test patterns through, in different lighting conditions, to build a really detailed model, right?

MattCruikshank··on AISLE Discovers 38 CVEs in OpenEMR Healthcare Software
Have you heard of the term, "bury the lede"?

I'd love to see an opening paragraph like this one:

"All discovered vulnerabilities have already been patched. We waited to publish this article until they were. Release 8.0.3 addresses all of them, and we advise updating as soon as possible. We waited until 95% of installs had already updated to that version."

MattCruikshank··on AISLE Discovers 38 CVEs in OpenEMR Healthcare Software
EDIT: Looks like they did responsibly disclose - that's nice. I missed the single line at the bottom of the article. I'd prefer if an article like this opened with a paragraph about their conversation with the maintainers, and how all vulnerabilities have already been patched, etc. But I guess that's a personal preference.

===

Did they privately disclose these vulnerabilities to the developers and give them a reasonable amount of time to fix them, before they announced them to the world?

Because, and I'm going to highlight, if someone exploits a CVE in an EMR, they can wreck havoc on actual real patient data, and can endanger health and lives.

https://github.com/openemr/openemr/security

"Option 1 (preferred) : Report the vulnerability at this link. See Privately reporting a security vulnerability for instruction on doing this."

Did they do that?

Because if they didn't responsibly disclose, this sure seems like a hit job performed by someone who'd rather EMR software be closed source.

MattCruikshank··on Sawe becomes first athlete to run a sub-two-hour marathon in a competitive race
One person sharing what an LLM thinks is probably better for the environment than each person asking...
← PreviousPage 3 of 4Next →