I made a mistake in my dates and so I have a few chapters to edit and upload and I have work tomorrow morning. Gonna be rough.
So, to make myself feel better, what are you time crunching this week?
Just existing as a first time parent. I have a huge amount of respect for anyone that has two or more children, because one is already stretching me to my limits. To get anything accomplished requires stealing time from something else. So over time, everything is in a state of being half-assed, overdue, or forgotten.
My master thesis, due on monday, and I’m having major concentration problems 😫
I have a photography project due tomorrow. I have to make test print, a full print and negative press. The problem is I always want to go after dark so it’s colder, but by then I’m too tired.
Oof good luck with that! I made a similar mistake, I thought I had time one morning to play around with my music space and, well, that ended up being almost the exact amount of time I was late by…
Don’t take that as a foreboding warning though, you got this!!
I have some open research to do on MLOps tools for our team. Its one of those tasks thats broad enough that Im not sure how much time I should be doing introspective work vs. try it out vs. settle on a couple to be the ones we go with…so I feel behind, because maybe I should have picked our final architecture yesterday? Im still researching!
Nothing at all. I’m on vacation 🏖️
That’s awesome! I can’t wait to be on vacation. I have one booked, I just have to let them know when we have time to go. We’re hoping for March or something idk lol
March is so far away still D:
I’m learning the Rust programing language. Gonna write a fediverse backend with it.
That actually sounds really sick. I’ve been learning C myself. (Yes, I know it’s a little outdated).
I’ve considered C. I do have over a decade of experience with C++. But quite frankly I just need to be productive, so I work in C# these days. The issue is just that C# takes away a lot of control that I need for this project. Especially because I want it to be resource efficient so that it’s sustainable and doesn’t hog people’s private server resources.
Personally I’m just a hobbiest, I’m not really fluent in anything. I want to hack together a (extremely simple) OS. I’d imagine C++ is close to the effiency of Rust, no?
C++ is a superset of c, and isn’t inherently slower. It just has a ton of bells and whistles that were trendy in the 90s such as OOP abstractions.
You could say that a c++ amateur programmer will tend to write more resource intensive code than an amateur c programmer due to wanting to use the abstractions.
Take for instance a level with 10k animals in it such as ducks and dogs. Ducks and dogs have their own Update implementation. A world Update function has to update all the animals.
In c++ you will naturally be inclined to use polymorphism by creating an animal class and letting the duck and the dog classes inherit from it. You have a single list with 10k animals. The duck and dog classes override the animal’s Update method with their own implementation. The world Update function uses a loop to call the Update method on all 10k animals.
What you might not realize is that under the hood the computer has to do a lookup in a function table for each animal. Both the duck and the dog classes have their own virtual tables that the CPU has to go through to find the actual implementation of their respective Update function.
Now in C, you’d be inclined to simply create two separate sets, one for dogs and one for ducks. You’d loop over each one individually.
There are no lookups for the CPU to do here. It just applies the same Update function to a large set of structured dog or duck data.
Now, the performance impact won’t matter in most cases. You could even write it in python and it’ll be way slower but at least your code will be readable. But now imagine 10mln or 10bln animals. It’s going to make a difference.
Rust on the other hand is in the same class of performance as C.
Hence, as you want to write a back-end that’s scalable and readable, you’ve chosen rust over C++.
Such an in-depth response!
What’s your opinion of Dave Plummer’s speed test? I was surprized that assembly wasn’t the fastest of his tests. It really says how amazing compiling has become.
This is the Github project: https://github.com/PlummersSoftwareLLC/Primes
This is the video playlist he made based on that project: https://piped.video/playlist?list=PLF2KJ6Gy3cZ5Er-1eF9fN1Hgw_xkoD9V1
That’s pretty cool. Feel sorry for the guy since he mentioned his history with DOS (Dirty Operating System).
What makes you interested in performance rn?
Also, I’d never have considered c++ for my project, but rather c. I find OOP abstractions to waste my mental space to no benefit.
And sure, I’d say rust is more readable than c. The author was clearly thoughtful across the board. It’s simply more modern in its thinking.
Regarding scalability I’d say that rust makes concurrency simpler than c. Back in the day computers were single core and making huge strides there. It wasn’t until the 2000s that we hit a ceiling and had to go wide with multiple cores and smart with prediction and larger caches and so on.
Feel free to ask anything.
I don’t have any good reason to be interested in performance. That being said, I tend to view inefficient languages- Python and Javascript especially- as “less good.” Granted, python’s ability to be built on top of C libraries is a huge saving grace. Javascript should be replaced by WebASM in IMO. Like you said, the inefficiencies add up as the scale gets larger.
As a disclaimer, I could be swayed to like Javascript. I haven’t been challanged on my view yet.
I’d like to go into embedded programming which is why I’m interested in C and OS dev. Most of the tooling we have (as an internet) is still built for C. I know they’re starting to write parts of the Linux kernel in Rust. How is Rust for that kind of development?
At work we have a contractual design deliverable that was due yesterday, I still can’t get anybody to tell me what I’m supposed to be designing/building. I’ve got the contract, but its so vague that it’s more unhelpful than it is helpful and there’s apparently been 9 months of conversations with the customer, none of which have included engineering, nor has anything from them been written down. So we’re designing something just based on rumors.
So we’re in crunch mode, but also we don’t know what we’re trying to accomplish… 😩
That sucks.
Talks without any documentation is as if it didn’t happen.
Yep, I’m genuinely unsure if the conversations actually happened or not. I’ve gotten different answers to that from different people.
Nothing.
I participated in a game jam, which ended wednesday. We submitted tuesday evening, in a satisfying state. It’s a prototype, it doesn’t have to be perfect, or complete, or thorough.
We die invest time, but I don’t consider it crunch.
Work has some high priorities but nothing immediate pressuring.
And private, no commitments or short term must either.
That’s great! I’m finally at this point after a stressful few days, I was up til 2:45am (pretty normal for me) getting the final upload sent off and had to get up for work for my first day of on the floor training at my new job… Well, I guess that last part was obvious.
Point is, I’m exhausted! Haha! But work today was actually easy enough, I’m officially someone who can serve food (but that’s not my job). My last 96 hours have honestly been almost entirely compromised of work and I’m very glad to have this 3 day weekend