😱 It finally happened. I didn’t write a blog post yesterday. Here is two days worth of ramblings then.

šŸŽ€ Tying up my Slovak investigation… for now

In the last blog post I wrote I left myself a bunch of notes about my Slovak investigation. On Monday I condensed those notes even more and wrote a comment on the issue with my findings. In the comment I asked for help from two contributors to help point me in the next direction to actually get a fix in.

šŸ„– šŸ’‚ā€ā™‚ļø Back to detecting the wrong language

11 days ago (thanks github) I wrote up my investigation about an issue where golang was seemingly matching the wrong language. But it actually wasn’t! It was choosing the right language for very opaque reasons. The author got back to me about how this is not compatible with ā€œrfc7231 and othersā€.

So I read rfc7231 (it’s the http/1.1 RFC, one of my favorites that I reference all the time for networking things). Turns out there is language stuff in there too! Section 5.3.5 is about the Accept-Language tag. Then I read rfc4647 about ā€œMatching of Language Tagsā€.

I think everything go is doing (at least in this area) is compliant.

I found this quote also in rfc7231 section 5.3.5 that seems very related to the example:

Note: User agents ought to provide guidance to users when setting a preference, since users are rarely familiar with the details of language matching as described above. For example, users might assume that on selecting ā€œen-gbā€, they will be served any kind of English document if British English is not available. A user agent might suggest, in such a case, to add ā€œenā€ to the list for better matching behavior.

Basically matching is weird. And matching is extra weird when you start specifying location tags.

Even more language issues

I am deep into this language stuff now, with only a handful of days left in my sabbatical, so I thought it might be nice to stay here where I have gained some small amount of knowledge.

So I looked up other open language issues. One of them was as repeat of the matching issue above, so I was able to answer it right away and link to the other issue with a much more detailed description. Yay!

There are 7 other issues that look interesting. We will see how many I can cover before I have to end my sabbatical. I am currently digging into this one about sorting artificial languages. Although that may not sound very practical, the result is looking like golang may not be following rfc4647 when it comes to private tags, which would affect all languages, not just artificial ones.

šŸ•µļøā€ā™€ļø Hopefully I’ll get some more investigation done tomorrow.