HNHacker News
TopNewBestAskShowJobs

dllu

2,065 karma · joined January 13, 2012

http://daniel.lawrence.lu
submissionscomments
dllu··on AI Passport Photo
Yeah but on the US government website [1] it says

> Submit the original, unchanged photo.

> Do not change your photo using computer software, phone apps or filters, or artificial intelligence.

and many other countries have similar requirements.

EDIT: I just read the "Common Questions" that says: "This editor crops and centers the photo you provide and can replace the background. It does not invent or beautify a face." I guess that's not as bad then. Still mildly iffy and weird marketing though.

[1] https://travel.state.gov/en/passports/apply/help/photos.html

dllu··on MUNI Heritage Weekend in San Francisco
Also, I don't have a monopoly on "pictures that look like this".

Adam Magyar and Jay Mark Johnson have line scan photos in fine arts as well, and they were in fact a big source of inspiration when I started out on my own line scan journey in 2017.

- https://www.magyaradam.com/wp/?page_id=368

- https://www.jaymarkjohnson.com/works

Seth Itow, Philomena, and Elm-chan both also have hobbyist line scan camera setups:

- https://www.sethitow.com/posts/2026-linescan/

- https://philo.gay/linecam/

- https://elm-chan.org/works/lcam/report.html (be sure to scroll down and click on the train pics)

There are also Japanese rail fans:

- https://kr64.seesaa.net/ with a bewilderingly huge collection of trains all over Japan,

And faux-line scan cameras using regular video cameras, stitching together thin chunks rather than 1 px columns:

- https://railfile.jp/

- https://x.com/yamakox/status/2089934720759144653

- https://kakeyama.image.coocan.jp/index.htm

- https://trains.jo-m.ch/#/trains/list

Line scan cameras are also commonly used for machine vision in the rail industry to inspect trains for damage and detect graffiti and stuff. And conversely, line scan cameras mounted on trains are used to inspect rails and tunnels.

dllu··on MUNI Heritage Weekend in San Francisco
I actually reached out to Philo on GitHub Issues but she hasn't responded yet [1]. I also mentioned her cool camera on my blog [2].

By the way, I recognize your username as the person that Philo credits with "rewriting grindstone in idiomatic NumPy". That's super cool!

[1] https://github.com/FlamingSpork/grindstone/issues/1

[2] https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-li...

dllu··on MUNI Heritage Weekend in San Francisco
I just set up a shop at https://shop.lawrence.lu/. I also emailed Rick Laubscher and Alison Cant at streetcar.org [1] yesterday but they haven't gotten back to me yet.

[1] https://www.streetcar.org/about-sfmsr/

dllu··on MUNI Heritage Weekend in San Francisco
If you want to use a regular phone or camera, check out TrainScanner!

https://github.com/vitroid/TrainScanner

It converts a regular video into a line scan style photo. It works by stitching together small chunks rather than 1px thin slices, so the background has a repetitive texture rather than being smooth horizontal stripes. But at lower resolutions, it looks similar, especially if you pick a spot with a clean background. Also the trains turn out very detailed.

Example work by Kakeyama from Japan using this: https://kakeyama.fan.coocan.jp/tec/e5e8r.htm

dllu··on MUNI Heritage Weekend in San Francisco
If people are moving, they may get stretched or distorted. But they won't ever get blurry, since the capture rate is like 10,000 lines per second.
dllu··on MUNI Heritage Weekend in San Francisco
Muni heritage weekend was shot on my new Voigtlander Apo Ultron 90mm f/2. The line scan camera's sensor is 28mm long so any APS-C lens will work, not necessarily full frame. I modded my line scan camera from Nikon F mount originally to Sony E mount so that I can use more compact high quality lenses like M mount ones.

Previously I've also used these full frame lenses:

- Myutron 50mm f/2.6 (Shinkansen N700A, SF Cable Car 2017)

- Voigtlander Nokton 58mm f/1.4 (Brisbane Queensland EMU)

- Samyang 135mm f/2 (Madrid AVE Class 102 and Shanghai maglev)

- Voigtlander Apo Lanthar 125mm f2.5 (Yamanote Line, CR400AF)

- Voigtlander Apo Skopar 90mm f/2.8 (London Tube photos)

- Voigtlander Ultron 35mm f/1.7 (Hong Kong trams)

and APS-C lenses:

- Cheecar 50mm f/1.2 (Osaka trains)

- Samyang 85mm f/1.8 CS (Caltrain)

dllu··on MUNI Heritage Weekend in San Francisco
I took one of my baby on the swing. It needed custom polar coordinate dewarping:

https://i.dllu.net/swing_07_7668f7f16ff7ac2a.png

Also motorcycle cops:

https://commons.wikimedia.org/wiki/File:San_Francisco_Police...

dllu··on MUNI Heritage Weekend in San Francisco
OP here, ask me anything! I've also written about the process previously:

- Line scan camera image processing: https://daniel.lawrence.lu/blog/2025-09-21-line-scan-camera-... Previous discussions:

  - https://news.ycombinator.com/item?id=44996938

  - https://news.ycombinator.com/item?id=46383593

  - https://news.ycombinator.com/item?id=46388084
- Standalone line scan camera hardware: https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-li...

- Line scan camera image processing 2: https://daniel.lawrence.lu/blog/2026-08-02-line-scan-camera-...

dllu··on GrassLobster: AI Agentic Generation of Parametric Geometry Workflows
Rhino is unusually suitable for AI agentic generation since it is very command line driven and there are a lot of example RhinoScript projects. McNeel, the Rhino developers, also have a lot of open source stuff, Rhino MCP, and explicit support for headless Rhino [1], which makes it even more amenable.

[1] https://github.com/mcneel

dllu··on Nvidia announces native GPU programming in Rust
Since NVIDIA owns huggingface now and huggingface has the excellent Candle [1] crate for inference on Rust, this seems like a good step towards nice native Rust kernels.

[1] https://github.com/huggingface/candle

dllu··on Apple's Dimensional Drawings
haha, I see you recognized me from my line scan photography work. But unfortunately that only gets rid of perspective in one axis but not the other.

Probably just taking photos with a really long telephoto lens would be good.

In theory, you'd use a telecentric lens [1], but then the lens would need to be bigger than the subject, which is not super feasible for a car-sized subject. I guess for line scan, the telecentric lens just needs to cover a small vertical strip of the car so it just needs to be really tall.

[1] https://en.wikipedia.org/wiki/Telecentric_lens

dllu··on Ask HN: What are you working on? (September 2026)
Extreme vibe coding!!!

* better squares-in-circle packing for n = 31 and n = 34: https://github.com/dllu/packing and https://erich-friedman.github.io/packing/squincir/

* vibe coded CAD application (paused due to lack of quota on my $200/mo plan). Rather doubtful if GPT-6 Astra can one shot a correct B-rep kernel but whatever: https://github.com/dllu/viboceros

* ray traced chess demo: https://github.com/dllu/chess-rtx

dllu··on Apple's Dimensional Drawings
That's not the same thing as those are photos with perspective distortion.
dllu··on How I Prompt
I found it interesting that Thorsten mentions the importance of attaching screenshots.

In my experience, it varies widely by workload. Vision is great for some UI stuff but extremely terrible for my work, which involves visualizing connectivity and geometric stuff for road structure for autonomous vehicles. It can get super frustrating when I paste a screenshot and go "this polyline isn't connected when it should be" or "those polylines are self intersecting in an invalid way" and then the AI literally can't see what I'm talking about. It would have to then write debug code to dump out the coordinates of the polylines to convince itself that the bug even exists. Then it would often claim that it's fixed when it is clearly not.

I previously complained about GPT 5.6 Sol not being able to solve a simple "follow the lines" puzzle [1] without having to write custom Python code for it. GPT-6 Astra, however, is vastly improved, and could do it without writing Python. Still, for my work, it can occasionally struggle.

[1] https://news.ycombinator.com/item?id=49334444

dllu··on Stockfish 19
I stand corrected. However, fundamentally, the idea of "tiny CPU-only neural network" combined with traditional alpha-beta search is substantially different from "big GPU network" combined with Monte Carlo Tree Search. And historically the NNUE came from a 2018 idea for shogi engines rather than from AlphaZero.
dllu··on Stockfish 19
The Stockfish NNUE is completely unrelated to AlphaZero.
dllu··on The Kuycon P20 – 28" 4500x3000px 3:2 monitor
I recently scored an amazing deal on the Samsung Odyssey G8 G80HS, which is 32", 6144 x 3456 at 165 Hz for only $700 via perks at work [1]!!! Even if computers typically cannot game at 6144 x 3456 px, it is incredibly nice to simultaneously have the fast refresh rate to glide your mouse cursor around smoothly, and have the super high image resolution to read super crisp text. The monitor can also be run at half resolution but at twice the framerate of 330 Hz, which is amazing for older or competitive titles. The only downside is that the quality control is not too great (my friend ordered the same one and it was defective) and the plastic bezel of the monitor seems very generic.

[1] https://i.dllu.net/2026-09-09-20-40-23_b59cb931ec7bd913.png

dllu··on 4 in 10 travellers visit tourist sites to capture social media content
I feel like taking pictures is a fun experience in itself. For me, it isn't really "missing the experience". If anything, it makes me pay more attention to the amazing view and details that I'd have otherwise missed as I try to line up the shot perfectly.
dllu··on 4 in 10 travellers visit tourist sites to capture social media content
I travel to tourist sites to take the exact same photo that is taken thousands of times every day because I have an above-average camera so I can take better quality photos than most other people lol
dllu··on Using the railway network as a flatbed scanner
As someone who also did some line scan photography, I also ran into a lot of similar challenges!

> Displaying and sharing the pictures I've taken has been a pain throughout the project. Most software on my computer doesn't like how big they are, and the most reliable tool I've found for viewing them has been GNU IMP, which feels a bit overkill.

I vibe-coded my own image viewer, sriv, to address this: https://github.com/dllu/sriv

Also, I found that displaying the images with multiple rows instead of a single super wide image is a lot more ergonomic.

> I correct for it for a given subject by shifting the red and blue channels to line up with the green channel. Since the lines are evenly spaced, I can shift by the same amount in opposite directions rather than having to measure separate offsets for each channel. In theory, I could decide how far to shift by correlating brightness shifts across channels, but at present, I do it manually.

I implemented the correlation-based approach: https://daniel.lawrence.lu/blog/2025-09-21-line-scan-camera-...

Recently, I also vibe-coded a tool for me to manually annotate constraints to fine-tune the distortion correction: https://daniel.lawrence.lu/blog/2026-08-02-line-scan-camera-...

For a stationary camera imaging a train, you just need to estimate the train's speed. But for the inverse problem of imaging the landscape from a moving train, the speed varies due to parallax (near things move faster, far things move slower), so there's no way to fully eliminate the RGB fringing for all distances.

> The biggest one is to make it not dependent on a laptop to capture images, which will make it less sketchy and easier to bring places.

I did just that recently, by adding an NVIDIA Jetson Orin Nano and a 7" 2000 nit touchscreen as well as a custom-designed CNC aluminum case: https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-li...

dllu··on Using the railway network as a flatbed scanner
I've further improved my long trains scanning setup with:

* portable battery-powered enclosure with display: https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-li...

* fine-grained distortion correction by manual annotation: https://daniel.lawrence.lu/blog/2026-08-02-line-scan-camera-...

Here's a recent Caltrain photo: https://commons.wikimedia.org/wiki/File:Caltrain_Stadler_KIS...

dllu··on Using the railway network as a flatbed scanner
Neat. It links to some of mine from an older HN comment but here's another one of some houses from Caltrain:

https://i.dllu.net/2017-11-23-14-30-54_stack_cdb771693eea9fe...

dllu··on GPT 5.6 Sol is the best "vision" model OpenAI ever released
No pre-prompting, although I can't be sure it didn't use memories. "No tools" should theoretically have prevented it from looking up memories. FWIW, Grok and Gemini both failed in a similar way.

With Python, it was able to successfully solve it in 9 minutes: https://chatgpt.com/s/t_6a8350ecddfc81919328caf68de74861

The real pain point is that at work, I use Codex and I'm currently working on a project that involves debugging some polyline topology, very similar to the path following puzzle. The vision is completely useless here.

Your VLM idea sounds good. Theoretically, the inverse problem (generating an SVG of a pelican riding a bike) can also be solved with a VLM that plans out how to draw it, not unlike a human planning out a path for their hand to follow.

dllu··on GPT 5.6 Sol is the best "vision" model OpenAI ever released
Vision is still embarrassingly bad.

ChatGPT Pro with GPT 5.6-sol: https://chatgpt.com/share/6a834217-ca8c-83e8-a8e8-45d5b8797b...

The puzzle: https://activityvillage-files.s3.eu-west-2.amazonaws.com/s3f...

dllu··on Grok 4.6
In terms of using experience, I found Grok 4.5 to be way more pleasant to use than GPT 5.6 Sol and Claude 4.8/5. It just gets to the point, and is super fast and concise, no yapping. That's how AI agents should be imo. None of the weird "Claude ipsum" jargon like "load-bearing" and "stale folklore" or GPT 5.6-isms like "focused regression" and "provenance".
dllu··on Itadakimasu: A word you say to the food, not the cook
Talking about being "tired", the phrase お疲れ様でした (otsukaresama deshita) is commonly used to express "thanks for the hard work" and it's a catch-all greeting for coworkers now, but it literally means something like "o tired one" and the character 疲 still means tired.
dllu··on Itadakimasu: A word you say to the food, not the cook
Japanese also has a word you say to the cook, ご馳走様でした (gochisousama deshita) but that's said after the meal as thanks.
dllu··on Why did we wait so long for the bicycle? (2019)
The Smithsonian has a great book called "Wheels and Wheeling" that covers the early history of bicycles. Fascinating stuff.

https://repository.si.edu/server/api/core/bitstreams/02b8e94...

dllu··on Karpathy’s Pelican
https://simonwillison.net/2026/Jun/9/claude-fable-5/

The bike is generally okay, apart from medium which derped hard. Max has correct diamond, correct head tube, and so on. Only nitpicks are that the front fork offset isn't there and the chain doesn't touch the rear sprocket correctly.

Page 1 of 10Next →