16.xhtml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. h t t :: / / t /
  4. h t t :: // // t //
  5. h ttttt ttttt ppppp sssss // // y y sssss ttttt //
  6. hhhh t t p p s // // y y s t //
  7. h hh t t ppppp sssss // // yyyyy sssss t //
  8. h h t t p s :: / / y .. s t .. /
  9. h h t t p sssss :: / / yyyyy .. sssss t .. /
  10. <https://y.st./>
  11. Copyright © 2016 Alex Yst <mailto:copyright@y.st>
  12. This program is free software: you can redistribute it and/or modify
  13. it under the terms of the GNU General Public License as published by
  14. the Free Software Foundation, either version 3 of the License, or
  15. (at your option) any later version.
  16. This program is distributed in the hope that it will be useful,
  17. but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. GNU General Public License for more details.
  20. You should have received a copy of the GNU General Public License
  21. along with this program. If not, see <https://www.gnu.org./licenses/>.
  22. -->
  23. <!DOCTYPE html>
  24. <html xmlns="http://www.w3.org/1999/xhtml">
  25. <head>
  26. <base href="https://y.st./en/weblog/2016/03-March/16.xhtml" />
  27. <title>The Wget and cURL people prefer buggy behavior over following standards &lt;https://y.st./en/weblog/2016/03-March/16.xhtml&gt;</title>
  28. <link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png" />
  29. <link rel="stylesheet" type="text/css" href="/link/basic.css" />
  30. <link rel="stylesheet" type="text/css" href="/link/site-specific.css" />
  31. <script type="text/javascript" src="/script/javascript.js" />
  32. <meta name="viewport" content="width=device-width" />
  33. </head>
  34. <body>
  35. <nav>
  36. <p>
  37. <a href="/en/">Home</a> |
  38. <a href="/en/a/about.xhtml">About</a> |
  39. <a href="/en/a/contact.xhtml">Contact</a> |
  40. <a href="/a/canary.txt">Canary</a> |
  41. <a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
  42. <a href="/en/opinion/">Opinions</a> |
  43. <a href="/en/coursework/">Coursework</a> |
  44. <a href="/en/law/">Law</a> |
  45. <a href="/en/a/links.xhtml">Links</a> |
  46. <a href="/en/weblog/2016/03-March/16.xhtml.asc">{this page}.asc</a>
  47. </p>
  48. <hr/>
  49. <p>
  50. Weblog index:
  51. <a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
  52. <a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
  53. <a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
  54. </p>
  55. <hr/>
  56. <p>
  57. Jump to entry:
  58. <a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
  59. <a rel="prev" href="/en/weblog/2016/03-March/15.xhtml">&lt;Previous</a>
  60. <a rel="next" href="/en/weblog/2016/03-March/17.xhtml">Next&gt;</a>
  61. <a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
  62. </p>
  63. <hr/>
  64. </nav>
  65. <header>
  66. <h1>The Wget and <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> people prefer buggy behavior over following standards</h1>
  67. <p>Day 00375: Wednesday, 2016 March 16</p>
  68. </header>
  69. <p>
  70. I was speaking to someone about telephone numbers this morning, so I thought that I&apos;d post my thoughts on the matter here as well.
  71. The problem with telephone numbers is twofold.
  72. First, people are expected to enter them directly into their calling devices.
  73. This is moronic.
  74. This would be like expecting people to enter <abbr title="Internet Protocol">IP</abbr> addresses when trying to access websites or expecting emails to be sent to &quot;{user}@\{<abbr title="Internet Protocol">IP</abbr> address}&quot;.
  75. <abbr title="Internet Protocol">IP</abbr> addresses, like telephone numbers, are meaningful to the machines, but not meaningful to people.
  76. However, people are still expected to memorize these numbers.
  77. When people link to services by <abbr title="Internet Protocol">IP</abbr> address, at least they do so because they would rather use a number than a name.
  78. They <strong>*choose*</strong> to use a number.
  79. With telephone numbers, there&apos;s no choice.
  80. There isn&apos;t an option to use a name.
  81. </p>
  82. <p>
  83. As a side note, it&apos;s worth noting that when faced with the problem of telephone numbers being linked to a specific service provider and being lost if you switch service providers (just like how you lose your <abbr title="Internet Protocol">IP</abbr> address if you switch <abbr title="Internet service provider">ISP</abbr>s), telephone architects took the wrong approach.
  84. It used to be that telephone numbers were like <abbr title="Internet Protocol">IP</abbr> addresses, telling the machines where to find the call destination.
  85. Instead of adding the use a centralized-yet-somewhat-distributed name system such as <abbr title="Domain Name System">DNS</abbr>, telephone numbers (at least in the United States) were modified to no longer mean anything to the machines.
  86. They are now &quot;portable&quot;, meaning that telephone numbers are looked up my the machines from a big lookup table like <abbr title="Domain Name System">DNS</abbr> names are.
  87. So instead of fixing the problem, it was made worse.
  88. Telephone numbers are meaningless both to humans and machines now.
  89. </p>
  90. <p>
  91. The second issue with telephone numbers is that people are expected to identify by them.
  92. I don&apos;t mind identifying by a human-readable and easily-memorable email address, but in many, many systems, your telephone number is your de facto identifier, as if a telephone number means anything at all.
  93. This is ridiculous.
  94. </p>
  95. <p>
  96. On the topic of malformed <abbr title="Server Name Indication">SNI</abbr> host names, the person commenting on the <a href="https://savannah.gnu.org/bugs/?47408">Wget bug report page</a> mentions that the problem is present in three other Web browsers, as if that makes it okay.
  97. Then, he continues that <a href="apt:curl"><abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr></a> strips the trailing dot off of both the <abbr title="Hypertext Transfer Protocol">HTTP</abbr> Host header as well as the <abbr title="Server Name Indication">SNI</abbr> host name, as if this other nonstandard behavior is another option to consider implementing in <a href="apt:wget">Wget</a>.
  98. I ended up being sent emails from an out-of-band discussion, and it seems that a patch has been produced to fix the bug, but people are considering either leaving the bug in place or modifying the bug to behave like <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr>&apos;s bug because they think that it would be somehow &quot;more consistent&quot; than having no bug.
  99. I&apos;d just like to reiterate that fact.
  100. The Wget people already coded a patch, but would rather not apply it.
  101. It&apos;s not that they don&apos;t think that the issue is worth the time that it would take to fix it.
  102. They actually actively prefer the buggy behavior.
  103. As a side note, it also seems that there is an additional <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1008120">bug report</a> against <a href="apt:iceweasel">Firefox</a> in regards to the issue.
  104. As the Wget people were discussing the fact that <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> also didn&apos;t implement the standards correctly, so Wget somehow shouldn&apos;t have to, I thought it best to bring up the fact that I too had noticed the bug in <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> but had not yet had the time to report it.
  105. At that point, I was pretty much obligated to report it in <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> today, but it turns out that the people that want to avoid making Wget follow the standards are in charge of <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> development.
  106. In other words, trying to get the issue fixed in <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> is a waste of time.
  107. </p>
  108. <p>
  109. My <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1255854">bug report</a> against Firefox has been marked as a duplicate of <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1008120">another bug report</a>, but this other bug report suggests implementing <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr>&apos;s buggy behavior of also stripping the trailing dot of of the <abbr title="Hypertext Transfer Protocol">HTTP</abbr> Host header.
  110. This doesn&apos;t bode well.
  111. </p>
  112. <p>
  113. I&apos;ve come to the conclusion that I won&apos;t allow the fact that Web clients don&apos;t implement the standards to stop me from using <a href="https://y.st./"><code>https://y.st./</code></a> as the canonical version of my <abbr title="Uniform Resource Identifier">URI</abbr>.
  114. I will report the error to as many Web clients as I can find and test, then wait for Debian 9 to come out.
  115. Debian releases take forever to come out, so this arbitrary deadline will give developers plenty of time to fix their software.
  116. After that, I will put my <code>https://y.st/</code> to <code>https://y.st./</code> redirect into place (assuming that I am able to run my own clearnet Web server at that point).
  117. <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> and any client that has a similar bug as <abbr title="Client for URLs/Client URL Request Library/Curl URL Request Library">cURL</abbr> will get stuck in redirect loops until they give up.
  118. Any client that instead has the malformed <abbr title="Server Name Indication">SNI</abbr> host name bug will either be presented with an error page (<a href="apt:apache2">Apache</a>&apos;s default) or will be presented with a version of the wanted page that has been modified to include an error message about the malformed <abbr title="Server Name Indication">SNI</abbr> host name and a link to a page explaining more.
  119. I can&apos;t force people to care about their bugs or agree that they should be fixed, but I shouldn&apos;t allow their refusal to follow standards prevent me from using a completely-legitimate <abbr title="Uniform Resource Identifier">URI</abbr> of my choosing.
  120. </p>
  121. <p>
  122. <a href="http://www.joshwoodward.com/">Josh Woodward</a>&apos;s campaign to raise money for his upcoming album, <a href="https://www.kickstarter.com/projects/joshwoodward/josh-woodward-addressed-to-the-stars">Addressed to the Stars</a>, ended today.
  123. He ended up getting 426.1% of the funding that he was looking for.
  124. He always gets over-funded when he does these things.
  125. I&apos;m not sure if he sets small funding goals out of modesty or if he honestly isn&apos;t looking for as much money as he gets.
  126. It sounds like physical item delivery is expected in April, though it&apos;s the digital music that I&apos;m more interested in.
  127. </p>
  128. <p>
  129. My goal for the day was to reach the temp agency to get information on how to register for their services.
  130. It turns out that they have their applications online only, but I now have their Web address and email address.
  131. While I was out, I also found one place that said to try back in May, found eleven places that were not hiring, found one place that I passed on because they insisted that the paper application be filled out in-store; I didn&apos;t feel I had time, found seven places that said to apply online, dropped off five resumes, picked up five applications, and dropped one application off after having filled it out.
  132. </p>
  133. <p>
  134. <a href="https://opalrwf4mzmlfmag.onion/">Wowaname</a> is back up on the clearnet, and as a result, so am I (as wowaname is currently hosting my clearnet website).
  135. </p>
  136. <p>
  137. On <a href="ircs://kitsune6uv4dtdve.onion:6697/%23Volatile">#Volatile</a>, z randomly started trying to convince me that everyone should release their code into the public domain.
  138. The public domain is only better than copyleft licenses when it is the only thing that exists.
  139. When it is the only thing that exists, it becomes far greater than anything else that exists now, but as long as things in the public domain can be moved outside the public domain, it is counterproductive to not not use copyleft licenses.
  140. Copyleft licenses protect our code from becoming nonfree and closed off.
  141. The public domain offers no such protections.
  142. </p>
  143. <hr/>
  144. <p>
  145. Copyright © 2016 Alex Yst;
  146. You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
  147. If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
  148. My address is in the source comments near the top of this document.
  149. This license also applies to embedded content such as images.
  150. For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
  151. </p>
  152. <p>
  153. <abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
  154. This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F03-March%2F16.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.1</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F03-March%2F16.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
  155. </p>
  156. </body>
  157. </html>