Aussie living in the San Francisco Bay Area.
Coding since 1998.
.NET Foundation member. C# fan
https://d.sb/
Mastodon: @dan@d.sb

  • 1 Post
  • 474 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle
  • dan@upvote.autoSelfhosted@lemmy.worldKittygram v1.1 has released
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 hours ago

    All the data gathered by Cambridge Analytica was gathered through the public API though, after users had consented to share it (by logging into a quiz app that requested the permissions). That’s why the API is very locked down now, and the approval process to get any sort of data access is very strict.

    The main issue was that they gathered data from people whose profiles were set to be visible only to friends. If someone logged into the quiz and granted permissions, their friends’ data was also accessible via the API.


  • dan@upvote.autoSelfhosted@lemmy.worldKittygram v1.1 has released
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    15 hours ago

    aggressively guard

    tbh it’s a hard balance for any social media company.

    Guard content too little and you end up with Cambridge Analytica, which was literally because the public APIs allowed too much access (third-party apps could see any data through the API that you could see through your Facebook account, including friends profiles). You also end up with headlines talking about big data leaks which really just end up being compilations of public data (which has happened to both Facebook and LinkedIn).

    Guard content too much and you restrict users’ freedom too much.


  • It’s not too bad if you use an outbound SMTP relay for sending. SMTP2Go is pretty good, and they have a free plan with 1000 emails per month. I use Mailcow and you can configure relays in their web UI, but it works just as well with the sender_dependent_relayhost_maps setting in Postfix.

    Sure, it’s not fully self-hosted, but the interesting part to self-host is the storage of your emails, not the sending (which will just relay through other SMTP servers along the way anyways).


  • You don’t absolutely need a central repository for Git. It’s decentralized. You can learn the basics (committing, branching, rebasing, amending, merging, resolving merge conflicts) entirely on your computer.

    My advice would be to get familiar with using Git locally first. Simulate things like merge conflicts - have two branches that both change the same line in a text file, then merge them together and resolve the conflict.

    Once you’re more comfortable with using it locally, learn about code forges like Github or Forgejo.






  • Are there any actual issues in those commits though? I spot checked a few and they look pretty benign, and don’t really look vibe coded to me.

    Just because someone uses an AI tool doesn’t mean their work is vibe-coded slop. An experienced developer that knows what they’re doing can use AI as a tool to take care of boring/mundane parts and write a rough plan for their work, while still paying attention to the business logic and system design, and still fully reviewing everything themselves.

    A lot of the recent commits are in the test suite, and building test suites, fixtures and harnesses is something AI is fairly decent at if you give it a good prompt (give it the input, expected output, and expected side effects).





  • That’s an interesting idea that I didn’t consider. .NET does seem to have some support for WebAssembly.

    Many of the current systems were provided by various hosts for free though, which is how I expanded to so many locations. The 256MB RAM systems are only a few dollars per year, so those hosts were happy to provide a few for free.


  • In my case it needs to be a VM rather than a container (because that’s what the hosting company offers), but Alpine is looking promising so far. No issues with booting from the ISO and installing it on a system with 256MB.

    I got my app running on Alpine too. Now I just need to update my Ansible playbook to handle Alpine, and do more thorough testing. Will look into it later in the week.



  • That’s what I was thinking. I might try the cloud kernel (linux-image-cloud-amd64). It only has drivers required for VM platforms, so maybe the initramfs might be smaller? Otherwise I could build a custom one with just the things I need (only ext4 and swap, only drivers for KVM, etc).

    I’m trying Alpine as well, which looks promising.