13
455
BB_C

@programming.dev

BB_C 4 points 5 days ago

The project description reminded me of a project I saw years ago. I looked it up, and I'm pretty sure it was oxen, which is surprisingly still going, although their hub looks half-dead.

path: 0 24312370, hotness: undefined, score: 4, children: 0
BB_C 5 points 6 days ago

People usually like at least some minimal context attached, in case they are not familiar with the topic at hand.

But as it happens, the title of this specific post is rather self-documenting. So I'm not sure what's "non-descriptive" about it.

Or perhaps we have automated complaining now, pushing against automated low quality (re-)posting. And we got caught in the middle as remnants of the genuine human interaction that used to take place online 🙂.

path: 0 24286793 24287994 24290780 24295705 24297070, hotness: undefined, score: 5, children: 3
BB_C 2 points 6 days ago

zlib-rs => crate replacing non-rust zlib
firefox => where the replacement is happening
trifecta => the foundation sponsored to develop the replacements

Maybe I'm influenced by the fact that I pre-knew all of the above. But as I wrote, it's quite ironic choosing this perfect title in particular to complain about 😉.

On the topic of low(ish) level dependencies getting incrementally replaced with Rust rewrites, a Google employee did a presentation on the same topic recently.

path: 0 24286793 24287994 24290780 24295705 24297070 24298278 24301854, hotness: undefined, score: 2, children: 1
BB_C 1 point 6 days ago

All community projects are open contribution. Most non-community ones too. You know, almost the whole point of open-source!

But that's not the same as "user repo", which is a wild west concept on purpose.

path: 0 24279019 24282199 24285602 24302243 24303583 24304241, hotness: undefined, score: 1, children: 0
BB_C 0 points 5 days ago

It's officially centrally hosting the non-pre-moderated non-official user contributed build-scripts, where "user" means literally anyone.

I'm not sure what argument you're trying to "win", and to what end. Or why do you think anyone would care about the manufactured confusion you're trying to concoct.

path: 0 24279019 24282199 24285602 24302243 24303583 24304409 24307964 24310241, hotness: undefined, score: 0, children: 0
BB_C 49 points 2 years ago

Examples ARE usage documentation.

What value is this blog supposed to be adding exactly?
The fact that top-level and API descriptive explanations are important?
The fact that some projects don't have complete documentation?
To whom exactly would this be considered new information?

path: 0 9839665, hotness: undefined, score: 49, children: 1
BB_C 36 points 2 years ago

A reminder that the Servo project has resumed active development since the start of 2023, and is making good progress every month.

If you're looking for a serious in-progress effort to create a new open, safe, performant, independent, and fully-featured web engine, that's the one you should be keeping an eye on.

It won't be easy trying to catch up to continuously evolving and changing web standards, but that's the only effort with a chance.

path: 0 10935817, hotness: undefined, score: 36, children: 4
BB_C 30 points 5 months ago

Not sure if you're talking about the language, or the core/alloc/std libraries, or both/something in-between?

Can you provide specific examples, an which specific languages are you comparing against?

path: 0 21647966, hotness: undefined, score: 30, children: 0
BB_C 28 points 3 years ago

What’s interesting is that this problem is largely solved for C and C++: Linux distributions like Debian

[closes tab]

path: 0 5314812, hotness: undefined, score: 28, children: 0
BB_C 27 points 2 years ago

What serious Linux users buy GPUs based on raw gaming performance on release week?

I personally buy based on open-source driver support. And this includes long-term active support, AND developer approachability.

My current GPU is an AMD/Radeon one because of that. But I'm reconsidering my position when my next hardware upgrade comes.

I reported an AMD GPU driver issue to mesa once. It was tested, confirmed, and patched by a competent AMD developer within a few days. Now you have easily reproducible issues like this not even going past the testing phase after many months. And there are similar issues across all model generations.

If I were to upgrade my workstation next year, I would probably go with an AMD CPU and an Intel GPU, which is the exact opposite of my current setup 🙃. One should never rely on outdated perceptions.

path: 0 14073797, hotness: undefined, score: 27, children: 0
BB_C 26 points 2 years ago

You should be thankful it's not 18446744073709551615 days to go.

path: 0 11150088, hotness: undefined, score: 26, children: 1
BB_C 24 points 6 months ago path: 0 21313523, hotness: undefined, score: 24, children: 0
BB_C 23 points 2 years ago

Hate to break it to you, but you're not really learning.

path: 0 11286995, hotness: undefined, score: 23, children: 6
BB_C 22 points 2 years ago

Yesterday I was browsing /r/programming

:tabclose

path: 0 11316043, hotness: undefined, score: 22, children: 0
BB_C 22 points 3 years ago

fn foo(&big, &chungus)

is out,

async fn foo(&BIG_GLOBAL_STATIC_REF_OR_SIMILAR_HORROR, sendable_chungus.clone())

is in.

Or maybe you know

fn foo(&big, &chungus)

is out

async fn foo(big, chungus) -> (big, chungus)

is in

Or

async fn foo(big, chungus) {
  // ...
  tx.send((big, chungus)).await?;
  // ...
}

is in

Moving (movable/sendable) data is not limited by number or direction, you know. And that second one even makes use of them great Hoare channels! And gives us control on how long we hold on to data before sending it back (modified or not). But I digress. Let's go back to the important talking point that Hoare was right!

path: 0 3253003, hotness: undefined, score: 22, children: 2
BB_C 21 points 3 years ago

Is everyone genuinely liking this!

This is, IMHO, not a good style.

Isn't something like this much clearer?

// Add `as_cstr()` to `NixPath` trait first

let some_or_null_cstr = |v| v.map(NixPath::as_cstr)
  .unwrap_or(Ok(std::ptr::null()));

// `Option::or_null_cstr()` for `OptionᐸTᐳ`
// where `T:  NixPath` would make this even better
let source_cstr = some_or_null_cstr(&source)?;
let target_cstr = target.as_cstr()?;
let fs_type_cstr = some_or_null_cstr(&fs_type)?;
let data_cstr = some_or_null_cstr(&data)?;
let res = unsafe { .. };

Edit: using alternative chars to circumvent broken Lemmy sanitization.

path: 0 3839905, hotness: undefined, score: 21, children: 3
BB_C 20 points 2 years ago

As a user of both libcurl (haven't followed it's development for years though) and hyper, I'd say either commit to making hyper the default at some point and make that a priority, or drop it altogether. And since there is no intention/plan to do the former, then latter does indeed follow logically.

path: 0 9434004, hotness: undefined, score: 20, children: 0
BB_C 20 points 2 years ago

While pure Python code should work unchanged, code written in other languages or using the CPython C API may not. The GIL was implicitly protecting a lot of thread-unsafe C, C++, Cython, Fortran, etc. code - and now it no longer does. Which may lead to all sorts of fun outcomes (crashes, intermittent incorrect behavior, etc.).

:tabclose

path: 0 11146185, hotness: undefined, score: 20, children: 1
BB_C 20 points 2 years ago

Neither.

  • make new() give you a fully valid and usable struct value.
  • or use a builder (you can call it something else like Partial/Incomplete/whatever) struct so you can't accidentally do anything without a fully initialized value.

Maybe you should also use substructs that hold some of the info.

path: 0 12516025, hotness: undefined, score: 20, children: 1
BB_C 19 points 3 years ago

Languages: Just Rust!

You got my attention.

fn app(cx: Scope) -> Element {
    let mut count = use_state(cx, || 0);

    render!(
        rect {
            height: "20%",
            width: "100%",
            background: "rgb(233, 196, 106)",
            padding: "12",
            color: "rgb(20, 33, 61)",
            label { 
                font_size: "20", 
                "Number is: {count}"
            }
        }
        rect {
            height: "80%",
            width: "100%",
            background: "rgb(168, 218, 220)",
            color: "black",
            padding: "12",
            onclick: move |_| count += 1,
            label { "Click to increase!" }
        }
    )
}

Oh, it's stringly-typed Rust.
Yeah, no thanks.

path: 0 3066237, hotness: undefined, score: 19, children: 2

thanks for using Leebra!

go to feed...