I've been writing Objective-C recently to use macOS frameworks from Rust. I can just write C wrapper functions and compile as a static library. Otherwise I use Swift.
Update: tried postmarketOS again and it seems smoother and more stable. Dock works well though the HDMI screen still turns off and back on every few seconds.
I haven't turned on my PinePhone in a long time because none of the OSes was usable for more than a week at a time. Maybe I should try postmarketOS again.
I have a project that's more like AirDrop, doesn't require a local network and configures the hotspot automatically: https://github.com/spieglt/flyingcarpet
It's a very cool idea, but the first barrier that comes to mind would be that when the clients join the hotspots, they don't have internet access, so joining the network would mean losing internet, for laptops and phones without cellular data. I know the LocalOnlyHotspot API I use on Android doesn't offer internet tethering. I'm not sure how possible it is to ensure that on Windows and Linux devices that host hotspots. Also, the device that offers the hotspot in Flying Carpet is pretty much acting like a normal WiFi access point in infrastructure mode, so a real mesh network would probably look a lot different.
Thank you! Yeah, obviously the UI is a weak part. I'd like to improve it eventually but as a one-person project I don't want it to have as minimal of an interface as AirDrop. With all the ways transfers can go wrong, I want that information to be in the user's face so they can submit issues and I can help debug easily.
And no, it can't detect anything about the other device until they're on a WiFi network together, and that can't happen until it knows the peer's OS because it has to know whether it or the peer should be hosting the hotspot. Windows has precedence, then Linux, then Android. (The iOS version doesn't need to know the peer's OS because iOS and macOS can't stand up a hotspot programmatically anymore, so it always has to join.)
For most manufacturers, you can purchase access to the technical documentation for a short period. I paid Toyota $20 for 48 hours of access and got PDFs of the official instructions for how to remove the 4G module.
I don't really know how many users I have, so I don't know how "meaningful" my projects are, but I have found some of them posted on French, Chinese, Greek, Russian blogs etc., so hopefully they fill some people's needs besides my own.
I learned to program because I was frustrated that after working in IT consulting for several years, I still had no idea how computers worked. I started with "Learn Python the Hard Way" and "Automate the Boring Stuff with Python". Then got a job doing some Windows consulting stuff, and they said they'd hire me as a software engineer if I learned Go, which was a pretty easy step from Python. I'd tried to learn programming as a kid several times and always found it too frustrating. I started working on side projects as a way to learn new languages, improve my resume, and scratch my own itches. The hardest part was coming up with ideas for useful/worthwhile projects. I was super frustrated one day that the easiest way to get a file between two machines that were right beside each other was sending them out to the internet via Google Drive or Dropbox, which made me want to write "cross-platform AirDrop", which became Flying Carpet. If you find yourself wanting a simple piece of software that seems like it should already exist, that's a great project idea.