Here is my use-case for a trustless architecture: there are parts of my families digital life which I would prefer to continue working as much as possible, even if I'm temporarily or permanently unavailable. "Pay this amount of money monthly/yearly for this to keep working" is a straight forward concept for 99.999% of the population. "Poke around in docker debugging logs if this stuff stuff" is not.
And, if stuff has to be hosted by third parties for me, I prefer it to be encrypted.
Who knows what the problem could be - if you want to invest time into this, you could try collecting some debug logs to see if it indicates anything. For me and my family it works pretty well (~300G of data across 10s of thousands of photos / videos). Face recognition / AI search works reasonably well. It's not perfect, but I'm happy to keep our photos under our control rather with some big tech company which could decide on a whim to erase all of my data (or even worse, report me to the police and then erase all of my data).
Of course I also dump all of the data about once per week on a NAS, just in case :)
I also worked with japanese, including on site in Tokyo and quickly learned that asking "did you understand it?" is useless. I always had to keep in mind to ask "what did you understand?".
Cool project, but seems to be abandoned. At one point I was a subscriber to their premium version, but then started getting spam to the (unique) email address I used for the subscription. I emailed them to warn that their account database might be compromised but never heard back from them (this was back in '22).
Also, back then, their map tiles loading had a very high failure rate when loading, so I wrote a custom caching proxy to make it tolerable (which had built-in retry and also cached any successful response for a very long time).
No, he was an old man who cared for his wife with dementia until his death, an experience which changed him. And thus he has chosen to go on his own accord.
Spectre was shown to be exploitable from Javascipt: https://www.zdnet.com/article/google-this-spectre-proof-of-c... - making the bet that this won't be shown the same is not a safe wager I would say :) (especially that Javascript also includes stuff like WebAssembly).
Another reason for NOT self hosting: I want the passwords for my family to be available in the event something happens to me. The probability of Bitwarden being more resilient (at least mid-term) is much higher than any self hosting solution I would come up with.
I lead a migration very similar to this. We had taken over a system that was handed to a business person with all the technical team leaving because of a dispute. We rewrote the system and migrated all the user accounts over to the new system in a couple of months, after which we ran it for a couple more years, until the company got sold.
I would say the most important learnings were:
- there is lot of "extra stuff" around the product that is somewhat independent of "how complicated the product is". Even a simple CRUD app needs source control, a test suite, (ideally) some automated system for source quality check (like linters, analyzers, formatters, etc), a system for deploying it to a dev / staging / production environment, etc.
- production also needs monitoring (both "is it working" and "is it working within the expected parameters" - for example is it fast enough). Ideally there would also be some alerting around this monitoring so that you don't have to wait for users to complain to find out that something is not working.
- there is a saying of "use boring technologies" (https://boringtechnology.club/), which I 100% subscribe to. That will ensure that there are lots of examples for each aspect of the product you're trying to implement (for example authentication and authorization, creating an admin dashboard, etc).
- In addition I would say "use some managed platform to offload lots of these worries". Yes, it will seem weird to look at the bill at the end of each month and say "why are we paying $Xk each month for Heroku when I can rent a server from Hetzner for less than $100?" - but managing that Hetzner server (and probably more than one server, to make sure that a single hardware failure doesn't take down your entire product), ensuring backups are working, etc would cost more. Optimizing between "buy" vs "build" is a delicate balance.
In the end I think programmers who like to start new projects are a rare bread. I'd be happy to chat about this more (I'm also in Europe). Feel free to reach out to me at cratt[at]grey-panther.net.
Which country? Because in many countries, even though Omicron infections are up at least 10x (can't measure it, don't have the labor capacity for it :)), hospitalizations and deaths are down.
Here are things I found that worked well for supporting family/friends that are not OS specific (of course, if feasible, I advocate for installing GNU/Linux):
- make sure that auto-update is on. Recent OSs are pretty good about this. GNU/Linux / MacOS are also pretty good about updating 3rd party apps (since they come through the package manage / app store), Windows needs a little help (there was Secunia PSI which is now deprecated)
- run the user as a "restricted user" (ie. not superuser / admin). Again, this is mostly given with recent OSs. This also mostly blocks them from accidentally installing software (I generally set up machines with all needed software - like browsers, office suites, media codecs, etc and tell them that they don't need anything else and if something/somebody tells them they need to install something else, they should treat it with extreme suspicion and call me first)
- the big one: ad blocking. I usually combine hosts file based, DNS based and browser plugin based blocking (like uBlock Origin). Seems like lots of scams / malware are going through advertisement and since starting to blocking advertisement over a decade ago, the problems my family / friends are seeing with their devices went down dramatically.
Happy to hear that you're doing well and on your path. Just a quick suggestion: you could take a look at honeypot.io. They take care of pre-filtering both the companies and candidates, so using their "market place" is less stressful and less time-consuming than going directly to the companies / recruiters.