Hacker Newsnew | past | comments | ask | show | jobs | submit | dllu's commentslogin

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


I used it a few weeks ago for a renewal. You upload the HEIC from your iPhone and it turns it into a jpeg with the appropriate resolution. The editor gives you the ability to make minor adjustments to the algorithmic changes it made, and then tells you that a human will review to ensure it meets the standard.

To be honest, the process was very well done, and the new passport was in my mailbox 5 days later without paying anything for expedited shipping.


You are vastly underestimating how vain people are. Will 10% of people change their appearance on official documents just to look better? Yes, certainly.

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)


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-...


Your other photos are always very pleasant to look at too. Thank you for sharing them.

Are there other photo types you've thought about taking? (I don't know very much about the topic. Rocket launches? Cruise ships? 360/Cylindrical line scan sweeps?)

I assume the train rails and constant motion are part of the appeal of making trains the subject. I can't exactly think of parallels, maybe a factory assembly line.


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...


Very cool.

I never thought about it until seeing these, but line scans yield an orthographic projection in the scan direction. There was a little bit of uncanny valley being able to see parts of the front/back of the car that would have normally been compressed out occluded by perspective.


Yarp... Mr. Lu, please go to your nearest gigantic poster shop and immediately start selling these prints at art-gallery prices! There's a brief moment in time where you've a monopoly on "pictures that look like this" and you'd probably be able to make your money back (and more) on this highly distinctive photograph style. Do some back and forth chat with AI on "fine art photography pricing structure" and "signature style / visual voice" and you'll likely be pleasantly surprised.

...and I'll be surprised if I don't see these pictures hanging in a bank/startup lobby at some point!


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.


Nuanced and humble responses... I'm happy for you and all the retro-futurist techies that'll end up with your photos on their walls!

My responses came from a place of emotion, because there's something about them that is so striking, the odd perspective (or lack), the solid "non-blur" of a background, the juxtaposition of subject and method... when you stack all that together it's something special, and "selling" (or more precisely: letting people buy/vote with their money) is one way to encourage more of what you're doing.

Seriously, do your one of three artists proofs for some of these and shop around a gallery showing with SFAC or SF City Hall, then sell your "works exhibited to the public with certificate of authenticity and 10% of sale price going to SF muni"

They're just too striking not to get more eyes on them! Even if you don't, hopefully you feel the little warm glow of having climbed this mountain!


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/


Hell, I'd shop them around to transit authorities. Gorgeous photos, awesome hardware and processing techniques that went into them.

Of course. The first outlet to try is Muni's streetcar museum, which is at the turnaround loop at Market and Embarcadero.[1]

[1] https://www.streetcar.org/museum/


Donate copies to sfmuni (no matter what!), or front them as "distribution partner", ie: they sell those posters for $999.99 or whatever and cut checks to Mr. Lu for $99 each (or something).

This is sick, dude! I liked the formatting of the website, quality of photos, and minimization of extra fluff.

I have a long-standing dream to use a line scan camera from a moving train, assuming everything would be easy, if I had the camera. Little did I realise how much work is needed to tidy up the imagery!

Your work is extremely beautiful, and I am truly envious of your work, the aesthetic is awesome. I want to do it on the cheap though, with a regular phone as camera.

I think you have given me the directions needed to make some bold steps towards getting what I want out of the 'medium'.


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


Many thanks! Those trains are beauties. Looks like I had best get out there, giving it a go. It is canalside that I want.

Have you seen https://philo.gay/linecam/ and https://github.com/FlamingSpork/grindstone for the postprocessing code?

(previously on HN frontpage, and before that, at EMF Camp!)


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...


Looks like a realm of 'I bit off more than I can chew' when it comes to results. Good to see OpenSeadragon in the wild on Flaming Spork's site (for prsenting images). It is a rarely ploughed furrow of artistic endeavour, and I suspect that is for good reason (of difficulty).

My plan was to experiment on the canal towpath with bicycle and basic android phone. I think I need a proper camera and the train.


They're great - I'm pleasantly surprised there's no blur on the people.

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.

These are fantastic, thanks for sharing

oh ok

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


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


Integration with candle is already available! https://github.com/huggingface/candle/pull/3934/

I will give you an outsider's perspective on an analogy in this case. It is easy to see Candle as a ML crate to use for neural networks in rust. I have used it, and it works well.

The analogy is Tensorflow 5-10 years ago. It is popular, and there are lots of material on it. You quickly learn from talking to people that due to whims, a collection of reasons, people's love of consensus that no one is recommending it; new people are not learning it. In this case, the Torch analogy is the Burn lib.


And to tie this back into GPU programming, Burn's backends use CubeCL, which lets you write compute kernels in a Rust DSL using #[cube], with a JIT compiler and autotuning machinery. It targets CUDA, AMD, Metal, Vulkan and WebGPU.

(disclosure: I am a contributor)


It's very cool. If Rust had comptime, apart from macros, it would be unmatched in capabilities.

noob here - what's the benefit of this? Will using Rust lead to more optimal LLMs or code or both?

I view it more of supporting an expanding use case. If rust gets popular then you'll want to support it.

Nobody cares if kernels are written in Rust. Kernels were meant to be written in C, but if you want to go more high-level try Triton or a similar DSL that nicely abstract tile sizes etc.

kernels aren't meant to be written by any defined language. C is just a traditionally good default language that took over from assembly. No particular reason we have to stick with C.

And quite a few reasons that something better than C should be used. Rust seems a good candidate.

What reasons would you have to prefer Rust over C for compute kernels? I am a great fan of Rust, but I don't see any benefit for kernels, due to their relatively simple nature.

I'm not sure why being relatively simple would mean C over Rust? Rust still has the safety advantages.

That is exactly why OpenCL failed adoption, focusing on C, instead of being polyglot like CUDA.

SYCL is the natively polyglot counterpart, with practical implementations of it compiling down to the same sort of SPIR-V kernels as OpenCL. (OTOH, much of the current adoption on the open standards side seems to target the more widely supported SPIR-V compute shaders, via Vulkan compute.)

Not really, first of all it is for C++, not the range of languages supported by CUDA.

Before SPIR was a thing in OpenCL, Khronos could not understand why anyone would care about anything else other than C99, or why supporting Fortran on GPUs was at all relevant.

Secondly, from the competition only Intel cares about SYCL with their own sugar on top, OpenAPI.

AMD hasn't cared one second about it.

You may mention Codeplay, which is anyway an Intel owned company since 2022.

As for Vulkan, it doesn't have neither the features, nor the tooling that CUDA enjoys, it is the usual putting up with using LEGOs from different brands, with various pin sizes, that is so common with Khronos.


I have never seen a comment this gray

in all of hackernews' shitty UX decisions, gray unreadable comments is one of the worst ones

I haven't felt this popular since then 1990s when I was opposing Visual J++ and IIS.

oh no no no, this is going to break the CPP hold on AI and game dev.

Nah, Rust compiler still needs C++ to be built in first place, and everyone on AI uses LLVM as infrastructure.

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


That's not the same thing as those are photos with perspective distortion.

Interesting point. They need to photograph them with slit-scan photography.

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


Haha, I didn't recognize your username, but now I look at your blog it was your work I was thinking of :)

Well, that screws my idea then. Best to just 3D scan the cars and model them in 3D with no perspective then!


Presumably they scale the photo to the actual measured dimension though, so at worst it will make the car look a bit weird.

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


I think these AI platforms would guarantee bigger wins for themselves if they figured out how to give these models more of an object-conceptualization of their input than they currently have. Solving math puzzles is cool and all, but 99% of customers don't need to solve math puzzles like that; they're asking the model to answer questions about thins and to translate ideas into a real UI. A model that could reliably determine if/how its input/output isn't visually matching up to a design would be a big deal. Sure, we kind of have that now, but it's still in gimmick territory.

The Stockfish NNUE is completely unrelated to AlphaZero.


It's a neural network rather than a bunch of hard-coded rules. That turns out to make a big difference.

Actually, there's this interesting snippet from the release page:

> These techniques have been applied to hundreds of billions of training positions, all of which have been consistently rescored using a strong Leela net.

So Stockfish's neural network evaluator is actually trained using Leela Zero.


"Completely unrelated" is not quite true. Stockfish current NNUE models are trained on LC0 training data. LC0 is pretty much an open-source community replication of the ideas from AlphaZero.


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.


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


I’m personally considering the 5K 27” 27GM950B from LG, but I’m hesitant and wonder if I should save the disappointment or inevitable and just spring for the Studio Display XDR. But its quite a jump and I don’t get paid for coding like that anymore so it’s harder to justify now, hah.

However, as another commenter mentioned in the thread it seems like nearly every non-Apple monitor has some sort of negative compromise outside of port selection.

That being said $700 is a steal for that monitor easily and the price overcomes a lot of possible downsides (at least for me it would).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: