Since I got a 3D printer, I have done the obligatory amount of downloading other people’s models and printed them out.
But I wanted to try my hand at the “whole process” - designing and printing a 3D object. I also wanted it to be something practical.
These LED strip controllers are very cheap and highly available (on Aliexpress and
similar).
read more
In part 1 I described the fundamental principle of the system – the inputs and outputs to the system and the concept of having a control loop to maximise the charging power without exceeding the amount of excess energy available.
I’ll let you in on a little secret – at that point I didn’t even have an EV yet. I was still waiting on delivery. I had the charger though, and I wrote a …
The solar landscape has changed in Australia.
In the boom days of solar, there were extensive and lucrative reasons to invest in solar power for the home. The FIT (Feed In Tarrifs) were so high (ludicrously so, really) with enormously long tenures, that getting solar was a no-brainer.
Not that I’m arguing that that was a bad idea. It has made us a nation where home renewable power generation …
tern is a powerful standalone SQL migration tool, which I’ve used quite a bit in the past.
I’ve always treated the migration as a separate step - deploy the application and then perform the migration. This requires me to potentially move the schema migrations files around, or run the migration via an ssh tunnel or similar.
One of the advantages of golang is being able to ship a single …
“Do a thing, sleep a while, repeat” is an extremely common paradigm. Here is how that concept is typically expressed:
htmx is a new javascript framework that tips the typical front-end development paradigm on its head. A typical webapp these days looks like:
While this has become the defacto model for front-end development in 2022, there are some problems with this approach:
At one point all of us homelabbers (remember when there wasn’t a dedicated name for people like you and me who just wanted to run cool things at home?) want access to their web application resources from the outside world.
This is easy enough, of course. Port forward, you’re done. However these simple solutions can be pretty clunky for a variety of reasons:
The various io.* interfaces (such as io.Reader and io.Writer) are often touted as a golang “killer feature”, though once you are familiar with interfaces you realise there is not much to them. The beauty is in the simplicity.
When I first looked at the encoding/gob I was slightly peturbed by the requirement to provide a io.Reader (to the Decoder) and an io.Writer (to the Encoder). It …