This is great news. Hopefully it fixes a lot of the jank that I've always experienced with Android Bluetooth. I don't think I've ever had a smooth experience - even with a supposedly flagship device (Pixel 4a!) I've encountered all of the following problems: * Devices getting stuck at max volume (thankfully not headphones) * Devices getting stuck at really low volumes * Devices randomly switching between absolute vol…
Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
351–360 of 393 posts
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#352This is great news. Hopefully it fixes a lot of the jank that I've always experienced with Android Bluetooth. I don't think I've ever had a smooth experience - even with a supposedly flagship device (Pixel 4a!) I've encountered all of the following problems: * Devices getting stuck at max volume (thankfully not headphones) * Devices getting stuck at really low volumes * Devices randomly switching between absolute vol…
Why would changing code from c++ to rust fix those issues? It looks more like bugs in logic rather than language.
* It's a purposeful re-write: not just because it sounded like a fun idea, but because there are reasons to redo the stack. Memory security a main one given the choice of language, but presumably cleaning up the logic and making it better overall is another.
* Broken-windows theory of software development: Writing in a sloppy, old, foot-gun language encourages bad code that just barely works for the happy path. Writing in a language that is far stricter and requires intention and design makes one think a little more critically about the logic.
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#353Earlier quoted context omitted.
Building radio ASICs is a world rife with patents. Pretty much nobody new can enter the market.
Aren't they considered "essential patents" that must be made available at a reasonable price?
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#354Earlier quoted context omitted.
> I imagine e.g. Samsung might have some hesitations about being even more dependent on Google as a supplier. Does it make them more dependent? Google is effectively the only upstream for Android, and Fuchsia is open source, so it seems like it should be the same?
One of them is based on mobile linux; which Samsung also uses for things like Bada and which has a lot of hardware vendors supporting it with drivers; including Samsung itself of course. Bada actually originated out of Nokia's Meego and Maemo mobile OS. That predates Android and early Android versions ran pretty much the same Linux kernels. The first devices running Android were actually Nokia N800s before they did t…
You mean Tizen.
Which, just like Android, the only thing it shares with Linux, is the Linux kernel, now having its own C++ stack, .NET Core/Xamarin and there are still some Englightment leftovers.
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#355Earlier quoted context omitted.
Ok. I'll take your advice and give it the consideration which it's due. Thanks for taking the time out of your day to create a throwaway account just to tell me how to do my job. Cheers.
Unfortunately, the C ++ Committee knows that universities do a terrible job teaching C ++, except the one Bjarne teaches. If you ask Bjarne, he will tell you the same things I said. A lot of universities stuck in C++98. It will takes them 1000 years to adopt C++20 tho. One of mistakes many universities do is teaching either C or Java before C++. I find C++ as a minimal OOP language to get head start. C++ -> Java -> C…
I was blessed that my own university during the early 90's, already teached C++ after Pascal to first year students, C was never taught explicily and naturally Java was like 6 years away to be a reality.
The same univerity does teach modern C++ nowadays.
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#356Earlier quoted context omitted.
It's because Samsung can get away with selling total garbage. I work on an audio-related app, and a huge majority of the hacks in the app to work around bugs in phones are for different Samsung models. Still more than half of our users keep buying them.
Bruv. I have a samsung. I'm touched. We've been together 4 years, its USB port is a little loose now. Too much charging everyday, but the screen is still pristine. The camera is fine so we can go out and take photos at the beach. I'm happy man. It does what it said it would do and did it. And still doing it.
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#357Earlier quoted context omitted.
And it doesn't have memory safety. Zig is really fun and it is excellent for small wasm modules, but until it gets memory safety it will never be a Rust alternative.
C++ doesn't have "memory safety" and it is a Rust alternative. Stop being pretentious, not every language has to have Rust's borrow checker or whatever its called.
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#358Earlier quoted context omitted.
I can't speak to this directly because of numerous reasons, chiefly among them being that I don't get to make those decisions. Standard disclaimer follows: I rejoined in the last two years, what follows are my opinions, these opinions are my own, blah blah. Android has never been about driving the hardware narrative -- it's always been about building a phone with mostly open contributions and driving the start of a w…
> Android has never been about driving the hardware narrative Apple has been building its own hardware from the beginning, but still also uses Broadcom chips.
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#359Earlier quoted context omitted.
I havet not had any issues with Bluetooth on standard android or Samsung devices. What I _do_ have problems with is the stupid accompanying apps on Samsung phones (Wear and Buds) that are reinstalled automatically every time I reconnect. Dear Samsung, how many times do I have to refuse the ToS and delete the app before you get my point? (I don't use the apps because I don't want any of the "smart" functionality and I…
I like the gear app, it has many options to customize the buds sound and gestures. How else do you propose they deliver those features and software updates to users? Keep I mind that Samsung needs to support other Android and ios phones too.
Let me explain: on the first run the app demands access to lots of personal data including contacts and location data while at the same time stating they may share this data with partners and third parties. If you don't agree to _all_ these the app will not start (but continue to nag you)
If Samsung wants to make the app a requirement, they should remove analytics and also let the user choose if he wants to give the app all these permissions.
Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust
#360I know the guy that heads up the team that did this work -- he and I spent 2+ years fighting Broadcom's old, god-awful bluetooth code. Our whole team used to play what-if games about replacing the thing while massive code dumps came in from vendors, making the task ever larger. Zach, if you're reading this, HUGE kudos to holding the line in replacing that, and double kudos for doing it in a verifiable, sane language!
> fighting Broadcom's old, god-awful bluetooth code Correction: god-awful host side bluetooth code. There is still the bluetooth firmware residing on the BCMxxx chip (or Qualcomm chip) - >1MB of god-awfulerer closed-source code, half of it is in ROM (with limited number of available patch slots), full of bugs. You can see it crash from time to time in the kernel debug logs (and auto-restart itself)
What would happen if consistency is lost outside the Rust domain but still in the BT stack?