[-] arendjr@programming.dev 4 points 8 months ago* (last edited 8 months ago)

That’s entirely a choice. I am connected to a local vegetable farm run by two farmers who grow their produce organically. They run a little circular business as they’re also connected to an educational/kid-friendly animal farm, they sponsor a public fruit path through their own work, and then they partner with local shops as well.

Me and my son go there almost every week to pick fresh veggies, and we just pay directly to the farmers. But yeah, the payment is digital…

[-] arendjr@programming.dev 4 points 9 months ago

I’m not even sure such recognition is a good idea. Civic service is intended to benefit a (local) community, while open-source work has no such implication. Of course a lot of open-source work does have public benefit, but then maybe it’s better performed as public service, through government funding? I’m an open-source maintainer myself, but I don’t think we should be blind to how open-source can very much be used for commercial benefit.

[-] arendjr@programming.dev 4 points 9 months ago

If I’m not mistaken, their inflation and interest rates are already crazy high, nearing 20%. Yes, they can print even more money, but it won’t give them more resources from abroad, and they’re already nearing the point where they might spiral into hyperinflation.

[-] arendjr@programming.dev 4 points 1 year ago

It’s a gray area, legally. What you say is theoretically correct, but there’s practical issues once you’ve looked at the code that will open you up to legal liability anyway.


For instance, what if you need a utility function during your reimplementation for which there is really only one obvious implementation? You can no longer claim to have come up with it by yourself.


I doubt the FSF would sue over it, but companies are known to avoid the risk.

[-] arendjr@programming.dev 4 points 2 years ago

I agree the Linux kernel is just fine. But that’s only because despite the security risks of C, there’s no viable alternative kernel.

But development doesn’t stand still, so either Linux catches up, or gets replaced when a viable alternative arrives. Thankfully Linus sees the problem, so they’re working to make the kernel viable a while longer, but I also agree with the person you replied to that this work could definitely use a bit more help.

[-] arendjr@programming.dev 4 points 2 years ago

So I do consider myself to be a true full-stack developer, since I do have 5+ years of experience working on each of server-side, CLI, desktop applications, and mobile applications and 10+ years on the web frontend. Then again, I’m 40 and I feel too old to get offended over that shit. I also agree the term “full-stack” is diluted as hell, so I don’t even call myself that anymore.

Now get off my lawn :p

[-] arendjr@programming.dev 4 points 2 years ago

I don’t know about your workplace, but if at all possible I would try to find time between tasks to spend on learning. If your company doesn’t have a policy where it is clear that employees have the freedom to learn during company time, try to underestimate your own velocity even more and use the time it leaves for learning.

About 10 years ago I worked for a company where I was performing quite well. Since that meant I finished my tasks early, I could have taken on even more tasks. But I didn’t really tell our scrum master when I finished early. Instead I spent the time learning, and also refactoring code to help me become more productive. This added up, and my efficiency only increased more, until at some point I only needed one or two days to complete a week’s sprint. I didn’t waste my time, but I used it to pick up more architectural stuff on the side, while always learning on the job.

I’ll admit that when I started this route, I already had a bunch of experience under my belt, and this may not be feasible if you have managers breathing down your neck all the time. But the point is, if you play it smart you can use company time to improve yourself and they may even appreciate you for it.

[-] arendjr@programming.dev 4 points 2 years ago

I thought we were talking about gamers and Linux users? :p

[-] arendjr@programming.dev 4 points 2 years ago* (last edited 2 years ago)

Yeah, that's helpful if I would be currently optimizing a hot loop now. But I was really just using it as an example. Also, retain_mut() doesn't compose as well.

I'd much rather write:

let vec_a: Vec<String> = /* ... */;
let vec_b: Vec<String> = vec_a
    .into_iter()
    .filter(some_filter)
    .map(some_map_fn)
    .collect();

Over:

let mut vec_a: Vec<String> = /* ... */;
vec_a.retain_mut(|x| if some_filter(x) {
    *x = some_map_fn(*x); // Yikes, cannot move out of reference.
    true
} else {
    false
});

And it would be nice if that would be optimized the same. After all, the point of Rust's iterators is to provide zero-cost abstractions. In my opinion, functions like retain_mut() represent a leakiness to that abstraction, because the alternative turns out to not be zero cost.

[-] arendjr@programming.dev 4 points 2 years ago

MSFT is known for changing names a lot, but not for killing technologies.

Silverlight would like a word ;)

[-] arendjr@programming.dev 4 points 2 years ago

I can’t blame you 😅 Still, I think Bevy is quite promising and I expect they’ll get better over time. Hopefully I can provide a tiny piece to that puzzle.

[-] arendjr@programming.dev 4 points 2 years ago

Even references aren’t safe in C++ though, since there’s no borrow checker. Unless you copy everything or use reference counting types everywhere, you’ll still hit plenty of memory-violating footguns. But at that point, why use C++ at all?

view more: ‹ prev next ›

arendjr

0 post score
0 comment score
joined 2 years ago