All posts by John Goerzen

The Heights of Coronado

Near the beautiful Swedish town of Lindsborg, Kansas, there stands a hill known as Coronado Heights. It lies in the midst of the Smoky Hills, named for the smoke-like mist that sometimes hangs in them. We Kansans smile our usual smile when we tell the story of how Francisco Vásquez de Coronado famously gave up his search for gold after reaching this point in Kansas.

Anyhow, it was just over a year ago that Laura, Jacob, Oliver, and I went to Coronado Heights at the start of summer, 2013 — our first full day together as a family.

Atop Coronado Heights sits a “castle”, an old WPA project from the 1930s:

IMG_9803

IMG_9824

The view from up there is pretty nice:

IMG_9806

And, of course, Jacob and Oliver wanted to explore the grounds.

IMG_9813

As exciting as the castle was, simple rocks and sand seemed to be just as entertaining.

IMG_9835

After Coronado Heights, we went to a nearby lake for a picnic. After that, Jacob and Oliver wanted to play at the edge of the water. They loved to throw rocks in and observe the splash. Of course, it pretty soon descended (or, if you are a boy, “ascended”) into a game of “splash your brother.” And then to “splash Dad and Laura”.

2013-05-27 15

Fun was had by all. What a wonderful day! Writing the story reminds me of a little while before that — the first time all four of us enjoyed dinner and smores at a fire by our creek.

IMG_9756

Jacob and Oliver insisted on sitting — or, well, flopping — on Laura’s lap to eat. It made me smile.

(And yes, she is wearing a Debian hat.)

Review: The Wheel of Time

Five years ago, I opened The Eye of the World, the first book in the Wheel of Time series, and read:

“Lord of the Morning,” he said, “I have come for you.”

On the island, the air shimmered and coalesced. The black-clad man stood staring at the fiery mountain rising out of the plain. His face twisted in rage and contempt. “You cannot escape so easily, Dragon. It is not done between us. It will not be done until the end of time.”

Then he was gone, and the mountain and the island stood alone. Waiting.

And then, as often, Robert Jordan began books citing some of the prophecy he invented:

And it came to pass in those days, as it had come before and would come again, that the Dark lay heavy on the land and weighed down the hearts of men, and the green things failed, and hope died. And men cried out to the Creator, saying, O Light of the Heavens, Light of the World, let the Promised One be born of the mountain, according to the prophecies, as he was in ages past and will be in ages to come. Let the Prince of the Morning sing to the land that green things will grow and the valleys give forth lambs. Let the arm of the Lord of the Dawn shelter us from the Dark, and the great sword of justice defend us. Let the Dragon ride again on the winds of time.

—from Charal Drianaan to Calamon,
The Cycle of the Dragon.
Author unknown, the Fourth Age

And then, the grand opening to each of the books in the 11,000-page series, something like this:

The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose in the Mountains of Mist. The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of Time. But it was a beginning.

Born below the ever cloud-capped peaks that gave the mountains their name, the wind blew east, out across the Sand Hills, once the shore of a great ocean, before the Breaking of the World. Down it flailed into the Two Rivers, into the tangled forest called the Westwood, and beat at two men walking with a cart and horse down the rock-strewn track called the Quarry Road.

And yesterday, 11,000 pages later, I have completed the series. Really, how could I have put down a book with such a majestic beginning as that? It hinted at the epic that was to come, the amazing literature I was going to read. I didn’t read it straight through; I enjoyed books like War and Peace along the way. But what a trip the Wheel of Time series was. The characters were so detailed, so deep, the setting so elaborate, the plots so grand and also so small — everyone from servants to queens were well-represented in the books. Not every section was a page-turner; in fact, around the 4th or 5th book, the series started to plod for a thousand pages or two, reading more like a history book than a novel. Sometimes the prejudices and stereotypes of the characters, particularly the sexism that both the men and women displayed, were frustrating to read. I never quite figured out of this was brilliant writing (making the reader feel frustrated at the plodding pace of the book when it was describing characters being frustrated at the plodding pace of events), or if it could have been trimmed down by 2/3 in some places.

But really, the number of brilliant endings, laugh-out-loud situations, and page-turning suspense that somehow managed to build over hundreds, and then even thousands of pages, outweighed the flaws.

Politics is a foggy mire full of snakes.

– The Eye of the World

“Ah.” Furlan washed his hands in one direction, then rubbed them in the other. “Ah. Forgive me, Master Andra, but Lady Alys is a fierce sounding woman.”

“Only with those who displease her,” Lan said blandly. “Her bite is far worse than her bark.”

“Ah. Ah. Ah. Your rooms are this way. . .”

– The Dragon Reborn

One of the marks of truly good writing is that I leave a book or series with a sense of sadness or nostalgia, leaving characters that seem almost like friends. I felt that after finishing the last book in the series, A Memory of Light. The ending was deep, and satisfying, but ultimately left me wanting even more — even more than 11,000 pages, somehow.

“Elienda and Briain woke from the dream.” She might have been speaking of the weather rather than two deaths among women she knew. “We all must wake eventually.”

– Knife of Dreams

I was often touched by the way the Aiel referred to each other. A desert people, their fond farewall was “may you always find water and shade.” A fitting metaphor for anyone’s life, I think. And they referred to their spouse as “shade of my heart.”

Jordan touched on quite a few themes of religion and philosophy. In that quote above, he has the Aiel referring to death as waking from a dream. An intriguing metaphor, isn’t it? He even writes conflicts of philosophy, religion, and culture into the series.

I was particularly impressed with his treatment of theodicy and the problem of evil (the argument and religious response relating to the presence of evil in the world in the face of a loving God.) It is the most impressive treatment I have seen in fiction, and does a better job of advancing the theodistic argument than many philosophers have, I suspect. It is hard to really go into that one here because of the length and potential for spoilers.

I can, however, comment on his treatment of existential nihilism — the theory that life and the universe is without meaning, and the sometimes-related comment that “what does anything matter then anyway?” Here are a couple of quotes:

“In Maradon, I saw what had been done to men who followed me. I saw Light in them, Min. Defying the Dark One no matter the length of his shadow. We will live, that defiance said. We will love and we will hope. And I saw him trying so hard to destroy that. He knows that if he could break them, it would mean something. Something much more than Maradon. Breaking the spirit of men…he thirsts for that. He struck far harder than he otherwise would have because he wanted to break my spirit.” His voice grew softer and he opened his eyes, looking down at her. “And so I stood against him.”

– Towers of Midnight

“What if I think it’s all meaningless?” he demanded with the loud voice of a king. “What if I don’t want it to keep turning? We live our lives by the blood of others! And those others become forgotten. What good is it if everything we know will fade? Great deeds or great tragedies, neither means anything! They will become legends, then those legends will be forgotten, then it will all start over again!”

Why? Rand thought with wonder. Because each time we live, we get to love again.

It felt relaxing to stare out at that distant light, so welcoming and noble. “Storms will soon come,” it seemed to say. “But for now, I am here.” I am here.

– The Gathering Storm

I unfortunately can’t put in in its proper context due to spoilers, but it is a pivotal turning point in the series, relating to the preservation of the world. By giving what we might normally call a characteristic or behavior — evil — an almost-human voice and character, it can be discussed in interesting ways.

We are always more afraid than we wish to be, but we can always be braver than we expect. Hold on to your heart, and the Aes Sedai cannot harm what is really you, your heart. They are not nearly so far above us as we believed. May you always find water and shade, Egwene. And always remember your heart.”

– Lord of Chaos

“Eben is dead. Would you want to forget your pain if you lost that hulking giant of yours? Have your feelings for him cut away like some spoiled chunk of flesh in an otherwise good roast?”

– The Gathering Storm

These quotes are examples of characters in the series dealing with difficult situations. In one, a character is yelled at for offering to use her special powers to numb the pain of another person over a death. It brings up a question that those of us that have known pain might find interesting: would we really have wanted our pain erased? And suggests perhaps not. That there is a benefit to it. That we get through it by embracing it — by embracing it while still being true to our heart.

He had four rules concerning action and information. Never make a plan without knowing as much as you can of the enemy. Never be afraid to change your plans when you receive new information. Never believe you know everything. And never wait to know everything.

– Lord of Chaos

Sometimes the series treats us to logical thinkers, whether they are generals or innkeepers, and gives us little tidbits like this one.

Androl brushed off his hands, smiling. Children were so adaptable. Before them, centuries of tradition, terror and superstition could melt away like butter left too long in the sun.

– Towers of Midnight

And sometimes, things to chew over. Isn’t that an interesting comment on prejudice? Children aren’t born prejudiced; we can see how easily they make friends with anyone. It is sad that we teach them to be, isn’t it?

Wheel of Time is a fine story, expertly woven. But it is not just a story. It is true, in the sense that it illuminates truths, just like Romeo and Juliet can. In it, I see lessons and echoes of the civil rights era, comments on what makes good leaders, characters wrestling with decisions without adequate data, people putting on a mask of emotions, sacrifice, and the overall theme of the entire series: the power of love and compassion.

The inspiration of the series for me — well, it is there, but it may take a few more days to figure it out. I think it has something to do with this: “The wind rose high and free, to soar in an open sky with no clouds.”

Jacob’s Pretend Train Office

“5213.”

“5213.”

Silence.

“Train office to train 5213.”

More silence.

“Train office to train 5213. Is there an emergency?”

At this point, I had a decision to make. Jacob’s voice was sounding a little vexed over the radio he was using to talk to me from the next room. Do I answer it, even though he had told me I was a different train number? I decided yes.

So I said into my radio, “What do you need, train office?”

An exasperated sigh came over my radio. “DAD! You are train 51. If I call a different train, DO NOT ANSWER!”

Well. I guess now I know.

Jacob has been having a lot of fun with radios lately. His favorite game is to pretend to be a train dispatcher. He’ll tell me, Laura, or Oliver where to go, what track to take, what passengers to pick up, or anything else he can come up with. Sometimes one radio isn’t enough — he may even have two radios clipped to him in various places.

We play radio hide and seek (where you use radios to give hints or tell people when you’re ready to be found). We play train office. We use radios to communicate across the room sometimes, even. Pretty amazing to see him doing that.

He’s taken an interest in my amateur radios, too. He’s been practicing — under close supervision, of course — how to use them, and how to properly give his callsign on the air. The boy is a natural. It’s fun to watch him dive into something like that and enjoy it so much!

End of a year

“AAAAHHH! LOOK OUT! A SHARK!”

Such were the cries a few first graders raised Monday. Laura and I had gone to school to eat lunch with Jacob — this was his last week of first grade. We stayed for recess after lunch, and Jacob and his friend told us to pretend to be a shark lurking underneath the bridges and things of the playground. I was told that “adults are too old to climb up here.” So Laura and I started chasing Jacob and his friend around the playground equipment. And, much to their delight, they were usually able to evade us. And, to their even greater delight, sometimes I could reach up and brush a shoe or leg.

Pretty soon Laura had enough of the game, but about then other kids started to notice what was going on. Shark-taunting began (“nana-booboo!”), and pretty soon half a dozen first-graders were running away from the shark! Eventually, it was time to go in, and it had been a great time.

Jacob had been proud to have Laura and me there to eat lunch with him. He got to be the first in his class to go to lunch, happily slipping into the tour guide role he loves. Sometimes he would tell us in exacting detail what would happen. Other times, I’d ask something like how will we know when lunch is over, and he’d get a sly smile and say, “You will see!”

The next day was Jacob’s last at school, and Oliver had also recently finished preschool. So Laura and I planned a “graduation party”. We came up with some ideas of things they might like to do, and let them choose. Thankfully they both agreed on a choice: water slide.

My parents gave them water slides one time, and we got one out, hooked it up to the hose, and let them have fun. And boy, did they ever!

IMG_3222

And after the better part of an hour running with delight on the water slide, they decided to turn another slide into a water slide. So I helped them rig up a hose on our slide, and they’d slide down it, and splash into a giant mud puddle at the bottom. Or, as the case may be, just stand in the mud, enjoying it.

IMG_3275

We then went out to eat at one of their favorite restaurants and even had time to play in a park.

Yes, a wonderful celebration. All four of us were wearing smiles that day.

It reminded me of Jacob’s school year, but also of the past year — it was about a year ago that Jacob and Oliver first had the chance to really meet Laura. I have many photos and stories from the past year that I’ll be sharing in the next little while. What an incredible year it has been!

Goodnight

Me: “Goodnight, Jacob. I love you, and I always will.”

Jacob: *happy sigh* “Goodnight dad. I love you too. But dad, will you love us if you go on a trip?”

Me: “Of course! Even when…”

Jacob, interrupting, and serious: “Dad, you should not take a train trip without me.”

Me: “Jacob, I promise that I will take you on more train trips.”

Jacob: “And Oliver!”

Me: “Oh yes! I promise I will take you and Oliver on more train trips.”

Jacob: Another happy sigh, and a big smile. “Dad, you have to remember your promise forever, OK?”

Me: “Yes, Jacob, I will remember that promise forever. Good night.”

(written January 19, 2013, but somehow forgot to click “publish” back then.)

A Dry Spring

Spring in the prairie is a bit of an odd thing this year. Here and there, near ditches and creeks, a short, soft blanket of lush green grass covers the ground. A few feet away, patches of green are visible between the brown shoots of last year’s grass. Some trees are already turning green, purple, red, and white, while others stand still and brown, stubbornly insisting that spring is not here yet. To look at the thermometer may not be much guide either; two days after the temperature was nearly 90, we woke to see a dusting of snow on the ground.

It’s been dry, terribly try in Kansas. Grass next to a gravel driveway or road often has a chalkish layer of dust on it, kicked up by passing cars or even a stiff wind. The earth thirsts.

It is somehow fitting to celebrate Easter, that spring holiday, in the midst of the dry ground, to remember that water is not the only thing that can quench thirst.

Easter morning began sleepily, as we got up early to head to a sunrise service. It was in a pasture just outside a small Kansas town, and we gathered there at about 6:15, wearing only light jackets against the breeze. A fire was burning, and there was water on hand to quickly douse any grass that caught first that wasn’t supposed to — and it was occasionally used.

I was doing the prelude for the service, playing on my penny whistle. I enjoyed being able to do that, and was glad that the wind was calm enough that it didn’t interfere too much with the music.

We sang some hymns, listened to some Bible readings, and just stood in silence, listening to the crackle of the fire, some country dogs playing, and watching the sky to the east transform as the sun came up.

Then it was on to church for breakfast, and a break before the Easter service — the pipe organ ringing, piano playing with it, and deep trombone and full sanctuary of people singing our 4-part Easter hymns celebrating the day. Laura had the idea of pinning carnations onto the cross, and we got to watch everyone come up and add theirs.

Jacob and Oliver enjoyed the sunrise service. They decided they would keep a watchful eye on the first and the dogs, they enjoyed muffins at breakfast and playing in the church after that. But if you are 4 or 7, what is Easter without an Easter egg hunt? And they got in several.

Laura and I hid some eggs around the yard. Jacob asked me to use a radio to tell them when the eggs were ready. Here they are, bounding out the door to begin the hunt!

And, of course, if you are 4 or 7 and have a geek for a dad, you will naturally think to bring radios with you to the next hunt. To tell your brother what you’re finding, of course.

It was a good weekend, and in fact, Jacob even volunteered to put up a “wet floor” sign after he spilled some water:

On the last car ride of the day, Jacob decided he would write a story about his Easter. He decided he would publish a big book, and be a famous author and make other children happy. Oliver, of course, decided he needed an Easter story also. We couldn’t very well publish a book in the car, but I did manage to use my phone to capture their stories.

It’s been a long and busy week, but there is much to be joyful about, even when tired.

Springtime in the Mountains

The scene: early one morning as the sun has just started to rise. Jacob and Oliver, ages 7 and 4, are the first people to wake up in the house — their grandparents’ in California, where the four of us are visiting for the first time as a family.

They have a conversation and decide that would be a good to go “find a mystery.”

They decide to take their flashlights — pink and blue, matching each boy’s favorite color — and slowly, but not very quietly, open their bedroom door and creep out.

“Brother, you forgot your flashlight!” says Oliver.

“Oh, thanks brother! I’ll get it!” says Jacob.

Meanwhile, Laura’s mom wakes up, and notices two boys with flashlights creeping through the living room. Pretty soon they reach the kitchen, open the dishwasher, spy a suspicious-looking bowl, and decide that they have found the mystery — a clean bowl!

Or, at least that’s the story that I pieced together based on what a 4-year-old and the grandma he awakened told me.

We were on our first family trip to the Fresno, California area, to visit Laura’s parents — Jacob and Oliver’s new grandparents. They’ve played together before, but as this was our first visit to their place, there was quite the excitement. The boys had flown before, but it was several years ago and neither of them remember it well, so they were excited about that, too.

The night before, Jacob woke up to tell me “Dad, I am too excited to sleep. I think I will go downstairs and watch some TV.” He didn’t get too far with that plan. But he was excited. We went through security at the laid-back Wichita airport (where the TSA agents smile and there are often no security lines at all). We found our gate with enough time to grab lunch, which we did. The boys and I then did what we often do to kill time: explore. We explored the terminal, watching carpet-layers cut out carpet for the jetway, watching the construction of the new Terminal 3 out the window. And, of course, watching airplanes take off and land from the terminal’s large windows.

Finally it was our turn to board, and we all got on the plane: Jacob and Oliver with their backpacks of on-board activites, Laura and me with the rest of our carryon luggage, for the short trip to Denver.

Jacob and Oliver’s noses were pressed against the windows. Or, well, Jacob’s was. Oliver’s window was a little too high for him, but he was thrilled anyhow. They delighted in the airplane snacks, and the fact that they were allowed to drink pop on the plane. We packed books and some new art supplies for them (colored post-its, pages from a train-themed page-a-day calendar, a notebook, and a set of colored pens really seemed to do the trick.)

We had a choice of 35 minutes or 4 hours between flights in Denver, and I had chosen 4 hours, thinking that would be a lot less stressful with boys. And it was. We found a nice corner of the mezzanine to sit for awhile — they did art projects and played a game with Laura. Then I took them exploring Denver. We rode the moving sidewalks up and down the terminal, took a train ride to another terminal and back, ate supper all together, and flew to Fresno.

We had stopped in the Wichita airport to buy them each a souvenir airplane, and these came out often during the rest of the trip.

They enjoyed the mockups of the sequoias in Fresno Yosemite International Airport, enjoyed their beds and their room at the house, and did actually manage to fall asleep eventually.

We had a few days there, where they played in a park, with bubbles on the patio, or croquet in the yard (I even discovered Jacob happily using the cast his broken arm is in as a hammer to pound the hoops into the ground!)

There are a lot of miniatures in the house, and the boys enjoyed exploring the dollhouses — and especially the N-gauge model train. Jacob enjoyed it so much he asked me to record a video of him playing with the trains.

Evenings often brought book-reading, from the many children’s books in the house. At home, Laura and I and both boys often scrunch onto an oversized chair and read a book and sing a song (one I make up on whatever topic they choose). Over there, we often had Laura, Jacob, Oliver, Laura’s mom, and me scrunched up somewhere while the boys heard a story read to them by their grandma. That happened plenty of times other than bedtime, too. (Or Jacob would take his favorite books and read them to himself.)

Laura’s parents organized a reception Sunday for us, for the people from that area that couldn’t make it to our wedding. Jacob and Oliver, predictably, had fun playing and even talked to some of the adults. The adults that didn’t ask Jacob about his cast, anyhow (he dislikes talking about it).

The boys discovered a live mic at the church where the reception was, and do I detect two future pastors in our midst?

We had a great time at Laura’s uncle and aunt’s place. The boys were happy to discover an orange tree in their backyard, a tetherball post not far away, and an uncle ready to give them a demonstration of a “swimming pool vacuum cleaner” or sit at the piano with them. Jacob’s favorite part, though, was when the hamburger buns his great uncle were toasting were left on the grill during the prayer before the meal, got a bit scorched, and the uncle remarked with a chuckle that “I guess the Lord was tired of listening to me drone on!” Jacob loved his meal, and cackled at the thought of a prayer causing buns to get scorched.

But their highlight was the visit to the sequoias at Kings Canyon National Park the next day. The excitement had been building for that day all weekend. On the way out, we stopped at a fruit stand and bought some delicious strawberries — the fresh, juicy, sweet and tasty kind that are red all the way through. We continued up through the foothills, stopping periodically to get out and stretch, look at the sights, take some photos, or borrow grandpa’s binoculars.

I knew we’d be traveling in two cars, so I had the thought to pack some 2-way radios before we left. I gave one to the boys and one to the grandparents. All weekend long, whenever the six of us went somewhere, the boys (and especially Jacob) would give directions to the car that was following. “Turn right! … The light is green! … Catch up, you’re going too slow!” So all the way into the mountains, Jacob would send back instructions on what to do.

We saw Grant Grove, home to the worlds third-largest tree (267ft/81m tall and 3000 years old). It’s quite the impressive tree — the trunk’s diameter near the ground is 29ft or almost 9m. As we walked the trails, their speed kept increasing as they were hunting for the “tree tunnel” I had told them about — a tree that fell centuries ago and had been hollowed out to make a home. That trunk was easily 8ft or more in diameter, and I could stand up completely in places. We found it, to much delight from the boys — “So this is what it’s like to be inside a tree!”

Our trip home brought a delay in Denver and a missed flight, which excited the boys when I told them “now we get to eat supper in the airport!” I wonder how long that tactic will work… But Jacob was also excited because the plane we were put on in the end was bigger than the one we were scheduled on, so that was another piece of excitement.

We got home, and I carried two sleeping boys in from the car, upstairs, tucked them in, pulled off their shoes, and put their favorite stuffed animals in their arms. They were happy to be home, and with memories to treasure for a long time.

Agile Is Dead (Long Live Agility)

In an intriguing post, PragDave laments how empty the word “agile” has become. To paraphrase, I might say he’s put words to a nagging feeling I’ve had: that there are entire books about agile, conferences about agile, hallway conversations I’ve heard about whether somebody is doing this-or-that agile practice correctly.

Which, when it comes down to it, means that they’re not being agile. If process and tools, even if they’re labeled as “agile” processes and tools, are king, then we’ve simply replaced one productivity-impairing dictator with another.

And he makes this bold statement:

Here is how to do something in an agile fashion:

What to do:

  • Find out where you are
  • Take a small step towards your goal
  • Adjust your understanding based on what you learned
  • Repeat

How to do it:

When faced with two or more alternatives that deliver roughly the same value, take the path that makes future change easier.

Those four lines and one practice encompass everything there is to know about effective software development.

He goes on to dive into that a bit, of course, but I think this man has a rare gift of expressing something complicated so succinctly. I am inclined to believe he is right.

Good all-day light laptop?

I am trying to find a laptop with all-day battery life that’s fairly light. Perhaps I am dreaming too big here, but I thought I’d toss out my hopes and see if there are any recommendations.

I am hoping for:

  • Battery life around 9 hours powered up
  • Fairly light. 2 or 3 pounds would be good.
  • Small. 10″ to 12″ screen is fine.
  • CPU – needs to be something “real”. No ARM or Atom.
  • Storage – size is less important than performance.
  • Screen – resolution has to be better than 768 vertical lines.
  • Ideally, capable of running Debian well.

The point is that I want to be able to do general web browsing with a real browser (Firefox), run Thunderbird for mail, hopefully even be able to run a VM or two under KVM or VirtualBox (with the understanding that this will kill battery life).

I have been using a Thinkpad T420s for a couple of years now. Its battery life wasn’t great even when it was new, and is worse now, of course. An Asus TF700t tablet has great battery life, but the storage system in it is so slow that I rather suspect that the browser cache is hurting, not helping, performance.

I am also rather disappointed with the Android system. I can’t really develop for it with my usual tools. Enough components are closed that, like Windows or MacOS X, I can’t feel like I can truly trust it with sensitive data. Although it has SSH clients available, the SSH server there wants you to pay to use public key auth, and the SSH clients don’t work all that well. Git can work, sort of. Battery life is great, and the keyboard is fine, but even flashing a different OS won’t fix that terrible performance.

I’ve had people recommend certain Asus laptops, a Microsoft Surface Pro, or a Macbook Air. Any thoughts?

Backing up every few minutes with simplesnap

I’ve written a lot lately about ZFS, and one of its very nice features is the ability to make snapshots that are lightweight, space-efficient, and don’t hurt performance (unlike, say, LVM snapshots).

ZFS also has “zfs send” and “zfs receive” commands that can send the content of the snapshot, or a delta between two snapshots, as a data stream – similar in concept to an amped-up tar file. These can be used to, for instance, very efficiently send backups to another machine. Rather than having to stat() every single file on a filesystem as rsync has to, it sends effectively an intelligent binary delta — which is also intelligent about operations such as renames.

Since my last search for backup tools, I’d been using BackupPC for my personal systems. But since I switched them to ZFS on Linux, I’ve been wanting to try something better.

There are a lot of tools out there to take ZFS snapshots and send them to another machine, and I summarized them on my wiki. I found zfSnap to work well for taking and rotating snapshots, but I didn’t find anything that matched my criteria for sending them across the network. It seemed par for the course for these tools to think nothing of opening up full root access to a machine from others, whereas I would much rather lock it down with command= in authorized_keys.

So I wrote my own, called simplesnap. As usual, I wrote extensive documentation for it as well, even though it is very simple to set up and use.

So, with BackupPC, a backup of my workstation took almost 8 hours. (Its “incremental” might take as few as 3 hours) With ZFS snapshots and simplesnap, it takes 25 seconds. 25 seconds!

So right now, instead of backing up once a day, I back up once an hour. There’s no reason I couldn’t back up every 5 minutes, in fact. The data consumes less space, is far faster to manage, and doesn’t require a nightly hours-long cleanup process like BackupPC does — zfs destroy on a snapshot just takes a few seconds.

I use a pair of USB disks for backups, and rotate them to offsite storage periodically. They simply run ZFS atop dm-crypt (for security) and it works quite well even on those slow devices.

Although ZFS doesn’t do file-level dedup like BackupPC does, and the lz4 compression I’ve set ZFS to use is less efficient than the gzip-like compression BackupPC uses, still the backups are more space-efficient. I am not quite sure why, but I suspect it’s because there is a lot less metadata to keep track of, and perhaps also because BackupPC has to store a new copy of a file if even a byte changes, whereas ZFS can store just the changed blocks.

Incidentally, I’ve packaged both zfSnap and simplesnap for Debian and both are waiting in NEW.