Related to the Faceclick Emoji picker two entries ago, I've learned
how to make custom subsets of fonts and package them as Web Fonts
(and how to use and debug them).
It's done! A side-quest that turned into a project of its own: An
Emoji-picking popup library with 130Kb of Emoji data into 70Kb
(un-minified, un-gzipped, with comments and everything)...
I really enjoyed the feedback I got on Implementing a Forth.
It's a fun subject! I updated it with new notes, an even smaller
'Forth', and a link to this oversized "card" that resulted
from thinking about smallness...
This is tangentially related to the previous entry.
I'm really looking forward to using this little script for
its intended purpose. One more thing popped off the paper stack!
Anyway, look at how cute that is...
A new wiki appears!
Here's the thing I alluded to in the previous two entries.
It's one of those "mini-sites" that appear on this feed from time
to time with: A project page, a repo, and a 5-part "making of"
article series that I hope is fun and interesting...
An extremely tiny family posting site (lets a handful of people
post text and images and that's it!). Written in PHP, JavaScript,
HTML, and SQLite. About 1K lines of source combined! Stupidly
simple. The only interesting thing about it is that it's mine and
it uses my RetroV JS library for virtual DOM UI rendering...
In the next couple days, I expect to be posting a link to a "mini-site" of content about a fun programming subject. With that upcoming example in mind, this seems like as good time as any to explain why this feed doesn't contain the full text of the linked "posts", amongst other things...
As I teased in the previous item, this update links to what basically
amounts to a "mini-site" of four web pages and one software repo.
This is exactly what it says in the title as well as my personal review
of Snobol4 and related thoughts...
Here's an essay I started last month and finally finished. I read
something that helped me sort out what happened the last time I put
my foot in my mouth online...
Hello! It feels like ages since my last update. This has been baking quite a while
in the oven and it's a great relief (and also a little scary) to put it out into
the world. You can see what it's about from the title...
Though much of it is sparsely commented, the Zig standard library is quite readable.
Nevertheless, being told to "go read the source" is intimidating.
How can we make it easier to explore the library source?
I figured out how to decode I2C serial data from a microcontroller
to another device with my Siglent SDS1202X-E Oscilloscope and it was
totally awesome! I put together this guide (with pictures!) for noobs
like me.
I made a cardboard "laptop" or "luggable" computer featuring a 7-inch
LCD display and a Raspberry Pi Zero. It was a fun weekend project that
scratched an itch I've had for a long time. Motivation and pictures
in the article!
(RSS-Club: this missive is feed-only. Hello readers!)
I'm getting in on this whole "humans.txt" thing.
Anything to make the 'Web and 'Net a little more
weird/personal/delightful!
This is an idea I've been mulling over for a long time:
keeping a personal timeline of history. By "personal" I
don't mean a timeline of things in my own personal life.
I mean a timeline of general history containing only events
that interest me, personally. I finally started mine.
I'm making good on my earlier promise to start publishing
more of my notes in public so others can benefit from them
and where I am more likely to find them myself! Here's my
notes from today's excursion into getting Apache working
with PHP-FPM (specifically on Slackware Linux, but the
instructions are quite vanilla because Slackware doesn't
mess with upstream packages.)
Websites with designs that appear to end at the bottom of the screen
have always been a problem. But I've run into some examples lately
that have actually confused me.
I'm very excited to have finished a hardware project: a productivity
"multitimer" based on the Raspberry Pi Pico (PR2040 microcontroller).
It has a keypad for timer categories and LCD display for elapsed
minutes in each category. It is also very colorful.
Over the last three months, I've developed an unusual little nighttime
routine: after reading bedtime stories to the kids, I hop into
bed and instead of reaching for a fiction book, I'm turning on
my 14-year old Asus eeePC 701 miniature laptop and writing x86
assembly language. This is turning out to be an insanely good
use of my time...
I had a dream:
* A low power, always-on computer I could SSH into from any other computer in the house.
* All of my projects and data in Git repos available for cloning and updating from any computer in the house.
* My personal Linux/UNIX configuration ("dotfiles") available to any computer in the house for instant and granular installation.
* No dependencies on any computer outside my home network.
Time for a new setup!
I call it my "log system" and I've been keeping it for almost a decade.
Read all about my notebooks (96 and counting), the digital transcription,
and the meaning of life. And pictures of notebooks!
Okay, I've done it! I've started a Zettelkasten. Only, I'm not
following anybody's rules. I'm just calling these "cards". I'm
already loving this. (Oh, and just so you know, all content up
there right now was plotted out on actual paper index cards. So
it's *totally* legit.)
After tiring of jumping through ridiculous hoops to privately share Wordle results with family, I created a really simple Perl CGI application to do the job...
This is what software would be like in a utopia.
I resisted the urge as long as I could. Because Dave Doesn't Need Another Hobby. But needle felting is cool! I'm updating this page as I make progress. (This post is mostly pictures with descriptions.)
I've made a big addition to my "Setup2" article about personal computer management with Git and Stow. A check-repos script now helps me quickly check for changes that need to be synced on each machine...
(OLD PERSON RANT WARNING) It turns out, I do regret posting this to my Virtual Box of Cards.
But not for saying it. I stand by what I wrote here for now. Also, this new title isn't much better, but at least it's still pretty short...
I was afraid I'd lost the beginings of a new project when
my old EeePC (circa 2007) drive finally became corrupted.
But I was able to do the simplest, stupidest recovery you
can imagine to recover the project...
I now have two machines set up to auto-login
and I love it. These instructions may apply
to some non-Slackware Linuxes as well.
Also, gnome-keyring-daemon needs some UI help...
*RSS Club* Wow, I wasn't expecting yesterday's
rant to appear HN. My only regret is that I didn't
state my actual frustration well and I was clearly misunderstood...
Another FORTH interpreter roams the Earth! It's my NASM assembly port of
JONESFORTH. Because I'm a human being, it was over a year in the making.
"Unfortunately, no one can be told what FORTH is. You have to
write one for yourself."...
During Assembly Nights Season One (porting JONESFORTH to NASM), I
kept having ideas for other Forth-like things I'd like to try. But
I was good: I wrote them down and stayed the course with the port.
But when the port was done, one of those ideas just wouldn't let me
rest and I was compelled to start on it immediately!
Now when the lights go out and everyone else in the house has gone
to sleep, I start writing assembly code...
In one of those eerie "out of the blue" coincidences, I found
myself thinking this morning about Aaron Swartz. It
turns out today was his birthday: November 8, 1986...
My Assembly Nights: "Season Two" project now has its very own page and
maaaayyybe also a cute logo. If you just can't get enough assembly and
Forth-like programming madness, or if you like cute logos, I've got
what you need...
Wow! I just self-published a real physical illustrated children's book.
I did the watercolor illustrations in my sketchbook in 2017, but it took until
now to assemble the book and publish it through Amazon. This is so cool...
Whoooosh! That's the sound of me getting this done in the
year 2022 so I have one less thing on my plate for 2023!
I review six more book chapters and give my conclusions so far...
First follow-up to The Year of the Microcontroller. This "chapter"
wraps up the first eventful week of my year-long foray into MCs. I
think you (YOU!) will dig what became of that cardboard computer...
(RSS-Club: this missive is feed-only. Hello readers!)
I'm taking a firm stand. There is NO "MACHINE LEARNING"-generated
content on this website. In the year 2023, the /humans.txt
file suddenly feels like a battle cry rather than a cute "hello".
I'm not even slightly interested in a debate about this. Thank you!
I love my RSS readers! You are all awesome. Hope 2023 is going well.
Super happy with this little Vim thingy I've been wanting to make
for a long, long time. It turned out to be way easier than I'd expected
thanks to Vim's typically weird but flexible folding settings...
I gave this talk at work today. It's full of amusing drawings and should still make a
fair amount of sense without hearing my commentary. I've attempted to unlock what makes Forth
*really* tick - from the what, to the why, to the how...
I've installed Slackware 15.0 a lot in the last couple
months. So I decided it was finally time to write up a
page about the process (whether I'm qualified or not!)
while it's still fresh in my head.
This is how I install the only operating system that helps YOU get
more life-giving SLACK and gain in POWER every day!...
Just some scripts here. Nothing too exciting, but
might give you some ideas for automating the tasks
in your life. The *coolest part* is definitely using
a fuzzy matcher (zf in this case; FZF is also very popular).
There are *so* many uses for fuzzy search menus to take
the pain out of common CLI tasks...
Installing the Hare programming language on Slackware just got
easier thanks to yours truly. But this is really a love note to the
tireless volunteers at slackbuilds.org...
So I basically lost my mind for two weeks and the result
is a new JavaScript VDOM library. This was a side quest
I did not need in my life and the world probably did not
need in general. But you know what? I'm proud of this little
thing and I'm really glad I made it. The link here is
basically a whole mini-site with tutorials, tests, demos,
and articles. See where my nights and weekends have gone...
Simply asking for help was the best thing I've done in a while.
Scroll to the bottom for my t-shirt design. I can't wait for
mine to come in the mail...
*RSS Club* Exclusive FOURTH "nosurf" post.
Distractions can't compete with these two techniques.
The only problem is that they're both pretty indulgent...
This was a really great "chapter" for me. I'd done
some I2C with Micropython before, so I decided
to tackle something more challenging with an OLED
display. I ended up writing some tools in Zig to
stream cat pictures to my device! Check it out...
It finally dawned on me that I should write up summaries
of the [computer science] papers I read and put them
somewhere so the thoughts aren't lost forever. Here's
the first one. Prepare to raise your fist in the air
as Peter Naur tells it like it is...
That last entry felt a bit unhinged, but it truthfully describes
the meta-task that has been occupying my head for weeks.
Thankfully, I've found some peace with the idea of identifying
"tracks" of time in my days and organizing my multitudinous
projects into queues in these tracks. Huh? Perhaps
some visuals will help...
After a long hiatus, I'm back on the Zig train. Choo choo! You
know, I don't see a lot of people addressing what I *personally*
find difficult about Zig, so I've collected my thoughts here...
I started to write the spoken content for my little Forth talk
and it just sort of...kept growing. I'm proud to announce the
completion of this massive article about the past, present, and
future of the Forth programming language.
I've almost certainly forgotten some of my favorite utilities,
but at least I've got most of them here. I recently discovered
Modern CSV and Scribus and I didn't want to forget about them
(I don't need to edit CSV files or make print documents *that*
often, but when I do, I wanna remember what I've picked).
Anyway, perhaps others will enjoy from my list...
I tried an experiment in intentional relaxation. Maybe it's kinda
obvious in retrospect, but I think it's already changed my life.
I'll definitely be doing this again in the future...
Heck yeah we're doing this! So Ziglings is now on Codeberg
in its own "Ziglings" organization. The ziglings.org
domain takes you directly there. What's really cool is that
you can even *clone the repo* from the ziglings.org domain.
Ziglings will remain on GitHub in some sort of read-only fashion.
We're not entirely sure what would be best and we're soliciting
ideas in a new issue I just posted there. The best part of all
of this is that my Ziglings co-maintainer did all of the work.
I didn't have to lift a finger. Thanks Chris!
Here's a fun one: I got this wild hare to make a simple
version of Knuth's Literate Programming in Ruby. How small
could it be? Turns out 35 lines (not golfed) gives you
quite a bit. YES, it includes out-of-order source, so
it's a *real* literate programming system (by some definition
of "real") and YES, the final program is written in itself...