For days 2 and 3 of Avian August!
I was going to write the short version of this as another Mastodon reply to a thread that Belghast tagged me in a little while back but I realised, hey, it’s a free blog post for day 3. Let’s crank this out and be in bed before 2AM 😉
So I did the traditional walk down memory lane for the start of the month and it seems like we landed on “Blaugust” spontaneously during our group’s first blogging festival.
The original name, if it had any, was “blogfest”, which was already corrupted by the time I made my first post of the event.
While other participants also called it “Blagofest” on day 1, UnwiseOwl, the instigator of the challenge took a much classier approach to it, dubbing us the “Augustinians”. Yes, this ties into his occasional papal blog content. Despite this seeming to be a natural term for those who take on the Blaugust challenge, I haven’t seen it widely used. Maybe we can lay claim to a little bit of original etymology there 😉
In the replies to Owl’s post, you’ll see I made a comment about the “Baubloggers”. Perhaps this was the seed that planted the next corruption into “Blaugust”, which was quickly coined on a Day 2 blog post.
By Day 8, UnwiseOwl caves to “Blagofest”, but “Blaugust” is yet to take hold. It takes another week until he concedes to “blAugust“, but it’s almost as if he still disavows it, calling it “Ale’s blAugust adventure”.
Come August 31st and September 1st, “blAugust” appears to be the victorious moniker. UnwiseOwl is the first gold star member of our group of Blaugustines – having successfully posted every day of the month. One of the blogs died an honourable death, having been set to self-delete if no new fiction was published each day. Another blog appears to have been lost to the mists of time.
Despite my earlier claims on Mastodon, I found during research for this post that we certainly can’t hold any claim to the name (there are blogs still alive from 2010 and perhaps earlier that called the “Blog Every Day in August” challenge “Blaugust” rather than “BEDA”). It’s possible that we were unaware of these earlier efforts because Twitter didn’t have a great text search, and the first hashtags don’t start appearing until later years.
That said, I still believe that it was because of Twitter that we did quickly discover Belghast’s Blaugust when it began, and it’s been inspiring to see that the stewardship he’s provided has made the event one with staying power.
Alright, it’s definitely past 2am. Day 3, out!
This will be my second Blaugust 2023 entry, pretend I posted it before midnight.
Some days I can craft from nothing to some pretty complex shapes, and then there’s days like today, where I spent four hours to make what is a laughably simple shape. But it’s setting up things for further progress, and if I’d balked in advance at the time I would be spending to get this step done, then I’d never finish the project at all.
With any luck, I’ll have a new lamp design finalised this week, and this is the prototype of its socket.
Oh no we’re jumping the shark really early this year if we’re talking about motivation on day 2.
There’s a lot going on this month, and I often find that having multiple interesting things on the go at once means I can bounce between them. I’m also aware that most of these challenges are self imposed so I’m not going to be stressing about missing any days. Still, it’s a fine balance between kindly letting myself off the hook once, and slipping out of the habits entirely.
So, here’s something I’ve made no secret of – I cheat on some daily habits. I know that the sin of moving around the clock is worth it because losing a streak is demotivating, and the only person I’m cheating is myself (ok, maybe there’s people on the Duolingo leaderboards that would feel cheated but that’s really small change). And really, the accounting works out more favourably ultimately; by fudging the calendar a bit, I invest in the motivation for myself to get back on track the next day. This worked really effectively for my Ring Fit streak until two missed days in a row put a nail in its coffin. It’s extra hard to get back in the saddle after that… but I’m mostly sanguine about it now and about acknowledging that fitness isn’t a priority right now.
Anyhow, I’m backdating this blog post. And I’m going to be turning back the clock to do today’s Wordle. And hopefully I’ll return to both tomorrow with fresh enthusiasm.
It is Avian August / Blaugust, the time of year when my blog rises briefly from the dead! Today I drew the first bird from Cookiedove’s prompt list; the Red Siskin.
It’s been a while since I’ve done digital art, partly because it was a bit of a pain to find a good groove to get into it. My laptop has only USB C ports so plugging in a tablet always ends up feeling like more trouble than it’s worth. There also wasn’t really a designated “tablet” space as such in the house, which would lead me to trying to draw from the couch in rather awkward ways.
I’ve recently had my PC repaired, and now have my large tablet permanently plugged into it. I had to pull out some old drivers to get it running but it works and I’m thinking that Avian August will be a great way to get back into some digital pieces without feeling any pressure about quality.
Not sure what my plans are going to be for the rest of the month, but like other years I figure I’ll start the month off on a good footing and if things take a hold from there we’ll continue, but if they don’t then again, no pressure.
Good luck to all the other artists and bloggers out there!
Parking this info here for my future-self to reference.
Create a vim file, mine is at
:highlight OverLength ctermbg=red ctermfg=white guibg=red " First line must be 50 characters or less :let w:m1=matchadd('OverLength', '\%1l\%>50v.\+', -1) " Second line must be blank :let w:m1=matchadd('OverLength', '\%2l\%>0v.\+', -1) " All other lines must be be 72 characters or less :let w:m2=matchadd('OverLength', '\%>2l\%>72v.\+', -1)
Set git’s editor to vim and make it source the above file:
git config --global core.editor "$(which vim) -S ~/gitcommithighlight.vim"
A friend recently alerted me to this very nifty shape. We decided to tessellate together both the “hat” and “turtle” forms of the tile in order to laser cut them.
Attached are the files we used for cutting. They’re designed for use on a 300x400mm sheet, but the patterns can be repeated as needed for larger areas. They include a curved line through each tile that can be helpful for visualising the aperiodicity of the tiles. The curve is based on a design by Dan Piker
You can see a sample of some of the cut tiles in this Twitter post my friend made!
Over the December holidays I played a game with John called Aliisha: The Oblivion of Twin Goddesses; an asynchronous co-op game that uses two Switches communicating wirelessly. One player plays in docked or tabletop mode using joycons for occasional motion-controlled inputs and the other plays in handheld mode, taking advantage of the touch screen interface.
Since the players have separate views into the game world, I wanted to try recording the handheld player’s screen. I’d previously built a rig for recording gameplay from the WiiU tablet, which we used during the Splatoon 1 era to record the minimap, and I was able to adapt this into a Switch brace.
To attach the rig, remove one joycon from the console and slide the brace over the tablet. The brace is then locked in place with a piece that fits into the notch at the bottom of the console. I then slot my webcam – a Logitech C920 into place.
I have included the files in DXF and SVG format if you’d like to make your own. The files were designed to be cut from 3mm MDF with a .1mm kerf. You may like to try customising this to fit your needs or hollowing out part of the middle section to make the rig lighter.
So I’ve been thinking for a while, “wifi control of these lamps is all well and good, but I’d really rather push data over a serial connection so that I can avoid having to set up wifi networks. Also, serial just makes more sense for high throughput usecases, eg sending a continuous stream of updates”
“…Too bad WLED doesn’t have a serial API”
You know what they say about when you assume things? I don’t know why I never really looked it up, but I just figured that WLED didn’t have serial support. Turns out it actually supports multiple protocols, and as of 0.13.0 it can receive the same JSON commands via serial as it does via wifi.
So here’s a little video of a proof of concept I put together, to learn a couple of things. It’s my first time playing around with web serial – I lifted heavily from this Codelab to get things working.
If you own one of my USB powered lamps, you can test out the controls at this link: https://difficult-clean-scapula.glitch.me
Note that the proof of concept page is very rough around the edges, and it only supports solid colours.
Follow these instructions to make your own splashtag that can be used as a name badge, fridge magnet… or whatever your heart desires!
You can also order a tag from me at this link: https://shop.chenonetta.com/product/personalised-splashtag/
- Colour laser printer
- Transparency paper/overhead projector film/acetate sheet
- Spray adhesive
- Plastic backing piece – I used 2mm thick acrylic, cut to the size that I wanted the badge to be.
- Brooch finding
Prepare your splash tag
You can screenshot your splashtag from Splatnet, but the resolution might not be high enough for a nice print. If have issues with the resolution, you can use the resources at https://leanny.github.io/splat3/collectibles.html to recreate the splash tag. The font files for the Splatoon 1 and Splatoon 2 fonts are handy for replicating the text.
After composing the splashtag, mirror the design.
Print it onto the clear film, and cut it out leaving a generous margin (at least 10mm) around the edges.
This design has been printed at 87.5mm wide by 25mm tall.
Apply glue to the the side of the sheet that you printed the text on.
Now align the transparency with the plastic backing and press them together. Make sure to only handle the extra margin of the plastic film so that you avoid smearing the glue on the splash tag itself.
It’s done! You can now attach a finding to the back.
Oh boy, let me take you down the rabbit hole that keeps sneakily stealing hours of my life from me.
We’ll start with a topic I’ve covered a few times before:
I’ve written before about my mock sinograph signature – a pseudo Chinese-character sequence that I use to sign my artwork with.
I have also signed my work in the past with a signature stamp that I picked up at a dollar store in Japan, that simply contained the character of my surname.
In the intervening times, I’ve experimented with laser engraving seals of my sinograph, and modifying its design. I briefly hit on a design I absolutely adored that incorporated “Alethea” into the character 鴨 (duck), which when put together with my surname 林 would have correspondingly given me “forest duck” as my signature. This would allude to the name of the chenonetta jubata in Chinese, nicely tying all of my identities together.
Unfortunately, a Mandarin-speaking coworker cautioned me against using 鴨 as a pseudonym. They informed me that when referring to people, “duck” is sometimes used as a euphemism for a male prostitute. So with that knowledge, I decided to fall back to my made-up characters.
When I made the most recent revision to my signature, I decided to get it professionally carved into soapstone, and had the company confirm that I wasn’t going to run into any similar embarrassing misunderstandings with the design. The actual seal carving ended up being very expensive (considering I could have just laser engraved it myself), but I valued the peace of mind that came with having someone knowledgable vetting it. Experiencing how the seal design transferred so cleanly with good quality seal paste (the ink used to stamp the blocks with) also unlocked the next step in my journey.
Some time ago, I read this blog post about embedding images into QR codes. As a tl;dr, QR codes are made to be tolerant to damage. Most QR codes that contain logos in them just cover the data contained in the code and take advantage of the error-correcting algorithm to ensure the right values are read out. “QArt Codes”, on the other hand, use a provided image to generate a URL that naturally encodes to something that resembles the source image.
I can’t remember what led me to the article initially, it was a looooong time ago. I may have been working on a puzzle hunt for AVCon that used QR codes to log people’s progress and I wanted to embed the AVCon Invader logo into it (so some time around 2014). But the puzzle hunt, and QR codes in Aus generally didn’t catch on so the idea just got relegated to the back of my mind.
Still, QArt codes are super neat and I’m surprised I haven’t seen them in the wild more. Actually, I think the page that generated the codes was down during the rise of QR codes in the pandemic, so there was a bit of a missed window. But the page is back now, and you can play with making your own! Or if you want to play with the code there’s a standalone version you can run locally.
(Side note, when I was researching game-parsing screen readers to work on Ikalog stuff, I ran into this blog post by Up Banking. That’s the only QArt code that I’ve recognised in the wild to date)
This is the post that lit the lightbulb in my head.
I mean, having hit this point in my post it’s pretty obvious what we’re gonna do, right?
QArt Chopping and Changing
“So how did you lose hours of your life to this? There’s a page that generates them, you just put your picture in there and you’re done, right?”
Well, to start off with, as I mentioned above the page that generates them was actually not available for some time, so I had to mess around with the original QArt source code (with a few headaches) and then later had the fortune of running into the standalone version.
After that… I lost time to the search of perfection.
Here’s my first draft of a painterly QArt signature. The output of the QArt generator still had a lot of noise, so I used painterly brushstrokes to make the noise look more appealing. At this point I still only superficially appreciated the stuff in the article and while I knew about some areas that were more important to preserve than others I was mostly just drawing willy-nilly with the understanding that “QR codes can repair damaged data”.
It’s neat but it’s off-centre, it contains only my surname and it probably won’t scan properly when scaled down for overlaying on art.
I was satisfied for a while with the proof of concept, but later I started thinking about laser cutting myself a new signature chop anyway, as the soapstone one I’d purchased was too large to use on A4 and smaller art (the majority of my pieces!)
So I looked at the QR codes and realised that I should provide a source image that wouldn’t need to scale. I want to control the pixels of the code so I should provide a pixel art version of my signature.
This provides an okayish output – it’s a good basis on which to paint over parts to arrive at a more aesthetically pleasing version.
I did do some test runs with this kind of “corrected” design and to my delight they did scan when stamped.
However, I anticipate that the stamping process can be error prone and therefore it will be impossible to perfectly transfer the design. So I keep returning to these QArt codes to try to minimise the errors. First by lowering the amount of modifications that I make to the generated code…
Then, by changing the generation of the code itself.
One strategy was to reduce the area of the QR code that must be dedicated to my URL. I chose not to use a URL shortener. I intend to keep the chenonetta.com domain into the forseeable future but I can’t control what happens with any URL forwarding services.
I also opted to include the full
http:// prefix in the URL. I did some playing around with readers and some automatically open pages if the URL starts with
www. or ends with a
.com but I didn’t want to rely on that behaviour. I kept the
ale subdomain but that’s the least defensible decision and I might change my mind on it in the future.
So how to save space if I’m not shortening the input data? The original QArt coder uses byte encoding for the main part of the URL. This uses 8 bits per character. I modified the generator to create the URL in two parts – an alphanum encoded section for the main URL and then byte encoding just for the
# that joins the URL and its throwaway anchor. Alphanumeric encoding uses 11 bits for every two characters. Overall I did still save a little space, even with the extra stuff needed to define the single-character byte encoded section.
I also played with manually specifying the masking strategy (the mask is a pattern that gets XOR’d over the generated QR code – read the original QArt code article for details).
After a lot of iterating, this is probably the closest I’ll get for now. I think this is technically still a damaged code but the areas that I drew through are part of the instructions about how to read the code, not the data. Like the data itself, there are some redundancies for the instructions so the codes still scan ok. Most of the time I’ve spent on these codes has been spent in the cleanup and tweaking stages – what can I get away with without introducing errors?
This is supposedly an error free code according this debugging website – though the scale of the source image definitely affects its assessment of whether the code is error free or not. The site also doesn’t recognise flipped QR codes (even though other readers seem to be fine with them)
Being forced to make compromises on the final outcome always keeps me coming back to tweak things again and again – can I change the orientation so that I don’t have to use a flipped code? Can I rebalance the density of noise around the main design so that it doesn’t distract from the centre as much? Can I smooth the curves in the image more? I’ll just keep searching and searching for the ideal version of this design…
To wrap up, here’s the current setup I use for transferring the print to paper. I’ve been experimenting with moving to block printing ink instead of seal paste, because the latter is oil based and takes days to dry. So far I haven’t had a high success rate with the new ink but I think I’m learning. Sometimes a dodgy print can be recovered with a little bit of hand editing, though it requires some deft brushwork!