Raku Signature Errors with Arrays & Hashes

A quick post to help future Raku geeks understand a couple of confusing error messages: expected Positional[Array] but got Array and expected Associative[Hash] but got Hash These are conceptually the same problem. If you've received one of these errors it means you've double-specified your parameter by using the @ or % and Array or Hash. A parameter of Hash %foo says "I would like to be passed something that implements Associative and has a Hash in it.

Mirroring With Gitea

Following on the heels of my last post on why you should (not) self host your git repos, I went ahead and used Gitea to set up a local mirror of all my repositories, and all the repositories I don't want to loose access to. The results were surprising, and after reading this, you might want to do the same. This post will be a qick overview of how I did it, some tips that'll help, and what I learned as a result.

Do (not) Self-Host your repos

Table of Contents Why You Should Self-Host ➠What about GitLab and other Competitors? Why You Shouldn’t Self-Host So what’s a geek to do? What am I going to do? Once upon a time, GitHub was a successful geek enterprise. Then Microsoft bought it, and folks started arguing that you should abandon ship. You should self-host your repos they say. I 100% agree, and 100% disagree. Let me explain.

Syncing Homebrew Installs

Those of us who love the command line, have a tendency to install a lot of useful utilities, and want them available on all our computers. On macOS we tend to use Homebrew. This document serves to describe three ways to generate a useful file to solve that problem. As I see it there are 3 basic approaches to syncing your homebrew utilities across machines. I don’t care about the details, just make it work.

On the "problem" with AI generated art

There has been a lot of uproar about the “ethics” of AI generated art from tools like MidJourney, Stable Diffusion, and Dall-E. People talking about “theft” and “copyright infringement” and how artists should be paid for “stealing” their styles. This blog post intends to break down the ridiculousness of those claims with simple logic, and historical counterarguments. I’ll show how the uproar is ultimately just an emotional knee-jerk reaction by people ignorant of the reality of art, illustration, and these AI systems.

On GitHub Achievements

GitHub recently announced GitHub achievements. It’s a great idea, but I’m really left scratching my head by what the achievements are. The “Pull Shark” is open pull requests that have been merged. I’ve got a “4x” version. 4x makes NO sense to me given the number of repos I’ve contributed to, but… ok. Maybe it just maxes out at 4x. That’s it, though, except for “Arctic Code Vault Contributor” which … is more chance than anything else.

How To Register an Internationalized Domain Name

( A guide for English speakers as of May, 2022) I’m going to assume that this isn’t terrible if you speak a language which doesn’t look anything like English. I’m going to assume that your domain name registrar’s don’t have their heads up their butts. Over here in the English speaking world they’re too anglocentric to notice anything that goes on in languages that have non-ascii characters. Since you’re reading this, you probably use a lot of software that was written by American companies.

What you need to know about Mastodon

The goal of this post is to give you the information you’ll need to start using Mastodon before Twitter becomes even more of a dumpster fire than it currently is. It assumes that you’re familiar with Twitter and that you’d like to see if you can continue your twitter-like postings over on Mastodon. I’m going to cover the following topics: what the deal is with all the different servers / instances instances as communities moderation choosing an instance how you use Mastodon what’s different Before that, I’d like to recommend you watch this 6 minute intro to Mastodon.

Splitting an org-roam collection

org-roam supports multiple directories and it should work fine if you start that way, but if you’ve already got an org-roam project that you need to split up, it’s a pain in the butt. Here’s how I managed to divide my org-roam project into multiple directories after much trial and error and googling. A note before continuing: If you’re googling around for this you’re going to find a bunch of old commands from when people were upgrading from v1 to v2.

You've been lied to about the newline character

You’ve been lied to about the Newline Character The humble newline character: \n. You’ve seen it in countless code examples. Usually something like foo\n bar\n \n You look at that and probably think, it represents the end of a line. Or maybe you think it represents the start of a line. If you believe either of those things, I’m sorry to inform you that you’re wrong. Fortunately, by the end of this post you’ll have a much better mental model of \n.