Infinite Wishes: ♾️🧞‍♀️✨

Is a weblog by Emma Humphries

22 Nov 2020 » Running cmus on Mac OS

Some things to make the cmus music player more usable on Mac OS

cmus running in a terminal window on Mac OS
Credit: Photo by the author

On Linux I use cmus as my music player. This post isn’t about why to use cmus, others have written about that. I started a new job recently where I was issued a MacBook Pro and wanted to access my music collection (on a USB drive, soon to be on NAS) the same way I do on my Ubuntu laptop. This post is how to set up cmus on your Mac.

Installing cmus

I used Homebrew to install cmus. If you’re using Homebrew to install other packages, you might as well take advantage of it.


The media controls on the Mac’s keyboard will start if it’s not running. This will be an annoyance if you’re trying to control the volume of your music or connecting headphones over Bluetooth. To avoid this, install and run the NoTunes app.

Install the menubar version if you want to toggle NoTunes’ behavior, and make sure it’s a startup item.


Mac OS notification from cmus

The cmus-osx app on pypy adds media key and notifications support for cmus. You’ll need pip3 or pipx to install. I recommend using pipx, which adds npx-like functionality. The first time you play music with cmus, you’ll get a notification asking if Python has permission to create notifications.

These steps and programs will get you up and running with cmus on your Mac.

22 Nov 2020 » Badge ribbons

Badge ribbons Cynthia and I have considered making

Badge ribbons
Credit: Photo by the author

Sometime in the future, we’ll be attending science fiction conventions again. Badge ribbons are a fun part of convention culture and here’s some which Cynthia and I have thought about or overheard.

“Feminist Vengeance Systems Constellation”

“Demand better of civilization.”

“If brute force isn’t working, you’re obviously not using enough of it.”

“I need to stab something, might as well be yarn.”


“Magic has a price but equal pay and guarantees of bodily autonomy would be a good down payment.”

“Social Justice Forward Air Controller”

“My yarn stash has an event horizon”

“You mortals keep forgetting; we’re capricious by nature.”


21 Nov 2020 » Defining tolerance

Tolerance does not mean accepting harm to your community.

“You’re intolerant of me!” is a frequent refrain hurled at community manager and moderators who ban or delete comments from abusive groups. Yonatan Zunger has a nuanced view of what tolerance should be, which I think is important for guiding work on codes of conduct and anti-abuse policies.

Tolerance is not a moral absolute; it is a peace treaty. … When viewed through this lens, the problems above have clear answers. The antisocial member of the group, who harms other people in the group on a regular basis, need not be accepted; the purpose of your group’s acceptance is to let people feel that they have a home, and someone who actively tries to thwart this is incompatible with the broader purpose of that acceptance.

Tolerance means that when one breaks the rules through (for example) homophobic, racist, or misogynistic behavior, the administrators of the community can use proportionate responses to one’s behavior such as deleting content, suspending or banning accounts.

Some ways to implement that:

10 Nov 2020 » Three things for Congress to tell Facebook to do now

Three policies the next Congress should order Facebook to allow which will promote a diverse social media environment

Until we re-organize our economy or someone comes along with the money and intent to make it happen, Facebook’s not going away.

There are things we can have Facebook do, and in one case, start doing again which can help independent social media thrive along with it.

If I were in the position to regulate Facebook and Instagram, I’d order these changes immediately.

Anil Dash described Instagram’s prohibition on links in posts and comments as a slow knife killing the web.

This is Instagram keeping you on the app, instead of using a post as an invitation to see more about someone’s work or cause. If you want to directly convert a view into a sale, you’re forced to use Instagram’s checkout and fulfillment. It encourages inaccessible text in images. And because for many people, Instagram is the web, unless you follow a person or org on Instagram, you miss out on calls to action.

When I talk with artists and creators, they’d love to have their own blogs so their careers and livelihoods aren’t at the whim of Instagram’s policies or algorithms. Enabling linking will free many people and organizations to consider the rest of the web as a place to publish.

RSS in and out

You used to be able to link your personal Facebook account to a RSS feed from your blog or other source. Facebook would pick up new posts from your RSS feed and people who followed you on Facebook would see them. Other than creating an account setting up the feed, you didn’t have to engage with Facebook, but your friends could follow you there. It was one of many ideas that Facebook borrowed from Live Journal.

RSS publishing is still around, but only for approved publishers using Facebook’s Instant Articles system.

You could also follow your friends’ public posts through RSS. Now you have to write constantly shifting code to attempt to scrape Facebook and Instagram.

On Facebook, as well as Twitter, when you click a link in a post or a tweet on mobile apps you stay within the app and the site is rendered in a web view. You might even get a warning that you’re leaving Facebook in order to keep you on the app.

Those web views won’t have the same set of features, including tracking protection, which viewing a page on mobile Firefox, Chrome, or Safari.

Treat a link as a link, and have it open in the user’s default browser.

Break the wall, close the company store

The common theme of these proposals is to break the walled garden that Facebook built around itself and Instagram for the sake of engagement and monetization. None of these will destroy it. It’ll make them less valuable, but we as the people, not Facebook can prioritize healthy, independent and diverse media over the portfolios of a few.

27 Oct 2020 » No gods, no master branches

GitHub's updated default branch names and GitHub Pages so you can update your GitHub Pages-based blog to use a main instead of a master branch.

GitHub Screenshot
Credit: Screenshot by the author

I’ve been wanting to change the default branch for some projects on GitHub from master to main but until recently I could only publish GitHub Pages projects from master or a GitHub Pages branch. GitHub recently removed that limitation so you can publish from an arbitrary branch.

Moving your default branch takes a few short steps, which Steven Mortimer from the R community documented.

Don’t forget to go to your project’s options and update the branch you use for GitHub pages.

Json Manystripes encourages you to update your projects.

Photo of Json Manystripes, a grey and brown tabby cat