123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- /**
- * <https://y.st./>
- * Copyright © 2017 Alex Yst <mailto:copyright@y.st>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org./licenses/>.
- **/
- $xhtml = array(
- 'title' => 'I might take down my website.',
- 'body' => <<<END
- <section id="general">
- <h2>General news</h2>
- <p>
- Chase claims now that they've updated my name on my account, and have sent me a new card to reflect the change.
- However, when I log in, I see my old name and not my new one.
- I'm interested to see what they send me, but I'm guessing it's another card with my birth name on it.
- </p>
- <p>
- I've been unable to connect to Opal's server in a while.
- As such, I haven't been able to update my website.
- My canary seems not to be chirping because of this, though the chirps can of course still be seen in the public source repository.
- Hopefully no one worries about me, but I was kind of worried about Opal.
- I've been unable to access the main Volatile channel, so I haven't been able to check on her there.
- For some reason, I seem to be banned.
- The ban doesn't appear to be attached to my name, so it's either a ban on strangers or a ban on $a[Tor] users.
- The Volatile Git site is down.
- At least a couple of Opal's onions are down as well.
- Her <a href="https://wowana.me/files/pgp/canary">canary</a> has been replaced with a message asking if anyone checks it, so I'm not sure when the last time she touched it was.
- If I knew how to extract timestamps from signatures, I could find out.
- Thankfully, when I asked around, someone had seen her.
- Her "server got nuked for fake info".
- From that description, I assume it wasn't the server that got nuked, but the domain name, and that it was fake whois info that was the problem.
- However, that wouldn't explain the downed onions.
- If the actual server went down, the downed onions would make sense.
- Maybe Opal was renting server space and used fake info there too?
- </p>
- <p>
- With the downed onions, I obviously can't update my website.
- That normally wouldn't be a huge deal, and it's about time I rent my own hosting package anyway.
- However, the timing is pretty bad.
- I need my site fixed up in time for the pride festival, as the $a[URI] of my contact page will be on my business cards.
- Or maybe ... maybe it's time to take my site down for a while.
- I'll simply omit that particular $a[URI] from the business cards.
- </p>
- <p>
- My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
- </p>
- </section>
- <section id="university">
- <h2>University life</h2>
- <p>
- I wrote up my initial discussion post for the week:
- </p>
- <blockquote>
- <p>
- The main advantage of the <code>Object.equals()</code> method is that it is defined in the superclass of all object classes.
- What this means is that any and all objects can be compared using this method.
- However, the disadvantage of this method is its implementation.
- It doesn't actually compare objects to see if they're equivalent, but instead, compares two objects to see if they're the same exact object.
- Imagine a perfect factory in the real world.
- It produces thousands of objects, all identical in every way.
- There are no colour variations, no factory defects, no differences between the items.
- However, <code>Object.equals()</code> would claim that none of these objects were equal, because they're not technically the same object.
- The <code>Object</code> class is as generic as it gets, which means that in many cases, its methods won't return any meaningful data.
- Such is the case with <code>Object.equals()</code>.
- </p>
- <p>
- Even this default implementation provides us with something of incredible value though: a method signature.
- We can override the generic method with one more meaningful, but one specific to a give class of objects.
- That method can still be called on <code>Object</code>-type variables though, as the <code>Object</code> class includes that signature.
- What we should override the method with depends on the nature of our child class.
- If our object is some sort of stack or queue, perhaps the method should return <code>true</code> if and only if the objects are both of known stack classes (or both of known queue classes) and contain the same items in the same order.
- If the objects are both of a sort tree class, perhaps the method should return <code>true</code> if and only if the trees contain the same values, regardless of whether the actual structure of the trees are the same.
- Most likely, if the two objects are from radically different classes, the objects aren't comparable, and therefore aren't equal.
- In this case, the method should return <code>false</code>.
- </p>
- <p>
- If we're looking for a full alternative; that is, one that doesn't involve the <code>equals()</code> method signature at all; we could always define an external method to handle the equality comparison.
- This method would take two objects as arguments and return <code>true</code> if they are considered to have the same value and <code>false</code> otherwise.
- </p>
- </blockquote>
- <p>
- I gave myself six tasks for the day.
- I didn't honestly think I'd complete them all.
- However, if I did, maybe I would stand a chance at completing my coursework on time.
- Thankfully, I completed all six: two reading assignments, two initial discussion board posts, and two main assignments.
- Tomorrow's task list has more items, but they're each smaller tasks.
- The twelve tasks for tomorrow are six discussion board responses and six assignment gradings.
- If there's time, I'd also like to take the two ungraded quizzes.
- Lastly, if there's time to spare, I'll finish up my learning journal assignments.
- One is practically finished today, but should be gone over after I've completed everything else.
- The other will involve some sort of programming exercise, and will require more time to complete.
- It seems it was absolutely vital that I get that shift covered that I did.
- There's no way I could cram all my studying into a single day.
- Two days though?
- As long as I stay mostly on task, that seems within the realm of possibility.
- </p>
- </section>
- END
- );
|