You must review AI-generated code. Your AI tool can quickly turn from a PhD-level developer to a kindergarten-level monkey, without you even noticing. Review it before committing: iamvishnu.com/posts/you-mu...
Posts by Vishnu Haridas
Degoogling - moving away from Gmail and other few Google services after 20 years.
iamvishnu.com/posts/degoog...
I am almost convinced by recent OpenClaw and Moltbook developments that by 2027 we will start writing software in plain English, expanding on a new discipline called "Agent Engineering": iamvishnu.com/posts/todo-a...
Absolute engineering marvel. The most advanced machine the humanity has ever made.
An excellent @veritasium.bsky.social video on ASML EUV machine that manufactures processors that sits on almost every mobile device today: www.youtube.com/watch?v=MiUH...
AI in 2026: people will be forced to put a “human-generated content” disclaimer everywhere, and AI will be overused everywhere for no apparent reason: iamvishnu.com/posts/predic...
Ah need to catch up. Still on day 8. I thought the switch to 12 days from 25 days this time will be easier, but a linear interpolation applies here also - it gets harder in the middle as always.
FINALLY I've completed "Laboratories" - Day 7 after several tries. I tried recursion on Part 2, but missed to cache the results - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/7
Solution in Kotlin: github.com/vishnuharida...
Every assumption about Part 2 was wrong I think. If the operators row had padding whitespaces then we could simply do a reverse traversal picking the numbers from each row, combining them, and operating on them as soon as we encounter an operator.
I've completed "Trash Compactor" - Day 6 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/6
Part 2 was a little tricky though. Solution in Kotlin: github.com/vishnuharida...
I've completed "Cafeteria" - Day 5 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/5
Solution: github.com/vishnuharida...
Stuck at Part 2 with OOM error, thanks @notajocke.bsky.social for the idea of merging the ranges first before processing.
Tried `list.each { toList() }.flatten().distinct().count()` but got OOM error 😆 Thanks for the idea of merging the ranges first.
Day 4 was easy! Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/4
Solution in Kotlin: github.com/vishnuharida...
Great so far, but stuck at D03P02
Here's my solution in Kotlin: github.com/vishnuharida...
I just completed "Gift Shop" - Day 2 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/2
My argument is that the practice of storing TOTP in the password manager app undermines the very essence of two-factor authentication (2FA) and is essentially "1FA" in disguise.
iamvishnu.com/posts/totp-i...
Putting both the password and TOTP in the same password manager is not 2FA, that's still 1FA in my opinion - much like locking a box and hiding the key under the same box.
#passwords #2fa