Subscribe to
Posts
Comments

Dad’s tribute to his sister

At Aunt Ruth’s memorial service, my father shared the following tribute to his older sister:

A TRIBUTE TO RUTH STRATTON

Delivered at the Memorial Service in her honor on October 11, 2008
Gilmore Park United Church
Richmond, B.C.

We thank all of you for coming—on a busy and beautiful holiday weekend—to honor the memory of Ruth Stratton.  Welcome Ruth’s Air Canada colleagues, members here at Gilmore Park, friends from St. John’s Richmond and St. John’s Shaughnessy and others of Ruth’s friends from the community.  I’m Dave Partridge, Ruth’s only sibling and little brother.  Chatting one evening last August during dinner in Vancouver’s beautiful Stanley Park, Ruth and I were reminiscing about our years of traveling, places we had seen, experiences we had enjoyed, our careers and our families.  Near the conclusion of that conversation, Ruth smiled and said, “It’s been a good life.  And I’ll take this latest challenge, be positive and make the best of it.”  And she did. 
    The challenge was a malignant brain tumor.  It first manifested itself in June with some minor speech problems just about the time she and her good friend Gladys Lund were planning an automobile trip to Alberta.  They took that trip and shortly thereafter the brain tumor diagnosis was confirmed and radiation treatments began to shrink the tumor.  Ruth’s speech problems cleared up and by the time of my visit in early August, she was enjoying some good days.  But the doctor told her she could expect to have perhaps only a few months, maybe a year to live.  As it turned out, she had less than two months. 
    But in those two months, she had some happy experiences:  including  a dinner with several of her travel industry colleagues which her good friend Marilyn Byfield arranged.  Ruth met her challenge and remained positive.
    It was Ruth’s nature to be positive.  So she had lots of friends around the world.  One of her longtime and closest friends came a long way to be with us today:  Jane Mills from England.  Another close friend, Pat Collins from Toronto, is unable to be here.
    Ruth regarded herself as particularly fortunate because she had two families.  The first was the family in which she and I grew up in—the Partridge family of Hamilton, Ontario, with relatives in Toronto as well.  Now, it includes my wife, Betty, along with our daughter Laura (who is here today), her husband, Sam, and three children—all of us in South Carolina– and our daughter Kathy, husband, Lars, and two daughters in Texas who visited their Aunt Ruth just two weeks before she died.  Kathy and Lars are expecting a third daughter whose middle name—they have decided—will be Ruth!  And she could be born on Ruth’s birthday, November 7th.
    Ruth also had a second family whom she called her “Richmond family.”  Marguerite Love and Ruth met in 1955 as new employees of Air Canada (or TransCanada Airlines as it was then called).  They have been close friends ever since—supporting each other through many of life’s experiences, including the death of Marguerite’s first husband, Bob Love, and her marriage twelve years ago to Jack Raine.  Ruth’s “Richmond family” includes Marguerite and Jack and Marguerite’s two children:  Sean and his wife Penny and three sons and Maureen, husband Xavier, three sons and a daughter.  I am grateful for the love and care this family has bestowed upon my sister for so many years.
________________________________
No one knew Ruth better than Marguerite and no two friends could be more devoted to each other.  So it was appropriate that Marguerite, Jack and Sean were with Ruth when she died shortly after noon a week ago Wednesday, October 1st.
    While we were making arrangements for this memorial service, I asked Marguerite to give me her words to describe Ruth.  She had many and, without hesitation, she said, “Ruth was so loving and thoughtful, always putting everyone else ahead of herself.  She was a true friend.”
    In the days since Ruth’s death, Marguerite has received dozens of emails.  Here are a few of the words and comments which friends and family members have sent to describe Ruth:  good, caring, fun to be with, a great friend, helpful, kind, gentle, generous, always available when needed, intuitive,  gracious.  She had integrity and was loyal.  “I was fortunate to have known Ruth,” said one email writer.  “Her memory will be a blessing.” 
    Talk about memories!  Those of us who were on her Christmas card list will always remember that beautiful picture—carefully selected by Ruth each year from among the many she took on her trips.  Her last, was that provocative photo of an old Chinese man and a young Chinese boy which she took on a trip to China a year ago with Marguerite and Jack and which she sent last December.  Photography was one of Ruth’s hobbies, indeed a passion.  From the time of her first international trip in 1953 to the coronation of Queen Elizabeth until her last camping trip with Marguerite and Jack just a month ago, Ruth loved to document her travels and friendships with photos. 
She also enjoyed woodworking and sports.  In her younger days, she was an athlete, just like our father who played football for the Hamilton Tigers in the 1920s.  Ruth was proud of her dad.  Some of you may have noticed his Tiger ring which she often wore. 
Ruth also loved music.  She sang during her teen years in the Grace United Church choir in Hamilton.  And she loved  symphony orchestras, especially the concerts of Vancouver Symphony.  She’s the one who introduced me to classical music.  Ruth was a good big sister and she had so much influence, she even had me listening to those Saturday afternoon Texaco-sponsored Metropolitan Opera broadcasts when I was still a young boy.   She was also a good daughter—caring for and taking our Mum on many wonderful trips over Mum’s three decades of widowhood.
_______________________________
Ruth loved the travel industry and her thirty-six years at Air Canada before retiring in 1991.  She also enjoyed mentoring young women entering the industry and the opportunity to play a role in developing and documenting the efforts of the travel organizations of which she was a member and for which she worked so hard:  B.C. Women and Travel, Vancouver Women and Travel, and the International Federation of Women’s Travel Organizations.
In that long list of words describing Ruth, I did not see organized.  Well, she was!  Whether it was preparing a dinner for guests, documenting travel club histories, making out a shopping list, organizing an event or trip, Ruth was the ultimate planner:  precise, detail-oriented, thorough.  But nobody’s perfect!!
Many years ago, Ruth & I hooked up in St. Paul, Minnesota at one of those IFTWO conferences.  Since we both loved baseball, Ruth said she would buy tickets for us and one of her friends to see a Minnesota Twins game.
Come game day, we met at her hotel in St. Paul and headed by city bus for Minneapolis.  Not long before the bus reached the interstate for the ride between the twin cities, I began to wonder if Ruth had remembered the tickets.  But, given her planning skills I thought:  I know Ruth.  If I dare ask her, she’ll give me one of those irritated, “trust me” looks.  She’ll be insulted and I’ll feel bad.  But I couldn’t help myself.  So I finally worked up the courage, glanced at her, and as nonchalantly as possible, asked, “You have the tickets?”  She bolted straight up, almost ran down the aisle and told the bus driver, “We must get off the bus!”  We did, and being several years younger than my sister, I was appointed to run back to the hotel.  I found those tickets right where she said they would be…in her other purse!  And yes, we did get to the game.
________________________________
Ruth’s last couple of years were not easy.  She had that bout with lung cancer last year.  Then shortly after radiation treatments, she flew to Denver for my daughter Laura’s son’s wedding.  Then in August of last year, some of our family were in Hamilton for our cousin—Bob Partridge’s—wedding.  Before the wedding, Marguerite, Pat Collins, Ruth, Betty and I, Laura, her girls, and Lindsey’s fiancé, Rob, met for lunch in Hamilton.  It was the last time we were all together—and it was at this same hour—fourteen months ago today. 
My family and I—along with Marguerite and her family—appreciate your sharing this memorial service with us.  Your presence has eased and comforted our sorrow.  After Ruth’s Godson, Sean Love, has shared some scripture and his thoughts with us, we hope you will join us for a time of fellowship at the reception.
Ruth would be grateful for your presence as well.  She would be humbled—perhaps a bit embarrassed—by all the kind words and attention but she would not want us to be sad.  As she told me that evening two months ago at the Tea House in Stanley Park, she appreciated the life filled with wonderful friends and colleagues and the variety of experiences God had given her. 
____________________________
Intended or not, we all leave a legacy.  As the comments in so many phone calls and emails have indicated, my sister’s legacy, I suppose, is the good example of why it is important to be interested in and care for others and of what it means to be a true friend. 
In one of several emails which Marguerite forwarded to us, my wife, Betty, found one extraordinary thought which she suggested I might want to include in this tribute.  I agreed because it is beautiful and appropriate.  It came from Ruth’s friend, Lynn Hamilton, in Milwaukee.  Said Lynn, “Someday we can remember Ruth not with tears in our eyes, but with laughter in our hearts.”  Ladies and gentlemen, let us not be sad for too long.  Let us, instead, experience peace, encouragement and determination in our own lives by remembering Ruth with laughter and appreciation in our hearts.

Remembering Aunt Ruth

PhotoMy Aunt Ruth, my father’s sister, was always a lovely and fun person to talk to and be around. Even though we lived on the opposite side of the continent from her, we saw her as often as we could and corresponded with her regularly. Aunt Ruth was well-traveled, being an employee of Air Canada and also part of a women’s travel organization that took her to the most interesting and exotic spots on the globe. She was also a wonderful correspondent. She always sent letters for birthdays, anniversaries, and just whenever. It was always fun exchanging email with her with the little pictures and cartoons she would add. :)

About three weeks ago, we traveled to Richmond, BC, to visit Aunt Ruth. She had been recently diagnosed with a brain tumor and we wanted to be sure to get a chance to see her. We had a lovely time with her and were able to spend about a week there.

We were shocked when she had to go to the hospital less than a week after we left, and two days later died in the hospital. It is still hard to believe that we saw her doing so well just three weeks ago. But we are grateful that the Lord spared her the difficulty down the road that would have been associated with the tumor.

We will miss Aunt Ruth, but are confident we will see her again “when we all get to heaven.” This old hymn is what our girls started singing when we told them that Aunt Ruth had passed away. The girls joy over meeting Jesus and our loved ones in heaven made me cry. “What a day of rejoicing that will be. When we all see Jesus, we’ll sing and shout the victory.”

Sing the wondrous love of Jesus,
Sing His mercy and His grace.
In the mansions bright and blessed
He’ll prepare for us a place.

Refrain

When we all get to Heaven,
What a day of rejoicing that will be!
When we all see Jesus,
We’ll sing and shout the victory!

While we walk the pilgrim pathway,
Clouds will overspread the sky;
But when traveling days are over,
Not a shadow, not a sigh.

Refrain

Let us then be true and faithful,
Trusting, serving every day;
Just one glimpse of Him in glory
Will the toils of life repay.

Refrain

Onward to the prize before us!
Soon His beauty we’ll behold;
Soon the pearly gates will open;
We shall tread the streets of gold.

Refrain


Here’s a link to the obituary in the Vancouver Sun and Richmond newspapers.

Not long ago I released version 1.0 of maze3dflyer.

Yesterday, the NeHe website — a well-known gathering point for OpenGL tutorials and demos — posted a link to it in their news blog:

Lars Huttar sent us a mail that his maze [program] is now ready for release. Check it out, it’s really fun breaking new highscores!

Cool! We’ll see what this does to traffic for the site… I hadn’t had many downloads yet.

The blurb…

maze3dflyer is:

An OpenGL graphics demo. It generates a random 3D maze with some configurable properties, and displays the maze using textured 3D graphics. You can “fly” through and around the maze using standard movement controls.

Platform

In the initial release, the project is developed for Windows / Visual C++. A Linux port is planned.

Features

  • random 3D maze generation, with sparseness constraint to make maze visually “legible”
  • textured 3D maze rendering
  • keyboard-controlled navigation (”flying”) around and through maze
  • collision detection prevents flying through maze walls
  • code demonstrates use of quaternions for rotation
  • maze solution timer and high score list
  • optionally display FPS, help text, and status info
  • nice skybox

Planned features

  • port to Linux
  • make into screensaver (for Windows and xscreensaver)
  • autopilot to fly through maze
  • objects in maze; let player drop breadcrumbs
  • pictures on internal walls, with images from the web
  • windows to look out?
  • on higher levels, add enemies and powerups
  • skyboxes made from Stellarium landscapes
  • provide run-time control of settings
  • many other ideas; see ideas-todos.txt

If you try it out, please leave a comment. I’d be happy to hear if someone enjoys it.

Lars

25 motif challenge: 16-18

Hello fellow tatters! It has been a bit quiet on the tatting scene around here lately. We’ve had a lot going on. More on that later. :)But I’m finally ready to share three more bits of tatting for the 25 motif challenge.

The first is a snowflake pattern by Ben Fikkert. It is his leaves flake. This one was given away at a Christmas gift exchange. I used two quilting threads together to make this one.
Ben Fikkert's leaves flake snowflake

The second is a pattern by Teri Dusenbury called Snowburst. She had such great instructions on this one and it helped me learned how to do front side/ back side tatting right for the first time! Thanks, Teri! This snowflake went to my Christmas ornament tatting exchange partner.
Teri Dusenbury's Snowburst snowflake

This adorable angel is a pattern by Lenore English. I want to make this again. I love the lacy wings and the curly “hair.” What a great pattern.
Lenore English tatted angel


Well, folks, that’s it for now. Hope to be back soon with some more.


Besides Expelled, we’ve seen a couple of other movies (on DVD) in the past month, and we’re trying to be good and jot down our impressions as we go along.

Akeelah and the Bee: Based on a true story about a girl from an inner city LA school who ends up in a national championship spelling bee. We recommend it. There are some rough spots early in the film, characteristic of the tough school where the story begins. But it gets better later on. And some characters and situations change for the better in surprising ways. Keep a few kleenexes nearby… but it’s not a heavy movie. The values are generally good, though not explicitly Christian.

Hoodwinked: We had read some good things about this computer-animated comedy about Little Red Riding Hood, but we’re not sure we would recommend it to our friends. There’s nothing terribly objectionable about it, but not much edifying either. There is some sassiness from youngsters, and brief nasal humor. The story is quirky. Some of the quirkiness works as creative or funny; other parts are merely off-the-wall. On the good side, the detective story references are fun, and the multiple-viewpoint storytelling gives some good “aha” moments.. Nevertheless, we would not recommend the film for children, as the sarcasm and post-modern satire is inappropriate for their age level; and for adults, there is probably a more rewarding way to spend your 90 minutes.

Previews: we saw previews for Kung Fu Panda and Wall-e, which both look pretty enjoyable, so we’ll be keeping an eye out for them — in a year or so, after they’re out on DVD. :-)

There was also a preview for Prince Caspian, which we may go and support with our box office dollars.

According to a new National Geographic article, Lizards Rapidly Evolve After Introduction to Island,

Italian wall lizards introduced to a tiny island off the coast of Croatia are evolving in ways that would normally take millions of years to play out, new research shows.
In just a few decades the 5-inch-long (13-centimeter-long) lizards have developed a completely new gut structure, larger heads, and a harder bite, researchers say.
In 1971, scientists transplanted five adult pairs of the reptiles from their original island home in Pod Kopiste to the tiny neighboring island of Pod Mrcaru, both in the south Adriatic Sea.
Genetic testing on the Pod Mrcaru lizards confirmed that the modern population of more than 5,000 Italian wall lizards are all descendants of the original ten lizards left behind in the 1970s.

Of the three changes mentioned, the harder bite, the article says later, is “powered by” the larger head. Together, the bite power and the head size sound like just more of the usual Galapagos finch beak effect: shift in (average) size of a body part among a population. This kind of change is consistent with microevolution, for which there is plenty of evidence already, even if the speed of this particular change is “shocking.”

But the new gut structure is intriguing. If it is a result of random mutation and natural selection (RM+NS), it might be a significant piece of evidence for macroevolution observed in our time… evidence that has until now been lacking.

The article elaborates,

the lizards developed cecal valves—muscles between the large and small intestine—that slowed down food digestion in fermenting chambers, which allowed their bodies to process the vegetation’s cellulose into volatile fatty acids.
“They evolved an expanded gut to allow them to process these leaves,” Irschick said, adding it was something that had not been documented before. “This was a brand-new structure.”

There’s no dispute that major changes to the lizards’ digestive tract occurred. “That kind of change is really dramatic,” [said Andrew Hendry, a researcher not associated with the study].

So… suspending judgment on the word ‘evolved’ for now (which is sometimes merely a synonym for ‘have’), new muscles (”valves”) appeared, apparently ex nihilo. And this was, according to initial reports, a beneficial mutation. So far so good.

The next questions:

  1. How complex is the “major” brand-new structure? (I.e. to what degree does this evidence support a claim that evolution accounts for the formation of new body functions and systems?)
  2. What was the mechanism by which the change occurred?

The author of the research, Duncan Irschick at U of MA, seems satisfied that evolution was the mechanism. However, Hendry points out that the changes could be a response to the new environment without any significant genetic changes:

What could be debated, however, is how those changes are interpreted—whether or not they had a genetic basis and not a “plastic response to the environment,” said Hendry, who was not associated with the study. …
“All of this might be evolution,” Hendry said. “The logical next step would be to confirm the genetic basis for these changes.”

If these changes were a plastic response to the environment, it would imply that the potential for these gut structures has lain dormant in the lizards’ genes, unexpressed and unknown to biologists, for some time. Why would they be there? Is this a case of front-loading? Or had the genes been expressed in the past, just not during recent centuries when biologists might have noticed them?

Of course another possibility is divine intervention. Intelligent Design a la Behe says that according to the evidence, an intelligent designer must have intervened at some stages during history (and Christians believe God has often intervened in history, most critically at the Incarnation); so why not between 1971 and 2004? If this is what happened, theological questions immediately arise, such as why God would have chosen to help this particular band of 10 lizards adapt to their new home. More relevant to the present paper: how would we detect this case from the evidence? I suppose it would be the same way we detect intelligent design in general: running it through the explanatory filter. On the negative side, if the morphological changes are the result of genetic differences that appear non-specific (the target area is large in proportion to the space of possible mutations) and/or simple, we wouldn’t have justification to reach a conclusion of intelligent agency in this case. On the positive side, if the genetic changes appear to be carefully engineered (complex and specified), we could infer an intelligent cause. (I’m not taking time here to go through the whole explanatory filter.)

If the lizards’ changes do turn out to be due to changes in genes, and the genetic changes appear to come from RM+NS, what implications does this have for the theory of evolution? While it would seem to provide significant direct evidence for macroevolution, it could also seriously challenge proposed models of how quickly evolution can occur.

It would be akin to humans evolving and growing a new appendix in several hundred years, [Irschick] said. “That’s unparalleled.”

Mainstream neo-Darwinism does not propose that humans could evolve a new appendix in a few centuries. So what gives? Any way you slice it, these lizards hold some mysteries for us to ponder.

It is the glory of God to conceal a matter,
But the glory of kings is to search out a matter. (Prov. 29:2)

The lizard you may grasp with the hands,
Yet it is in kings’ palaces. (Prov. 30:28)

It will be interesting to see what further data and conclusions we are able to “search out” from these lizards in the future.

Kathy and I saw Expelled: No Intelligence Allowed on Saturday afternoon. It was very good.

Hope to have time to blog about it properly later.

If you can still see it during opening weekend, do; vote with your box office dollars.

Don’t go expecting just a light romp, though. The film is very funny at times, but at others, deadly serious.

Cool!
I just got my first programming running on an OLPC laptop. I say “programming” rather than “program”, because I merely copied and modified a “Hello World” activity. But if you can get a copy-and-modify to work, you’ve got the foundation, and the rest is details, right? :-)

Here are some notes on how to get started quickly and painlessly on XO development. Note, this is the quick-and-dirty approach that lets you fiddle with live code and see the results right away. For significant projects, you probably want to set up a real development environment. But to me, lowering the entry barrier is essential to attracting more developers. There are a lot more people who will commit the time to learn a new system if they can wade in gradually, getting their toes wet and seeing immediate results from their small time investment. If you have to set up an emulated dev environment before you write your first line of code… and that process is not simple… the number of developers you’ll attract and the amount of code you’ll get contributed drops significantly.

Developers — especially the kind who volunteer their coding for open-source projects like OLPC — do it for the joys of the craft. We love to see a machine respond to our direction, turning our ideas into a tangible form. Seeing the XO respond to one’s changes is the hook that snags a developer and reels him in. Once he’s hooked, he will soon reach the point where he sees the value in setting up a development environment, and will be willing to jump through a few hoops to do so.
And yes, you will need to set up a real dev environment if you’re going to do any real development… e.g. if you’re going to keep your code in a shared repository, or make any frequent updates between the XO and the rest of the world (email, the web, or another development machine).

Prerequisites:

  1. A working XO laptop (try ebay if you don’t already have one).
  2. A basic familiarity with its user interface (”Sugar”)
  3. Familiarity with the GNU/Linux command line, and an editor such as vi(m) or nano

The easiest way to get started, for me, is copy-test-and-modify. Along the way I’m reading the Sugar Activity Tutorial, and you’ll want to look at it too, if I skip a detail that’s new to you. But for now, ignore the statement there that you first need to have installed a Sugar development environment.

(See also Building the XO: The Anatomy of an Activity for some helpful nuggets.)

Obtaining and installing the HelloWorld activity

Start by downloading the HelloWorld bundle (or check the Sugar Activity Tutorial for the latest link). To download the bundle on an XO, launch the Browse activity (click the wire globe icon in the dock), and type http://divieira.googlepages.com/HelloWorld-1.xo in the address bar. (Alternatively, you can type wiki.laptop.org and then search for HelloWorld.) Once the HelloWorld activity bundle has downloaded, click the “Open” button in the black download bar near the top of the browser screen. (You may have to click “Continue” first.)

If you can’t get your XO connected to the internet, you can download the HelloWorld bundle via another computer, and transfer it over using a USB flash drive. The file then shows up in the journal, where you can click on it, then click Resume to install.

The .xo file is a “essentially a zip file built from the MANIFEST with some extra metadata, like a JAR file” (Sugar Activity Tutorial). [Side note: I find that the .xo bundles are incompatible with some zip programs, like ZipGenius, but work pretty well with jar.] Installing the activity (following the steps described above) unzips the .xo file in your Activities folder, /home/olpc/Activities. There should now be a folder there called HelloWorld.activity. It contains the Python code and metadata for HelloWorld.

Launching HelloWorld

Now that HelloWorld is installed in /home/olpc/Activities, you can launch it. Go to the Home screen (to get here, push the key on the top row of the keyboard that has a solid circle with a single hollow dot in the middle). HelloWorld should show up in the dock at the bottom of the screen as a hollow square icon. If you hover the mouse over it, you get a “HelloWorld” tooltip. You might have to scroll the dock left or right by clicking its arrow buttons. If “HelloWorld” is not there, you might try restarting Sugar (Ctrl+Alt+Erase).

Click on the HelloWorld dock icon to launch it. You’ll see it appear, flashing, in the circle of current activities in mid-screen. Soon it will launch, and will show you its simple display: a huge button labeled “Hello World”, and some standard decorations across the top. We have ignition! Click the button, and the screen flashes.

Tip: you can use Ctrl+Q to exit the program.

Modifying HelloWorld

Now to get our hands dirty…

Return to the Home screen and launch the Terminal activity (a rectangle with a shell prompt, “$_”).
Tip: Use Alt+Tab to switch between running activities without returning to the Home screen.
Another tip: don’t launch activities prodigally. The machine is limited to 256MB of RAM. Treat it like a PDA rather than a laptop in this regard. (The activity circle on the Home screen is supposed to indicate the amount of memory used by each activity by the size of its on-screen sector. To me, though, they all look the same size.)

Once the terminal opens, cd to /home/olpc/Activities and type ls. You will see a list of user-installed activities. (The ones that come with the system are in /usr/share/activities.)
Type

cd HelloWorld.activity

and ls again. (Remember Tab-completion is there — a welcome relief given the small keyboard.)

The Sugar Activity Tutorial has info about the various files in this directory structure, but the one that gives us immediate gratification is HelloWorldActivity.py. Edit this file with your favorite terminal-based Linux editor (ed seems to be unavailable… sorry, real programmers!). If you’re not familiar with vi(m), I suggest nano, because it has on-screen help.

nano HelloWorldActivity.py

Behold the Python code for HelloWorld, which is admirably simple and nicely commented. To see the most visible bang for your buck, I suggest finding the line that sets the button label:

self.button = gtk.Button("Hello World")

and changing the string to something unmistakable. I used

self.button = gtk.Button(u"Hello World Unicode IPA: u03B8u026Au014B")

because I’m working on an IPA exploration activity (help wanted!). But

self.button = gtk.Button("Hello Jim")

will work just fine, especially if your name is Jim.

Save the file, and that’s it… no need to explicitly recompile. Make sure any running HelloWorld is stopped, and launch it again from the Home page dock. Your change should show up on the screen! It’s putty in your hands!

Where to go from here

If you know Python, you can keep hacking HelloWorld right on the XO and have lots of fun. But eventually you’ll want to get a development environment going. You’ll want to change the name of the activity and rebuild the bundle. Happy hacking!

The point of this post, though, is that you can get a taste of XO programming without all that setup.

Note for when you get a little deeper into development: Unfortunately, in the downloadable Hello World, setup.py is out of date (with respect to bundlebuilder.start(), which now requires the Activity name as an argument). Use the version of setup.py on the activity tutorial page instead. But I don’t think you need that unless you are rebuilding the activity bundle.

screen modes on the XO laptop

I recently have had access to an XO laptop, and have been learning lots about it. Today a colleague asked what kind of resolution was available for web pages. In the process of answering that question, I put in enough time and learned enough that it may be useful to somebody else. I’ll leave it in stream-of-learning form, rather than take time to massage it into a reference form.

Here’s a screenshot of the XO’s browser: OLPC browser screen shot

(Here’s how to take a screenshot.)

You can see there that the whole screen is 1200×900 pix. (This is in color mode.)
The part available to the actual web page looks like about 1183×780.

I’ll try black & white mode too…

OK, I’m confused by the info I see about color mode resolution. Googling gives info that the b&w mode is 1200×900 pixels, but it sounds like color mode is 800×600, or according to the Inquirer, “the usable resolution in colour mode is closer to 400×300″.
Anyway, the png I put up there was produced by typing Alt+1 (screenshot) while in color mode.
I took another screenshot while in b&w mode. The result was the same… a color, 1200×900-pixel image file.

So my guess is that as far as the software is concerned, the screen resolution is always 1200×900, color; the hardware simply renders the video buffer differently in different modes.

Here’s a couple of closeup photos of the screen in color mode:

Here’s one in b&w mode:

As you can see, the b&w (”reflective”) mode appears to let you truly set each pixel to your choice of either black or white (or grayscale?).
On the other hand, color mode seems to do some sort of dithering or whatever you call that (de-swizzling?).

It does look like the color mode is fuzzier.
It seems readable to me, though.

Here’s the full screen in color mode:
color mode, full screen

It really doesn’t look that stripey when you’re looking at it in real life. I suppose it does cycling or refreshing or something.

HTH,
Lars

P.S.

The OLPC Hardware specification wiki page says,

  • Two modes: (1) grayscale (B&W) reflective mode (for outdoor use—sunlight-readable); and (2) color backlight Mode (for indoor use);
    • reflective mode: high-resolution (200 DPI), 1200(H) × 900(V) grayscale pixels, power consumption 0.1–0.2Watts;
    • backlight mode: built in sub-pixel sampling of the high-resolution display results in approximately 800(H) × 600(V) color pixels, power consumption 0.2–1.0Watts; [snip...]
Note: web browser images are currently scaled up so that an image of very roughly [800 × 600] fills up the browser window.
 

You may have heard of Gentium, an open-source “typeface family designed to enable the diverse ethnic groups around the world who use the Latin and Greek scripts to produce readable, high-quality publications. It supports a wide range of Latin-based alphabets and includes glyphs that correspond to all the Latin ranges of Unicode.”

Now, two new “Basic” versions have been released:

The Gentium Basic and Gentium Book Basic fonts have passed our final rounds of testing and are now officially released to the general public. Each family has a complete set of four weights: regular, italic, bold and bold italic. Gentium Book Basic is generally heavier than the original Gentium and better for some publishing uses. Both families also include a few OpenType and Graphite smart font features, including optimized diacritic positioning.

The new fonts are called ‘Basic’ because they support a smaller set of characters than the full Gentium fonts. They only support basic Latin and a handful of extended Latin characters. There is no Greek or Cyrillic, or even full IPA. The purpose is to provide early versions of the new weights that meet the needs of most Latin script users.

Our next release will not be a Gentium font at all, but a ‘Basic’ release of our Andika font for literacy. Watch our web site for that release. After that we will return to the main Gentium fonts and complete an update of the existing regular and italic to add extended Cyrillic, ancient Greek glyphs, Unicode 5.1 updates, and smart font capabilities.

Gentium, Gentium Basic and Gentium Book Basic are available at:

http://scripts.sil.org/Gentium

new cartograms: religions

I’ve blogged previously about cartograms, specifically the interesting ones on WorldMapper. WorldMapper has had maps visualizing statistics like number of physicians, poverty levels, life expectancy, alcohol consumption, military spending, species at risk, and many others.

Now WorldMapper has come out with a new series on religious adherents. You can see which parts of the world have the most religious adherents in general, which ironically doesn’t look that different from the map of where the most non-religious people are (those maps show India and China, respectively, as bulging out of proportion to the rest of the world). You can also drill down through Abrahamic, Dharmic, and Taoic Religions, down to Quakers and Shias. The smallest group they map is Zoroastrians.

An interesting contrast is brought out by the maps of Christians and Muslims (click on the images to go to the Worldmapper site and access larger versions):

The proportionally-Islamic territories occupy a fairly contiguous band across North Africa, the Middle East, South Asia and Indonesia. Territories on the Muslim map are either bulging, or tiny.

Worldmapper: Muslims

Muslims

The Christians map, by contrast, has fewer distorted territories: most of the world looks like pretty much like the Population Map, with the notable exceptions of North Africa and the Middle East. [Update: and Japan.] (Russia and Australia are disproportionately small, but not totally squashed, on both the Christians map and the general Population map.)

Worldmapper: Christians

Christians

Worldmapper: Population

Population

This reminds me of a statement I heard once regarding the history of Christianity; it might have been from Lamin Sanneh, or maybe an author in the Perspectives course (somebody tell me if you know). Namely, that while some religions expand by conquering and holding territory, Christianity expands by being driven out. For example, the first Christians lived in Jerusalem, but were soon dispersed by persecution (as recorded in Acts) throughout the Roman empire. The faith grew within the empire, and a few centuries later, the Roman emperor became a Christian. But Rome declined and fell, conquered by barbarians; Christianity survived because it had already spread to the periphery, in places like Ireland and Morocco. The Church later became well-established in Europe, but now has sharply declined there; again it has grown by spreading to the New World. And now while US Christianity is arguably in decline, the Church of the South and East is becoming the majority and is taking the leadership in upholding Christianity’s historical doctrines. Maybe this can’t-rest-on-one’s-laurels history explains why Christians seem so evenly distributed on the world cartogram.

Incidentally, note that these maps all show the proportion of the world’s adherents to a given religion that live in each territory. Thus comparing the maps of Christianity and of Islam, for example, doesn’t tell us anything about whether a given country (e.g. Nigeria) has more Muslims than Christians or vice versa. It only tells us (approximately) whether Nigeria has a bigger percentage of the world’s Muslims than it has of the world’s Christians, or vice versa.

A few days ago I ran across two weavers who also spin their own yarn and thread. They told me about this new fine thread they have that is great to tat with and is invisible! Well, I had to have some, so even though it was expensive, I bought enough to make a motif or two. Here they are…

.

.

.

.

Pretty nice, eh? This may not be as practical as some thread, since it is invisible, but it is kind of a novelty. And it was harder to work with since you can’t see it.

I asked these two weavers what other work they had done and they said their best work was for an emperor for whom they made a new suit which he wore to the annual parade. It made quite an impression on the town, they said. They tried to tell me that if you were truly wise, you could see the thread, but I don’t think they were telling the truth. What do you think?

Happy International Tatting Day, my tatting friends! Maybe I can get some REAL tatting done today. :)

Don’t miss Virgle - “The Adventure of Many Lifetimes.”

Earth has issues, and it’s time humanity got started on a Plan B. So, starting in 2014, Virgin founder Richard Branson and Google co-founders Larry Page and Sergey Brin will be leading hundreds of users on one of the grandest adventures in human history: Project Virgle, the first permanent human colony on Mars.

Then if you’re ready to go, upload your own 30-second video:

Explain why you want to live on Mars and you could win a coveted slot on the earliest, most uncomfortable and dangerously untested manned space flights to the new New World - or a fabulous prize!

Wii Remote VR Smoke Test

Last night I realized we could go ahead and try out the wii remote / VR demo using candles. Sure, we wouldn’t be doing real head tracking, but at least we could verify that the wiimote was “seeing” infrared sources, and we could actually run Johnny’s demo program with real input!

So I lit a couple of tea lights, and voila!

That’s the wiimote down there under the stool.

I felt like I was enacting some arcane ritual, waving candles around before an altar. But it worked!

I was glad for the extra output (green text) provided by the demo program. Often, the computer lost track of one or both IR sources, and the perspective jerked out of whack. Being able to tell which IR source the computer could no longer “see” helped to figure out the limits of the technique. E.g. you had to keep the candles within the wiimote’s field of view, which is smaller than you might think. Also, you have to be careful that the candle flames don’t gutter too much, and don’t get obscured by holding the candles at an angle where the rim blocks the flame’s light. For the latter reason, it’s probably better to place the wiimote high rather than low. The demo ran most smoothly when I kept the candles in a small, confined area and moved them slowly. Hopefully, IR LEDs would not be as fragile.

I blogged earlier about Johnny Lee’s head tracking with a wiimote as a poor man’s “virtual reality” technique. Well, I have been inspired enough by this idea to go beyond talking to actually implementing it.
Time to report on progress.

Before I do that, let me pass on the cool news that Johnny’s VR technique has become so influential, it has already gotten the attention of game developers and has made it into a commercial game. At least, that’s the rumor, though the game won’t hit the streets till May. And the feature is only available as an “easter egg”, so it’s not entirely mainstream. Still, this is a great chance for the technique’s practical value to be proven. If the head-tracking feature is popular with customers, we’ll likely see it popping up everywhere.

I appreciate Johnny’s focus on the joy of engineering and moving technology forward rather than on exclusive personal gain:

I’m proud. If this pans out, it’ll be only 5 months between the initial research prototype to integration into a major product release. Sweet! Happy to see my stuff being used. Humorously, there were 3 other demos on the GDC expo floor showing variations of my head tracking demo. =o)

Just in case you are wondering: No, I don’t get any royalties or benefits for the use of this technique in games. Personally, I’m much happier impacting the state of technology on such a large scale in such a short period of time rather than struggling to transform it into personal financial gain. In terms of my original intent behind creating the head-tracking demo, it has already been a wild success beyond my highest expectations.

As a side note, I’m sure it won’t hurt his financial gain either, long-term: having such a big success on his track record will certainly commercial open doors for him in the future.

Obtaining a Wiimote

Back to the do-it-yourself head-tracking project. The first requirement is a Wii Remote Controller. Not having a Wii system, I had to buy a remote separately. They sell for about $40, e.g. at Amazon. Not having used a Wii, I discovered in the process that a Wii remote is not the same as a Wii Classic Controller or a Wii Nunchuk Controller (each about $20).

I hesitated to spend $40+ on a project that I might not do much with; so rather than buy a wiimote outright, I went to ebay (here’s my carefully crafted wiimote search) and bid fairly low. My limit was $30 including shipping… any more than that and I could just wait (or not do the project). After losing about a dozen auctions, I won one (new) for $20.50 + $7 shipping, and soon I had a wiimote of my own!

Bluetooth Connectivity

The next hurdle was getting my computer to talk to the Wiimote, which happens over Bluetooth. When I bought my laptop almost 2 years ago, I opted against the Bluetooth option. So this week I borrowed a Bluetooth to USB adapter from a friend. Since I hadn’t used and debugged Bluetooth connectivity on this laptop — indeed, anywhere — before, the hurdle was a bit higher. It took me a few days to work out the kinks. Some resources I used:

The BT adapter I’m using is an IOGear GBU311. Initially, I downloaded the drivers from the IOGear web site and installed those. I didn’t have any trouble getting Bluetooth going in general. The computer was able recognize the wiimote device, and also was able to connect successfully to my wife’s PDA (IIRC, I sent her a small file and it worked). However, I couldn’t get my laptop to connect successfully to, or receive data from, the wiimote. My wife’s Mac seemed to have no problem. But whenever I tried to connect to the Nintendo Bluetooth device from Windows, a wizard dialog appeared called Security Setup. It asked for a passkey for pairing. The instructions I was looking at said not to attempt to pair, so I clicked the Skip button. Nothing happened. There was no way to finish the wizard, so I just had to click Cancel, and there was no connectivity. (Maybe it would have been possible to pair… I don’t know how I would tell what passkey to use. The wiimote didn’t come with any documentation. I could just make one up, I suppose, and see what happens.)

I read in the above resources that IOGear devices did not work with BlueSoleil, but someone had gotten IOGear / wiimote working using method 1 of MS Knowledge base article “Cannot install a Bluetooth device after you install Windows XP Service Pack 2“. I tried method 2 of that article first — updating the driver; it seemed to allow me to skip pairing once, resulting in a successful connection (shown by two green arrows on the wiimote icon); but the green arrows quickly went away, and I couldn’t get the Skip button to work after that. I then tried method 1, renaming the Bth.inf file and then reinstalling the IOGear driver. Still no dice.

So then I downloaded and installed the BlueSoleil driver.
The GUI was a little different, but it was self-explanatory, and I was soon connected to (not just detecting) the wiimote!

I ran the WiimoteLib test program, and watched with delight as the buttons I clicked on the wiimote were immediately reflected onscreen in the checkboxes:

So I’m very happy with progress so far. Bluetooth connectivity to a given device apparently depends a lot on what “stack” you’re using … the one that comes with Windows, the one from your Bluetooth device manufacturer, or a 3rd party like BlueSoleil. I’m tickled to have gotten it working at all, since this is a low-level issue that is beyond the scope of Johnny’s how-to’s.

On the other hand, BlueSoleil’s driver is not free. The free evaluation copy is limited to “5MB data”. I have no idea how much use time that would represent. Registering the driver costs 15 euros. Am I willing to pay that much additional, just to try out head-tracking? I could try some more with the IOGear drivers.

Infrared Emitters

Now that I have the wiimote — essentially an infrared digital camera — talking to the computer, I need something infrared for it to see. Something connected to my head. You read on the web that candles are a good infrared source for the wiimote, but unless you’re Santa Lucia, wearing candles on your head while dodging left and right seems a bit risky.

Johnny recommends attaching infrared LED’s to safety goggles, especially goggles that already have ordinary LED’s built in. I wasn’t able to find the latter at Home Depot when I looked, at least not for a reasonable price. So I’m not sure what I’ll use for a mount.

But I went ahead and bought the LED’s: $2 each at Radio Shack.
Unfortunately, that’s a huge markup over the 21-cent Vishay TSAL6400 at mouser.com.
I guess what I’m paying for is retail distribution. To buy 2 LED’s from mouser.com would involve at least $6 shipping. With the local Radio Shack, I did the shipping myself and came out ahead.

Next Step

The next step is to hook those LED’s up to a power source, so that the wiimote can see them and I can try out his demo program with actual input. Then I need to figure out how to mount them on a hat or glasses.
The adventure continues…

According to the New York Times,

The power to fly is so handy that it has arisen multiple times during the evolution of life…

…when a nectar-eating bat hovers in midair to sip liquid sugar, the mammal’s sharp-edged flexible wings generate the same sort of precision whirlwind lift detected recently in studies of insect flight. As the bat curls its membranous flappers in and out three times per second, a series of tiny cyclones form at the leading edge of each wing.

…As Dr. Hedenstrom explains, a bat can use its skeletal finger bones and the muscle fibers in its taut wing membrane to precisely control the wing’s curvature and angle of attack from one moment to the next. His co-author, Geoff R. Spedding of the University of Southern California, points out that the entire surface of the bat wing is covered with pressure sensors that relay information to the bat’s brain about what the air is up to and how best to shape it. “We don’t yet understand how the whole system works,” Dr. Spedding said, “but it ends up generating a beautiful, orderly airflow over the wing that is just what we’d dial up if we could dial up flow [emphasis mine --Lars].”

Read the full story here: Flapping Past Gravity’s Pull, Bat Has a Vortex at Its Wings

Amazing. The nectar-eating bat beats its wings 3 times per second, continuously adjusting the curvature and angle of the wings (how many changes per beat?) in response to sensed air pressure over the wing’s surface. “We don’t yet understand how the whole system works.” Certainly our rigid-wing, steady state aircraft are miles below a bat in aerodynamic sophistication. And this only deals with the task of staying aloft; it says nothing about acceleration and braking, or the use of echolocation to target and intercept insects that are executing their own complex maneuvers in the dark.

The phylogenetic distribution of flight defies common descent: Darwinists cannot claim that a common ancestor of honeybees and bats (or even of hummingbirds and bats) could fly. Urbilateria, the hypothetical last common ancestor of arthropods and vertebrates, “may… have been small, bilaterally symmetrical creatures with radial cleavage, coelomic [i.e. body] cavities formed by the outpouching of the archenteron (enterocoely), and anterior tentacular appendages formed by coelomic outpouching” (Early Animal Evolution, under Clues about Urbilateria). In other words, they might have had primitive tentacles at best; nothing like wings.

So evolution believers have to assert that flight “has arisen multiple times during the evolution of life.” Imagine … complex designs unmatched by our finest aeronautical engineering arose by trial and error, through a gradual process in which every slight change must give a significant advantage. That’s like trying to find a monotonically rising path from Los Angeles to New York. And then doing it again, a different way.

Maybe that’s why newspapers like the NYT cannot consider the feasibility of evolution, and just have to assert it.
Otherwise they’d go bats trying to avoid collision with the obvious implications.

Can’t wait for The Hobbit to come out?

Tide yourself over with this clip by Sam Shenberger.

POVRay Short Code Contest

Take a look at the winners from the POVRay Short Code Contest #5.
Pretty cool!
First place especially is an elegant piece of work.

The Story of St. Valentine’s Day

I originally found the following story of St. Valentine on a beautiful Lawson Falle card. For this post, I found it on this website.
Story of St. Valentine

“The story of Valentine’s Day begins in the
third century with an oppressive Roman emperor and a humble Christian
Martyr. The emperor was Claudius II. The Christian was Valentinus.

Claudius had ordered all Romans to worship
twelve gods, and had made it a crime punishable by death to associate
with Christians. But Valentinus was dedicated to the ideals of
Christ; not even the threat of death could keep him from practicing his
beliefs. He was arrested and imprisoned.

During the last weeks of Valentinus’s life a
remarkable thing happened. Seeing that he was a man of learning, the
jailer asked whether his daughter, Julia, might be brought to
Valentinus for lessons. She had been blind since birth. Julia was a
pretty young girl with a quick mind. Valentinus read stories of
Rome’s history to her. He described the world of nature to her. He
taught her arithmetic and told her about God. She saw the world
through his eyes, trusted his wisdom, and found comfort in his quiet
strength.

“Valentinus, does God really hear our prayers?” Julia asked one day.

“Yes, my child, He hears each one.”

“Do you know what I pray for every morning and
every night? I pray that I might see. I want so much to see
everything you’ve told me about!”

“God does what is best for us if we will only believe in Him,” Valentinus said.

“Oh, Valentinus, I do believe! I do!” She knelt and grasped his hand.

They sat quietly together, each praying.
Suddenly there was a brilliant light in the prison cell. Radiant,
Julia screamed, “Valentinus, I can see! I can see!”

“Praise be to God!” Valentinus exclaimed, and he knelt in prayer.

On the eve of his death Valentinus wrote a last
note to Julia, urging her to stay close to God. He signed it, “From
your Valentine.” His sentence was carried out the next day, February
14, 270 A.D., near a gate that was later named Porta Valentini in his
memory. He was buried at what is now the Church of Praxedes in Rome.
It is said that Julia planted a pink-blossomed almond tree near his
grave. Today, the almond tree remains a symbol of abiding love and
friendship. On each February 14, Saint Valentine’s Day, messages of
affection, love, and devotion are exchanged around the world.”

With Christ’s love,

Happy Valentine’s Day to you all!

IMG_1753_2.jpg

25-motif challenge: 12-15

This basket of flowers pattern was designed by a new tatter, Laurie W. Amazing, and so lovely. I look forward to using this on a card or something like that with some tatted flowers.

From Tatting Pattern Calendar - July 16

Basket of flowers by Laurie W

These are earrings I made for a friend of mine. It is a pattern I modified, because I was having trouble with the thread breaking. Pattern by Nina Libin found here.

Earrings for Heidi

These last two motifs are from a book my parents-in-love found for me when they were in Holland last year. It is called Frivolité Vroeger En Nu. This book was published in 1977. It is full of fun ideas and patterns from delicate motifs and edgings to edges for curtains and decorations for clothing made with larger thread and yarn.

Motif from Frivolité Vroeger en Nu: Motief ovaal kleedje Motif from Frivolité Vroeger en Nu: Bloemetje

These two motifs were made with pearl cotton (size 5?)

« Prev - Next »