Satnam Singh
@satnam6502.bsky.social
2.6K followers 920 following 520 posts
Punjabi-Scottish-American husband and father of two, Haskell hacker at Groq, cook, cyclist, Lost In Music. ∃🇮🇳 ∧ ∀🇬🇧 ∧ ∃🇪🇺 ∧ ∀🇺🇸 #celiac ex-{Microsoft, Google, Facebook, Xilinx, Glasgow} living in Los Altos, California http://raintown.org
Posts Media Videos Starter Packs
satnam6502.bsky.social
Part of me still expects to spot his ghost wondering around Little India.
satnam6502.bsky.social
This is my first trip to Singapore, but mentions of the place have always loomed large in our family history.
satnam6502.bsky.social
paving the way for my mother and I to move from India to the UK to join him (he had gone ahead). I was about one and a half at the time my mum and I made the trip. Eventually my mum and I would get British citizenship too, when I was around seven.
satnam6502.bsky.social
My father lived in Singapore before I was born, and I have been walking the streets wondering if I have retraced any of his steps. As an Indian he was here at the right time to apply for and get a British passport (or some similar document). This was a pivotal moment in our family history,
satnam6502.bsky.social
Oh, I don't know. I am just drawing pretty pictures!
satnam6502.bsky.social
internal temperature got to 54°C after which I sliced and served.
satnam6502.bsky.social
skin side of two breasts totaling 600g for 15 minutes, turning the heat down to medium-low as soon as I added the duck breasts to the pan. After 15 minutes of cooking on the skin side (constantly removing the rendered fat) I cooked the flesh side for 6 minutes. After resting for about 7 minutes the
satnam6502.bsky.social
For the hot pan vs. cold pan controversy I am on the side of the hot pan. Seared duck breast with a whisky soy sauce (Oban 14), on a bed of spring onions, asparagus and sugar snap peas (thank you Nick Nairn). I started with a Hestan titanium pan at 200°C and seared the scored salt and pepper
satnam6502.bsky.social
When my daughter was born 22 years ago I never expected to have the following family dinner conversation with her:
Kiran: <a story about getting into trouble with "git add ." at work>
Dad: <Have you considered only using "git add -u ." when using . as an argument?>
satnam6502.bsky.social
No, that’s a variant, a good one.
satnam6502.bsky.social
Well, my Lava DSL significantly pre-dates Chisel.
satnam6502.bsky.social
The beauty of asking an AI to generate a proof for a lemma (e.g. a formal property about a circuit) is that it can be checked by an external interactive theorem prover (like Lean) to establish whether the AI’s output is actually correct. This is an awesome superpower!
satnam6502.bsky.social
I will work on exploring applications of Aristotle to the formal verification of hardware. This job is a perfect intersection of hardware design and verification, functional programming, formal methods and machine learning, bringing together several threads of my career so far.
satnam6502.bsky.social
I have landed my dream job. I’ve just accepted a position at Harmonic, a Palo Alto startup applying AI to formal mathematical reasoning. Harmonic’s Aristotle formal reasoning model achieved Gold Medal level performance at this year’s International Mathematical Olympiad (IMO). harmonic.fun
Harmonic - AI for Formal Mathematical Reasoning
AI for Formal Mathematical Reasoning
harmonic.fun
satnam6502.bsky.social
I am very much looking forward to the Formal Methods (FM) and Artificial Intelligence (AI) workshop next week at SRI in Menlo Park. It's worth going just for the attendance list!
sites.google.com/view/fmxai20...
Atlas Computing presents:
Sep 30 - Oct 2, 2025 SRI International, Menlo Park.
sites.google.com
satnam6502.bsky.social
Produced from a hardware DSL written in Haskell using dependent types and a combinators for computing the layout.
satnam6502.bsky.social
I did some more hacking to produce a totally floorplanned 64-input sorter circuit on a Xilinx XC7A200T FPGA, on the LHS picture shown as a tight rectangular block, on the RHS a close-up that shows the butterfly wiring pattern.
satnam6502.bsky.social
I am a bit more tempted by AI x mathematic x Lean x formal hardware verification.
satnam6502.bsky.social
Yet, I still feel the pressure to work, to provide for my family, to have a work identity so my friends will still want to see me. Yes, I know how ridiculous all of this this sound, pathetic even. But I still cant reconcile the disparity between what I think and feel. Forged from a crucible where
satnam6502.bsky.social
each component that is instantiated. Dependent types in Haskell provide compile time guarantees about the correct size of all the bit-vectors and arrays in the implementation. Many thanks to Lennart Augustsson and @dorchard.bsky.social for help with the dependent types.
satnam6502.bsky.social
This is what the core of the Haskell Lava DSL implementation looks like. It is a bunch of point-free style recursive combinators that capture the recursive structure and layout of the butterfly network. After evaluation, this produces a SystemVerilog file with layout annotations for
satnam6502.bsky.social
A lovely Xilinx 7-series FPGA chip layout of a sorting network produced from a dependently typed DSL in Haskell. More stuff like this during my keynote talk at ICFP 2025 in October in Singapore. icfp25.sigplan.org/details/icfp...
satnam6502.bsky.social
for technical knowledge and skill as I am for my working style and for communication and collaboration. This seems like a much better way of interviewing than the standardized white board coding and system design questions. Fingers crossed for this afternoon!
satnam6502.bsky.social
it felt like a much better style of interviewing for me, I did not have brain freeze (much) and I did not just speak gibberish in order to have the interview over and done with. The interview this afternoon will involve a two hour problem solving session, and I think I am being interviewed as much