The Pun in Hex.Ink

There is one. Do you see it? I'll give you a hint. It's the same pun the venerable Sir Terry Pratchett used when he named the Discworld's first thinking engine. Any ideas? I see you smirking at the back. You already know. I'm talking to everybody else. (All four of you.) See, in addition to being a word for a magic spell, especially a malicious one, hex is also short for hexadecimal, which is a base 16 number system. Hm. What's that mean? Well, our usual number system is base ten, or decimal. Base ten means that it has ten digits that are used to count with, and then recycled in combinations to keep counting. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9... and then we recycle 1 and 0 with 10. Hex uses 16 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f... and then it recycles, again with 10, only now 10 stands for 17, or f + 1, just as in decimal, 10 stands for 9 + 1. Oh, dear. I've definitely lost a few of you now. OK, look. How we count is an invented thing. We, marvelous creatures that we are, invented it. Numbers don't exist without someone to count them. Math is a language we created to describe certain aspects of the world, and numbers are the characters we write that language in. It's all made up. It's also all real, mind you (I should really do a piece on that, actually, how math is like mythology), because it is an accurate language. But it's important to know that we made it up. So the reason we count the way we do, from 0-10, is because just about everybody has ten fingers, physical and genetic accidents aside. There's nothing natural or absolute or even real about the way we count, it's just that we figured out counting with ten fingers. Now, try to image for a moment how you'd count if you had, and had always had, eight fingers on each hand. Because that's what hex is. It's counting for sixteen-fingered aliens. This becomes relevant because programmers encode a great deal of data in hexadecimal. Colors, for example. Much of what's sent between one computer and another through various internet protocols, too. It gets encoded in hex, because sixteen is a power of two, making it easily convertible to and from binary... What's binary? Oops. Binary is counting for aliens with only two fingers, ok? It's counting with only 0 and 1. It's how computers count. How computers do pretty much everything, actually, because they do everything by counting from 0 to 1, over and over and over. Look, find me sometime in meatspace, and I'll teach you to count to 1023 on your fingers, in binary, and also the geekiest way ever to flip someone off. So now I'm in school, setting out to study database design and administration, which is a kind of programming. I'll learn a few other kinds of programming, too. Which will make hexadecimal important and useful to me, and indeed I'll probably have to learn to do at least some math in it. And we've been talking in one of my classes about binary and learning a bit about it, and have sort of touched on hex, which we'll come back to later, and which I'll study in more depth in the spring. So now hex has two meanings that are relevant to my life: one is programming math, and the other is magic. And they're both important to me....

Notes 'n' bits 'n' bits 'n' bits

Sannion tells us that Fufluns was the Etruscan name for the wine god, who was presumably syncretized with Bacchus and Dionysos. What an adorable name! And so much fun to say! Fufluns Fufluns Fufluns. Many Gods West, a polytheist conference, is going to be in Olympia at the end of July/beginning of August. We think we've worked out finances so I can go. I'm thinking of submitting a proposal to present a workshop on fiber arts as prayer and meditation. Anybody have any thoughts? I've only got a few days to pull together the proposal, their deadline is the 31st. On the silly side, this blog asthetic generator gave me Storm Femme the first time I clicked it. I love it! Rain Core was another pretty good one. Starting to feel better than I have in a week or so. Getting back to normal things, like weaving and studying. I'm back to studying Ruby, and have plans for a couple of things I'd like to try to make in the future. I studied it last summer, and hit three things at once: August, illness, and recursion. That trifecta killed it for a while. So this time around, seeing as it's been months and months, I'm reviewing all the stuff I did before, and am pleasantly surprised to discover that after time to let the ideas settle, I'm writing much better code for the same exercises than I did last time. The big victory today was the Roman numerals one. First, you were supposed to write a script to convert any number from three thousand down in old-style Roman numerals, which used IIII instead of IV. Last time, I wrote a really clunky thing that got the job done, specifying what letters it should use for each decimal place. So it had a line that told it that 9 equalled VIIII, and one that told it 8 equaled VIII, and soforth. For ones, tens, hundreds, and thousands. I knew this was awful, but could not yet figure out how to write it better. This time, I figured out how to write an algorithm so that I didn't need to do that, so it had instructions for thousands, five hundreds, one hundreds, fifties, tens, fives, and ones. Then I was supposed to write one that used the newer style of Roman numerals, IV instead of IIII. And I figured out how to tell it to make an exception in the previous script to allow it. I am ridiculously proud of myself....

Project Notes: Rainbow Blanket 2

I may not have been blogging this week, but I have been weaving. LOTS of little triangles. That's thirty, but there are more now, that haven't been stitched into the chain. I (obviously) haven't started stitching the edges together, although I will soon. Although I didn't get into the developers' academy I was hoping to, I'm studying programming again on my own, and am poking at the project I started last time I did this, a script to generate all the figures to plug into a geomancy chart. I've got another project planned for it, too, eventually, when I learn enough....

Programming Divination

Today it occurred to me, while I was worrying about money, that hey, I probably knew enough Ruby now to write a script that would generate the fifteen geomantic figures for a chart. Hey, cool! It wouldn't actually draw the chart and fill it in, because I don't know how to do visual interface yet, but hopefully at some point I could do that. But it will -- I hope -- accurately generate the figures themselves, which can then be copied by hand onto a chart. I always seem to screw up at least once when deriving the Daughters or the Nieces. I already have it generating the Mothers (a random number generator is built in to Ruby, so that part was easy), and am working on getting it to derive the Daughters. I am tickled with this. Maybe I'll put it up on Github or one of the smaller code hosting site when it's done....