

Well, I’m currently writing a service and frontend, both in C# (Blazor for the UI), and using docker-compose to build and deploy them to a Raspberry Pi running Linux. So not only cross-platform, but cross-architecture as well.
This is not a new thing either. Since .NET Core was released almost 10 years ago, it has supported cross platform development.
For web access, stick it behind a reverse proxy and use something like Authentik/Authelia/SSO provider of your choice to secure it.
For full access including native clients, set up a VPN.
We refer to it as kew-bee-cuttle
As a developer myself I’m not sure if I would trust any application to safely handle a configuration that has become invalid due to a breaking change, especially not an app that is still under active development! Better safe than sorry.
Immich has completely replaced Google Photos for me, love it!
My only bugbear is that it is updated very frequently (what a nice problem to have!) which in my case requires a manual once-over of my docker-compose file every time in case there are breaking changes.
Not exactly crazy but just mysterious…this was at a software company I worked at many years ago. It was one of the developers in the team adjacent to ours who I worked with occasionally - nice enough person, really friendly and helpful, everyone seemed to get on with them really well and generally seemed like a pretty competent developer. Nothing to suggest any kind of gross misconduct was happening.
Anyway, we all went off to get lunch one day and came back to an email that this person no longer worked at the company, effective immediately. Never saw them again.
No idea what went down - but the culture at that place actually became pretty toxic after a while, which led to a few people (including me) quitting - so maybe they dodged a bullet.
Nah, the SWAT would have to arrest themselves.
I’ve tried Copilot and to be honest, most of the time it’s a coin toss, even for short snippets. In one scenario it might try to autocomplete a unit test I’m writing and get it pretty much spot on, but it’s also equally likely to spit out complete garbage that won’t even compile, never mind being semantically correct.
To have any chance of producing decent output, even for quite simple tasks, you will need to give an LLM an extremely specific prompt, detailing the precise behaviour you want and what the code should do in each scenario, including failure cases (hmm…there used to be a term for this…)
Even then, there are no guarantees it won’t just spit out hallucinated nonsense. And for larger, enterprise scale applications? Forget it.
I grew one during lockdown, decided I liked it and kept it. I suspect I am not an anomaly in this.