663 karma · joined June 8, 2008
Each time the frontier models get better, I see another wave of AI doubters suddenly become believers. People say things like, "AI couldn't code last year, but now I use it for everything!" Interesting. Now we know how that the person who said this has the coding skills of a Claude Opus 4.5 or whenever the frontier was when they flipped.
Meanwhile, the rest of us keep using AI as simple tools, like the person in the article. I wonder how long it will take before computers can program better than me, and I flip too.
Remote: Hybrid preferred
Willing to relocate: No
Technologies: Electronic design (KiCad, Verilog, SPICE), Embedded Linux (U-Boot, Yocto, Kernel drivers), Full-stack web (TypeScript, React, CouchDB, PostgreSQL, Redis, RabbitMQ, Prometheus, Grafana, Docker), Mobile development (React Native, Android, iOS), Graphics (DirectX, OpenGL), Blockchain (wallets & related cryptography)
Résumé/CV: https://swansontec.com/resume.pdf
Email: hire-me@swansontec.com
I co-founded the Edge crypto-currency wallet in 2013, but my background is in electrical engineering. With 25 years of technical experience, I can lead high-performance teams to ship products across any level of the technology stack.
On the other hand, I'm a low-budget hobby user. I like things that are cheap, easy, and hackable. It sounds like your product might be for more-advanced users? Or do all these fancy features stay tucked away until you need them? If you make your product cheaply, that might hurt profit margins, but it might also open up the low-end market. I have so many questions about the business side of this.
But really, I am most curious about the user experience. It's not super-helpful if learning the tool becomes its own project, so I'm hoping it's simple.
Edit: Oh, it's a software project. I thought it was a hardware project. My bad.
Heat-based energy storage is always going to be inefficient, since it's limited by the Carnot efficiency of turning heat back into electricity. It's always better to store energy mechanically (pumping water, lifting weights, compressing gas), since these are already low-entropy forms of energy, and aren't limited by Carnot's theorem.
I don't know much about this CO2 battery, but I'm guessing the liquid-gas transition occurs under favorable conditions (reasonable temperatures and pressures). The goal is to minimize the amount of heat involved in the process, since all heat is loss (even if they can re-capture it to some extent).
- Good thermal insulator - Good electrical conductor - Good semiconductor
This is because the hot & cold sides are sandwiched closely together as a PN junction, so once you move heat from one side to the other, it just leaks right back. Mechanical cooling doesn't have this problem, because the hot & cold sides are separated by thin bits of tubing. This makes the thermal leakage a "minor annoyance" in a mechanical system as opposed to "literally the whole problem we're trying to solve" as it is with thermoelectrics.
One work-around is to stack lots & lots of thermoelectric coolers on top of each other. That reduces the temperature difference at each individual PN junction, which in turn lowers the leakage. That's what this team is doing, but using layers that are only a few nanometers thick, so they can fit dozens or hundreds of junctions in a single package.
These researchers have found a way to make a silicon electrode like a sponge, which helps with the mechanical problems. Their test cell has pretty "normal" degradation of 80% capacity retention over 1700 cycles, which is incredibly good for silicon. Normally it would be in the 10's or 100's, iirc.
The videos at the bottom of the article have most of the details, since those dive into the communications protocols as opposed to the raw schematics.
Use Expo because you like the extra features it ships with, but not because you have problems with native dependencies. The React Native built-in experience is pretty much perfect to start with.
The CPU's address translation process relies on tables that the OS sets up. For instance, one table entry might say that the 4K memory chunk with virtual address 0x21000-0x21fff maps to physical address 0xf56e3000, and is both executable and read-only. So yes, the OS sets up the tables, but the hardware implements the protection.
Since memory protection is a hardware feature, the hardware needs to decide how fine-grained the pages are. It's possible to build a CPU with byte-level protection, but this would be crazy-inefficient. Bigger pages mean less translation work, but they can also create more wasted space. Sizes in the 4K-64K range seem to offer good tradeoffs for everyday workloads.
Unfortunately, there are parts of the country where this type of racism is acceptable and even common. There as similar attitudes towards Catholics, due to America's history as a predominately protestant country. The formula is the same both way - pick a heinous crime from a few members, blame it on the group as a whole, and feel smug about yourself.
When I am at home, I plug my car in and it goes on my monthly power bill. This is where the convenience matters.
The DC fast chargers include similar safety features, in addition to a big AC-DC converter. The DC power supply puts out several hundred amps at whatever voltage the car requests (usually 300V, but sometimes much higher). Normally, currents this high would require super thick & heavy cables, but DC fast chargers often avoid this using water cooling and active temperature monitoring in the cable. As the cable heats up from the excessive current, the charging equipment actively throttles the charging session to keep things from melting.
So yeah, there are a few mechanical things that can go wrong.
In my case, the local utility requires the electrical meter to be accessible (obviously) and to be a certain distance from the gas meter (obviously). Because of the way my house is shaped, there simply isn't room to move the electrical meter, so a sub-panel was the simplest option. Anything else would involve tearing open the driveway, which would be worse. It really depends on the situation.
I don't know how much I saved on the battery, since I didn't get any quotes. The battery was vastly more time and effort, since I had to move my house onto that backup loads panel.
If you just want to shift usage, the backup panel may not be necessary. The Enphase batteries do support a fully grid-tied mode, where they simply connect to your main panel as a branch circuit. I'm sure other brands do too. This would be an easy DIY weekend project, as opposed to a months-long home re-wiring project. The Enphase mandatory training would be the biggest downside for using them here.
Right now I have 3.8KW of solar and a single 3.3KWh battery. We are producing more than we use most months, so the solar is good but the battery is undersized. If we have an extended grid-down scenario like what happened in Texas, the system will mainly provide daytime backup plus a few evening hours. This is still better than nothing, and we can easily add more batteries as we have the budget.
Once the meter and main panel are separate, the various backup solutions become pretty similar. The disconnect switch installs between the two, with the solar and battery attached. Sometimes the disconnect switch + solar + battery are all in one unit (like the Bluetti EP900), while sometimes the solar inverter, battery, and switch are all separate units (like Tesla or Enphase). The Tesla switch and battery are sleek & glossy, but the inverters are ugly. The Enphase stuff isn't quite as shiny, but at least the boxes look consistent.
Performance-wise, the systems seem pretty similar as well. Most systems are around $10K for 10KWh of capacity, with somewhere around 6-9 KW of peak discharge rate. I imagine these prices will drop a lot over the next decades. If the battery becomes obsolete, just install a different system. Once the home is correctly wired, swapping the storage system should be pretty straightforward.
If this company has a solution for variable-speed equipment, the best thing they can do is publish an open standard. Suppose the thermostat talks to the equipment over CAN bus, for instance, using a well-documented protocol. If they go out of business, anybody can hack together a compatible aftermarket thermostat.
A lot of solar equipment is already going this way, with batteries talking to inverters over open CAN bus protocols. As one of the biggest energy loads, the HVAC equipment should get in the game too.
If some old IE version did things a certain way, even the most modern browser will want to do things in a similar way to remain compatible. Therefore, the standards bodies will try to reverse-engineer the existing behaviors and then create standards based on those. That way, modern code can simply follow the spec and remain compatible.
The HTML5 parsing algorithm is an example of this. Old browsers tried to "fix" broken HTML by guessing where things like missing closing tags were supposed to go. The HTML 4 specification never described this logic, yet it was there in the wild. The new HTML 5 specification made a point of reverse-engineering the repair algorithms and actually documenting them, so now everyone can be compatible going forward, both with each other and with legacy. Just follow the spec.
For many species, males have a higher standard deviation across a variety factors. There are biological reasons for this, since males are more disposable than females for reproduction. Think of one rooster for a dozen hens - this is still a viable flock, even if the other roosters get eaten. Nature can experiment more with males simply because the stakes are lower, and sometimes those experiments are worthwhile. [edit: Turns out this is not true for birds, so I learned something!]
Now, if you have two normal distributions with the same average and area but a tiny difference in the standard deviation... well, let's not go there because the math is too politically incorrect. [edit: And besides, many other factors affect outcomes besides genetics, so I do believe we should keep policies gender-unbiased as a matter of principle].
Now, there are ways to build graph-like data structures that do prevent double-spends correctly. I believe both Hedera and Nano (formerly called RaiBlocks) have working solutions, for example.
The key is that not just anybody can create a block (or a graph node), as IOTA does. If anybody can create a node at any time, what prevents them from sending out contradicting messages? Instead, working solutions always involve putting some sort of asset at risk (such as currency or energy), so that if the block producer decides to make a contradicting statement, they pay a steep price. This ensures that there is a financial incentive to always work towards consensus.
As for Deno specifically, it's definitely closer to the "browser" way of doing things than Node is, which is super attractive. The main reason to stick with Node is the huge library ecosystem, but Node itself feels kinda weird & old, since the language has moved in a different direction while Node has remained stagnant (poor support for promises & ES modules, for instance).