• 0 Posts
  • 69 Comments
Joined 1 year ago
cake
Cake day: July 28th, 2023

help-circle
  • This. Nothing is more difficult than understanding someone’s else code and architecture, and even if you manage that, you’re now stucked with the choices somebody else made and nobody wants that (we want to make our terrible choices!).

    More than a final app, the best thing to publish as FOSS is libraries extracted from it to help other developers build there own products faster. That’s something other may want to maintain when we abandon it. And on top of that, it still help to publish your app using this lib to serve as practical example about how to use your it, of course.



  • Anafroj@sh.itjust.workstoSelfhosted@lemmy.worldCost-cutting tips?
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    11 months ago

    That’s the same thing. :) If you reduce computing load, you reduce the need for costly hardware and you reduce the need for energy, thus you reduce the amount of money needed to build and run your setup. There’s a saying in (software) engineering : “reducing energy consumption and increasing performances requires the same optimizations”. Make your code faster (by itself, not by buffing up hardware) and it consumes less energy. Make your application simpler, and it will run faster, and it will consume less energy. It’s not an absolute truth (it sometimes happen that you make your code faster and it consumes more energy), but it’s true most of the time.


  • Anafroj@sh.itjust.workstoSelfhosted@lemmy.worldCost-cutting tips?
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    11 months ago

    Basically, yes. You can configure most cron programs to mail task output to you (it’s usually done by setting the MAILTO variable in the crontab, provided sendmail is available on your system).

    I use that to do things like:

    0 9 11 10 * echo 'lunch with John Doe at 12:20'
    

    It sends me a mail, and I can see the upcoming events with crontab -l. If it’s not a recurring event, I then delete the rule.


  • Anafroj@sh.itjust.workstoSelfhosted@lemmy.worldCost-cutting tips?
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    2
    ·
    11 months ago

    My favorite cost cutting tip is to avoid big webapps running on docker, and instead do with small UNIX utilities (cron instead of a calendar, text files instead of note taking app, rsync instead of a filehosting dropbox-like app, simple static webserver for file sharing, etc). This allows me to run my server on a simple Raspberry Pi, with less than 500mb of used RAM in average, and mininal energy consumption. So, total cost of the setup:

    • Raspberry Pi : 77€ x 2 = 144€ (I bought two to have a backup if the first one fails)
    • MicroSD 64gb : 13€ x 2 = 26€ (main and backup)
    • average energy consumption : 0.41€ (2kWh) per month

    With that, I run all services I need on a single machine, and I have a backup plan for recovery of both hardware and software.

    Getting used to a UNIX shell and to UNIX philosophy can take some time, but it’s very rewarding in making everything more simple (thus more efficient).



  • Anafroj@sh.itjust.workstoFediverse@lemmy.worldFediverse or Decentralisation?
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    11 months ago

    I’m sorry to say that, but you get you’re definition wrong. “decentralized” means “which has no center anymore”. ActivityPub is decentralized. The usual criticism of the Fediverse by peer to peer networks such as Secure Scuttlebutt or Dat is not that ActivityPub is not decentralized, but that it will eventually “recentralize”, like client/server models tend to do, when one instance capture all the traffic (like Gmail with SMTP, we already see signs of that with mastodon.social, but we’re still very far from it to be a center). I think that maybe you’ve been exposed to that argument and misunderstood it?

    What you really want to say is that ActivityPub is not p2p. You can criticize the fact that there is a server/client model behind it, which means that users don’t really own their data and can lost it if the server goes down - that’s a valid criticism.

    To which I would answer that it’s a tradeoff. :) ActivityPub is built on top of HTTP, the well known protocol on which the web is built. This makes it dirt simple to build an ActivityPub app. The difference of adoption rate between SSB, Dat or IPFS and ActivityPub has nothing to do with luck. It’s HTTP and JSON, it’s just simpler (and easier) to build on top of ActivityPub. Not only that, but it’s a w3c standard. Which means, for people like me who have been burnt by building apps on top of the Beaker Browser only to see it abandoned, that we can trust there won’t be any rug pull. That matters.

    And of course, you can also… run your own server (look into self-hosting if you’re interested in that, there’s a vibrant community here on Lemmy about that). If you run your server, then you own your data and the other servers become your peers. The idea that only others (presumably big companies) can have servers is a very centralized way of thinking.





  • I would one up that suggestion : what could be awesome would be to allow users to choose which sorting algorithm they use, and possibly tweak it. This would allow people to share the sorting logic they like, and there would be no trust issue, since you can verify the logic is respected by changing it.

    Not sure how realistic this proposal is, though, because this could lead to performance issues if users submit too complicated sorting logic, which could be exploited to DoS an instance. On the other hand, it could be solved with a timeout mechanism : “if your query takes more than 100 ms to load, we kill it”. And also, you can’t just let users run arbitrary SQL, obviously, so this would require to implement some sort of meta-language safely transpiled, this would be the real challenge.


  • In such a widespread usage, there would probably not be “the fediverse” anymore, but a galaxy of clusters of interconnected instances. Spam would be a serious problem, so instances would switch to whitelisting instances they want to federate with instead of just occasionally “defederating” from them. It would not only happen because of spam, by the way, but also because of political/cultural/ideological divergences. Maybe even because of laws.

    There would be a boom of innovations, made possible because of the data openly accessible and the fact that we would finally have a standard on which to build upon to create third party applications (which, from a developer perspective, was the promise of the web-2.0 and its APIs, but never truly materialized). You would see alternative frontends for everything, and applications that allow to get new insights or use your data in new and smart ways.

    The big businesses would still be around, by the way. They would open their own instances, publish lot of ads and add cool features found nowhere else so that most people join their instances, which would quickly become the go to instances for everyone, dwarving all other instances. We would spend a lot of time evangelizing so that people join smaller instances instead, but our folks would answer that it’s less convenient, they would have less easy to use features and their account is already at BigCo anyway. Plus, to fight spam, terrorism, child pornography, nazis or whatever is the scarecrow then, they would severely limit the possibility for small instances to interop with them, adding arbitrary technical barriers that most implementers won’t succeed in hoping. But we won’t care that much, because we will have our own alternative networks with more content on them than ever.


  • Oh wow, thanks for that video, that was brilliant. :D

    Indeed, if you had a teacher who made your class read Being and Nothingness without explaining phenomenology first, it feels like punishment or something. :) Not that Husserl and Heidegger are easier to read, but at least they don’t presuppose other readings to be understood. That being said, I kind of get it, existentialism can be seen as its own thing, especially in Sartre’s non-philosophy work (he wrote several novels and theater scripts). But not through Being and Nothingness. 😂


  • Oh, ok, your article sounded so close I thought it was inspired by it. :) It’s a very european thing, mostly developed in Germany and France. I have by blood with it, though. I’ve always been more interested in analytical philosophy so I didn’t like it. Which shouldn’t have been a problem, there are many schools of philosophy, right? Except I studied at a university where the philosophy department was specialized in it. Every day I was wondering what I was doing there. :) I actually consider it wasted my university years, so I’m probably not the good person to talk to you about it. 😅 (but your own articles stopped short of talking non-sense like phenomenology does in my opinion, so it was good to read, it’s like taking only the good parts of phenomenology ;) ). The main authors, if you want to know more, are Heidegger, Husserl and Sartre. A note of warning though that it’s very hard to read (well, at least if you have an analytical mind, I suspect it depends on people personality).

    The same goes for your RPGs - they’re more than welcome if you feel they’re ready for public consumption

    Oh, no, thanks. Actually, not being ready for public consumption is their whole point. :) I used to write (as an amateur) when I was younger, only to be confronted to a wall of indifference at each publication. So I was going back to it, doing my best, putting unreasonable amount of hours to make it likable, and still this indifference - in part because, I realized later, my folks just didn’t like reading anyway. But it turned out that trying to please people was a terrible experience. Nobody was having fun, including me. When I started playing my RPGs solo, the reason why I enjoyed it so much was because I put this simple rule : nobody will ever read it. From there, I don’t have to ask myself questions like “is it too long?”, “is it too short?”, “is it properly explained?”, “does the pace progress fast enough?”, etc. I’m just exploring and enjoying it. :) My oldest campaign (I play three different games) has a word count that would cover at least three novels, and it would be terribly boring to read, because of the slow moving pace, the returns to previous places that break the pace, the long sequences when there is just no narrative arc, the pages and pages of shopping narration, etc. And I don’t care, because it’s not meant to be read. :) I’m not writing, I’m exploring my imagination, spending just as much time I want where I want, with no regard to what makes an efficient story - or even just legible text, for the matter. It’s basically a videogame powered by imagination. :) The day I even consider it may be read, all of that collapses.


  • You’re welcome, if I did my part to fight online harassment, this is a good day. :) You should consider legal action, though, if you have laws against that in your country (I assume it’s most countries, nowadays?). The instance of this or those guys can be subpoenaed to provide their IP address, which then can be used to uncover their identity.

    Thanks for the invitation, btw. The whole concept sounds fun. :) I enjoyed the article about imagination engine, it’s on the edge of phenomenology, but still keeping things rational (I have a history with phenomenology 😅). I have my own way of exploring my imagination (written solo RPGs, it’s basically how I spent my evenings), but I’ll have fun reading your content. :) Enjoy!



  • Hey Arotrios, sorry for what you have to go through. I imagine you already know that, but I think it’s worth reminding you : you can hide upvotes/downvotes in Lemmy’s preferences by unticking the “show scores” option. That way, stalking and serial downvoting is just wasting the abuser time and finger’s articulations. :) Honestly, rating everything people say is a toxic feature anyway, it’s both addictive and generating anxiety. I’m glad Lemmy allows to disable it, I’m way more at peace since I’ve done it.


  • It’s totally not crazy thinking. :) I think the main problem is that while Mastodon and Lemmy implement the server to server part of ActivityPub, they don’t implement the client to server part of the standard, and instead build their own REST API and client. This is why, while you can subscribe to actors from an other application, it looks bad : it’s supposed to be consumed in their own client, or something that tries to emulate it (that, and the fact that they each implement their own extensions to ActivityPub, it doesn’t help).

    In a perfect world, ActivityPub based applications would implement the client to server part or the standard too, so that we have a multitude of third party clients that can consume data from any ActivityPub based application without looking broken. I certainly hope we go in this direction in the future, because interoperability looks half-baked, as it is right now, and the fediverse would be just more awesome with such upgrade.



  • Additionally, it can help to see them as “level 0” spells.

    Here is the full description of them in the Player HandBook:

    A cantrip is a spell that can be cast at will, without using a spell slot and without being prepared in advance. Repeated practice has fixed the spell in the caster’s mind and infused the caster with the magic needed to produce the effect over and over. A cantrip’s spell level is 0.

    It’s true that mechanics in BG3 could be better explained to people who don’t know dnd. Then again, in RPG videogames, mechanics are usually implementation details that no player gets in details. :) At leat this time, there is an opportunity to understand them (the basic rules are free to obtain on dndbeyond.com, btw)