More Corel shenanigans

Comments

So simply disabling the Corel Update Helper wasn’t enough to get my machine back in reasonably working order; I couldn’t figure out what was causing CUH to relaunch periodically and simply disabling the LaunchAgent didn’t do that. So, I ended up deleting CUH entirely:

sudo rm -rf /Library/Preferences/com.corel.* /Library/LaunchAgents/com.corel*

and while I was at it, I uninstalled Corel Painter.

Read more…

Corel Update Helper focus stealing

Comments

For the last few months, every now and then my foreground window will “blip” out of focus momentarily. This is slightly annoying whenever it happens, since that means that whatever I was doing gets disrupted. If I’m drawing a line, the line gets hecked up. If I’m typing text, letters get dropped. If I’m recording in Logic, my audio drops out for a couple seconds. You know, annoying.

I was searching high and low for what it might be, and in doing so I noticed that Karabiner-Elements (which I use to remap some of the keys on my non-remappable keyboards) has a window focus log (from the Karabiner menu choose Event Viewer then Frontmost application), which is intended to make it easier to tell the bundle name for per-app layout overrides.

Well, this is handy!

Read more…

Stop calling .org non-profit!

Comments

Yes, it sucks that the registry behind the .org gTLD has been sold to a for-profit corporation. But this article, and many others like it, keep on propagating a really messy misconception which I feel has done active harm:

The decision shocked the internet industry, not least because the .org registry has always been operated on a non-profit basis and has actively marketed itself as such. The suffix “org” on an internet address – and there are over 10 million of them – has become synonymous with non-profit organizations.

The Register is at least being careful to be technically correct1 here, in that the registrar is non-profit and has “become synonymous” with non-profit organizations. But the .org gTLD was never intended to be for non-profit organizations. In the original RFC, the intention was that the gTLDs were:

  • .gov: for government institutions
  • .edu: for educational institutions
  • .com: for commercial enterprises
  • .mil: for military use
  • .org: for everything else; the “org” was short for “organizational” as in “we don’t know where else to put it for now”

This was also when .net was created (despite not being in the RFC), referring to network services and infrastructure providers.

Read more…

iTunes Match kinda sucks

Comments

So remember how I was using iTunes Match and a smart shuffle app to manage my music?

Well, that hasn’t ended up working all that well.

The smart shuffle app, in particular, is incredibly unreliable and slow, and also my iTunes Match-backed library has… Issues.

Like, a lot of songs won’t sync over because of an “unspecified error” (I assume label interference, because they’re all songs from a particular label as far as I can tell), and a lot of other songs won’t sync over because they appear as “duplicates” since like… sometimes I have more than one instance of a song across multiple albums. Best-of compilations and singles releases and so on. Sometimes it does legitimately find a duplicate I want to get rid of but most of the time it’s just… not. And even when it does, it’s a crapshoot as to which one it decides is the duplicate and which is the “real” one.

Like. My whole thing is listening to albums, not individual songs, and if a song appears in multiple albums, I want it to be played within all of those albums.

At least they seem to have figured out that there are sometimes multiple versions of a song by the same artist and on different albums (like, it never seems to show the various Past Masters versions of Beatles songs as duplicates of the album versions). (Oh I guess I talked about that last time too. Obviously this is important to me.)

I’ve also noticed that playing songs on the iPhone doesn’t update the play stats in my cloud library, and even with the enormity of my library I’m still hearing albums more frequently than I’d like.

I feel like there has got to be a better way than any of this.

Oh wait, there was one, and Apple stopped bothering to support it.

Stop it with the zero-calorie sweeteners

Comments

I love my Sodastream carbonator. But I don’t like how all of its soda syrups have “50% less sugar” by them replacing it with Stevia or sucralose. Yesterday at Target I saw that they had a new line of syrups that claimed to be made of just fruit juice, and I looked at the ingredients, and didn’t see anything problematic, so I bought some.

Just now I made a cup of soda with it, and at the first sip realized that they’d snuck Stevia in. I looked at the ingredients again, and there was at the very end, steviol glycosides – the distilled essence of what makes Stevia Stevia.

So, that’s $10 down the drain, literally.

Read more…

How the heck I can listen to music the way I want to

Comments

Okay, after posting my rant, someone on a Slack I’m on pointed me to Smart Shuffle, an alternate player for iOS which plays music the way I want to listen to it. (Thanks, Roman!)

I also signed up for iTunes Match, which provides the only part of Apple Music I care about (while also costing way less). And it seems to be doing a good job of pre-populating my device with music, and Smart Shuffle is able to play from iCloud while I’m on wifi and then automatically switch to stuff that’s locally cached when I’m not on it, so hopefully that makes for a reasonably seamless experience.

I guess with the vast quantity of music I have at this point I don’t really care about play stats for excluding stuff I’ve heard recently since I have so much of it that it’s less likely for duplication to happen like that.

The iPhone does have a setting for how much music to prefetch but as far as I can tell there’s no way to tell it which playlists/songs/whatever to prioritize; as far as I can tell it intends to focus on stuff that I listen to already, which is pretty much the opposite of what I want.

I suppose that if I care incredibly deeply about having proper randomness available on my phone I could just get a 512GB iPhone when I inevitably upgrade. I guess that’s a decision I can make next time I’m in Portland (which is in just two weeks).

One annoyance with iTunes Match so far is that it refuses to cloud-upload songs which it sees as duplicates. Fortunately its duplicate detection seems to be a lot better than in the bad old days of just matching artist and title, but unfortunately it still means that if you have an artist who has released multiple close-enough-to-each-other versions of the same song on different albums, or has released a best-of compilation, you’ll only get one rendition of it and it won’t appear in all the albums, and you can’t even choose which one is the canonical album placement. Kind of annoying. But less annoying than all the other things iTunes annoys me with, I guess.

How the heck can I listen to music the way I want to?

Comments

I collect music. Lots and lots of music. I have something like 250GB of the stuff. It’s across basically every genre known to man. Possibly a few unknown to man, too.

The way I’ve preferred to listen to music for the past 15 years or so is to have my player device of choice shuffle by album - which is to say, choose an album at random and then play it all the way through, in order. It works really well for my listening habits, because it ensures that I will, for example, get a complete opera (following all of its cadences), followed by a complete rock album (following all of its cadences), followed by a complete abstract electronica compilation, and so on. Sometimes I’ll get singles interspersed between them. That’s fine.

The main way I discover more music is if I come across something I like (from random YouTube exploration or adding the SXSW torrents to my library or whatever), I will just buy that artist’s entire discography all at once, with the hopes that those albums will eventually come up in my listening sometime in the future. It’s like a little present to my future self.

Unfortunately, the modern music app landscape makes this incredibly difficult to do. Back in the classic iPod era, this worked well enough - I’d make a smart iTunes playlist which just filtered out stuff I’d listened to recently, and then populated with random albums up to whatever storage limit the iPod had. (Once upon a time I could fit my entire library into a single iPod Classic but that hasn’t been the case for well over a decade now.) And I continued with this with the iPod Touch and iPhone and so on, because even though those devices didn’t support shuffle-by-album, the smart playlists still worked.

But now a few stupid things have all happened:

  • My iOS devices stopped being able to sync (and none of the “fixes” I’ve found work at all)
  • iTunes switched from being a “manage your library” thing to an “Apple Music frontend player”
  • I tried using iTunes Match to at least get the iCloud Music Library thing but now that’s made it so that even my smart playlists don’t work anymore – even after disabling iTunes Match! (In particular, they no longer shuffle by album and I’m no longer able to force it to re-select a new set of songs, which I used to be able to do by removing items from the playlist.)

For years I have stuck with iTunes and iPod/iOS because they were the only ecosystem I could manage to get to work right with my listening preferences. I haven’t found any other players, much less device synchronization systems, that allow for the shuffle-by-album thing. But now even that isn’t working anymore, and Apple is showing no interest in fixing it; I’ve had bug reports open for years on each of the individual issues I’ve mentioned above, and nobody I know seems to run into these problems but nobody I know wants to listen to their music in this way; they’re happy to just listen to random radio/Apple Music/Pandora/etc. stations, and don’t care about plumbing the depths of their gigantic, varied collection.

I keep hoping that someone will know of some alternate player and sync solution that lets me do what I want though. Every now and then someone will maybe mention that there might be a Foobar2000 plugin or something but I’ll look into it and not only is Foobar2000 Windows-only but it doesn’t actually do what I want, or it has no way of synchronizing with plays across devices or whatever.

I’m not even asking for anything that exotic or unknown. iTunes used to do this as its normal mode of operation. But it’s like everyone who makes music software and library managers has forgotten about everything, possibly because of the streaming services which are in turn patterned after radio, which never provided a listening experience I enjoyed.

I’m not about to start hand-managing my library either. My brain isn’t nearly large enough to keep track of what music I’ve listened to or make the decisions of what to listen to next. I want a simple unbiased random algorithm to do that for me!

Why is this so fucking hard?

EDIT: It looks like there are macOS and iOS versions of Foobar2000. The macOS version is outdated, abandoned, and doesn’t support album shuffle (or external device sync). The iOS version supports album sync but just uses the iTunes library on the device, which is great if you can sync music into it but I can’t. So frustrating. But it looks like maybe there’s a way that I can sorta bludgeon it into working? We’ll see.

EDIT 2: So of course right after I posted this, iTunes suddenly started behaving again. Let’s see how long it lasts this time.

Also someone on a Slack I’m on wrote:

Perhaps it’s time to concede that whatever you want from it is just not going to work reliably any longer, and adjust expectations and habits accordingly? It’s quite obvious that it’s not going to get fixed anytime soon.

Nah, fuck this attitude entirely. I’d have to completely change the way I listen to music, and all of the ways that are even feasible anymore are the ones which just so happen to help the record labels instead of actual musicians, for some reasonGee golly whillikers.

I am so sick of control being taken away from me, especially in a way which doesn’t benefit the musicians I want to support.

Drawing apps, still meh

Comments

Once again it’s getting time to renew my Adobe Creative Cloud subscription, and once again I really don’t want to spend a few hundred dollars for another year of access to Photoshop. So as usual I’ve looked at other drawing programs to see what the state of affairs is for my uses, and boy howdy is it still pretty dismal.

Read more…

So about that AMP-script thing

Comments

Two days ago, Google breathlessly announced this amazing new revolution for websites:

Or in other words:

Let’s make a limited subset of the web that guarantees performance! No JavaScript, to keep it lean!

(Two weeks later)

So about that JavaScript thing…

Read more…

Support networking

Comments

I’m in the midst of a really bad fibro flareup lately, and am burning through my sick days at work pretty quickly. It’s frustrating and I need a way out, and something else that I can do as sustainable income.

I’m in a bunch of differently-intersectional support circles, and I’ve noticed the following:

Disability circles: Doesn’t understand the impact of my disability on my profession (because they don’t understand what my profession entails)

Technology circles: Doesn’t understand the impact of my disability on my profession (because they don’t understand what my disability entails)

The thin segment of disability+technology together: Doesn’t have any answers either, just sympathy and relatable experiences with not knowing what the hell to do

I keep asking in technology circles to see if anyone knows other jobs that would use my brain without needing to use my body and I keep on having to grow the list longer and longer with preemptions. No, I can’t go into management; I’m not good at coordinating other peoples' moving parts and it’s not what satisfies me as an engineer, and the brain fog from the pain makes this not a thing I’m likely to be able to get good at. No, I can’t go into teaching or training; that has even more requirements and rigidity in terms of my scheduling and I cannot do anything that requires that I be available at precise times on specific days.

I ask in disability circles, and there’s another, different list; no, I can’t use voice recognition software to program (not while there’s shared open-plan workspaces or I’m working in languages which aren’t suited to it – and I usually don’t have a choice of language). I still can’t go into management; it’s a completely different set of skills and not a natural progression. I already have a good ergonomic setup, both at home and at work. And employers don’t look too kindly on me smoking weed all day.

And in the intersectional circle, the only response I ever get is: “I have no idea, let me know if you figure something out.”

Read more…

I’m not buying a Mac Pro

Comments

Whenever Apple talks about a new piece of high-end hardware at WWDC, the Internet resonates: That’s so overpriced! Why would anyone pay that much money for a piece of hardware? A Hackintosh would cost way less! Apple is such a ripoff!

The thing is, the reason these hardware announcements are made at the WorldWide Developer Conference is because the conference is for developers. People who are building the software for people to use. And a lot of that software is for highly-specialized, resource-intense purposes.

Yeah, the average consumer doesn’t need to handle thousands of audio tracks and software instruments at once. The average consumer doesn’t need to handle multiple simultaneous streams of uncompressed 8K video. The average consumer doesn’t care about the latest API features in the next version of macOS or iOS. But the average consumer isn’t who’s being talked to in these presentations. There’s a reason the consumer devices get their own “town hall” events with an entirely different tone.

Read more…

Back to Ting I go

Comments

When I moved back to Seattle, I was using Ting Wireless for my cellphone service. At the time their service was a bit spotty (as they were a Sprint MVNO) and in 2013 I ended up switching back to my usual standby, T-Mobile. At the time T-Mobile had a $30/month plan which covered my needs: 100 minutes per month (with additional at 10¢/minute), and enough bandwidth for my needs.

A few months ago I decided to try out Xfinity Mobile, because it was supposedly only $10/GB/month for me since I’m already an Xfinity Internet customer. (Not by choice, mind you, but that’s a separate rant.)

However, they seem to be a bit aggressive at “overestimating” my bandwidth usage (so my bill was usually more like $30/month, not actually saving me anything), and pretty much every incoming call would get dropped with a “Call failure” error. This is of course a common issue, which Xfinity refuses to acknowledge, and there are plenty of other complaints on the customer forum, all of which are unaddressed beyond platitudes of “we are working on this.” (Going back well over a year now.)

Anyway. I’ve given Xfinity more than a fair shake. Unfortunately, the $30/month plan I was on with T-Mobile is no longer available (I’d been grandfathered in for quite some time), but since 2013, Ting has improved things a lot; in particular they are now doing LTE on T-Mobile (rather than CDMA on Sprint) and given how reliable T-Mobile has always been for me in the past, and how much the folks I know on Ting have continued to sing its praises, I’m pretty optimistic that this will work out better this time around. I do suspect the price will be somewhat higher than Xfinity, but at least I’ll be able to accept incoming calls!

So, all that said, if you want to give them a try, using this referral link will get you (and me!) a $25 credit on new activations.

The ongoing MSG discourse

Comments

It seems like the pro-MSG camp is really ramping up their Discourse again lately, and it’s getting really frustrating.

Yes, it is deeply unfortunate1 that MSG sensitivity was labeled “Chinese restaurant syndrome.” Yes, it is probably the case that a lot of supposed MSG sensitivity was psychosomatic and due specifically to that name. And yes, glutamic acid does exist in a lot of things naturally and does in fact contribute to the “umami” flavor. I don’t disagree with any of those things.

What I do disagree with, however, is the mischaracterization that everyone who has an MSG sensitivity is just faking it or being racist, with the same strawman “gotchas” like “Did you know it’s also in Pringles and Doritos?!” (Yes, I do. It was Doritos which first gave me a reaction, for that matter. Long before I’d ever heard of MSG or “Chinese restaurant syndrome.”)

It turns out that there’s a high correlation between MSG sensitivity and fibromyalgia. And like many things that cause fibro problems, it’s not a single isolated incident that causes problems, but an accumulation of issues. If I have something with a low-ish amount of MSG on its own, I probably won’t have a problem. But if I have something with a lot of it, or if I’ve had it several times over the course of a week, I will have a problem and it will ruin the rest of my day.

And yes, glutamic acid occurs in a lot of things, but (generally) not bound to sodium and not in the high quantities that it occurs in with processed foods!

Several studies have shown MSG to be safe for the general population. And I do not doubt that it is. But these studies don’t include people with nerve disorders like fibromyalgia or epilepsy, or with a general history of migraines or the like. MSG actively amplifies the action of the pleasure centers in the brain. Fibromyalgia’s main issue is an inability to downregulate nerve receptors. Can you possibly see how this might cause a problem for some?

These fucking thinkpieces completely ignore the very real problems that a lot of people encounter, and also encourage people to actively put MSG into their food and not disclose it to be a “gotcha” for people with problems.

It’s like putting gluten into the food of someone who has celiac disease because of the backlash against fad gluten-free diets.

It’s like giving someone sugar-based Coke when they ask for diet, because they think it’s funny. Or giving someone diet Coke when they ask for normal, because they think they should “lose some weight.” Both are disastrous for diabetics who have planned their glucose intake for the day. (And incidentally, artificial sweeteners are also a major migraine trigger for me.)

It’s like “testing” someone’s stated food allergy by putting that thing in on purpose. Or not worrying about cross-contamination, or thinking, “Oh, it’s only a little bit.” Which can cause people to die or at least have a very bad time.

Don’t FUCKING do that.

Generally: if someone has a food sensitivity, believe them. Even if you think it’s made up, there’s no harm in believing them, while pretending you know better than them for their own issue can be incredibly harmful. Even fatal.

The commoditization of free time

Comments

Once upon a time, people would fill their spare time with hobbies, things they do because they enjoy doing it. They could be passive, like watching TV, or they could be active, like knitting or playing piano, or they could even be a side gig for extra income, like woodworking or painting.

When the Internet came about that made for many more varieties of things that people could do for their spare-time hobbies. They could make weird little videos for YouTube or they could record music and produce albums that other people could listen to (and maybe even buy), or they could stream their video game playing to hang out with others or to compete online.

Somewhere along the line, as a society we seem to have decided that all of those activities must be done as a source of income. You can’t just “make videos on YouTube” or “stream on Twitch,” you are expected to become “a YouTuber” or “a Twitch streamer.” If you make things as a hobby it’s expected that you set up an Etsy store to sell them online; if you collect books or figurines or old video games it’s for making a collection you can sell on eBay. If you record music and put it online you have to put it on all the streaming services and market yourself to make it worth your while, because otherwise how will anyone discover it? Oh, you want your friends to listen to it? Well they’re all using Spotify now, and they’re only going to listen if The Algorithm tells them to.

If you’re not spending all your time doing marketing or sales or producing Content for the Content Gods you are Doing It Wrong.

Every time you post a video to YouTube it goads you about how far you are from monetization. Every time you do a Twitch stream it follows up with an email about how far you are from making Affiliate. I don’t know what Affiliates get after their streams – probably something about their monetization stats or how far they are from Partner or something. I don’t know. I don’t think I care. But whenever I attend the local Twitch streamers meetup, invariably all of the discussion revolves around how recently everyone got Affiliate, or how far away everyone is, and how sad it is that I’ve been streaming on and off for years and don’t have it yet and I have got to Find My Audience. It feels like a cult.

Read more…

the joys of streaming

Comments

Okay, so, I kinda-sorta had my streaming setup working pretty okay, with the big problem that I wasn’t able to get audio to come through digitally, and instead had to mix everything through the analog outs, going to the noisy input on the external USB audio interface. Not ideal. Also, the AVermedia drivers are unreliable and the app is crashy, and I didn’t have a good way of running the app at 1080p anyway (my laptop’s internal screen is only 768p and the HDMI dummy display I had was being unreliable about setting 1080p and there was no way to maximize the window without being able to click on it anyway, and on and on and on).

So, I went to Amazon and found a couple of devices (affiliate links) which simply convert HDMI to a standard webcam input – exactly what I wanted, because this could let OBS capture the audio and video as if it were a webcam. Which works really really well.

Unfortunately, neither device worked quite right; the one with the built-in splitter acts as a TV (for obvious reasons) and the HDMI passthrough thus uses a television colorspace, which doesn’t look right on the connected RGB-only DVI monitor. But audio works well.

The one without the splitter (using the external splitter) had all sorts of weird inconsistent colorspace behavior depending on which order things were plugged in, and I could never get audio to work at all.

Oh, and another thing I tried that almost worked was to plug my piano monitor into the second monitor output on the laptop, and run REcentral full-screen on that monitor. The resulting lag was a little annoying, but much worse was REcentral completely crapping out and going garbagey while I was trying to use it. Plus, I’m not a fan of any setup where I need the Windows machine to be on and fully-working just to use the external monitor. So that worked even worse than I’d expected.

So, for now I’m using the one with the built-in splitter and just dealing with weird colors on the monitor, and in the meantime I’ve ordered a cheap 24" HDTV that I can put up in place of the monitor. because of course I’m going to throw more money at this problem, because it’s irritating that I can’t get things to work quite right.

Oh, and meanwhile, I was also running into issues with macOS always detecting the capture device as preferring 720p, but fortunately it turns out that SwitchResX handles this. I was prepared to pay the $15 for it when I realized, wait, I already bought it back in 2005! And my license is still good for the current version! Yay! (Unfortunately this means my deadname is on the registration screen. I suppose I could ask them if I could get the name changed on the serial but I doubt it. If it really bothers me it’d probably be easier to just pay another $15. The software’s improved so much since then that it’d be worth it anyway.)

Anyway, the upshot of all this is that I can theoretically get my game streaming setup working again (I gave up on it because I could never get the AVerMedia to work reliably and it would usually crap out about 10 minutes into my stream), since the non-splitter one plus the external splitter is perfect for this.

And then I can sell the AVerMedia on eBay or something, I guess? Wow, their going price is extremely random, everywhere from $50 to $100. And I suppose I’d then have an extra monitor I should sell too.

Anyway, then I decided to try actually doing a music stream while a bit weedy and it wasn’t a fun time. But I was already frustrated from this tangle of tech. Why I keep on throwing myself into this never-ending morass I’ll never understand.

iPhone grrrr

Comments

Okay, so, here’s the error which caused me to downgrade to my iPhone 6s:

The iPhone "Ruby" cannot be synced. There are too many open files currently.

This was only happening on the XR, though (not on my iPod Touch, iPod Classic, or either iPad), and my iPhone 6S was working just fine.

Today I was actually pretty pleased with using the iPhone 6S and generally liking it better than the XR for the reasons I thought I would – it’s smaller, lighter, less obtrusive, and frankly less annoying to deal with overall. So I decided I’d buy a new battery for it and try my hand at that, since it doesn’t seem all that hard after all (and all of the battery cases I could find had critical problems like being too big or heavy or having connector failure or catching on fire).

Read more…

Memories

Comments

Much has been written about how Electron apps take a lot of memory; after all, each one is running its own instance of a web browser, and pulling in all of the overwhelming amounts of support code that implies. Slack can easily end up taking over 1GB of RAM, and Discord usually takes a few hundred as well. As someone who used to use IRC back in the 90s, when a single task taking even 1 MB of RAM was considered a lot, this feels rather horrifying:

Activity Monitor showing memory usage for Slack and Discord

On my iMac, with 24GB of RAM, that means that chat apps – doing the equivalent of an IRC client (granted, with a bit more visual stuff, but not that much) – are taking about 6% of my RAM!

But come to think of it, back in the mid 90s, when a typical computer had 8MB, an IRC client probably took around 400KB of RAM, which is also 6%. So have things really grown proportionally in that way?

Well, I’ve figured out a way of getting these chat apps to take half as much of my total RAM overall, but first, let’s talk about my personal history of memory usage.

Read more…

More fun with encodings

Comments

On a Slack I’m on, there was a conversation wondering why so many websites disallow passwords with spaces, punctuation, “special” characters, and so on; shouldn’t they all be hashing the passwords rather than storing them in plain text anyway?

Yes, they should, but that’s not where the problem is. Once again, encodings become a problem.

Read more…

Encodings are the worst

Comments

These past few weeks I seem to keep on running into issues where things have been really bad about handling character encodings.

Back in the day, encodings were an absolute nightmare. You had different 8-bit encodings for every language, each with a bunch of different ISO standards; a very commonly-used one is ISO-8859-1, aka Latin-1, which is basically the characters needed to render all of English and most of several Romance languages (although a bunch of stuff is missing), plus a little extra stuff for math, scientific notation (µ), and German (ß), as well as a bunch of miscellani which were generally useful.

Unfortunately, a lot of Internet standards decided to default to that, including HTML.

Note: There are some updates based on feedback at the very bottom.

Read more…

In which I finally stop using Patreon

Comments

So, hey, Patreon is a pretty popular site for funding the creative people you follow. A lot of people rely on Patreon as their primary source of income. More power to them if they do; it’s where everyone goes to do that sort of thing and it’s really enabled a lot of people to do what they love for a living.

But I just removed all my pledges and also my creator account. It’s not one thing in isolation that led me to do this, but a culmination of a lot of things (some big, some small) that had been frustrating and upsetting to me.

(Want to know where I’m accepting donations these days without reading a long missive? I’m on Ko-Fi for one-time donations and Liberapay for ongoing contributions.)

Read more…

Lua, why are you like this?

Comments

Okay so I like LÖVE for making games, and have used it for quite a few of them at this point.

I like that it gives me a bunch of useful primitives for making games, and then just gets out of my way. And I like that it has a simple build process where it isn’t too difficult to make a cross-platform build and continuous deployment system that also lets me do continuous deployment to itch.io or whatever.

And I also like that Lua is a fairly easy language to learn, with a simple syntax. But there’s a few things about it which are just baffling or annoying to me.

And I’m not talking about the 1-based arrays! (That’s annoying in a couple of situations but for the most part it doesn’t really matter, at least not to the extent that people make a big deal about it.)

Read more…

Pronouns, correcting and moving on

Comments

When I finally came out as trans at work back in 2015, it took a little bit of time for my coworkers to get up to speed. Most of them were great at simply self-correcting and moving on. There were always a few people who would start to make excuses for how hard it was, though, and go on and on at length about it, citing the pronouns that they used for me when they first met me or whatever. This latter behavior is a bit irritating, but I eventually got some of them to stop.

At my current job, where I started out female-presenting but visibly trans to begin with, I’ve only had one coworker have any trouble with my pronouns, and she’s always been great at self-correcting and moving on, with no further comment. And that is exactly what I want.

Most of my friends have been great about it too. When I was using they/them (as a concession to “how hard it is”), most of my friends were good at either self-correcting or mutually-correcting each other. There would be a few holdouts, but none of them really turned out to be actually friends – they’d all turn out to have some deep-seated transphobic baggage that they refused to address, and I’d have to cut ties with them. Fortunately that was the vast minority. And much more recently when I realized that I definitely prefer she/her, but they/them is still fine, well, I still have the same friends who are still being supportive in the same way.

In particular, one of my oldest friends, who is now also my business partner, has been amazing at self-correcting, in a way that is apparent to others and gets others on board. And he’s even gone through a second phase of that when I did the they/them to she/her switch, which isn’t even that necessary but I so greatly appreciate that he makes the effort.

But there are certain people in my life who claim to want to be on board but keep on making excuses for why they can’t, and why it’s so hard for them, and eventually shift the blame onto me. And they are people that I can’t simply cut ties with.

Read more…

“Modern” web design antipatterns

Comments

I am so fucking sick of modern web design where standard HTML form elements are reimplemented using <div> and Javascript.

For example: my mortgage provider just unleashed a new web design on the world. Functionally it’s identical to the old website, but it looks slightly shinier. It’s also completely non-functional for me.

When I try to log in, it gives me my wish-it-were-two-factor “secret question.” I enter my answer. I press Enter, and nothing happens. So I click the submit button – which is, as it turns out, a <div> with attached JavaScript. That JavaScript changes the <div> text to “please wait…” and then it sends off an asynchronous API request. When it gets the response from the server, it then changes the location URL in my browser.

Congratulations on reimplementing <form> the long way around!

Oh, and this process took way longer than it needed to, and I thought maybe it wasn’t working at all. So I opened up their contact form – which, as it turns out, only replaced the page content with that because of course everything’s a “single page application” now. I started filling it out, and when the first form submission finally came back, oops, suddenly I’m logged in! (Meaning I’ve now lost the contact form I was already halfway done filling out.)

So I opened up the contact form again in another tab, and found that I couldn’t tab into the requisite “state” drop down box (because of course I need to give my city and state to provide website feedback, for some reason). So I clicked on it, and tried typing “wa” – and nothing worked. It didn’t jump down to “Washington.” It didn’t even jump to “Washington” then back to “Alaska.” Oh, and of course cursor keys didn’t work either – I had to use my mouse to scroll and click and this hurts my wrist and is slow and error-prone. (Oh and I should add that there was no scroll bar on the selection box either, the expectation was that I’d know to use my scroll wheel and be able to! This is not something you can rely on!)

Because it turns out that the dropdown box, rather than being a <select>, was a fucking <div> with JavaScript to set the value. And doesn’t have any keyboard access. For bonus points, they invented some HTML tags like <dropdown> to contain it. Why?! Standards exist for a reason! What happens in some future HTML verson where the <dropdown> tag becomes a thing? Except it wouldn’t because fucking <select> already exists and has since HTML fucking 1 point 0.

Because, of course, they reimplemented <form> and <select> the long way around.

Why the fuck do people make their lives harder like this? Peering into the page source, everything was obviously built using Angular, which is just… bad. Really bad. I see so many Angular sites that do this. And there’s absolutely no reason for most Angular sites to be based on Angular.

It’s so maddening. You have to do more to get less functionality, that would already be handled by the browser in a cross-platform, humane, accessible manner!

So I sent them this message on their contact form:

Hi, your new website doesn’t function correctly in a number of web browsers, including Safari on macOS. After receiving the challenge question it simply hangs for several minutes. Also, your contact form no longer follows accessibility guidelines and doesn’t support keyboard entry for people with e.g. mobility impairments, and I suspect it won’t work correctly with many screen readers either.

Please don’t reimplement basic browser functionality; for example, there’s no reason for the <div class="dropdown"> with added JavaScript when browsers already have <select> widgets which work perfectly fine.

I bet they get back to me with something like “We apologize, but we only support the Chrome browser. Please download it at google.com/chrome” or something. Because we learned nothing after the whole debacle that was MSIE 6, apparently.

Anyway. Fuck modern web design. Make your shit out of plain old HTML. Seriously. Please. You can build asynchronous, self-updating sites using standard JavaScript and basic DOM methods without a lot of work, and that’s only in the case that you need to – and you probably don’t.

Not everything needs to be a fucking single-page “app,” for fuck’s sake. It buys you nothing except for a bad user experience when things don’t go perfectly.

Read more…

Sleep diagnosis

Comments

So, after many years of being aware of a problem with my sleep, I finally saw a sleep specialist. It was good to learn that whatever is going on can be figured out and treated.

What’s really frustrating is what led to me taking this long, and how much I’ve been shamed for having this disorder and how I’m yet still being shamed for having not taken care of it sooner.

Read more…