884 karma · joined August 5, 2011
Message passing, these loosely coupled 'delegates', a mixture of hardcore C, needing to do memory management but also just passing objects around in the runtime... messy, weird... but in the end the right solution to make flexible but performant software. I learned a lot from it. I should dive into the history of NeXT one day.
Multiple 'artboards' for screen sizes/ratios are the solution, which basically just means swapping out a .nib in Interface Builder. Better to just make it explicit.
The battery is 16kWh. Effectively around 14kWh, since you never fully discharge. LiFePo4, so no chance of spontaneous combustion like other battery chemistries.
I'd say the months Nov→Feb are tricky, although since I have quite a bit of excess solar capacity there are even in December plenty of days where the battery pulls me through the night.
Charging/discharging from/to the grid is possible, since I have a retrofit inverter (AC to battery), but not doing it yet, have to do a bit more research (dynamic pricing, tax is >50% of the kWh price in NL, etc).
It's addictive though. Living in the center of the city (The Hague, NL), with a home battery, I'm now 100% self-sufficient electrically for 10 months of the year.
Running 3 python scripts as daemons would become a tad heavy and was a bit worried about serial timing. So used Codex to rewrite them in Go. Cross-compiled them, deployed the binaries and they're now running very comfortably on the pi. A few MB of ram per daemon. Making good use of an almost 15 year old device.
This was indeed my greatest concern. However the battery came with pre-crimped very solid DC wires, and nice push connectors for the battery itself. The battery also has an integrated DC breaker (great!).
The system runs 3KW max, so I just added an additional breaker (with RCD integrated) in the conduit box. In NL this is something a DIY-home owner easily can do themselves :) (just use the right solid/flex stranded cabling for the connectors, etc...)
You'll encounter stuff like: manual says use RS485 port on Battery for GroWatt inverter → need to use CAN port on Battery. Meter Port (RS485 [serial] over RJ45) wiring on GroWatt is unknown (A: white orange / B: white blue, cross them over). Dinky RS485 serial → USB converter needs a 120ohm resistor between pins for line termination. Growatt meter port expects a SDM630 meter, not a DTSU666 (hardcoded), so vibe code another emulator. DIP switches for RS232 connection need to be both on the ON position (undocumented). CH340 USB→serial converter for RS232 does not work, but one with a Prolific chip does. Etc. etc. etc :)
Oh, and the biggest one... I was expecting to be able to just send a command, 'charge at 500watts', now... 'discharge at 2000watts'. But no. You have to emulate a power meter and the inverter will try to bring the net power to 0. Fun! :)
Total price, 1600 euros. So close to the magical 100 euros per kWh. Driving it with some interesting combinations of Raspberry PI's and serial interfaces and custom written Go code, but it works... :)
https://cldnr.prod.webx.talpa.digital/talpa-network/image/fe...
No, this is not allowed and currently also not the case. When you're setting up a new iPhone, one of the questions during setup is which browser do you want to use.
Yes, the little time we have in our lives, I really want to spend talking with my parents about topics like browser choices.
Then the matter of an informed browser choice. This is simply not a thing most regular people make or care about. Remember the Internet Explorer era? In this case, simply the most recognisable picture gets chosen (e.g. the only company that advertised their browser).
The same goes with iOS on iPad. I'm very happy that my parents can use those devices versus a Windows machine (or even a MacBook) and know that they are pretty much safe from malware.
Even now, I noticed that with the mandatory browser selection screen both my parents independently have moved on from built-in Safari to Chrome (independently), since that was the only browser name they know. And now they are in a much worse position privacy-wise than before. Which is certainly not in the spirit of the GDPR and DMA.
The main challenge with fruits, and especially tomatoes, is ripening versus shelf life. A tomato tastes best when it's as ripe as possible. Sweet, fragrant and full of flavor. However, at that very special time, it will burst on the vine or fall apart in your fruit basket within a day. Which is why you'll never find this quality in a supermarket. And why I grow tomatoes in my garden every summer :)
Standard Tesla feature.