mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2018-11-09 10:22 pm
Entry tags:

[sticky entry] Sticky: Meta: About this blog

This is (a first cut at) a sticky-post or landing post for mdlbear.dreamwidth.org. I intend for it to be edited rather than replaced, so the link should stay the same.

The Mandelbear

... is what I call the fractal you see in my default icon. The Mandelbear is infinitely fuzzy, being a two-dimensional cross-section of a four-dimensional object. It occasionally manifests as an elderly hacker-songwriter, and sometimes as a Middle-Sized Bear.

Series Tags

These tags mark ongoing series of posts (and are mostly lifted from the post I made last Thursday introducing NaBloPoMo, with a couple of additions and edits.

curmudgeon - The Computer Curmudgeon
This series is a combination of public service announcements, mostly about security- and privacy-related events, and longer informational pieces. These posts are cross-posted onto computer-curmudgeon.com. I'd like to work up to one or two per week.
done - Done Since...
Posted every Sunday (sometimes delayed or advanced depending on conventions and where the end of the month falls), this contains my summary of the week followed by (under a cut tag) the week's worth of to.do file entries. The format of the to.do entries is described in How to.do it, and has been described as sort of an online bullet journal.
river - The River
These are posts about, ... Hmm. What are they about? Love, friendship, grieving, ... I guess the overall theme is emotions.
thanks - Thankful Thursday
My weekly gratitude posts. I'm not entirely consistent about these -- you will occasionally see a "Thankful Friday". There's (almost) always one on (American) Thanksgiving. Of course.
trainwreck
Posts about my finances.

Other Tags

  • meta -- Posts about the blog itself, and other self-referential stuff.
  • poem
  • review
  • song
  • Conventions and other annual events get a pair of tags: the name of the event, and the year.

There are lots more; those are just the more important ones.

Websites

NaBloPoMo stats:
   4728 words in 10 posts this month (average 472/post)
    398 words in 1 post today

mdlbear: (technonerdmonster)
2019-02-21 10:25 pm

Git: The other blockchain

Part 1: Blockchain

Blockchain is the technology behind Bitcoin and other cybercurrencies. That's about all anyone outside the software industry knows about it; that and the fact that lots of people are claiming that it's going to transform everything. (The financial industry, the Web, manufacturing supply chains, identity, the music industry, ... the list goes on.) If you happen to be in the software industry and have a moderately good idea of what blockchain is, how it works, and what it can and can't do, you may want to skip to Part 2.

Still with me? Here's the fifty-cent summary of blockchain. Blockchain is a distributed, immutable ledger. Buzzword is a buzzword buzzword buzzword? Blockchain is a chain of blocks? That's closer.

The purpose of a blockchain is to keep track of financial transactions (that's the "ledger" part) and other data by making them public (that's half of the "distributed" part), keeping them in blocks of data (that's the "block" part) that can't be changed (that's the "immutable" part, and it's a really good property for a ledger to have), are linked together by hashes (that's the "chain" part, and we'll get to what hashes are in a moment), with the integrity of that chain guaranteed by a large group of people (that's the other half of the "distributed" part) called "miners" (WTF?).

Let's start in the middle: how can we link blocks of data together so that they can't be changed? Let's start by making it so that any change to a block, or to the order of those blocks, can be detected. Then, the fact that everything is public makes the data impossible to change without that change being glaringly obvious. We do that with hashes.

A hash function is something that takes a large block of data and turns it into a very long sequence of bits (which we will sometimes refer to as a "number", because any whole number can be represented by a sequence of binary digits, and sometimes as a "hash", because the data has been chopped up and mashed together like the corned beef hash you had for breakfast). A good hash function has two important properties:

  1. It's irreversible. Starting with a hash, it is effectively impossible to construct a block of data that will produce that hash. (It is significantly easier to construct two blocks with the same hash, which is why the security-conscious world moves to larger hashes from time to time.)
  2. It's unpredictable. If two blocks of data differ anywhere, even by a single bit, their hashes will be completely different.

Those two together mean that if two blocks have the same hash, they contain the same data. If somebody sends you a block and a hash, you can compare the hash of the block and if it matches, you can be certain that the block hasn't been damaged or tampered with before it got to you. And if they also cryptographically sign that hash, you can be certain that they used the key that created that signature.

Now let's guarantee the integrity of the sequence of blocks by chaining them together. Every block in the chain contains the hash of the previous block. If block B follows block A in the chain, B's hash depends in part on the hash of block A. If a villain tries to insert a forged transaction into block A, its hash won't match the one in block B.

Now we get to the part that makes blockchain interesting: getting everyone to agree on which transactions go into the next block. This is done by publishing transactions where all of the miners can see them. The miners then get to work with shovels and pickaxes big fast computers, validating the transaction, putting it into a block, and then running a contest to see which of them gets to add their block to the chain and collect the associated reward. Winning the contest requires doing a lot of computation. It's been estimated that miners' computers collectively consume roughly the same amount of electricity as Ireland.

There's more to it, but that's blockchain in a nutshell. I am not going to say anything about what blockchain might be good for besides keeping track of virtual money -- that's a whole other rabbit hole that I'll save for another time. For now, the important thing is that blockchain is a system for keeping track of financial transactions by using a chain of blocks connected by hashes.

The need for miners to do work is what makes the virtual money they're mining valuable, and makes it possible for everyone to agree on who owns how much of it without anyone having to trust anyone else. It's all that work that makes it possible to detect cheating. It also makes it expensive and slow. The Ethereum blockchain can handle about ten transactions per second. Visa handles about 10,000.

The other blockchain

Meanwhile, in another part of cyberspace, software developers are using another system based on hash chains to keep track of their software -- a distributed version control system called git. It's almost completely different, except for the way it uses hashes. How different? Well, for starters it's both free and fast, and you can use it at home. And it has nothing to do with money -- it's a version control system.

If you've been with me for a while, you've probably figured out that I'm extremely fond of git. This post is not an introduction to git for non-programmers -- I'm working on that. However, if you managed to get this far it does contain enough information to stand on its own,

Git doesn't use transactions and blocks; instead it uses "objects", but just like blocks each object is identified by its hash. Instead of keeping track of virtual money, it keeps track of files and their histories. And just as blockchain keeps a complete history of everyone's coins, git records the complete history of everyone's data.

Git uses several types of object, but the most fundamental one is called a "blob", and consists of a file, its size, and the word "blob". For example, here's how git idenifies one of my Songs for Saturday posts:

git hash-object 2019/01/05--s4s-welcome-to-acousticville.html
957259dd1e41936104f72f9a8c451df50b045c57

Everything you do with git starts with the git command. In this case we're using git hash-object and giving it the pathname of the file we want to hash. Hardly anyone needs to use the hash-object subcommand; it's used mainly for testing and the occasional demonstration.

Git handles a directory (you may know directories as "folders" if you aren't a programmer) by combining the names, metadata, and hashes of all of its contents into a type of object called a "tree", and taking the hash of the whole thing.

Here, by the way, is another place where git really differs from blockchain. In a blockchain, all the effort of mining goes into making sure that every block points to its one guaranteed-unique correct predecessor. In other words, the blocks form a chain. Files and directories form a tree, with the ordinary files as the leaves, and directories as branches. The directory at the top is called the root. Top? Top. For some reason software trees grow from the root down. After a while you get used to it.

Actually, that's not quite accurate, because git stores each object in exactly one place, and it's perfectly possible for the same file to be in two different directories. This can be very useful -- if you make a hundred copies of a file, git only has to store one of them. It's also inaccurate because trees, called Merkle Trees are used inside of blocks in a blockchain. But I digress.

Technically the hash links in both blockchains and git form a directed acyclic graph -- that means that the links all point in one direction, and there aren't any loops. In order to make a loop you'd have to predict the hash of some later block, and you just can't do that. I have another post about why this is a good thing.

And that brings us to the things that make git, git: commits. ("Commit" is used in the same sense, more or less, as it is in the phrase "commit something to memory", or "commit to a plan of action". It has very little to do with crime. Hashes are even more unique than fingerprints, and we all know what criminals think about fingerprints. In cryptography, the hash of a key is called its fingerprint.)

Anyway, when you're done making changes in a project, you type the command

git commit

... and git will make a new commit object which contains, among other things, the time and date, your name and email address, maybe your cryptographic signature, a brief description of what you did (git puts you into your favorite text editor so you can enter this if you didn't put it on the command line), the hash of the current root, and the hash of the previous commit. Just like a blockchain.

Unlike earlier version control systems, git never has to compare files; all it has to do is compare their hashes. This is fast -- git's hashes are only 20 bytes long, no matter how big the files are or how many are in a directory tree. And if the hashes of two trees are the same, git doesn't have to look at any of the blobs in those trees to know that they are all the same.

@ Blockchain 101 — only if you ‘know nothing’! – Hacker Noon @ When do you need blockchain? Decision models. – Sebastien Meunier @ Git - Git Objects @ git ready » how git stores your data @ Git/Internal structure - Wikibooks, open books for an open world @ Why Singly-Linked Lists Win* | Stephen Savitzky

Another fine post from The Computer Curmudgeon (also at computer-curmudgeon.com).

mdlbear: Wild turkey hen close-up (turkey)
2019-02-21 10:42 am
Entry tags:

Thankful Thursday

Hmm. Thursday. Today I am grateful for

  • improvements in the weather, after two weeks being mostly snowed in;
  • someone else to share cooking responsibilities with;
  • improving health for some members of the household (though not all, and that's worrisome);
  • cat therapy;
  • git and my expertise therewith;
  • encouraging email from $editor (mixed feelings -- I may actually have to do some writing).

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-02-17 03:11 pm
Entry tags:

Done Since 2019-02-10

There is sadness this week, as NASA's Opportunity Rover Mission on Mars Comes to End. Oppy's last transmission amounted to “My battery is low and it’s getting dark.”. Several songs have already been written; I'll almost certainly try to write one of my own. Probably from Oppy's POV; I seem to enjoy anthropomorphizing AIs and other inanimate objects.

Not a whole lot has been getting done this week. I did manage to run some errands Thursday and Friday, with the car on the street. Pulled back into the driveway Friday after things were done, anticipating that the predicted good weather would make it possible to get up again the next time I need to. Fingers crossed.

I started working on the potential writing (tutorials) gig -- we'll see whether $editor likes my proposal. Not many notes Friday and Saturday as a result. Not sure I'm working fast enough. That remains to be seen; it's going slower than I'd like but that may just be because I'm working on the outline.

If you're into music at all, you'll get a kick out of (Gimme Some of That) Ol' Atonal Music - YouTube and Twelve Tones - YouTube (via ysabetwordsmith).

And I was highly amused to find someone seriously advocating the use of RFC 1149, some 18 years after I wrote a song about it.

Notes & links, as usual )

mdlbear: Wild turkey hen close-up (turkey)
2019-02-14 06:05 pm
Entry tags:

Thankful Thursday

Today I am grateful for

  • My family.
  • Our cats, with extra thanks to Desti for letting me type with her on my lap.
  • Fifteen years of Opportunity, and a lot of good memorials.
  • Warmer weather and mostly-clear roads.
  • Finding something that looks very much like a profitable writing gig.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-02-10 11:41 am
Entry tags:

Done Since 2019-02-03

So, it's been a (mostly snowbound) week. It started snowing last Sunday morning; by Monday we had five inches and the streets were impassable. Tuesday I drove down the driveway because C had a Wednesday appointment and I needed to get the car charged; Wednesday we had to cancel because I couldn't get up the driveway. Good thing, because if I had Colleen and I would probably have gotten stuck at the bottom of some hill.

I was able to get out Thursday and shop for staples (and L's drugs). I had very sensibly parked on the street again. Apparently it takes two or three days for the crews to plow and sand the streets to the point where a two-wheel drive car can use them. C cancelled her Friday appointment just a few minutes before they would have called her. We have seven or eight inches total right now, with more on the way tonight, Monday, and Tuesday.

I've been less productive than I'd like for FAWM, but not entirely idle. I got my second song out on time, and then got totally stuck trying to come up with either a follower to that one, or something about my father. Total blank. I guess, in retrospect, that getting derailed was not really surprising, but those songs really want to get written. I was rescued yesterday by a collaboration with [personal profile] pocketnaomi, and it did involve a truck, but I'm still behind.

Notes & links, as usual )

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-02-09 08:22 pm
Entry tags:

Songs for Saturday: FAWM Track-03: Weird Load

I am falling behind in FAWM -- it's the 9th, and as of this afternoon I had only two songs up. Now, thanks to a collaboration with [personal profile] pocketnaomi, I have three (which is still behind, only not as much).

Today's s4s is Weird Load, and it was a heck of a lot of fun. N had the initial idea, and wrote the chorus (including the melody). I filled in the verses, and N posted it after some edits. Then I consed up the verse melody (which is almost the same as the chorus). It continues my short string of truck songs, although it's not connected at all to the other two.

Lyrics )

February Album Writing Month: FAWM.ORG/fawmers/mdlbear/.

mdlbear: Wild turkey hen close-up (turkey)
2019-02-08 02:38 pm
Entry tags:

Thankful... oh, right... Friday

Today I am thankful...

  • that I was able to get Molly (our Chevy Bolt) down the (snow-covered) driveway and on the charger Tuesday;
  • for our newly-installed charger, that can charge Molly from empty in nine-and-a-half hours, as opposed to fifty;
  • that I was able to get Molly up out of the driveway yesterday, and do some grocery shopping and drug running between snowstorms;
  • that Colleen's appointment in Freeland was cancelled (just as she was in the process of cancelling it herself);
  • that I was able to retrieve Desti after the silly creature decided to go out in the snow;
  • that I was able to get a couple of songs written for FAWM (whether I will manage to write any more remains to be seen);
  • for Boot-Repair.

mdlbear: (river)
2019-02-05 10:30 am
Entry tags:

River: Dad... 20

It's been twenty years to the day since my father died. (And twenty years plus two weeks since my mother-in-law died; that was a devastating couple of weeks.)

Since it's FAWM, I probably ought to try to write a song. But there are two already: "The Stuff that Dreams are Made Of" and "Rainbow's Edge". Both have pretty extensive notes; I'm not going to duplicate them here.

I'm okay; it's been long enough that most of the sharp edges have worn off. (Although, I almost posted this with 10 instead of 20 -- maybe it hasn't been that long.)

The Stuff that Dreams are Made Of: [ogg] [mp3]

I still find myself wanting to call and tell him something, from time to time.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-02-04 10:18 pm
Entry tags:

FAWM: Track-02: "Besties"

Today's FAWM song, the second this month, is up: "Besties'.

It's the anticipated follow-on to "Twenty-First Century Breakup Song". I'm very unhappy with the audio of the first two verses; it's still very unstable and was even more so when I made the recording.

As the liner notes say, as soon as I'd written "Twenty-First Century Breakup Song", it was clear that I had to write the other part of the story. The only question was whose point of view to use, and that answered itself with the first line.

lyrics, if you don't want to click through or prefer indented choruses )

(Just as an aside, it's really hard to type with a warm, cuddly cat in one's lap. Should I write a song about you, Desti?)

It's been suggested (see comments on the song page) that this could turn into a theme album. I'm not sure I can sustain it for a full month, but there's certainly enough material in this story for an EP. *rubs hands together gleefully*

February Album Writing Month: FAWM.ORG/fawmers/mdlbear/.

mdlbear: (audacity)
2019-02-03 08:32 pm
Entry tags:

Done Since 2019-01-28

Good grief! Got so wrapped in songwriting -- or is that FAWMwriting -- that I didn't notice it was Sunday. I will attempt to rectify that error.

I managed to start FAWM (February Album-Writing Month, in case you missed the announcements) pretty well; the silly thing's been well received, I think. You can also see the lyrics on yesterday's Songs for Saturday, but you'll have to click through to FAWM if you want the audio. Which is not too bad for something that was slapped together in under an hour. It's only the one song so far, we'll see whether I can make a second song come together by tomorrow night.

Related to that, I finally got around to uploading Coffee, Computers, and Song to bandcamp

It's still snowing here on Whidbey; we're well on our way to getting the predicted 3-4 inches. I am not crazy about driving in snow, but I can do it when I have to. I parked on the street this evening; I don't know what the driveway is going to be like after the slush freezes, but I don't really want to know.

The most useful links this week are probably the ones on Monday about Data Privacy Day.

Notes & links, as usual )

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-02-02 09:01 pm
Entry tags:

Songs for Saturday: FAWM, track 1.

Since I'm doing FAWM (February Album-Writing Month) (for the first time), and I've just uploaded my first song, and it's Saturday, I'm going to subject you to it.

The song in question is "Twenty-First Century Breakup Song", and it even has an audio track. lyrics, just for the record )

By the end of yesterday I'd squeezed out a four line verse and what looked like three lines of a chorus. The chorus actually made it all the way into the final song, having acquired two more lines. It took me a most of today to make the verses work, but when I got the last verse to come together I knew it was going to work.

The melody came together in less than an hour. That often happens; I tend to start hearing bits of it in my head while I'm writing. D is an easy key to play, and generally a good one for me to sing in.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-02-01 04:51 am
Entry tags:

Rabbit Rabbit Rabbit

Rabbit Rabbit Rabbit

Also, FAWM.

mdlbear: Wild turkey hen close-up (turkey)
2019-01-31 03:00 pm
Entry tags:

Thankful Thursday

How did it get to be Thursday again so fast? Today I am grateful for...

  • FAWM.ORG for giving me a reason to get off my butt and do something creative...
  • ... and also giving me an incentive to put Coffee, Computers and Song up on Bandcamp...
  • ... and that it hasn't started yet, so I can be grateful for it without knowing whether I will actually have any creativity to be grateful for next week.
  • The electricians, who are finally installing the car charger outlet, and the outlets in the garage that I expect to be plugging shop lights into.
  • As always, my family...
  • ... including our quadrupedal family members.

mdlbear: (ccs-cover)
2019-01-31 02:19 pm
Entry tags:

Music: Coffee, Computers, and Song - Now on Bandcamp

FAWM (February Album-Writing Month) starts tomorrow. In a not-entirely-unconnected event, I have (finally!) put Coffee, Computers and Song up on Bandcamp.

I'm going to use the fact that Bandcamp (started in 2008) didn't exist when I released the album (2007) as an excuse for not having done this sooner. I know, pretty lame. But joining a site that asks for a Bandcamp link if you have one makes as good a reason as any.

I should also add that it's still available on CD Baby Music Store, which also has actual, physical CDs to sell you.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-01-28 10:57 am
Entry tags:

Done Since 2019-01-20

This is coming out on a Monday rather than Sunday because I spent the weekend at Conflikt, our local filk music convention. I'm usually too lazy to do a formal con report, and this lets me collect all the notes in one place that's easy to find .

Meta: rather than create tags like conflikt-2019, I use the two tags conflikt and 2019. This only works if the year tag is only used for events that occur annually. Using the same tag for every post in a year would be pretty useless. DW doesn't appear to give you boolean searches, but I can do it in my archive.

I didn't have a concert slot this year, and didn't feel up to a twofer, so my own music-making was confined to a little noodling in the hallways and a couple of songs on Sunday. One of those was following Frank Hayes's "When I Was a Boy" with my parody of it; that was a major win. Ad-libbed a reference to RFC-1149, and "talk about spaghetti code" after the line about plugboards. But, yeah; not enough singing. Not enough conversation, either.

I think my favorite concert was Lauren Cox's Interfilk Guest concert; her song about her cat made me tear up a little. That, and her joining Cat Faber on "I Will Remember" (about depression) on Sunday.

I got in my request for a concert slot next year; we'll see how far that goes.

The week also included a total lunar eclipse -- I didn't stay outside for the whole thing, but got a good look just at the start of totality.

Notes & links, as usual )

mdlbear: Wild turkey hen close-up (turkey)
2019-01-24 07:52 pm
Entry tags:

Thankful Thursday

Today I am grateful for...

  • Housemates who can cook.
  • Family members getting the health care they need.
  • Firefox. Also, other software made by people who give a damn about privacy.
  • mynoise.net
  • A second week without a trip to the ER.

mdlbear: (lemming)
2019-01-24 02:16 pm
Entry tags:

Icon Meme

How it works: reply with "Oh! Shiny" and I'll choose three of your icons. Tell me about them: where they came from, what they mean to you, and/or when you deploy them. Drop a link here to your post in your own journal. Spread it around.

(Not sure how long it will take me, if there's a deluge of responses.)


[personal profile] jesse_the_k asked me about:

"My fandom predates TV"

A stylized, multicolor line drawing of a propeller beanie. The outlined gores are colored (left to right) red, purple, and blue; there are white spaces between them. The propeller is a green infinity sign.

described in  entry

I got this from [livejournal.com profile] lysana; it looks like it was made by her artist husband [livejournal.com profile] blackfyr. It has fallen out of use recently; I used it 26 times, between 2004 and 2011, for posts about science fiction fandom or conventions.

The icon isn't completely accurate; Science fiction fandom as we know it today dates back only to 1929. Philo Farnsworth demonstrated the first electronic television, using his image dissector tube, in 1928, and mechanical versions existed before then. Television broadcasting, however, only started in the late 1930s.


"hacker traveling"

The background is a 3x3 grid of black lines on a white background; five black circles make a "glider", instantly familiar to anyone who knows about Conway's Game of Life. Against this background a picture of an old guy in a tweed cap moves counter-clockwise in a circle centered somewhere in the lower right-hand corner.

described in  entry

This icon was made by [livejournal.com profile] snobahr, in 2007; the moving image came from the cover of my CD, Coffee, Computers and Song, which was in production at the time. It was first used in this post, the second of two posts from OSCon 2007. It was used a total of 30 times in 2007 and 2008, once in 2009, and once in 2012, mostly for posts about software-related conventions.


Consonance
On a purple background, the word "CONSONANCE", in black. The letters are compressed toward the top, and the two "N"'s are the support towers of the Golden Gate Bridge.

described in  entry

This is the logo of Consonance - The SF Bay Area Filk Convention. Colleen and I attended all of them until 2012, when we moved to Seattle, and a few after that; our last one was in 2015. This icon appears to have been used only once, in this post, live-blogged from the Interfilk concert.

mdlbear: (technonerdmonster)
2019-01-23 01:52 pm
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-01-20 02:36 pm
Entry tags:

Done Since 2019-01-13

I'm still not getting as much real work done as I need to, so I'm still down on myself as usual, but I've gotten a few, mostly less important, things done.

I actually did a little hacking this week: we wanted to put the music collection onto an mp3 player for m, so I had to transcode the existing collection, most of which is in ogg vorbis. I realized that I could shrink them considerably in the process, which got all the folk and filk in under 20GB. The whole thing will almost certainly come in under 64GB, and micro SD cards that size are getting cheap. There was a moderate amount of bash scripting involved. There will be even more next time; the server is about a quarter the speed of my fastest laptop.

I seem to be the official household recipient for dead or dubious electronics. It's not that I'm necessarily capable of fixing it, just that I'm the only one who might consider it worth attempting. Not that I actually do attempt it in all cases; that's why I also maintain the household's collection of dead phones and tablets. However, I've gotten pretty good at simple laptop repair and linux installs.

Top link for the week goes to The Ultimate Rain Sound Generator, which includes a very effective conversation-blocker setting. If you prefer something other than rain its parent site, myNoise.net, has an enormous number of alternatives. Done by Stéphane Pigeon, who also built (the internet has a cat)Purrli.

Also, .wtf is a top-level domain. WTF??!

Notes & links, as usual )

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
2019-01-19 08:52 pm
Entry tags:

Tomorrow Night's Total Lunar Eclipse

There will be a total lunar eclipse tomorrow night. The entire eclipse will be visible from anywhere in the Americas and Europe. Here on Whidbey Island, the eclipse starts at 7:33pm and ends at 10:50pm; totality runs from 8:41 to 9:43pm. This is going to be a glorious eclipse. According to Astronomy Picture of the Day, the next total lunar eclipse visible from anywhere on the planet will be on May 26, 2021, and will last 15 minutes.

Details, and times for your location, can be found at: Total Lunar Eclipse on January 20–21, 2019 – Where and When to See

ETA: of course, this is the Pacific Northwest. It will probably be raining.