02.xhtml 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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/01-January/02.xhtml" />
  27. <title>Repairs were needed on the weblog index &lt;https://y.st./en/weblog/2016/01-January/02.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/01-January/02.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/01-January/01.xhtml">&lt;Previous</a>
  60. <a rel="next" href="/en/weblog/2016/01-January/03.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>Repairs were needed on the weblog index</h1>
  67. <p>Day 00301: Saturday, 2016 January 02</p>
  68. </header>
  69. <p>
  70. We ended up not going to Springfield today, though Alyssa did go home at the end of the day.
  71. </p>
  72. <p>
  73. The new calendar year page in the weblog directory of this website brought with it several bugs.
  74. Most of them were caused by stupid oversights on my part, but it turns out that one of my base functions I built also has a flaw.
  75. I consider this error to be caused by <abbr title="International Organisation for Standardisation">ISO</abbr>-8601.
  76. This specification idiotically labels Sunday as the final day of the week instead of the first.
  77. <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>&apos;s <a href="https://secure.php.net/manual/en/function.date.php"><code>date()</code> function</a> has the ability to use <abbr title="International Organisation for Standardisation">ISO</abbr>-8601 week numbers, but does not otherwise have any options for distinguishing one week from another.
  78. Because of this, I used the <abbr title="International Organisation for Standardisation">ISO</abbr>-8601 week numbers when building my function and shifted all Sundays one week forward.
  79. Normally, this would put Sundays within the appropriate week.
  80. However, I did not account for the new year corner case.
  81. Specifically, the Sunday supposedly within the week that the year ended is not shifted into the first full week of the year, but is instead shifted into an imaginary week with a week number one higher than the highest real week number.
  82. This issue may not be present once I shift my code away from using timestamps, but for now, I have repaired the function so instead of simply adding one to the week number of every Sunday, it instead looks ahead and matches the week number of the Sunday to the following Monday&apos;s week number.
  83. </p>
  84. <p>
  85. After putting my new error handling function into effect, I ran into a bunch of errors relating to the use of dates.
  86. Specifically, the option to tell the <a href="https://secure.php.net/manual/en/function.mktime.php"><code>mkdate()</code> function</a> if daylight savings time is in effect is deprecated.
  87. I had always set daylight savings time to not be in effect because daylight savings time is a pain to code around.
  88. Without that option available, I simply removed it hoping for the best.
  89. This, however, messed up all entry numbers involving dates that fell within daylight savings time, causing them to become non-integers due to that one hour difference between the time stamps that were expected and those that were received.
  90. I managed to hack together a fix, but it is only a hack.
  91. The only clean option is to ignore daylight savings time, as it only throws things off and that level of precision is not needed or wanted.
  92. Of course, if the world was not idiotically setting their clocks forward and backward each year, <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> would not be imitating this nonsense and there would be no issue to build around.
  93. </p>
  94. <p>
  95. I started work on the onion address-finding spider again, this time adding a timeout feature to work around this one page that never finishes loading.
  96. Seriously, last time I ran my spider script, I waited hours and the spider could not get past this one page.
  97. It could not have been continually sending data like a huge page, as the spider did not hit the download limit and abort.
  98. I also increased the download length limit in the configuration of my own copy of the spider in hopes of getting a different page to download successfully.
  99. This page is huge, but it is a regular Web page containing only a multitude of hyperlinks.
  100. At the time I went to bed, the spider had not completed its crawl, but it seemed to have made great progress.
  101. Unless there is an unexpected error, I expect it to complete tomorrow.
  102. </p>
  103. <p>
  104. I started work on a couple new wrapper classes while waiting for the spider to finish its task, but I did not complete them.
  105. Due to the <a href="https://secure.php.net/manual/en/ref.fbsql.php">FrontBase functions</a> having two types of resources to work with, the two classes are a bit entangled and one should not be considered completed until the other is.
  106. For one of the classes, I experimented with class constants and a switch statement.
  107. I decided that due to the way type juggling is implemented in <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>, I thought it best to avoid including one and zero in the list of integer values used by the constants.
  108. </p>
  109. <p>
  110. My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
  111. </p>
  112. <hr/>
  113. <p>
  114. Copyright © 2016 Alex Yst;
  115. 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>.
  116. If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
  117. My address is in the source comments near the top of this document.
  118. This license also applies to embedded content such as images.
  119. For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
  120. </p>
  121. <p>
  122. <abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
  123. This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F01-January%2F02.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%2F01-January%2F02.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
  124. </p>
  125. </body>
  126. </html>