Shit, it’s July 21 already? Time just slips through my fingers. Here’s some links I liked or found engaging in the past few weeks.
I felt extremely called out by If work dominated your every moment would life be worth living? by Andrew Taggart at Aeon.com. Some of these considerations have been at the back of my mind for several years, but leave it to a philosopher to word them clearly and devastatingly.
As an indication of how far down this path I am: at around the time of the Sad Puppy thing in the SF subculture, I realized that I had almost completely stopped reading novels. I joined Worldcon as a supporting member assigned myself the Hugo-nominated works minus the ones that were obviously and purely nominated as a result of fascist entryism, and got my reading up for a bit. That was fun, but it meant I got back into the reading habit was by turning it into work. And ever since, the only way I can keep my novel-reading at a level where I remember how to read novels and don’t feel like I’m neglecting a vital part of myself is by assigning myself novels to read and adding them to my to-do list. I wish I could just go back to goofing off and reading novels just because I feel like it, but even as I type this line, at the back of my mind there’s always the thought that ‘I should goof off and read novels because it would make me feel relaxed and be good for me’. Which is another way of turning it into work. That’s how engrained this habit is in me.
I think everyone should do a reasonable amount of work, for different purposes: to help keep society going, to keep themselves engaged in society, to make things for themselves and for others. For the past ten years, I’ve been doing much more than is reasonable, at the expense of the not-work part of my life.
Until recently, I’ve been ‘meh’ about the idea of boycotting Amazon, in part because it’s become the only game in town for many things. About a third of the modern internet runs on its cloud servers, for example. However, hearing that Amazon Germany employed neo-Nazis to control immigrant workers in its warehouses makes me want to give this a go. Don’t buy from Amazon if you can at all help it, and especially avoid Amazon Germany, which the parent company has been pushing very hard in countries on the European continent.
I haven’t done linklogs in a while, but I have been storing and retracing links, so have a massive link dump:
I try not to linklog paywalled posts, but this Patreon-only post from Colleen Doran is worth it to me: Consistent Focus, Consistent Action. It is the first of a series in which she discusses her past habit of attending self-help seminars and distills the useful things she’s learned in them into short posts. The first one is about consistent focus and consistent action, and the need to spend time on something every day, even if it’s just half an hour.
In a recent blog post of my own, When Good Habits Aren’t, I was critical of the concept of daily, bite-sized habits, because people who promote them rarely discuss the cost of good habits or the relative benefits of one good habit compared to another. But if you can handle the cost and prioritize the habits that benefit you the most at any given time, building habits works. I may want to follow up on that.
I am really enjoying Posts.emsenn.net (note: impermanent URLs) which talks about organisation, activism, org-mode, LISP, Free Software and related issues in great detail, with great clarity and, it seems to me, a unified underlying vision. I don’t agree with everything they write, but each post has strong arguments and makes me think.
Trying Jack Monroe’s Pearl Barley, Lentil and Mushroom Risotto and boy do I need a cheaper source of pearl Barley. Their Aubergine and Lentil Vindaloo was a hit with the kids last week.
Anil Prasad’s Open Letter to Spotify Employees is worth a read. It was originally posted on Facebook, but a reader has been kind enough to repost it in full on their blog. Longish excerpt below:
I know more about your business than you do. I am in direct contact with musicians at the highest levels, as well as industry executives that hate every fiber of your beings and all you represent. They have explained everything about your business to me. In particular, I know all about your “social media ops manipulation squad” sent to pepper comments in posts made by people like me revealing the truth about what you are.
Today, I removed multiple fake comments from fake accounts created by Spotify employees or agencies posting on your behalf. The language was VERBATIM what you’ve told my musician friends and industry people. The fact that you don’t have the balls to post as yourselves speaks volumes about the pernicious bullshit and lies you spew. I’m on to you.
I am amused I remain a threat to you. It’s been years. You had your IPO. Your employees make more than six-figures on average, while musicians can barely afford a cup of coffee with their earnings from your service. You won. You came, conquered and decimated the musician ecosystem, destroying countless lives and careers for your own enrichment. I hope you feel proud of yourselves.
What Does My Site Cost is great for testing how much it costs for users to use a single page from your website on a cellular collection, on a phone. Find out how much you’re subsidizing the mobile carriers with your site!
Macros in org-mode is a beginner’s guide to setting up macros in Emacs org-mode, which I’m likely to start doing soon now that I am using org-mode almost exclusively for writing tasks.
One of the spiciest, raciest, juiciest obituaries it has ever been my pleasure to read: Norman Stone.
Simon Jester thinks having passion for coding is bullshit.
Before we wrap this up, here’s a message from our sponsor. Our sponsor is me! If you were looking for a sexy Goth-oriented webcomic to while away those bleak hours when the cemetary is closed, read Cultish Manners, my new webcomic that I started working on in November. You can subscribe, too, if you have a Comicfury account!
Finally, have some Dr. Brooke Magnanti on Twitter shutting down the concern trolling about ‘echo chambers’ that you get from certain quarters whenever you try to curate your social media experience. I can’t even see the Tweet that she is quote-tweeting but the thread itself is as concisely phrased as I coul ever want it to be.
I was going to create a third post on my NaNoMango Project, following up on Part One and Part Two. But then things happened and I didn’t post much here for a while. Since then, I’ve decided to start publishing what I have of the project.
Cultish Manners is a one-shot that may become a longer series if people enjoy it and I have time. In this story, Tess, a baby Goth, goes to a darkwave show with her friend Aideen, a seasoned Goth, and she learns more than she bargained for. It’s set in a world that owes a lot to that of The Cosmic Beholder1 and can be presumed to be the same universe until I decide otherwise. Indeed, Tess was initially Beholder’s Jung-La until I decided that that was not the kind of foil that Aideen needed. The character Aideen is on loan from James Damaged, Cyberkitten01 on DeviantArt. Beware: Cyberkitten’s work is considerably more erotic and explicit than mine.
At the time of writing, there are six live pages on the site and I’m working on more. As with all my other comics, it will appear on an irregular schedule until done, though there is sort of a pipeline of pages that are at least partly done. I created Cultish Manners for NaNoMango in October 2018 and resumed work on it in May of this year.
The webdesign is an attempt at creating a super-minimalist webcomic template for Comicfury that works well on phones. Here it is on iPhone 6:
What it lacks in visual pizazz, it makes up for in speed and compatibility. Indeed, it’s so fast that while I was working on it, whenever there was a change to the HTML code that had no visible impact, I could not tell if I had reloaded the page or not. Some small issues are still unsolved (see the user comment? The “Post a Comment” link under that is not aligned correctly) and I will eventually want a graphical header if I can spare the kilobytes – I am trying to keep the full load of each page under 300 kB.
For visually impaired readers, there are transcripts available that are hidden from computer screens but that a screen reader should be able to pick up. Let me know if this does not work. This is reflected in the way the page is displayed in Lynx:
Consistency in the design was helped by the use of the Vanilla CSS stylesheet which sets reasonable defaults for all major web browsers.
Back in October of last year, when I decided to do Inktober, I changed my schedule around so that I would have time first thing in the morning to draw: after shower, breakfast, walking the dogs and all the other necessary tasks of the morning, I would set aside at least half an hour before heading to work. That way, regardless of how much overtime I would run up, or what kind of busy situation I would return to afterwards (2018 was that kind of year), the goal of one drawing per day would be feasible. Or at least, because working in pen and ink means that sometimes you have to leave a drawing along to wait for ink to dry, there would be something ready at the end of that morning session that I would be able to finish very quickly.
This strategy was based on a combination of tips that I would often read from successful artists on social media: give yourself half an hour instead of always trying to carve out a four-hour block of time, find a time slot where you’re unlikely to be interrupted, work daily, challenge yourself with a difficult but achievable goal, get up early to do it, simple and done is better than highly advanced and stuck in your head, don’t wait for inspiration to strike. You can find advice like that from pro artists all over the place, whether you ask for it or not. It was also, on the terms of the Inktober challenge, very effective for me. I got 30 out of 31 drawings done, including two where because the prompt didn’t do much for me, I quickly made the choice to draw a different topic instead. I missed one day because I was a bit under the weather, cheated a little bit on one day by digitally fixing up an older drawing that was on-topic for that day’s prompt, and the final day of the challenge, I made the conscious decision to call it quits, then later drew something anyway. And in the evenings, I still had time, just about, to train for the 4 Mijl van Groningen once a week.
So far, so good. I was proud to have finally developed a habit that I could stick to, and continued working through November and December on a slightly modified version of the same schedule, using different challenges: NaNoManGo in November and Fatvent Calendar1in December2. But over time, sticking to that early-morning half hour became harder and the productivity effect faded. I did not have a succesful NaNoManGo and the Fatvent Calendar thing sizzled after just a week. Worse, I started to feel increasingly frustrated and stressed, and my physical condition and sense of well-being declined. What did I miss?
Well, the first part of it was that I am simply not a morning person. For every half hour that I get up earlier, I gain maybe 15 minutes of usable time, and that ratio gets worse the earlier I get up. That list of tasks I need to do before I could start on the half-hour time slot? easily adds up to 90 minutes, so to start drawing at 8, I have to set my alarm to 6:30, and there is no way I can even get to bed in time to get eight hours of sleep. Also, I especially hate getting up before dawn, or doing real work before dawn, so by the time Daylight Savings Time ended during the third weekend in October, I had a real problem. In hindsight, it was at that point during Inktober that I started to struggle.
In addition, I mentioned training for the 4 Mijl during October, but in reality, that was only two Thursday evenings in the first half of the month, sustaining momentum built up in the months before. After that, regular running was over. And because I had also sacrificed bicycling to work in order to carve out the time slot (saving 20 minutes each morning by taking the train), I was not getting the exercise I needed. Even though I was only aiming for half an hour to an hour, the measures I took to ensure I had that time were harming me physically and mentally. And that was before they stopped working altogether. The annual ebb and flow of work meant that my hours would lengthen, but early in 2019, as the company was reorganizing, meetings were out of control and the expected ebb didn’t happen, they didn’t shrink back again. We had our vacation in Spain where, it turned out, trying to be productive while traveling had its own problems, and by March and April I was suffering chronic stress and had to seek professional help.
Only after I sought professional help, the situation at work became more regular and predictable again, and by the time I got to speak to someone about my stress problems, things were already getting better by themselves. I dodged a bullet there, but I have had to rethink whether my new good habits were really all that great.
For now, the reasons I’m doing better seem to be:
I recognised I had a chronic stress problem that I couldn’t solve on my own;
The days were getting longer again so getting up early became less of an ordeal. At the moment, I wake up before the alarm because there’s sunlight and a dawn chorus. I still don’t get enough sleep, though;
I recognised that other things than art practice were more vital to my health and well-being; instead of having comics or drawing as the non-negotiable thing that I have to practice, I now ride my bicycle to work five days a week again, and make myself available for more running events. After two months, I am definitely feeling much better even though I exhaust myself every day. I have more stamina and am more emotionally regulated. I am sad that art and comics cannot give me these things, but that’s how it is. 3
I am a little kinder to myself: I let myself arrive at work later because that is both allowed and more compatible with my circadian rhythms; I have given up on daily art challenges for the time being, and I’m embracing the fact that my mind will always flit between projects. The worst thing that can happen if I add another project is that instead of, say, six projects that will progress at a glacial pace, I will have seven. Whereas if I don’t add it, it will sit at the back of my mind, in a holding pattern, and the six projects will still progress at a glacial pace but I will also be frustrated that I cannot get started on the seventh one.
I take naps, because I’m not 20 anymore.
Bicycling is so much fun! I had my road bike fixed and I now zoom zoom zoom through some of my childhood stomping grounds in search of longer routes to ride.
So I’m not out of the cult of the hustle yet; I’m just applying it differently, in more conventional ways. Sadly, the side effect of prioritizing physical activity over art means less art from me. But I will have a longer and healthier life to produce art in, I guess?
The Lives of X!Gloop, my oldest comic, is updating this week! There were updates on June 1 and 2 while I was away, and there’ll be one later today and on Thursday. I started drawing this in 1989, making this the comic’s thirtieth anniversary – the exact day will be September 13.
I plan to update a lot more frequently this month and there will be a brand new webcomic starting on June 8. I’m tired of keeping projects on hold.
Over the past few weeks, updating Obsession Du Jour and the Patreon has more or less fallen by the wayside as I found myself too busy with my day job and other activities to spend an hour at a time on writing text. While occasionally something like an illness happens that prevents me from working on my projects, my main problem is that I have too many different things going on for the amount of time that I have after work. So naturally the sane approach to solving this problem would be to look at my existing problems and cull them remorselessly, right?
I guess it would be but that’s not what I’m doing. My mind has been very restless lately and I keep finding new projects to start, and while I don’t actually have time for them, I’m also fed up with delaying things because I’m already blocked with other stuff. So I’m just letting the new projects come to me as they want. Most of them are a bit geeky and so they scratch an itch that working on a webcomic cannot; but there are also webcomic projects in the queue.
The first thing that I’m doing is actually a continuation of an existing project. About a year and a half ago, I got my old iBook that I bought in 2005 back from my parents, who had used it for a while but had left it sitting in a cabinet for a few years at that time. I wanted to do something with it, and decided to make it a study machine that I could put a free OS on so I could brush up on my Linux/UNIX skills. I used to use Linux as a daily driver, but it’s been a while since and it had started to bother me that I had forgotten so much. To upgrade a 12-year-old laptop, I ordered a 1 GB memory stick from America, which I installed immediately when it arrived, and a SSD drive, which is still waiting to be installed because apparently that is a procedure that can take multiple hours and a bit of skill. I don’t trust myself to do that.
I quickly learned that Linux on PPC has dwindling support, though several distributions still offer it, there is still development work being done on porting Linux apps to PPC systems and there’s a lively community on Facebook, spun off from the Low End Mac group: Linux on PowerPC Macs. I also learned that it was very easy to fill up my hard drive with dependencies I don’t need, and that there was a lot of PPC-specific effort involved for me for little practical benefit, including turning the machine on in the first place! So it went on the back burner. But I still want to maintain and improve my Unix-ish skills.
So a few weeks ago, Ubuntu 19.4 came out and I wanted to try it, but I didn’t want to go back to the iBook. Instead, I decided to look into virtual machines. I installed Virtualbox on my MacBook and built a virtual machine with Ubuntu 19.4. It was easy – and boring! But while I was tinkering with virtual machines, I also decided to build one with OpenBSD.
This is what Ubuntu 19.4 looks like in my Virtualbox:
My impression was that (unlike what runs on the iBook), this would be immediately useful if my current laptop died and I needed a production system quickly – it ships with LibreOffice and there’s a faux App Store that will help you get your other software running quickly. It is pleasing to the eye in a bland, corporate way and… it just doesn’t float my boat. Whereas when you boot up the OpenBSD system that is installed as standard, and log in, you get this:
Now that takes me back. I’ve worked on Unix systems on and off since 1994, and this looks like some of the earliest Unix systems I’ve ever worked with. It is not at all pleasing to the eye, but it’s ugly in a way that inspires me much more than the ready-to-go working environment that Ubuntu 19.4 offers. This is not a system I can use. But it’s a system I can learn, while setting it up manually the way I like it. So that’s what I’m going to do: follow some instructions to configure it in a way that meets my needs, make it practical but pretty and also different enough from my existing systems that it’s interesting to use. Then I take what I’ve learned and apply it to the iBook. My plan for that system is to create a keyboard-driven system for distraction-free writing and coding (more on coding later).
None of this is intended as a slight against Linux in general or Ubuntu 19.4 in particular. I’m really glad that it exists and that if I do have a catastrophic breakdown of my existing computer systems, I have something available to get back on my feet quickly.
Like I said, I don’t actually have time for this project and I’m doing it by snagging 15 minutes here and there, whenever they’re available. For the past two weeks, I’ve done no work on it and I’m in danger of forgetting not just what I learned, but also where I found it. I’m using the following resources:
As if this wasn’t enough of a time sink, I’ve started some other geeky projects at the same time: I am trying to learn more about Jekyll and I’ve started learning/using Emacs Org Mode. My reasons for studying these things are closely related: I want to stop using a CMS for my webcomics and deploy them in the form of static pages instead. The CMS I’m using, WillowCMS, is great, but it’s had some issues relating to updates in the language it’s written in, PHP, lately, and it’s a one-person project that isn’t being updated much because the one person has her own things going on. In addition, like all CMSes, it has multiple attack vectors for hacks and spam. Finally, I barely use most of the features it offers, including some that I asked for. I have stopped caring much about comments and started caring much more about speed and safety. I think static pages can offer that speed and safety, but I don’t want to go back to hand-coding every webcomic page individually like I did in 2000. So I need a system that can spit them out based on information I input. Jekyll is one option and while talking about it, I got in touch with a webcartoonist from Belgium, Yncke, who had created a webcomic template and page generator for Jekyll for themself and has been very helpful in adapting it to something that can meet my needs as well.
Emacs Org (or Org-mode) was suggested to me by Matthew Graybosch and others as a way to manage workflows and create templates as well, which may be used to generate HTML pages directly or fed to Jekyll for further processing. It also offers a simple Markdown-like markup language plus to-do lists, time tracking and other things I can use while working on projects. I am interested in using it also because it’s another thing that I want to relearn. 20 years ago, I was reasonably proficient at using Emacs, but I’ve forgotten most of it. Integrating it into my work process will help me bring some of those lost skills, and more, back. Of the three geeky side-projects, this is actually progressing best: I’ve been using Org for my to-do lists and am in fact writing this blog post in it, as well as a new White House in Orbit story.
As far as structured learning is concerned, I’m still in the beginners’ tutorial, but thanks to the greater discoverability that Aquamacs allows, I’ve been able to try a few things outside the tutorial structure as well and those have already been useful. There is also a tutorial for making Org and Jekyll work together, though that is not the only way to do it: multiple plugins exist.
In the longer term, I would like to learn a programming language, probably Ruby, but that’s not currently an active project at all. I have too many!
Thanks to the efforts of my friend Branko, the whole rocr.net site including the backend is back up. I haven’t tried to upload any new content, because there isn’t any for me to upload, but it seems to be working just fine at first glance. I’ll look for flaws and work to future proof things a bit next.
I still want to learn Jekyll because I have a few side-projects going that I’m not currently self-hosting, and I want to bring those to my website but not necessarily within WillowCMS.But it’s less urgent now.
I’ve been trying to teach myself how to use Jekyll to see if it can help me set up static websites that aren’t dependent on a CMS with a database. My needs have changed and for the state of my webcomic site today, WillowCMS is very over-engineered. For example, I no longer allow comments on the website; the website updates sporadically and most of the features that WillowCMS supports have never been used. Some of those features are now obsolete because they’re API calls to external services that no longer exist. Even though Willow works pretty fast, it still has considerable overhead and maintenance needs that are no longer worth it for me. So I’m looking at alternatives.
Problem is, the learning process is not going well. Part of it is my own impatience: I did about half of the basic tutorial on the Jekyll website before I started thinking about what I needed specifically to run a webcomic site through it, which is not a default use case and wasn’t really addressed in the rest of the tutorial when I skimmed through it. Webcomics have needs such as scheduled incremental updates (less of a problem for me today) and the ability to process a large number of very similar image files into separate web pages quickly. The tutorial is light on info on how to work with images and the use cases that Jekyll showcases aren’t very like a webcomics site. So I googled and found some plugins and themes that would be able to handle the webcomics use case.
The first I looked at was the Jekyll webcomics plugin from Nompute. The webpage for that showed the code and an explanation of what it does, and had a statement at the end that inspired confidence:
There’s probably a more efficient way to do this, but the code works well enough for a couple hundred comic pages.
I thought “a couple hundred comic pages will do quite nicely”. I had already decided that my test project would be only ten pages long, but it would be nice to know that an archive the size of Rogues of Clwyd-Rhan would be within the plugin’s capabilities. I’m learning that the Jekyll community puts a high value on speed of output generation. Personally, that is nowhere near as important to me as the speed at which the static pages can be served to readers, but I might change my mind if I had to generate a site over and over again.
Unfortunately, the first build of my test site using this plugin failed with the error jekyll 3.8.5 | Error: no implicit conversion of nil into String and I entirely lack the skill to follow up on that*, beyond a Google search that left me none the wiser.
Another problem was that while there is program logic included, it does not come with the layout files or instructions on how to use the variables. Probably not a problem if you already know Jekyll well, but for me as a beginner, I need a little more to work with.
After some deliberation, I abandoned this plugin and went to the second option I’d found, the Webcomic Jekyll Theme from Peahatlanding.
Eh. I don’t even remember what went wrong when I tried to run it locally, but it didn’t seem to do much. Because the instruction for this theme relied heavily on GitHub, I tried to run it on my own GitHub account with GitHub pages, but files did not appear to be generated even when the instructions said they would. As there were apparently technical difficulties behind the scene (site updates not working at all, according to emails from GitHub with the recommendation to try again later), I decided that I was not going to spend any more time on that one either. GitHub isn’t any easier to use than the local shell if you’ve never used GitHub for anything before.
OK, so a common theme is that when I abandoned the tutorial for whatever shiny trinket I’d found on the web, I was clearly trying to run before I could walk. I simply lack the expertise to tackle problems as they occur. But I do think the complexity and the sheer number of dependencies aren’t helping. Jekyll relies on Liquid templating, which relies on Ruby which runs in the command line or inside GitHub. It consists of a large number of small program files and plugins, any of which could be a failure point. Compared to simply hardcoding dozens of very similar pages in an editor, there’s a trade-off: less tedious, repetitive and error-prone work, a greater risk of the whole thing falling apart intractably.
I have one more plugin I want to try for my test project. It was given to me personally by Yncke of Yncke.be who uses it for webcomics in multiple languages, and they kindly supplied layout templates as well. But I’ve decided to sit on it and go back to the tutorial for a bit, followed by an attempt at making a simple site. So my new project is expanding the ROCR.net placeholder (link may vanish once the site is back up fully) into a small emergency website with about pages and whatever I can salvage from the cast pages, before tackling a small webcomic project with actual webcomic pages. Then I will start looking at Yncke’s plugin again.
And indeed, it turns out that there are places where Jekyll simply breaks on my system. It took me about an hour of trial and error getting template code to show on character pages to determine that, on my MacBook Pro, Front Matter Defaults do nothing at all. I have to hand-code the front matter on every individual character page. Or, as I type this, I realize it may be a mistake on my part after all. But I’m trying to limit the time spent to a few hours a day and this time is already up, so I will revisit that tomorrow or whenever I have some time**.
*update: I have learned how to backtrace in Jekyll and that may help.
**update 2: It was an error on my part that I have now fixed. I was literally in the middle of a sentence that said “but having to hand-code that stuff is no big deal as I would need to put empty front matter on any page that has front matter defaults anyway”, when I realized that I had removed the front matter entirely after specifying the defaults. So I restored the defaults in _config.yml, edited the front matter in the affected pages and tried again, and lo, it worked. This is exactly why I write walls of text like this: so I can both track what I’ve learned and what I’m still struggling with, and go over my thought process once again so I can come up with solutions.