Having replicated Georg Nees’ iconic 1968/69 work, “Schotter”, I turned my attention to his “23 ecke” (literally “23 corners”, usually referred to as “Polygons of 23 vertices”), an earlier work from 1964: Background 23 ecke (“Polygon of 23 Vertices”) — Georg Nees, 1964 (Version published in rot 19 in 1965) From the 5th to the 19th of February, 1965, the world’s first exhibition of digital art was staged in the Studiengalerie of the University of Stuttgart. Georg Nees...| Zellyn Hunter
Blog machinery back up The downside of running a (slightly) custom1 version of Hugo is that it can break when things get updated. Somewhere around 2022 or 2023 I noticed that the pikchr diagrams weren’t rendering properly when I tried to regenerate my site. Well, yesterday, I finally got around to fixing it, mainly so that I can write some posts to properly document my experience playing around with ESP32-C3 chips and Adafruit Neopixels. --- modified to run pikchr in goldmark as described i...| Zellyn Hunter
This is post is part of set 3 of A Ramble Around CS. We’ll get to processes, threads, and fibers soon, but first we need to talk about how all the things your computer is doing at any given time are organized. What is an Operating System? Early personal computers more or less gave the currently-running program full control of the machine. For instance, a simplified map of the memory of the Apple II computer looks like this: Free RAMText screen dataGraphical screen dataFree RAM(not to...| Zellyn Hunter
These are the questions for set 3 of A Ramble Around CS. Questions for set 3 Just one question this time: What are threads, processes, and fibers? We’ll start discussing the answers in the next part.| Zellyn Hunter
This is post is part of set 2 of A Ramble Around CS. In this post, we’re going to look at how to get, set, and otherwise manipulate individual bits. Bit twiddling and bit bashing are often used interchangeably with bit manipulation, but sometimes exclusively refer to clever or non-obvious ways or uses of bit manipulation, or tedious or challenging low-level device control data manipulation tasks. The term bit twiddling dates from early computing hardware, where computer operators would make...| Zellyn Hunter
This is post is part of set 2 of A Ramble Around CS. In this post, we’re going to become more familiar with messing around with individual bits: “bit twiddling”. And, Or, Not, etc. When dealing with bits—or with “boolean” values (True or False)1—we talk about value a and value b, value a or value b, etc. They have more precise meanings than their normal English usage: In normal usage, you might say, “I’ll wash the dishes if you take the trash out and feed the dog.“ The fir...| Zellyn Hunter
This is post is part of set 2 of A Ramble Around CS. In this post, we’re going to become more familiar with thinking in binary. Basics Let’s use our example byte from last time to show the anatomy of a byte: 0b10111001 == 0xB9 == 185 101110011286432168421“high bit”“low bit”B“high nibble” 9 “low nibble” define $brace { $offsety = $4 / 2 $offsetx = $3/abs($3) * abs($offsety) $pointx = $1+0.5*$3 $pointy = $2+$4 arc from ($1+$offsetx,$2+$offsety) to ($1,$2) t...| Zellyn Hunter
This is post is part of set 2 of A Ramble Around CS. Counting in tens, like a normal human We humans have 10 fingers, and we use ten digits for counting: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. You can imagine that counting up works kind of like a car odometer. We have wheels with 10 digits on each of them, 0–9. We turn the right-most wheel one digit to add one: 00000000000010000010000012000002 box fill 0x333333 color 0xEEEEEE fit "0" bold fit box same "0" bold; box same "0" bold; box same "0" bold; ...| Zellyn Hunter
These are the questions for set 2 of A Ramble Around CS. Questions for set 2 If humans had eight fingers, and only used the digits 0–7 to count, how would they write what we call “ten”? What would they mean when they wrote “100”? What would a “round number” mean to them? (To us, 10, 100, 1000, etc. are “round numbers”.) What if you only had the digits 0 and 1? How would you write what we call “ten”? What would it mean when you wrote “100”? What would a “round numbe...| Zellyn Hunter
Just for fun, I decided to try to use Pikchr to reproduce one of the diagrams in Tailscale’s How NAT traversal works article, which often receive praise. Pikchr is not intended for this kind of diagram: Pikchr is not intended as a replacement for point-and-click diagrams creation software. Pikchr is to point-and-click systems as Markdown is to MS-Word or Google-Docs. Point-and-click interfaces have their place. But so do text-based systems such as Markdown and Pikchr. — The Intended...| Zellyn Hunter
This is post is part of set 1 of A Ramble Around CS. Variables When you say a = 42, what is happening in memory? Well, a is actually just a synonym for a particular piece of your computer’s memory. Let’s say your program happend to put a in memory location 1234: 042001233a123412351236 box width 0.5 height 0.25 fill lightblue "0" bold box same "42" bold box same "0" bold box same "0" bold text at 1st box.n "1233" above text at 2nd box.n "a" big bold above "1234" above text at 3rd box.n "12...| Zellyn Hunter
This is post is part of set 1 of A Ramble Around CS. Computer memory You can imagine all your computer’s memory as a series of little boxes, numbered from 0 (because we’re computer people), and going up, and up, and up. The laptop I’m typing this on has 32MB of memory, or 34,359,738,368 little boxes!1 · · ·0123456789101134,359,738,367 boxwid /=4 boxht /= 2 box fill lightblue box same box same box same box same box same box same box same box same box same box same box same move widt...| Zellyn Hunter
These are the questions for set 1 of A Ramble Around CS. Questions for set 1 When you say a = "Hello, world" in your favorite language, how is the string stored? How about "Hello, 世界"? When you say a = "Hello" and b = " world" and then do c = a + b, what happens? How are a, b, and c stored? When you say a = 42, and then b = a, and then b = 17, what are a and b? Why? When you say a = {"foo": 42}, and then b = a, and then b.foo = 17, what are a and b? Why? Why do computer people use “foo...| Zellyn Hunter
Intro It turns out we have several folks at Square who arrived at programming through boot-camps, or other non-CS paths, and feel a sort of lingering insecurity (or get explicitly told by unkind people) that their path left them without a solid grasp of “the fundamentals”. I have the pleasure of having a boot-camp grad on our team, Amy Henning: she’s now several tech jobs in (and fantastically capable), and has a great perspective on what our industry can be like to people coming in fro...| Zellyn Hunter
I just completed part of a long yak-shave to add Pikchr support to my blog, generated with Hugo. I hope it helps to spread of Pikchr, and spurs implementations in other publishing pipelines. Actually, it’s just the bottom part of an even longer yak-shave! open my garage with a raspberry piachieve accurate timing on a raspberry piunderstand how to use DMA for gpio sequences“I should document this in a blog post”“I need Pikchr for diagrams”: make Pikchr...| Zellyn Hunter
In an effort to organize the many side-projects I would like to do — at least in my mind — but probably never will, I created a Projects: TODO page. I’ve never collaborated much on side projects. If something strikes your fancy, I would love to work together.| Zellyn Hunter
I just migrated this site from Octopress to Hugo. Expect problems (and hopefully more frequent updates).| Zellyn Hunter
$$ 26 + \frac{1}{5 + \frac{1}{12 + \frac{1}{12 + \frac{1}{25 + \frac{1}{14 + \cdots}}}}} $$Last night I lay thinking of Continued Fractions, trying to understand not just the notation, but what they mean. Trying to pull apart and unwind smaller and smaller parts of these recurrent shapes gave way, as I fell asleep, to the same kind of recursive unwinding, but of my own past. I dreamed all night of scattered childhood memories. At one point, remembering a song – or perhaps just the act of si...| Zellyn Hunter
Zellyn's Website| zellyn.com
Zellyn's Website| zellyn.com
Zellyn's Website| zellyn.com
Zellyn's Website| zellyn.com
Zellyn's Website| zellyn.com