===================== 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. ---- :Date: 2024-12-25