Danny's Dream -- Chapter 3: From the Beginning

That night, after Danny had finished saying prayers with his dad, he carried his Book of Mormon, his lantern, and his blanket over to the window seat. Danny carefully laid everything out like he was going to camp out under the stars. Then he sat down and started to read.

Since he'd already read the verses his brother Tom had asked him to, Danny decided to start reading at the beginning. He'd tried it once before, but it seemed like he could never get past "I, Nephi, having been born of goodly parents".

This time, he really wanted to read the whole book. Pretty soon, his eyes started to close, and his head started to nod. Before he realized it, Danny was asleep.

Danny heard voices and started to stir. It seemed very hot under his blanket. Danny pushed it off of himself and opened his eyes. It was bright. He wasn't in his room. He didn't know where he was.

Danny looked around. He was in an alley, there were stone walls on both sides of the alley. One end of it opened out onto a street. Danny saw people on the street. They were dressed strangely, wearing what looked like robes and pajamas. The people looked busy. Some of them were carrying baskets.

A voice cut through the other sounds. "Dried figs! Come and see the finest figs in Jerusalem. Figs and Dates!" Jerusalem? What was the man saying? What was happening? Danny looked down. All of his things were gone; his lantern, his Book of Mormon, even his blanket. Then he noticed that he wasn't in his regular clothes either. Danny was dressed just like the people that he saw.

Danny was scared. He wanted to cry. What was he going to do? Where were his mom and dad?

Suddenly, another voice sounded above the others. "People of Jerusalem, repent! Jeremiah has spoken the word of the Lord and his words condemn you. Destruction is near if you will not set aside your sins and come unto the Lord."

Other voices, angry voices began to swell. "Joshua! Go back to your cave." "We don't want you here Joshua." "Why would the Lord destroy us? We're his chosen people. Jerusalem will stand forever!"

The new voices were saying things that didn't sound right. They sounded angry. Danny wished he could shut out these new voices and hear this Joshua guy. That didn't seem too likely though. People were starting to gather closer together. One of them stood apart from the others. The crowd looked mad. One of them bent down and picked up a rock. He threw it at the man standing alone. "Take that Joshua! All of you false prophets deserve to be stoned." Joshua, the man
who'd been standing alone, started to run. He was headed right toward Danny's alley.

Danny pressed himself back up against the wall. Joshua ran right past him. The crowd followed. Some of them threw rocks at Joshua as he ran away. They were shouting and laughing. Danny had thought he was scared earlier. Now he was terrified. The men chasing Joshua didn't even seem to notice him though. They were too angry.

As the crowd ran past him, Danny started to sneak back out toward the street they had come from. As he stepped out of the alley, he nearly ran into someone. It was a young man, but he didn't look angry like the crowd had. He looked sad, and suprised to see Danny. "Hi there. What is a child like you doing on the streets alone? What's your name?" He asked.

"My name is Daniel, sir. And I'm lost. Can you help me?" Danny asked, his fear of the crowd and his strange surroundings overcoming his normal shyness.

"Daniel, my name is Nephi, the son of Lehi. I'll help you. Let's get you to my father. He'll know what to do, he always does." The young man, Nephi, said. Nephi put his arm around Danny's shoulders and the two of them walked down the road together.

Later, as Danny and Nephi arrived at Lehi's home. They met another young man, a little bit older than Nephi. As they walked through a stone gateway into a yard filled with animals, Nephi called out to him, "Samuel. I've brought Daniel home to eat with us. He's lost and needs our help."

"I'll go and let mother know that we'll have another mouth to feed at lunch. Father's not here right now. He should be home this evening though." Replied Samuel, and he went across the yard into the house.

Danny loved the yard. There were goats and chickens running loose. A box, made out of stone, stood against a low stone wall, filled with water. One of the goats stood in front of it, drinking from the water inside. Standing in a shady spot against a wall of the house several large clay pots were stacked.

As he and Nephi walked across the yard, Danny looked at everything. As they reached the house Danny realized that there was no door, just a heavy sheet of fabric hanging in the doorway. Nephi pulled it aside and the two of them entered.

Danny spent the afternoon with Nephi. They had lunch soon after arriving. Instead of sandwiches and milk, they ate a strange kind of bread dipped in some kind of sauce and small chunks of cheese. The bread was round and flat -- Nephi would tear off a piece, scoop up some of the sauce and eat it like Danny would have eaten dip with potato chips. The cheese was white and hard, it tasted salty. As they ate, Danny and Nephi drank warm water. Danny wondered what Nephi would have thought about cold milk and fresh baked cookies.

After lunch, they went out and to gather wood. As they worked, Nephi and Danny talked. "What's it like having a prophet for your dad?" Danny asked.

"A prophet? You must be thinking of somebody else. My father is a merchant." Nephi replied. "Jeremiah, now he's a prophet. Some of the men who follow him are prophets too, like Joshua from the market today."

"Joshua is a prophet? But he said that Jerusalem is going to be destroyed! Shouldn't we leave or something?" asked Danny.

"He's a prophet all right. Jeremiah teaches the same thing.'' Said Nephi. "My father says that they speak the word of God. Samuel and I believe them too. My older brothers don't though. They think that because we are of Israel's line, Jerusalem will never fall."

"If a prophet says so, then it'll happen." Said Danny.

What I Don't do at Work

As promised, here's another tidbit about work. I thought I'd start out by talking about a couple of things I'm not working on at work.

First, I'm not working on the fabled 'Digitize everything in the Vaults' project. I know things are being done, I don't know how much, how fast, or how accessible things will be. (I am hopeful that there are cool things happening somewhere here at church headquarters.)

Second, I'm not working on the Family Search Indexing project. It looks really cool, except that it requires Windows and IE. I've heard that it's going to go into use fairly soon -- I don't know what scale to measure soon by though.

Third, I don't work on any of the existing LDS web sites (LDS.org, ProvidentLiving.org, JosephSmith.net, etc.) There are a lot of cool things hiding out there though. Even though I don't work on any of them, I do try to make good use of them -- if you're not familiar with them, maybe you should be.

Oh, yeah, there are some other things I don't work on at work -- my writing projects (blog or otherwise), Free Software that we're not using, and a variety of stuff like that. That's what I do when I should be sleeping.


Danny's Dream -- Chapter 2: The Birthday Boy

Danny stirred a bit, then woke up. He wasn't in his room! Where was he?

"Happy birthday to you. Happy birthday to you. Happy birthday dear Danny. Happy birthday to you."

The lights came on and suddenly Danny knew where he was. The reading room, only it didn't look the same. It looked like a bedroom. It looked like his bedroom!

"Hey kiddo, do you want breakfast or not?" Asked Mary. "I'd be happy to eat those pancakes for you if you're not hungry. Besides, I want to see you open up your presents."

The smell of pancakes and bacon cut through the excitement and Danny realized that he was hungry. Very hungry! "I'll eat them myself, thank you." Danny answered his sister, and he picked up his knife and fork and did just that.

"We're sorry you can't unwrap our present to you." Said his mom. "We hope you like your new bedroom."

"Like it? It's great!" Danny said between mouthfuls of breakfast.

"I'm glad you like it Danny." Said his Grandpa. "This used to be my favorite room in the house when I was little. I'd come up here when it was my dad's library. I can still remember falling asleep on that window seat with a favorite book. It seems like it happened almost every day. I learned to love a lot of books here in this room. I hope that you will too." Grandpa handed Danny a nicely wrapped bundle. "Happy birthday!"

"Wow grandpa. You used to use this room when you where little? That's too cool." Said Danny. He unwrapped the bundle and found a flannel blanket.

"I used to wrap up in that blanket while I was reading." Grandpa said.

"Open mine next." Said Mary, handing another box to Danny.

Danny unwrapped it and found a battery powered lantern. "Neat! Now I can stay up late reading." He said.

"Not too late, Sport." Said his dad. "Don't forget to open your present from Tom."

"No way I'll forget that one Dad. I've been waiting all week to open it." Danny replied as he picked up the package from his brother. He carefully tore open the brown paper wrapping uncovering a blue book with gold lettering. "The Book of Mormon! My very own copy. This is
so awesome."

"Check inside." Danny's mom said.

Danny opened up the front cover and saw a note from Tom. The note said:

I've given out a lot of these, but this one is the most
special. It's only one more year until you get to be
baptized. Before you take that step, you should read this
book and know that it is true. Did you know that Heavenly
Father promises each one of us that we can know for ourselves?
His promise is right in this book. Read Moroni 10:3-5.

You should also start reading at the beginning and go right
through the book. I'll give you an extra scripture to read
every week in my letters until I come home. It will be just
like I'm teaching you out here.

Love your brother,
Elder Thomas Moroni Jackson

Danny's mom started to pick up the dishes from breakfast. "Why don't we let Danny get used to his new room, and maybe get a little bit more sleep." She said as she led the rest of the family out of Danny's room.

Danny wasn't tired, but he knew just what he wanted to do. He collected his new gifts and carried them over to the window seat. He turned on his new lantern. He curled up in Grandpa's old blanket. He picked up his Book of Mormon. "Where is that promise? Moroni ... Chapter 10. Okay. Here it is verse 3."

"Behold, I would exhort you that when ye shall read these
things, if it be wisdom in God that ye should read them, ye
would remember how merciful the Lord hath been unto the
children of men, from the creation of Adam even down until the
time that ye shall ponder these things, and ponder it in your
"And when ye shall receive these things, I would exhort you
that ye would ask God, the Eternal Father, in the name of
Christ, if they are not true; and if ye shall ask with a
sincere heart, with real intent, having faith in Christ, he
will manifest the truth of it unto you, by the power of the
Holy Ghost."
"And by the power of the Holy Ghost ye may know the power of
all things."

"Wow." Thought Danny. "He did promise me. I can know if it's true." Danny curled up a little bit tighter in the blanket. It was nice and warm. Soon he fell asleep.

"Daniel." A voice called.

"Daniel." It called him again, and Danny started to stir. "Daniel, I want you to read the book."

Danny's eyes opened. there was someone in his room. A man, dressed kind of like an Indian, not with feathers and stuff, but like the Indians down in South America -- Danny remembered seeing pictures of them at school.

"Who are you?" Danny asked.

"I am Moroni. You just read my promise. Daniel, I want you to read this book. Pray about it, and Heavenly Father will let you know that it's true. Just like millions of people before you. Just like your brother, Thomas. Just like your father, William. Just like your grandfather, John." Said the man.

"Danny!" He heard a voice. "Danny!" It was his mother. Danny started awake, he must have fallen asleep on the window seat. "Danny, it's time for our devotional. Come on down." His mother called.

"I'm coming mom. You won't believe the dream I just had." He picked up his Book of Mormon and started down the stairs to join the rest of his family.

Food Storage, Day 1

Well, things didn't start so well. Yesterday we were going to eat out of just the basics we had stored (more or less the 1 month kits available through the Canneries). Alas, we awoke to realize that we'd not set up the bread maker to deliver nice, warm bread for the morning, and that we'd forgotten to soak the beans for rice and beans for lunch.

We had a pretty hurried (harried?) morning as we tried to put things right, and ended up not doing too badly. We did use some of the basic spices we'd already built into our storage, and things didn't taste too bad (though my kids might disagree). After dinner, we took comments around the table about what we should add to the basics (there was a lot of input about that, and soy sauce was high on the list of requests). We also voted on which two items we should pull out of our 'secondary storage' to supplement our meals for the week — peanut butter was a clear winner, and we decided to hold off on the second item until later in the week, but it'll probably be either frozen veggies or maybe a roast for Sunday's dinner.

We seemed to have learned our lesson about preparation though, since we soaked beans for soup and put a loaf of bread on before we went to bed last night. Boy, that bread smelled good this morning!


Danny's Dream -- Chapter 1: Prolog

Danny slept quietly while the rest of his family was hard at work. You see, today was Danny's birthday and his family had a tradition. Each person in the family, on their birthday, was awakened to their favorite breakfast -- served in bed. The family would sing 'Happy Birthday', and give their gifts to the birthday boy (or girl).

That's why everyone was downstairs gathering gifts, blowing up balloons, and helping get Danny's favorite breakfast ready; walnut pancakes with real maple syrup, bacon, orange juice, and a big glass of milk. Everyone except Danny's older brother, Tom. Tom was serving a mission. He was living in Joplin , Missouri.

Tom still remembered Danny's birthday though. He had sent a special package, just to Danny. "Don't open until your birthday!", was written all over the outside. Tom was Danny's hero. They wrote letters back and forth every week. It had been very hard for Danny not to open Tom's box. He didn't want to let his brother down though.

Danny's sister, Mary, had mixed the orange juice. His mom and dad had made the pancakes. His Grandpa had gathered a tray and dishes to serve Danny's breakfast on. They set the breakfast onto the tray and started up the stairs. They went right past the second floor where Danny's room was though. They climbed right up to the third floor. The only room on this floor was the one they called 'the reading room'.

The room had been turned into a bedroom. Bookshelves lined the walls, filled with hundreds of books. A bed had been put into the room, and a pile of pillows filled the ledge of one window turning it into a wonderful spot to sit down and read. Three boxes sat on the bed. Two of them were nicely wrapped, the third was Tom's gift. "I'll put the bow on the door, you go down and get Danny." Said Danny's mom to his dad.


A couple of things

I've posted a lot of technical stuff in my most recent posts here -- hmmm, with my lack of posts, it's hard to think of any of them as recent, The next batch won't be so technical. Let me tell you what I've got planned.

When my son, Michael, was first taking on early chapter books, I started writing one for him, Danny's Dream. Sadly, he blew through that stage before I finished. I'd like to post what I've got though, as a sort of serial. Maybe I'll even finish it this time around. At one point, I'd thought about making this into a series of books, but I never found the time.

I'd also like to comment a bit on an experiment my family and I are trying. We're looking to live off of our food storage for the week before Thanksgiving. We'll be starting tomorrow (so that I can start cooking for Thanksgiving next Wednesday). I'm hoping to write up some posts about how things go, and which (if any) recipes are worth trying.

If you only come here for technical stuff, I'll try to work some of that in soon too -- I just wanted to let my other side show for a bit.


A little bit of Ruby for work

I've always used, but never really like ab for looking at Apache performance. The big things that I've wanted to do with it was hit multiple urls according to a defined ratio. After a bit of hacking on the bus, I've got a working kernel (uner 150 lines of Ruby). I can run a script like this:

config = {
"http://localhost/first" => '50',
"http://localhost/second" => '30',
"http://localhost/third" => '20'}
urls = RWBBuilder.new(config)
tests = RWBRunner.new(urls, 10000, 100)

and I'll get back a report like this:

Concurrency Level: 100
Total Requests: 10000
Total time for testing: 48.786909 secs
Requests per second: 204.973018479199
Mean request time: 0.0048786909 secs
Results for http://localhost/first
Numer of runs: 4864
Shortest time: 0.02031 secs
50%ile time: 0.036371 secs
90%ile time: 0.045528 secs
99%ile time: 0.263913 secs
99.9%ile time: 1.555193 secs
Longest time: 1.556691 secs
Results for http://localhost/second
Numer of runs: 3142
Shortest time: 0.021777 secs
50%ile time: 0.035928 secs
90%ile time: 0.045415 secs
99%ile time: 0.289059 secs
99.9%ile time: 1.49962 secs
Longest time: 1.554188 secs
Results for http://localhost/third
Numer of runs: 1988
Shortest time: 0.016705 secs
50%ile time: 0.03639 secs
90%ile time: 0.04559 secs
99%ile time: 1.256631 secs
99.9%ile time: 1.496296 secs
Longest time: 1.544625 secs

Once I get it cleaned up a bit more, I'll release it for general use.


Yet more about work

(I'm posting this reply to some email here because it fits in well with what I've been trying to write about, and because there are a not entirely unified set of people here and on the ldsoss mailing list.)

Just so you know where I'm coming from, here's a little bit of background.

I got involved in the Free Software world back in '89. I've done some volunteer work for the FSF (passing out literature at conferences and UG meetings and installing linux boxen at their MIT office space). I use, contribute to, develop, and write about Free Software both professionally and as a hobby. I've started perl mongers groups, ruby brigades, sys admin groups, and helped with LUGs in a variety of places. Heck, I even understand the difference between Free and Open Source Software (and come down firmly on the side of Free Software[0]). Even this email was written in an emacs buffer.

I'm also a church employee. I've been working here for several months now, and have gotten a pretty good idea of how things work (and sometimes even why). I've talked to several layers of management, and a number of peers about my writing and activism here and have a measure of support.

Okay, with that all out of the way, let's get down to the brass tacks.

What kinds of data will we be releasing?

What do we really want to get out of the ldsoss (or the wider FLOSS) communities?

Do we really know what we're doing?

I'm going to try to handle these in reverse order -- think of it as a modern day chiasm ;)

The church, it's IT workers, the Family & Church History Department, and even the comparativley smaller Family History group are fairly large organizations, people inside them are all over the board on their awareness of FLOSS and the principles that underlay it. We're using a lot of Free Software, and are mostly trying to give back into those communities (or are at least looking for
ways to do so). I think there is occasionally some confusion, either along the lines of "It's free as in a free [lunch], so we'll just grab it and go."[1] or "Well, we can just toss this stuff over the fence and the Free Software folks will spin it into gold for us.". I think there's a building awareness that these are both problems, and there are steps being taken[2] to
ensure that they will be corrected. Do we know what we're doing? Mostly -- and with education, it's getting better.

The Church has a lot of genealogical data that we want to make available in ways that will be useful to church members and the wider world. Our biggest goal is always to help bring saving ordinances to the many, many who have died without them. To that end, there have been (and will be) significant investments in Family History related IT. There's a lot more that can be done
though, and we don't have the ideas, the people, or the time to do it all. We're looking to partner with others to fill those gaps. In some cases, we want to contribute to existing Free Software[3], in other cases we want to enable people to write Free Software to fill the niches (either by providing data, or APIs). In still others, we would love to work with the community to
enhance tools we're already building (or thinking of building). What do we want? We want to work with the community to provide the tools that will enable more (unique) ordinance work to be done, releasing spirits from their prison.

Which brings us to data and APIs. There's a *lot* of stuff sitting in the vault. My understanding is that we want to get it all out there for the public to use[4]. How we get it out there is more nebulous. Right now, there's a big opportunity to influence that set of decisions. I think 'the powers that be' would be very open to hearing requests for specific kinds of data (and APIs to interact with it), especially when those requests are:
a) well thought out
b) have some community support behind them
c) have a solid backing reason.

Does all of this still seem a bit nebulous? I'm afraid that it probably does but bear in mind that this is a long road, one which we've not gone very far down. This is a great time to get involved. Again:
Think about what you'd like to see.
Think about how you'd make use of it.
Talk about it, here or on other mailing lists.

Your involvement will help shape the future.

Infrastructure Engineer
Family and Church History Department

[0] Yes, I've read the GPL and the LGPL, along with a bunch of other licenses.

[1] I'm thinking here of situations like using nagios or mon and not getting involved in the community, not hey, let's grab this code and throw it into a program/library that we're going to distribute.

[2] I'm not at liberty to talk about these yet, but I'm encouraged -- for now, you'll have to take my word for it.

[3] E.g., my call for volunteers to help us bridge JIRA and nagios. Thanks for those who have responded, I haven't forgotten to get back to you.

[4] I'm talking only about family history related stuff here. I have no idea what the plans are for access to Church history information is -- but I know things are happening there, too.


Open Source mini-project: call for volunteers

Hey, are you interested in doing some Open Source work that would really help the LDS Church's family history website, which provides free (as in free lunch, not free beer) genealogical data and tools?

We're in the middle of some significant upgrades (see previous posts or here), and it often seems like we have more stuff to do than people to do it. Case in point, we use the JIRA issue tracking system and the Free Software Nagios system/network monitoring software. We'd really like to build some connectivity between the two (to enable 1-click ticket creation for example), but we don't have anyone we can assign to making this happen. Would you be interested? It could be done as a brand new project or as an extension to Nagios, As long it it stays Free Software we'll be happy. (We'd like it to be Free in the GNU sense, not because we want to save money.)

Just so everyone knows, Nagios has a home page at www.nagios.org.

Also, JIRA has an API (SOAP, REST, and XML-RPC) available, which is probably the way to do this.


More about work.

As promised, here's a bit more about what we're doing at work. I'm tremendously excited to be a part of this, and I think that it will turn out to be a very important step forward for the church as it rolls out into general production.

The project as a whole encompasses a lot of pieces: Family Search Indexing; a redesign of the www.familysearch.org home page; making more documents from 'the vault' accessible; and (the part I'm involved with) developing a new software system for organizing, performing, and recording family history and temple work.

I'm part of the infrastructure team that manages the computing and networking resources involved in running this new system. There are several people on the team (although we have a few job openings that we're still trying to fill). Right now, I'm most involved in developing processes and tools for provisioning and maintaining large sets of computers. In subsequent posts I'll try to put together some specifics about this.

There are a lot of developers hard at work on the actual system. It's been cool to see things coming together. One of the pieces that really has me jazzed is the effort that's gone into making collaboration easy. I look forward to this accelerating the work of identifying and researching our ancestors. (Again, I'll try to put together some more information about this in later posts.)

Well, that was interesting.

In a comment to a recent post an anonymous poster wrote a number of unflattering things about me. A lot of them centered around my being prideful. That's not a comment I haven't heard before -- and it's something that I've tried to work on and will continue to work on. That's also not what bugged me.

The anonymous commentor also said: "The church dispanded(sic) your former ward due to corruption.". Now that irks me. All units of the church are made up of people, and none of us are perfect. But to say something like this about a group of people (most of whom don't even know that they're being painted with that brush) is petty and mean.

Most of the people in my former ward are decent people, with solid testimonies, trying to do the right thing. Our bishop was a humble caring man, who loved his ward family and served them well. The Elders Quorum presidency was made up of three stalwart brethren who were focused on ministering to the families of the quorum. I could go on, but I'm afraid I'd leave someone out so I'll stop with this pair of examples. I know of no 'corruption' or any similar problems in the ward.

In fact, the entire stake went through a renaming and a series of boundary changes a couple of weeks ago. This is not an uncommon event, and is brought about by demographic changes. I think the changes will make for stronger wards and a stronger stake. I think these kinds of changes are a wonderful sign that the church is indeed a 'living' church (see D&C 1:30).


Blog Spam

Well, I've been more or less under the radar, but I think that's starting to change. I've been getting 1 or two spam messages a day for several days now. So far it's manageable though.



I just found a link to Tasting Menu a great foodie site. They've created to e-cookbooks that are currently available at no cost. The books are a visual delight, and are full of wonderful looking recipes. I'll be adapting the 'Dungeness Crab wrapped in Red Delicious Apples' soon ... maybe for a date night treat this week.

Anyway, I just had to share. Enjoy.

Hearing about your job in conference

One of the neatest tidbits from conference (for me) was hearing President Hinckley talking about the new genealogy software. That's the project that I work on, and this was the first time I've been in a position to hear the prophet talking about my day to day work during conference. It sure left me feeling excited to get in to work on Monday.

On a related note, we're still looking for some good technical people. I'll try to blog a bit about what's going on here, and lay out some more information about the kinds of people we're looking for.


the best way to learn . . .

is to write about it.

IBM just published another Ruby article I’ve written, this one’s about Debugging Ruby Code.

Maybe after another hundred or so articles, I’ll be able to start thinking of myself as a master.


getting started with Haskell

I’ve started working through Yet Another Haskell Tutorial to teach myself some haskell. I’m not too far into it, but it’s making sense so far—none of the mind-bending strangeness that I keep hearing about. Nothing that makes me want to give up Ruby either.

Here’s my version of a recursive multiplication by addition function from one of the exercises:

mult a 1 = a
mult a n = a + mult a (n -1)


Not nearly a Ruby master, but I'm working on it.

One of the things of been doing lately is writing about Ruby. An article of mine was released on IBM’s DeveloperWorks site last week (yay!), and just got linked from OS News (http://www.osnews.com/story.php?news_id=11574) which is pretty awesome too.


more ruby

today, i needed a class for handling IP addresses for hosts and the IPAddr class from the standard library didn’t quite do everything I needed, so I ended up writing one for myself. Now, when people do data entry into my hosts database I can keep them from entering all kinds of hokey, bad data:

here’s some trimmed output from irb:

host = IP_Addr.new(‘’, ‘’)
RuntimeError: bad ip address, can’t use network address
host = IP_Addr.new(‘’, ‘’)
RuntimeError: bad ip address, can’t use broadcast address
host = IP_Addr.new(‘’, ‘’)
=> “”
=> “”

now, I can count on my db not having network or broadcast addresses (or other invalid addresses that I’m checking for), and I can build dhcp and dns config files automaticly.


another step, another release

The Ruby Programming Shop has been hard at work on r43, a Ruby library wrapping the 43 Things webservice. All of our hard work has really paid off. The 0.2.0 release of r43 is better designed, better tested, and easier to use.

I’d especially like to thank Sean Carley and Edward Cho who really beat the early code into shape. If anyone is interested in getting involved, we’re going to be working on r43 through the end of August. At that point, we’ll pick a new library to work on.

You can grab your own copy at the r43 page on RubyForge.


Quick update

Well, it's been too long since I've posted, but I thought I should break my silence for this.

My daughter just got accepted into BYU's concurrent enrollment program. She'll attend Fall and Winter terms under this status, then will be able to start as a true freshman in the Spring. Not bad for a 15 year old.

Mom and dad are both doing fine.


Tag Clouds

Folksonomies are an interesting idea. Here's a fun take on it:

A tagcloud based on some of my favorite Ruby blogs. It'll be interesting to see where this goes.


Ajax on Rails

Ajax on Rails
Ajax on Rails,
originally uploaded by chrisglass.
A great visual pun about two cool web development technologies.

(Thanks to Tim Germer for the pointer.)


Ruby Brigades just rock!

Tim Germer just made a post on his blog about the June pdx.rb meeting. From his tone, it sounds like it was his first meeting, but I think he’s hooked:

It was great to be surrounded by such smart people – there was easily over a dozen people in attendance. The experience was like grabbing a really challenging book off the library shelf and diving in; ambitious to learn new words, etc.

When’s your next Ruby Brigade meeting? I’ll be going to one in Utah next week.


Today's article

Tim O’Reilly wrote about a TestFest in June (I wish I could be there, it looks like it’ll be fun).


Feeling the pain of not unit testing

Ten minutes without a test is a great article about the pain that ignoring tests brings. Whether you’re writing code test first, or just doing unit testing, this is well worth the read.


New Rails beta-Book

Dave Thomas and DHH have released the beta-version of their book Agile Web Development with Rails. I need to grab this book, both to learn more about Rails and to support a great idea.



Okay, the big news (and my major time sink right now) is that my family and I are moving. After 3+ great years in the Pacific Northwest, we're headed back to Utah. I've taken a job with the Family History organization of the LDS Church.

We've lived in a lot of places (in New England, the MidWest, the Intermountain West, and the Pacific Northwest), and have good memories about all of them, but the time is right for our family to head back to the Wasatch Front. We'll be down there in the latter half of June.


Fragility of Judgement

I love this term, which I just saw at radar.oreilly.com. Tim O'Reilly blogged about Malcolm Gladwell's talk at an IT conference.

In his overview, Tim points out how much our judgement is swayed by non-essentials -- for example, an increase from 5% to 50% in hiring female musicians when using visual screens and the poor record of ER doctors in diagnosing heart attacks because they tend to focus on predictive factors rather than symptomatic diagnosis.

My question then is what kinds of extraneous factors blur our judgements?

test first with Ruby

I wrote a tutorial about coding test first for ibm. Hopefully, it’ll help more people start writing code this way.

Update: By the way, I did a lot of the organizational/background work of this using BackPack, which I'm still really enjoying. I'll need to get a bigger review up later, but something a bit more urgent is taking up my time at the moment.


New Google Home Page

It's not a new idea, but it is done pretty well. You can get see your google home page (at least if you're already 'cookified' by google. I'm pretty happy with my first 30 minutes of use. We'll see if I stay happy.

My only nit is that the gmail preview shows the senders for each email instead of the subject.


I want to read 'Higher-Order Perl'

but not enough to buy a copy. MJD is putting it online though, so I’ll have to read it that way. I really don’t care that much about Perl, but I think I can translate the concepts over to Ruby.

On the other hand, maybe just learning haskell or scheme would be enough.


more Ruby Brigades

It looks like there are two more Ruby Brigades meeting soon. Columbus.rb and the Phoeniz.rb (though this one seems to have been around for a while). It’s good to see the growing number of Ruby Brigades.

I’m hoping the next step is to have more regional cooperation—like the Seattle.rb, pdx.rb, and Vancouver group’s upcoming code fest.


Backpacking it!

I got a golden ticket to to try out backpack this weekend, and I’ve been loving it. It’s a great way to organize a lot of the little stuff that’s floating around in/on my head, my calendar, a bunch of post-it notes scattered everywhere, and emails in my inbox.

I think this will be a great addition to basecamp, and tada lists. Together, I think they might even be able to bring order to my disordered life.


Exciting Ruby Stuff

In the last week, I’ve seen a new group pop up in Omaha, NE and Tulsa, OK. The Omaha.rb will be meeting on Monday, May 2nd from 7-9PM (directions on their web page). I don’t know when the Tulsa.rb will meet, but hopefully it’ll be soon.

By the way, the Utah Ruby Users Group is set to start meeting on the third Wednesday of the month (May 25th). The Seattle.rb is meeting tonight. Wow! That’s a lot of Rubyists.


Home Teaching Survey

Home Teaching in our ward is pretty bad, getting to 40% of the families assigned to the elders quorum is looked at as an achievement. To help understand the problem a little more deeply, we passed around an anonymous survey in Primary, YM, YW, and RS. I knew it wasn't terribly scientific, the sample was poorly chosen among other things, but I thought we could use the data anyway.

I worried that even though this was anonymous, people wouldn't respond honestly. The first several forms I got back all said (essentially) 'All is well, no problem here.', and I thought my fears were confirmed. Gradually, I started to see some of the concerns that I knew were lurking. Here are the results.

I asked six questions:

('Yes' or 'No')
Do you know who your home teachers are? 70% did
Do they visit as often as you'd like? 50% did

(sliding scale)
Do they present an appropriate message? 68% positive
Are you comfortable asking them for service? 65% positive
Would you be comfortable asking them for a blessing? 64% positive
Do they help you to strengthen your family? 56% positive

How could they help you to strengthen your family? I got a lot of answers to this one. Here are a few:

Personally, I see no value in home teaching. I sit there while he talks to my husband, wishing I could be somewhere else. . . . Rather than share what he wants to share, think about us and focus on us, then prepare an appropriate message for us.

He strengthens us each time he comes because he really does care and calls us often

To help, they should actually come!

Have lessons for young children so they'll sit and listen.

Instead of asking if there's anything they can do, be more specific. For example: "Can we help you with your garage sale next week?" Take initiative: "I know you've been sick so we brought you a lasanga."

Know my children and take an interest in their lives


I haven't got a husband, or parents, or children, so I need home teachers

If the active, easy to visit families feel this way, I think we've got a long way to go to straighten out home teaching. How is it going in your ward? What are you doing well? Where do you need to improve?


skipping stones

skipping stones
skipping stones,
originally uploaded by pate.
One of my goals over at 43 Things is to do more hiking with my son. I posted some pictures of our last hike over at flickr.


r43 is being built test first

It’s so nice to watch it build like this. Add a test, watch it fail, write some code, watch it succeed. Here’s how it looks right now:

% ruby test_r43.rb
Loaded suite test_r43
Finished in 0.611202 seconds.

73 tests, 112 assertions, 0 failures, 0 errors

If you’re not writing your code this way, you should give it a try.


'This I Believe' from NPR

It sounds like NPR has turned up a winner. "What I believe" based upon a radio series of the same name from the 50s. You can post your essay explaining what you believe at the website. All the submissions will become part of an archive, some will be selected to be read by their authors.

I plan on submitting an essay. Maybe you should too.


r43, seattle.rb, and stuff

We had our March Seattle.rb meeting last night. It was huge we had 18 people there including at least 5 folks from Amazon. It was also pretty cool to have Chad Fowler with us.

Ryan kicked things off with a discussion of our upcoming code fest. I'll post a date when we get it figured out, but if you're a Ruby hacker and are going to be in the Northwest in May you should consider joining us. We're going to be working on Ruby Gems -- cleaning out some dark, scary corners and working on some enhancements. There's already interest from the Vancouver.rb, pdx.rb (Portland), and even a Ruby Hacker from Yakima.

Ryan also talked about MetaRuby and Ruby2C. The work that he and Eric have been doing is incredible. If you're interested, take a look at Polishing Ruby (Ryan's blog).

Once Ryan finished up, I botched a quick preview/presentation of r43, my new library for the 43 Things API. Ryan pitched in and helped me mock out the live site for testing. The coolest part was probably seeing Chad playing around with it even in it's pre-alpha state. Now that people know about it, I'm under the gun to get a formal release out the door on Monday.

Eric finished the evening off with a working tour through Rails. He took a cemetary information application (which will be open sourced and a hosted version available soon), worked on adding some functionality and tests. A lot of the people at the meeting were there just to look at Rails, so this was the biggest (and most appreciated) part of the evening.


Another Ruby book announced

Pro Ruby by Andrew Patzer from Apress. This looks like it's fast becoming a crowded field.


I loved it!

Beowulf is a great read. It’s very different from the Latin/Greek poetry (and the poetry influenced by them). My favorite translation is this one by Seamus Heaney.


Train Station Scenery

originally uploaded by pate.
Last year, my son and I went out to shoot some photo's to help him fulfill a Webelos requirement. We spent the morning down at the Sounder commuter rail station in Kent. I always thought this was a cool looking building, and his picture of it is great. Digital cameras and kids seem like a wonderful combination.

When I finally get around to building my dream N-scale railroad, this building is going to be a part of it.

Busy week

It looks like the coming week is going to be a busy one. In addition to the YW broadcast and general conference, I'm headed down to Salt Lake City on Wednesday on a one-day business trip, then heading over to the Seattle.rb meeting on Thursday.

Hopefully I'll get a chance to sit down to some smothered burritos with cheese and onions at La Frontera while I'm in Salt Lake -- they are one of the things I've really missed from the time I spent there.

The Seattle.rb meeting should be really cool. We're going to do an advanced session on Ruby on Rails and try to build a web application for storing and searching information (including inscriptions, data, and photos) from cemetaries.

a bit of a change

I've been semi-maintaining two separate blogs (a technical one, and this one) for a while. Since I keep falling behind on both of them, I've decided to bring them together under one umbrella and add some toys from flickr and 43 things, two sites that I've also been playing with. I'll be trying to clean things up a bit over the next week or so, but hopefully this will help me be a bit more 'engaged' in keeping both kinds of blog entries up to date.


Priesthood Preparation -- Lesson 1

Here's my draft outline for the first Priesthood Preparation lesson.

I Gaining a testimony of Jesus Christ (Alma 32)
A Why does it matter?
B How can I do it?
1 Personal and family scripture study
2 Personal and family prayer
3 Regular attendance at meetings
4 Giving service
II Priesthood Organization
A Aaronic
1 Role
2 Offices and duties
B Melchezidek
1 Role
2 Offices and duties
C Quorums
1 Purposes of
2 Membership in
3 Activities of
III Keeping Covenants
A Many kinds of covenants
B Basic principles
1 Understanding the covenant
2 Having a testimony
3 Having integrity
4 Making a daily effort
IV The Oath and Covenant of the Priesthood
A Group reading of D & C 84:33-41
B Discuss individual application
C Magnifying callings

Does this look reasonable to everyone? What would you add/change?


Priesthood Advancement

In my stake, there used to be a 'Priesthood Preparation' class taught by the High Council. They've recently set this aside and asked each ward to put together something similar on their own. (They did provide their materials, but several of the leaders in my ward felt we could improve on them.) I've started to put together my ideas for such a class and wanted to share them here where I could get feedback on them.

I'm hoping to keep the class to five sessions of one hour. Each lesson will be built around one or two recent conference talks, supplemented with scriptures, and topped of with (a lot of) discussion. I expect that the talks and scriptures referenced in the lesson plan/handout will more than fill a one hour lesson, and hope that it will provide study material for the paricipants. I also intend to pass out each lesson plan at least one week ahead to allow people to read over and think about the material before we meet.

Lesson one will cover the importance and development of a testimony of Jesus Christ and the importance of being ordained to the Melchizedek Priesthood. I'm thinking about using The Key of the Knowledge of God for one of the talks for this one.

Lesson two will cover Perfecting the Saints (our roles as husbands and fathers, service, and performing ordinances). I haven't settled on any talks yet for this one.

Lesson three will cover Proclaiming the Gospel (being a member missionary and doing home teaching). No talks yet for this one.

Lesson four will cover Redeeming the Dead (the importance of temple ordinances for ourselves and our families). No talks yet for this one either.

Lesson five will cover enduring to the end. I'm thinking about using Press On for this one.

I'm not committed to either of the talks above, but they both seemed to fit well with the theme of that lesson.

How can you help? I'd love feedback about the basic ideas, suggestions for talks that I might use, or specific recommendations for the individual lessons. As I get feedback, and work through my own thoughts, I'll post outlines for each of the lessons.

Comment away. Please.

Also looking at language in the Book of Mormon

Over on Millenial Star, Bryan Pocock is also taking a look at language in the Book of Mormon. He's focusing on phrases not often found in English, like the 'the something of Person' instead of 'Person's something'. A nice read.


Alessia and Adelbert Denaux

There's a very important discussion aboutAlessia and Adelbert Denaux over on Times & Seasons. If you've not already gone to look at it, you should now.


Wortschatz -- harrow

And in a quick second post, the second of two words: harrow.

This one is used outside of the Book of Mormon, but only in materials that should have been part of the plates of brass. It's use is also a bit more diverse.

The first uses are in 2 Sam 12:31 & 1 Chron 20:3. In these cases it is used to describe the implement. David is described as using harrows and other tools to put the people of Rabbah and the other cities of the children of Ammon to death.

In Job 39:10, the term is used strictly in the agricultural sense.

In 2 Ne 9:47 Jacob uses the term in a spiritual context as part of a triplet:
awake you
harrow up your souls
be plain unto you

The term is used to describe Zeezrom by Mormon (who may have been quoting Alma the Younger, see my discussion of tribulation) in Alma 14:6 and Alma 15:3. The first of these also looks like a triplet to me:
Zeezrom was astonished
his soul was harrowed up
he was encircled by the pains of hell

Ammon used the term in his missionary discourse in Alma 26:6. He describes the converts as being safe from being harrowed up by the whirlwind because they are safely gathered. This seems to be a different, more physical usage than the previous Book of Mormon uses of 'harrow'.

Alma the Younger also uses the term in his missionary sermone. In Alma 29:9, he is concerned that he is harrowed up in his desire -- like Ammon's use this seems to be more of an active, physical use rather than the spiritual meaning used by Jacob and about Zeezrom.

Alma uses the word four times in his second telling of his conversion story; Alma 36:12,17,19. The usage in verse 12 looks like a triplet again:
I was racked with torment
my soul was harrowed up
[I] was racked with all my sins

Alma also uses the word in teaching his son, Corianton. In Alma 39:7, he uses the term in a Jacobean sense.

Mormon makes the last use of the term that I could find in Mormon 5:8. In this case he is apologizing for bringing the awful vision of carnage before us.

I was especially interested at seeing how often Alma the Younger and Ammon used the terms 'harrow' and 'rack' together.

Wortschatz -- racked

Next up is the first of two words: racked.

I could only find it used in 4 places in the scriptures; twice by Alma, once by Ammon, and once by Moroni.

It first appears in Mosiah 27:29, where Alma is giving the first version of his great penitential discourse. Alma uses the term to describe the state of his soul while encumbered by sin.

Ammon uses it next, in Alma 26:9 he describes the Lamanites as being racked with hatred were it not for his (and his brothers') teaching the gospel.

Alma pickes the term up again in his second penitential discourse (Alma 36:12,14,16-17), given to his son Helamen. Again, he uses it to describe the guilt and suffering he experiences as a result of sin.

The last reference is found in Momon 9:3 where Moroni uses the term in the same context as Alma.


Keeping Our Covenants

For teachings for our times this week, our ward is studying Elder Maynes' talk Keeping Our Covenants. Since we've had problems in the past with instructors not showing up, I've started preparing a lesson each week 'just in case' -- the worst case is that I've studied the lesson more deeply than I would have otherwise. I'm not entirely sure of where to take this weeks lesson, so I thought I'd share some of my ideas, and see what feedback I could glean.

1) (an implicit theme for the lesson) We need to do more than just attend conference and/or browse through the conference report. We need to internalize the messages, write them on the fleshy tables of our hearts.

2) (a minor theme) We can learn more by likening the scriptures unto ourselves. As we move through the lesson, I'd like to focus on the example of the Ammonites (Alma 53:9,12,155,16-18,20-22; 56:45,47; 57:21,25-26) and draw parallels between the perilous times that the Nephites were experiencing and those we face as a community, a country and as families.

3) (the main theme) By making and keeping covenants, we can become the Captain Moronis and Helamens needed to guide and protect our community, country and families. I thought it was very interesting that Elder Mayne's first example was not of temple or baptismal covenant, but of contrasting, additional covenants made by the Ammonite fathers and their sons. What role should these additional covenants play in our lives?

Beyond the scriptures from Alma (above), I'd like to include:
Joshua 14:15
James 1:22
Mosiah 5:5-8
D & C 42:29

And to tie things up, I'd like to go back to the idea that we can stand as Captain Moroni and Helamen with Alma 48:7-20


Wortschatz -- To Sing Redeeming Love

Another term (well, phrase) that caught my attention is to sing redeeming love. While the concepts of redemption and love suffuse the scriptures, they are not often brought together. In fact, Alma the Younger and Ammon are the only to speakers to conjoin the terms -- and both of them refer to singing redeeming love.

Love and Redemption are used together in Deut. 7:8 and Isa. 63:9. In both cases, love is given as the reason for the Lord's redemption of His people.

The terms are used together in 2 Ne 1:15. In this case Lehi recognizes of God's love after he testifies of His redemptive power.

Alma the Younger speaks of singing redeeming love in Alma 5:9 and Alma 5:26. In the first instance, he's talking about the fathers of his audience (by context, it seems like he's talking about the people Alma the Elder led in the wilderness). After they've been saved from the bands of death and the chains of hell (physical death and sin) by the Lord's hand, they sing redeeming love. He goes on to ask his audience if they've experienced this change in their own lives, if they have felt to sing the song of redeeming love.

Ammon uses the term in Alma 26:12, applying it to the Lamanites who have experienced conversion through the preaching of the gospel.

The terms are also used together in D & C 133:53 (which quotes Isaiah 63:9).

Alma the Younger and Ammon use the term so similarly that it seems formulaic. But there's no prior use (that I can find). Perhaps (warning -- speculation alert), it was used by Alma the Elder and/or Abinadi but edited out of Mormon's text.


Nice post on the New Cool Thang

Geoff posted a nice piece on The parable of the sower. While I'd written about this previously, he took it in a different direction comparing the three failing kinds of seeds to three classifications of sin: Greed, Popularity, and Appetites. Having read his post, I think that Lehi's vision and the parable of the sower parallel Satan's temptation of the Savior in Matt. 4:3-10 to some degree.

In verse 3, the Savior is asked to turn stones into bread -- appealing to His physical appetite. Compare to Matt 13:4,9 or 1 Ne 8:31

In verse 7, the savior is asked to leap from a building so that the angels might bear him up -- appealing to His desire for popularity (His vanity). Compare to Matt13:5-6,20-21 or 1 Ne 8:23

In verses 8 and 9, the savior is asked to worship Satan in return for worldly wealth -- appealing to his greed. Compare to Matt 13:7,22 or 1 Ne 8:26-28

I think that the first and third parallels are fairly clear. The second is a stretch for Lehi's vision to match up to, although the angel explained to Nephi that ". . .the mists of darkness are the temptations of the devil, which blindeth the eyes, and hardeneth the hearts of the children of men, and leadeth them away into broad roads, that they perish and are lost" (not a bad description of vanity and its fruits), so maybe it's not too far off.

(I've tried to follow Geoff's Greed-Popularity-Appetites-Appetites-Popularity-Greed chiasm ...)


A post card from copyright land

Late last week, I discovered that a large publisher was using some materials I wrote and published under the OPL on their website. Not a big deal except that 1) they didn't reference the OPL at all, and 2) they posted it with their own copyright notice.

After I got over my initial indignation, I realized that this was probably an act of negligence, not one of malice. I was able to contact some people in their online division, and after asking them to fix the issue it looks like everything will be resolved this week.

Yeah for friendly discussion!

wortschatz - tribulation

Alma the Younger only used the word tribulation a few times, but he used it to great poetic effect.

'Tribulation' is first used in the Book of Mormon by Lehi, as he blesses Jacob in 2 Ne 2:1 and then by Jacob himself in Jacob 7:26. Lehi and Jacob use the term to describe the (mainly) physical struggles of their exodus.

It's then left unused until Alma the Elder uses it in a short sermon to his people in the land Helam (Mosiah 23:10). Alma the Younger uses it twice during his penitential speech in Mosiah 27:28,32. In Alma 8:14 it's used to describe Alma's state of mind (this could be Mormon's voice or he could be quoting Alma, it's hard to tell). Alma the Elder and Alma the Younger both use the term in a different sense than Lehi and Jacob -- that of an inner, mental struggle against sin and wickedness. In the case of Alma 8:14, the sorrow of seeing those for whom you have stewardship enmeshed in the snare of sin.

It's used again in Alma 15:3 and Alma 15:18 to describe Zeezrom. Again, it's difficult to tell whether this is Mormon's voice or Alma's. This usage follows the convention of using tribulation to describe the inner struggle against wickedness that accompanies repentance.

The Ammonites see the Nephites suffering 'many afflictions and tribulations' on their behalf (Alma 53:13), this may be Mormon writing on his own, or he may be quoting Helamen (the son of Alma the Younger). Helaman uses the term twice in a letter to Captain Moroni 56:2 and 7 (the second use is obviously connected to Alma 53:12). All of these verses use tribulation more in the sense of a physical struggle than the struggle of repentance.

Captain Moroni uses the word in his epistle to Pahoran (Alma 60:26). His use shares the same connotation that Helaman's and the use in Alma 53:12.

Wortschatz (a word treasure) -- passed from father to son

I spend a lot of time reading Alma the Younger's words from the Book of Mormon (hopefully not too much). Recently, I've been struck by some of the words he uses. I'm hoping to write a couple of short posts about what I've found. In particular, I'm enjoying the flow of language and words from father to son.



Well, I finally made it back, and what a meeting it was! DHH was there, along with Combustible Software(?) from Vancouver BC-- the folks trying to hire some Ruby ninjas. All told, there were 17 of us there.

Ryan talked a bit about Ruby2C, then DHH fielded questions about Rails (he did pretty well for a guy who's biological clock read 6AM), and we closed up by finalizing our plans for A CodeFest Proposal.

If you're a ruby hacker, and you're not part of a Ruby Brigade, I'd heartily recommend joining one (or starting one if there isn't one in your area). If you're anywhere in Western Washington, you might think about joining up with the pdx.rb, the Vancouver Group, or the Seattle.rb.


Saints Unified Voices

This looks really cool, I've read about Gladys Knight's choir and their firesides and have watching and waiting for their debut CD. I'm looking forward to grabbing a copy and adding to to my normal listening rotation. (BTW, 'As Sisters in Christ' from the Women of Destiny is a pretty cool song and has become one of my wife's favorites.)



Orson Scott Card going MMO?

According to an article at slashdot, Orson Scott Card will be working with eGenesis to create a online RPG based on his Alvin the Maker series ... although I'm not a huge fan of either Card or RPGs, this looks interesting.