SFTP is handled by the library SSHJ: https://codeberg.org/oppenlab/monorepo/src/branch/main/lib_sftp/src/main/java/oppen/lib_sftp/SFTP.kt the complication here was Android contains an incomplete Bouncy Castle implementation, so you need to remove that provider from your app and add a full implementation from your dependencies: https://codeberg.org/oppenlab/monorepo/src/branch/main/app_lander/app/src/main/java/oppen/gemini/lander/Lander.kt
This was all very painful to figure out, I'll write a post at some point to help others going through the same thing
The uploader is here for any interested devs: https://codeberg.org/oppenlab/monorepo/src/branch/main/lib_sftp/src/main/java/oppen/lib_sftp/Uploader.kt
This is fantastic, Lander now has image upload. Was relatively straightforward to implement batch upload thanks to Android's new-ish WorkManager API. Warning, image resize not implemented yet so there's ~7mb of images if you view the web link:
Looks like we're staying put and going to try and raise two kids in this tiny house. That means I'm going to have a serious look at replacing my rickety wooden garden shed with something more substantial. Which also means I need to move the solar panels from the shed roof onto the house roof. So that's my next project.
Analysis of solarpunk:
Is Ornamenting Solar Panels a Crime? - Architecture - e-flux
People are generally only familiar with ewes, rams are, to coin a phrase, absolute units. While the ewes and lambs are suffering on the open moor with no shade these rams get to chill out by this unused farmhouse. They're kept together in a large field by our house most of the year before being let loose with the ewes for tupping season.
in before some smartarse points out the margin errors
One of the best things about working on your own projects is you're not encumbered by indulgent designers making life difficult. Just use the native views/widgets, keep the ui (and therefore the code) as simple as possible, follow platform conventions with no surprises: easier for users and better for accessibility.
For those interested in reading people #gemini #tinylogs but don't want (or can't) install a tinylog client like lace or gtl, I've setup a capsule with all known tinylogs refreshed every 15min (for now, I may lower the frequency):
Funny enough, the format is also compatible with the tinylog RFC, so you could use gtl to subscribe to it :]
“What the prospective survivor does not do, is make peace with death or collapse. She sometimes even finds joy in pushing against them.”
** The problem:
* By 2040 emissions from computing alone will be close to half the emissions level acceptable to keep global warming below 2°C. This growth in computing emissions is unsustainable: it would make it virtually impossible to meet the emissions warming limit.
* The emissions from production of computing devices far exceed the emissions from operating them, so even if devices are more energy efficient producing more of them will make the emissions problem worse. Therefore we must extend the useful life of our computing devices.
** The solution:
As a society we need to start treating computational resources as finite and precious, to be utilised only when necessary, and as effectively as possible. We need frugal computing: achieving the same results for less energy.
** The vision: please read the article, I'm out of characters.
Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.