You can now run Docker images in Termux with Udocker/proot[0], the disk IO can be a bottleneck for large databases when using proot.
Tailscale works with "--tun=userspace-networking" [1].
I had it running on an old phone as a Frigate server with a solar powerbank in remote area, using the 4G as a failover. The uptime is almost a week without solar.
Attiny hooked to the power button and a photodiode on the phone flash [2] (blink per minute) used as a watchdog for shutdowns/hangs to hardware reset. The button cap is removed without disassembling the phone.
Old phones are still more efficient than most off the shelf SBCs, especially under load.
~3W compared to 12W with a Pi5 in the same performance ballpark.
The new(er) mid range chipsets indeed are so so nice now. Pretty/fully modern process nodes, battery efficient, still very respectable cores.
Really glad to see we've finally landed at a place where finding an old refurbished flagship is not the only logical choice, where the mid-range has a lot going on for it.
Just wish we had some mainline kernel support, could put Debian on these things! I've had a OnePlus 6T (2018) that supposedly does pretty ok that I've been meaning to try Mobian on, and it felt like for a bit Snapdragons were getting better and better Linux support. But that motion seems to have really tapered off in the last ~2 years?
I had a Moto X4 which was quite cheap for $200 or $250. It did everything perfectly. No discernable lag for any operation. Plenty of storage. Great battery life. I can't imagine "needing" more phone than this.
Unfortunately it reached the end of its (security) updates so I figured it would be unsafe to keep using it since I have banking apps on the phone. Sad.
Non-generic adapters are fixed in custom ROMs/LOS, on stock Android 16 my ZTE modem is still reporting as usb0 due to MAC address local bit, while Huawei dongle works just fine.
Android phone to android tablet USB tethering is also local MAC and non-functional.
Still using a very old Tab S 10.5 from 2014 running a bit slow with LOS 21 - Android 14.
Started with Android 4 KitKat, stuck with Linux kernel 3.4 :)
5.4mm thickness, 3GB RAM (enough for 32-bit), 2TB SD card works, watching movies/shows with the AMOLED look as good as a recent OLED TV. Truly ahead of their time.
SDR content with mDNIe dynamic enabled comes surprisingly close to HDR content on an HDR display, colors can be a bit too staturated though.
After a decade, the battery lasts a week for daily hour e-book with black background. 3 hours of video playback.
However, it restarts at 30% battery when running at full brightness with a white background.
Disabling Wi-Fi significantly extends standby time compared to modern hardware.
Caveats: Slow web browsing and no H.265 hardware decoder.
1440p H.264 60Mbit is the max (Display is 1600p).
Most content providers and streaming services are slowly moving away from AVC, so it's stuck at 720p H.265 on CPU.
Back in 2014, I couldn't have imagined using hardware that was over a decade old.
Arguably, rolling your own crypto (in this case AES which is customizable) requires a very careful implementation, beyond RNG.
Since dart/flutter is multi platform, using Random.secure for animation has it's own performance issues with interfacing host entropy RNG.
The majority of Dart/Flutter users are creating UI apps.
Few browsers with security policies and OS combination does not allow access to the entropy with Flutter Web in which Random.secure will fail, this isn't exclusive to Dart/Flutter. [1]
NaCL [0] offloads these concerns for developers, especially indie/startup.
Rolling your own security requires nothing more than gumption and willingness to deploy. That doesn't mean it's good security but it means people will do it whether they know all the golden rules. After all, rolling insecure security requires missing 1 small thing in a haystack of thousands and it doesn't matter you reviewed the language defaults when OS version blah blah from vendor xyz defaults to something insecure "because you should have checked the defaults". The same goes towards "this library does these kinds of things so there is no value in languages having secure defaults too" type thinking, they aren't convincing arguments for what security posture of other things should or shouldn't be.
I'm more a fan of "make the defaults as secure as you can reasonably expect to get away with for each step of the way". It'll never be as secure as everyone wants but if you but up against "it's as secure as people would want to put up with by default" then things are at least at a good starting point for others to build from. The hard part is finding out what people are willing to put up with and which tradeoffs are worth it. That default random number generators "only" go at GB/s on most PCs because they produce really good random numbers is probably an easy tradeoff though.
Tailscale works with "--tun=userspace-networking" [1].
I had it running on an old phone as a Frigate server with a solar powerbank in remote area, using the 4G as a failover. The uptime is almost a week without solar. Attiny hooked to the power button and a photodiode on the phone flash [2] (blink per minute) used as a watchdog for shutdowns/hangs to hardware reset. The button cap is removed without disassembling the phone.
Old phones are still more efficient than most off the shelf SBCs, especially under load. ~3W compared to 12W with a Pi5 in the same performance ballpark.
[0]: https://github.com/George-Seven/Termux-Udocker https://github.com/indigo-dc/udocker
[1]: https://tailscale.com/kb/1112/userspace-networking
[2]: https://wiki.termux.com/wiki/Termux-torch