Joshua Cranmer
quetzalcoatal.blogspot.com · Personal blog · on HN since 2010
Joshua Cranmer, a Mozilla developer, writes technical posts on email internals, compilers, code analysis tools and software monocultures.
What HN saysHN links him for explaining why email is hard and for his argument that software monocultures, such as GCC's dominance, harm the ecosystem.
15HN people shared it
6linked it in comments
11stories submitted
202story points
5 years agolast shared
2010people per year2026
Most-shared posts
- 1Why software monocultures are bad2 people · 18 points · first shared 2013 · 3 comments on HN
- 2Don't use assembly unless you're an expert1 people · 167 points · first shared 2014 · 125 comments on HN
- 3Visualizing code coverage1 people · 5 points · first shared 2010 · discussion on HN
- 4Why e-mail is hard: i18n1 people · 2 points · first shared 2013 · discussion on HN
- 5A new JS MIME parser1 people · 2 points · first shared 2012 · discussion on HN
- 6If You Want Fast Code, Don't Use Assembly (2014)1 people · 2 points · first shared 2021 · 1 comments on HN
- 7DXR: a smart code browser using instrumented compilers for static analysis1 people · 2 points · first shared 2011 · 1 comments on HN
- 8Autotools, how I hate thee1 people · 1 points · first shared 2012 · discussion on HN
- 9More code coverage treemap fun1 people · 1 points · first shared 2012 · discussion on HN
- 10If you want fast code, don't use assembly1 people · 1 points · first shared 2014 · discussion on HN
- 11Dev Hints Mozilla Will Rebrand Thunderbird as Firefox Mail1 people · 1 points · first shared 2015 · discussion on HN
- 12Email hard1 people · first shared 2019
- 13Dxr alpha 2 release1 people · first shared 2011
- 14Mailnews1 people · first shared 2017
- 15Why software monocultures are bad1 people · first shared 2017
What HN people wrote when they linked it
jcranmer · 2019-12-03
Windows-1252/ISO-8859-1 (the two charsets are so commonly conflated that it's often best to treat them as one) was the dominant [non-ASCII] charset of the web until around 2007 or 2008, and their prevalence more recently is only about 5%.
A collection of Usenet messages gathered in 2014 (see http://quetzalcoatal.blogspot.com/2014/03/understanding-email-charsets… for full details) showed that out of 1,000,000 messages, about 530,000 were actually ASCII; 270,000 were ISO-8859-1 or Windows-1252; and only 75,000 were UTF-8. More modern numbers would probably show higher UTF-8 counts, although Usenet is notoriously conservative in terms of technology.
What I'm trying to elucidate here is that the rise of UTF-8 isn't because most text is ASCII, but because there's been a rather more concerted effort to default content generation to UTF-8 and treat other charsets only as legacy inputs. Well, with the exception of the Japanese, who tend to be strongly averse to UTF-8. (I've been told that Japanese email users would rather have their text get silently mangled than silently converted to UTF-8 because you're quoting an email with a smart quote [not present in any of the 3 Japanese charsets], whereas every other locale was happy changing the default charset for writing to UTF-8).
will4274 · 2017-11-25
>> monoculture
> Only a bad thing if proprietary
[http://quetzalcoatal.blogspot.com/2013/02/why-software-monocultures-ar… article), the first google result for "software monocultures bad" has a bunch of examples of bad effects from monocultures, even in open source software.
carussell · 2017-01-17
hackuser · 2015-12-14
Another, much longer and more technical view of the complexities of email clients:
Why email is hard by Joshua Cranmer of Mozilla:
http://quetzalcoatal.blogspot.com/2013/09/why-email-is-hard-part-1-arc…
derekerdmann · 2013-02-17
Take a look at http://quetzalcoatal.blogspot.com/2013/02/why-software-monocultures-ar… The author points out how GCC's monopoly, though open source, forces clang to copy its implementation quirks almost exactly, because it's been the de-facto standard for years. Open-source doesn't automatically make the problem go away.
saulrh · 2011-07-07
See also http://dxr.mozilla.org/clang/, http://dxr.mozilla.org/clang/clang/include/clang/AST/RecursiveASTVisit… and http://quetzalcoatal.blogspot.com/2011/07/dxr-alpha-2-release.html for some more information and a demo. DXR does a bunch of static analysis to provide an explorable, informative view of source code, with special emphasis on dealing with C and C++ macros.