

It takes twice as much electrical energy to produce energy in the form of gasoline.
We lose money on every sale, but make it up on volume!


I’ve been using these for constrained, boring development tasks since they first came out. “Pro” versions too. Like converting code from one language to another, or adding small features to existing code bases. Things I don’t really want to bother taking weeks to learn, when I know I’ll only be doing them once. They work fine if you take baby steps, make sure you do functional/integrated testing as you go (don’t trust their unit tests–they’re worthless), and review EVERYTHING generated. Also, make sure you have a good, working repo version you can always revert to.
Another good use is for starting boilerplate scaffolding (like, a web server with a login page, a basic web UI, or REST APIs). But the minute you go high-level, they just shit the bed.
The key point in that article is the “90%” one (in my experience it’s more like 75%). Taking a project from POC/tire-kicking/prototype to production is HARD. All the shortcuts you took to get to the end fast have to be re-done. Sometimes, you have to re-architect the whole thing to scale up to multiple users vs just a couple. There’s security, and realtime monitoring, and maybe compliance/regulatory things to worry about. That’s where these tools offer no help (or worse, hallucinate bad help).
Ultimately, there’s no substitute for battle-tested, scar-tissued, human experience.


Wait, they still have 14,000 people working in that division. How is that ‘shutting down?’
I’m not a VR fan or customer, but these headlines are a bit much.


If you download and install untrusted code extensions, you’re screwed. Not like it’s rocket-science.



Smart move. Now you know who to blame if Siri tells you to put glue on your pizza.
Got a couple of 50ft, high-speed Ethernet cables delivered today. Spent the whole afternoon moving boxes and furniture so I could hide them from view.



Subscription unlocks ability to also run in slow motion.

Google already pays Apple billions for being the default search engine. They just knock a bit off the bill and call it square.


A long time ago, I turned a PC in my basement into a web server. No DNS. Just a static IP address. Within 15 minutes, the logs showed it was getting scanned.
SSL encrypts traffic in-transit. You need to set up auth/access control. Even better, stick it behind a Web Application Firewall.
Or set up a tunnel. Cloudflare offers a free one: https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/


Let me give you a slightly different perspective.
I have senior dev friends who are PETRIFIED of doing those types of screens, leetcodes, and coding exercises. They’re stuck in awful jobs that barely use their skills because they don’t want to sit through those tests again.
Then I read someone who said they just treated the whole process as a grind level in a videogame. You have to get past it to get to the next, fun stage!
I’ve conducted a lot of interviews, sometimes as a hiring manager. Every single person ever turned down was because of culture mismatch or lack of experience in a specific domain, not because of those silly assessments.
Next time you encounter a similar situation, just think of it as a stupid game level you have to finish before getting to the boss fight.


Got a DGX Spark delivered today. This couldn’t be more timely, to help waste time.


If teenager, replace “Roblox” with “Pørn” (or “Social Media,” depending on location).


I helped set up many households with kids on Pi-2s and 3s, running Raspbian and Kano. All you needed was a keyboard, mouse, and a monitor. It all worked fine with Scratch, Minecraft, LibreOffice, Web, and email.
At least, until the kids outgrew them.


Arduino is based on the ‘giant loop’ model, where you initialize settings in the setup() function, then wait for events (inputs, timers, handlers, etc) in the loop() function.
Each time, the loop() function has to finish before it can be called again. So if there are timing related actions, there’s a chance they may fall out of sync or stutter. If you want to advance an animation frame, you’ll need to maintain all the state, and hope the loop gets called often enough so the frame can advance. If you want to sync up the animation to an RTC, then you’ll want to track whether the current loop syncs up with a time code before deciding whether to advance the animation (or not). Pretty soon your giant loop will likely get complicated and messy.
Another option is to look at something like SoftPWM for controlling LEDs and see how they set up animation timing. Or to use the millis() function instead of delay() to manage timing. Adafruit has a nice tutorial on that: https://learn.adafruit.com/multi-tasking-the-arduino-part-1/using-millis-for-timing
To get more asynchronous activity going, the next option is to move to a more task-based system like FreeRTOS. Here you set up ‘tasks’ which can yield to each other, so you can have more asynchronous events. But the mental model is very different than the Arduino loop. The toolchain is also completely different. Here’s a decent primer: https://controllerstech.com/freertos-on-arduino-tutorial-part-1/
If your target device is an ESP32, the underlying OS is actually FreeRTOS. Arduino is a compatibility layer on top. So you can use the Arduino IDE and toolchain to write FreeRTOS tasks. Many peripheral device drivers can also be shared between the two. However, the minute you switch to tasks, the Arduino loop doesn’t work any more. Examples here: https://randomnerdtutorials.com/esp32-freertos-arduino-tasks/
From your description, it sounds like you may want to switch to FreeRTOS tasks.
Wonder if ‘just walk out’ not scaling up had anything to do with it:
https://arstechnica.com/gadgets/2024/04/amazon-ends-ai-powered-store-checkout-which-needed-1000-video-reviewers/