Been using suspend to RAM (ACPI S3) on my laptop during the last week.
No more shutdown, no more reboots. Worked fine.

Today, I wanted to run a system upgrade. "Nah", I thought, "better do a
clean reboot first. You never know." So I did.

After syslinux, the kernel booted -- briefly. I got a kernel panic
during initramfs. "Bad RIP in interrupt handler."

I don't recall seeing such a panic before. Might have been a one-time
issue and might have been unrelated to suspend to RAM. Still, it leaves
me wondering if that suspend mode just confuses the hardware too much. I
simply don't trust it. :(


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


[gitodo] might be the next candidate for a rewrite.

[gitodo]: https://uninformativ.de/git/gitodo/

I originally wrote that tool as a Bash script, because it had to be
compatible with Cygwin on Windows XP. That's long over. In 2012, I
rewrote it in Ruby, because, well, I wanted to learn some Ruby. The new
code was a lot faster and cleaner than the previous version.

Ruby and I aren't really compatible, though. I can't quite get that into
words. Ruby is very hard for me to read and it has a certain "weirdness"
to it. I don't know.

Plus, the older I get, the more I like languages with static typing.
Dynamic typing often leads to many surprises. I want to be able to read
source code without a full-blown IDE that may or may not be able to add
some type hints.

On top of that, the current version of gitodo is still a lot slower than
I'd like it to be. There are currently 36 items in my database and it
takes 70 ms to list them. It takes another 70 ms to print a calendar
that visualizes the deadlines of those items. I typically run [gg],
which does both of that (printing a calendar, listing the items) and
that takes 150 ms. I can actually *see* the terminal pausing for a
moment when it runs gitodo. For just 36 items! That's not okay in 2018.

[gg]: https://uninformativ.de/git/bin-pub/file/gg.html

gitodo doesn't even do that much, there are not a lot of fancy features.
It should be possible to rewrite it in C without much hazzle.

However, a coworker has nudged me into looking into Rust lately. I don't
know much about it, yet, but it looks interesting. So, I could "abuse"
gitodo once more as an excercise to learn a new programming language.

I'm still not sold on Rust's "link everything statically and produce a
huge binary", though. I haven't heard any strong arguments for this,
yet. I'll try not to rant about why I don't like it, but keep looking
for arguments *for* doing it this way. Rust does it and Go does it, if
I'm not mistaken. Go was designed by people like Rob Pike and Ken
Thompson, surely they must have good reasons.

But please don't let the answer be "BECUASE CONTAINSERNS!11!"