Hacker Newsnew | past | comments | ask | show | jobs | submit | WD-42's commentslogin

I don’t know. I just started distributing a gtk app and I’ve already gotten two issue reports from people using it on mobile experiencing usability problems. Not something I thought I’d have to worry about when I started but I guess they are out there.

Did it fail? The servo project seems alive and well, just not under Mozilla. They decided CEO pay packages were more important.

> Did it fail

13 years to get to v0.0.1 is a success? Look at how much progress Ladybird has made in a fraction of that time. Remember that these people are constantly starting rewrites of C and C++ projects (when they're not demanding others do it) in Rust "for safety" (and "oops it's MIT now"), even of ancient Unix utilities with minimal attack surfaces like the "date" command, yet when it comes to a browser rendering engine, which entails computationally-intensive, aggressively-optimized rendering of untrusted input--a massive attack surface, and the very thing for which Rust was supposedly designed--they somehow can't get the right combination of enough Rust zealots (and Adderall) to get past the finish line.


> 13 years to get to v0.0.1 is a success?

Wine took a roughly same amount of time to be versioned as well, but no one calls Wine a failure.


i'd say that wine has much less dev effort and the specs they re up against aren't as public as the web ones, so huge kudos to the wine team.

Success isn't a binary thing. It's true that Servo has long struggled to make progress, and that can be seen as a failure. It's recent progress can also be seen as a success.

Your life might improve if you stop believing that Rust devs belong to a cult of your own imagination.


Measuring success of a project against a bar that the project didn't set is like complaining that an F1 car is hard to park: that's not what it was meant to do.

Servo was meant to be a test-bed for new architectures that might or might not be usable by Firefox. It was never meant to become Firefox' new web renderer, and it wasn't until more recently and long after the Mozilla-pocalypse that a new team took over the project with a goal of productionalizing the project as a whole. Stylo, for example, was integrated into Firefox 57 and allowed for parallel CSS style calculation, an effort that was tried unsuccessfully multiple times in C++.


Ironically this sounds like a piece of satire Neal would make.

Makes sense as sqlalchemy’s docs are also 5x as confusing.

Partialdef inline is the real win. Lets you define parts of a page without needing to place them in another file. Reduces the mental overhead of imagining how the inclusion will look because it’s already there.

The use case is mainly driven by htmx where you will have lots of these partials and the view code renders them as individual responses.


We've banned exceptions! If any occur, we just don't catch them.

GTK does not support multiple inheritance afaik.

It doesn't but it definitely "implements" a single inheritance tree (with up casting/down casting) which I believe Xt toolkits (like Motif) also did.

The video goes into the history of why the military eventually accepted c++ instead of enforcing Ada.

LLM ad blockers should be a fun challenge.

They will eliminate their web client if that occurs and make the desktop app the only option. Mobile is already taken care of in that regard.

0 allocations after the program initializes.

RAII doesn't imply allocating.

My guess is that you're assuming all user defined types, and maybe even all non-trivial built-in types too, are boxed, meaning they're allocated on the heap when we create them.

That's not the case in C++ (the language in question here) and it's rarely the case in other modern languages because it has terrible performance qualities.


Open a file in the constructor, close it in the destructor. RAII with 0 allocations.

std::vector<int> allocated and freed on the stack will allocate an array for its int’s on the heap…

I've heard that MSVC does (did?) that, but if so that's an MSVC problem. gcc and clang don't do that.

https://godbolt.org/z/nasoWeq5M


WDYM? Vector is an abstraction over dynamically sized arrays so sure it does use heap to store its elements.

I think usefulcat interpreted "std::vector<int> allocated and freed on the stack" as creating a default std::vector<int> and then destroying it without pushing elements to it. That's what their godbolt link shows, at least, though to be fair MSVC seems to match the described GCC/Clang behavior these days.

Sure, but my point was that RAII doesn't need to involve the heap. Another example would be acquiring abd releasing a mutex.

RAII doesn't necessarily require allocation?

Stack "allocations" are basically free.

No. And they're unsafe. Avoid them at all costs.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: