Are things about to get crazy, as malicious use of AI agents ramps up? Direct attacks I remember 1 reading a post where someone gave their infosec-savvy friend permission to hack them. They’d owned their home router within a day or two, and a short time later managed to leverage an improperly-secured software update in their editor to pop up an alert declaring victory. Owned. The basic rule for us…
Now that Emacs 29 moved so many useful things into Emacs proper, it’s time to declare config bankruptcy and start over, with a newer, cleaner init.el . So, I need to understand how Emacs packages work. Like, what does use-package do? What is Elpaca for? And is it worth straying from the vanilla path? Here’s what I’ve put together so far… Packages Emacs packages serve…
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 5 th to the…
Source: Victoria and Albert — link Step one: lots of searching, some asking An influential example Lots of information Asking for help Following the breadcrumbs myself Jackpot: The thesis The random number generators Details on using the random number generators What we learned from the thesis What’s missing… Trying them all Victory In part 1 , we found the original ALGOL-60…
Blog machinery back up The downside of running a (slightly) custom 1 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…
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…
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 .
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…
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…
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 1 0 1 1 1 0 0 1 128 64 32 16 8 4 2 1 “high bit” “low bit” B “high nibble” 9 “low nibble” define $brace { $offsety = $4 / 2 $offsetx = $3/abs($3) *…
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: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1…
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…
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…
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 : 0 42 0 0 1233 a 1234 1235 1236 box width 0.5 height 0.25 fill lightblue "0" bold box same "42" bold box same "0" bold box…
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 · · · 0 1 2 3 4 5 6 7 8 9 10 11 34,359,738,367 boxwid /=4 boxht /= 2 box fill…
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 =…
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…
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 pi achieve accurate timing on a raspberry pi understand how to use DMA for gpio sequences “I should…
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.
$$ 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…
Welcome to my new site. I’m just trying to get everything working: expect both style and substance later. For now, my old site is probably more interesting.