New artwork: When Our Heavenly Parents We Meet IV. The colors in my art normally don’t represent skin color (to try to be more inclusive), but I wanted to do something special for Black History Month.
Blog
New artwork: Harrowed up No More, continuing the Alma the Younger thread.
New artwork: God Sent His Holy Angel.
I heard about Exercism’s 12in23 challenge and while I don’t care much about doing the official challenge, I do like the idea of learning more programming languages this year. (And every year, for that matter.)
As boring backstory, here’s a quick list of languages I’ve already written projects in and which therefore won’t be eligible. In very rough chronological order: BASIC (BASICA, GW-BASIC, QBasic), Pascal, C, C++, ASP.NET, VB.NET, PHP, Perl, Ruby, Python, JavaScript, Objective-C, MSP430 assembly, Java, GLSL, Go, and Rust. We’re also starting to use TypeScript at work, so I’m going to leave it out.
The languages I want to learn this year, in no particular order: Elixir, Zig, Haskell, Lisp, Clojure, Unison, COBOL, FORTRAN, WebAssembly text format, OCaml, Nim, 6502 assembly, Scala, and D. This list is subject to change.
I’ve read about some of these, and several years ago I taught some short intros on Haskell and Lisp for coworkers (which just entailed walking through the basic features of each language, nothing fancy), but I haven’t written any actual projects in any of them. That’s going to be my main focus this time, by the way: writing something real in each language. Probably a parser. We’ll see. (I also haven’t decided whether I’ll do the same project in each language.) And I’ll be blogging about each language as I learn it.
First up: Elixir. Several years ago I read a little bit about Erlang and the BEAM, and I’ve looked at the Elixir intro page two or three times, but I haven’t really read anything in detail. I know that Phoenix is a web framework, and PETAL is the new LAMP (in some circles, anyway), and LiveView is apparently amazing, but that’s about it. Here we go!
(I’m going to use the #12in23 tag for these posts, by the way, so that I don’t have to think of a new tag name.)
Links #62
@elsif’s Genuary 9 generative art piece. Love the painterly feel of this.
Ian Sample on scientists steering lightning bolts with lasers for the first time. A sentence I never thought I’d write.
Jason Kottke with a video of a drone diving the full height of the Burj Khalifa. Whew.
The Book Cover Review, where they review book covers. I love book covers.
Chris Coyier on scalable CSS. I’ll mention here that I don’t really like Tailwind. Used it at a job and while I get the appeal, it takes away the joy of CSS for me.
Michelle Barker on a couple downsides of using a CSS framework like Tailwind. Yep.
Autogram on design systems and AI.
Scott Alexander on the ethics of eating insects. Food for thought. (Har, har.) Did I ever mention the time I bought waxworms and ate them? Looks like I blogged my plan to buy them back in 2018 but forgot to post about it afterwards. Eating one live was traumatizing and felt like a car accident in my mouth. I froze and then fried the rest and ate them in tacos and they were surprisingly good!
Bill Ferris on how to blurb someone’s book. Ha.
Gluon, a new framework for creating desktop apps from websites (like Electron or Tauri) using normal system-installed browsers, for a much smaller footprint. Intriguing.
Jim Nielsen on the anti-capitalist web. Yes, yes, yes. That’s probably one of the main reasons I love the web, too, now that I think about it.
Esther Hi‘ilani Candari’s ARTbook project, an art companion to the 2024 Book of Mormon Come Follow Me curriculum, aimed to be more diverse and inclusive. This is great.
Jeremy Keith on three attributes for better web forms. I didn’t know a lot of this!
Jessie Inchauspé on how the order we eat food actually matters. This changed my life, in the sense that it was a notable revision to my mental model that’s going to affect how I eat going forward.
Robb Owen on hand-thrown frontends (as opposed to assembling Lego bricks). I like this.
bsandro made a monochrome terminal for an e-ink monitor. Mmm. I really hope that larger e-ink displays with fast refresh rates become an affordable thing in the future.
Mirza Silajdzic on how Wi-Fi routers can be used to produce 3D images of humans. Fascinating and a little creepy.
Daniel Sims on gravity batteries in abandoned mines. This sounds really cool, actually.
git-sim lets you pre-visualize Git operations, which could come in handy.
The misleading St. Louis Fed graph. (And oh how I wish the U.S. would take a big chunk of its military spending and put it towards something more humane.)
Gideon Burton about children leaving the faith. A really good article. This is something I think about a lot, having children of my own and also seeing siblings and cousins leave.
Steven Garrity on efficiency over performance. Yes, agreed.
Blenderheads, a documentary about the people making Blender. Cool.
TBRCon2023, a virtual sci-fi/fantasy/horror convention. I was surprised by how many well-known authors they had. I’ve only watched parts of a few panels (video is not my thing and I struggle to make time for it), but what I saw was great.
JinjaX, a way to do Jinja includes via component instead of extension. Cool.
Kellan Elliott-McCrea on complexity in software. Yup.
Deena Theresa on a newly discovered anti-aging gene that apparently rewinds heart age by ten years. Hopefully this ends up being usable (and safe) for humans.
Haley Nahman on the contagious visual blandness of Netflix.
Becky Ferreira on a liquid metal robot that can escape a cage. It’s slower and clunkier than you might expect, but still fascinating.
Jason Kottke on sunburn photographic printing. Disturbing yet fascinating.
Chronophoto, a web game where you try to guess what year each photo was taken.
Tom Critchlow on the magic of small databases.
eBoy’s TiliX reference, a howto on drawing isometric pixel art.
Meta’s Text-To-4D dynamic scene generation paper. What is this new devilry.
widget.json, “a file format designed to push content from the web to your home screen.”
Joe Miller’s Screens, Research and Hypertext book. A fascinating exploration of hypertext and the web.
Chris Lattner’s introduction to LLVM, in the Architecture of Open Source Applications.
Robin Rendle on hypertext, which led me to the next link.
Kicks Condor interviews Nadia Asparouhova. Quoted in the Robin Rendle piece, this bit stood out to me: “Someone (I think Eugene Wei?) once tweeted that all Twitter accounts eventually sound like fortune cookies. I don’t want to become a fortune cookie. So I like things like newsletters, and my notes page, which are still discoverable and semi-public, but aren’t subject to short feedback loops. I also removed comments on my blog for the same reason, and I never look at my site analytics.” Also this: “The problem with likes is it naturally draws your eye towards the most-liked stuff, instead of deciding for yourself what’s most interesting. It almost feels like I’d be taking agency away from the reader by doing that.” This is one of the several reasons why I much prefer posting here.
Just got the framed prints back from the framer, and they’ve turned out lovely:
For those interested in collecting, here’s what we’ll have at the show:
- 1/1 signed single edition 12×12″ prints (with frame, they’re 13.5×13.5″), for $199 each
- Smaller 6×6″ prints of selected pieces, for $12 each
(The perspective here makes the foreground prints look weird. They’re not stretched in real life.)
The reason I’ve decided to make the larger prints single editions, by the way, is to try to make them more like originals. (They’re digital prints.) Hopefully being one of a kind makes them a little more special. This will be the only time these pieces will ever get printed larger than 6×6″!
Last but not least, the show’s opening reception will be this Friday from 6:00–9:00 pm at Writ & Vision.
Recent nonfiction reads
- The Rules We Break, by Eric Zimmerman. A fun exploration into game design that got me itching to design some games. The last third was less interesting to me because of what I wanted out of the book (it felt more geared toward professional game designers in some ways). I did, however, appreciate the parts on the problems with gamification and the ethics of game design.
- The Perfectionists, by Simon Winchester. A history of precision. So, so fascinating, throughout pretty much the whole book. Loved it. It covers the making of cars, photography, jet engines, GPS, the Hubble, and more. Highly recommended.
Recent fiction reads
- Tomorrow, and Tomorrow, and Tomorrow, by Gabrielle Zevin. Well written and immersive. I almost quit about halfway through when a flashback reminded me of some recent tragedy, but I’m glad I returned and finished it. Really liked the game development parts. Looking forward to reading The Storied Life of A. J. Fikry.
- The Lord of Stariel, by A. J. Lancaster. I liked it (the twist mid-book was nice) but I’m not planning to continue the series. The author’s content warning page is a great idea, though — I wish more authors did that.
- Memory, by Lois McMaster Bujold. I don’t know how time slipped by like this, but it had been two years somehow since I last read a Vorkosigan book. (I’ve been trying to read at least one a year, spacing them out so that I don’t run out too quickly. I’m in the middle of the series now.) I liked this one a lot. Looking forward to seeing phase 2 of Miles’s career.
Another scripture poster, this time in English, French, German, Italian, Portuguese, and Spanish:
Go with him twain (Matthew 5:41)
How I made these:
- Make a 4000×5000px background texture in Affinity Photo (lots of layers and blending modes) and save to
go-with-him-twain-bg.png
- Lay out the text in Figma (900×1125px frame, bold Asap font at 126px, 150px line height, 6% letter spacing, white text on black background).
- Export the frame as an SVG,
go-with-him-twain.svg
- Add the following to the beginning of the SVG file (after the opening tag) and change the seed values:
<filter id="filter">
<feTurbulence seed="4389" type="turbulence" baseFrequency="0.5" numOctaves="2" result="turbulence2"/>
<feDisplacementMap in2="turbulence2" in="SourceGraphic" scale="2" xChannelSelector="R" yChannelSelector="G" result="disp"/>
<feTurbulence seed="4378" type="turbulence" baseFrequency="0.05" numOctaves="2" result="turbulence" />
<feDisplacementMap in2="turbulence" in="disp" scale="3" xChannelSelector="R" yChannelSelector="G" />
</filter>
<style type="text/css">
path { filter: url(#filter); }
</style>
- Convert the SVG to a 4000×5000px PNG:
/Applications/Inkscape.app/Contents/MacOS/inkscape go-with-him-twain.svg --export-type=png --export-width=4000
- Erode/dilate:
convert go-with-him-twain.png -morphology erode disk:12 -morphology dilate disk:15 go-with-him-twain-eroded.png
- Composite:
convert go-with-him-twain-bg.png \( go-with-him-twain-eroded.png -normalize +level 0,55% \) -compose screen -composite go-with-him-twain-composite.png
(I usually do this in Affinity Photo but I wanted to try using Imagemagick) - Upscale to 8000×10000px with Real-ESRGAN:
./realesrgan-ncnn-vulkan -i go-with-him-twain-composite.png -o go-with-him-twain-full.png -s 2
- Add noise (8% monochromatic) in Affinity Photo and export final PNG (I could do this in Imagemagick, need to port it over)
Scripture posters
Another experimental new project: scripture posters. Definitely leaning more on the graphic design side of things here. The other day I happened to see This Is How We Do It (a children’s book by Matt Lamothe) lying around, and seeing the cover suddenly gave me an itch to make something similar but with words from the scriptures. I’m sure others have already made designs like this, but I haven’t (till now), so here you go.
Counsel with the Lord in all thy doings (Alma 37:37)
I will go and do (1 Nephi 3:7)
New abstract hymn print: Be Still, My Soul.
I’m experimenting with a slightly new style here, masking the notes (after adding noise to the outlines with SVG filters and then eroding/dilating with Imagemagick) and painting inside the mask in Procreate. (And then texturing it in Affinity Photo as usual.)