Your curated collection of saved posts and media
Why you should write the code to use your Thermostat Yesterday, I tried following @karpathy 's lead and use CC to interface with my thermostat. The experience wasn't great for me. Today I tried the opposite, I built it step-by-step almost completely manually using @answerdotai 's SolveIT. It was great. I spent a much longer time, say maybe 4-5h. But it was worth it, even though I have a perfectly fine app already to handle the temperature (in other words, I might not reuse the code again). So, was worth it? Yes, why? Because there were a myriad small decisions and lessons learned throughout the process. Those are usually small enough and that don't feel significant but they do compound in the end. They make your tools much sharper. If you look at the final package I published to pypi you won't see that, and it looks like code an LLM could one-shot, the LLM could definitely NOT make you learn during the process. This is more or less how it went: Well, I started getting SolveIT to read the docs for me and list which endpoints does the Thermostat API have. Unfortunately, their docs require JS to render π . I took this chance to have a look a Zyte service to give SolveIT a tool to read the docs. With that setup I got a list of all endpoints for the API. I followed the instructions to get the API keys & tokens. Gave it a try, it worked, I went away, and when I came back the token had expired. No problem, solveIT created a super short _refresh method as part of the class. Next step, create the basic "Home Status" info endpoint. But call _refresh first to make sure we have an updated token... I thought we would have to do this for all endpoints, so let's actually create a `_request` that does this for us already. That way the methods simply look like this: At this point I took the chance to practice using dialoghelper. I had created two endpoints following a clear format: first markdown header, @ patch method into the class, try it out and display results. Because the structure was super clear, and the full list of endpoints available already, SolveIT could add each one of the endpoints in the exact format I liked, fast & straightforward. At this point, when I finished, it felt silly, why did I spend time doing this at all, it was done so fast! but it was fast mostly because everything was perfectly set up. I was reminded of @johnowhitaker said during the course: " ... using SolveIT, we spend most of our time sharpening our tools..." and that felt very true, once your tools are sharp and set up for the task at hand, the task was super fast to finish. Thanks to all this I learned things I wouldn't otherwise: - using Zyte to scrape (& having it ready to reuse as an LLM tool) - best way to design this API (I decided to name the methods exactly like the endpoints to avoid cognitive overload) - how easy it is to actually control my thermostat, and having a package to quickly interface with it - got better a publishing w/ nbdev - learned about _proc folder The API point was an important one, I tried many different ways to structure the endpoint calls, for example saving the home_id into the class, or using the first one by default, etc... The time in-between coding sessions, I could feel my brain in the background considering different approaches. I ended settling on mimicking the endpoints as close as possible, and letting the user built on top. I feel like a better engineer & API designer as a result of this. This won't happen if CC creates everything for you. There's the expression "Death by a thousand paper cuts" which describes how numerous small, seemingly insignificant problems accumulate over time to cause major failure The opposite happens with this approach: countless small decisions and lessons that felt insignificant on their own, but compounded into something valuable. @jeremyphoward often says to treat everything as a learning opportunity, and this definitely feels like it.
I tried this too by asking CC to connect to my netatmo thermostat. CC spent a huge amount of tokens scanning ports, using nmap, arp, dsn, web searching for my thermostat's brand MAC prefix, etc... It did find my thermostat MAC address, which looked cool. Later, it walked me thr

A mercator vs. true size map. https://t.co/ZmKPQc0KkI
A mercator vs. true size map. https://t.co/ZmKPQc0KkI
I have been noticing more comments about how annoying it is to manage permissions for CLI agents. It gets frustrating to approve every command/edit, yet it feels unsafe to run them in βskip permissionsβ mode. Over the holidays, I built Fence, a simple, lightweight tool to sandbox commands (incl agents, servers, etc) based on configs. You can also use this as a single config to unify permissions for all of your coding agents. https://t.co/pmyear4N9a Give it a try: ``` curl -fsSL https://t.co/uwjKTpK80t | sh fence -t code -- claude --dangerously-skip-permissions ```
@calvinchen I like using it for research + custom website Eg. I scrapped the entire AIE Websire and then used this to navigate and plan my time there. Also built in similarity search with @trychroma to find interesting events https://t.co/nULcF2Zvjo
Acquired and ready to shred the beginner slopes βΊοΈ https://t.co/O4vykmwJIU
24 hours of coding later - presenting project dram - the 'vivino for whisky' scan bottles, write notes, discover stuff youβll actually like. toolkit: @expo + @convex + @aisdk (handling @GeminiApp and @GroqInc) + @firecrawl + @ManusAI + @EffectTS_ + @cursor_ai demo and full explanation on how i winged it in under a day π
built a gig marketplace with @ManusAI and @crossmint - agent is on some crack; executes extremely fast and asks detailed clarifying questions - adding custom connectors was a breeze, pleasantly surprised - one shotted this app, almost no errors made and minimal back and forth https://t.co/680zThye4n
Manus is entering the next chapter: weβre joining forces with Meta to take general agents to the next level. Full story on our blog: https://t.co/huPrnbITCi
Harvey Keitel Bad Lieutenant: fuck...being a catholic is hard as hell... Nic Cage Bad Lieutenant: https://t.co/WaFvbmdqAK
Harvey Keitel Bad Lieutenant: fuck...being a catholic is hard as hell... Nic Cage Bad Lieutenant: https://t.co/WaFvbmdqAK
here are my 100 favorite songs of 2025 https://t.co/hGDtv73Imo
@AutumnTweets @pr0ductplacemnt Iβd say Blankenberge is one a really great underappreciated shoegaze band these days https://t.co/7tqx1gkv9T
@AutumnTweets @pr0ductplacemnt and this Flyying Colours record is one of my faves in the past few years https://t.co/lLFwOlF84P
2026 https://t.co/7D3pNJmPkD
2026 https://t.co/7D3pNJmPkD
Things ChatGPT told a mentally ill man before he murdered his mother: https://t.co/Ot4iC6HO0T
Things ChatGPT told a mentally ill man before he murdered his mother: https://t.co/Ot4iC6HO0T
guy coming out of marty supreme saying to his girlfriend βi feel like fran drescher was underutilizedβ https://t.co/fvn1nkRziJ
https://t.co/XriiPJ5Sje
Whatβs the best LeBron Moment
https://t.co/XriiPJ5Sje
Man, Connor O' Malley was fuckin unbeatable in the Vine days https://t.co/2TuITKSehs
Man, Connor O' Malley was fuckin unbeatable in the Vine days https://t.co/2TuITKSehs
what a poster https://t.co/h0aTLkSb55
@grok can you put her in a micro bikini https://t.co/cjp0yeHA1y
Most tools treat code as text. CodeQL treats it as data. π§ CodeQL lets you query your code to find logic errors and security issues that standard text search completely misses. It allows you to take one bug and automatically find every other place that same pattern existsβso you can fix them all at once. Ready to try it out yourself? Here's how. β¬οΈ https://t.co/3YsPw1btG9
The perfect thermos to keep your βοΈ warm on long walks (or while sitting on the couch). Find yours in the GitHub Shop: https://t.co/sBOW93v8as https://t.co/0OzNPoISgz

βAI became a weapon β and I wasnβt even aware.β Log4j maintainer Christian Grobmeier on why ignorance may be the most dangerous vulnerability in open source. Here's your holiday long read: https://t.co/sORUhKAwBz https://t.co/4pGjFa0Y2P
Sick of being on the hunt for bugs in your code? π You know the drill: digging through old PRs, searching for design docs, and trying to find the right guidelines. GitHub Copilot Spaces fixes this by curating the context for you. That way, you can stop searching and start solving. β Watch the demo in our Checkout episode. π‘ https://t.co/v1cTlEPRP0
C was too complex. Shell scripts weren't enough. So Guido van Rossum built the middle ground. π Here's the real reason Python exists, from the creator himself. βΆοΈ https://t.co/v8h1SCCBeH https://t.co/CKiYYSAmJh
Guiding AI is like mentoring a new contributor. Has working with AI changed how you review or give feedback? In our final GitHub Podcast episode @cassidoo, @abbycabs and @helenhousandi explore tiny wins, accessibility-driven UX, and what AI can teach us about better collaboration. https://t.co/mYV0oXUYl6
VIBE SHIFT: Top Twitch streamer Asmongold says he's not interested in voting unless politicians commit to denaturalizing and deporting the entire families of Somali fraudsters https://t.co/AqV7bBF4Ct
The Democrat economy explained: https://t.co/5JqosGvFWu