41554 blogs · [ { "id": "01a0878e-edc3-73c2-969f-e99b12052cfc", "title": "2025 Year in Review", "url": "https://joelgrus.com/2025/12/22/2025-year-in-review/", "published_at": "2025-12-22T11:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b1238a4c4", "title": "Vibe Coding 9 -- AI Agents That Play Taboo", "url": "https://joelgrus.com/2025/09/08/vibe-coding-9-ai-agents-that-play-taboo/", "published_at": "2025-09-08T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b129f8d8f", "title": "Vibe Coding 8 -- Clod Code", "url": "https://joelgrus.com/2025/08/25/vibe-coding-8-clod-code/", "published_at": "2025-08-25T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b13620c9e", "title": "Vibe Coding 7 -- Human in the Loop as a dspy.Tool", "url": "https://joelgrus.com/2025/08/13/vibe-coding-7-human-in-the-loop-as-a-dspytool/", "published_at": "2025-08-13T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b1370c291", "title": "Vibe Coding 6 -- pymgflip", "url": "https://joelgrus.com/2025/08/12/vibe-coding-6-pymgflip/", "published_at": "2025-08-12T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b141e7a65", "title": "Vibe Coding 5 -- WoDRAG", "url": "https://joelgrus.com/2025/08/11/vibe-coding-5-wodrag/", "published_at": "2025-08-11T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b14903d4e", "title": "Vibe Coding 4 -- Speed Scrabble", "url": "https://joelgrus.com/2025/08/04/vibe-coding-4-speed-scrabble/", "published_at": "2025-08-04T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b1584c6fc", "title": "Vibe Coding 3 -- Simple Chatbots in DSPy", "url": "https://joelgrus.com/2025/07/30/vibe-coding-3-simple-chatbots-in-dspy/", "published_at": "2025-07-30T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b15debd73", "title": "Vibe Coding 2 -- SnowMeth - an AI Novel-Writing Assistant", "url": "https://joelgrus.com/2025/07/23/vibe-coding-2-snowmeth-an-ai-novel-writing-assistant/", "published_at": "2025-07-23T07:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b165dfa5f", "title": "Vibe Coding 1 -- Website Redesign", "url": "https://joelgrus.com/2025/07/07/vibe-coding-1-website-redesign/", "published_at": "2025-07-07T07:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b175011c3", "title": "Creating Games in Streamlit", "url": "https://joelgrus.com/2020/10/02/creating-games-in-streamlit/", "published_at": "2020-10-02T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b181d3710", "title": "Ten Essays on Fizz Buzz", "url": "https://joelgrus.com/2020/06/06/ten-essays-on-fizz-buzz/", "published_at": "2020-06-06T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b18cc5ee3", "title": "Data Science From Scratch: Second Edition", "url": "https://joelgrus.com/2019/05/13/data-science-from-scratch-second-edition/", "published_at": "2019-05-13T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b18ea3aaf", "title": "Livecoding Madness - Building a Deep Learning Library", "url": "https://joelgrus.com/2017/12/04/livecoding-madness-building-a-deep-learning-library/", "published_at": "2017-12-04T11:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b195cb110", "title": "Fizz Buzz in Tensorflow", "url": "https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/", "published_at": "2016-05-23T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b19c01d51", "title": "A Simple Spot It Clone With PureScript and Pux", "url": "https://joelgrus.com/2016/03/30/a-simple-spot-it-clone-with-purescript-and-pux/", "published_at": "2016-03-30T10:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b19f3d9b6", "title": "Trump Tweets on a Globe (aka Fun with d3, socket.io, and the Twitter API)", "url": "https://joelgrus.com/2016/02/27/trump-tweets-on-a-globe-aka-fun-with-d3-socketio-and-the-twitter-api/", "published_at": "2016-02-27T08:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b1a20869c", "title": "Building a Stupid Data Product, Part 3: The Single-Page App (PureScript)", "url": "https://joelgrus.com/2016/02/15/building-a-stupid-data-product-part-3-the-single-page-app-purescript/", "published_at": "2016-02-15T08:00:00+00:00" }, { "id": "01a0878e-edc3-73c2-969f-e99b1a258bcf", "title": "Building a Stupid Data Product, Part 2: The Web Service (Haskell)", "url": "https://joelgrus.com/2016/02/15/building-a-stupid-data-product-part-2-the-web-service-haskell/", "published_at": "2016-02-15T07:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd71c43dfb", "title": "Building a Stupid Data Product, Part 1: The Data (Python)", "url": "https://joelgrus.com/2016/02/15/building-a-stupid-data-product-part-1-the-data-python/", "published_at": "2016-02-15T06:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd71df7533", "title": "Creating a Function Index Using Cycle.js", "url": "https://joelgrus.com/2016/01/21/creating-a-function-index-using-cyclejs/", "published_at": "2016-01-21T08:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd72687f9d", "title": "Polyglot Twitter Bot, Part 4: PureScript", "url": "https://joelgrus.com/2015/12/31/polyglot-twitter-bot-part-4-purescript/", "published_at": "2015-12-31T08:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd72dff156", "title": "Polyglot Twitter Bot, Part 3: Python 2.7 + AWS Lambda", "url": "https://joelgrus.com/2015/12/30/polyglot-twitter-bot-part-3-python-27-aws-lambda/", "published_at": "2015-12-30T11:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd7319b06a", "title": "Polyglot Twitter Bot, Part 2: Node.js + AWS Lambda", "url": "https://joelgrus.com/2015/12/29/polyglot-twitter-bot-part-2-nodejs-aws-lambda/", "published_at": "2015-12-29T18:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd74104601", "title": "Polyglot Twitter Bot, Part 1: Node.js", "url": "https://joelgrus.com/2015/12/29/polyglot-twitter-bot-part-1-nodejs/", "published_at": "2015-12-29T11:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd74688e03", "title": "Stupid Itertools Tricks for Data Science", "url": "https://joelgrus.com/2015/08/23/stupid-itertools-tricks-for-data-science/", "published_at": "2015-08-23T10:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd74adbfca", "title": "Haskell-Style Fibonacci in Python", "url": "https://joelgrus.com/2015/07/07/haskell-style-fibonacci-in-python/", "published_at": "2015-07-07T10:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd74bad72c", "title": "On The Mathematics of Spot It!", "url": "https://joelgrus.com/2015/06/12/on-the-mathematics-of-spot-it/", "published_at": "2015-06-12T10:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd74d18a3b", "title": "Data Science From Scratch: First Principles with Python", "url": "https://joelgrus.com/2015/04/26/data-science-from-scratch-first-principles-with-python/", "published_at": "2015-04-26T10:00:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd751dc5c9", "title": "2014 Year in Review", "url": "https://joelgrus.com/2015/01/15/2014-year-in-review/", "published_at": "2015-01-15T18:09:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd75b878d6", "title": "T-Shirts, Feminism, Parenting, and Data Science, Part 2: Eigenshirts", "url": "https://joelgrus.com/2013/06/24/t-shirts-feminism-parenting-and-data-science-part-2-eigenshirts/", "published_at": "2013-06-24T18:37:00+00:00" }, { "id": "01a0878e-edc4-7032-b6d1-6bdd767b6965", "title": "T-Shirts, Feminism, Parenting, and Data Science, Part 1: Colors", "url": "https://joelgrus.com/2013/06/19/t-shirts-feminism-parenting-and-data-science-part-1-colors/", "published_at": "2013-06-19T04:20:00+00:00" } ] posts Claim your blog
Back to joelgrus.com
Blog · corpus.blog/blogs/joelgrus.com/posts

joelgrus.com

joelgrus.com

2025

2020

2019

2017

2016

2015

2013