(The original post is here.)
]]>Today I discovered Sam Stokes’ “What programming is like” and I like it as a sequel.
]]>Since then, I thought it would be cool to have this script actually generate and synchronize a playlist in my account, so that I could share it easily, since that isn’t possible at the moment. And I thought it would also be cool to have it be a web app available to other people as well.
So I built the vast majority of all that, and this v2 is now probably a weekend of concerted effort away from being fully launchable. But I’m not going to finish it.
Because fuck Spotify.
It’s always been a platform hostile to musicians, commoditizing their work and reimbursing them in peanuts at best, but its continued doubling down on backing content that spreads misinformation is too much even for my admittedly lazy self. I have no business expanding its reach in any way.
It’s a huge bummer on the personal front, as I’ve actually invested quite a bit of effort into this whole thing, but such is life.
I’m going to archive the repo and think about what else I could do with the domain. I’m a little partial to it since it’s the very first domain I ever registered, way back in 2005 or so.
Remember: your time, energy, and money have impact. Spend them wisely.
]]>YYYY.minor.micro
instead of my preferred YY.minor.micro
.
Since I’m reasonably sure I’m literally the only user, I’ve yanked deleted the five current versions from PyPI and releasing a new version, which is all documented on the package's history page.
If you somehow have any of the 2022.x.y versions, please uninstall them before reinstalling 22.x.y.
Oopsies.
]]><title>
tag,So now I don’t have to!
mdut is a tiny little tool for generating Markdown URL tags from a given URL. It functions as both a standalone CLI tool and Python library.
Here’s what the CLI interaction looks like:
$ mdut https://example.com
Copied to clipboard:
[TODO]: https://example.com "Example Domain"
And here’s how to use it in Python:
>>> import mdut
>>> mdut.reference("https://example.com")
'[TODO]: https://example.com "Example Domain"'
And here’s how I use it from inside Neovim:
nnoremap <Leader>mr :!mdut -s reference
nnoremap <Leader>mi :!mdut -s inline
nnoremap <Leader>ms :!mdut -s slack
The sequence Space
, m
, r
drops me on the command row ready to paste the URL and press Enter
to execute it, and then I can just paste it!
And that’s pretty much it. You can see more in the repo, and the package is available on PyPI.
]]>Courtesy of Mike Crittenden, I learned about the concept of yearly themes, and it really resonated with me. I came upon it around the same time as I started getting back to inbox zero, and thought it would be a good experiment.
If you can’t be bothered to watch the above video—even though it’s only 6:23 long—the idea behind yearly themes is to pick a theme for decision making throughout the year. For example, in a year of reading you might kill time waiting in line by reading—or listening to an audiobook—instead of playing games on your phone. Easy enough!
I’ve never really done New Year’s resolutions, primarily because no one ever really sticks to them—myself included. For some of the most common ones—e.g., losing weight—I’ve done rather well (no, really) at times even unrelated to the tradition, but long-term consistency has always been problematic. I think a major component of that is that I’ve always used a one-off carrot to motivate myself, and achieving the goal to some meaningful degree has taken away most of the motivation each time. What I haven’t done is think of these things in terms of habits.
I’d like to change that, because I don’t think it’s beyond me to meaningfully improve. After all, the aforementioned weight loss and progress in therapy over the past two years have shown me I can do Hard Things™, and making them stick is the next logical step.
Of course, I still might run into the issue of motivation vs. discipline, but there are ways around that, too.
By now I imagine you’re probably clamoring for anything concrete about what I actually want to do. Here are some ideas, along with some tentative metrics one might call “success”:
2022, your ass is grass. :D
First, the scorecard:
Score: 0/3 or 3/6
Interestingly enough, my writing here went in the exact opposite direction: more but shorter pieces. I’m quite alright with that—it’s still a net positive, and perhaps even better overall.
While it’s not really even close to finishing two books, I have actually made some headway on one. Given how much of a struggle reading has been for years, I don’t care about the lost point—it’s a huge personal win.
Rather predictably, what went best was the actual software writing part of the whole deal. I effectively moved on from one project and completed the other three, which feels pretty great.
Microblot was a somewhat manufactured need, apparently, as I eventually realized I no longer cared about it. I’ve unchecked automatic renewal for all four domains and don’t expect to get back to the project as it stands.
And that’s OK.
Starminder got the v2 rebirth it deserved. It turned out rather differently than I initially anticipated, but I’m super happy with it!
While I was debating whether Parsenvy was worth keeping around, a whole bunch of lovely people decided for me by contributing to v3. So that’s a thing that happened.
I haven’t quite gotten around to writing it up, but this very site got its promised update as well. Since it deserves its own post, I’ll leave it at that for now.
While the score—0/3 or 3/6—is nothing to write home about, I’m not disappointed. It’s been quite a year in ways not covered in this post, and far from unconstructive professionally. However, I think it really cemented my conclusion that how I’ve approached these annual goals isn’t really all that valuable beyond giving me something to write about twice per year.
That’s why this sixth edition is the last in this format. I’m still thinking through the details, but starting with 2022 I’ll be doing something different, which will hopefully encourage a more concerted effort to own up to these ideas.
But that’s another post already. ;) Happy New Year!
]]>There are only so many things we can be doing at any given time—too many and it becomes a never-ending to-do list full of anxiety. And there’s also a limit to how big those things can be—too big and just starting feels intimidating and futile.
Sadly, I don’t have any mind blowing thoughts or suggestions. I just wanted to type this out so I can maybe remember it the next time I feel bad about having reached my limit and still wanting to do more. Because I think that I’m actually doing pretty well. And you probably are too.