![](https://lemmy.dudeami.win/pictrs/image/d81210bb-1088-48f7-9496-7df8ed9470c0.png)
![](https://programming.dev/pictrs/image/170721ad-9010-470f-a4a4-ead95f51f13b.png)
I like to code, garden and tinker
Citizens united, not the first step but the last step in the downfall of democracy in the United States. It’s what empowered Elon Musk to dump money into swaying the election, as his wealth according to the supreme court is “free speech”. Pathetic.
Yea this is just syntax, every language does it a little different, most popular languages seem to derive off of C in some capacity. Some do it more different than others, and some are unholy conglomerations of unrelated languages that somehow works. Instead of saying why is this different, just ask how does this work. It’s made my life a lot simpler.
var test int
is just int test
in another language.
func (u User) hi () { ... }
is just class User { void hi() { ... } }
in another language (you can guess which language I’m referencing I bet).
map := map[string]int {}
is just Map<String, Integer> map = new HashMap<>()
in another (yes it’s java).
Also RTFM, this is all explained, just different!
Edit: I also know this is a very reductive view of things and there are larger differences, I was mostly approaching this from a newer developers understanding of things and just “getting it to work”.
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.
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:
enable
and disable
functions are never called for this portion of codeenabled
variable, if so it never passes scopes between the handleClick
and animation
methodsawait
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 await
ed.Thermometers, like most measurement devices, are always accurate until you get two of them. Each device has a specific tolerance (or should, otherwise it’s probably a horrible tolerance), for a grill thermometer this will look like -/+5C/10F. Additionally, everything used to read a measurement needs to be calibrated regularly to ensure proper function, otherwise readings cannot be trusted. For a thermometer, the easily accessible way to calibrate are to use ice water (does it read 0C/32F) and boiling water (does it read 100C/212F). Using these constants will allow you to adjust your thermometer and get a (more) accurate reading.
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 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.
From what I can read here:
The DMA’s threshold is very high: companies will only be hit by the rules if they have an annual turnover of €7.5 billion within the EU or a worldwide market valuation of €75 billion. Gatekeepers must also have at least 45 million monthly individual end-users and 100,000 business users.
So instances will not be required to federate because they will not be making the thresholds. This could explain why Meta is going to use the ActivityPub protocol though, and is an interesting perspective on the issue.
Haven’t talked to many billionaires then, they love how the government helps them.
It all depends on the size of your instance, but surprisingly little. The most expensive part of running an instance at the moment seems to be users interacting/posting. I’ve had my single user instance running for 22 days, here’s what I have found.
Hardware: I was running it on an HP Chromebox G1 i7-4600U just fine, I did move it to a HP DL360 G7 but this is overkill.
Network: I have 100Mbit/s down and 24Mbit/s up, I can’t even tell when lemmy is federating on my bandwidth charts. It seems to use very minimal network data. Hosting content or users will increase the data requirements, you’d have to get data from larger instances for a perspective there.
Disk: I’m using 4.7G for the postgres and 6.2G for the pictrs after having the instance online for 22 days. This will all depend on how active the communities you subscribe to are. My pictrs is only thumbnails sent during federation, and I have read these purge after some time but haven’t verified these claims.
TLDR; if you have some old hardware around stick a decent sized HDD or SSD in it and you’ll be able to host your own instance for personal use. If you have more users or host images on your instance, the requirements will go up so avoid this if network/disk space is scarce.
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.
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.
Basically, data storage is cheap. Currently it can cost as low as $0.01/day for other instances to store the content that is being sent by the largest communities. Otherwise instances can clear out old data and let the larger instances be the archive hosts.