Top all-time · #7073
Daniel Lawrence Lu
Personal blog · daniel.lawrence.lu/blog · on HN as dlluprogramminghardware
Daniel Lawrence Lu's personal blog at daniel.lawrence.lu covers programming and hardware. Since 2018, 10 different Hacker News readers have linked it 51 times, most often “Rock Paper Scissors Algorithms”. It is still writing: the last post was on 2026-09-20, and you can follow it by feed.
Too few sampled comments (4) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for its personal projects: a rock-paper-scissors game with Markov-chain opponents, a railway-network flatbed scanner, a photo project, and a post on 3D-printing a lens mount.
Summarised by Claude from a sample of 4 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Hi welcome to my website!!!
Most-linked posts?
- Rock Paper Scissors Algorithms3 people · 4 mentions · first linked 2019-08-06
- Line scan camera image processing3 people · 3 mentions · first linked 2025-12-25
- /photos/2 people · 3 mentions · first linked 2023-04-28
- Using an 8K TV as a Monitor2 people · 2 mentions · first linked 2024-10-28
- /blog/2024-08-31-customizing-my-line-scan-camera/2 people · 2 mentions · first linked 2025-12-13
- Asahi Linux with Sway on the MacBook Air M22 people · 2 mentions · first linked 2025-12-05
What Hacker News says?
I tried making a self-solving rubik's cube in 2013 as part of a school project [1]. It didn't quite work and I gave up. [1] https://daniel.lawrence.lu/engineering/cube/
Comment linking /engineering/cube/
on “Self-solving Rubik's Cube”Submitted Using an 8K TV as a Monitor as a story · 562 points
HN discussionHere's the report [1], written when I was a second year undergrad in 2010. It's very basic. The species identification is based on matching contours of the spectrogram against some template contour. The multilateration was, embarrassingly, done by brute force by generating a dense 3D grid. At the time, I didn't have any knowledge of Kalman filters or anything that could have been helpful for actually tracking the ba…
Comment linking /public/bat-report.pdf
on “Phased Array Microphone (2023)”Submitted Line scan camera image processing for train photography as a story · 449 points
HN discussionUsing a large 8K display for productivity is underrated. I wrote a blog post about my experience: https://daniel.lawrence.lu/blog/y2023m12d15/
Comment linking /blog/y2023m12d15/
on “New iMac with M4”Submitted MUNI Heritage Weekend in San Francisco as a story · 204 points
HN discussionFor my blog (e.g. https://daniel.lawrence.lu/blog/y2021m09d08/ with tons of math), I render the math serverside using MathJax and serve them as SVG images (with alt text for the visually impaired). They get cached too which is nice especially since many symbols are duplicated. Seems fast enough for me.
Comment linking /blog/y2021m09d08/
on “Render mathematical expressions in Markdown On GitHub”Submitted Nvidia DGX Spark as a daily driver as a story · 3 points
HN discussionMine is a DAS connected to my main workstation [1] that indeed has 96 GB of RAM. [1] https://daniel.lawrence.lu/blog/2024-04-26-small-form-factor...
Comment linking /blog/2024-04-26-small-form-factor-pc/
on “DIY NAS: 2026 Edition”Submitted Rock Paper Scissors Algorithms as a story · 3 points
HN discussionIt does have graphics acceleration and you can even play AAA titles with fex [1] since last year. But many bells and whistles still don't work --- for example, the video decoding hardware, proper sleep, etc. Anyway, I've been using it on my Macbook Air M2 and it works fine for my use case [3]. Pretty smooth. [1] https://rosenzweig.io/blog/aaa-gaming-on-m1.html [3] https://daniel.lawrence.lu/blog/2024-12-01-asahi-lin…
Comment linking /blog/2024-12-01-asahi-linux-with-sway-on-the-macbook-air-m2/
on “Framework Laptop 13 gets ARM processor with 12 cores via upgrade kit”Submitted Towards Automating the Password Game as a story · 3 points
HN discussionI wrote another blog post on the topic, with lots of pictures and simple explanations: Intro to Lie groups for rigid rotations https://daniel.lawrence.lu/blog/y2021m07d14/
Comment linking /blog/y2021m07d14/
on “Exponentially Better Rotations”Submitted Uploading to Wikimedia Commons with AI as a story · 2 points
HN discussionOh yeah I took that picture on the Wikipedia article! I have a couple more on my website [1]. One of these days I want to go to Atherton station with my line scan camera to scan some Caltrains. [1] https://daniel.lawrence.lu/photos/
Comment linking /photos/
on “A camera that shoots 40k FPS decided the 100-meter sprint final”Submitted Line scan camera image processing as a story · 2 points
HN discussionI made an implicit plotter here: https://daniel.lawrence.lu/blog/y2016m02d08/ Your function works fine here and my blog post contains many examples of other cool functions to plot, including the pathological exp(sin(x) + cos(y)) - sin(exp(x+y)) = 0 My plotter is very slow, however; it uses random sampling instead of any sort of clever interval arithmetic.
Comment linking /blog/y2016m02d08/
on “Graphtoy”Submitted Line Scan Camera Image Processing as a story · 1 points
HN discussionI am a big fan of HSLuv and I use it for generating colourschemes for lidar point clouds: https://daniel.lawrence.lu/public/colortransform/#0_2584_964... which is used for videos such as this: https://www.youtube.com/watch?v=eNt8D1mfwwo
Comment linking /public/colortransform/
on “HSLuv, a developer friendly perceptual color space”Submitted Asahi Linux with Sway on the MacBook Air M2 as a story · 1 points
HN discussionI 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...
Comment linking /blog/2026-06-12-standalone-cnc-line-scan-camera/
on “MUNI Heritage Weekend in San Francisco”Submitted Autonomous Cars as a story · 1 points
HN discussionOP 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-0…
Comment linking /blog/2026-08-02-line-scan-camera-image-processing-part-2/
on “MUNI Heritage Weekend in San Francisco”Submitted Line scan camera image processing as a story · 1 points
HN discussionReally awesome design! It would be wise to replace some of those 3D printed parts with CNC parts, especially for places where a lot of strength is required (eyelets for those Peak Design anchors) or precision is required (lens mount). I myself have 3D printed some parts for my line scan camera too, so I can totally understand. [1] https://daniel.lawrence.lu/blog/2024-08-31-customizing-my-li...
Comment linking /blog/2024-08-31-customizing-my-line-scan-camera/
on “Photographer built a medium-format rangefinder”Submitted Simple Rust Image Viewer as a story · 1 points
HN discussionIndeed. I use my Sony a7r II as a webcam on Linux using gphoto2 with v4l2loopback: https://daniel.lawrence.lu/blog/y2020m03d31/ sudo modprobe v4l2loopback devices=1 exclusive_caps=1 card_label="pupcam" gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
Comment linking /blog/y2020m03d31/
on “V002 Camera Live – Zoom with Your DSLR as a Webcam via USB”Thanks for playing everyone. As mentioned, I was slightly surprised to see this trending this morning given I thought it had gone nowhere in a prior submission. Some tech details no one asked about: * Custom WebGL2 renderer * Leaderboards are in FoundationDB (talk about overkill) The markov chains are a fairly standard 5 chain ensemble setup. Each chain is configured to process k-(1..5) of your previous moves (for s…
Comment linking /programming/rps/
on “Rock, paper, scissors showdown”Thanks ! Following your link I found this https://daniel.lawrence.lu/programming/rps/ Submitted. https://news.ycombinator.com/item?id=44105859 There goes my afternoon, nicely nerd sniped :) Thank you.
Comment linking /programming/rps/
on “Rock, paper, scissors showdown”Interesting links for studying RPS AI: * http://www.rpscontest.com/ * https://daniel.lawrence.lu/programming/rps/ Playing rock paper scissors is about predicting what the opponent will play next given a history of moves. Prediction is the dual problem of compression. For example if the history of moves is "RRR", you can try to compress the strings "RRRR", "RRRP", and "RRRS". Clearly the first one ("four Rs") is more…
Comment linking /programming/rps/
on ““Rock Paper Scissors” Trained in Browser AI/ML”