=====================
Advent of Code 2024
=====================
As in the past years, tho Advent Of Code puzzles were fun. I was
nowhere near the leaderboard competition, had no ranks above 2000, but
as before, only aimed to solve those daily, and to have some time left
for other daily activities.
I found days 21 and 24 tricky, while the rest went smoothly. On the
day 21, I thought DFS would be more efficient than BFS, but somehow
kept messing up the solution; I think I grew quite tired while going a
wrong route initially, then tried to solve it before a relatively long
cardio workout, which I try to do before lunch, so found myself being
hungry, cold, tired, and failing to keep track of those robots with
keypads. Almost gave up on solving it that day, but then decided to
try rewriting it with BFS instead (which was easier to reason about,
to consider a whole layer at a time), and that worked. On the day 24,
I thought it would be too easy if it was a sensible adder
implementation with a few crossed wires, so dismissed that and assumed
that there must be some Rube Goldberg contraption anyway, tried to
analyze and bruteforce it. After a few hours of that, decided to peek
how others solve it, found that they do visualize it, did the same (as
in some of the puzzles from the past years), and then the way to solve
it was clear; I should not have dismissed that, after all. AoC puzzles
sometimes require to inspect the inputs, so in the hindsight, it was
an obvious mistake to just assume the worst case.
This year, I tried rewriting the solutions in Python, after first
solving the puzzles in Haskell. Did not rewrite that on day 21 (since
I finished it late in the day), or the following ones, but from the
first 20 days, I liked rewriting those in Python. My Haskell solutions
for the first 20 puzzles took 1561 lines, 8757 words, 49213
characters; Python ones -- 1193 lines, 4660 words, 34211
characters. Those had the benefit of it already being clear how a task
should be solved, but I tried to cleanup the Haskell solutions, and
sometimes solved the puzzles a little differently in Python (using the
tools more easily available there), attempting to mitigate this
bias. With Python it seemed easier to focus on the task at hand, not
having to worry about efficiency of the used data structures, at least
for the common tasks. I recall finding Python awkward when trying to
use it as a functional language, but when approaching it with a
mindset closer to that used for C (imperative language, with
references, growing from the practical side more than from
theoretical), it is quite nice and easy to use. Maybe I will try to
use it more.
Other news
==========
- Oppression news first, to get them out of the way: Viber was blocked
here, looks like more IMs are in danger, apparently there are plans
to block voice calls in IMs, there were regional Internet
disconnection tests, and YouTube is now blocked for mobile network
operator users, in addition to stationary ones. From personal
observations, most people are affected and unhappy about it: even
some of the older people, who are spared from understanding what
causes the issues, miss music. But from public opinion polls, as
well as from official election results, most people are happier than
ever with the government, even though the economy and human rights
seem to be headed the same way as the access to information, and it
is hard to miss the high inflation combined with rising taxes, and
all kinds of issues with savings for those who tried to make
any. Though one can still misdirect the blame for those; towards
their hardware or ISP, for instance, in case of censorship. Maybe
this is why the officially promoted version is that Google's
technical issues or policies are to blame. Although the
state-promoted versions of events tend to be varied and confusing
for all kinds of news, as a general policy.
- Apparently the previously mentioned weekly router hangups were
caused by a BitTorrent client: possibly the router did not like the
increased number of connections. Even though there were not that
many, and not much of traffic. Update: actually it hung up again on
the following Saturday, yet again in the early morning. I have
finally switched to the new router, though its 8P8C ports face the
opposite way from the old one's, and there is a thick Cat 6 Ethernet
cable, so there is quite a twist near the connector now. Update 2:
checked the OpenWrt packages after that, including IRC servers, and
found that TCP packets directed to ngircd.barton.de are dropped by
local ISPs (probably TSPU, since it is not visible in the
blacklist). Things break over time by themselves, which is a
constant annoyance to keep fixing, but it is even worse when they
are actively broken by organizations on top of that: it is not just
more work, but also harder to plan for maintenance if you cannot
rely on anything external to keep working or being available.
- I have set a two-server private IRC network with InspIRCd, without
services, requiring TLS and a password (PASS authentication) for
access from the Internet (as opposed to a VPN); learned that KiwiIRC
(a web interface) does not support that, and apparently some non-web
clients have difficulties with it as well. Already had netsplits,
but IRC is nice in its simplicity, and the InspIRCd setup went
smoothly. Thought to set NNTP servers as well, but likely nobody
would use those.
- This Monday, I have read Tolstoy's "Bethink Yourselves!" (1904)
article, which makes the current situation a little less strange,
depicting yet another similar one, with references to more of
similar ones before that. As expected, it is overly religious, but I
have read "religion" as "conscience", "morality", or "ethics" in it,
with religion being explicitly equated to the "Golden Rule"
principle by the author, without attached organizations, buildings,
rituals, and suchlike, though with addition of a deity.
- Prior to that, finished reading the first (chronological) part of
the Cambridge History of Russia (volume III, on the 20th century),
which serves a similar purpose. It is a 2006 or 2008 edition, and
that part concludes with "Russia has not gone to war with Ukraine,
Latvia or Kazakhstan to defend Russians living there and is less
likely to do so today than when Yeltsin first took office"; while
they will have to edit it, apparently it was a sensible eventuality
to consider and mention.
- Finished working through chapter 10 of the physics textbook on
2024-12-14, and paused, so that I would have enough time for AoC
puzzles. Going to resume it tomorrow; there are just four chapters
left on classical mechanics now. It seems I use less and less of
LaTeX for the solutions over time, and more of plain text with
Unicode symbols. So far there are 13210 lines and 398529 characters;
probably I will look into it and summarize my current practice of
writing those after finishing the part on mechanics. Perhaps will
share the solutions as well, since it can be convenient to look
those up when stuck.
- Thinking of resuming Mastodon usage, focusing more on being social
and having conversations: blogging less, chatting more. But looked
around, found that now people there complain about "reply guys",
advice others on how to not be one. I gather that this term is used
similarly to "creep", to denote people leaving unwelcome replies
specifically, but a little worried that people being on the watch
for "reply guys" would complicate random conversations with
strangers. Another term I learned recently is "manosphere",
describing people being weird in other ways. Probably none of the
things they describe are new, but such things help to care less
about being more social.
- Related to being social, thinking of making up fun online handles,
which I would know how to pronounce, unlike my primary one. Word
play and puns, various references, unexpected (humorous) word
combinations, alliteration, parechesis, and similar play with style
and sounds seem to make those to sound amusing. Some of the fun
names I recall from IRC, the DW MUD, and Mastodon are Ottoflomp (or
Ottoflump?), Bumblebonk, Wigglefigs, Fiddlewits, Bimblecrisp,
{co,pro,contra}pumpkin, PizzaTorque, Emma Nems, Tempestua Des Temps,
Bacon Sandwich, QbbLs, Hsoy Hsauce. Race horses and hippies tend to
have funny names, too.
- Watched three films, after noticing that I did not watch any in a
while: Perfect Days (2023), The Holdovers (2023), and Balloon
(2018). All three were nice.
Other exercises, chores, and work proceed as usual. Still not taking
rest days from physical exercises, even on the busier days, being
worried that I will start skipping them more and more often then.