I’ve actually used this to my advantage. I bought some cheap speaker/light combos which basically made the lights dance to the music. The only power connector was a wire that comes straight out of the device and into an outlet. But it did have a USB port for loading music from a USB stick. So naturally I plugged one side of a USB A into the port and the other side into a power bank and it just straight up worked.
I prefer a hybrid approach. A document explaining some common things to do and generally the idea behind why the API is structured that way (shows me you actually thought about it, and makes it more logical to find different parts of it without necessarily looking it up), and then an API spec showing all the parameters.
For the record, I don’t think focusing solely on taking money away from the richest people is the only way to lift people out of poverty, I think there are many factors that create poverty and that there being billionaires at all is a contributor to it due to the power they wield with it. Mind you, I don’t really include millionaires in the “wealthy” category here, I’m talking about billionaires - those with many orders of magnitude more wealth than somebody you’d just consider “rich”. I’m certainly not against feeding, housing, and educating people and contribute to efforts to do so locally. I was thinking more along the lines of hypothetically long term eradicating poverty, not how to realistically approach treating it today so that’s probably where our wires got crossed.
It’s not fair to apply that defeatist outlook to one perspective and not the other. You can say that about your idea too, of lifting people out of poverty. How do we lift people out of poverty when the people writing legislation and funding elections have no concept of poor and no incentive to give a shit about the poor?
Here’s the thing, if we imagine for a moment that change can be brought on, then taking money out of billionaire pockets is inherently necessary to solve the issue of poverty. Poverty is not a problem of static amounts of money, it’s a problem of inequality. In the real world it looks like some people have a few dollars to their name while others have billions, but it’ll work exactly the same if some people have a few thousand dollars to their name while others have trillions.
Imo, if we don’t “level the playing field” at least a little bit, what’ll happen is that as we uplift people out of poverty in one way - e.x. giving them a home, feeding them, and educating them - it’ll just get more expensive to do everything else like eat out, go to movies, go on vacation, have internet, have a phone, have electricity and water. We as a society will have freed up some additional money by subsidizing education, housing, food but if left unchecked the wealthier among us will seize the opportunity to take that. And they will, because they have an incentive to. But if you take that extra money away - you can alleviate the incentive and make it not so appealing to try and take every last dollar. And yes, current income tax in most places does not account properly for how billionaires actually hold their money, but they could in this hypothetical scenario. I’m not gonna try and draft legislation here but it’s certainly possible, though it might cause all the billionaires to just leave.
This is the approach I use, not sure if it’ll work for your use case but I can assure you it works for at least a few users. It’s all sort of manual set up but from your comments it sounds like you’re just doing this for friends and family and not on an enterprise level. I admire your efforts!
First off, I have a purelymail account on which I set up domains and accounts for each user. I have mine set up so user1@anydomain.com all goes to the user1 mailbox (and user2@anydomain.com goes to the user2 inbox regardless of domain, etc.) but you can set up some pretty complex routing if you want - and if you know a bit of sieve there’s even that. Purelymail handles the actual email sending/receiving so I’m putting a lot of trust in them, but it seems like they have a good track record and I don’t think I could do better on my own. Plus they’re dirt cheap. My big concern with email is always deliverability. Anyway, you’ll see this is all set up in such a way that I’m using purelymail now, but I’m not tied down to them.
Second, I use this image (linking to the repo and not the docker hub version so you can inspect the Docker file for opsec reasons. In my set up I build it from source because I have a couple modifications) which is a dovecot IMAP server + getmail. This is python getmail not go-getmail and not fetchmail. The repo itself has some pretty straightforward instructions but the way it works is basically that users inside the docker container each map to a mail directory. So each user’s credentials is actually a Linux username and password within the container. I have mine set up so it’s like user1, user2, etc. (which confused my users initially because automatic set up forms are never set up this way) but you could set it up however you need. Then, there’s a Cron set up to run getmail which you have to configure yourself within a cron.d folder that you mount on the container. For mine I have it configured to use POP3 so that when it gets stuff off purelymail it’s automatically deleted.
Finally, you just set up your mail clients to use this IMAP server and purelymail’s SMTP but if you know how to set up a forwarder you can always have it relay through purelymail. Purelymail even has the ability to relay emails to your SMTP server.
You could check out Frappe Drive (and Frappe, the framework it’s built on, it’s pretty awesome). They aren’t accepting contributions at the moment but I’m sure that’ll change once it’s out of beta like with the other frappe apps. There’s also Raven messenger also built on Frappe and you can use the two together (but without any real integration between the two yet, but that’s on the roadmap on the Raven side).
I’ve spent a lot of time researching alternatives and NextCloud is the only one that does everything it does in one place. I’ve dug into the code a lot to find places to make it work faster and came out confused and mostly empty. It’s also federated, and I think it’s the only FOSS file sharing platform that is. It’'s a very mature application so you’ll be hard pressed to find features that are missing, but also to find things that could be further optimized without ripping out major chunks of the application which are likely interconnected with other major chunks of the application. For my personal use NextCloud instance I’ve resorted to just completely deleting the database and installing everything fresh between major versions, then just rescanning my local folder.
There’s many services out there like that that will charge you for basically the hardware and bandwidth (i.e. a VPS) but will give you an easy interface to host applications - even federated ones. The problem really is how do you compete with free? It’s “free” to watch and free to upload on YouTube. And all your favourite creators are probably already there because of the network effect YouTube has built over the years. And it’s a great place to discover new ones, too, even ones that have been around longer than you’ve been alive (for some folks, anyway).
From a technical perspective, though, this is pretty feasible. With huge upfront costs. If you rent hardware from existing providers like AWS/DigitalOcean/etc. you’re gonna pay out the ass for it. It doesn’t seem expensive to people who just need a little hardware but we’re talking about video here. You have to store multiple versions of a single video - that’s a ton of hard drive space. You have to encode what is uploaded by the users into a workable format - that’s a ton of compute. So if you were gonna provide it to hobbyists at a reasonable price you’d want to open your own data center (yes people still do that) which will give you some, relatively speaking, very very cheap storage, compute, bandwidth. The only issue is it costs a ton upfront and you need someone to maintain it if you don’t know how.
Nebula could be a good case study in how well this would work. The content on there is of exceptional quality. To be honest, though, that’s not always what I’m looking for. Sometimes I just want a bunch of garbage rather than a little high quality content. The big social media platforms put a bunch of it in one place. I know it’s not really a good thing, but sometimes I just need background noise while I do other shit and random YouTube videos really does it for me.
I can’t seem to find any data on how much of Nebula’s revenue is actually due to the Curiosity stream tie-in, but I know even I was wary of the $5/mo subscription without the CuriosityStream sub to sweeten the deal. So maybe even the world’s largest creator-owned streaming platform needed that investment.
I understand what you mean, I agree with you that search engines should be simpler tools and in general tools are better when they just do what I tell them rather than trying to guess and do more things. But I think we’re in the minority there. It’s difficult enough to get people to care about Google watching them across the internet, much less when it actually proves useful like suggesting restaurants or businesses near you.
I suppose it’s invalid in the context of showing you what you exactly searched for. But it’s pretty valid in the context of showing you what you’re looking for. For example, someone with a disdain for science when searching for the terms “big bang” or “evolution” is probably not looking for scientific articles detailing the rigor of the prevalent theories. If the point of a search engine is to find what you’re looking for, it’s pretty effective by that measure. It just so happens that what you’re looking is biased in its own ways.
If you’re a little tech savvy (not necessarily a programmer) ERPNext is built on top of a framework called Frappe. You could easily set up some data objects (called DocTypes) and make some relational fields. It’s all done via a web GUI. DocTypes can then have images which you can have displayed as a gallery. I wouldn’t recommend setting up a full ERPNext installation. It’s got domain specific objects for HR, Payroll, Logistics, etc. You’re not gonna end up using them.
It’s a bit hacky but I suppose there’s always the option of using a separate WebDAV server on the directory where frappe drive stores its files. I haven’t tried something like that, though. Unfortunately I don’t know of any integration within frappe drive itself. Seems they’re accepting contributions now so it’s possible these will be implemented in the future. WebDAV is a bit of its own beast, though, so that’ll be a huge undertaking in my opinion.