malft's comments

malft | 2 years ago | on: Show HN: LLMs can generate valid JSON 100% of the time

Regex-constrained GPT, what is a mnemonic for pi?

> It's a word, a short statement or phrase which you learn.

Can you make a good one?

> Man, I wish I could recommend an answer. You're not gonna remember something, because, obviously, pi's so big. Actually, let's forget pi. There's only one way: Googling for it.

(count the letters)

malft | 2 years ago | on: My first superoptimizer

If you are familiar with that paper, I'm a little confused by the results section. If I'm reading p01 from figure 7 correctly, the "before" is x&(x-1) and the "after" is a single instruction x&(x<<1). What am I doing wrong?

(The other two wins listed are "recognize the Hacker's Delight trick and replace it with the straight-forward implementation a human would write", which I like.)

malft | 3 years ago | on: Using HDMI radio interference for high-speed data transfer

TMDS will reduce the number of crossings, but 10110110 will still have more crossings than 0.

It'll be some pseudo-random mapping, not "greyscale", but it'll still be readable.

Look up the wikipedia page for 'ECB mode' for a nice illustration.

malft | 3 years ago | on: Lenses

The type looks a little insane, but it's just a combination of three mundane hacks that also exist in other languages.

The first: If you need a serializer/deserializer in a simple language like old-school Java, you can either write two methods for each class, or you can combine them into one method like this:

class HoveringSkull inmplements Streamable { String desc; float height; void stream(Stream c) { desc = c.stream(desc); height = c.stream(height); }

... and have two different implementations of Streamable. That's what the choice of (pro-)functor instance does -- you can swap out the implementation to get 'read' and 'write' (and 'deepClone' and 'equals' and 'hashCode' and 'defaultGui' and 'treeMatch' and ...)

malft | 4 years ago | on: You don't need that CORS request

Before you start rearchitecting your app, be sure to check if the only reason you're seeing preflights on GET is that someone added a dumb X-Requested-By header.

(You can even do POSTs without preflight if you use a whitelisted content-type.)

malft | 4 years ago | on: Microsoft_craziness.h (2018)

wchar_t *value = (wchar_t *)malloc(length);

// The documentation says that if the string for some reason was not stored with zero-termination, we need to manually terminate it. Sigh!

if (value[length]) { value[length+1] = 0; }

malft | 4 years ago | on: The Facebook Logout – We're over Facebook

Isn't that how fundraising works? You make people commit to "supporting your cause" with a trivial pledge, so that when you ask for actual money they can't back out without losing face.

"I will maybe log off at some point" sounds like maybe too weak a pledge to me, but I'm sure they've focus grouped the shit out this.

malft | 4 years ago | on: Q1K3 - An homage to Quake in 13kb of JavaScript

"You can't compress noise." Well, humans can't tell the difference between two snippets of white noise.

It'll be fun. Remember jbig? (can't find the source, but iirc "most of what we're sending is text, so our fax can detect identical characters and reuse them! genius! [ten years and several bonuses later] um boss, our fax swapped a few ... 'identical' ... digits in someone's legal documents, so you have to appear in court now. also their entire scanned document archive is potentially corrupted and they may want damages")

I guess the 'no photos on the internet' people will have the last laugh; they won't be the ones seen criming in the background of someone else's blurry holiday photo.

malft | 4 years ago | on: Lunatic is an Erlang-inspired runtime for WebAssembly

Yes, that's the point. If you need to parse a JPEG, you spawn a VM to do so. It is allowed to use n seconds of CPU, k bytes of memory, and send a bitmap back to the caller.

(Sure, you could screw it up if the caller accepts a negative-size bitmap and corrupts its heap. Lets assume that process is written in a memory-safe language.)

malft | 4 years ago | on: The P-versus-NP Page (2016)

Why are the examples for P≟NP always so bad? "Solving TSP", "planning airlines better", "get the $1M bounty"?

Why not SAT? There's a $200,000 bounty paid out every ten minutes for solutions to a well-known SAT problem.

Or crypto. Math. Chess.

malft | 7 years ago | on: RSA-230 has been factored

It's very rare for something to scale sublinearly in the number of bits :-)

complexity(2∗∗1024)/complexity(2∗∗762) comes out to about 1500x more work.

malft | 8 years ago | on: JDK 10 Early Access Release Notes

> The clear passwords present in jmxremote.password file will now be over-written by their SHA3-512 hash by the JMX agent

I must be misreading this. As far as I can tell the ability to read the new format was added in the same version. Did someone forget about forwards compatibility in the jvm?

malft | 9 years ago | on: The root of all eval

"It's just a normal function." No, it has magical access to the lexical scope.
page 1