HNHacker News
TopNewBestAskShowJobs

yberreby

334 karma · joined March 12, 2016

Yohaï-Eliel Berreby, PhD student in Physiology (Neuro-AI) @ McGill University and Mila (mila.quebec)

Building CanViT (Canvas Vision Transformer), and kickstarting Active-Vision Foundation Models (AVFMs).

Contact: me@yberreby.com

---

meet.hn/city/45.5031824,-73.5698065/Montreal

Socials: - linkedin.com/in/yberreby - github.com/yberreby

---

submissionscomments
yberreby··on Claude Code Cheat Sheet
Wouldn't be a very good look if they did anything else.
yberreby··on Iran War Cost Tracker
The Houthis have been doing a lot of shipping lane disruption, recently. They have sunk several ships.

Iran's Islamic regime has provided material and monetary support to the Houthis.

Crippling their capabilities aligns with the goal of protecting global shipping.

yberreby··on GPT‑5.3 Instant
This applies to any US company. Have we forgotten everything we learned in 2012? If your data is shared with Google, Anthropic, Meta, Amazon, or any of their US competitors, it is within reach of the NSA. Whether or not a company provides support to the DoW is orthogonal to that fact.
yberreby··on Claws are now a new layer on top of LLM agents
Sure, but aren't most people running the *Claw projects using cloud inference?
yberreby··on Nanobot: Ultra-Lightweight Alternative to OpenClaw
It's up: https://yberreby.com/posts/hands-free-claude-code/
yberreby··on Nanobot: Ultra-Lightweight Alternative to OpenClaw
Since this has garnered some interest, I definitely will sit down and write a blog post when I have a little bit of time. I have upgraded the setup since that post a few days ago, and keep doing so continuously; it's always running in the background while I work. There are some rough edges, but the workflow feels like what Siri should have been.
yberreby··on Nanobot: Ultra-Lightweight Alternative to OpenClaw
That's a fair point, and I had the exact same thought while building this. I had previously resisted the urge of integrating Claude Code with e.g. ntfy.sh for this reason. But in practice, this works for me. I end up being less likely to spend time on the computer and more likely to be doing something on my feet.

For context, I'm a PhD student. Work-life balance is already... elusive.

yberreby··on Nanobot: Ultra-Lightweight Alternative to OpenClaw
Looks like a nice library, thanks for sharing! I know Telegram bots are very popular and that the API story is quite nice, but I have tended to avoid Telegram. My preference would be to go through Signal. I just started looking into my options on this yesterday. Any particular reason why you chose Telegram?
yberreby··on Nanobot: Ultra-Lightweight Alternative to OpenClaw
I'm in the process of migrating from my first POC's disgusting mess of vibe-coded Python to a cleaner (and shareable) Rust architecture. It's going well but I will wait for it to stabilize a bit before sharing.

The main non-trivial parts are proper state machine / concurrency management, and AirPods interaction; in particular, detecting a stem click while the microphone is active. I worked around this by having the mic-off-to-mic-on transition use a media player Play event, and mic-on-to-mic-off do silence detection. It's super hacky but actually works surprisingly well.

Currently looking into using `AVAudioApplication.setInputMuteStateChangeHandler(_:)`, like AirMute [1] does, so that I don't have to rely on silence detection and can manually terminate the voice command with a second click.

If you want to roll your own version of what I described today, it should be pretty easy to do so based on what I wrote if you have a Max x5-x20 plan and feed it to Opus. Bonus points, you get to customize it to your exact needs.

[1]: https://github.com/Solarphlare/AirMute

yberreby··on Nanobot: Ultra-Lightweight Alternative to OpenClaw
Watching the OpenClaw/Molbot craze has been entertaining. I wouldn't use it - too much code, changing too quickly, with too little regard for security - but it has inspired me.

I often have ideas while cleaning around, cooking, etc. Claude Code (with Opus 4.5) is very capable. I've long wanted to get Claude Code working hands-free.

So I took an afternoon and rolled my own STT-TTS voice stack for Claude Code. The voice stack runs locally on my M4 Pro and is extremely fast.

For Speech to Text, Parakeet v3 TDT: https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3

For Text to Speech, Pocket TTS: https://github.com/kyutai-labs/pocket-tts

Custom MCP to hook this into Claude Code, with a little bit of hacking around to get my AirPods' stem click to be captured.

I'm having Claude narrate its thought process and everything it's doing in short, frequent messages, and I can interrupt it at any time with a stem click, which starts listening to me and sends the message once a sufficiently long pause is detected.

I stream the Claude Code session via AirPlay to my living room TV, so that I don't have to get close to the laptop if I need extra details about what it's doing.

Yesterday, I had it debug a custom WhatsApp integration (via [1]) hands-free while brushing my teeth. It can use `osascript` for OS integration, browse the web via Claude Code's builtin tools...

My back is thankful. This is really fun.

[1]: https://github.com/jlucaso1/whatsapp-rust

yberreby··on Ask HN: Share your personal website
https://yberreby.com
yberreby··on GPT-5.2
Would you share some additional details? CPU, amount of unified memory / VRAM? Tok/s with those?
yberreby··on GPT-5.2
Based on what works elsewhere in deep learning, I see no reason why you couldn't train once with a randomized number of experts, then set that number during inference based on your desired compute-accuracy tradeoff. I would expect that this has been done in the literature already.
yberreby··on If you're going to vibe code, why not do it in C?
> I.e you can automate things like checking for memory freeing.

Or, if you don't need to use C (e.g. for FFI or platform compatibility reasons), you could use a language with a compiler that does it for you.

yberreby··on Implications of AI to schools
Yes, this is part of the French prépa/CPGE system, which is the "standard" way for students to enter elite engineering schools. You do your first 2-3 years of undergrad in prépa.

Source: I did prépa.

yberreby··on Trying out Gemini 3 Pro with audio transcription and a new pelican benchmark
Delightfully evil.
yberreby··on Responses from LLMs are not facts
I have seen it noticed, called out in the talk page, and not rectified.
yberreby··on "Our research is greatly sped up by AI but AI still needs us"
I encourage you to look up the "bro" in question. He's a Fields medalist.
yberreby··on Responses from LLMs are not facts
That is also the case on Wikipedia, though. And it's not always trivial to rectify.
yberreby··on Should LLMs just treat text content as an image?
I've seen this approach applied to spectrograms. Convolutions do make enough sense there.
yberreby··on The State of Machine Learning Frameworks in 2019
JAX code usually ends up being way faster than equivalent torch code for me, even with torch.compile. There are common performance killers, though. Notably, using Python control flow (if statements, loops) instead of jax.lax primitives (where, cond, scan, etc).
yberreby··on The Bitter Lesson Is Misunderstood
If C ~ D^2, then D ~ sqrt(C).

In other words, the required amount of data scales with the square root of the compute. The square root of 2 ~= 1.414. If you double the compute, you need roughly 1.414 times more data.

yberreby··on 'World Models,' an old idea in AI, mount a comeback
I'm curious who among the three you think is "outright fraudulent."
yberreby··on 'World Models,' an old idea in AI, mount a comeback
It took me a second to realize you were talking about prompting a LLM. This is fundamentally different from what the parent is doing. "AI" is so much more than "talking to a pretrained LLM."
yberreby··on Backpropagating through a maze with candle and WASM
That shouldn't happen? Normally, the button is grayed out while optimization is running, but after it converges or reaches the max number of steps, you can change the parameters and restart. You may want to lower the max number of steps when trying things out. Sorry if it's a bit clunky!
yberreby··on GPT-5
I'm curious what you think qualifies as science.
yberreby··on I Used Arch, BTW: macOS, Day 1
Better yet, use uv [1]. I've been using it on all of my projects since it came out, and I'm never looking back. It's in a class of its own.

[1]: https://docs.astral.sh/uv/

yberreby··on I Used Arch, BTW: macOS, Day 1
The core initial setup here took about 2h30 from getting the laptop out of its packaging to being able to run and develop my main project's code within the environment I described.
yberreby··on I Used Arch, BTW: macOS, Day 1
Interesting that you had such a smooth experience. I was mainly using Homebrew on the daily between 10 and 14 years ago, so I couldn't give you specifics. My experience at the time was poor; maybe I was using it wrong. My impression from looking at recent user reports was that Homebrew's stability has continued to lag behind pacman's, but I agree that my assertion in the latter part of the excerpt you quoted was insufficiently substantiated, so I'll remove it.
yberreby··on I Used Arch, BTW: macOS, Day 1
Care to elaborate on what you've found most painful? Since `nix-darwin` is anything but officially supported, I am expecting trouble, but it would be nice to know if there are specific things I should look out for.

I'd love to use NixOS itself, of course, but it's not a native option on this machine due to the missing M4 support in Asahi. For now, I'm trying to see how much package/configuration management discipline I can reclaim on macOS, and familiarize myself with Nix in the process.

I could have just used a set of Ansible scripts and Homebrew, but that didn't seem quite as interesting as trying Nix out.

Page 1 of 3Next →