• 0 Posts
  • 19 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle
  • One problem with this question is that UBI can be implemented in different ways and the way that it is implemented is very important.

    I think that the way most people think about UBI is that you would get enough money to not have to work. I don’t think that this is compatible with capitalism, because the main reason why people work is because they are pressured into it for economic reasons so removing that without providing people with some other reason to work will just cause the economy to collapse.

    Even if people work for some other reason than money, you will still have the problem that UBI undermines itself. As less people work for money, the money you get from the UBI program will also mean less. Not only do you need a different way to encourage people to work, but you also need a new way to distribute the products of that work if you want to ensure that everyone has access to basics like food and housing.

    For these reasons I don’t think that a UBI that offers people the option of not working is compatible with capitalism. Capitalism is the system that we use to distribute work and resources and if we implement UBI we will have to invent new systems to do those things instead.

    It is still possible to have a smaller UBI under capitalism if your goal is to for example prevent money from getting to concentrated among the rich and instead stimulate the economy, or something.






  • It's not that much of a strain since it only handles DNS traffic.

    When you go to e.g. programming.dev, you computer needs to know the actual IP and not just domain name so it asks a DNS server and recieves an answer like 172.67.137.159 for example. The pihole will just route the traffic to a real DNS server if it's a normal website or give a unkown ip kind of answer if it's a blacklisted domain. Actually transmitting the website which is the bulk of trafic is handled without the piholes involvement.



  • I think most people don’t go to a platform because of how it is implemented but rather what content and what communities already exist there.

    People on the fediverse now are using it not because of the content already here but more because of the promise of a platform designed in a different way that will ultimately enable a better internet experience. I think part of the reason why it’s mostly techy people is that the sales pitch is complicated enough that mostly techy people will be able to appreciate it. Not to say that non-techy people are too stupid to get it, it’s just that it requires a kind of abstract thinking that techy people are more used to.

    It feels like lemmy seems to have a sense of nostalgia for old reddit in some ways, so I imagine that a lot of people on here where also on reddit maybe 5-15 years ago, which means that you are probably going to be older than the average reditor as well as techy. Can’t speak for mastodon, honestly I find the culture on most instances I’ve seen to be kinda weird and unappealing but yes it seems to be older techy people as well there.




  • I think that an important part of twitter was the proximity to power through politicians, journalists and celebrities. If threads is good at making those people switch over, then I think a lot of other people will switch over as well. On big part of twitter users is people who love discussing the news and current events and that’s much more appealing when you can do it on the same platform as people who are in the news or write the news.

    (On the other hand lemmy has Margot Robbie so maybe we’re in the race as well?)




  • Hmm no, I can’t say that I’ve ever writen code like that. For one, it might be better to use loop :: (a -> Either a b) -> a -> b instead so that you don’t have to sort through the result afterwards with find.

    I’m not sure exactly what you’re trying to do, but maybe using the State monad could be a good idea? If a is an object with fields that you want to be able to read and update that sounds a bit like what you might want to use State for. This can be combined with maybe something from the loop section of Control.Monad.Extra to make the intention of the code a bit clearer.

    If performance is critical you might be better of using a different language anyway (Haskell performance is okay but not amazing) but otherwise I don’t think that this is really gonna slow down your code unacceptably much.


  • Monad transformers are monads that take another monad as a type argument and are for when you want to have severtal kinds of Monads at the same time. If you want to be able to throw errors, have state and perform IO you can use the type ExceptT ErrorType StateT StateType IO a for example.

    IMO the biggest strengths of Haskell are that you can create very powerfull abstractions and that you have a greater ability to reason about your code. This is still true to some extent even if you have a lot of imperative-like State or IO code, so it can still valuable to write in Haskell. Of course, it’s still good to avoid this when possible, and take it as a sign to rethink your design.

    The main reasons why I don’t program more in Haskell are that it can be un-ergonomic to write certain kinds of code (that use IO a lot for example), that it can be hard to reason about space leaks and primarily that it’s basically pointless to convince anyone else at $DAYJOB that writing something in Haskell is a good idea (for not entierly bad reasons, it’s good to have code that’s maintainable by multiple people)