Friday, December 30, 2016

Parenting Month 74: New environments

The highlight of the month has been two weeks in Thailand. We have had a desire to make sure that our kids experience a world that is different than the upper middle class suburbia we live in.  In contrast, our family in Bangkok, Thailand is in the middle of a city of 8 million people and is a place where wealth lives side-by-side with poverty, much different than the U.S. where we are very segregated economically.


Jumping on the boat at the pier
Someone jumping onto a riverboat before it leaves the pier


T experienced a number of new experiences.  He used a river boat that was a means of transportation (not just a tourist boat), he rode a tuk-tuk (2 stroke engine powered tricycle-cab), and walked down a street market daily.

Wai phra at the local street market
Wai Phra to a monk on the street market on Petchburi Soi 5
Dodging traffic on a Soi
Letting some cars go by in the morning street market
Our general approach to raising our children has been encouraging competence. This has included skills such as woodworking, using tools, and generally toys that involve building. But we also want to include social competence, meaning that they can function in a world different than the suburban upper middle class world we live in.  So on this trip we did some normal tourist things like going to the malls and temples, but we also did things that were closer to how life was lived, like going to the local street market every day to get food for breakfast, or traveling by river boat on commuter boats (as opposed to the tourist boat). We taught him how to read maps for train and boat, to practice social curtesies with everyone, and to become more aware of his surroundings. 

He obviously stands out. The very casual dress compared to school kids, the fact that he bounces along as he walks would make him stand out even if he was not speaking english. And in social status conscious Thailand, this particularly makes him stand out as many service personnel have gotten used to not having their curtesies returned by those of higher social class, so my six year old stands out from greeting everyone he interacts with properly.

When I was in Afghanistan, I had spoken frequently with a former CIA officer on a range of topics. One day he commented that I was someone who could go anywhere in the world and learn to interact with anyone. Now, that is not true, I spent much of my growing up years just trying to reduce how much I got yelled at instead of building competencies, and I was still getting used to being in a place where it was acceptable to act when lives were in danger. But being a parent, I can think about what it would take to actually be such a person. And that would include learning to function in new environments, with new social rules and requirements, and new patterns of life. Even now as someone this young.

We hope that he will experience three cultures growing up: the U.S., Thailand, and China. And that this could be a springboard for being the type of person my colleague talked about. 

Riding a river boat on the Chao Praya river
Riding a river boat

Thailand 2016 Trip anecdotes part 2


  • T playing with a 4 year old Thai girl. They do not have a common language, but one of their games is to whisper in each other's ear. 
  • Realizing that said 4 year old has never colored (with crayons) before.
  • Said 4 year old trying to quiet down A's tantrum by shushing her. 
  • We think that she likes the fact that there is someone in the family compound that is younger than her. 
  • Our go to method for shortstopping a two year old tantrum, get her singing. A sang alot this trip.
  • People on the BTS train offering us their seats because we have young children with us. This happened every single time. (Except Christmas Eve, which is why A singing was so exceptional that night.) 
  • I got a lot of exercise carrying around A in a ring sling.
  • The boys went to see Rogue One. This is T's third movie in a theater.
  • At my father's one year remembrance, T was told to watch the door and greet (wai) everyone who came in, and he did. 
  • T going to the street market on his last morning to give food to the monk, and chatting with the monk after the blessing. 
  • I don't think I'll get used to being greeted by 'sawasdee pii' from professional adults ('pii' refers to someone older, I'm used to using it to refer to older kids, not adults)
  • A likes to pass the time by singing songs she knows from daycare or YouTube videos. Our soundtrack from the vacation is highlighted by Everything is Awesome, the LEGO Movie theme song by The Lonely Island 
  • T passes time by singing songs from school. We are starting to suspect that he is making up lyrics for the songs. 
  • On the trip back, we had to walk a long way between gates to catch a connection, A saying to T "keep walking" (they had been watching Finding Dory on the plane, Dory's catch phrase is "keep swimming") 
  • Waiting at O'hare for the last leg, A was singing and dancing in the waiting area. Completely inappropriate for a 2 year old who left grandma's house over 24 hours ago. 
  • A woke up around 2 AM for her morning concert. Which is when I am writing this.

Saturday, December 24, 2016

Thailand 2016 trip Part 1


  • T 6yrs old.  On encountering turbulence.  "This is fun!"  By the end of a flight which included an aborted landing due to a wind shear alarm, he threw up. 2yr old sister was not far behind.
  • By the end of the D.C. -Tokyo leg, commentary from other passengers, if they are this agreeable when tired and uncomfortable, they must be wonderful children from day to day.
  • Tokyo airport play area. We meet someone we know and our kids play for a while.
  • 5:30 in the morning wake up to roosters crowing. 2 yr old had been awake since 3 and thinks she has company in her morning concert. She knows that roosters say Cock-a-doo-doo 
  • First of many trips to the next soi (small street) market over to get morning breakfast. T learns to give food to the local monk. The next day we find out that the monk we picked can speak English. Wai phra becomes our daily ritual and we are usually not rushed by others waiting their turn so we can talk with the monk.
  • Cousin has a piano. That means T has daily piano practice. 
  • Visit great-grandma. T is getting the wai for hello thing down.
  • By the third morning T and I have made the first trip with just the two of us. T has learned to wai and say sawasdee khrab to every vendor we buy something from. We have gotten a discount from one vendor who knows that a 6 yr old boy is learning how to wai phra. People ask about his mother. Random people want to say hello. We get freebies when we buy things in the morning market.
  • Take train and boat to go to Museum of Siam. They are closed for renovation for the month. Major fail. T thinks that the boat trips on the river express boat were really cool. Maybe not so bad.
  • Go to Kasetsart to give a talk. The guy picking me up from the train station asks what am I wearing so he can recognize me. Thailand is in morning so everyone is wearing white or black, including me. I suggest my green bag is more identifiable.
  • Change the morning workshop based on the conversation over the drive. Three hour workshop, with two hours created as we go. It did not completely fall apart. Everyone learned a lot. 
  • Faculty member teased because we were talking about exchange programs, and she is thinking about what her daughter will do. Said daughter is currently 5.
  • Conversations at a couple of universities focusing on the difficulty in teaching programming to engineers. Everyone is relieved to know that they are not the only ones. Conversation then moves to how some places are trying to improve it.
  • This morning's market run was with grandma and granddaughter, but without grandson. Everyone asks what happened to grandson. We do not get our usual freebies. We can now put an economic value on the difference in cuteness between a very well behaved 6yr old boy vs a shy 2 yr old girl.
  • T and I go without mommy and sister to Siriraj medical Museum. We get to see actual hearts, lungs, etc in various states of health, including smokers, gun shot victims, stabbing victims. We are pretty sure that is unique in his first grade class.
  • Shop girls love T. Museum staff girls want pictures with him.  Maybe we should charge for the privilege.
  • 2 yr olds having a get home by __ spell means we can define an effective radius that we can have dinner if we want to go out.
  • Go out for a late dinner that involves taking a boat. We get recognized by a family that was on the boat with us this morning.
  • Lunch, I find a table with a sleeping A while everyone is finding lunch at a food court. Lady comes over and tries to help wake up and feed A. (If you did not know, Thai girls rival Japanese girls in their attraction to things cute, and my kids count when they are with us)
  • Christmas Eve on a very crowded BTS system with lots of tired and cranky people. A is sitting in a sling and is singing away happily. Most people are too tired to appreciate how cute that is, but there were a few.
  • Tired T, very happy to take a trip in a Tuk-tuk. Includes laughing at another family who was also crammed in another tuk-tuk and a motorcycle riding Santa Claus.

Thursday, November 24, 2016

Sally Steel and the Miniature Menace by Cally Harris: Book Review

Sally Steel series are pulp fiction aimed at young adults (middle school).  What pulp means is that the characters are generally or specifically competent. The young adult target implies that some of the conflicts are those that are of special interest to young adults.

The setting is midwestern farm country in the early 1900s, and Sally Steel is a teenage girl. Who happens to be gifted in all things mechanical. This leads to a number of problems in her life. Largely due to the fact that she is a girl. And there are expectations of girls in that setting. So she gets teased because she is a girl with her interests, because she is good, she is prevented from getting recognition by society so she does not upstage the boys. Her father chooses to be blind to her abilities (but her mother and brothers all see it).

The meat of the story is Sally being caught up in an adventure with her good friend, Jet Black (whose main character trait seems to be fearlessly going into danger). And, it turns out that there are intelligent, reasonable, and capable adults that she runs into who are also allies. but, this being a Young Adult novel, she has to learn that she does not handle everything by herself.

As a story, it is a fun one. Sally and friends get into and out of trouble at a pretty good pace. The meet friends and enemies, and false friends one after another. For those who are familiar with the Dinocolypse series from the same publisher that features older versions of the same characters, it seems like the book was trying a little to hard to fit everyone in (it is a bit of a stretch to think that the people whose actions will affect the world happened to be the same age and cross paths in rural Illinois as teenagers).

But at its heart, pulp is a story about heros who are capable, in this case, even a hero that is a teenage girl. And it is a fun story at that.

Saturday, November 05, 2016

Parenting month 72: Maker vs consumer

Another year. Since T's birthday I've probably said that he was five at least five times.  It is hard to get into the mindset that they don't freeze in time.

Some highlights of this year:

1. Movies on the big screen: The Martian and MacGillivray Freeman's Humpback Whales.
2. Live professional sporting events:  The Washington (PA) Wild Things and the Pittsburgh Pirates
3. Playing on a sports team:  Eagles Soccer
4. Taekwondo rank. Purple belt (ATA taekwondo)
5. Starting first grade


Playing a Circuit Playground fruit piano at Makerfaire
Demonstrating a fruit piano
Some changes over the past month.

1. Social  -  Teachers report that he is apparently everyone's best friend. However, he is still a  relatively controlled one in the class. They report that he regards the overall silliness and chaos of first grade but does not actually take part.
2. Making - We have been trying to get him to regard activities as one where he is a consumer to one where he is an active part in its creation. So it means showing people how things work and being part of the entertainment (i.e. playing piano in public) His old habit of freezing in public performance seems to be overcome, with a few public performances without a hitch. He is freer about talking to strangers, but not on command (i.e. we would like him to be able to demonstrate things he knows, not talk to random strangers without cause).  One thing is that he is better about asking questions and requesting opportunities, which got him some nice experiences at times.
3. Soccer is over. While a good experience, we're pretty sure he does not have any desire to do this again. Nothing against soccer, but he realizes that he sacrificed taekwondo for it, and he also notices that a lot of things he used to do on Saturdays got pushed out because soccer takes out the flexibility of his weekends.
4. Sense of urgency/speed. His teachers observed that he knows how to do anything asked of him, but he does it slowly. A big reason is that we did not drill him in anything over the summer, which is how you develop speed, especially in arithmetic.  So we started him on the online math program his school uses (some of the activities are timed, the first times he did them he timed out, he has gotten much better) and mommy school has started to include drilling.


This is how to program the Lego robot
Learning to program a LEGO robot
Taking apart a battlebot to fix it
Taking part in maintenance of a battle bot
We had one existential crisis. We found out from one of the teachers that some of the other kids in first grade learned multiplication over the summer. And we did no such thing, making us wonder if there was anything else we did not do! The teachers have assured us that they did not actually want us to teach him multiplication or other things, but the fact that they noted that some of the kids did (and that they had immediate recall from memorizing their times tables) makes us take that skepticism with a dash of salt.

A (2 1/2 years) has become more comfortable with day care. Now she waves goodbye at dropoff without a glance back. Teachers report that she sings alot.  What we notice is that she is much more talkative.  Her extended babbling at 18 months have converted to non-stop talking and singing.  We just took a 2 hour road trip where she was singing and telling stories to herself for the entire trip.

Friday, October 28, 2016

ESP8266 Thing board based environmental monitor

The goal of this project was to create an automatic temperature and light level monitor for a bioshelter (greenhouse +) run by The Bible Center Oasis Project (Pittsburgh, PA).  Because it would be used to grow flora and fauna, it needed ongoing monitoring of temperature and light levels to confirm that it would support the growth of food, and to monitor the effectiveness of measures being explored to control environmental conditions.


Homewood, Pittsburgh , PA
Bible Center Oasis Project bioshelter in Homewood (Pittsburgh), PA


As an off-grid, solar powered greenhouse, the bioshelter is not connected to any utilities. So any environmental monitoring solution needed to be low powered and use wi-fi for communication (i.e. no phone line). We also preferred solutions that did not force a subscription to a specific data logging service.

Temperature, humidity and light monitor
Sparkfun ESP8266 Thing Dev board based monitor

I developed a solution based on the Sparkfun ESP8266 Thing development board. This board provided the Arduino microcontroller to control the project and on-board wifi with antenna.  The other major components of the board were:
I first soldered headers onto the ESP8266 Thing dev board and the BME280 and TSL2561 breakout boards. These allowed for use of two mini-breadboards to develop the monitor, which also served as a base for the project when deployed.

The Thing dev board and both breakout boards were set up with Inter-integrated Circuit (I2C), protocol, so both sensor boards were connected to the I2C inputs on the Thing dev board.

The Thing dev board was then programmed to transmit the response to a phant server. Specifically, the data.sparkfun.com server that is  made freely available by Sparkfun.  In addition to being a data display, the phant server allows for accessing the data as csv or json files for further analysis, or using analog.io (link opens up the live graph of data. analog.io an IoT platform made available by Luke Beno).   Because phant also exposes the data in JSON format, my usual way of working with the data is to use the jsonlite package within R.

Breadboard diagram of ESP8266 with BME280 and TSL2561


Arduino *.ino code
 
1:  // Include the ESP8266 WiFi library. (Works a lot like the  
2:  // Arduino WiFi library.)  
3:  // Uses BME280 and TSL2561 to record temperature, pressure, humidity, and lux data to phant  
4:  // Code  
5:  //   
6:  #include ;  
7:  #include ;  
8:  #include ;  
9:  #include "Wire.h"  
10:  #include "SPI.h"  
11:  // Include the SparkFun Phant library.  
12:  #include ;  
13:  // Include SparkFun BME280 library  
14:  #include "SparkFunBME280.h"  
15:  //Global sensor object  
16:  BME280 mySensor;  
17:  // SFE_TSL2561 object  
18:  SFE_TSL2561 light;  
19:  //////////////////////  
20:  // WiFi Definitions //  
21:  //////////////////////  
22:  const char WiFiSSID[] = "ssid";  
23:  const char WiFiPSK[] = "psk";  
24:  /////////////////////  
25:  // Pin Definitions //  
26:  /////////////////////  
27:  const int LED_PIN = 5; // Thing's onboard, green LED  
28:  const int ANALOG_PIN = A0; // The only analog pin on the Thing  
29:  const int DIGITAL_PIN = 12; // Digital pin to be read  
30:  ////////////////  
31:  // Phant Keys //  
32:  ////////////////  
33:  const char PhantHost[] = "data.sparkfun.com";  
34:  const char PublicKey[] = "publickey";  
35:  const char PrivateKey[] = "privatekey";  
36:  /////////////////  
37:  // Post Timing //  
38:  /////////////////  
39:  const unsigned long postRate = 1000*60 * 30;  
40:  unsigned long lastPost = 0;  
41:  // Global variables for TSL2561:  
42:  boolean gain;   // Gain setting, 0 = X1, 1 = X16;  
43:  unsigned int ms; // Integration ("shutter") time in milliseconds  
44:  void setup()  
45:  {  
46:   // initHardware(); // Setup input/output I/O pins  
47:   connectWiFi(); // Connect to WiFi  
48:   digitalWrite(LED_PIN, LOW); // LED on to indicate connect success  
49:   //For I2C, enable the following and disable the SPI section  
50:   mySensor.settings.commInterface = I2C_MODE;  
51:   mySensor.settings.I2CAddress = 0x77;  
52:   //***Operation settings*****************************//  
53:   mySensor.settings.runMode = 3; // 3, Normal mode  
54:   mySensor.settings.tStandby = 0; // 0, 0.5ms  
55:   mySensor.settings.filter = 0; // 0, filter off  
56:   //tempOverSample can be:  
57:   // 0, skipped  
58:   // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively  
59:   mySensor.settings.tempOverSample = 1;  
60:   //pressOverSample can be:  
61:   // 0, skipped  
62:   // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively  
63:    mySensor.settings.pressOverSample = 1;  
64:   //humidOverSample can be:  
65:   // 0, skipped  
66:   // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively  
67:   mySensor.settings.humidOverSample = 1;  
68:   // Initialize the SFE_TSL2561 library  
69:   // You can pass nothing to light.begin() for the default I2C address (0x39),  
70:   // or use one of the following presets if you have changed  
71:   // the ADDR jumper on the board:  
72:   // TSL2561_ADDR_0 address with '0' shorted on board (0x29)  
73:   // TSL2561_ADDR  default address (0x39)  
74:   // TSL2561_ADDR_1 address with '1' shorted on board (0x49)  
75:   // For more information see the hookup guide at: https://learn.sparkfun.com/tutorials/getting-started-with-the-tsl2561-luminosity-sensor  
76:   light.begin();  
77:   Serial.begin(57600);  
78:   Serial.print("Program Started\n");  
79:  // The light sensor has a default integration time of 402ms,  
80:   // and a default gain of low (1X).  
81:   // If you would like to change either of these, you can  
82:   // do so using the setTiming() command.  
83:   // If gain = false (0), device is set to low gain (1X)  
84:   // If gain = high (1), device is set to high gain (16X)  
85:   gain = 0;  
86:   // If time = 0, integration will be 13.7ms  
87:   // If time = 1, integration will be 101ms  
88:   // If time = 2, integration will be 402ms  
89:   // If time = 3, use manual start / stop to perform your own integration  
90:   // Use time = 1 so that the midday sun does not lead to an error  
91:   unsigned char time = 1;  
92:   // setTiming() will set the third parameter (ms) to the  
93:   // requested integration time in ms (this will be useful later):  
94:   Serial.println("Set timing for TSL2561...");  
95:   light.setTiming(gain,time,ms);  
96:   // To start taking measurements, power up the sensor:  
97:   Serial.println("Powerup light sensor...");  
98:   light.setPowerUp();  
99:   // The sensor will now gather light during the integration time.  
100:   // After the specified time, you can retrieve the result from the sensor.  
101:   // Once a measurement occurs, another integration period will start.  
102:   Serial.print("Starting BME280... result of .begin(): 0x");  
103:   delay(10); //Make sure sensor had enough time to turn on. BME280 requires 2ms to start up.  
104:   //Calling .begin() causes the settings to be loaded  
105:   Serial.println(mySensor.begin(), HEX);  
106:  }  
107:  void loop()  
108:  {  
109:   unsigned int delaytime;  
110:   Serial.println("Posting to Phant!");  
111:   if (postToPhant())  
112:   {  
113:    lastPost = millis();  
114:    Serial.println("Post Suceeded!");  
115:   }  
116:   else // If the Phant post failed  
117:   {  
118:    Serial.println("Post failed, will try again.");  
119:   }  
120:   delaytime = postRate;  
121:   delay(delaytime); // Short delay, then next post  
122:  }  
123:  void connectWiFi()  
124:  {  
125:   byte ledStatus = LOW;  
126:   Serial.println();  
127:   Serial.println("Connecting to: " + String(WiFiSSID));  
128:   // Set WiFi mode to station (as opposed to AP or AP_STA)  
129:   WiFi.mode(WIFI_STA);  
130:   // WiFI.begin([ssid], [passkey]) initiates a WiFI connection  
131:   // to the stated [ssid], using the [passkey] as a WPA, WPA2,  
132:   // or WEP passphrase.  
133:   WiFi.begin(WiFiSSID, WiFiPSK);  
134:   // Use the WiFi.status() function to check if the ESP8266  
135:   // is connected to a WiFi network.  
136:   while (WiFi.status() != WL_CONNECTED)  
137:   {  
138:    // Blink the LED  
139:    digitalWrite(LED_PIN, ledStatus); // Write LED high/low  
140:    ledStatus = (ledStatus == HIGH) ? LOW : HIGH;  
141:    // Delays allow the ESP8266 to perform critical tasks  
142:    // defined outside of the sketch. These tasks include  
143:    // setting up, and maintaining, a WiFi connection.  
144:    delay(100);  
145:    // Potentially infinite loops are generally dangerous.  
146:    // Add delays -- allowing the processor to perform other  
147:    // tasks -- wherever possible.  
148:   }  
149:   Serial.println("WiFi connected");  
150:   Serial.println("IP address: ");  
151:   Serial.println(WiFi.localIP());  
152:  }  
153:  void initHardware()  
154:  {  
155:   Serial.begin(57600);  
156:   pinMode(DIGITAL_PIN, INPUT_PULLUP); // Setup an input to read  
157:   pinMode(LED_PIN, OUTPUT); // Set LED as output  
158:   digitalWrite(LED_PIN, HIGH); // LED off  
159:   // Don't need to set ANALOG_PIN as input,  
160:   // that's all it can be.  
161:  }  
162:  int postToPhant()  
163:  {  
164:   // LED turns on when we enter, it'll go off when we  
165:   // successfully post.  
166:   digitalWrite(LED_PIN, LOW);  
167:  // Retrieve the data from the device:  
168:   unsigned int data0, data1;  
169:   double lux;  // Resulting lux value  
170:   boolean good; // True if neither sensor is saturated  
171:   if (light.getData(data0,data1))  
172:   {  
173:    // getData() returned true, communication was successful  
174:    Serial.print("data0: ");  
175:    Serial.print(data0);  
176:    Serial.print(" data1: ");  
177:    Serial.print(data1);  
178:    // To calculate lux, pass all your settings and readings  
179:    // to the getLux() function.  
180:    // The getLux() function will return 1 if the calculation  
181:    // was successful, or 0 if one or both of the sensors was  
182:    // saturated (too much light). If this happens, you can  
183:    // reduce the integration time and/or gain.  
184:    // Perform lux calculation:  
185:    good = light.getLux(gain,ms,data0,data1,lux);  
186:    // Print out the results:  
187:    Serial.print(" lux: ");  
188:    Serial.print(lux);  
189:    if (good) Serial.println(" (good)"); else Serial.println(" (BAD)");  
190:   }  
191:   else  
192:   {  
193:    // getData() returned false because of an I2C error, inform the user.  
194:    byte error = light.getError();  
195:    printError(error);  
196:   }  
197:   // Declare an object from the Phant library - phant  
198:   Phant phant(PhantHost, PublicKey, PrivateKey);  
199:   // Add the three field/value pairs defined by our stream:  
200:   phant.add("temp_f", mySensor.readTempF());  
201:   phant.add("humidity", mySensor.readFloatHumidity());  
202:   phant.add("pressure_kpa", mySensor.readFloatPressure()/1000);  
203:   phant.add("lux", lux);  
204:   // Now connect to data.sparkfun.com, and post our data:  
205:   WiFiClient client;  
206:   const int httpPort = 80;  
207:   if (!client.connect(PhantHost, httpPort))  
208:   {  
209:    // If we fail to connect, return 0.  
210:    return 0;  
211:   }  
212:   // If we successfully connected, print our Phant post:  
213:   client.print(phant.post());  
214:   // Read all the lines of the reply from server and print them to Serial  
215:   while(client.available()){  
216:    String line = client.readStringUntil('\r');  
217:    //Serial.print(line); // Trying to avoid using serial  
218:   }  
219:   //Print each row in the loop  
220:   //Start with temperature, as that data is needed for accurate compensation.  
221:   //Reading the temperature updates the compensators of the other functions  
222:   //in the background.  
223:   Serial.print(mySensor.readTempC(), 2);  
224:   Serial.print(",");  
225:   Serial.print(mySensor.readTempF(), 3);  
226:   Serial.print(",");  
227:   Serial.print(mySensor.readFloatPressure(), 0);  
228:   Serial.print(",");  
229:   Serial.print(mySensor.readFloatAltitudeMeters(), 3);  
230:   Serial.print(",");  
231:   Serial.print(mySensor.readFloatAltitudeFeet(), 3);  
232:   Serial.print(",");  
233:   Serial.print(mySensor.readFloatHumidity(), 0);  
234:   Serial.print(",");  
235:   Serial.print(lux);  
236:   Serial.println();  
237:   // Before we exit, turn the LED off.  
238:   digitalWrite(LED_PIN, HIGH);  
239:   return 1; // Return success  
240:  }  
241:  void printError(byte error)  
242:   // If there's an I2C error, this function will  
243:   // print out an explanation.  
244:  {  
245:   Serial.print("I2C error: ");  
246:   Serial.print(error,DEC);  
247:   Serial.print(", ");  
248:   switch(error)  
249:   {  
250:    case 0:  
251:     Serial.println("success");  
252:     break;  
253:    case 1:  
254:     Serial.println("data too long for transmit buffer");  
255:     break;  
256:    case 2:  
257:     Serial.println("received NACK on address (disconnected?)");  
258:     break;  
259:    case 3:  
260:     Serial.println("received NACK on data");  
261:     break;  
262:    case 4:  
263:     Serial.println("other error");  
264:     break;  
265:    default:  
266:     Serial.println("unknown error");  
267:   }  
268:  }  

Sunday, October 23, 2016

Going to MakerFaire Pittsburgh 2016

Picture with Makey at Makerfaire Pittsburgh
Standing next to Makey at Makerfaire Pittsburgh
This year we went to our first MakerFaire. I was there partly because I was helping with a University of Pittsburgh booth, but really so I could bring T.While most kids can build with LEGO, he also has some wood projects behind him, and has a reasonable exposure to electronics for a 5 year old. But more importantly, he has spent his whole life watching the things that are in our house built from parts or scratch.  And starting last year he has been exposed to robotics, programming, and electronics. So MakerFaire was something that has been on our radar.

Looking at the insides of the battlebot
Battlebot being repaired

One of the advantages to getting there early in the morning is that the crowds have not yet arrived. So he got access to things that would have been hard to do. And being associated with a booth marks him as a fellow maker, who does not just look at things for entertainment but can appreciate hard work and effort to make something work.


Taking apart a battlebot to fix it
Taking apart a battlebot

Makerfaire Pittsburgh 2016
Driving a battlebot

He got to help repair a robot, drive robots, both those that are much like toys and some that definitely were not toys.  He did the whole set of crafts set up by schoolchild oriented maker spaces, both low tech and high tech.


This is how to program the Lego robot
Programming the Lego robot to make it across the line.

Scout trooper showing off his Sniper rifle
Inspecting a Scout Trooper rifle

Makerfaire Pittsburgh 2016
Weaving with a loom

The point of this gathering is not so much to show off or teach, but to inspire. For everything he sees, he can recognize the precursors, so everything that he touches, is within aspiration, if many years from now.

Playing a Circuit Playground fruit piano at Makerfaire
Demonstrating the fruit piano

This was our first MakerFaire, but it will not be the last.  The Adafruit Circuit Playground fruit piano was something we threw together, next year we will actually think about making this work. And T will have something more polished to show off. And his interactions with the other makers more meaningful.

Friday, October 07, 2016

Parenting month 71: soccer

This month we tried our hand at being soccer parents. T signed up for first-second grade soccer, after we got many rounds of recruitment messages.  And not taking part in either spring or summer soccer camps held at the school.


Circle drill
Circle drill


Well, he has taken part. And when he is in games he runs around happily, but we also noticed that he does not get the ball. Reality is, he has no concept of taking possession of anything, much less in a competitive game.

Someone asked me if he enjoys playing. He enjoys being out there with friends running around, but the actual games are rather lost. What he wants to do is interact with everyone on the field (and which team they are on is not really a consideration). And he is too nice to get the ball when he is fast enough to get to it, pulling up and letting someone else get it.  And he has his 'tells' of discomfort, in particular, he will occasionally get into a taekwondo stance while out in the field. Taekwondo forms and curtesy is one of his go-to actions when he is frustrated (much preferred over a tantrum).

So, we don't see this as being a long term thing, especially as he already has a sport (taekwondo) that he enjoys and he is good at (relatively speaking). Were there benefits?  Well, he really does not learn teamwork out there, as he never actually has the ball or the opportunity to work with his teammates as teammates. We have had many conversations about keeping commitments (i.e. finishing out the season), and that there are times that you are doing things that you are not interested in, and that we are glad that he keeps up a good attitude when at practice and at games.  But all in all, he is looking forward to the end of the season so we can go back to taekwondo and the various activities we used to have on Saturdays.

PNC Park
At PNC Park for his first Pirates game

In other news, T went to his first major league baseball Pittsburgh Pirates game. After last month's minor league game, he knew the drill, although there were a lot more people this time, and he did not get to go on the field or interact with the team and mascot.

A has started day care.  She cried at drop off and pick up for the first few weeks (but nothing like her big brother, who would cry from drop off to pick up with only breaks for eating). At week 4 she seems to be enjoying it, even having some regular play mates while there.

Next month, first grade ramps up as the assessments that went on the first month are completed and what they cover becomes more tailored.

Saturday, October 01, 2016

The Honor Was Mine: A Look Inside the Struggles of Military Veterans by Elizabeth Heaney: Book Review

The Honor Was Mine: A Look Inside the Struggles of Military VeteransThe Honor Was Mine: A Look Inside the Struggles of Military Veterans by Elizabeth Heaney
My rating: 5 of 5 stars

This is the story of a civilian counselor who joined a program to provide off-the-record counseling services at domestic military bases. She spent short term assignments at each base, with the intention that it was part of a portfolio of provided services, attracting members of the military community who would not be willing to engage the more traditional mental health resources that were already available. It is a view of the military that I very much relate to, as I was attached to a deployed unit as a civilian for a similar period of time.

The first chapter starts slow, she talks about the trauma in her life prior to her taking this assignment as a way of resetting her life (and this gets dropped in the rest of the book). But once you get past the first chapter you get into the story. Two themes that permeate are her being a civilian learning her way around the military environment, which sets up the theme of veterans returning from deployment and those around them responding in their different ways.

The first theme is that of a civilian entering the military community and the differences. She tells the story of her first assignment, of encountering military discipline and curtsy first as a shock, but then respect for the stability that it provides. She goes on to what she realizes the purpose of many of attitudes and rhythms of the military. First, the realization that those in the military must be prepared for anything at any time, and military discipline and curtsy is intended to build the attitudes needed to enable that. Second, that there are a range of overall attitudes held by those in the military, with a considerable more diversity than she expected when she was in a civilian life. But one set of values that holds people together is a focus on duty (towards country and each other, not necessarily in that order) and integrity. And the dissonances between those values and what they see in the civilian world (and in what I called Big Army for that matter) causes many of the problems they have in adapting to home.

But what this long discussion of the difficulties she had in getting used to the military culture does is leads to her discussion about the issues that veterans and their families and the problems that veterans who have returned from a combat zone and their families. And she has gone through the same type of struggle in the first chapter with what she dealt with in her life and the reactions of those around her, and dealing with the same culture shift in the other direction. This part is the deepest, she alternates between telling the stories of the people she meets during the course of her assignments and the story of her processing these. Stories of working with the returning soldiers, the transition between combat and their families, soldiers and spouses trying to deal with the uncertainty of life in general and of soldiers returning after a year of combat, spouses worried about infidelity when the returning soldier is still working through the transition between combat and peacetime, of the care that soldiers have of the wounded and fallen brothers (and sisters) in arms.

Through it all, what shows through is her thankfulness that she has seen this part of life, the pride, dedication, and duty to others that permeates the military. And the recognition that this is not the norm in U.S. society at large. In my own experience, I've been told to view the lives of companions as not precious, had offers to refer me to counselors who would tell me that I should have ignored the calls for help from someone in the backcountry. And this contrasting incredibly with being deployed to a combat zone where I was with people who did their duty and tried to do right by those that they were along side. And when I returned, my then girlfriend and I spent a month trying to figure out if I had changed. (and when we were all settled, I figured that I had a good thing going and proposed to her!)

It is a wonderful book. It has a great treatment of PTSD, because it takes the first step of having to experience some of the causes (the need to be constantly aware, the sense that your world and your attitude may have to shift in a heartbeat, and you have to be ready for it, and having to deal with a civilian world that does not generally value duty or integrity) It does not preach, but it gives a set of eyes that had to go through similar experiences and uses that as an analogy into that world.

Note: I received a free electronic copy of this through the Goodreads Giveaways program. The opinions are my own and were not subject to any review.

View all my reviews

Saturday, August 27, 2016

Parenting: Month 70 - A summer vacation ends

So, tomorrow we head back for the back-to-school social. There have been some preliminaries. We were amused to learn at the mommy coffee time (no, I was not there) that T was the subject of some of his K classmates conversations over the summer (T is too internally focused to talk about people whom he has not recently been in contact).

For our first summer since school started, we ended with a trip, and lots of family time.  The kids were remarkably happy when on vacation. We think it is all of the constant attention from the parents in addition to all of the novelty. My son still regularly asks when are we going back to the places we went.

Great Lakes Science Center in Cleveland
Driving a rover at the Great Lakes Science Center in Cleveland

Some other summer notables:
1. First baseball game. And completely spoiled, he got to go on the field and take part in a high five line of the home team. He probably thinks that this is normal.
2. Mommy school and daddy school. Mommy school was as expected. Daily piano and chinese. Daddy school still means lots of LEGO, and this summer we added Technic and simple machines.  We also had a little Scratch, board games, electronics, and an average of a session (5 problems) of math a week.
3. Grandma and grandpa school turned into a not-success.  We are starting to have discipline problems. Given that we pretty much has a free pass on the toddler years with T, it was not going to be that easy forever.
4. A has gone from a little chatterbox babbling along to a little chatterbox that is talking all the time. Usually about something she wants. Alternatively, singing (which is much more entertaining). But there are not very many quiet moments.


Washington Wild Things game
High fiving a Washington Wild Things baseball player
Things to come
1. Sports. T is signed up for soccer this year, after much pleading from the school team.  Given that he did not take part in the various camps in spring and summer, we are not expecting much. But he may have fun.
2.  Taekwondo - T is taking a break, which will allow daddy to catch up somewhat in rank.
3.  School. One of T's favorite teachers is not coming back. One thing that we really liked about her was that she let T essentially find his own level, letting him do things well in advanced of grade level in and out of class. It was one of the things that highlighted his Kindergarten year, so we are somewhat apprehensive in how the coming year will work out.



Self defense color belt testing
Taekwondo self defense testing

Ba mang ee form
Ba mang ee form

Thursday, August 04, 2016

Book review: The Three Body Problem by Liu Cixin

The Three-Body Problem (Remembrance of Earth’s Past, #1)The Three-Body Problem by Liu Cixin
My rating: 4 of 5 stars

The Three body problem is a hard sci-fi novel that is a combination of a detective thriller and a horror story.

The detective thriller is what the main POV character thinks he is in, and how most of the novel reads. The backdrop are top scientists in China suffering strange accidental deaths, and the protagonist having strange results in his experiments. As part of the backdrop, is the cultural revolution. The nature of science means that senior scientists in the present day all had to survive the cultural revolution, and a large part of the story is through a secondary POV character who lived through it, and as the book goes on you see the actions and experiences of those who were were targeted by the cultural revolution, who were the ones who carried out its actions, and who were instigators, then targets. This comes to a head as providing the motivation of several of the key actors in the book.

The horror story has two aspects. One as experienced by the main POV character. Like a good horror story, it is a case of an impending and unstoppable doom that is made known to a generally competent subject, who, for all of his/her knowledge and skills, cannot stop. The second is an online computer game, which initially presents itself as a side line. In the game, the players take I he role within a civilization, which because of its environment is doomed to failure, the players try to understand their environment and build a civilization that can survive and thrive.

The trick to having several parallel story lines is to bring them together naturally. And this is what I experienced in this book. The horror thread that is in the book makes you understand the POV of the characters who experienced the Cultural Revolution as their motivations are revealed. The actions and beliefs of the principle characters make sense. The temptations faced by the main character are definitely there (as he had been courted by both sides that are revealed) and you can see how he could have turned the other way.

I, like most, do not have much exposure to Chinese fiction that deals so directly with the events of the Cultural Revolution, which I have always thought to be a sensitive topic even through i have had informal conversations with those who went through that and the generation of their offspring. It was well worth the time.

View all my reviews

Saturday, July 30, 2016

Parenting Month 69: enrichment

This summer is the first time that we have participated in the suburban parenting practice of (non-school) enrichment activities in earnest. We've noted others in activities started when T was 3, but we always favored grandparent time over putting him in things after school, weekends, or summers. Now that we have a full year of real school behind him, we did enroll him a few activities, piano, a couple of weeks at the natural history museum, and a computing/robotics course (in addition to continuing Tae Kwon Do).

What were the results? In a sense, it should not be necessary, we are regular visitors to the natural history museum and have covered multiple times every corner. We certainly have the expertise for piano in the house, and we could have done computing and robots as well.  Why not? In addition to the fact that we have jobs, what we got was interaction with other, older kids (the staff of these camps). I once read that the reason that kids should interact with kids of a range of ages is so they learn how to be bossed around by others, how to boss others, and how to take and give instruction. In addition, T interacted with a wider range of kids.  Our first questions after every day were "what did you do?" and "who were you partnered with?"

The other thing that was good was the fact that the economics of summer camps mean that the kids do get more autonomy than the usual school year (otherwise, staff would get overwhelmed with the workload) so what T got was a lot more initiative and curiosity. And more confidence which shows in his playing piano and more exploration in his play.

Yes, we probably could push him further than any enrichment program would in piano, science, programming, math, or robotics; but that is not the goal. The goal is someone who learns how to learn, has curiosity, and enjoys himself along the way.  We are skeptical of a lot of the offerings that we have seen, but what T did do, we think went a long way towards this goal.


Conducting an experiment with a SparkFun Picoboard
Testing something for conductivity using a Picoboard

Saturday, July 02, 2016

Parenting month 68: One year of school in the books

And we have survived our first year of Kindergarten!  At the beginning of the year we considered this to be the time when as parents are overwhelmingly dominant influence on our child's life is melded with the large amounts of time now spent with school teachers and classmates (not that we are no longer important, but others now play a role).  We also find out where he is in comparison with others in all aspects of life.

Things that have changed over the past academic year:

1.  His confidence has increased greatly. He had always been uncertain in public, especially when the object of attention. The first area that his confidence grew was in internalizing the curtesies of taekwondo and Catholic school.  This became a safe way for him to interact with others.  Then, as he grew in confidence that he was competent, and that he could be listened to, he began to be more confident in dealing with others, speaking to people we interact with on a daily basis (like those working at stores, restaurants) or with people he interacts with in activities (like those at the same exhibit as him in museums).
2.  His confidence has grown almost too much. He is much willing to interact with others and also to speak his mind and give his opinions (catching up to his peers in this respect). Also, he is less afraid to go off and strike out on his own, which means we need to keep an eye on him to make sure he does not get too far since we cannot rely on his cautiousness to keep him in check anymore.
3.  He is much more social. Our shy quiet boy somehow became the one everyone knows at school. Part of it is the notoriety of being the smallest kid in the school (everyone knows who the smallest and who the tallest kids in the school are).  And apparently he says hi (or returns 'hi') to pretty much everyone.  His other source of notoriety is that he seems to be happy all the time, every day.  He is pretty happy by the time we get to school (the wake up sequence is not always so), and after school in the pickup line he is the bouncing bean among the kids waiting for pickup.
4.  He is starting to attend to the needs of others. We have been surprised to watch him at play in public settings where he keeps an eye on those smaller than him and tells other kids not to play too rough. I remember watching him at an Easter egg hunt, where after he got his allowed limit he started helping the little kids find eggs.
5.  At Taekwondo, he is someone that gives the instructors flexibility when doing paired activities (sparring, self-defense practice, two-person drills). He is good enough to pair with better or most bigger kids (as long as they don't get too wild and run people over, but there are not many of those at his rank), and he does not overwhelm the kids who are less secure in themselves (especially smaller and shy kids. Several of the moms mention that their kids specifically mention liking being paired with T). Not that long ago, he was the smaller and shy kid.  When he is in a class of mixed ages, he can be with his own age group (4-6), but if he is the only one, the instructors are comfortable putting him in the next group up (normally, the 4-6 group has simplified combinations and they use 1/2 forms, so putting him in the next group requires more physical coordination and stamina than he is used to).The other nice thing about taekwondo is that his teachers are deliberately harder on him than other kids of his age and experience, meaning they do not let him get away with sloppiness when they know he can do better.
6.  Over-confidence pt 2.  He takes advantage of the fact that he can read (and most kindergarteners cannot do so effectively). His teachers report that he has taken to reading the instructions for activities instead of waiting for the teachers to read the instructions for everyone. The effect is that he is done with the activity before everyone else has started. This causes problems because it means he is not practicing listening to instructions from the teachers. It also means he gets bored because he has nothing to do when everyone else is doing the activity.
7.  Ahead academically.  The school he goes to has one member of the staff who does not really believe that kids differentiate early. One time she was visiting a class and she noted that T was going through an exercise very smoothly. His teacher noted that it was easy for him, because "it was only first grade material."

Our major concern for the future.  We know a lot of kids who are very bright, their parents report that they find their school exercises very easy, who have lost their ability to handle difficulty or correction.  Many research articles suggest that part of the issue is that they have a lot of feedback from school and other settings saying they are good and smart, so they resist hearing it from parents or others who suggest that they are not attaining mastery without effort. On our end, we are trying to nip this early. We make sure he is challenged at least some of the time with reading (if he reads with us, it is material that stretches him), our math activities are selected from a source designed to focus on thinking (by using material they are very unlikely to learn in school). And it is very easy to make sure his piano and taekwondo are pushing him at all times.  My way of wording our goal is that we try to make sure he is challenged, but he can still succeed (if he does not give up along the way).  For the school, they are instituting a framework for kids to move ahead in reading (individualized reading based on standardized test results), and they are looking at ways to do something similar in math.

Our other major concern is about the areas he is not strong in, how much should we care? He is still adverse to public performance (a major concern of mommy, who is a concert pianist) and he is not always self-assertive (although this may be due to a lack of desires to assert for).  He will probably always be among the smallest of his grade, which makes contact team sports problematic.  And there is a cultural thing about not being better than peers, which has an implication we should not let him move forward where he is capable of doing so.


Double forearm block in taekwondo poomsae
Double forearm block as part of his ATA Taekwondo poomsae

Sunday, May 29, 2016

Parenting Month 67: independence and dependence

This is the end of the first year of kindergarten for T (5 1/2), and the first time we have truly experienced the chaos that comes with the end of a school year. I suppose we should have seen it in the past, since we are exposed to older kids, but the full impact escaped us.

We have been dealing with the contrast between independence and dependence. On one hand, we want him to be competent and confident in his dealings with the world, and being more daring is probably something we desired in the days when he was seemingly scared by everything under the sun. However, he is often too comfortable and we now wish he felt more of a need to check that he was still with us (or that he comes back when called!). To use the usual analogy of a rubber band to describe this tension in children, our rubber band suddenly got a lot longer in the past few months.

Matching shirts on vacation



Along with this greater independence is a greater amount of rebelliousness. We have noted an increased rate of tantrums and anger episodes (ok, this was low beyond expectation before, but it is noticeably increasing). Part of this may be due to socialization as he picks up behaviors in his classmates and older kids in school. Part of this may be a dichotomy between school (where he seems to be viewed as exceedingly competent and capable, given that he is in Kindergarten) and home (where we always have expectations one (or many) steps above where he is now).  Some of the old tactics, such as presenting him with options for him to choose, don't work as well now (now he points out that he does not like any of the options!)
Reading a book to grandma
Talking with Khun Ya (grandma)(
In other news, A (2yrs) has been steadily increasing her command of language. She uses it to identify things everywhere (to the great amusement of spectators), negotiate agreements (perplexing parents), state her will and defiance (which exasperates parents and grandparents).

Naptime on vacation
Their version of taking a nap on vacation

Sunday, May 15, 2016

Ronin Games by Harmon: Book review

Ronin Games (Wearing the Cape #5)Ronin Games by Marion G. Harmon
My rating: 4 of 5 stars

This is a superhero story about Americans in Japan. In this case, the POV is Hope, an American teenager who has been given responsibility beyond her years, and she ends up having to go to Japan to figure out how to stop a potentially very dangerous person, who happens to have diplomatic immunity and there are several levels of deniability that need to be established.

This can be read as a set of four stories: first is straight up superhero story (which has a spy story as a prologue). Second is a ghost story. Third is a horror/magic/superhero/martial arts story. Last is a superhero/kaiju(monster) story. (I read this once myself, then a second time with my 5 yr old son, so I actually skipped the horror story part for him)

Things I liked:
1. Characters where rounded out. Everyone has a different set of motivations based on their different backgrounds. While much is made of the cultural concept of duty in Japan, it leads each person in a different direction in subtle ways that drive the story. If anything, the Japanese characters are guilty of stereotype here when some of them don't recognize that within the culture there are many ways that duty can play out. This discussion of what is duty shows up repeatedly.
2. The hero is NOT the one with all of the answers. Something I like about the entire series. Hope, the hero of the story, is at times being carried along by her teammates and friends. And sometimes said teammates are consciously trying to help her without telling her (and they had good reason). In this case, the teammates are not token, they are legitimate heroes in their own right, with their own characterizations, motivations, strengths and weaknesses. And a big part of the series is that to be the best they can be, they have to work in combination.
3. I start loosing my suspension of disbelief when the story consequences start rising out of control. They suddenly find themselves in a position where the fate of nations ride in the background of decisions and becoming myth.

View all my reviews

Saturday, April 30, 2016

Parenting Month 66: Compare and contrast

Taking a walk on the trail together
Walking together on a trail


The little one is about to turn two. While children, much like runners, are experiments of one, it is somewhat inevitable to compare two children. In the discussion of nature vs. nurture, it is tempting to wonder what the differences are due to nature, under the assumption that since the parents are the same, the nurture part of the equation should be the same. 

This is in some ways a very unfair comparison. The older one was a nearly ideal (to parents) toddler. We joked that he was practically an advertisement for having kids (as two people who were not given to sentimentality about children). And frankly, when we take the two kids out in public, they still give the appearance of being ideal children (being alert and engaged in the public, but under control and well mannered. Following the middle path avoiding both being stone faced zombies and out of control monsters.) 

Some notes and obvious comparisons as the youngest finishes her second year of life:

  1.  She is very verbal.  At this point, T was not talking much, and certainly not too strangers.  A also is reserved in her attention, but is otherwise well engaged in the world in the presence of others. She is certainly braver; curiosity leads her to exploring her world, touching things, petting dogs.  And she is much more expressive. The expressiveness has a cost to the caregivers.  She can express her will and desires and be defiant in english and chinese.  She has also shown signs of understanding both english and chinese grammar (she can construct grammatically and contextually correct sentences in combinations that are new to her.)
  2. Songs. The knows quite a number of songs, both english and chinese.  Similarly to many toddlers, most of these songs she learned off of YouTube and such (nursery rhymes, Sesame Street). Also conventionally, she knows the ends of words and phrases before she learns the beginnings (because of rhyming).
  3. Reading.  She knows her letters and numbers. But, unlike T, she has not gotten to the point where she can recite entire books. She can point to and identify things within the book. But does not have the same desire that T did (at this point, T had several board books memorized and could improvise following the pattern of a few of them)
  4. Expressive.  Like other toddlers, she dances, expresses happiness, and unhappiness. She can also engage in toddler speak for extended periods of time. This follows naturally from the period where she was babbling for extended periods of time. To her it is probably the same, but to us, we can understand what it is she is saying. She also gets the language correct. (Chinese exclusively for grandparents, mostly english for daddy, switches back and forth for mommy and gege.)
  5. Focus. Well, A has a typical toddler focus, meaning her current mood lasts about 15 minutes. This shows in many places. The more conventional view towards books (she does not mind being read to, but does not enjoy nearly to the same extent T did), nothing keeps her attention for very long, 
  6. Daring.  A is more confident in doing pretty much anything. So she does the standard toddler activities such as scribbling (which is a precursor to drawing), climbing and jumping off of any surface she can access, playing with toys and blocks (much faster than T was). She is also more willing to work her will in crowds, claiming and defending her space in play areas, not afraid to be part of the rough and tumble of toddler play.
A is a different child than what T was. And our parenting is different. The most obvious differences day to day are focus (T) vs will (A).   One thing different that was not as intentional was weekly outings. By this point, daddy was regularly taking T out to museums, parks, etc. on Saturday mornings. While A sometimes joins in, even now, it is mostly only two of us. While T appreciated it more at this age (because he could focus on one thing at a time), when A does come, she enjoys it (although more of generally being out of the house than anything else)

Some notes on T this month.
  1. He gets many complements on being well mannered. Both when we are out and about (e.g. restaurants and museums) and in more standard settings. (his teacher commented about how he said thank you for helping him clean when he spilled his lunch tray on the floor, instead of taking it for granted. He also says please and thank you to waitresses, opens and holds doors for others (this is very cute, because he barely has the mass to be able to do this)
  2. He is continuing to make shy kids comfortable. We have gotten reports from other kids parents at taekwondo, saying their shy kids like being paired up with T. 
  3. An extension of 2, this month T started getting notes from a girl in his class, who is one of the quiet ones. 
  4. Still working on freezing in public. We have had occurrences of freezing when it is time to play piano in a group. On the other hand, he participated in a taekwondo tournament with no problem.  This is still a work in progress.
  5. T is getting more rebellious, but at this point a big part of it is trying on roles.  He copies his little sister (ironic) in being defiant (trying to get attention?). He also picks up on things at school, videos, we also caught him trying out lines that originated from the school play.

Saturday, April 16, 2016

Simple 2x4 step stool

It has been a while since I posted a project.  And reality is that the winter months are not conducive to woodworking when your shop is either the backyard, driveway, or garage.  And work and life have a way of getting in the way. (ok, and some of my hobby time has been taken by a new hobby, I remember telling someone a year ago that I did not have any room for one of those.)  So, here is one of the easiest things in the world, a step stool made from 2x4.


Diagram of 2x4 step stool
2x4 step stool diagram

What brought this on is that a step stool made by my father-in-law collapsed while we were dealing with a tantrum.  While the shock of the collapse did end the tantrum, we now did not have a step stool for the kids in the upstairs bathroom (which is needed so they can use the sink on their own).  And, to be honest, I had a few purchases over the past few months that needed a workout.

I used a design described in the blog MoreLikeHome.Net that built a stool from a single 2x4 (I think that I've seen this design in response to a contest of what can you make from a single 8' 2x4).  So, went to our favorite Home Depot to get a 2x4 while my son was at a birthday party not too far away.

Speed square and circular saw
A 2x4 full of potential. Yes, the iPad stand is made from LEGO. My folding workbench was project I made just before my daughter was born.

First step, cutting down the 2x4. I had the Home Depot do one cut at 37" (which represents 3 12" steps with a little more to account for the kerf. This also made two pieces small enough to transport in my car.)  Further cuts were made with a 4 1/4" circular saw and a speed square. (A framing square was large enough to measure the cuts and a utility knife was used to mark the wood. Wood was supported by bench cookies, which meant that I did not need clamps for cutting.)

2x4s cut into pieces for step stool
2x4 pieces cut by compact circular saw

Next was sanding all the pieces down.  I have a Ridgid Jobmax multi-tool, and over the winter I bought the Fein Multimaster 4" sanding disc attachment. It is a lot larger than the detail sanding pad that usually comes with an oscillating multi-tool and delays the need for a palm sander. (and doing this by hand takes way too long :-)  )  I sanded everything down using 60 grit paper, with the plan to leave the final sanding for after the project was complete.

Next was assembly.  I used the Kreg pocket hole system (another winter purchase) and 2 1/2" pocket screws (because I was working with 2x dimensional lumber. Note to self: Kreg was delivered with 1 1/2" screws that are meant for 3/4" boards) I used my Quick Grip clamps on the flat part of the Kreg R3 (jr).  My first time using pocket holes. I am a believer.


Using Kreg Pocket Hole system
Kreg R3 Jig with Irwin Quick Grip clamp

Next step: assembling the step stool. I used a corded Jobmax with the right angle drill head to drive in the pocket hole screws. One issue with the right angle head compared to standard pistol grips is that it is harder to control the torque, so my first leg did not go on straight.  Instead of taking the whole thing apart, after I assembled the legs, I put a wood blade on the multi-tool and cut off any overhang and cut down the back stretcher to size.

Finally, I put in fillers into the pocket holes and sanded the whole thing down with the new sanding disc.  I actually did this right and worked my way through three grades of sanding pads. This does make a difference, as the stool is noticeably smoother to the touch than my previous projects using dimensional lumber.


Sanding 2x4 step stool using multi-tool with sanding disc
Fein 4" sanding disc attached to Ridgid Jobmax multitool

A nice quick project. I did not stain it yet (waiting for the weather to warm up). But now that it is in use, I'm thinking about if I will stain it at all.  Certainly the kids like it (it is a lot more stable than what was there before.)

Using the new stepstool
2x4 step stool in action

Some notes:

  1. Tools used
    1. Rockwell 4 1/2" Compact Circular Saw
    2. Ridgid Jobmax Corded Multi-tool
      1. Right angle drill head
      2. Fein Sanding Disc attachment
    3. Kreg Jig Jr (R3)
    4. Framing square
    5. Speed square
    6. Bench cookies
    7. CRKT SpareTool (for marking wood)
  2. My  Folding worktable is getting a good workout. Maybe not as good a a full sized workbench, but much better than any purchased metal and plastic table would be.
  3. The advantage of having the multitool with wood saw blades, I can cut away any evidence of mistakes.
  4. Pocket hole fillers cannot be cut using a multitool saw. Either I sand it or cut it before it is in place. Maybe if I glue in the fillers and wait for the glue to set, it may be amenable to a saw.
  5. I like pocket holes. Much nicer to not have screws showing on outside surfaces.
  6. Mommy noted that the first step is not that deep (made from a single 2x4). But since it is only used to get to the second step, it is probably ok.
  7. Circular saws are a lot faster and more precise than jig saws at going through 2x4. I think a lot of my older projects would have been faster with it. I suppose that the jigsaw was useful as a first power saw with out of nervousness, but I would tell any beginner to start with a compact circular saw that can cut through a 2x4.

Monday, March 28, 2016

Parenting month 65: kindness and confidence

We have always been concerned about T being too shy and quiet in public. Getting into kindergarten was a near thing, not because of his abilities or behavior (preschool staff could testify that was not a problem), but the fact that he had to be able to perform in front of strangers at some point in any assessment. In the end the kindergarten assessment was helped by the fact that the school took a very sane approach to how the assessment was done (observation over a period long enough for him to get comfortable with the setting, and long term assessments by the preschool carried weight), and the fact that he was changing himself (right around the same time preschool staff happily noted he went from a very quiet kid to someone who occasionally had to be told to be quiet.)  But the next step is how he would act as he got exposed to a larger world.

One advantage of not having many scheduled activities for my son is that I get a lot of time with him as he has been growing up. So we get to interact with many people and things. And he loves it. I think even from the beginning all of these outings have been mini-adventures and he got to practice being brave, even though he knew he was not.  As he has gotten older we've been giving him more space to interact with others (and his little sister).

I got your hat!
This is my hat
This month was marked with play dates, a trip to Chicago, and some other events in new spaces. Some anecdotes:

1.  Playing with a couple of older and more rambunctious boys. At one point T told them that they needed to play gentler around his younger sister and be more provident (that is a word that they use at his Catholic school). That got a "what does that mean" type of reaction as they went on their way. We were surprised that he could be so confrontational.

Look, there is a catfish hiding in that log
Can you see the catfish in there?
2. Chicago. We went for my father's 100 day remembrance. There were a couple of times where we stationed him in front of a door to greet people. And he did (in a place where he knew almost noone, and certainly not any of the aunties and uncles who wanted to talk to him). Curtesy is turning into his way of dealing with the big unknown world. And there are worse ways to react.

Helping a friend put on her wristband
Here is how to put on a wristband
3.  At a church event where we were invited by a chinese family who did not know what was going on, he  taught the kids the games and cheered when they won. Later at the Easter egg hunt, once he got his limit, he went around the field helping the younger kids find Easter eggs.

4.  Taekwondo. One of the moms commented that her daughter liked it when T was at class, because her daughter is also one of the smaller ones and T is closer to her size, and because T is controlled enough that he does not threaten to run her over during sparring.

Like a lot of asian american upper middle class suburban parents, we are somewhat ambitious about where we think our kids will be academically (*pause as people who know us, especially my wife, finish laughing*)  But as we learn what some of the practices in our area are like, we also want our children to be sane. When we watch T and how he has grown, we often jokingly ask "can we keep him?", because we realize that while he is still a kid, he behaves much better than we can reasonably expect kids of his age to behave. While in no way we are going to cut back on our quest to keep him academically challenged, we are very thankful that he is turning out kind.