Hacker Newsnew | past | comments | ask | show | jobs | submit | skavi's commentslogin

Dunno about Skip, but I can always tell when an app is Flutter. They feel like crap. Everything's a bit off with the native looking widgets. And fully custom designs still animate a bit weirdly. And they definitely still stutter. Somehow a tier below React Native.

Flutter re-generates the entire layout every tick and diffs it (immediate-mode), like a game engine. If your device isn't quite fast enough it'll lag, yep. RN is retained mode (but written in immediate-mode style and the diffing only happens when it has to).

That is absolutely not true. Elements with dirty layouts are tracked and layout is only recomputed up to the neearest layout boundary.

I'd say it's the opposite, on crappy devices, Flutter feels faster than native, not sure how but that's the end result. I've been testing on an old Samsung J3 and it's definitely better than native.

That's also maybe why it's so popular in India.


Flutter is essentially a game engine so it bypasses the typical cycles involved with native widgets and there are several different ways why Flutter works well on lower end phones

Interesting, I didn’t know that it was immediate mode. According to the article [1] though, it now uses rendering engine with Retained Mode due to performance issues.

[1] https://medium.com/@0s.and.1s/flutter-part-iv-skia-vs-impell...


ah neat, so they rewrote the rendering engine in C++ and exposed it via Dart APIs, as opposed to everything being in Dart.

It has been like that since the very beginning (sky engine).

I've noticed several of the apps that don't respect device animation settings were built with Flutter. Not sure if that's a limitation of it or if the developers culturally don't bother.

I’m not sure if the GUI in that image is real or a placeholder, but I really like what I see.

Reminds me a lot of the skeuomorphism from classic iOS and WebOS, but cleaned up with elements of modern “flat” designs.


Perhaps I am a very small minority, but.. I really miss skeuomorphism.


From what I’ve read it will be real and is supposed to evoke the early VW Polos. I believe you will be able to switch between that and a more „modern“ look


The (digital) gauges are interesting too, like a throwback to VWs of yore.


I thought so too, they reminded me of the speedometer and analog clock (lol) in the '81 Rabbit I had in high school.


This is not a production system yet. Also, as someone who suffered VW/Cariad developed UI since 2021, it's going to suck balls.


I suffered similarly but I think the latest software (>5.0) solved most of the issues and I don’t notice the software anymore at all (which I take as a positive - I.e., it just gets out of the way)


I'm not sure we're even on same versions. They appear to push different branches on different platform revisions.

Mine still cold boots/watchdogs every time you start the car in what I suspect a Patriot-style fix of numerous issues. It still has confirmation dialogs over confirmation dialogs (e.g. when selecting CarPlay you get to confirm your choice three times). Voice input is still unusable: the only thing it reliably recognizes is when I tell it to fuck off (and it scolds me for that). Door locks/keyless became more unreliable, which I frankly doubted was even possible. Everything is lagging, especially after cold boot: getting to entering nav destination after you sit in the car takes an eternity.


It feels pretty clear to me that these Contracts should only be used for the “very certain” case. Writing code for a specific compiler flag seems very sketchy, so the programmer should assume the harshest interpretation.

The runtime check thing just sounds like a debugging feature.


There’s no necessary performance hit for closures. The performance cost here is caused by these closures needing to conform to a function pointer looking interface in order to be generally useful in C.


Iirc, in Lisp, closures are heap-allocated, unless they are created at compile-time with macros. Therefore, there is the added overhead of malloc and free calls with each closure created. Am I wrong here?


Definitely. Lisp is a family of languages that has now existed for almost 70 years. There simply isn't one way that closures work in "Lisp". Some implementations of languages in the lisp family have compilers that have sophisticated ways of handling closures. They carefully classify what is or is not captured by closure (and what is shared with other closures and what is mutably shared), and try to guess whether a closure can escape from the environment where it's created. Different code generation strategies, and strategies for representing the environment, apply to different situations.


Yes, in that normal closures being stack or heap allocated is an implementation detail; at least in CL. SBCL can stack allocate some closures if DYNAMIC-EXTENT is used: https://www.sbcl.org/manual/#Stack-allocation-1


Or I believe if it can determine the closure has dynamic extent, for example if it's passed to a standard function for which it knows the closure will not escape.



Lisp implementations typically don't use malloc and (especially) free. There is GC overhead.


I think maybe this post would make more sense if you were familiar to its antecedent [0] which compares existing closure extensions to C. IIRC the comparison was in the context of considering designs for standardization.

[0]: https://thephd.dev/the-cost-of-a-closure-in-c-c2y


> Rust closures that capture data are fat pointers { fn, data }

This isn’t fully accurate. In your example, `&mut C` actually has the same layout as usize. It’s not a fat pointer. `C` is a concrete type and essentially just an anonymous struct with FnMut implemented for it.

You’re probably thinking of `&mut dyn FnMut` which is a fat pointer that pairs a pointer to the data with a pointer to a VTable.

So in your specific example, the double indirection is unnecessary.

The following passes miri: https://play.rust-lang.org/?version=nightly&mode=debug&editi...

(did this on mobile, so please excuse any messiness).


Cargo does not attempt to solve the same problems as Nix (if you depend on any software not written in Rust). A checked in Nix shell is genuinely great documentation on the expected system environment.


I wonder if this would be a simple (limited) example of defeating the watermarking? Surely there's no way SynthID is persisting in what is now a handful of pixels.


Agree with you! I wonder that myself, also minor unperceetable pixel color differences can be corrected as well i'd guess?


You caution against a knee jerk reaction to Lee’s anti-feminist views but the background you provide does not actually justify your implication that South Korea may be a special case.

A feeling that “the pendulum has swung too much in the other direction” characterizes pretty much any modern reactionary anti-feminist movement in any country. And like in other countries, these feelings aren’t really borne out by the stats [0].

As far as I can tell, the only unique element of the South Korean anti-femenist movement is how mainstream it is. But that doesn’t mean whatever (knee jerk) reaction one might have to an anti-feminist politician at home wouldn’t apply to one in South Korea.

[0]: https://en.wikipedia.org/wiki/Gender_inequality_in_South_Kor...


> your implication that South Korea may be a special case

Well, I genuinely think the word "feminism" means different thing in Korea to the places I've lived at. It has much more inflammatory undertone there whereas in NZ, its just a term. When I see "anti-feminism" for Korean politician, I construe it to be "anti radical feminism". That's what I was trying to get at.

> these feelings aren’t really borne out by the stat

Those stats you've linked are pretty controversial: one says 10th and the other says 118th.

> Due to the various methods of calculating and measuring gender inequality, South Korea's gender inequality rankings vary across different reports. While the 2017 UNDP Gender Inequality Index ranks South Korea 10th out of 160 countries, the World Economic Forum ranks South Korea 118th out of 144 countries in its 2017 Global Gender Gap Report

I think there are still gender inequality in Korea. The reason I'm defending them is that I just don't want people to label fair bit of young Korean men to be misogynist and write them off. Their struggles are real and if we keep marginalising them I don't think it would get any better.


> Well, I genuinely think the word "feminism" means different thing in Korea to the places I've lived at. It has much more inflammatory undertone there whereas in NZ, its just a term. When I see "anti-feminism" for Korean politician, I construe it to be "anti radical feminism". That's what I was trying to get at.

Any active, non-historical example of feminism is likely to be considered radical. I think for us to have a reasonable discussion, you’d need to define what radical feminism means to you.

Otherwise what you’re saying is practically equivalent to “Koreans are fine with good feminism, but draw the line at bad feminism”. Which, besides being tautological, is just a rephrasing of the pendulum thing.

> I think there are still gender inequality in Korea.

It seems we agree the issue that feminism aims to solve still exists in South Korea?

> The reason I'm defending them is that I just don't want people to label fair bit of young Korean men to be misogynist and write them off. Their struggles are real and if we keep marginalising them I don't think it would get any better.

I think it’s very possible to point out actions and beliefs rooted in misogyny while also recognizing that the people expressing those beliefs have real struggles. I think people can change and even if they won’t, you can still be empathetic.

I don’t see any inherent marginalization in noticing misogyny. These men are facing real problems. But a lot of the blame for these problems is likely misdirected.


You are right. I don’t think I should have used the term “radical feminism” here.

I’ve also been reading some of the replies and I think I should learn more about this from other perspectives. Thanks for chiming in.


“dying behind bazel walls” is a bit dramatic when it’s a freely available tool that anyone can learn and use.

imo, it’s also among the very few options that try to solve the hard problems of build systems (alongside Buck and maybe Nix).


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

Search: