nvella
Most rooftop solar installations were installed before home batteries and smart inverters were common, so the market often finds itself in negative pricing during the day, incentivising investment into grid-scale batteries and pumped hydro which can be paid for both storing the excess during the day, and exporting it in the evening peak. Recently, as home batteries and smart inverters have started to become more accessible for home-owners, it is common to join your household onto a 'virtual power plant' with your electricity retailer, who then commands your household battery alongside thousands of others as similar to this article and pays a credit onto your bill. The other interesting development has been the wholesale pricing retailer; not only do they apply the live wholesale price to your consumption, but also your feed in. I know one of them (Amber) can connect into your battery and drive it's charging/discharging in response to the market price. It's not been uncommon to hear people's bills ending up in credit as the capacity of their battery, combined with the price volatility far outweighs the price impact from their consumption.
The volatility poses its own challenges however. Traditional retailers which typically provide flat or peak/off-peak rate have been struggling to economically provide competitive feed-in tariffs to their customers with older roof-top solar systems; systems which are unaware of the pricing environment. Many of their customers have these solar systems which export straight into negative pricing, creating a loss for the retailer that they have to somehow recoup. As far as I understand, they can't legally have a negative solar feed-in tariff, so I assume they're shifting the loss to the consumption tariff. Even though our daytime prices are often below $0/MWh, the average Australian will tell you that their electricity bill is the most expensive it's ever been.
A good DI implementation allows for one to define these business services as interfaces and implementations within an initial monolith, and then trivially reimplement those interfaces against an API or RPC when it comes time to scale. Interfaces can be separated out into a common library which can be referenced in all parts of the system. I am simply curious as to why this has been so staunchly avoided over the past decade of microservices hype.
A standard interface for web views would be great, I’d love to force everything onto a consistent version of Gecko, but really we need a new native cross-platform batteries-included framework with controls and layouts for 90% of standard business scenarios.
I’m not going to pretend that there’s currently a better solution because for the current set of constraints everything sucks. .NET has a few up-and-coming frameworks for cross-platform UI but nothing mature like WPF was. Java still produces noticeably slow applications. React Native could perhaps get part of the way there, but as far as I’m aware that mostly targets mobile.
[1] https://www.destroyallsoftware.com/talks/the-birth-and-death...
I often dock between standard-DPI displays and portable mode (with the high-DPI/'retina' display.) I first noticed that Windows doesn't correctly handle DPI switching with window borders, Explorer, and notifications back in 2019 (the old 2x scaling level remains when switching from portable to docked), and filed a feedback with the built-in app on Windows. I worked around this by killing dwm.exe and explorer.exe every time I docked my Surface. This issue was still present earlier this year, and deciding I had enough of dealing with all these little Windows 'quirks', wherever they arose, I switched back to my old Mac.
It turns out that SIP and Gatekeeper aren't nearly as much of a problem as I was led to believe, neither of these features have hampered me once. The Big Sur interface changes, whilst I thought I'd never get used to them, have actually grown on me. Since switching back, I've discovered a lot of quality native apps that simply have no analog on Windows–OmniFocus stands out here. And as always, Homebrew still exists and works just as well as it always has for most of my *nix related tasks.
Hearing about the M1 performance improvements, I can see myself staying on Mac for quite some time yet–I'll upgrade to an M1 MacBook Air once this 2015 MBP (six years old!) kicks the bucket.
Edit: For some context, I'm mainly a .NET developer. .NET Core/5 is a game-changer for cross-platform and development is first class on really any system nowadays. I've settled on JetBrains Rider for my IDE and find myself generally happier than I was with VS on Windows.
I don't really have any use for C today, but it definitely taught me a lot. It was intimidating at first, but when the concept of pointers finally clicked I felt like I had a sense of control in the language, and things were relatively deterministic and predictable.
I did most of my projects in C for a few years, but eventually got sucked into the JS ecosystem like pretty much everyone else at the time. These days I mostly work in .NET - C# is constantly evolving, and with .NET Core it's seemed to strike a good balance between powerful tooling, cross-platform support, performance, and just fun language features. I'm pretty content for now :)
I was trying to reverse-engineer my parent's network CCTV DVR so I could hopefully integrate it with Home Assistant - as far as I'm aware the sluggish smartphone apps are still the only way to access those boxes. I wasn't ever able to get as far as George did with his IP cameras; I hit a snag on trying to correctly reassemble the H264 streams, so all I ever got out of it was mostly corrupt still frames.
If you're reading this George, well done! :D