Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
danvk
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
danvk
5mo ago
Is the video episode for this up somewhere? It can be hard to find old PBS shows, even from just a few years ago.
2.
▲
by
danvk
5mo ago
You might also like webdiff, which does something similar https://github.com/danvk/webdiff (I built this years ago and still use it every day.)
3.
▲
by
danvk
5mo ago
(author here) Just to be clear, none of the photos were ever human-located. The system this replaced was, roughly, regular expression + Google Maps geocoding API. The only photos located by hand were the ~200 I used for my test set: https:
4.
▲
by
danvk
5mo ago
(Author here) IIUC you're saying that 707133f-a should be at 5th Ave & 9th Street, not 5th Ave & Union Street? Can you say more about why? The text on the back of the first image says "Union St. Station, 5th Ave," whi
5.
▲
by
danvk
10mo ago
Yes. You can give pickType a type in TS. Something like pickType<B extends boolean>(b: B): B extends true ? string : number. I’d love to read a post explaining how TS conditional types are or are not a form of dependent types. Or, I’d
6.
▲
by
danvk
1y ago
It's open source, take a crack at it! Or file an issue requesting it. This analysis doesn't make use of the Boggle dice. It assumes that any cell can be any letter. In practice, all high-scoring boards can be rolled with the Boggl
7.
▲
by
danvk
1y ago
Finding the highest-scoring board with a 16- or 17-letter word is a fun, but very different problem. There are few enough "Hamiltonian paths" through the all the letters on a 4x4 Boggle board (~68,000) and few enough 16 letter wor
8.
▲
by
danvk
1y ago
There are simpler ways to calculate a bound that don’t involve trees. You can read about the sum and max bounds in the WIP paper: https://github.com/danvk/hybrid-boggle/blob/main/paper There are some exa
9.
▲
by
danvk
1y ago
I have been surprised that the Boggle code runs about 4x slower on the GCP machine than on my M2 MacBook. I don’t have enough experience running CPU- and RAM-intensive cloud jobs to know whether this is normal.
10.
▲
by
danvk
1y ago
> “As far as I can tell, I’m the only person who is actually interested in this problem,” Vanderkam said. For context, many people are interested in finding high-scoring Boggle boards, usually via simulated annealing, hillclimbing, or ge
11.
▲
by
danvk
1y ago
"Lone coder" here. I reached out to Ollie (the FT reporter) because he'd written a book (Seven Games) about computers and games, so I thought the Boggle story might interest him. It did!
12.
▲
by
danvk
1y ago
Your best bet in that case is to store the dictionary in a Trie or DAWG structure that can be mmapped directly from disk.
13.
▲
by
danvk
1y ago
Sorry, but this doesn’t pass the smell test. The article mentions 200,000 random 4x4 boards/second on a single core on an M2. That’s a ~4GHz chip. So ~20,000 ops/board. There are 200,000 words in the dictionary. You can’t possibly
14.
▲
by
danvk
1y ago
You can see all the wordlists I used here: https://github.com/danvk/hybrid-boggle/tree/main/wordlists The proof used ENABLE2K — repeating it for other wordlists would require another ~23,000 CPU hours ea
15.
▲
by
danvk
1y ago
Great! Feel free to reach out -- my email isn't hard to find.
16.
▲
by
danvk
1y ago
If you want to give it a try, I'd love to hear if that's the case! It's deleted in the repo now, but here's code to generate a spec for an ILP solver: https://github.com/danvk/hybrid-boggle/blob
17.
▲
by
danvk
1y ago
Annealing is mentioned a few times in the post but not discussed in any detail. I found that hill climbing with an expanded "pool" of boards and exhaustive search of neighbors was the most reliable way to get from a random startin
18.
▲
by
danvk
1y ago
I actually did try ILP, see https://stackoverflow.com/questions/79422270/why-is-my-z3-an... I tried Z3 and OR Tools. I didn't try Gurobi. But this was enough to make me think ILP was a dead end. (There were a
19.
▲
After 20 years, the globally optimal Boggle board
(danvk.org)
78 points
by
danvk
1y ago
|
23 comments
20.
▲
by
danvk
2y ago
We built a visualization along these lines at Sidewalk Labs back in 2017. It's open source if you're interested in playing around with it: https://github.com/sidewalklabs/router I particularly liked the multi
21.
▲
by
danvk
2y ago
I have not, but that's a great idea!
22.
▲
by
danvk
2y ago
I've had really good luck recently running OCR over a corpus of images using gpt-4o. The most important thing I realized was that non-fancy data prep is still important, even with fancy LLMs. Cropping my images to just the text (exclud
23.
▲
by
danvk
2y ago
Try webdiff (I’m the author) https://pypi.org/project/webdiff/
24.
▲
by
danvk
2y ago
Since function parameters are immutable in Zig, is this a difference that you need to care about?
25.
▲
by
danvk
2y ago
For tuples, not for named fields.
26.
▲
by
danvk
2y ago
Thanks for the pointer, I hadn't run across ts-runtime-checks before. It does do something similar to what I propose in the post. The difference is that ts-runtime-checks is opt-in. If you want a type validated at runtime, you have to
27.
▲
by
danvk
2y ago
Destructuring assignment was definitely something I missed in Zig (it's even called out in the post). Here's the relevant issue/comment, which makes me think this won't happen in Zig: https://github.com/z
28.
▲
by
danvk
2y ago
Yes, the error is much clearer when you realize where the mistake is :) There's an interesting point here, though: while comptime lets Zig unify function calls and generic type instantiation, this also creates the possibility of confus
29.
▲
by
danvk
2y ago
Extensive. Try reading the full post, you'll see that those points are all mentioned.
30.
▲
What can TypeScript learn from Zig? What can Zig learn from TypeScript?
(effectivetypescript.com)
87 points
by
danvk
2y ago
|
24 comments
More ›