Category Archives: family

On Science Fairs

Last weekend the girls participated in the Washington State Science and Engineering Fair. I participated in science fairs from sixth through twelfth grade, so it was a familiar experience to me, at least in some ways. The basic premise is the same, which is that kids learn about the scientific process by doing experiments, creating a display, and presenting their work to a panel of judges.

Our girls are at the age where learning and building up excitement over science is more important than winning, but in the high school division the stakes are higher than I remember them being. When I did fairs, the top rewards were some kind of monetary award in the $50-$100 dollar range, and the chance to compete at the International Science Fair (now the Intel International Science and Engineering Fair). There is still all of that, although the slate of special awards is much much longer. Also, there were a number of college scholarships (some of them for 4 years) being awarded. Several students won enough scholarships to go to college several times over. Julie told me that last year an 8th grade girl won one of those scholarships. Another significant change from my science fair days, was the number of women participating. The gender ratios looked much better than what I remember, and the top two students, the ones going on to the Intel Fair, were women. The Kitsap Sun did a pair of articles on the fair.

A few notes about homeschoolers, since our girls are homeschooled. The people that organize the fair made a big effort to get homeschooled children involved. Apparently, kids in regular schools are too busy, between trying to pass the WASL (thanks No Child Left Behind) and sports, to participate significantly in a science fair. Indeed, the two top ranked academic districts, Mercer Island, and Bainbridge Island, were barely represented, if at all. In contrast, homeschoolers took 1/7th of the 35 first place awards given in the 1st-6th grades, a pretty impressive showing. It will be interesting to watch how/if these children progress over the years.

These fairs are an important way to expose kids to science and to help them develop enthusiasm, curiosity, and an understanding of how science works. If you’re reading this blog, you are aware of the importance of science and engineering for the future of our country and for all mankind, really. I just wish that there were more kids entering these fairs.

Return of Guinea Pig TV…

Long time readers will know that my girls embarked on a series of videos starring their guinea pig, Chatterboy. Julie facilitated this by getting the girls a blog for Guinea Pig TV. For a variety of reasons, Guinea Pig TV has been on hiatus, until a few days ago when the crew put up a new episode, inspired by the Seattle Flickrites’ escapades with Chase Jarvis.

Moving from Movable Type 3.2 to WordPress 2.3

Julie has decided that she wants to blog a little more frequently. One obstacle to this is that her blog is a spam magnet – or it was until I deleted the Movable Type comment CGIs as a last ditch defense. I’ve had very good results with Akismet on WordPress, so inevitably this meant an upgrade from Movable Type to WordPress. It was only a matter of time before this happened, especially now that I am on WordPress myself. Importing is pretty straight forward. It’s making sure that the permalinks don’t break is the problem. In order to do that you need to make sure that WordPress uses the same numerical id’s that Movable Type used. Which means that you have to hack Movable Type to add an ID field to the exported data, and hack WordPress to use that ID when it creates the new blog entries. Then you do a little mod_rewrite action, and the permalinks should keep on ticking. I’ll now proceed with describing the hacks.

I started with the basic WordPress docs to migrate from Movable Type to WordPress.

Go into the Movable Type 3.2 install and edit lib/MT/ImportExport.pm to add an ID field:

--- ImportExport.pm     2008-02-17 17:55:19.000000000 -0800
+++ ImportExport.pm~    2006-01-04 00:21:09.000000000 -0800
@@ -439,7 +439,6 @@
     my $tmpl = MT::Template->new;
     $tmpl->name('Export Template');
     $tmpl->text(<<'TEXT');
-ID: <$MTEntryID$>
 AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
 TITLE: <$MTEntryTitle strip_linefeeds="1"$>
 STATUS: <$MTEntryStatus strip_linefeeds="1"$>

I used Joshua Zader’s modified mt.php and modified it some more so that it would work off of a local file since the MT 3.2 export was over 7MB.

--- /tmp/mt.php 2006-03-27 17:15:00.000000000 -0800
+++ mt.php      2008-02-17 20:51:53.000000000 -0800
@@ -1,7 +1,9 @@
-f<?
+<?
 
 // HERE I'M DEFINING A CUSTOM FUNCTION BASED ON THE ORIGINAL WP_INSERT_POST FUNCTION LOCATED IN IN FUNCTIONS-POST.PHP
 
+set_time_limit(0);
+
 function wp_insert_post_with_id($postarr = array()) {
        global $wpdb, $wp_rewrite, $allowedtags, $user_ID;
 
@@ -287,7 +289,7 @@
 
        function get_entries() {
                set_magic_quotes_runtime(0);
-               $importdata = file($this->file); // Read the file into an array
+               $importdata = file('/usr/share/wordpress/wp-content/mt-export.txt'); // Read the file into an array
                $importdata = implode('', $importdata); // squish it
                $importdata = preg_replace("/(\r\n|\n|\r)/", "\n", $importdata);                
                $importdata = preg_replace("/\n--------\n/", "--MT-ENTRY--\n", $importdata);
@@ -371,7 +373,8 @@
        }
 
        function select_authors() {
-               $file = wp_import_handle_upload();
+/*             $file = wp_import_handle_upload(); */
+                $file['file'] = '/usr/share/wordpress/wp-content/mt-export.txt'; 
                if ( isset($file['error']) ) {
                        echo $file['error'];
                        return;

I hope this will save some poor person the time I wasted piecing all this together. Most of the documentation that I googled up was for earlier versions of either Movable Type or WordPress or both. Really, some right thinking, PHP handy person ought to just go in and fix the Movable Type importer and document how to use the Movable Type template in order to make this all work.

Oh, and if you’re going to run multiple WordPress blogs with different url prefixes on a Debian supplied WordPress, then you are going to need this.

MAKE inspired homeschool science lessons

I didn’t make it to last month’s Ignite in Seattle. I wanted to, but ultimately didn’t. Julie, meanwhile, took an active interest in Bre Pettis’ pre event “Egg Drop” and decided to turn it into a science lesson for the girls. As with many of their homeschool endeavors nowadays, they turned this into a video exploration. We were all thrilled when Bre picked up some of that video for the What Do You Make? Podcast.

P.S. The latest episodes of Guinea Pig TV are up.