Low Upkeep Software, MaliciousLife, WinRM, btrfs, Matrix, Bad Code

  1. China banned cryptocurrencies? Hmm, again? Let's see how this affects things, if there's any effect at all.

  2. All of my public Google Drive links were broken without warning, due to new security feature, sigh. Just finished fixing all the links, it was so painful.

  3. Once blog post I couldn't agree more about: Designing Low Upkeep Software (@ jefftk.com). This is actually exactly what I do. I don't want to deal with constant problems. I want my programs to be running for decades without any maintenance or upkeep. Often avoiding bloat also makes the systems low overhead.

  4. Added bunch of Matrix bots and notification services with integration. Done. It's actually very helpful to get nice integration APIs. It's kind of sad that WhatsApp and many other similar services are so closed.

  5. About MaliciousLife (@ malicious.life), I don't know what kind of hacker their web admin is, but it's a great example of how not to create web sites. I've noticed that many podcasts (I hate the word still) audio shows on web, have web sites which provide extremely bad user experience. Totally unusable, confusing, bad, and outright user hostile. User has to work hard to be able to access the content. Sites are on category, the site exists, it's so bad, that nobody ever wants to use it. And probably they don't use it either. How about eating your own (rotten) dog food?

  6. Configured bunch of systems to allow Windows Remote Management (WinRM) + Remote Power Shell (powershell) in terminal. Awesome.

  7. Configured some systems to keep btrfs snapshots to better protect from "administrative failures". So it's local copy of data which can be really quickly restored in case of mishap. Also had long discussion with some admins, whats the point of subvolumes. Well, point is that it'll allow more fine grained controls what you're going to snapshot, instead of everything. Some claimed it's just annoyance to have subvolumes, because everyone wants to snapshot everything always. Well, not always.

  8. Got complaints about TTL BOT (Time To Live - redaction BOT) not working in one Matrix room. After checking it out, the room message retention was exactly the same as the bots TTL expiration value. When the value exceeded bot looked for the message to be deleted, but the Matrix server had already removed it, so lookup failed. - Boom. I spent a good while wondering the code what could go wrong. But nothing was wrong, this was just how it was supposed to be. If the room needs to be redacted instead of just normally expired, then the rooms retention time has to be longer than the bots TTL allowance.

  9. Lots of pointless and never ending discussion about fragmentation, pre-allocation and SMART on SSDs... It all depends and even in most of case doesn't even matter. And it's not worth of it, usually, trying to "fix it", whatever it is. Only fix it, if it becomes a problem.

  10. I'm still waiting for TV series / show about: data center / networking / power / information / software / cyber / leak / disasters. It would be interesting to see one.

  11. Did I say Microsoft is full of bad developers writing their first program ever? PowerShell wget, curl, iwr aka Invoke-WebRequest is such a good example. It uses most of system performance to update the amount of data downloaded, instead of actually downloading stuff. Once again classic question, are they really so incredibly stupid, or are they trolling on purpose and laughing ahha, look what I wrote, this is going to frustrate so many people. - In this powershell case 10 gigabit connection is now moving data at around ~2 Mebibytes (~16 megabits) per second. Excellent! It was broken in earlier versions and it's still broken, seems to be extremely hard problem to solve for engineers.

  12. Reminds me from one project where I saw linefeed modification code like this out_string = ''; for c in massive_output_string: if c != '\r': out_string += c;. Then the program spent seconds doing other stuff, and then several minutes removing the carriage returns from the output before writing it to file. Lulz, good trolling times.