28.xhtml 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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/28.xhtml" />
  27. <title>from __future__ import braces &lt;https://y.st./en/weblog/2016/01-January/28.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/28.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/27.xhtml">&lt;Previous</a>
  60. <a rel="next" href="/en/weblog/2016/01-January/29.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><code>from __future__ import braces</code></h1>
  67. <p>Day 00327: Thursday, 2016 January 28</p>
  68. </header>
  69. <p>
  70. I prefer <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> as my learning tool.
  71. Despite it having major issues, it is very easy to add debug lines in <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>.
  72. Python has some strangeness that does not belong in a language, such as <code>import antigravity</code>.
  73. As a language, Python is not a regular tool like Aptitude is.
  74. While a small easter egg fits in quite well in Aptitude, anything that cannot be used in a program does not belong in a language.
  75. Overall though, it is a very nice language, or at least that is what I thought until today.
  76. Today though, <a href="https://opalrwf4mzmlfmag.onion/">wowaname</a> showed me something that changed my mind about Python.
  77. </p>
  78. <p>
  79. She showed me the <code>from __future__ import braces</code> statement.
  80. I was ecstatic! Upon first glance, it looks like this line would allow me to use a curly brace syntax instead of forced indention.
  81. While the forced indention may make final code look better, but is quite inconvenient when you want to insert a <code>print</code> line into the code for debugging, just to remove it moments later.
  82. With this new tool in hand, my path was clear.
  83. I would write my code with curly braces, using the easier syntax during development.
  84. Later, when my code had most of the bugs worked out, I would remove the curly braces and <code>import</code> line, causing Python to once again enforce clean-looking code in my functioning product.
  85. I was going to translate the beginnings of my spider into Python and use Python as my main language for future projects, with an exception for projects that generate Web pages, as I still feel that <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> has better Web server integration.
  86. However, when I tried using the statement <code>from __future__ import braces</code>, I was greeted with a condescending message: <q>not a chance</q>.
  87. Python is mocking people that want to use a braced syntax! If they wrote something about braced syntax being inferior in the manual or something in an effort to convince people that their way is better, that would be one thing.
  88. However, they actually wrote this feature into the language itself just to mock people that disagree with them!
  89. </p>
  90. <p>
  91. In the span of a few minutes, I have gone from thinking that Python is a very nice language to having quite a disdain for it.
  92. I now will refuse to write anything in Python.
  93. It seems that I no longer have any of my Python scripts stored on my remote Git accounts.
  94. I may have taken them off of <a href="https://github.com/Y-st">GitHub</a> when I found <a href="https://notabug.org/y.st./">NotABug.org</a>, then never uploaded them to my NotABug.org account.
  95. In any case though, they will not be reuploaded until I translate them into a less condescending language, such as <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>.
  96. </p>
  97. <p>
  98. To be clear though, while I refuse to write in Python any more, I am not outright boycotting all Python code or attempting to get other people to switch languages.
  99. If there is some functional code that someone wrote in Python, I will be more than happy to run it using my still-installed Python interpreter.
  100. Python is still a free software, cross-platform language.
  101. Every language has its issues, and it makes no sense to boycott software based on what language it is written in, assuming that software written in that language run in a free software environment and the language is efficient enough to avoid causing resource concerns.
  102. I simply would rather write code in a language that is more to my liking.
  103. </p>
  104. <p>
  105. Someone pretended to be me and registered a Netflix account using my email address.
  106. I have added this &quot;adan play&quot; and Netflix to my <a href="/en/a/hall_of_shame.xhtml">hall of shame</a>.
  107. As usual, I performed a password reset to lock the impostor out of the account.
  108. After resetting the password, I was able to see what service plan had been registered for.
  109. Unfortunately for adan, he registered for a $159 <abbr title="United States Dollars">USD</abbr> per month service, and now has no way to cancel the service.
  110. He may need to get ahold of Netflix somehow, in which case he will need to explain that he provided someone else&apos;s contact information instead of his own.
  111. If that does not work, he may need to cancel his credit card.
  112. I think that the lesson here is clear: when registering an account, use your own contact information, not the contact information of someone else.
  113. If you use someone else&apos;s email address to register an account, they can lock you out of your account.
  114. Using invalid contact information, such as the email address <code>example@invalid.invalid</code> is one thing, but when you use a valid email domain, you are asking for trouble.
  115. </p>
  116. <p>
  117. My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
  118. </p>
  119. <hr/>
  120. <p>
  121. Copyright © 2016 Alex Yst;
  122. 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>.
  123. If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
  124. My address is in the source comments near the top of this document.
  125. This license also applies to embedded content such as images.
  126. For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
  127. </p>
  128. <p>
  129. <abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
  130. This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F01-January%2F28.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%2F28.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
  131. </p>
  132. </body>
  133. </html>