Vivek Haldar
Tinkerer. Programmer. Writer. YouTuber.
- Coding Agents Are Outliers Nov 2, 2025
- Narrate Your Work Sep 14, 2025
- The Assembly Language of Knowledge Work Sep 13, 2025
- My Video Production Stack (for YouTube) Sep 7, 2025
- Natlang Code Aug 16, 2025
- The Mac-vs-PC Story Playing out in CLI Agents Aug 6, 2025
- AI is a Mirror Jul 28, 2025
- Plato's Cave of AI Agent Evals Jul 27, 2025
- Fixing Auth for Personal AI Agents Jul 25, 2025
- Does AI Make Programming Feel Like Factory Work? Jun 7, 2025
- The Personal Side of Jevons Paradox in the Age of AI Jun 2, 2025
- The Programmer's Climb Apr 26, 2025
- Dijkstra would’ve (incorrectly) HATED vibe-coding Apr 11, 2025
- The case against local LLMs Mar 29, 2025
- "But LLMs are not deterministic!" Mar 28, 2025
- End-user Abstraction Mar 23, 2025
- AI coding - From Tactics to Strategy Feb 28, 2025
- Human evals are outsourced vibe checks Feb 23, 2025
- Writing is building, but software is now content Feb 23, 2025
- When Compilers Were the 'AI' That Scared Programmers Feb 16, 2025
- Spec-driven Vibe-coding Feb 8, 2025
- Don't credit AI Feb 6, 2025
- Emacs in the age of AI Jan 30, 2025
- AI resistance considered harmful (for programmers) Jan 17, 2025
- How I use AI (late 2024) Nov 20, 2024
- Programming with LLMs: Part 1 Sep 27, 2024
- Programming with LLMs: Part 2 Sep 27, 2024
- Subject-object-verb, or– how we use AI Jun 30, 2024
- Portability of LLM Prompts Jun 9, 2024
- The de-nerdification of programming Mar 29, 2024
- LLMs eat entry-level SWEs Mar 15, 2024
- GPT Monologues Nov 26, 2023
- Metaphors for thinking about LLMs Aug 20, 2023
- Re: Why I don't use Copilot Jun 8, 2023
- AI doomers will doom us May 21, 2023
- IDEs and CAD Mar 19, 2023
- LazyPost: Programming in the age of GPT and CoPilot Mar 15, 2023
- LLMs are compilers Feb 26, 2023
- A spiritual successor to Emacs Feb 14, 2023
- Augmenting LLMs with APIs Feb 12, 2023
- Prompt LLMs for code, not arithmetic Jan 25, 2023
- Moving off Tumblr Jan 22, 2023
- Hardware Acquisition Hacks Dec 28, 2020
- Automatically edit out silence (dead air) from videos Aug 21, 2020
- Remapping arbitrary keys in Mac OS X Jul 22, 2020
- How Unix Won May 4, 2020
- Manifesto for my channel Apr 15, 2019
- Laptops with touchscreen keyboards May 16, 2018
- Review of Chaos Monkeys Oct 7, 2017
- Airspace Aug 8, 2016
- Church numerals in ES6 Mar 14, 2016
- Treating algorithms fairly Mar 18, 2015
- IDEs in the cage Oct 27, 2014
- De-skilling Oct 6, 2014
- How software grows Aug 17, 2014
- When to do a rewrite Jul 22, 2014
- Learning your life Jul 21, 2014
- Garland Words Jun 24, 2014
- Lurking Smalltalk Jun 23, 2014
- Heartbeats Jun 15, 2014
- Why technologists want to secede May 17, 2014
- Bleeding buffers May 3, 2014
- You can't run with the machines Apr 13, 2014
- More on fat vs thin clients Apr 7, 2014
- Asynchronous Learning is More Inclusive Apr 5, 2014
- The Automatic Corporation Mar 16, 2014
- Pebbles and Projects Mar 13, 2014
- Shedding Mar 12, 2014
- The tool divergence Mar 8, 2014
- The Programming Language Consensus Feb 23, 2014
- Technium Feb 19, 2014
- Hand-drawn maps Feb 18, 2014
- Star Trek vs Babylon 5 Jan 23, 2014
- Fat Client, Thin Client Jan 20, 2014
- The Contours of My Attention Jan 19, 2014
- Go lang Jan 11, 2014
- The Human Resolution Threshold Jan 8, 2014
- The Distraction Addiction Jan 1, 2014
- Best of 2013 Dec 30, 2013
- Generation AD Dec 12, 2013
- To tool or not to tool? Dec 10, 2013
- Automating software engineering Nov 14, 2013
- Sharp tools, dull minds Nov 10, 2013
- Malcolm Gladwell and the narrative fallacy Nov 4, 2013
- The 1964 origins of responsive design Nov 2, 2013
- What changed in 1991 in India? Oct 30, 2013
- (A tiny step towards) Automating Web Design Oct 29, 2013
- Rules for Computing Happiness Oct 23, 2013
- Should I do a PhD? Oct 17, 2013
- My review: The Year Without Pants Oct 12, 2013
- How will you read your files in a hundred years? Oct 7, 2013
- "The Mundanity of Excellence" Oct 1, 2013
- Why you should subscribe to my newsletter Sep 23, 2013
- Research Roundup: Programming and Remote Teams Sep 16, 2013
- Is there a STEM worker shortage? Sep 12, 2013
- Rangers Sep 10, 2013
- Taking your company completely remote Sep 9, 2013
- Long form on the web Sep 6, 2013
- We are all remote workers Sep 5, 2013
- Talented Beast Aug 28, 2013
- Asset allocation is everything Aug 26, 2013
- Maintenance is not a bad word Aug 21, 2013
- The cost of memory safety Aug 19, 2013
- How Hugh MacLeod got my money Aug 15, 2013
- The difference between a herd and a crowd Aug 12, 2013
- HTTP 2.0 marks the end of an era Aug 9, 2013
- The Organic Digital Aug 1, 2013
- The Real New Aesthetic Aug 1, 2013
- Empirical Analysis of Programming Language Adoption Jul 31, 2013
- Native mobile apps are a stopgap Jul 30, 2013
- The perils of being a knowledge worker Jul 23, 2013
- C++14 Jul 20, 2013
- How I do email Jul 17, 2013
- Balance Jul 10, 2013
- "We don't do email, email does us" Jul 8, 2013
- Waiting faster Jul 6, 2013
- NPS Jul 2, 2013
- The laziness of synchronous work Jun 29, 2013
- Mindfulness sells Jun 22, 2013
- CPU pipelines and the structure of work Jun 7, 2013
- Backup in the age of the cloud Jun 3, 2013
- The One Thing May 22, 2013
- Games as a hook into CS May 16, 2013
- What do you think computer science is? May 15, 2013
- Future programming May 6, 2013
- Patterns of use Apr 14, 2013
- Abolish the "Save" icon Apr 7, 2013
- RIP Ebert Apr 5, 2013
- Start here Mar 24, 2013
- We are all Mad Men Mar 23, 2013
- Meetings are mutexes Mar 22, 2013
- STEM jobs Mar 20, 2013
- Strong opinions, weakly held Mar 17, 2013
- Zero Knowledge Mar 14, 2013
- Addicted to work Mar 12, 2013
- What I work on… Mar 12, 2013
- Moving to Chrome OS Mar 7, 2013
- From the mouths of babes Feb 28, 2013
- Factory machines Feb 26, 2013
- The new luxury Feb 21, 2013
- Productivity isn't Feb 10, 2013
- Colorful geometry Feb 6, 2013
- Review: Close to the Machine Feb 5, 2013
- Computer Science PhD trends Jan 31, 2013
- Tackling tail latency Jan 29, 2013
- Blue collar coders Jan 28, 2013
- The void Jan 27, 2013
- Engineering, Culture and Tools Jan 18, 2013
- So Good They Can't Ignore You: Review Jan 13, 2013
- Scaling communication: email vs shared documents Jan 8, 2013
- The rise of fimperative programming Jan 7, 2013
- Grateful for technology? Jan 4, 2013
- Best of 2012 Dec 31, 2012
- New theme Dec 29, 2012
- Good reads of 2012 Dec 26, 2012
- Writing on a tablet Dec 21, 2012
- Quantum of Work Dec 20, 2012
- Testing Redux Dec 12, 2012
- Need to remember Dec 1, 2012
- Some advice on internships Nov 29, 2012
- The new C++ Nov 25, 2012
- Treesaver-based copy of this blog Nov 23, 2012
- A Programmer's Thanksgiving Nov 22, 2012
- Interviews (and whiteboard coding) Nov 21, 2012
- "The best minds of my generation are thinking about how to make people click ads" Nov 16, 2012
- MOOCs will eat academia Nov 9, 2012
- A rare retrospective on a decade-long research project Nov 4, 2012
- Deep Shelling Oct 31, 2012
- Why you would want to program at fifty (or any other age) Oct 26, 2012
- Coaching and review Oct 21, 2012
- How did software get so reliable? Oct 18, 2012
- It Might Get Loud Oct 14, 2012
- Poor man's DIY little printer Oct 8, 2012
- Money in the Valley Oct 7, 2012
- Science = Prediction Sep 30, 2012
- Datacenter power Sep 23, 2012
- Citation Reliability Sep 21, 2012
- New frontiers in text editing Sep 20, 2012
- English is heavily left-handed Sep 13, 2012
- Writing and happiness Sep 11, 2012
- Shitty legacy maintenance Sep 4, 2012
- Personal Trainers for Software Aug 30, 2012
- The levels of agility Aug 27, 2012
- A Twitter-based Anagram Game Aug 26, 2012
- The Cubicle Dilemma Aug 15, 2012
- What is life like for PhDs in computer science who go into industry? Aug 12, 2012
- The lure of work Aug 10, 2012
- Review: The Computer Boys Take Over Aug 6, 2012
- Productivity porn Jul 31, 2012
- What mobile development taught me Jul 27, 2012
- Is C/C++ worth it? Jul 24, 2012
- On Vagueness Jul 17, 2012
- Teaching data structures with real-world examples Jul 15, 2012
- How I read now Jul 14, 2012
- Management models Jul 9, 2012
- The Nostalgia Trap Jul 5, 2012
- Working asynchronously Jul 1, 2012
- Recent updates to old posts Jun 27, 2012
- Social Engineering for Programming Languages Jun 26, 2012
- The Interested Minority Jun 19, 2012
- Advice to (prospective) grad students Jun 14, 2012
- Operations should be in the computer science curriculum May 29, 2012
- Executable Thought May 20, 2012
- The need for Easter eggs May 17, 2012
- The 7 stages of debugging May 16, 2012
- My setup May 13, 2012
- Big science funding May 7, 2012
- Bug finding and static analysis in the real world May 2, 2012
- Church numerals in Python Apr 21, 2012
- The carrier-messenger wars Apr 17, 2012
- The components of a university Apr 16, 2012
- Mediated Concert Apr 15, 2012
- Reproducing papers Apr 10, 2012
- If you see a stylus, they blew it. Not. Apr 9, 2012
- Code review. Just do it. Apr 1, 2012
- Jonah Lehrer Mar 28, 2012
- Computational thinking Mar 24, 2012
- Themes: Language Mar 20, 2012
- Showing it Mar 19, 2012
- Themes: The Economics of Programming Mar 19, 2012
- Themes: Modern Work Mar 18, 2012
- Blue Java Mar 16, 2012
- Innovator's dilemma in programming languages Mar 15, 2012
- T-shirts are currency Mar 12, 2012
- The intimacy of imperfect technologies Mar 9, 2012
- Whither programming language research? Mar 4, 2012
- Taylorist Science Mar 3, 2012
- Team Science Feb 29, 2012
- How to debate Feb 21, 2012
- Hookah Feb 20, 2012
- Rational Equivalence Feb 17, 2012
- Why I blog Feb 15, 2012
- Carr and Kelly Feb 14, 2012
- Guru moment Feb 12, 2012
- Repositories of science Jan 21, 2012
- Computation in the wild Jan 18, 2012
- The CS assignment I wish I had Jan 10, 2012
- Iteration Jan 4, 2012
- Best of 2011 Dec 28, 2011
- How to make your new programming language successful Dec 26, 2011
- The 0.1x developer Dec 6, 2011
- The monk tax Dec 5, 2011
- The programming assembly-line Nov 23, 2011
- The abstraction-optimization tradeoff Nov 14, 2011
- The origins of Silicon Valley Nov 8, 2011
- Jumping to analysis Nov 7, 2011
- The empirical science of happiness Oct 27, 2011
- Flash Crisis Oct 17, 2011
- Deft with descriptive filenames Oct 2, 2011
- Why developers should learn the economics of code Oct 2, 2011
- Size is the best predictor of code quality Sep 25, 2011
- Smeed's Law for Programming Sep 12, 2011
- The Poisonous Long Tail Sep 6, 2011
- How things grow Aug 28, 2011
- Reading Happiness Aug 26, 2011
- GUI vs CLI: Operation vs Expression Aug 15, 2011
- The Upside of Complexity Aug 9, 2011
- Do you have an RSI prevention plan? Aug 1, 2011
- An ergonomic keyboard and mouse configuration Jul 28, 2011
- Media Meta Argument Jul 11, 2011
- Large Computer Systems are Organic Jun 27, 2011
- Emacs as a login shell Jun 7, 2011
- Comments on Stallman's Dystopia May 21, 2011
- Stallman's Dystopia May 20, 2011
- The Perils of Closed Worlds May 16, 2011
- More machines, more reliability May 9, 2011
- Teaching as performance May 5, 2011
- Side effects of PhD programs Apr 27, 2011
- dotEmacs Extract: Interactively change font size Apr 21, 2011
- OOP = FP? Apr 11, 2011
- Sun Ray Apr 11, 2011
- The Shy Scientist Mar 26, 2011
- The levels of Emacs proficiency Mar 21, 2011
- Cracks in Minimalism Mar 19, 2011
- tldr summary: The role of deliberate practice in the acquisition of expert performance Mar 15, 2011
- In Aggregate Mar 8, 2011
- Turn your blog into an online magazine - a blogmag Mar 3, 2011
- Michael Crichton Feb 26, 2011
- Alone Together Feb 20, 2011
- The Cognitive Style of Unix Feb 17, 2011
- How the first Gulf War brought modernity to India Jan 28, 2011
- How to Write a Twitter Bot in Python Jan 19, 2011
- Englsh Wtht Vwls Jan 13, 2011
- Presentism Jan 8, 2011
- Stephenson on Emacs Jan 5, 2011
- Text Input: The Next Frontier Jan 4, 2011
- Best of 2010 Dec 31, 2010
- More on and or Dec 31, 2010
- Minimalism is not a viable intellectual strategy Dec 30, 2010
- Parsing "and/or" Dec 28, 2010
- Use Accessibility Technologies Before You Have To Dec 6, 2010
- Editing Google Docs in Emacs Nov 22, 2010
- Ode to the Album Nov 22, 2010
- Posting to Tumblr from Emacs Nov 20, 2010
- Coding blind Oct 4, 2010
- My favorite Chrome extensions Sep 29, 2010
- The 18th Century Origins of Lolcat-speak Aug 28, 2010
- To jump or not to jump? Aug 20, 2010
- Deresiewicz: Essays about the Internet Aug 16, 2010
- Listening to your reading Aug 9, 2010
- Engineering is all about failure Jul 26, 2010
- Accessing Google's RESTful APIs from Google Apps Script Jul 14, 2010
- The Internet is making us smarter, but is it making me dumber? Jul 6, 2010
- Taylorism in the modern tech industry Jun 30, 2010
- Checking into Internet rehab - and sneaking out Jun 21, 2010
- What can Kanye and U2 teach you about teamwork? Jun 17, 2010
- Nouns as verbs, verbs as nouns May 7, 2010
- Upsight May 4, 2010
- Medium Shear May 2, 2010
- English Words Lifted from Hindi May 1, 2010
- Dilli Apr 25, 2010
- Text to speech in MacOS X - automatically Apr 3, 2010
- Collecting Needles Mar 30, 2010
- Gabriel vs Brooks Mar 18, 2010
- Software processes are software too Mar 15, 2010
- Why James Cameron did not win the Academy award for best director for Avatar Mar 11, 2010
- No || Mar 9, 2010
- Google Apps Script + Spreadsheets = Mashup Hub Mar 5, 2010
- Connecting my blog to Buzz Mar 1, 2010