• 5 Posts
Joined 6M ago
Cake day: Jun 14, 2023


To avoid running code that might steal your data for profit, only run official code that will still your data for profit.

Y’all underestimating the low casting cost of saying “happy holidays”.

Boss says “make logical decisions”. Insights like this are why they pay him the big bucks. Not just anybody can come up with such insights. (/s)

I can see some advantages of that.

I’m American though, so YYYY-DD-MM is the best I can do.

Trivia question: Which politician has proposed “suspending the constitution” in recent years?

Hint: It’s the same politician that said "take the guns first, go through due process second.”

Another hint: Trump said both those things.

“Be not afraid!”

Industry will leak PII without consequence every week.

I’d like to sleep from about 2 to 10-2 every night. Society doesn’t like this though.

I bet you’ve been doing it less than 5 years? Give it time, you’ll see past the fulfilling part eventually.

I want to make a short film / animation where aliens are approaching earth, the only thing we know about the aliens is that they plan to destroy all life and replace it with their own twisted creation. A few minutes of typical story follows, heroes assemble, go to fight, etc. The heroes lose and the ending scene shows that the aliens have succeeded and replaced all the diverse life on Earth with a perfectly manicured lawn that covers the entire planet. A biological wasteland.

True democracy would be filling at least one branch of government with randomly selected citizens. Career politicians are psychopaths and don’t represent us.

It’s not just good enough, it’s probably more air tight than the other methods because the twist is longer. Also, most plastic is air permeable.

This is actually a legit excuse. If someone is working more than one job to afford rent, are we just going to tell them to walk an hour back and forth to the grocery store every day for food?

If the solution is for people to do things that require more time, the first step is to make sure people have more time.

History will be relatively kind to Romney. Whoever replaces Romney will be worse, and might even make Mike Lee look reasonable. God help us.

Teetering on the edge is where you have a chance to win.

When things are going easy and you stick to your goals, good job, but will it stick?

When thins are hard and you stick to your goals, that’s like a Matrix “he is beginning to believe” moment. You show yourself that hard times aren’t enough to distract your from your goals.

Best wishes, keep trying, if you fail and try again, that’s another important moment.

There are (roughly) two types of projects:

  1. Projects that have coding standards that are documented. If you want to contribute to one of these projects then read the coding documentation and follow it. People will help you write code that fits the standards.

  2. Projects that don’t have coding standards. When you look at such a project you’ll see endless layers of shitty hacks that mostly work, sometimes. Add your own shitty hack to the pile and as long as everything still mostly works, you’re good.

GPT4 did teach me. I say this as the one who learned, whatever that’s worth.

The “trees” for an LLM are their neural networks and word vectors. The forest is a word prediction algorithm. There is no higher level to what they do.

At what level do LLMs teach? Something was teaching me linear algebra and I thought it was the GPT4. When GPT4 was able to recognize a valid mathematical proof that was previously unknown to it, what level was it operating at?

As a programmer I can confirm that LLMs definitely have loops. Look at the code, look at the algorithms, you will see the loops. The “core loop” in the LLM algorithm is “read the context, produce the next work, read the context, produce the next word”.

The core loop in animals is “receive stimulus using senses, move muscles, receive stimulus using senses, move muscles”. That’s all humans do, that’s all animals do.

I think there’s a possibility that humans are simply very advance machines. Look at the debate over whether humans have free will, it’s an interesting question and the important take away is that we still have a lot to learn about our brains and physics. I don’t want to get into that though.

You’ve ignored my main complaint. I said that you treat LLMs and humans at different levels of abstraction:

It’s not fair to say that LLMs simply predict the next word and humans have feelings and reason.

It would be fair though, to say that LLMs simply predict the next word and humans simply bounce electric-chemical signals between neurons and move muscles.

I don’t think that way about people or LLMs though. I think people have feeling and reason, and I think LLMs reason too. LLMs aren’t as capable as people are, but LLMs are capable enough to say that they can “reason” in my experience[0].

[0]: I formed this opinion when learning linear algebra from GPT4. It was quite a good teacher (at one point GPT4 even pointed out a mistake in the textbook I’m using). I encountered a proof that GPT4 wasn’t aware of, and GPT4 wouldn’t agree with me that C(A) = C(AA^T) until I explained the proof, and then GPT4 could finally reason for itself and see for itself that C(A) = C(AA^T). As an experiment, I started a new GPT4 session and repeated the experiment using a faulty proof, but I wasn’t able to convince GPT4 with a faulty proof, it was able to reason through the math concepts well enough to recognize when a mathematical proof was faulty and could not be convinced by a faulty proof. I tried this experiment 4 or 5 times. To be clear, what happened here is that GPT4 was able to learn a new math concept in one shot (within a single context window), but only if accompanied by a proper mathematical proof, and was smart enough to recognize faulty proofs as being faulty. To me, that rises to the level of “reason”.

You apply a reductionist view to LLMs that you do not apply to humans.

LLMs receive words and produce the next word. Humans receive stimulus from their senses and produce muscle movements.

LLMs are in their infancy, but I’m not convinced their “core loop”, so to speak, is any more basic than our own.

In the world of text: text in -> word out

In the physical word: sense stimulation in -> muscle movement out

There’s nothing more to it than that, right?

Well, actually there is more to it than that, we have to look at these things on a higher level. If we believe that humans are more than sense stimulation and muscle movements, then we should also be willing to believe that LLMs are more than just a loop producing one word at a time. We need to assess both at the same level of abstraction.

Somehow the law ignores the giant flashing “Buy!” button but is super concerned about the fine print in 6pt font nobody reads.

First they would need to outright ban practices where you rent your license for an unspecified time instead of owning it.


People were able to rent games in the past. What happened then that was so bad?

I agree. 100 lines of code may be 3x better than 300 lines of code, but 1 line of code isn’t 3x better than 3 lines of code.

Yes. I learned this from Haskell. I like Haskell, but it has a lot of very granular functions.

Earlier comment said that breaking up 1 function into 3 improves readability? Well, if you really want readability then break it up into 30 functions using Haskell. Your single function with 25 lines will become 30 functions, so readable (/s).

In truth, there’s a balance between the two. Breaking things up into function does have advantages, but, as you say, it makes it more likely that you’ll have to jump around a lot to understand a single process.

Shorter code is almost always better.

Should you use a class? Should you use a Factory pattern or some other pattern? Should you reorganize your code? Whichever results in the least code is probably best.

A nice thing about code length is it’s objective. We can argue all day about which design pattern makes more sense, but we can agree on which of two implementations is shorter.

It takes a damn good abstraction to beat having shorter code.

This reminds me of around 2000, when I had a Daewoo television, and then my mind was blown one day when I saw a Daewoo car. Who makes televisions and cars? Daewoo apparently.

If this is true, it seems like a condolence of what YouTube is doing here. If hosting all those videos costs more than they receive, eventually YouTube will end.

I always imagined that YouTube was quite profitable?

And what are the consequences of “strikes”? Will you delete my Google account, including my email, and also screw up my Android phone and my kids Chromebook?

It’s scary to realize that Google has me by the balls here. They can screw me in so many ways, and screw my family members as well. I’d rather have my bank credentials stolen than my email credentials, at least I can get real customer service from the bank, I can even go to a physical location and speak face-to-face with someone who can help me. Google wont give me customer support, and my email account is the closest thing to an identity I have for most businesses I interact with.

It takes a lot of work to avoid Google. Yes, there are alternatives, but in D&D terms, avoiding Google is like a -2 to all stats for your entire life, and not something we can expect the general population to do.

All this shows the need for anti-trust enforcement. The same company is controlling too much. Bust 'em up!

Telling people they need to quit Reddit is not realistic. People are more likely to respond if we give them easy and realistic advice.

The most realistic course for most people is to join a few alternative communities that match your values. Join a Lemmy instance, join a Mastodon instance, etc.

  1. Sign up for a new community; a Lemmy instance for example.
  2. Take a few minutes to sign into the new community on all your device, you want it to be as easy as possible to start using the new community.
  3. Prefer to use the new community whenever possible. When you’re bored and going through the usual websites (you know what they are), visit the new community first, move Reddit to the bottom of the list. Avoid using Reddit, but don’t stress too much if you end up there occasionally, just give preference to everything else.

This advice is not too intimidating, anyone can act on it, and even if only a few people act on it, it’s still effective for those few people. This plan has everything it needs to be effective and spread.

Traditional RTS games require a lot of work to have one cool fight, then usually the game is over. There’s so much pressure on that one fight that it’s stressful and no fun for a lot of players.

Mechabellum and similar games seems to skip all the hard work and focus on the one cool fight, and they repeat the one cool fight over and over.

There may be some other fun RTS elements that can be reintroduced, like the ability to control units during combat, or some base building.

My reply to that comment would be stored on the programming.dev instance though, right? (I’ve been meaning to look into how this all works and the ActivityPub protocol.)

Possible bug: I can’t reply to a specific comment?
I cannot reply to the following comment. I have tried a dozen times over the last couple hours. Anyone else able to? https://programming.dev/comment/185004

If someone says “I’m never using Reddit again”, they’re probably just being dramatic and I don’t think I believe them.

But if someone says, “I’ve signed up for a Lemmy instance and have set it up on all my devices and created convenient shortcuts and have found some interesting communities to read”, that person has performed a greater act of defiance against Reddit than the first.

Personally, I haven’t quit Reddit, but I’ve made sure to put a few other communities ahead of it in line. Many times I will reach my fill of social media before I ever get Reddit.

Everything is easy when you don’t care about performance.

Have you ever used py-spy? It’s an excellent profiler for Python code (written in Rust 😉). It can attach to a running process and tell you what line is taking the most time. Seems pretty easy to me. (Which is not to say Python can achieve optimal C speed.)

I don’t think there’s such an easy profiling tool for C or Rust? But I’d be happy to be proven wrong here.

Go solve 20 or 30 Project Euler problems. All of them are solvable in less than a second using Python (or any language). Write your solutions in C or Rust and you will soon see that a naive or brute-force solution in Rust will literally never finish (the heat death of the universe will come first), but a clever and efficient solution in Python takes less than a second.

This is why I say algorithms matter more than language. There’s like 2 or 3 orders of magnitude to be had by choosing the fastest language (which is to say, Rust might be 1000 times faster than Python in some cases), but there’s like 10 or 20 orders of magnitude to be saved using the right algorithms sometimes.

I see what you mean. I said “a lot of praise”, but maybe that is too strong. Show respect, but keep the praise honest.

Too many people go for the “brutally honest” approach, never even considering the “honest but respectful” approach.

Expressing concerns to skip level + a little shade towards boss = backstabber

Expressing concerns to skip level + a lot of praise and respect for boss = excellent employee seeking to solve problems

I like the book “Crucial Conversations”, in a sentence it teaches how to be 100% honest, and 100% respectful. How can you be both honest and respectful with either your boss or your skip level boss? Don’t leave out the show of respect.

Rust is not to blame, but that code that has been written in Rust might be to blame.

The algorithms used have more effect than the language used, and Rust might make using certain algorithms more painful and thus steer programmers towards less efficient algorithms. Using clone is often an example of this, it’s a little easier and gets around some borrow checker difficulties. (This is true in general, but I don’t know if this is what has happened with Lemmy.)

Look at salvo [diesel] coming it at #200+ on this benchmark1, lots of programming languages have at least one framework that is faster on the microbenchmark. This isn’t especially meaningful, but it does show that, let’s say, a feature rich framework in Rust might end up being slower than a Python framework that’s laser focused on the specific use case.

Well said. Thanks for sharing your experience and those insightful links.

Which is fine. If they wanted to learn Rust and wrote inefficient code, good for them. I appreciate their efforts. Rust can certainly be beaten into shape and perform well enough in the end.

The lemmy.ml post that asks people to go elsewhere is still stickied and the first thing it mentions is that they have upgraded the server. So that does suggest that compute scaling is an issue.

Does Lemmy really benefit from Rust? Is code execution speed the bottleneck?
My first experience with Lemmy was thinking that the UI was beautiful, and lemmy.ml (the first instance I looked at) was asking people *not* to join because they already had 1500 users and were struggling to scale. 1500 users just doesn't seem like much, it seems like the type of load you could handle with a Raspberry Pi in a dusty corner. Are the Lemmy servers struggling to scale because of the federation process / protocols? Maybe I underestimate how much compute goes into hosting user generated content? Users generate very little text, but uploading pictures takes more space. Users are generating *millions* of bytes of content and it's overloading computers that can handle *billions* of bytes with ease, what happened? Am I missing something here? Or maybe the code is just inefficient? Which brings me to the title's question: Does Lemmy benefit from using Rust? None of the problems I can imagine are related to code execution speed. If the federation process and protocols are inefficient, then everything is being built on sand. Popular protocols are hard to change. How often does the HTTP protocol change? Never. The language used for the code doesn't matter in this case. If the code is just inefficient, well, inefficient Rust is probably slower than efficient Python or JavaScript. Could the complexity of Rust have pushed the devs towards a simpler but less efficient solution that ends up being slower than garbage collected languages? I'm sure this has happened before, but I don't know anything about the Lemmy code. Or, again, maybe I'm just underestimating the amount of compute required to support 1500 users sharing a little bit of text and a few images?