December 2020 newsletter

Published: 2020-12-31
Word count: ~5480

Every month I have this strange anxiety about not having enough to write about for the newsletter. Each month it's proven wrong. I'm constantly overflowing with shit to talk about.

Table of contents:

timtimestim

Summary of changes (Most significant to least):

* This writeup is a work in progress. There's a lot there already, but it's rough around the edges and it doesn't say everything it wants to say. I'll make sure to put down in the next newsletters if there's any significant updates to it, don't worry.

Task management software

I had a little episode this month where I was slightly obsessed with task management software. I go in phases with this topic, and each time I realize that the things that I'm already doing are enough to keep me on track and I don't need it.

For example, I've mentioned the zettelkasten note taking method before, but never really talked about how I once tried to make a zettelkasten with my own software solution. It failed after a couple weeks because it was too much work and I wasn't seeing any tangible reason to continue doing it.

The thing that sparked it this time was this page from some weird task management system called "TaskLike". It's just a list of some of the more popular task managemen systems. Also has knowledge management systems, which is an extension of what I was interested in (especially with the zettelkasten stuff).

You see, this website is turning into my knowledge management system, at least a bit. This newsletter being a thing that keeps my bookmarks and thoughts on them, the wiki being something that contains more nuanced and evolving thoughts, and the jornal being a dumping ground for non-formal bullshit. It's naturally occured that way, and I've been wondering if I need to find/make a tool to help me manage it, since my entire understanding of this kind of thing is that I need a specific tool to encompass the entire thing.

Well, after reading through like 5 readme's and a couple blog posts about these systems, I was reminded why I don't use them in the first place. It's just too stressful to do anything with these things for me. My style of working on stuff is too sporadic to really fit into a tightly managed system like these things want. The most that I can handle is a non-urgent todo list that is more or less a reminder about things I want to do 'eventually", requiring no positive action at any specific time.

The pattern of my brain wants to demand that I need an all-encompusing thing to manage this website more than I'm already doing, but that's not actually necessary. This website is already wonderfully easy to manage, due to the fact that it's just a bunch of markdown files that get rendered into html. I spent a lot of time polishing up the build script, but now that it's basically done I keep feeling like I need to do more.

This section is put here as a reminder that the content is what I most want to worry about, not the weird meta bullshit about how I manage my time or knowledge. You really don't need it, Tim.

csound manual

I've had the desire to learn how to use csound, basically a programming language for music/sound effects, for almost a year.

My desires to make music aren't nearly as strong as my desires to write good words, but it's still there sometimes. The problem is that nearly all music software is terrible: awful GUIs with bugs galore, horrible user experience as if they never actually used their own software, and so on. Csound, I hope, will be able to avoid a lot of that through the power of plaintext, even though it's a fucking ugly programming language.

I have a fantasy of building up a repository of songs made in csound with a bunch of programatic instruments and shit. Wouldn't that be cool? Having a source code repository for all your music? Like a monorepo for music.

I've had some forays into learning music production, but I was always stopped by how much everything sucked.

I found this manual for csound that seems to be reasonably decent. Of course they try to get you to read their horrible pdf file, but at least the linked repo has the original markdown markup in it. Maybe some time I'll start working through this thing and see if I can pick up some actual skill. Maybe I'll have to make a /m/ directory for the site :O

Laptop repairability

I do everything on my my shitty laptop. I know that it's not going to last forever, so I've been slowly looking for a better long-term solution laptop that I won't have to worry about replacing for a much longer time.

So I've been looking at iFixit's laptop repairability scores for some inspiration on what laptops are most repairable. That's one of the number one important things with long laster consumer electronics: their ability to be repaired. With how horrible most companies are with that kind of thing, getting something with replaceable batteries is actually nice.

Once the fateful day comes, I'll probably use this list as a reference with other things to make my final decision.

Now if only I could do the same things with my phone. I use my phone for consuming most of my online content, but it sucks ass. I wish I could use my laptop everywhere, but that's just not feasible until I retire and don't have to spend 8 hours a day away from home without the ability to use my laptop discreetly.

Good laptops are expensive...

(If I were to make a prediction on how long this laptop will last, I would give it about 1-2 more years. I try not to overcharge the battery, and I don't even type on its keyboard most of the time. I'm sort of waiting for Debian Buster (my current OS) to go into long term support in 2022 before I move over. It's surprising how much computer changes I make when Debian changes; probably because I hate doing updates until I'm forced to, and Debian is an enabler to that.)

Unsigned ints VS signed ints

When programming in C there's two types of integers -- non decimal numbers -- that you can use: signed and unsigned. Signed means that the number can be negative and unsigned means the number can only be positive.

Because of strange integral promotion rules in the C standard, you're more or less forced to pick one of these to be your "main" sign over the other, since mixing and matching them can have some pretty nasty effects.

I've alway used unsigned ints, since the vast majority of numbers you deal with in programming don't only care about positive numbers. In fact, I use unsigned ints pretty much everywhere, to the point where switching to signed ints would be quite the hassle.

There are situations where I used signed ints out of nessacity, but they're always sequestered off from the rest of the program and used in limited ways. Especially if I have to interact with the standard library in a non-trivial way.

Looking at the source code of projects that I respect, I've realized that my strategy of using unsigned ints for nearly everything is really uncommon. Especially among programmers that I respect, they almost exclusively use signed ints instead.

Of course, this made me self-concious and I had to go on a spirit journey to convince myself that it's totally fine to use unsigned ints. Here's what I learned.

Unisgned pros:

Unsigned cons:

If I were to start fresh, I would probably just use signed ints. As it stands, I'm still okay with using unsigned since I'm already committed to having my code be unsigned ints. Changing over wouldn't be worth it, honestly. Especially since I'm a solo programmer, I don't have to worry about other people on my team being pissed that I'm doing something strange.

If you're paranoid (and I know I am), most compilers can also tell you about the really nasty cases, like using a comparison between signed and unsigned ints. They can set runtime checks for underflows if you need to, and so on. The tools you use are slightly different, but not inferior. And the final execution of the program will work just a well, as long as you're careful.

In conclusion: Used signed ints for most everything unless you've already decided to use unsigned, then just keep using unsigned. Don't worry about your choice too much, since there's much more important things to worry about when programming something.

Some references:

They might never tell you it's broken

A blog post from Pointers Gone Wild titled The Might Never Tell You It's Broken is sort of interesting. It talks about how most people who use software simply deal with the issues that are present instead of trying to tell the developers so they get fixed.

You're using something and it's a little jank. Maybe there's a strange lag spike that only appears every few days, or one of the inputs doesn't work in the way you would expect. Do you go through the trouble of signing into whatever bug tracker that the developer is using, recording the exact steps to reproduce the bug/problem, writeup a technical explanation of what's going on (a hard skill to learn on the fly if you're not already practice at it), and deal with the resulting back-and-forth? Or do you ignore it a "just one of those things"?

Software is terrible most of the time. Like, really really bad. Browsers are bloated and websites are gross, things that should take milliseconds take seconds. Phone software makes me ill. This blog post made me wonder if it's more than just incompetence; maybe we're all so used to the shit that we don't even bother trying to fix it. Like some perverse software learned helplessness.

If someone like me, who hates software with a passion, doesn't do the bare minimum to report problems, how many other less motivated people ignore their pain as well? How big is this problem? How much would it solve if it were fixed?

Support your shit, people

Speaking of shitty software, let's take a look at a couple examples of companies fucking over their users.

First off, we have CentOS, who has "shifted their focus" from doing long term support for their OS to doing a rolling-release style. Which means that they're ending support for their flagship thing 8 years earlier than they promised.

For context, a linux distribution like CentOS usually has a "support cycle". Some distributions, like Arch, are "rolling release" where they software packages get updated as soon as possible without much pre-planning. Other distros, like Debian, release on a much larger "stable" cycle where software versions are frozen in time getting only security updates.

Each type has its own use case. If you like the bleeding edge of development, something like Arch is better for you. If you're like me and have a pathological burning hate of software changing under your nose, something like Debian would be better. Businesses usually depend on stable distros, since they don't want to have to worry about changing superfluous shit like config files for as long as they can.

This is where CentOS comes in. CentOS is was based off of RedHat's "RHEL" release, which is supported for 10 years. Can you imagine that? Using the same version of software that you used 10 years ago? That's what CentOS was supposed to do for you and businesses. Sounds like total bliss.

For reference, Debian (which is what I use) is supported for about 3 years, plus 2 more years of lesser support called "extended support".

(CentOS gave you RHEL for free. Thats fine since you're on your own if something goes wrong, while if you're using RHEL you get support from RedHat directly. Businesses pay out the nose for that sort of thing.)

But because life is a bitch, and now anyone who was relying on CentOS being stable is now shit out of luck. Sure you could try to switch over to something like rocky linux, but that's still young and untested.

All those servers that will go unupdated, all those businesses that need to waste useless money on something like this, all because they wanted to funnel people into using REHL. This is why I don't trust anything that has a profit motive, because they're never ever going to be on my side.

The other even I saw was goodreads retiring their API access. They didn't do this because it was outdated or anything like that, they did it to stomp out competition. The goodreads website is already shit enough, but now they're trying to make a walled garden for it too. This is one of those own your platform things; just have your own website or wordpress blog or something where you post your own reviews of books. Make your own book list that you manage yourself, it's not that fucking hard. Don't trust other people with your hard work.

If you want some advice:

Once you make a promise to support something, you should keep that promise. If you're making beta software, you should be honest about that. This is basic trust exercises, you morons.

The philosophical case against sleeping in

This post from vox, written by Amanda MacAskill, is interesting, if not a little worrying.

The math is pretty simple: If you only need 8 hours of sleep a night, and you sleep an extra hour a night, that means that you're spending 365 extra hours a year unconscious. Over the course of 40 years, that would be 608 days of wasted time in your life.

Other maths are less alarming, but still worrying. If you sleep in every weekend (sleep in on Saturday and Sunday morning) for 2 hours on each day, you're going to be wasting 173 days over the course of 40 years sleeping in. Assuming that each year is 52 weeks.

My sleep schedule is a little strange. I go to sleep at around 7:30 PM and wake up anywhere from 1:30 Am to 4:30 AM, depending on when my body decides to wake up. I don't wake up to an alarm, even on work days. But on the weekends I almost invariably wake up a couple hours later, like in the weekend situation in the previous paragraph.

Do I think it's a fair trade? If given the option right now, would I trade 173 days of my next 40 years of life so that I can sleep in an extra two hours on Sundays and Saturdays? Or would I rather be doing something else with that time? Put in those words the answer seems pretty obvious. My own values scream at me that I should choose to keep the 173 days to do literally anything else; even staring at the wall and drooling at the mouth would be more productive, probably. I doubt I would look back on my life and say, "Man I wish I spent more time sleeping."

You can even generalize this problem to other things. If you spend an hour a day scrolling through Reddit, that means you're trading 608 days of your next 40 years to stare at your feed like that. Is it worth it? Maybe. If you've got interesting and useful things on your feed. How about the time you spend watching youtube, or cooking, or exercising, or working?

Thinking about the long term time cost of small things, it really brings to light the things you care about. For some people that extra time spent sleeping is crucial to their happiness, for others its a huge waste that could be used for literally anything else. I see those 173 days I could waste over the next 40 years and I ask myself what else I could do with 173 days: all the things I could write, or the things I could learn, or even going on long walks in the morning while I relax.

Even if you don't come to the same conclusions about your values that I have about my own, I think this could be a good exercise to make small decisions seem more urgent. For one, I'm absolutely going to be changing some of my sleeping in habits, especially on the weekends.

1000 True Fans

The blog post titled 1,000 True Fans by Kevin Kelly (With an awesome-cool OG domain name of "kk.org") talks about a concept I think is important, especially for the future of this website.

The idea is simple: If you can pay 1000 people to pay you to do something, you will be able to sustain a lifestyle of doing that thing. The true number is probably less than that, if you're not a spendy person; if you only need $20k/year you can convince about 400 people to pay you 4 dollars a month to be sustainable.

A "true fan" is described as someone who will buy everything you make, according to the post. I would also define a true fan as someone who would pay you even if you're not charging for something; like Patreon or donations for people making free YouTube videos.

The moral is that you don't need a large audience to do the things you love for a living. As long as you're making things your true fans will keep paying you for them. It's a self-reinforcing cycle.

This website will be 1 year old in Feb of 2021. In that time is has become my pride and joy, the subject of many of my thoughts, and the fruits of my labour. I love writing things and exploring concepts and sharing what I have. The mere fact of having a website in the first place is enormous for me; it's a dream I've had since I was a child; I always viewed having a website as something magical that only cool people could do.

I can confidently say that I would love to be able to do this for a living. I'm perfectly happy making things without anyone seeing them (obviously), but I also hate full time employment and want to escape it. It seems like the best solution to this issue is to find a way to make a living doing something I love, even if it's a meager living. It's about time that I started trying to scale this shit up.

The obvious goal is to get 1000 true fans. In actuality, the goal is more like "get 300 people who are willing to pay you $3/month to make things" but that's getting pedantic. It sounds all nice and mushy when you say it like that, but when you start considering the problem it gets harder. How do you go from having a 0 (maybe 1) person following to having enough regular fans that 300 of them will pay you monthly just because they love you so much?

This gives me a great opportunity to test my theories on how creative people build sustainable fan bases online. I've consumed a lot of content over the course of my life, and I've seen plenty of people build something solid. Here's what I've observed:

(These are all theories that I'm going to try to test, they might not actually be right)

There's plenty of other rules and ideas that I've come up with, but these are the general concepts.

I'm interested to see how these theories will work in the real world, especially when I start making myself more visible to other people through doing more visible things. As it stands nobody knows that this website exists, so the first step is to convince people that there's something worthwhile here.

Just know that I expect the process of building a proper fanbase to be a multi-year thing. Especially if you're as introverted and scared of other's expectations as I am. With that said, this is my explicitly stated intent to try.

Videos

I decided I wanted to list some good videos that I've seen over the month. These links aren't going to be from archive.org, since I'm not sure how to get them to host videos. When (not if) these links rot, please tell me and I'll find a way to figure out my local copies.

And thus ends the video section. There's not that many videos out there that are excellent. Finding three of them in one month is a huge win.

Fiction that I've read

I think it would be nice to include the fiction that I've read in the newsletters. So here's a small list of the things I've gone through:

Just a warning: A lot of what I read is fanfiction. Sorry not sorry.

In my research for the fio wiki page, I've re-read a few Optimalverse stories. You probably don't want to read these without a lot of context. You've been warned.

A lot of this was listened to with a text to speech generated audiobook while I was at work.

Dumping ground

Read Later

This is a list of things I want to read, but haven't. There's just too much stuff; how will I ever get to it all?

The end of the year thing

This year has been crazy. I mean, we're still recovering from timtimestim coming into existance. You'd think we'd be over that by now... But that's why hindsight is 2020.


Footnotes:

  1. Isn't that so cool? Now I can write all the footnotes! <-