From Devpit
Jump to: navigation, search

Note: ALL images on this page copyright Ryan S. Arnold, 2006, 2007. All rights reserved unless otherwise stated for a particular file. Do not use them without my expressed written permission. This includes photos, drawings, and vector files.


I'm sitting on a rock outcropping on Skyline Drive in the Blue Ridge Mountains of Virginia while on vacation.
User RandomTask,Thinkpad.JPG
Hi I'm Ryan S. Arnold, (User:RandomTask). I'm a Staff Software Engineer for the IBM LTC (Linux Technology Center). I'm mainly an operating system programmer for the GNU/Linux operating system running on POWER ™ (PowerPC architecture) hardware.

I've done:

  • Linux kernel virtual device driver programming (I wrote the HVCS driver, the CELL HVC driver, and maintained the HVC driver and the viocons driver).
  • BlueGene/L compiler testing.
  • OS/400 kernel programming (I wrote an asynchronous I/O telnet daemon, and an SSL encrypted sockets telnet daemon).
  • GLIBC development.
  • GNU Toolchain bootstrap scripting.
  • Developed DSSSL (Scheme) stylesheets for maintaining DocBook SGML documents.
  • PowerPC assembler level debugging of the Linux Kernel, OS/400, (dyanimc linker/loader), libc, and applications.
  • PowerPC assembler optimizations for particular POWER processors.
  • Pipeline analysis to determine performance characteristics on POWER hardware.

Currently my professional work centers around team leading the IBM Linux Technology Center's GLIBC on Linux for POWER team. I originally developed and continue to team lead the development of Libdfp (Decimal Floating Point library) which adds support for Decimal Floating Point to the GNU/Linux operating system. I also originally developed and currently team lead our Toolchain bootstrap scripts, hence the reason for all the toolchain based webpages on Devpit.

I'm a member of the powerabi working group that is rewriting and modernizing the PowerPC 32-bit ELF ABI.

I'm also a member of the libc-alpha mailing list moderation staff and I help out a lot on the libc-help mailing list and the freenode #glibc irc channel.

Devpit Pages

I'm climbing up alongside a waterfall on the way to the Splitrock (a natural formation of rock that is a Native American holy place) along the Lake Superior North Shore in Minnesota.

My Devpit pages of interest:


Here's a link to my CV.

Other Pages

My other toolchain related wiki pages:

GLIBC Wiki: Development Debugging

GLIBC Wiki: Debugging With an Alternate Loader


Nicolai Fyodor Arnold

My first son Nicolai (Nico) Fyodor Arnold was born on January 29th, 2005.

Nico 2006 - 2007

Nico 2008

Luca Marquez Arnold

My second son Luca Marquez Arnold was born April 25th, 2007.

Luca 2007

Luca 2008

The House

The roof is almost complete. I just need to put some hip shingles on the porch roof.

My wife and I (along with plenty of help from family and friends) have been periodically working on upgrading our nineteen-twenties American Four Square home for the last 5 years. Here's a recent picture where we've begun repainting it. It used to be drab white with flaking paint (see pictures on the right) and bare spots where repaired stucco was not painted. I spent about a month doing surface preparation on the lower half of the house and rebuilding the back porch roof. We still have 3 sides of the upper half left to complete surface preparation and painting. I suspect we won't finish before winter (2008) sets in.

You can't see it but we took out a small extra driveway next to the back of the house and I recently amended the dirt-fill that was brought in with home grown compost and planted grass. The grass has been doing great and it is nice to have more yard.

The house was pretty run-down when we moved in but it was still structurally sound.
The dormer before any painting had been done and before the trim, fascia, shingle, and clapboard had been replaced.
A little paint goes a long way. At this point it still needs a new roof.

The Roof

The roof on the money pit is almost completely replaced. What I intended to be a 4 day project has turned into a three month project. What I didn't expect was two layers of asphalt shingles, over top of a layer of the original cedar shakes. There were up to four inches of roofing material in places that had to be removed. It took forever to strip the old materials off and put down sheathing.

In addition to the difficulty on the roof the weather didn't cooperate quite often, so perfectly free weekends were lost. In all I spent about $4000 for the roof. $3000 spent on materials and $1K on tools, rentals, and disposal.

Some of the siding that was next to the bottom of the dormer and the bottom of the porch roof had dry rotted. Some of the vertical trim pieces on the dormer were also dry rotted. This had to be replaced. The dormer is done. I still need to finish replacing the siding above the porch roof.


Yes, I manage to have some hobbies apart from being a dad, husband, and workaholic.

Wood Working

Marking Gauge

Mortise and Tenon marking gauge in rock maple.
Diagram describing how the locking pin of the mortise and tenon marking gauge works. You can find the Inkscape SVG file here.
One of my non-computing hobbies is wood working. I'm slowly building up the skills (after a lot of failure and shoddy-work) to build semi-nice things.

I've been trying to make some of my own tools so that I can make a toybox for my sons. To the left is a picture of a mortise and tenon marking gauge I just finished making (2007-05-23) out of rock maple. This is my third mortising gauge and this one is finally usable. The previous two were defective enough to prevent usage.

I made the handles for all the chisels in the background. The pig-sticker (mortise chisel) handle took a lot of planing and shaping. It took four tries to figure out how to drive a handle on without splitting the wood (hint: use a clamp across the handle). I turned the two handles on the socket firmer chisels on the lathe. The black ends are actually glued up pieces of leather that were turned with the handle.

You can also see my first two real mortises cut into the front left leg of the toybox I'm building for my sons. Yes, that is oak, and yes it was hard work to chop those mortises. I also thickness planed those boards by hand with hand planes.

To the right are the plans I made describing how the locking pin of the mortise and tenon marking gauge works. It should be fairly straight-forward to figure out. The gauge body is made out of three glued up strips of rock maple with a hole left for the square gauge rail. The rail is a piece of rock maple as well. I used sharpened drill bits for the scoring pins. The locking pin was made out of rock maple and turned on a lathe to fit in the round mortise (cut with a forestner bit on the drill press


In the background of the picture above you can also see the mortising mallet I made. It's made out of a piece of oak from the trunk of a tree on my father's lake-shore property. It's really nice and figured but not nearly heavy enough for the tough work of chopping mortises. The head started to slip off the mallet after wailing on the pig sticker for 20 minutes and finally the handle snapped where it meets the mallet head. When I re-handle it perhaps it will be more suitable for light work, such as carving and paring. The hickory I used for the handle hasn't proven resistant to the shock of mortise chopping.

I need something with more mass so that I don't have to swing so hard. I've begun working on another heavier mallet made out of a thick piece of elm I have lying around. I've turned the handle out of elm as well. I've decreased the face angles on this mallet from 100 degress to 95 degress which helps with the striking angle.

Baking Tools

Wooden Dough Scraper

Dough scraper in quarter-sawn maple and quarter-sawn cherry with black walnut pins.
Another view of the dough scraper. That's my sourdough starter in the plastic container.

A dough scraper can be used when preparing dough in the following ways:

  • scraping the kneading surface
  • pinch-cutting the dough into smaller pieces
  • clearing sticky dough from the counter so it can be kneaded and/or stretched.
Note: Yes I've used it and yes it works very well for all the applications I've indicated. You don't need to have a metal or plastic scraper.

It took about five hours to make (since it was the first one I've done). The blade is made out of 1/4 inch thick jointed quarter-sawn maple. The handle is made out of quarter-sawn cherry. The pins are made out of 3/8 black walnut dowels. It is finished with butcher block oil (raw linseed oil). I'll be reapplying that until it is properly seasoned.

Rough cutting of the lumber was done with various power tools but all of the finish work (squaring, smoothing, length-cutting, and sanding) was done with hand planes, hand gent's saw, sandpaper, and steel-wool.

The blade is mortised[1] into the handle. To make the handle mortise I used a plunge router while the handle was still a square block of wood. Then I cut the curved profile of the handle out of the mortised block, i.e. the mortise in the handle is actually square bottomed. Since the handle is curved and pretty narrow the pins are only decorative, i.e. the blade doesn't extend deep enough into the handle to actually be secured by the pins. Future versions will probably have a wider handle so that the pins are functional.
Wooden Bowl Scraper

Coming Soon!

Wooden Pizza and Bread Peels

Coming Soon!


A new bathroom towel cabinet made out of tulip poplar and hickory (for the drawer sides).
Another view of the bathroom towel cabinet just after it got its final coat of paint.

My first real piece of furniture is this bathroom towel shelf. It is made almost entirely out of tulip poplar which is a wonderful wood to work with, especially if the piece is to be painted. The sides and back of the drawers are made out of hickory which we had laying around. I did add a panel of wainscot plywood to the back of the piece after these photos were taken. It went together pretty quickly but sat unpainted in my garage for quite some time waiting for the drawers to be glued up.

Woodworking Terms

  1. To cut or make a mortise in.
  2. To join or fasten by a tenon and mortise; as, to mortise a beam into a post, or a joist into a girder.

Bread Baking

I enjoy the yeasty art of bread baking. What follows are some tips I've picked up as well as some recipes (some family recipes from long ago as well as some new ones I've found).


Mix all the ingredients from scratch.
Start from a poolish (sponge), biga (pate fermentee), starter (barm) that has had some sort of pre-fermentation and glutten development already underway.


Be careful about mixing your wets and drys together at the same time. Protect the yeasty beasties from the salt. Don't proof your yeast with salt. Hold the salt back until the final mixing stage.


A comment about flour. Don't scoop the flour out of the container with the measuring cup you're using. This will pack down the flour and give you faulty measurements i.e. you'll get too much flour and your dough will be stiff.


Great Grandma's kneading method: Quarter turn, fold half away, push into dough with palms rolling it away, repeat over and over.


I raise dough using one of three methods:

On the counter
The dough is placed into an oiled bowl that is covered with a towel and it is placed on the counter (in the summer) or over a heat register (in the winter) until the dough has doubled in volume. In the winter don't put the dough on a counter that's up against an outside wall. That space will be too cold (and perhaps too drafty) for raising dough.
In the refrigerator
I raise overnight doughs in a sealed plastic container in the refrigerator. There are some exceptions where an overnight dough doesn't raise in the refrigerator but these doughs have low amounts of yeast and don't get out of control. Cold raising enhanced flavor and crumb quality. If you've raised in the refrigerator you'll need to warm the dough up to room temperature before you shape it. This generally takes about two hours. Periodically open the container to evacuate carbon-dioxide created by the yeast as the dough warms up or you'll be surprised when the dough forces it's way out.
In the oven
For every 17 degrees a dough will raise twice as fast. With this in mind I'll turn my oven on to 200 degrees for about two minutes to get the inside to be around 100 degrees. I'll then turn on the light, turn off the oven and raise my dough in the oven. It'll raise ultra fast. I'll also proof sourdough starter this way. One thing to keep in mind is that you don't want an ultra-fast rise using the direct method because you need to give the dough time to develop flavor. Indirect method doughs (using a poolish, biga, or starter) have flavor developed by the pre-fermentation and you can raise them as quickly as possible.

Pans and Baking Stones

Stoneware is awesome. I have examples of commercially made Pampered Chef pans and potter made pans. I also use a baking stone for heat retention. You can feel more confident opening the oven this way as you won't bleed out all your heat.

Shaping Dough

For all doughs you want to fold the edges of the dough under so that the top of the ball is uniform and smooth. The seam will be on the bottom.



A german pancake with frozen berries and banana.
German Pancake with frozen berries and banana
We got this recipe out of a parenting magazine but here it is in my own words. It's pretty awesome. It's like the German equivalent of the French crepe but a helluva lot easier to make than the crepe. You just heat up a pan in a 400 degree oven for five minutes to melt some butter. Throw in the batter and come back in 20 minutes.


2 eggs
1 tsp vanilla extract
1 Tbsp table sugar
1/4 tsp salt
1/2 cup flour (bread or all-purpose)
1/2 cup milk or soymilk
2 Tbsp butter
2 Tbsp powdered sugar
Frozen or fresh berries & bananas


  • Remove berries from freezer and thaw.
  • Preheat oven to 400 degrees.
  • Take a 2 Tbsp block of butter and grease cast-iron skillet thoroughly (including the sides). Place remaining butter in the middle of the pan.
  • When the oven has preheated place skillet with butter into oven until melted.
  • While butter is melting combine in a bowl:
 vanilla extract
 milk or soymilk
  • Once butter has melted remove skillet from oven and immediately pour mixture into center of the skillet.
  • Return skillet to oven and bake for 20-25 minutes until raised rim of the pancake is puffed and golden brown.
  • The center will fall when you put on the berries and sliced banana.
  • Top with powdered sugar.
  • In a small mixing bowl combine the wet ingredients and beat with a spoon until all ingredients are well blended.
  • In a large mixing bowl combine the dry ingredients and mix well. Make sure to sift the flour as it is put into the bowl.
  • Push the flour mixture in the large mixing bowl up to the edges to make a hole in the middle for the liquids.


Freshly baked cold water buns.
Cold Water Buns
This is a recipe for my Great-Grandmother Huschle's (pronounced 'hoosh-lee') cold water buns. They're sweet buns which are very fluffy and moist. They freeze/thaw well and make great finger buns, hotdog buns, hamburger buns, or clover buns. The tricky part is proportioning the raw dough correctly and packing them in the pan. I'm fond of making the dough late at night and then storing it in a sealed container over-night in the refrigerator and re-kneading, shaping, and baking in the morning. Overnight fermentation will improve the flavor as well. You can probably get away with less yeast if you raise overnight.
  • Yield: 3-4 pans of fingerling buns (depending on size) or about 24 hamburger buns.

Wet Ingredients:

1 cake Yeast (About 1 tbsp yeast granules)
5 tbsp Sugar
2 cups Water
1/2 cup Vegetable Oil
2 eggs
2 tbsp butter, melted for basting later (Don't add to the wet ingredients).

Dry Ingredients:

1 tsp Baking Powder
1 tsp Salt
3 cups Bread Flour (to start and you'll add about 3-4 cups more).
Finger Buns and Sticky Buns.
Clover Buns.
Hamburger Buns.

Directions Up to the first raise:

  • In a small mixing bowl combine the wet ingredients and beat with a spoon until all ingredients are well blended.
  • In a large mixing bowl combine the dry ingredients and mix well. Make sure to sift the flour as it is put into the bowl.
  • Push the flour mixture in the large mixing bowl up to the edges to make a hole in the middle for the liquids.
  • Pour the liquid mixture into hole in the large mixing bowl.
  • Mix well.
  • Slowly sift more flour into the now sticky dough while stirring constantly. You want enough flour to make a medium hydration dough.
  • Knead with flour until you get a slightly firm but still slightly sticky dough. This will take at least ten minutes unless you're a wicked kneader.
  • Store in a covered bowl or Sealed container to raise. I like to allow it to raise over night. On the counter it will double in about 2 hours.
  • If you allow it to raise in the refrigerator overnight you'll need to pull it from the fridge and allow it to warm up on the counter for about 2 hours before the second kneading.
Picture showing the resultant texture of the buns.

Directions after the first raise:

  • Remove dough from bowl and re-knead until all bubbles are out of the dough. This may take a lot of time or very little time depending on the number of bubbles and how well the gluten is developed.
  • Divide the dough with a knife into the sizes. You'll need to experiment to get the right sizes for your target bun. I ere on the side of small. A hamburger bun should be about a 1.5 inch diameter dough ball. Clover buns are made in cupcake pans. You take each 1.5 diameter ball and divide it into three smaller balls and place the three balls in the pan indentations.
  • Preheat oven at 350 degrees and allow dough to raise in pans covered by a clean kitchen towel until it has about doubled in size.
  • After about 2 hours place buns into the oven. Hamburger buns will take about 15 minutes to bake. Finger buns may take about 30 minutes to bake. About 5 minutes prior to finishing baking baste the tops of the buns with the melted butter.
  • Buns are finished when they're not doughy in the middle. Remove from oven and allow to sit in the pans for about 5 minutes.
  • Remove buns from pans and place on a cooling rack.

Flat Breads

Spinach Chapatis (Wraps)
This recipe creates 12 whole wheat spinach wraps approximately 10 inches in diameter. They're great as wraps or as chapatis for Indian food. Remove the spinach for whole wheat chapatis only.
  • Yields 12 10-inch wraps


2 1/4 cup whole wheat flour (more may be required depending on how juicy the spinach is).
1 cup water
4 cups fresh spinach
1 tsp Kosher Salt
Vegetable oil for cooking


  • Wash and puree spinach in a food processor.
  • Add all ingredients to a large mixing bowl.
  • Mix and add flour as needed to get a supple dough.
  • Knead for ten minutes.
  • Allow dough to sit for 30 minutes.
  • Divide dough into 12 pieces of equal size.
  • Flour surface and rolling pin frequently and roll dough balls into 10 inch rounds no more than 1/16th inch thick. Thin wraps are the key otherwise they won't bubble and cook properly.
  • Grease non-stick skillet between each wrap.
  • Place wrap on hot skillet and grease top side until entire surface is greased.
  • If you're eating the Chapatis with Indian food I recommend sprinkling kosher salt lightly across the top of the wrap. If you're using them for wraps then don't salt them.
  • Press wrap onto skillet with turner until bubbles form.
  • Flip wrap and do the same with the back side until lightly browned.

Pizza Doughs

Pizza on the peel.
Canadave's New York Style Dough (from
This recipes is an awesome slow ferment dough. It can be kept in the refrigerator for up to 6 days, slowly fermenting. The longer it ferments the more distinct the taste. The resultant crust is slightly sour and bubbly. It performs best when cooked at high temperature (550 degrees) directly on a pre-heated pizza stone. I've used it as little as four hours after kneading (with a warm rise) but it surely should be left overnight to cold rise in the refrigerator.
  • Yields 2 16-inch crusts for pans.
  • Yields 4 12-inch crusts directly on baking stone (because it raises more on the stone).

  • Note: This dough makes excellent pita pockets!


2 pounds flour
2 1/2 cups of cool water
2 1/2 tsp of yeast
2 tsp Kosher salt
1 Tbsp sugar
3 Tbsp Olive Oil
Olive Oil for brushing on the crust if desired.
  • Half all-purpose flour and half bread flour gives a nice balance between the elasticity of the all-purpose flour and the high gluten development of the bread flour.

Preparation and Kneading Directions:

  • In a large bowl combine yeast, sugar, 2/3 of flour, and water.
  • Mix for two minutes.
  • Let mixture sit for 20 minutes (this is the autolyse stage and it IS ESSENTIAL).
  • Add salt, olive oild, and remaining flour to mixture.
  • Knead until dough is supple.

Directions for Pan Cooked Pizza:

  • Divide dough in half, put into air-tight container and refrigerate up to 6 days.
  • To shape dough, remove container from fridge for 2 hours before making pizza until dough is very relaxed.
  • Pre-heat oven to 500 degrees.
  • Stretch by hand and press into pan until desired diameter is reached.
  • Poke holes in the dough with a fork to prevent large bubbles from forming.
  • Par-bake the crust for 2-5 minutes so it isn't doughy once topped.
  • Remove the crust from oven, baste with olive oil and then top.
  • Cook pizza in 500 degree oven until done (about 10-12 minutes). If the crust isn't fully cooked throw the pizza on the stone directly for a few minutes.
Pizza baked on the stone.

Directions for Stone Cooked Pizza (Preferred Method):

  • Divide dough in half, put into air-tight container and refrigerate up to 6 days.
  • To shape dough, remove container from fridge and divide dough balls in half again and place four dough balls in plastic bags on counter until the dough is at room temperature and very relaxed (about 2 hours).
  • Pre-heat oven and stone to 500+ degrees.
  • Stretch by hand or press into pan or onto floured pizza peel until dough is desired diameter.
  • Apply toppings directly onto dough on the peel.
  • If the peel was well floured when it comes time to transfer to the stone simply scoot the edge of the dough onto the stone where it will stick, then simply pull the peel out from under the dough and it will transfer to the hot pizza stone.
  • Cook pizza in 500+ degree oven until done (about 5-7 minutes depending on how hot the oven is and how long the stone was preheated).


University of Minnesota Arboretum: Hosta garden stone wall.

Hopefully soon I'll have some examples of my burgeoning hobby of stone masonry.


I play guitar and sing. I particularly like Gypsy Jazz and Bluegrass. I don't claim to be good at either but I try.


I'm an Inkscape junky. Here's a little project I've been working on. Drawing the curly hair is hellish: comic.svg


n : a cultural unit (an idea or value or pattern of behavior) that is passed from one generation to another by nongenetic means (as by imitation); "memes are the cultural counterpart of genes"