I like to code, garden and tinker

  • 1 Post
  • 67 Comments
Joined 5 months ago
cake
Cake day: February 9th, 2024

help-circle

  • My question would be, why do you need a more powerful server? Are you monitoring your load and seeing it’s overloaded often? Are you just looking to be able to hook more drives to it? Do you need to re-encode video on the fly for other devices? Giving some more details would help someone to give a more insightful answer. I personally am using a Raspberry Pi 4, Chromebox w/ an i7, an old HP rack server, and an old desktop PC for my self hosting needs, as this is cheaper than buying all new hardware (though the electricity bill isn’t the greatest haha, but oh well). If you are just looking for more storage, using the USB 3.0 slots on the Raspberry Pi 4b you can add a couple extra SSDs using a NVMe to USB 3.0 enclosure. For most purposes the speeds will be fine for most applications.

    As for SSD vs HDD, SSD hands down. The only reason you’d pick an HDD is if your trying to get more storage cheaper and don’t mind a higher rate of failure. If your data is at all valuable, and it almost always is, redundancy should be added as well.

    And as for running Linux, if it can’t run Linux I wouldn’t want to own it.

    Edit: Fixed typo


  • This might help, sorry if it doesn’t, but here is a link to CloudFlares 5xx error code page on error 521. If you’ve done everything in the resolution list your ISP might be actively blocking you from hosting websites, as it is generally against the ISPs ToS to do such on residential service lines. This is why I personally rent a VPS and have a wireguard VPN setup to host from the VPN, which is basically just a roll your own version of Tailscale using any VPS provider. This way you don’t need to expose anything via your ISPs router/WAN and they can’t see what you are sending or which ports you are sending on (other than the encrypted VPN traffic to your VPS of course).



  • I’ve never ran this program, but skimmed the documentation. You should be able to use the SHIORI_DIR (or a custom database table following those instructions) along with the -p argument for launching the web interface. A simple bash script that should work:

    export SHIORI_DIR=/path/to/shiori-data-dir
    shiori serve -p 8081
    

    To run multiple versions, I’d suggest setting up each instance as a service on your machine in case of reboots and/or crashes.

    Now for serving them, you have two options. The first is just let the users connect to the port directly, but this is generally not done for outward facing services (not that you can’t). The second is to setup a reverse proxy and route the traffic through subdomains or subpaths. Nginx is my go-to solution for this. I’ve also heard good things about Caddy. You’ll most likely have to use subdomains for this, as lots of apps assume they are the root path without some tinkering.

    Edit: Corrected incorrect cli arguments and a typo.







  • In my humble opinion, we too are simply prediction machines. The main difference is how efficient our brains are at the large number of tasks given for it to accomplish for it’s size and energy requirements. No matter how complex the network is it is still a mapped outcome, just the number of factors weighed is extremely large and therefore gives a more intelligent response. You can see this with each increment in GPT models that use larger and larger parameter sets giving more and more intelligent answers. The fact we call these “hallucinations” shows how effective the predictive math is, and mimics humans abilities to just make things up on the fly when we don’t have a solid knowledge base to back it up.

    I do like this quote from the linked paper:

    As we will discuss, we find interesting evidence that simple sequence prediction can lead to the formation of a world model.

    That is to say, you don’t need complex solutions to map complex problems, you just need to have learned how you got there. It’s never purely random attempts at the problem, it’s always predictive attempts that try to map the expected outcomes and learn by getting it right and wrong.

    At this point, it seems fair to conclude the crow is relying on more than surface statistics. It evidently has formed a model of the game it has been hearing about, one that humans can understand and even use to steer the crow’s behavior.

    Which is to say that it has a predictive model based on previous games. This does not mean it must rigidly follow previous games, but that by playing many games it can see how each move affects the next. This is a simpler example because most board games are simpler than language with less possible outcomes. This isn’t to say that the crow is now a grand master at the game, but it has the reasoning to understand possible next moves, knows illegal moves, and knows to take the most advantageous move based on it’s current model. This is all predictive in nature, with “illegal” moves being assigned very low probability based on the learned behavior the moves never happen. This also allows possible unknown moves that a different model wouldn’t consider, but overall provides what is statistically the best move based on it’s model. This allows the crow to be placed into unknown situations, and give an intelligent response instead of just going “I don’t know this state, I’ll do something random”. This does not always mean this prediction is correct, but it will most likely be a valid and more than not statistically valid move.

    Overall, we aren’t totally sure what “intelligence” is, we are just an organism that has developed more and more capabilities to process information based on a need to survive. But getting down to it, we know neurons take inputs and give outputs based on what it perceives is the best response for the given input, and when enough of these are added together we get “intelligence”. In my opinion it’s still all predictive, its how the networks are trained and gain meaning from the data that isn’t always obvious. It’s only when you blindly accept any answer as correct that you run into these issues we’ve seen with ChatGPT.

    Thank you for sharing the article, it was an interesting article and helped clarify my understanding of the topic.


  • Disclaimer: I am not an AI researcher and just have an interest in AI. Everything I say is probably jibberish, and just my amateur understanding of the AI models used today.

    It seems these LLM’s use a clever trick in probability to give words meaning via statistic probabilities on their usage. So any result is just a statistical chance that those words will work well with each other. The number of indexes used to index “tokens” (in this case words), along with the number of layers in the AI model used to correlate usage of these tokens, seems to drastically increase the “intelligence” of these responses. This doesn’t seem able to overcome unknown circumstances, but does what AI does and relies on probability to answer the question. So in those cases, the next closest thing from the training data is substituted and considered “good enough”. I would think some confidence variable is what is truly needed for the current LLMs, as they seem capable of giving meaningful responses but give a “hallucinated” response when not enough data is available to answer the question.

    Overall, I would guess this is a limitation in the LLMs ability to map words to meaning. Imagine reading everything ever written, you’d probably be able to make intelligent responses to most questions. Now imagine you were asked something that you never read, but were expected to respond with an answer. This is what I personally feel these “hallucinations” are, or imo best approximations of the LLMs are. You can only answer what you know reliably, otherwise you are just guessing.



  • Looking over the github issues I couldn’t find a feature request for this, so it seems like it’s not being considered at the moment. You could make a suggestion over there, I do think this feature would be useful but it’s up to the devs to implement it.

    That being said, I wouldn’t count on this feature being implemented. This will only work on instances that obey the rules so some instances could remove this feature. When you look up your account on my instance (link here), it is up to my server to respect your option to hide your profile comments. This means the options have to be federated per-user, and adds a great deal of complexity to the system that can be easily thwarted by someone running an instance that chooses to not follow these rules.

    If your goal is to stop people looking up historical activities, it might be best to use multiple accounts and switch to new accounts every so often to break up your history. You could also delete your content but this is again up to each instance to respect the deletion request. It’s not an optimal solutions but depending on your goals it is the available solution.

    Edit: Also if your curious about the downvotes, it’s not the subject matter but your post violates Rule 3: Not regarding using or support for Lemmy.





  • As for the data transfer costs, any network data originating from AWS that hits an external network (an end user or another region) typically will incur a charge. To quote their blog post:

    A general rule of thumb is that all traffic originating from the internet into AWS enters for free, but traffic exiting AWS is chargeable outside of the free tier—typically in the $0.08–$0.12 range per GB, though some response traffic egress can be free. The free tier provides 100GB of free data transfer out per month as of December 1, 2021.

    So you won’t be charged for incoming federated content, but serving content to the end user will count as traffic exiting AWS. I am not sure of your exact setup (AWS pricing is complex) but typically this is charged. This is probably negligible for a single-user instance, but I would be careful serving images from your instance to popular instances as this could incur unexpected costs.


  • As for the article, I think this is generally PR and corporate speak. Whatever their reasons were, they apparently didn’t shut down the initial XMPP servers until 2022 so it was a reliable technology. There “simplification” was bringing users into their ecosystem to more easily monetize their behaviour. This goes along with your last paragraph, at the end of the day the corporation is a for-profit organization. We can’t trust a for-profit organization to have the best of intentions, some manager is aiming to meet a metric that gets them their bonus. Is this what we really want dictating the services we use day to day?


  • Google tried to add support for it in their product

    Is like saying that google tried to add support for HTTP to their products. Google Talk was initially a XMPP chat server hosted at talk.google.com, source here.

    Anyone that used Google Talk (me included) used XMPP, if they knew it or not.

    Besides this, it’s only a story of how an eager corporation adopting a protocol and selling how they support that protocol, only to abandon it because corporate interests got in the way (as they always do). It doesn’t have to be malicious to be effective in fragmenting a community, because the immense power those corporations wield to steer users in a direction they want once they abandon the product exists.

    That being said, if Google Talk wasn’t popular why did they try to axe the product based on XMPP and replace it with something proprietary (aka Hangouts)? If chat wasn’t popular among their users, this wouldn’t of been needed. This could of been for internal reasons, it could of been to fragment the user base knowing they had the most users and would force convergence, we really can’t be sure. The only thing we can be sure of is we shouldn’t trust corporations to have the best interest of their users, they only have the best interest of their shareholders in the end.