I like to code, garden and tinker

  • 0 Posts
Joined 6M ago
Cake day: Jun 13, 2023


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.

SQL is the industry standard for a reason, it’s well known and it does the job quite well. The important part of any technology is to use it when it’s advantageous, not to use it for everything. SQL works great for looking up relational data, but isn’t a replacement for a filesystem. I’ll try to address each concern separately, and this is only my opinion and not some consensus:

Most programmers aren’t DB experts: Most programmers aren’t “experts”, period, so we need to work with this. IT is a wide and varied field that requires a vast depth of knowledge in specific domains to be an “expert” in just that domain. This is why teams break up responsibilities, the fact the community came in and fixed the issues doesn’t change the fact the program did work before. This is all normal in development, you get things working in an acceptable manner and when the requirements change (in the lemmy example, this would be scaling requirements) you fix those problems.

translation step from binary (program): If you are using SQL to store binary data, this might cause performance issues. SQL isn’t an all in one data store, it’s a database for running queries against relational data. I would say this is an architecture problem, as there are better methods for storing and distributing binary blobs of data. If you are talking about parsing strings, string parsing is probably one of the least demanding parts of a SQL query. Prepared statements can also be used to separate the query logic from the data and alleviate the SQL injection attack vector.

Yes, there are ORMs: And you’ll see a ton of developers despise ORMs. They is an additional layer of abstraction that can either help or hinder depending on the application. Sure, they make things real easy but they can also cause many of the problems you are mentioning, like performance bottlenecks. Query builders can also be used to create SQL queries in a manner similar to an ORM if writing plain string-based queries isn’t ideal.

“From March 1, 2024, an order will come into force to block VPN services providing access to sites banned in Russia,” Sheikin was quoted as saying by state news agency RIA.

I assume this means it’s regarding outgoing communications, for censorship purposes most likely. I’d be surprised if they were blocking incoming VPN traffic, and I don’t think the Russian government has an issue with Yandex operating.

For your own sanity, please use a formatter for your IDE. This will also help when others (and you) read the code, as indentation is a convenience for understanding program flow. From what I see:

  • Your enable and disable functions are never called for this portion of code
  • You use a possibly undeclared enabled variable, if so it never passes scopes between the handleClick and animation methods
  • You do not use any callback or await for invoke or updateCurrentBox, causing all the code after either to immediately run. As a result, enabled is never false, since it just instantly flips back to true. I’m not sure what library invoke is from, but there should be a callback or the function returns a Promise which can be awaited.

TL;DR: The bot is configured to condense certain instances and communities. At the moment, only beehaw.org is marked to be condensed.

Quickly looking at the source code, it seems ReplyToPostsCommand uses a SummaryTextWrapper, which contains an iterable for both CondensedSummaryTextWrapperProvider and DefaultSummaryTextWrapperProvider. The DefaultSummaryTextWrapperProvider has a priority of -1_000 (so it’s always checked last) and is set to always return true on the supports(Community $community): bool. CondensedSummaryTextWrapperProvider references the config/services.yaml for it’s supports(Community $community): bool call which lists 0 condensed communities and 1 condensed instance, being beehaw.org.

If you are expecting a more windows-like experience, I would suggest using Ubuntu or Kubuntu (or any other distro using Gnome/KDE), as these are much closer to a modern Windows GUI. With Ubuntu, I can use the default file manager (nautilus) and do Ctrl+F and filter files via *.ext, then select these files then cut and paste to a new folder (drag and drop does not seem to work from the search results). In Kubuntu, the search doesn’t recognize * as a wildcard in KDE’s file manager (dolphin) but does support drag/drop between windows.

I think whoever wrote this article mistook the fact the project itself is only fully supported on Linux, but possibly can run on Windows with use of the WSL (Windows Subsystem for Linux). These are system requirements for the host PC, not the in-game computer. Good luck running modern linux or windows on 96kb of ram.

Why not a Raspberry Pi? The supply chain issues are clearing up.

In the US it seems the supply chain issues are alive as ever. Most of the official resellers are sold out on anything but the Pico and Zero boards. Some do have 4B boards for sale if you buy their starter kit with them, increasing the price by $65 on canakit. The supply issues are definitely not resolved for home users no matter what the CEO wants to say.

I’ve found a link pointing to this website on uscourts.gov, so it does appear to be valid as far as I can tell. It is sad these websites are made to look like phishing scams though.

It seems up to me. Do you use cloudflare’s DNS? If so archive.is blocks their DNS queries.

I’m on an old GTX 970 using the 530 proprietary drivers. I have since switched back to Xorg due to various issues with wayland, mostly lack of support for virtual KVM (not Nvidia’s fault). I have never tried the open source drivers but this discussion makes me curious to do so.

Also, obligatory Nvidia, fuck you 🖕.

Every field I’ve been in has these boxes distributed for pollinating. From the product page:

There is no need for box returns and frame exchanges when cardboard nuc boxes are a fraction of the cost of wooden nucs.

So it’s sold as a bonus that this does not need to be returned, so it’s common enough practice. I know they are suppose to be used to seed new boxes, but farmers generally don’t care. They want the flowers pollinated, the bees will probably die from the pesticides so no use in worrying about them.

Edit: There is an article from the guardian on the harmful conditions bees endure on almond farms. I am near smaller farms, so maybe this practice (of using nucs to pollinate) is not as wide spread as I thought. Regardless, bees are routinely mistreated in various agricultural settings.

I would think it’s more about knowing how to trust it. See some news article about “This study said X”, don’t take it as fact. See a study that has been done numerous times by different groups that corroborate a result and you can have a much higher degree of trust in it. There is a reason the scientific method is a continuous circle, it requires a feedback loop of verifying results and reproducibility. The current issue is clickbait headlines getting the attention, people see it’s “Science” and blindly trust it and it becomes a religion like any other.

Being proudly ignorant of everything is bad. I will respect people who know they don’t know things though, you can’t know everything about everything. It’s why people generally specialize in a field in an industry.

  • Linux Mint is based on Ubuntu, stating “Linux Mint stands on the shoulder of giants, it is based on Debian and Ubuntu.” on their homepage
  • Pop!OS is owned by System76 which is a business
  • OpenSUSE is owned by SUSE which is a quite profitable business
  • Manjaro is owned by Manjaro GmbH & Co. KG to “… to effectively engage in commercial agreements, form partnerships, and offer professional services”.

You can dislike Canonical for whatever reasons, I would like to hear them. Saying “They are a business” is a bit disingenuous since all these distros have a business backing them and commerical interests in mind.

This wouldn’t be a surprise to anyone seeing the conditions pollinator honey bees are kept in. Most are distrubuted in cardboard boxes to fields to be used for pollination. Once they pollinate the fields they aren’t really of concern to the farmers anymore. In my opinion, this is like saying half of cattle die every year, but populations remain stable. It’s kind of by design, and in some cases the goal.

Yea, it’s a crypto gambling site so that would make sense.

Click bait titles stitching together memes and selling it as reality at it again.

Twitch is owned by Amazon. Kick is owned by Stake.com. Pick your poison.

I am not saying to tolerate it, quite the opposite. This should be put on full display as immoral and wrong, rather than buried under the rug.

Everyone has to learn something sometime, it’s the reason you have to teach kids not to drink the chemicals under the sink. It’s better for this stuff to be put on display as inappropriate, not buried to be found somewhere this might be encouraged.

To elaborate, we should seek to understand and reject their ideology. Not just blindly reject it. I am a moron but anyone susceptible to believing these people is in harms way. We should be trying to show them that it’s a lapse in judgement that this makes sense, rather than us vs them arguments. Rejecting ideology because we understand it and see it as immoral is logical. If I am seen as an idiot for this belief, so be it.

Yes, but their positions still need to be made. It’s like a cancer, would you rather know when it’s a little bump or consumes everything? If you can’t see what being said is horrible, you deserve what you get.

Regardless, that doesn’t change what they are saying and the positions they hold. Glad they share it so willingly.

Remember, try not to downvote in disagreement. It’s important to be aware what political figures are saying.

This does seem valid, based on cached searches on yahoo and bing. Sadly it doesn’t seem any archive site I use has a cache.

The benefit of not having half the screen devoted to trying to get you to download the app is a huge bonus.

To dump a simple postgresql database, you can do something like:

pg_dump postgresql://lemmy:mypassword@example.com/lemmy -f backup.sql

This should result in a file being made named backup.sql for your database.

As for upgrading, my small instance with a 1.5Gb database upgraded with no issues using the docker images on kubernetes.

The screenshot is a picture of visit duration, I would be interested to see the other statistics. Most Reddit users will return though once the sub-reddits open back up, which is why they are forcing it.

I’d say setting registrations to closed and having the operator enable/configure which to use is the best default. CAPTCHAs can also be automated, so this won’t stop anyone that is ambitious enough. If someone sees value in automating account registrations, they might be willing to pay for the CAPTCHAs to be solved for fraction of a US cent each.

Upgraded my instance, switched the docker images to 0.18.0-rc.6 and it started right up. Appears to have no issues for me thus far, so hopefully a full release will be right around the corner.

Good to know, but if that meets the legal requirements I cannot say. Really a lawyer that practices GDPR/CCPA would need to chime in if that is enough for either.

To address each of your points:

Maintainability and Scalability: This is a big concern, especially with users being drawn to large instances. In the beginning there will be pains, even the “flagship” lemmy.ml had issues maintaining this as this wasn’t their primary concern until recently. It is up to each instance owner to maintain their instance, and if it grows to large for them to handle to direct users to another instance. If an instance owner decides to abandon their instance, this will currently result in that instance being lost. I do think some protocol of preserving content (with the mechanisms for users to control the content) is needed but will need to be worked on in future versions. This could be done by users getting a key for example, and making requests via another instance to transfer their public user data over and they can control their content again from the new instance. This is just a thought though, and I am unsure how well this would work in practice. This will most likely become a topic of discussion among developers working on lemmy, so I have faith a good solution will be reached.

Monetization: The usual for this kind of stuff, donations using whatever service they prefer. I think some ads are ok, as long as they don’t siphon data and use advance techniques. Something such as as “sponsors” could work, it’s an ad but it’s not trying to steal your data. I think most instances would be abandoned if they implemented standard “google” ads.

Legal/Privacy - I am not a lawyer and this isn’t legal advice. Each of these laws have pretty clear details of implementations, and iirc they also only cover corporations and institutions. Users running instances themselves do not apply, but overall GDPR and CCPA compliance would be required as users won’t want the liability of running large instances. In my opinion, all that can be done is to have a delete request that propagates as any other content does. It’s up to the instance operator to fulfill the request.

I just upgraded, was fairly painless overall. Solid code coming from the devs, another good sign.

That would explain it, and I see they pushed docker images for 0.18.0-rc6. I might have to give it a spin on my instance, if they are running it must be pretty safe to use.

Edit: As for pending status, if I go click the orange “Subscription pending” button then re-subscribe it joins instantly.

Edit2: larger communities take some time still but you can actively see the posts coming in.

Edit3: The larger communities require a second unsubscribe/subscribe, but all my lemmy.ml communities are now synced! Great news.

The posts just started pouring into my instance as well. I think they might of, which is wonderful news.

I fear a lot of this is bot accounts.

The first quote is an great demonstration of using logical fallacies to sell a point, and I am glad the article breaks down the argument. Anyone using a loaded question such as:

Is the goal of the Fediverse to be anti-corporate/anti-commercial, or to be pro-openness?

Doesn’t fundamentally understand the fediverse. Almost every projects goal is supporting the decentralization of these technologies. To quote the website fediverse.to:

The fediverse is a collection of community-owned, ad-free, decentralised, and privacy-centric social networks.

Allowing a single entity with a larger and more dominate platform, more power in the legislatures of the world, and effectively infinite times more capital to come in destroys the decentralized nature. Meta also doesn’t stand for “community-owned”, “ad-free”, nor “privacy-centric”. Meta’s goal here is pretty obviously to centralize and control the networks as much as possible, and scrap the remaining data from other instances, using the ActivityPub protocol. Meta is a corporation who’s motives are to increase shareholder value. The fact these are community ran instances is like Walmart coming in to stomp out the local grocery.