Admin of the Bestiverse

  • 1 Post
  • 21 Comments
Joined 2 months ago
cake
Cake day: September 5th, 2024

help-circle






  • On the feature side, according to Mastodons recent 4.3 release post development is only 4 full time employees and a budget of under $500k annually. That is basically nothing in the realm of social media companies.

    Improving Mastodons features requires money and resources, but Mastodons users are unwilling to pay for instances and unwillingly to fund development. Hell, the .world folks host a bunch of instances for collectively hundreds of thousands of users and they take in about $1k a month in donations. I’m surprised that even covers hosting costs.

    So…it’s no wonder that it isn’t going to be as polished as other social media in ways that would reduce the attrition.



  • patrick@lemmy.bestiver.setoFediverse@lemmy.worldActivityPods 2.0 is out!
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    1 month ago

    Meh, just run several associated services and keep the same username on all of them. Nothing is interoperable, stop trying to force it. And a rogue app with bad user data handling practices is still going to leak your data, even if you store your copy of the data securely.

    My fediverse accounts are always “patrick@<service>.bestiver.se”. I currently am only running Mastodon/Lemmy and a few supporting services (e.g. a link manager - https://bestiver.se/@patrick), but I’m adding more as I get to them. Pixelfed, Peertube, Loops(?), Piefed…

    Adopting this ActivityPods thing looks like it will require each Fediverse project to make what I’d guess are fairly significant changes to their user data handling, and none of those projects are properly funded for this. In fact what this actually seems to be doing is asking every other Fedi app to build on top of their user data API.

    I applaud the attempt at building a new standard in the Fediverse, but I doubt it’s going to happen.






  • I’ve been slowly building a text based MMO game that I will probably continue working on this week: galactic-war

    It’s based on Inselkampf, a very slow-paced game that I played years ago and wanted to play again. Inselkampf just started a new World this weekend, which it does every ~6 months, so I will probably end up working on my virtual clone of it this week while I’m thinking about it.

    If you wanted to play too now would be a very good time to start. The userbase has continued dropping over the years it seems, with only a few dozen to a couple hundred players.

    I also want to get releases and announcement posts out for a couple of my Matrix bot projects this week, pokem and chaz, but that’s been on the backlog for a couple weeks already





  • The best we can do with current tools is just trying to tie multiple platforms/views together I think. Programming.dev runs a bunch of different services under the same umbrella like that, and I’ve setup something similar on bestiver.se / xxxiver.se

    I think having communities that consist of a group of fediverse services like that are probably the way forward in the short term. I kinda want to package that up as a ‘Verse as a Service sort of thing, but I’m still not sure if anybody will be willing to pay for it.



  • Looking at just the hosting costs is actually a really bad indicator of total costs. The unpaid volunteer time just to run/manage the instance are likely going to be significantly more than the hosting costs if they were compensated even at minimum wage.

    Each of the stacks for XXXiver.se and Bestiver.se (Mastodon + Lemmy + Static Site (+ Linkstack/Wiki for XXXiver.se premium)) are shoved into a Hetzner server at ~$13/month, and backed by R2 Object storage.

    My current total hosting costs are ~$30/month to host 2xMastodon, 2xLemmy, 2xStatic Site, 1xLinkstack and 1xWiki. This is basically the minimum cost for me to host all of that on their own infra. I have approximately 0 users other than myself yet, so there’s not really a useful cost/user and I can’t really provide info on scaling.

    Unlike most others here I’m seeing if I can make hosting into more of a job by selling the full suite of services to communities (e.g. get your own Mastodon + Lemmy + others) or by up-selling to premium accounts. I highly doubt that it will actually make any useful amount of money but I’m curious enough to try.


  • Hmm, I could have sworn I had code for this but I’m not able to find it. I wrote a DLX impl many years ago and used it for a few things, and I wrote several different sudoku solvers, but I don’t seem to have ever used my DLX impl to solve sudoku puzzles…

    What you need to do is create a row for every possible entry and location in the puzzle. So you will have a row representing every single possible entry option. 9 options x 81 total squares = 729 total rows.

    The columns in your Exact Cover Matrix represent all the different constraints, where each column must be unique in the solution.

    • You’ll have 81 columns that represent just the location (you can only have 1 number in each of the 81 boxes).
    • For every Row/Column in the Sudoku Puzzle, you will have 9 columns to represent the 9 different numbers. (e.g you can only have a single “5” in every Row of the Sudoku)
    • For every 3x3 box in the Sudoku puzzle, you’ll also have 9 columns for the 9 different numbers.

    So your Exact Cover Matrix will need 324 columns = 81 (squares) + (9 (numbers) * 9 (rows)) + (9 (numbers) * 9 (cols)) + (9 (numbers) * 9 (boxes))

    When you fill out all the rows, you’ll place 1’s in all the columns that that specific entry aligns with. Take the example of the row corresponding to the entry “5” in the Sudoku Puzzles top left box. That row in your Exact Cover Matrix will contain:

    • A 1 in the column representing that specific box.
    • A 1 in the column that represents the number 5 in the first Sudoku Row.
    • A 1 in the column representing the number 5 in the first Sudoku Column.
    • A 1 in the column representing the number 5 in the top left Sudoku Box.
    • 0’s everywhere else

    To feed a specific puzzle into your solver, it kinda depends on the solver, you just need to force the output to contain those specific rows.