*nod* As-is, we're stuck with hacks like custom shortcodes and emoji. ...though, given the inconsistent naming of consistently laid-out buttons, I think anything that makes its way into Unicode should include something…
By "game tutorials", I think they mean modern successors to the role GameFAQs used to play. There is a combining character that, by its description, sounds like it should be implemented to do the desired thing (U+20DD…
I know Sylvain Kerkour is a perennial "Rust should be more like Go. I don't care that they're trying to meet different needs" person and has been for many years now, but I do wish we could at least get a little…
That's fair. I still think the "because it's not in the fast path" part of "Most software will not see a bottleneck because of bounds checking because it's not in the fast path" is a bit too much of a blanket statement…
*nod* Give https://blog.readyset.io/bounds-checks/ a read. They tried doing a comparison between ReadySet compiled normally and ReadySet with bounds checking removed so thoroughly that they needed to use a patched…
*nod* ...and stemming is that taken to a greater extreme. I was just pointing out that Unicode itself has various forms of normalization and normalization-adjacent functionality that people are far too unaware of.
> Before comparing strings or searching for a substring, normalize! ...and learn about the TR39 Skeleton Algorithm for Unicode Confusables. Far too few people writing spam-handling code know about that thing.…
My anglophone Canadian brother's name is André. Even if you're fine with alienating the ~50% of the world population using non-latin writing systems, probably best to at least stick to the stuff covered by the latin1…
Technically, a superset would have to somehow Schrödinger's cat around \ in latin1 and ¥ in Shift-JIS being the same codepoint. Unicode just took it upon themselves to reliably round-trip legacy text... thus the…
According to a sibling to what you replied to, it's because the shapes of the glyphs are still under copyright by known-litigious rightsholders and the Unicode consortium doesn't want to subject font authors to that.
"Extended (Grapheme Cluster)". The .graphemes() method in Rust's unicode-segmentation crate takes an is_extended boolean as an argument and, if you set it to false, you're iterating legacy grapheme clusters.
Cookie consent is only necessary if you're sharing it with others (eg. ad networks, Google Analytics, etc.) or using it for "non-essential" functions (again, stuff like analytics). Sites just don't want the general…
Yes. Give https://www.youtube.com/watch?v=_mZBa3sqTrI a watch... especially the "Oh my God! We've been hacked!" part at 36:20. TL;DR: They had a transient glitch in their network switch and, because Windows uses UTF-16…
Give the "Indic scripts" section of https://manishearth.github.io/blog/2017/01/15/breaking-our-l... a read. TL;DR: Unicode is complicated because some non-Latin writing systems are complicated and those non-Latin…
Give https://manishearth.github.io/blog/2017/01/15/breaking-our-l... a read and, ideally, the other things it mentions like https://eev.ee/blog/2015/09/12/dark-corners-of-unicode/ and…
> I didn't know that unicode changes the definition of grapheme in backwards incompatible fashion annually, so software which works by grapheme count is probably inconsistent with other software using a different…
*nod* Rust was given as one of the examples and Rust's .len() behaviour is chosen based on three very reasonable concerns: 1. They want the String type to be available to embedded use-cases, where it's not reasonable to…
I agree... you need discipline either way. It's just easier to wind up not realizing that you don't need to spend so much time on up-front optimization with Rust to produce a perfectly serviceable program. (Especially…
While it's not a study, https://blog.polybdenum.com/2023/03/05/fixing-the-next-10-00... gives a real-world example of a bug in Go Rust would have prevented. Also, bear in mind that it's not just Rust's type system…
1. Remember that Rust takes a Minimum Viable Product approach to 1.0 releases. There are experiments in adding stack traces in third-party error-handling crates that could eventually lead to additions to the standard…
They already need a workflow for it. pyca/cryptography uses Rust for some of its ASN.1 parsing now. There was a huge kerfuffle about it. https://blog.yossarian.net/2021/02/28/Weird-architectures-we...
By building up design habits that lead to things passing the borrow checker on your first try.
> In fact for me the only benefits of Go are single binary and startup time. I hope you mean "compilation time" or "time to first prototype". My experience has been that, if a Rust binary doesn't start instantly, it's…
I think they're all natural niches, because Rust's performance and ability to tightly control memory allocation are over-promoted and the strength of the type system as a means of ensuring correctness at compile time is…
*nod* As-is, we're stuck with hacks like custom shortcodes and emoji. ...though, given the inconsistent naming of consistently laid-out buttons, I think anything that makes its way into Unicode should include something…
By "game tutorials", I think they mean modern successors to the role GameFAQs used to play. There is a combining character that, by its description, sounds like it should be implemented to do the desired thing (U+20DD…
I know Sylvain Kerkour is a perennial "Rust should be more like Go. I don't care that they're trying to meet different needs" person and has been for many years now, but I do wish we could at least get a little…
That's fair. I still think the "because it's not in the fast path" part of "Most software will not see a bottleneck because of bounds checking because it's not in the fast path" is a bit too much of a blanket statement…
*nod* Give https://blog.readyset.io/bounds-checks/ a read. They tried doing a comparison between ReadySet compiled normally and ReadySet with bounds checking removed so thoroughly that they needed to use a patched…
*nod* ...and stemming is that taken to a greater extreme. I was just pointing out that Unicode itself has various forms of normalization and normalization-adjacent functionality that people are far too unaware of.
> Before comparing strings or searching for a substring, normalize! ...and learn about the TR39 Skeleton Algorithm for Unicode Confusables. Far too few people writing spam-handling code know about that thing.…
My anglophone Canadian brother's name is André. Even if you're fine with alienating the ~50% of the world population using non-latin writing systems, probably best to at least stick to the stuff covered by the latin1…
Technically, a superset would have to somehow Schrödinger's cat around \ in latin1 and ¥ in Shift-JIS being the same codepoint. Unicode just took it upon themselves to reliably round-trip legacy text... thus the…
According to a sibling to what you replied to, it's because the shapes of the glyphs are still under copyright by known-litigious rightsholders and the Unicode consortium doesn't want to subject font authors to that.
According to a sibling to what you replied to, it's because the shapes of the glyphs are still under copyright by known-litigious rightsholders and the Unicode consortium doesn't want to subject font authors to that.
"Extended (Grapheme Cluster)". The .graphemes() method in Rust's unicode-segmentation crate takes an is_extended boolean as an argument and, if you set it to false, you're iterating legacy grapheme clusters.
Cookie consent is only necessary if you're sharing it with others (eg. ad networks, Google Analytics, etc.) or using it for "non-essential" functions (again, stuff like analytics). Sites just don't want the general…
Yes. Give https://www.youtube.com/watch?v=_mZBa3sqTrI a watch... especially the "Oh my God! We've been hacked!" part at 36:20. TL;DR: They had a transient glitch in their network switch and, because Windows uses UTF-16…
Give the "Indic scripts" section of https://manishearth.github.io/blog/2017/01/15/breaking-our-l... a read. TL;DR: Unicode is complicated because some non-Latin writing systems are complicated and those non-Latin…
Give https://manishearth.github.io/blog/2017/01/15/breaking-our-l... a read and, ideally, the other things it mentions like https://eev.ee/blog/2015/09/12/dark-corners-of-unicode/ and…
> I didn't know that unicode changes the definition of grapheme in backwards incompatible fashion annually, so software which works by grapheme count is probably inconsistent with other software using a different…
*nod* Rust was given as one of the examples and Rust's .len() behaviour is chosen based on three very reasonable concerns: 1. They want the String type to be available to embedded use-cases, where it's not reasonable to…
I agree... you need discipline either way. It's just easier to wind up not realizing that you don't need to spend so much time on up-front optimization with Rust to produce a perfectly serviceable program. (Especially…
While it's not a study, https://blog.polybdenum.com/2023/03/05/fixing-the-next-10-00... gives a real-world example of a bug in Go Rust would have prevented. Also, bear in mind that it's not just Rust's type system…
1. Remember that Rust takes a Minimum Viable Product approach to 1.0 releases. There are experiments in adding stack traces in third-party error-handling crates that could eventually lead to additions to the standard…
They already need a workflow for it. pyca/cryptography uses Rust for some of its ASN.1 parsing now. There was a huge kerfuffle about it. https://blog.yossarian.net/2021/02/28/Weird-architectures-we...
By building up design habits that lead to things passing the borrow checker on your first try.
> In fact for me the only benefits of Go are single binary and startup time. I hope you mean "compilation time" or "time to first prototype". My experience has been that, if a Rust binary doesn't start instantly, it's…
I think they're all natural niches, because Rust's performance and ability to tightly control memory allocation are over-promoted and the strength of the type system as a means of ensuring correctness at compile time is…