05 Jan 2026
Vibe-code Golang one interface at a time.
During the holidays, I was working on a personal project in Go, and I wanted to use AI to help me do a few things (e.g. implement a downloader that downloads a file from Google Drive). However, I’m not a huge fan of having AI IDEs creating new directory structures or introducing abstractions that I need to read through and understand.
Read more...
30 Dec 2025
A lot of times I use GenAI to quickly prototype something like an app idea or a UI/UX mock for a site. I’d like this text-to-UI experience to be as fast as possible to quickly iterate.
Read more...
07 Dec 2025
AI should only run as fast as we can catch up.
The story of Daniel and Eric
Recently I have spoke with two of my friends who all had fun playing with AI.
Last month, I met with Eric, a fearless PM at a medium size startup who recently got into vibe coding with Gemini.
Read more...
26 Aug 2024
I brew coffee and I buy a lot of beans. I’m also a lazy person that doesn’t want to type in all the details in one of the available apps and track things to the grams.
Luckily I found out that GPT-4o (free tier) is good enough to take a few photos I uploaded of a bag and parse it’s roaster, varietal, origin, tasting notes, roast date, etc. I tried with a dozen different bags and it works pretty well - even when it makes mistakes I can correct them with natural language conversation, which I enjoyed.
Read more...
15 Dec 2023

In the previous post, we have seen that NTT is a special way of evaluating a polynomial (i.e. converting a polynomial from coefficient form to evaluation form) such that the evaluation points are all the $d$-th roots of unity. We then examined a few efficient ways (recursive and iterative) to implement NTT and iNTT routines. Lastly we learned that by carefully picking the right twiddle factors (generators) as roots of the polynomial modulus, we can perform modular polynomial multiplication in NTT form in the same degree as the multiplicand (without the need to extend the degree and perform additional reduction).
Putting everything we’ve learned so far, we can put together an efficient algorithm for multiply polynomials in a ring in $O(n \log{n})$ time. The recipe is as simple as:
Read more...