21.xhtml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  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 © 2017 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/2017/06-June/21.xhtml" />
  27. <title>No sick day... &lt;https://y.st./en/weblog/2017/06-June/21.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/2017/06-June/21.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/2017/06-June/20.xhtml">&lt;Previous</a>
  60. <a rel="next" href="/en/weblog/2017/06-June/22.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>No sick day...</h1>
  67. <p>Day 00837: Wednesday, 2017 June 21</p>
  68. </header>
  69. <section id="to-do">
  70. <h2>To-do list</h2>
  71. <ul>
  72. <li>
  73. Acquire stuff for my new home:
  74. <ul>
  75. <li>
  76. A bed
  77. </li>
  78. <li>
  79. A dustpan
  80. </li>
  81. <li>
  82. A carpet broom
  83. </li>
  84. </ul>
  85. </li>
  86. <li>
  87. Inform people that I&apos;ve moved
  88. <ul>
  89. <li>
  90. Relevant online accounts
  91. </li>
  92. <li>
  93. <del>My boss</del>
  94. </li>
  95. </ul>
  96. </li>
  97. <li>
  98. Finish stabilizing <a href="https://git.volatile.ch./y.st./include.d/releases">include.d</a> and put out another release (low priority)
  99. </li>
  100. </ul>
  101. </section>
  102. <section id="general">
  103. <h2>General news</h2>
  104. <p>
  105. I feel terrible.
  106. I did not get enough sleep last night.
  107. The worst part is that even with the shift I reluctantly picked up taking a day from me, there was enough time not to need that all-nighter, had I finished my coursework before cleaning house.
  108. After getting my due-today coursework done though, I couldn&apos;t resist cleaning up a bit more instead of getting some rest.
  109. I guess I tried to get some rest first, but I couldn&apos;t sleep for long.
  110. My coworker still hasn&apos;t gotten back to me about that mould spray.
  111. I give up.
  112. I&apos;m tired of being afraid to sleep in my own bedroom and I&apos;m not going to continually pester my coworker.
  113. I also need a study place that&apos;s well-lit at night.
  114. My bedroom has a light fixture, but the living room I&apos;ve been sleeping and studying in does not.
  115. I&apos;ve cleaned up the mould with just bleach and a rag.
  116. It&apos;s not completely gone, but it&apos;s not like I have money or options.
  117. Hopefully this is good enough.
  118. If it doesn&apos;t stay away, I&apos;ll just clean it up again.
  119. I&apos;ve moved my mattresses that I use and desk into the bedroom and the mattress I don&apos;t use out.
  120. I don&apos;t know if I mentioned it before, but I found a box spring someone put out by a dumpster, so I rescued it.
  121. Now, I started to set it up, but I found it has a broken cross-board.
  122. Lovely.
  123. I guess I can&apos;t use this thing after all.
  124. I put it back by the dumpster after work.
  125. Sock-sorting and file-sorting are the the two highest-priority items on my cleaning agenda.
  126. A large bin full of mixed socks and a collection of files scattered around the apartment represent the items that are most in the way, yet can be taken care of without first cleaning up something else.
  127. </p>
  128. <p>
  129. My mother wrote to me this morning asking how to download an entire email inbox.
  130. I explained that it depends on your email client, then explained how to do it in Thunderbird.
  131. Honestly though, I don&apos;t think that&apos;s the answer they&apos;re looking for.
  132. I think they don&apos;t even use a real client, but instead use their provider&apos;s Web-based client.
  133. The short answer on how you download your inbox on a Web-based client is that you don&apos;t.
  134. It&apos;s possible that the provider would offer a way to download all your emails in a ZIP file, but that&apos;s unlikely, and even if it&apos;s an option, it&apos;s going to be very provider-specific.
  135. I don&apos;t stand a chance at guessing where that option would be located.
  136. </p>
  137. <p>
  138. A while after cleaning up, I was hit pretty hard and fairly suddenly.
  139. My head was spinning, I was very nauseous, and I threw up a couple times.
  140. That couldn&apos;t be from the lack of sleep, could it?
  141. Then maybe ... was it the mould that hit me?
  142. Was this its way of fighting back?
  143. I&apos;d planned to pick up a face mask when I picked up the mould spray, but as my coworker never got back to me about the spray, I ended up going about this the stupid way and not preparing whatsoever.
  144. Or ... could this be from the fumes of the bleach!?
  145. Research when I got back home made this seem unlikely.
  146. I think I either just caught a virus with very strange timing or, more likely, I took a blow from the mould because I didn&apos;t wear a face mask when I cleaned it up.
  147. As horrid as I felt though, I had no choice; I had to go to work.
  148. I had a closing shift.
  149. </p>
  150. <p>
  151. As a side note, even while not feeling well, I still made some observations about my condition.
  152. Head spinning is very strange.
  153. It screws with your brain&apos;s ability to properly track things with your eyes.
  154. Either that, or it&apos;s <strong>*caused*</strong> by a temporary inability to track things with your eyes.
  155. The room appears to move only because your actual eyes are running in a straight line towards the edge of their range.
  156. When I rested my forehead on something hard, it also felt like my brain was moving around in circles within my skull.
  157. It wasn&apos;t like it was spinning; but like it was, while keeping its orientation parallel at all times, having its front-most tip rubbed on the inside of my skull.
  158. It was very strange, and altogether unpleasant.
  159. </p>
  160. <p>
  161. I bought less underwear than I threw out the other day, but I did get two packs.
  162. One was just standard underwear, nothing fancy; a ten-pack.
  163. The other was only a two-pack, but was supposed to help with the chafing I deal with at work.
  164. We have flame-powered ovens always blazing and I&apos;m fat, so my legs get sweaty and rub together.
  165. These underwear covered my legs and were tight-fitting, and my hope was that they&apos;d prevent that.
  166. They ... sort of helped.
  167. At first, I thought they were working.
  168. After sweating in them, they were unpleasantly damp and itchy, but I noticed a complete lack of chafing on my thighs.
  169. Once I got off work though, I noticed the chafing hadn&apos;t been prevented, but moved.
  170. Instead of chafing my thighs, I&apos;d now chafed my genitals.
  171. Ouch.
  172. Overall though, I guess I have less pain, so that&apos;s good.
  173. I&apos;m going to try wearing them a bit further down though next time, and see if that resolves the issue.
  174. Truth be told, I&apos;ve never worn underwear that long before, and I&apos;m not sure I had them on right.
  175. If that doesn&apos;t help, I&apos;ll try wearing two pairs of underwear; the long, outer paid to protect my thighs from each other and an inner pair to protect my groin from my outer pair.
  176. </p>
  177. <p>
  178. I got a chance to see my pay cheque today.
  179. My name has been updated, so it&apos;s now safe to update my account with First Tech Federal Credit Union.
  180. However, my boss didn&apos;t update my address, despite the fact that they had me fill out a form specifying my new name and new address.
  181. Oh well.
  182. I told they where I live, so I&apos;ve done my job.
  183. </p>
  184. <p>
  185. I discovered a new way to exercise at work on my breaks.
  186. I&apos;ve been trying to do sit-ups daily at home, but there&apos;s not a whole lot I can accomplish exercise-wise at work.
  187. However, I found I can flex my abs.
  188. Why didn&apos;t I think of that before?
  189. I pretty much spent most of one of my breaks rapidly doing that, and now my abs are a bit sore.
  190. I think that&apos;s a good thing though, it should mean I&apos;ve given them a challenge.
  191. </p>
  192. <p>
  193. Like I said before, I went to work in a terrible state.
  194. It was, quite predictably, a terrible idea.
  195. However, I have reason to believe that attempting to get sick pay would be fruitless without a doctor&apos;s note just because the store owner is illegally trying to keep it secret that we even have access to state-mandated sick pay.
  196. I think any excuse to avoid paying would be used.
  197. Normally, I try not to talk about the terrible working conditions here because it&apos;s not my place, but if you make me come to work in this state out of greed, yeah, I&apos;m not going to avoid commenting on it in my public journal if it becomes relevant.
  198. Anyway, in my impaired state, I messed up an order pretty badly.
  199. A customer ordered two pizzas, and that&apos;s both what I charged them for and what i gave them.
  200. However, that&apos;s not what I punched into the register.
  201. Before I hit the &quot;2&quot; button, I must&apos;ve hit the &quot;9&quot; button, because the receipt I handed them was for ninety-two pizzas!
  202. Thankfully, they&apos;d paid by credit card, checked their receipt, and thought I&apos;d charged them for all that.
  203. They alerted me to the problem, I printed a copy of the card machine receipt for them (our card machines are separate from our registers) to prove they hadn&apos;t been over-charged, and I took their incorrect receipt so I could show the manager what had happened and they could correct it in the paperwork.
  204. I didn&apos;t even notice though, and most customers don&apos;t seem to even look at their receipts before either crumpling them or putting them away somewhere.
  205. I got lucky.
  206. </p>
  207. <p>
  208. One of my coworkers was worried about me walking home in the dark.
  209. Alone.
  210. In an impaired state.
  211. I&apos;d left my bike at home, fearing I was in no state to ride safely.
  212. By the time I got to work, I was doing a bit better and was okay to ride, but at that point, it was too late.
  213. My coworker gave me mace though in case something came up.
  214. Apparently, they keep multiple containers of it on hand, and it sounds like they have more at home.
  215. That was nice of them!
  216. I&apos;ve added it to my lanyard with my keys, so I should have it on me any time I&apos;m out and about.
  217. </p>
  218. <p>
  219. My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
  220. </p>
  221. </section>
  222. <section id="university">
  223. <h2>University life</h2>
  224. <p>
  225. I finished up my discussion posts for the week before heading to work:
  226. </p>
  227. <blockquote>
  228. <p>
  229. You make an excellent point about the correctness of the output.
  230. If the program is relying on something outside the program to handle its exceptions, the program won&apos;t be as likely to know there&apos;s a problem and could produce incorrect output.
  231. It&apos;s very important that if we throw an exception or we call a method that does, we catch the exception and handle it properly.
  232. </p>
  233. </blockquote>
  234. <blockquote>
  235. <p>
  236. Memory dumps can be ugly and hard to interpret, but many languages these days output a stack trace for uncaught exceptions.
  237. Those are far from difficult to decipher by the people that actually need to.
  238. They&apos;re not very pretty to show to regular users though, so for externally-facing applications, catching the exception and showing a less-helpful but less-ugly message is a good idea.
  239. Like you said too, it may be possible to continue execution after catching the exception.
  240. Even if we can&apos;t perform the specific task the user asked us to, there might be other tasks the user needs our software to complete before shutting down.
  241. </p>
  242. <p>
  243. Imagine if we wrote a plain text editor.
  244. When we fail to save a file, an exception is thrown.
  245. One option is to let the program crash.
  246. In this case, the user tries to save the file and instead loses all their hard work!
  247. A better option would be to catch the exception, tell the user we failed, then let the user continue.
  248. They can then either try to save the file elsewhere in the file system, or at the very least, copy the contents of their file to the system clipboard and save it using some other application.
  249. </p>
  250. </blockquote>
  251. <blockquote>
  252. <p>
  253. I agree that it&apos;s the program itself that should catch and handle exceptions.
  254. </p>
  255. <p>
  256. However, you mention that the Java Virtual Machine runs on several platforms, so relying on the underlying computer to deal with exceptions would be ... well, unreliable.
  257. The logic behind this is that different systems would handle errors and exceptions differently, making it difficult to have any sort of expected, predictable behaviour in case of error if the exceptions aren&apos;t specifically handled by the program.
  258. This is very sound logic except that it leaves out one key detail, which pretty much reverses the argument.
  259. The Java Virtual Machine is a virtual machine; an emulated system.
  260. </p>
  261. <p>
  262. Java programs don&apos;t run on a multitude of systems, but only this one virtual one.
  263. The virtual system can be emulated on a multitude of platforms, but as far as what computer will be hit by uncaught exceptions, it isn&apos;t your physical one.
  264. There is only one (virtual) system that runs Java programs, so the behaviour of system-handling of exceptions would be extremely predictable and reliable.
  265. </p>
  266. </blockquote>
  267. <p>
  268. My <span title="Programming 2">CS 1103</span> discussion posts, shown above, were easy enough to write.
  269. My <span title="Databases 1">CS 2203</span> discussion posts, instead stored in my learning journal, were another matter.
  270. The <span title="Programming 2">CS 1103</span> discussion topic facilitated an actual discussion.
  271. We discussed who should catch and handle exceptions, which allowed for different thoughts and points of view.
  272. On the other hand, in <span title="Databases 1">CS 2203</span>, the discussion assignment was to rattle off definitions.
  273. This provided nothing reasonable for us to substantially respond to.
  274. </p>
  275. <p>
  276. I really wasn&apos;t feeling up to it, but I took the ungraded quizzes as well.
  277. I actually did pretty well on them, only missing one question between the two of them.
  278. </p>
  279. </section>
  280. <hr/>
  281. <p>
  282. Copyright © 2017 Alex Yst;
  283. 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>.
  284. If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
  285. My address is in the source comments near the top of this document.
  286. This license also applies to embedded content such as images.
  287. For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
  288. </p>
  289. <p>
  290. <abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
  291. This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2017%2F06-June%2F21.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%2F2017%2F06-June%2F21.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
  292. </p>
  293. </body>
  294. </html>