159 karma · joined June 11, 2015
The problem with using AI to write it is that you are under no pressure to to maintain brevity. Maybe not a bad thing when you need a guide but in this case it just made it harder to read
https://youtube.com/@graphicscardrepairs-tk7ql?si=OIO98TbmAs...
Obvious in many ways once you've lived there
Of course, I have opinions on other ways it could make money instead of jumping on the latest hot thing (pocket, fakespot, VPN, etc) without actually truly building the ecosystem but at least they are trying.
https://youtu.be/dgPI7NfKCiQ?si=BVBQ0MxuDpsbCvOk
The TLDR is that this race condition happened with unsafe code, which was needed to interact with existing C code. This was not a vulnerability with Rust's model.
That said, you can absolutely use bad coding practices in Rust that can cause issues, even for a regular programmer.
Using unwrap without dealing with all return cases is one example. Of course, there is a right way to dealing with return methods, but it's up to the programmer to follow it
Right now, all of Mozilla's products are not even available in a standardised form in key countries. For example, I pay for Mozilla relay and VPN, and these are not available in the same countries!
Mind you, I'm lucky to have actual access to several countries, and so I can work around this. But really, why can't this team just put everything in one place for me?
Besides relay and Mozilla VPN, I am also paying for Bit warden password manager.
I'm also willing to pay for a privacy-first email(though I haven't done so yet), and please have a family plan that bundles all of this together!
If Norton can have an Internet Suite, why can't Mozilla?
Of course, if I am being honest, the real reason is that there is so much CSS code out there, I can really find anything I need. And so can the LLMs.
That said, for actually building most apps, what's more important is likely ease of learning and using the framework, platform/OS support, publishing support, etc, none of which Iced itself directly address.
The choice of framework should not be dependent on who else is building on that framework. Ideally the factors that matter: 1) Why are you building a GUI app on rust? 2) Target platform/OS support? 3) Are you ok with custom styling methods? Would you prefer to use CSS? 4) Need for multi threading? 5) Publishing / bundling / signing app
I think the reason Dioxus cadence release is slow is that they realised so many things are missing with the rust gui ecosystem that they decided they needed to fix these while building the main product. Guess what, this basically slows down your main product cadence. Does rust need a sub second hot reloader? Yes. Does rust need a native html/CSS renderer? Also probably yes. Did the Dioxus team have to take it on given their size and all the things pending in building rust with html + css? Armchair observer me thinks not.
*Note that I am currently building an app with Dioxus, so I'm putting out my honest opinion, and not saying that you shouldn't use it.*
I think this is me. My view is basically like this - if you use a tech you know works, you're only wrangling with your bugs. If you use a tech that is still being worked on, you are wrangling your bugs and the bugs of the tech you're using.
To be fair, I've tried this master branch thing with both Iced and PopOS's Iced fork. One year ago, PopOs's Iced fork was so slow I realised it basically wasn't going to be production ready for non Pop distros anytime soon.
IMO, both suffer from having very slow release cadence but at least dioxus has CSS
1) Iced requires you to style everything in their own styling methods. It's not as intuitive as CSS. I found that, coming from using CSS, I struggled to recreate the style to the same high bar I expected from websites using css.
2)LLMs are not as familiar with Iced's styling, and will struggle with helping you plus also dealing with the breaking changes between Iced versions. Same to a lesser extent with Dioxus
3) Dioxus is easier to build by hand and via LLMs since you just use CSS/tailwind CSS. That said, even Dioxus is rough on the edges, you occassionly get some weird bugs, that you just have to deal with
4)PopOS' Iced version is great if you're using it on PopOS specifically but will require you to install a separate style pack on other linux distros to get the styling of the windows to show correctly. It's more mature than the original Iced IMO, though it's opinionated styling(of it's starter boilerplate) may be less to your liking. While I haven't used it in some time, I would consider it an almost independent fork by now
5) Last but most important negative IMO of Iced and Dioxus is their release cadence. Iced 0.14 has now launched more than a year since 0.13. For some the stability is great, but for frameworks that are still maturing with lots of improvements pending, I think it's actually important to have faster release cadences so that you know issues you face are not left hanging for a fix for a year.
Now onto more practical stuff: 1) If you need simple, standalone apps, any one will work. I think this may be true for your app idea
If you need speed of change, multi platform, etc, you will likely end up with Tauri. In that case, you might as well use the front-end framework you like.
2) None of the frameworks give you a pathway to publishing except Tauri. Basically, only Tauri really puts that as part of its guide, and so when you are going to Publish, you will be using Tauri's guide anyway
3) If you need multi-processing, Dioxus is out of your option, or you will end up using Tauri with Dioxus as your front-end
My only beef is they've basically put Claude's webpage on a side pane, with all the issues of a squished webpage.
I also think having a separate mode is really the best middle ground between an all spying ai-browser and one that has none (which makes doing some things with ai more manual)
My understanding with the new wording is that you have to agree upfront to share your code, and turn it off later if you do not wish to share it.
1) Default sharing of code (only manual turn off)
2) Was an incident where I believe at least some versions would share your env files (without manual .cursorignore)
3) Agent mode is quiet bad for novel code
4) Agent mode either overshoots(overcomplicates code), mistakes context or refactors too much
The only benefit I get is:
a) Chatting in same window as my code
b) Ctrl+L shortcut
(edited for formatting)