23.xhtml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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/04-April/23.xhtml" />
  27. <title>Arm issues &lt;https://y.st./en/weblog/2017/04-April/23.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/04-April/23.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/04-April/22.xhtml">&lt;Previous</a>
  60. <a rel="next" href="/en/weblog/2017/04-April/24.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>Arm issues</h1>
  67. <p>Day 00778: Sunday, 2017 April 23</p>
  68. </header>
  69. <section id="general">
  70. <h2>General news</h2>
  71. <p>
  72. When I woke up this morning, my left arm and hand were painfully, painfully asleep.
  73. Both my arms and hands&apos;ve been falling asleep a lot lately, especially right when I wake up, but this was the most severe case yet.
  74. It felt like several minutes before it cleared up, and even then, it didn&apos;t quite go away entirely.
  75. </p>
  76. <p>
  77. I&apos;m loving this debug mode in <code>minequest</code>.
  78. It&apos;s really helping as I flesh out the user interface and work out the kinks.
  79. I can&apos;t really finish the user interface until I figure out what all the bonuses are, but by getting started, I&apos;ve been able to figure out some design issues and have made a bit of progress.
  80. Coal and mese are the two minerals I&apos;m focusing on as far as planning at the moment.
  81. Coral&apos;s done, gold&apos;s done, and flint&apos;s done, and diamond&apos;s done.
  82. Iron has the most potential.
  83. Copper&apos;s the most difficult to come up with ideas for.
  84. Once I&apos;m done with mese and coal, I&apos;ll probably focus most on copper.
  85. </p>
  86. <p>
  87. Sadly, it looks like the bonus that slows or reverses tool wear is unfeasible.
  88. In my initial tests, I didn&apos;t even bother looking to see if I could reverse tool wear in a player-specific manner.
  89. I simply mirrored tool wear, so that which damages heals and that which heals damages.
  90. The plan had been to do it in a player-specific way later and use positive and negative fractions of the initial tool wear to determine the actual tool wear or healing that was to be done.
  91. However, the function I hooked into for tool wear knows only how much wear is to be added and what the item stack contains (that is to say, what the tool is).
  92. It doesn&apos;t know or have a way to find out who&apos;s wielding the tool.
  93. There might be another function I can hook, but if I can even get it working, the result won&apos;t be as good as I&apos;d originally planned.
  94. Actually ... maybe I can pull this off well after all.
  95. If I hook <code>minetest.node_dig()</code>, I can calculate the tool as it&apos;d be had the <abbr title="application programming interface">API</abbr> worked the way I wanted it to, call the initial <code>minetest.node_dig()</code>, then replace the user&apos;s wielded item with the one I calculated in my own mod.
  96. It&apos;ll be less computationally efficient than what I was aiming for, but it might at least have the same end result if I&apos;m careful.
  97. </p>
  98. <p>
  99. I planned to look for a broom and a bike pump before work today, but I totally forgot about the bike pump until it was too late and instead looked for a vegetable chopper.
  100. I didn&apos;t find a broom at Saint Vincent&apos;s, but I found an onion chopper.
  101. I&apos;m not sure how well it&apos;ll work on potatoes, which is what I want it for.
  102. I also picked up a pair of scissors and some pens.
  103. While there, I saw a mug that talked about how another day&apos;d gone by without the owner needing to use the algebra they&apos;d learned in school.
  104. Ha!
  105. I think I use algebra today.
  106. I often use algebra in my free time.
  107. Any time I put an equation into a program and that equation contains variables, that&apos;s algebra.
  108. Sure, I&apos;m making the machine solve the equation, but i have to solve it myself first.
  109. I often have to reverse-engineer the algebraic expression out of the answer I want it to achieve.
  110. I have no doubt that this is a common task for programmers, either.
  111. Those poor people that don&apos;t often use algebra are those that don&apos;t know the joys of programming.
  112. </p>
  113. <p>
  114. I also stopped at the grocery store and picked up beans.
  115. They&apos;re technically on sale right now.
  116. They&apos;re not as inexpensive as the corn and mixed vegetables are, but if I wait, the price&apos;ll go up, not down.
  117. I might as well get them now.
  118. </p>
  119. <p>
  120. At work, I made some progress in the planning of <code>minequest</code>.
  121. I&apos;d almost call it a breakthrough.
  122. My first idea is to add a bonus that allows players to compress their items.
  123. While the anti-tool-wear bonus&apos;ll fill one of the roles of the now-defunct <code>diamese</code> and <code>storage</code> mods, this bonus&apos;ll fill the other role.
  124. You&apos;ll need to mine a lot of mese before this bonus will be good for anything and it&apos;ll never compress your stored items as well as <code>storage</code> could, but it&apos;ll be a big help to mineral-hoarders such as myself.
  125. And due to the implementation of Minetest Game, the only level-up points I can really offer come from mining, so miners&apos;ll be the ones most able to use the bonuses anyway.
  126. My second idea is a bonus that allows a player to salvage materials by deconstructing items.
  127. It&apos;ll work like reverse crafting, returning what was lost in the initial crafting process and taking away what was gained.
  128. There will be some limitations though, such as the fact that cooking-based crafts and group-using crafts won&apos;t be reversible, as there&apos;s no way to determine which items when into their creation.
  129. Both of these abilities would be incredibly helpful to me, yet they can&apos;t be considered overly game-breaking.
  130. They&apos;re perfect!
  131. </p>
  132. <p>
  133. The third idea wasn&apos;t one for a bonus to give players but instead one for the user interface.
  134. I&apos;m pouring a lot of effort into the planning and implementation of this mod.
  135. It&apos;s not in any way a quick hack.
  136. However, it&apos;s not going to look overly professional.
  137. Or rather, it <strong>*wasn&apos;t*</strong> going to.
  138. The initial plan&apos;d been to reuse the item images as the bonus images.
  139. You put a mese block in the mese mineral slot?
  140. Alright, the button/inventory slot/whatever that just opened up looks like a mese block.
  141. You&apos;ll have to try it out to see if you can figure out what the &quot;mese block button&quot; does.
  142. That&apos;ll look poorly done though.
  143. I have a better idea.
  144. Every bonus&apos;ll have a custom icon representing it.
  145. I&apos;ll draw whatever I thin fits the bonus best.
  146. It might still be a challenge to figure out exactly what each does (which is an intentional feature), but the interface&apos;ll look much nicer and the icon can hint as to what to look for.
  147. </p>
  148. <p>
  149. I just discovered that my lower cupboard, now well-stocked with cans, has a lovely spot just out of view where the cans can fall off the shelf and into a hidden hole.
  150. In fact, while retrieving the two cans I heard fall, I found an empty olive jar that a previous tenant lost there.
  151. The cupboard on the opposing side of the kitchen has the same problem.
  152. I can either store my cans in the smaller cupboards up top or I can be careful about the hole.
  153. I&apos;ll be careful for now, but I&apos;ll add this to the list of strange things here.
  154. A light switch that seemingly does nothing (it doesn&apos;t even control any electrical outlets for lamps), the reversed water knob in the bathroom, and now this.
  155. Don&apos;t get me wrong, I love living here, but the place is a bit quirky.
  156. </p>
  157. <p>
  158. My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
  159. </p>
  160. </section>
  161. <section id="university">
  162. <h2>University life</h2>
  163. <p>
  164. I wrote up my <a href="/en/coursework/HIST1421/#Unit3">learning journal entry</a> and my initial discussion post for the week:
  165. </p>
  166. <blockquote>
  167. <p>
  168. Measuring the success of the Delian League requires defining what we view as success.
  169. Its stated intended purpose was to allow a specific group of allies to become a unified force for defending themselves from Persia.
  170. In beating back Persia, they were successful.
  171. However, their league came to be dominated by one member nation, Athens.
  172. They failed to be a group of allies working together and became mere subjects of Athenian rule.
  173. The &quot;communal&quot; treasury of the league, meant for use for all, became the property of Athens with everyone else having to pay tribute into it.
  174. </p>
  175. <p>
  176. The Delian League also lost the Peloponnesian War against the Peloponnesian League.
  177. No longer allied with Sparta, the Delian League had gained an enemy more powerful than they could handle.
  178. This wasn&apos;t a majority decision, either.
  179. One city-state, the one in charge of ruling over the league as an empire, made this call.
  180. What this says is that the Delian League was ineffectively managed.
  181. Athens allowed their pride to get the better of them, to their own and the league&apos;s detriment.
  182. </p>
  183. <p>
  184. Overall, I&apos;d say the Delian League was successful at first, but quickly became unsuccessful.
  185. They beat back Persia, but they lost their power to Athens and they lost the war against Sparta and Sparta&apos;s allies.
  186. Athens was surprisingly the weak link in the league.
  187. </p>
  188. </blockquote>
  189. </section>
  190. <hr/>
  191. <p>
  192. Copyright © 2017 Alex Yst;
  193. 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>.
  194. If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
  195. My address is in the source comments near the top of this document.
  196. This license also applies to embedded content such as images.
  197. For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
  198. </p>
  199. <p>
  200. <abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
  201. This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2017%2F04-April%2F23.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%2F04-April%2F23.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
  202. </p>
  203. </body>
  204. </html>