Sunday, July 27, 2014

Parenting Month 45: Visitors and limits

Cousins working together on a Blue construct
Cousins playing at the Carnegie Science Center Blue exhibit

This month was marked by my family visiting.  My parents came for a month, and my sisters and nephew came for a week.

The highlight, of course, was grandparents spending time with a new grandchild.  The other highlight was the cousins recurring time with each other. As T and J get older, their interaction becomes richer as both grow in their abilities to deal with other people.

Grandma and grandson at the Carnegie Museum of Natural History

AY has been notable in her responsiveness. As she is the second, we cannot help making comparisons to the only baseline we know. At this time, T was in the midst of colic. In comparison, AY is very responsive, trying out a range of facial expressions when we are talking to her, and vocalizing in call and response fashion. We are also entertained by her kicking and reaching out to things.

Baby looking out from lamb blanket
Hi!
T is still the very good big brother. He likes to tell everyone that AY talks, sleeps, poops, and cries. He also still read and talk to his little sister, and helps with bath and diaper changing time.  However, the novelty is wearing off, and he is not always as excited to help out as he was.

We have noticed that while T is more outgoing and social (talks and plays at pre-school, tells short stories at home), he is regressing in other areas. We have noted that he used to have a relatively long attention span, focusing on one activity longer than others his age before switching. But it has gotten shorter. This is observable when reading books or when making things (Lego or woodworking).  Another not so good trend is that he is becoming more self-conscious of his limitations. Things that he used to try (and do fairly well) are now approached with a statement of "I can't do it".  While he is still a very well behaved and happy child, we do see some of the not so welcome traits that are probably quite prevalent in preschoolers, some that we are hoping that he skips the worst of. Part of this may come with paying attention more to others his age, and taking on their habits, playing, and capabilities. Some of these are fairly innocuous, like growing a liking for superheroes (and yes, there is one kid in his class that bears most of the responsibility for teaching everyone about superheroes) and the fact that he picks up pop culture (everyone knows Frozen, but Star Wars, TMNT, and others are common. I consider it part of my duty to try to get a step ahead of what he learns from his classmates :-) )  But he has also picked up increased instances of the use of the word 'no' and occasionally trying out tantrums to try to get his way. At this point, we are still pretty successful at working our way around 'no' through humor, and we're trying to teach him that tantrums don't work nearly as well as other things (like reminding him of some of the things we can do with him because we are not worried about tantrums at all)


Hi, I love mei-mei
Siblings!

One more month of summer, then both academic parents go back into a full work schedule, but for now, we are thankful that a relatively relaxed summer lets us have this level of interaction with our kids.

Monday, July 21, 2014

Java Cookbook by Ian Darwin: Book review

Java CookbookJava Cookbook by Ian F. Darwin
My rating: 4 of 5 stars

What you want from a programming language cookbook is instruction on the basic tasks that are needed to form the scaffolding that you build around your application. Language teaching and references can teach you syntax and good practices. Topical books can demonstrate how to tasks in the large. But the cookbook is for the small but necessary tasks. And for me, who does not spend much time in the JavaVM ecosystem, the Java Cookbook is a very welcome addition to my bookshelf.

I spend most of my time doing scientific programming in Python and R, but I am starting to return to the JVM because of the need to deploy what I develop. But while other languages like Jython, Groovy, Scala, and Clojure exist on the JVM, to use them well means you need grounding in Java, certainly most of the instructional material assumes more than passing understanding of the JVM and the Java standard library.

I've been building a prototype application using Java as my means of re-learning Java. Where this cookbook has helped me already is in understanding better how to configure projects, more effective use of the Java data structures and I/O, and some utilities. While I know what I need to do through my experiences in other languages, and Java tutorials and references can identify the libraries and functions that I need, the Java Cookbook provides well written examples that I can use to guide me through the JVM.

There are some warts. This book (like most JVM books) seems to be written with the understanding that the readers are web programmers and I think that the discussion of the options available are filtered with that in mind. But this is a very good reference for those times when you know what you need to do, and it is not the type of thing that gets put into a tutorial.

Disclaimer: I received a free electronic copy of this book through the OReilly Blogger program

View all my Goodreads reviews

I review for the O'Reilly Reader Review Program

Thursday, July 10, 2014

Me and My Big Mouse by Ethan Long: Book Review

Me and My Big MouseMe and My Big Mouse by Ethan Long
My rating: 3 of 5 stars

This is a fun book about a boy who has a pet mouse who he has to take everywhere, but the pet mouse is often very annoying. It is notable in that it has a message, that even something we find endearing can be very annoying. My three-year old son has caught onto the idea that something you like can also do something bad (make messes, break things) and be annoying. He does not quite catch on to the idea that this can be an analogy to a younger sibling (has a newborn sister), so he may be a bit young for this.

The discrepancy between word and picture may be hard to understand at this point, as irony is not yet part of his mental makeup. The pictures are cute, and get the point across of so this book is one that he occasionally asks for. And maybe as he gets older, we can reference it when he does reach the point he regards his little sister as annoying. :-)

View all my reviews

High Performance Python By Micha Gorelick, Ian Ozsvald: Book review


For someone like me who is a technical programmer but did not study CS, I've seen hints on how to speed up Python numerical code, but I only had a vague understanding of the principles and application.  This Early Release version of High Performance Python has examples that demonstrate why certain data structures are faster than others in particular situations, and how to use the various data structures provided.

But what may be unique is the chapter on the ways of speeding up Python through compiled code. There are many ways of using compiled code through Python, C and FORTRAN extensions, Cython and PyPy, and more recently Numba. But this book explains the strengths and limitations for each, along with a number of other ways of using compiled code along with Python that I had not heard of before. There are many references for each of these, but no general overview of this group of resources.

This is still an Early Release stage, so there are some warts. Many of the code examples are raw, and you have to know what you are doing to fill them in and get them to work. A website or Git repository with the source code examples would be very helpful.

Disclaimer: I received a free electronic copy of the Early Release edition of this book as part of the O'Reilly Press Blogger Program.

I review for the O'Reilly Reader Review Program

Sunday, June 29, 2014

Parenting month 44: 2 adults and 2 kids

Two parents and two carriers
There are four of us

This month was notable for a slightly uncoordinated grandparent shift change, so there was a two week period where no grandparents were around, and we became the classic two parents, two kids nuclear family.  And we were in the midst of a traditional one-month confinement, so we had to figure out how to do things and keep the three year old from tearing up the house (as active three year olds who stay indoors will do naturally).  One week of full time day care helped, and T joined daddy on a few father-son outings.  One of those outings was participating in a Red Cross shelter operations training exercise, where he got lots of praise for being a very well behaved three year old; including following daddy from station to station, listening to instructions, role playing a three year old shelter resident, generally entertaining himself during most of the practicums, and taking an active role in the shelter setup station.

T is generally a well behaved three year old. Preschool reports he follows instructions, and now he plays and talks with the other kids and the staff.  His name also is showing up as part of the estimation game (the teachers show the kids in the jar, and some of the kids call out their guesses as to how many things there are which the teachers record, I think between 1/3~1/2 of the kids make guesses).  And of course, he likes going on outings with parents, but he tends to freeze when interacting with others in public. We think that it is a feeling of security issue, if he is secure with us, he will interact, but in different or more exposed environments he gets scared and closes up/freezes.

AY is in her second month. Given that we only have one other child to compare her to, we think that she is quite active.  Her eyes seem to track, arms and legs are being experimented with, and arms seem to go in the same general direction as the eyes. And she has a range of facial expressions. T likes to announce when AY smiles at him.  She has also figured out that when she is in a rocker/bounce seat, kicking makes the whole thing rock. She has the same expression on her face when taking a bath, if she kicks hard enough, the water splashes out of the tub (and usually onto whoever is giving her the bath). Her first experiences of being able to manipulate her environment :-)


Recent research says you should read to newborns.
Recently published research says we should read to newborns.
The other thing with reaching a second month is that there is now a difference between the normal discomfort of being out in the world and specific discomfort.  So AY now has a proper infant cry when she is hungry (which is different than a dirty diaper or sleepy), and she has a very good pair of lungs, just like her brother (proper as a progeny of parents who have run marathons).  And like her older brother, we have noticed the coming of rashes. But this time we know it is diet so the next phase is to see if we can do better than the first one in limiting the suffering (all around).

Next months big thing, the whole family is here!

Saturday, June 21, 2014

First try at gardening: seedlings

Planting parsley and oregano
Adding soil for seeds

This was my first time trying to garden.  The real motivation for doing this was to give my son something to watch grow over the summer. Which means we start in winter/spring. Since I did not care too much about how successful this was, we started from seeds.

First sprout of a marigold
First seedlings
Lesson 1: Using egg shells really does not gives seeds much room to start.

I started seeds in egg shells.  First mistake was not filling them to the top with soil.  In hindsight, the soil in the egg shells gives the seeds room for roots and also protects the seeds from shock.  About 2-3 weeks into it, just as the first seeds started germinating, they got moved outside to be shocked in preparation for transplant, which pretty much killed my entire first batch of seeds :-(

When I finally got some ready for transplant, the problem was that the roots did not have much room to grow in the shell, so I was essentially transplanting a bare plant and roots.  So I probably lost a pretty large portion of these.  One thing that worked better was transplant into a small container that had a few inches of depth, then plant them.  One other thing I would do next time is to put 2-3 seeds per shell, under the understanding that 1 will survive the transplant process.  More than that gets crowded.

Lesson 2: if using egg cartons (or anything else that gets transplanted into the new container, punch holes in the bottom and sides to give water and roots room to a way to get out of the container.

When things got transplanted to small containers (mason jars or something else) they started to grow fast. In particular, the mason jars that I transplanted into (usually 3 egg shells each) quickly got overcrowded, and I ended up pulling out about half of them to transplant outside.

The main destination for these various herbs (basil, parsley, oregano, rosemary and marigolds for variety) was to go in a container garden in the backyard. My containers were built around a tomato, some pepper, and a strawberry plant. Each got an assortment of seedlings that were grown from eggshells.  So at this point, they are all established.  The ones with the tomato are suffering because the tomato is growing very well (and sucking up water and light).  I probably have the pepper container a little crowded (I've been pulling oregano out to make more room.)  And there are a few things that I've been planting in our unused front, just to see how they survive.  And there are a few herbs that we are growing inside, just so they are easier to look at (and we are starting to harvest from these)



Tomato and peppers in containers.  Peppers are newly staked using bamboo.
Tomato and pepper containers

Tuesday, June 03, 2014

Parenting month 43: And now there are two

Are you my brother?
Are you my brother? Are you my sister?
The big new development of the month was the arrival of a sibling. As the ge-ge (big brother), T has been a very good helper. Enthusiastically getting diaper and breastfeeding supplies and disposing of the results as needed. Reading books to mei-mei (little sister), taking pictures, even playing the violin.

Of course there are other developments over the past month. T has gotten much more verbal and social at pre-school and at home. Part of this is normal development (it was going to happen eventually as he got more comfortable), and part of this is having to compete for attention at home. You can hear and feel it when T is in the house. Being more verbal has lead to a marked improvement in his assessment at preschool. It may not be as much as he is more capable (well, he is somewhat), but he know can let the staff know that he knows things like his numbers, letters, and can express them. In addition, he interacts more with the other preschoolers. When I go pick him up he is playing dolls or dress up or building things with the others. And, of course, there are still things to build and measure around the house.

Measuring the finished folding workbench
Measuring the work table

AY is settling into her new home.  She is doing the traditional newborn responsibilities of eat, poop, sleep, and cry ably.  She also has her time of quiet wakefulness, noted by continuous motion of arms and legs when she is awake and content.  Other than the standard newborn issues of thrush and reflux, all is well.

Grandma meets granddaughter
Grandma meets granddaughter

Next thing up is a grandparent shift change.  Mom is taking the traditional one month of confinement, but lau-lau and yeh-yeh have returned to China for a brief period.  Khun Bu and Khun Yaa are on their way, but it will be a couple of weeks without them, so we will be the two parent - two child household for a while.  Good thing that both academics are on a lighter schedule for the summer.

Monday, May 26, 2014

Kids Are Icebound by ‘Frozen’ Fervor - New York Times

Kids Are Icebound by ‘Frozen’ Fervor Disney’s Animated Film ‘Frozen’ Has Some Children Obsessed By JOANNA COHENMAY 16, 2014


Like a very large portion of the population with children of preschool age, we were caught up in the Frozen craze.  The movie came and went without much notice, but by the time that the singalong version came out in the theater, T's entire daycare was singing it.  He had even started to learn the words to 'Let it Go', and we felt compelled to find the video so he could at least learn it properly. We saw multiple videos of it, T somehow finds everything about Frozen, even a video series of styling hair according to  the main characters.  And we put it in our Netflix queue so that when it came out we got it and watched it a few times.  But with all that saturation, I still think it is a very good movie.

1.  The Let It Go video is a great level up sequence. In addition to the song being an anthem to independence, the music video is a great sequence of a character growing in capability. The character of Elsa is shown creating ice and snow figures in increasing complexity as the song progresses, which is how people learn skills in real life.

2.  The characterization is meant for good role playing. I found myself thinking of the characters as Fate core, Fate Acceleated, or Risus characters, with strengths, weaknesses, troubles, character traits that get compelled and applied in many ways.  And the way the characters act is basically a superhero team-up story line, with the main characters learning how to work together as they go.

3. The characters have strengths, weaknesses, and character traits that help and hinder them (a plainer way of stating 2).  The things that makes each character strong and compelling are also the things that gets them into trouble. No Mary Sue or damsel in distress characters. Even the bad guys have strong characterizations (which is why it is hard to recognize the bad guy)

4. Even the ditzy one has strength of character, to include strength in the physical world, not just amorphous inner strength.

5. A female lead has as part of her characterization "likes math" (specifically geometry).  Math, physics and chemistry matter in this world.

6.  Relationships are not just about romance. The tendency of people to think that relationships are only about romanced is addressed by the problems it causes and the fact that the key plot point is that the characters make this assumption and forget that the prophecy could be referring to other types of love.

Now, we still think that other sources of songs such as Sound of Music and Les Misarables are more welcome than Frozen, but for a film that is a source of influence, Frozen is not all that bad.  And, to answer the question in The Motherlode (NYTimes) article on the subject (Parents respond to the 'Frozen' frenzy), we are of the opinion that the Idina Menzel version of 'Let It Go' over the Demi Lovato version.

Monday, May 19, 2014

A week of siblings: Parenting

Holding little sister

As a mid-month update, our big parenting news is that instead of having an experiment of one, we have an experiment of a pair. We have of course been using books to get T used to the idea that mei-mei (little sister) was coming, and reading books with him about being a big brother, and letting him feel mei-mei in mommy's belly, and helping in the preparations for mei-mei's arrival.
I have to set up the sleeper I made for mei-mei

But with all of this we have always wondered if he really understood it (other than those times where he clearly figured out that having a little sister would mean that there is less for him). Well, now she is here. At this point it is a lot of excitement to have something new and small in the house. One of the most vivid memory he has of mei-mei first night back was of her pooping (for the first couple days, newborn poop is black meconium, and she was pooping during a diaper change so he got to see it.)
 Reading a bedtime story for baby sister

There is definitely an element of excitement. And there are things he can do, like read books for mei-mei. And he likes to take pictures of mei-mei.

Photo shoot in progress

And pictures with his new little sister.
We're having a photo shoot of my baby sister

A recital for baby sister

He has figured out that he now has competition for that scarce resource called mother's time. So we notice that the house is a little louder now with him talking very loudly, making sure he has people's attention. We have him sleeping with daddy every night now (he has never been a good sleeper) and there were a couple nights where he wanted to go with mommy, but that has ended (with the realization that it is very easy to bargain daddy up to five books at bed time instead of only two or three) But, at the one week point, big brother views little sister as a little doll that sometimes makes a bit of noise, and he remains very happy, if very talkative and loud. But mei-mei does not seem to mind either. So far so good.

I love my baby sister

Sunday, May 18, 2014

The Human: War of the Seasons Book #1 by Janine Spendlove

The Human (War of the Seasons, #1)The Human by Janine K. Spendlove
My rating: 4 of 5 stars

The Human is about a 17 year old named Story, who has lost her family and has been spending some time driving away her friends. While spelunking with her remaining friend she goes through a portal and comes out into a world where the once immortal race of elves is slowly dying away and as a human she holds the key to ending their curse.

The story aside, the book is about a lonely and somewhat socio-phobic young adult thrust into a fantastic setting. And while physically competent as a young adult (she is a spelunker, and good with a knife and bow), the people she meets in this new world are wise to the ways of the world, cunning and remorseless. And her wits are not helpful and her people skills are not much better in this setting. So The Human is her learning how to deal with others instead of being the outcast teenager she was. She learns (mostly by mistakes) about reading people, of considering the motivations of others, of having trust betrayed, and trust rewarded. She has relationships that are purely manipulative, some that are genuine care, some that are sacrificial, and even one that is without any agenda. And as she goes from an isolated teenager into a young adult with a range of relationships, her view of the world and her place in it grows.

There is a romance in the book with the female protagonist. But I appreciate the fact that she had a chance to become competent as a person (both in skills and how she related towards others) and other aspects of her growth were more important than the relationship for most of the book. And that this growth is what made her attractive to the other person in the end.

This was an engrossing story. I liked following the main character's growth as a person, and how it fits in with the overall story. I'm looking forward to the other books in this series.

View all my reviews

Friday, May 16, 2014

Notes from teaching data science for the first time

Drew Conway Data Science Venn Diagam
I spent this past semester teaching a course in data science. While there has been a data mining course taught in the department, it is offered irregularly and had a different focus.  The premise for the course I taught was that data science was the intersection of data hacking, mathematical and statistical methods, and domain knowledge (with props to Drew Conway). The students I had generally had little to no programming experience (or meaningless background). All have had a first course in statistics.

I used two texts. First was Stanton Introduction to Data Science, which is used in the Syracuse Data Science certificate program.  Second was Introduction to Data Mining with R by Luis Turgo.  All of the students were also told to go through Introduction to R prior to the beginning of the course (or as early as possible).

The class started off going through Introduction to Data Science, which included a few introductory chapters to data analysis, and introduction to R and the R Studio IDE.  Then were chapters on some basic methods at the basic level such as text processing, review of regression.  Then additional methods such as association rules and support vector machines.  We then switched to Data Mining with R which were a series of case studies.  Each case study had some form of data munging (manipulation) required, with the first one having an involved demonstration of how to handle missing values, either determining the correct value or removing as appropriate.  Each case also had a lengthy discussion of the methodologies used, with what each is being used for and a basic understanding of how it worked and its implementation using libraries in use with R (there is a book package, but it has mostly data sets and some functions to assist in data manipulation and visualization.

The assignments were built around individual projects. Their were three presentations, exploratory data analysis, preliminary data analysis, then final. The first two they could work together, but the final one had to be solo as they needed to have individual topics (even if they used the same data sets). The intent was that these assignments would build towards a final goal (but they had flexibility to bail if they wanted to mid-semester.

Probably 1/4 of the students found projects off of Kaggle, which is useful because it has a nice complex data set and comes with a legitimate question.  Another 1/4 of the students used public health as a motivating area (University of Pittsburgh is home to Project Tycho, which is a rich dataset of infectious disease in the U.S., also, there is a joint program with the Department of Industrial Engineering and the School of Public Health).

Some problems that came up. First, I discovered that many of the students had an operating assumption that all data was normally distributed, and they constantly made claims that their data was normal. Even when the data was noticeably skewed.  This was embarrassing when they would make statistical tests, and the test graphic would include the corresponding normal approximation which was nowhere near the data. I eventually figured out that for many of them, when they took statistics they were constantly fitting normal distributions in their homework data sets, so I explained that their textbook problems were written so that their would be a normal distribution to find.

Another problem was the lack of a hypothesis.  Many students started to pick problems that could be solved through linear regression and declared that because it met a p-value criteria they were done. (and in some cases, I recognized the data set as being a teaching data set). But even though they could fit a regression, there was no theory on why the data related in a given way. Essentially, they were pushing data through an algorithm without any subject understanding.  Most (not all) of them got the ideas by the end of the second presentation.

A third difficulty was skipping the model evaluation.  Most of the methods covered have some parameter that was the analysts choice, so they should have explained how they chose the value of that parameter.  Generally, this should have been a discussion of making the tradeoff between closely approximating the observed data and overfitting.  Some students skipped this completely (essentially, this is what would happen if you fed data to an algorithm then reported the result using all default values)

One big observation I had by the first presentation was being able to identify the level of programming ability by the choice of projects.  I strongly suspect that a number of students were minimizing the programming required.  But that became reflected in the level of ambition of the projects.  Non-programmers tended to choose simplistic data sets with little variety.  I think the difference is the workload.  People who could program were able to slice the data available on a multitude of dimensions without regard to scale, since the computer would do all the repetitious work, while those who could not program generally were reluctant to have large sample populations or multiple data sets on the same population.

Things for next time.  First, impress on them the need to learn to program.  Essentially, the projects from those who could program were so much richer than those who could not (even at a low level of programming skill) that I was embarrassed for those who could not program.  Second, I should push harder on the need to have a hypothesis that was driven by domain understanding of the problem. This should be pushed harder from the very beginning to discourage people from merely pushing data through statistical methods and reporting results.

For teaching data mining, I think that the organization of the course needs more methods focus. The principle text was case driven, but that meant that methods were being introduced in a fairly arbitrary sequence.  I ended up doing a methodology focused review over the last few weeks. What I should do next times is after the introductory section (Stanton Introduction to Data Science), have the next several lectures be a tour of the classes of data mining methods (regression, classification, clustering, feature selection), then do the case studies.  One resource I found useful in this are articles from the Journal of Statistical Software, many of which are focused on R packages that implement classes of methods.

This was a very good course. I wished that the students did more participation (by the final presentation, there were some points that were given based on shear quantity of comments, which several students took advantage of). Some of the projects were much more ambitious than any other done in the MS program. And I have a lot stronger argument about the need for the graduate students to know scientific programming as a skill set.

Sunday, May 11, 2014

Data Mining with R by Luis Togo: Book review

Data Mining With R: Learning By Case StudiesData Mining With R: Learning By Case Studies by Luís Torgo
My rating: 3 of 5 stars

Data Mining With R (DMwR) promotes itself as a book hat introduces readers to R as a tool for data mining. It teaches this through a set of five case studies, where each starts with data munging/manipulation, then introduces several data mining methods to apply to the problem, and a section on model evaluation and selection. It fills a place in the literature since it devotes a lot of space for data manipulation before applying the various methods and model evaluation afterwards. But it is hard for people learning data mining since it spreads the types of model throughout the book.

I used this as one of two texts to teach data science to people whose programming and data analysis skills were generally at a very low level. The big advantage of using a programming environment such as R for data mining is the fact that you can do data manipulation in the language, then apply the methods. Many of my students have taken machine learning elsewhere, but they always used prepared data sets, so this emphasis on data manipulation with several very disparate data sets is a unique feature.

The second big advantage of this book is the focus on model selection. For each chapter, the book goes through the exercise of determining which model should be used, and how to diagnose the model to determine which one is appropriate and best for the problem. I especially appreciate the fact that in some cases, the conclusion of the book after model evaluation is that the method did not work for the problem and question at hand. Because most textbooks focus on demonstrating that you did find something, in some cases my students get confused when in real problems they did not find an effect.

Where the book is lacking is the fact that the methods are scattered across the case studies with minimal organization. While this is a result of the realities of the cases, the book would have benefited from a roadmap chapter or introduction that gave methodological context (i.e. what methodologies are used in the book and where they are). This lack made it very difficult to use as a textbook, and by the time I was done using it I was essentially building the roadmap to use the book. This makes it not useful as a standalone textbook for such a course, but very good if there is another text that gives the overview of the methodologies.

View all my reviews

Thursday, May 08, 2014

Making a folding worktable

First project of the summer was a folding worktable. The workbench I made last year is nice, but it is currently in use as a table sitting in the landing. In principle, it can be moved to the garage or the back patio as needed. In practice, it is hard to see that happening without a major cleanup effort. So I wanted a larger worktable that was still portable. The Black & Decker Workmate is too light for the task, and the sawbench I have is too small and low (but it is good for variety, and I still will need somewhere to sit)

I am using the worktable design that is described in a series of YouTube videos by "LJ Magnum" (video is at bottom of the post). The structure is made up of 2x4's, so it is rugged and stable. The top is a pair 1x10 boards, so the top is fairly tough as well. The folding part is provided by 1" dowels, so it is stronger than it would be if I used hinges.

First the wood. Richard Arendt posted plans based on these videos at http://hiswordinwood.com/plans_and_tutorials. I needed two 8' 2x4's, one 8' 1x10, one 36"x1" dowel, Cut list is at the posted plans.

Next was cutting the legs and supports. 22.5 and 45 degree angles were needed so that the table will be stable when opened. I cut these using a jigsaw. A jigsaw going through 2x4s is pretty rough, so I went back over them with a oscillating multi-tool and a file and sandpaper afterwords. What I really need to do this is a circular saw.

Lumber and boards for a folding workbench
Lumber cut by Home Depot


To drill in holes in the legs and tabletop supports I used a cordless drill and a drill guide. 1" holes through 2x4s was a pretty heavy burden on an 18V cordless drill. I had to use both batteries. If I have to do this again, a corded drill may be useful. It was the first time I used a drill guide, which worked pretty well. One thing I learned is that when drilling a hole, it always makes a mess at the end. So I learned to detect when the tip of the drill bit broke through, then flipped it around and finished it from the other side. I used a chisel to cut away the mess (which was now in the middle instead of the service of the 2x4) and I used a round file to smooth out the hole (and made sure my 1" dowel would go through).

The Wolfcraft Drill Guide
Wolfcraft drill guide and cordless drill

I used the plans to assemble the legs and top supports. A long dowel when across the top with the inner support and the inner pair of legs. On each side, the two legs and the outer leg and outer support were each connected with a short piece of dowel. For each dowel on each side, one piece was screwed in, the other piece was free to rotate around the dowel.

Legs and supports for a folding workbench
Structural components of worktable

Finally, I put the top on. First, for each of the two 1x10 boards, I picked a side to be on top (the one with fewer pits around knots). Then I picked the sides that best fit each other, using a surefile to make the fit a bit better. Then I drove screws to attach them to the supports (and messed up which support went with which top along the way, so I had to redo one side)

Folding workbench folded up
Folded worktable top and front braces

The result is a folding worktable. It is pretty stable due to the mass of the 2x4s that make up the legs and top supports and the use of the 1" dowels as joints, more than a commercial folding worktable with metal legs and bolts for joints would be. And it is fairly large. The fact that it is about standard table height also means that it can be used as a table for other things, like a folding table for eating that is much more stable than the norm.

The finished folding workbench
Completed worktable

Folded up folding workbench
Folded up worktable standing

I'm pretty happy with this one. Folds up nicely so I can put it out of the way, and stronger than most comparable folding tables. And I learned a few things while making it. A successful project.

Monday, May 05, 2014

Agile Data Science by Russell Jurney: Book review

Agile Data Science: Building Data Analytics Applications with HadoopAgile Data Science: Building Data Analytics Applications with Hadoop by Russell Jurney
My rating: 4 of 5 stars

One of the problems with data science is that any description of what is encountered takes on the appearance of a mythical unicorn, noone person could possibly have all of the skills required. And it gets worse when you add to the standard set of statistics, domain knowledge, and programming the ability to deploy the application into a high speed environment. This book is not going to make a data scientist an expert in running a data center, but it is useful to give someone who has the rest of the skills an understanding of the environment their work will be deployed into.

One of the conflicts between the data scientist/analyst and information technology groups is that while the data scientist gives the data owned by the organization its value, IT is charged with storing the data and providing the access. And in a high velocity, high volume environment of big data, not understanding how the architecture works can lead to the data scientist creating valid solutions that cannot be applied in the actual day to day working environment. That is where this book comes in. The book has associated virtual machines in software repository so that the data scientist who does not know anything about infrastructure and the software stack that the data and the analysis rides on can see how everything fits together.

The book title is misleading. This is not a book about data analytics. This is a book for data analysts so they know how their analytical application is deployed and applied to day-to-day use in enterprise environments. For that reason it is useful.

View all my reviews
Disclaimer: I received a free electronic copy of Agile Data Science as part of the Oreilly Press Blogger program.
I review for the O'Reilly Reader Review Program

Friday, May 02, 2014

Parenting Month 42: Gender roles for preschoolers

I need to turn this to get the eye in the project
Making a birdbath at Home Depot
Earlier this month, a girl at church around the same age as T told him that he could not sing songs from Frozen because he is a boy.  Fortunately, his friends at daycare don't care so much about who is singing what.

When T was born, we did not care if T was going to be a boy or girl. When we were given clothes we did not care, figuring a baby can wear lots of pink stuff and not care (we do draw the line at wearing dresses though).  We always figured that kids develop gender roles on their own time, so we did not feel the need to hurry it along. And in the meantime, let him develop a range of interests.

Planting parsley and oregano
But the reason for being deliberate about this is not because of the pre-school years, where things like dresses are merely cute. The issue comes when this is a pattern, when this becomes statements on what someone can and cannot do.  I was talking with an undergraduate whose senior research project I was mentoring about the need to not lose talent because of preconceived notions of what people could do.  Previously I've had those conversations with students about why diversity is important, to increase the pool of talent that can be drawn from (of course, if someone is doing something where there is no problem to find a mindless, unskilled workforce, I can see why diversity is not an issue).

What is the alternative?  When it can become acceptable to viewing entire categories of people as without value and as things unworthy of being considered of worth. When I was in grad school a friend commented that it was of no use to make friends with christian females because they would just get married and end any friendships.  Another friend viewed it as a profound act of disloyalty for believing that his girlfriends life was of value and responding to her calls for help in the backcountry. A pastor declared that a girl I was seeing as well as any other friend of mine were social freaks, while trying to convince me that I was romantically interested in a girl whom I never made it to the point where I could recognizing her name.

The alternative to rejecting gender roles, as presented in this middle-to-upper class American society is to claim that they have nothing to contribute to the wider world.  That there is no need to recognize that a person has views, ideas, thoughts because of her gender.  That there is no value in recognizing a person other than visually, because there is nothing there to learn.

Are there people who want it that way? Certainly. It was certainly promoted by some of my fellow graduate students.  I have heard it in churches, both Chicago and Pittsburgh.  And if there are people who want to be known only as a possession or as something to look at, it is their right.

But that is not the world that I live in. My world is one where the rarity of talent drives its economy. My professional world is one where I've been taught to think about developing talent over years, and things like childrearing are only a small part of that. And it certainly is not useful to think of entire classes of people as freaks or merely eye-candy without individual evaluation.

We had made a choice not to push gender roles before they are needed on our children. It means that they have choices on their interests, hobbies, and careers. And we hope that it means that they will surround themselves with people who they evaluate based on competence and depth of character and insight, not the surface actions of people who do not wish to be anything more than a figure to be viewed from a distance.

Sunday, March 30, 2014

Parenting Month 41: Creativity and play



Part of the Carnegie International 2014 exhibition at the Carnegie Museum of Art (Pittsburgh) was The Playground Project, which focused on using playgrounds as a means for kids to learn free, unorganized play. The contrast is where kids only do organized play or where the play opportunities available are constricting and force the children into a small set of narrow paths. In the U.S. two outcomes that are apparent is the decline in physical fitness and the inability of many to create their own entertainment and remain solely as consumers of entertainment instead of creators.

One dichotomy that I do not think is very useful is to view the choice as between directed activity and leave the child alone.  The first fails because the learner takes no initiative, the second fails because an ignorant learner is not able to know what goals should be targeted, much less how to get there.  And this happens to be known to be true in every creative field, noone learns creativity to any level of skill outside of guided learning. In music, photography, drawing, painting, writing, etc. the art is taught through imitation, understanding how existing works were created, mastery of techniques, then applying those techniques to create something new.

One thing we've started doing is learning to play with LEGO.  The Duplo blocks that are targeted at the 2-4 set are large blocks that are useful as stacking toys, but their size limits greatly the amount of detail possible and the range of possibilities.  My son uses them like dolls, there are a few combinations he uses for certain animals, and he can do things that are based on stacking bricks on top of each other, but this is not creative play (except in the sense that playing with dolls is indeed imaginative). The standard LEGO bricks are the same, left to his own devices he probably would never get past building with LEGO by building up layers.

When I mention that my son is starting to play with LEGO, one question I get is if he is using bricks or sets (with Duplo it is generally plain bricks, with LEGO it is currently sets), followed by a tirade about how they only use bricks and not sets.  The problem is that it is missing the point.  The question should be not how the bricks are purchased, but what do the builders learn how to do. If the only thing a builder learns to do is stack layers of bricks, then that is not learning construction skills.  But if they learn techniques that they can then apply in other places, then they have learned something.

The question on getting sets is not basic bricks versus sets, but what do you learn along the way and how can the pieces that you can get be reused. My wife has noticed that in the sets we have gotten so far, even the specialized pieces get used in very different ways that are almost unrecognisable from each other. Similarly, steps in the instructions that consist of stacking pieces on top of each other he can already follow on his own.  What is not as easy for him are all of the other techniques, the methods used to provide strength, or methods that allow for changing the direction of build, or those that generate the appearance of detail.

That is what the good sets and the good books do.  Provide examples of techniques quite beyond the obvious building up layers of bricks.  So far, we have gotten a long way with not a very large number of sets (because we break them up regularly to get practice rebuilding them, and some sets get modified to allow for different types of play. [e.g. a hospital that has doubled as a school, restaurant and museum at various times])  Next, we do intend to get him a set of basic bricks, but that only works because will be combining it with the remnants of sets that provide a few specialized parts that enable a range of techniques that expand the range of what is possible and imaginable.

Thursday, February 27, 2014

Parenting Month 40: Learning Chinese

This is shui
This month had a bit of excitement.  T had to go in for a minor exploratory surgery. Fortunately, it had the best possible outcome (i.e. did not find what we were afraid of). He actually did very well considering this involved not eating the day before. He was entertained by being with parents and grandparents all week, which for him makes up for any discomforts.

The bigger picture has been language and socialization. We've noticed that among his daycare classmates, those who were verbal in Chinese at 2 all have stopped speaking Chinese somewhere between 3 and 4. We're hoping that does not happen with T!

One thing we have noticed is that T english is getting to be much richer than his Chinese. It is not just home and school, it is books and videos as well.  His english books are more varied and have more constructions allowing for richer speech. And I can imagine that at this age, as they are just becoming expressive, it would be frustrating trying to speak in Chinese when your English is more capable. One thing we are trying is to find Chinese language media geared for pre-schoolers. Fun Fun Elmo recently came out with another set of episodes which we enjoy. We were amused when T was replaying some of the scenes, like one piece that involved a boy giving a tour of the house and pointing out everything. We think that a key point is that Chinese be something that he can do fun things with. And that will mean playing with toys, movies, comics, and friends.

He had his assessments at day care this week, and they told us is that he assesses ahead of his age, but he does not talk to people at school. Even looking at many of the items that are labeled as 'emergent', they are things he does at home, but he does not express them at day care.  Basically, he is an introvert like his parents, the question is if he can learn to express what he knows when it comes time for assessments like this in the future.

Sunday, February 16, 2014

Mining the Social Web, 2nd ed by Matthew Russell: Book review

Mining the Social Web: Data Mining Facebook, Twitter, LinkedIn, Google+, GitHub, and MoreMining the Social Web: Data Mining Facebook, Twitter, LinkedIn, Google+, GitHub, and More by Matthew A. Russell
My rating: 4 of 5 stars

The hardest part of learning a data analysis method is not in implementing the method, it is applying the method in the context of a real data problem. And data mining and machine learning texts often skirt the issue by using pre-processed data sets and problems defined to fit the method being taught. Russell uses analysis of social media sites to set a context where you start from having to gain access to real data sets, clean and transform the data into forms that your analytical libraries can make sense of, and then use the results to make a conclusion. For that, it rates a place along any other text that focuses more on the analytical methodology itself.

What I most appreciated about this book was the work put into converting data from one format to another. From the beginning, when he works with data pulled using a services API, then getting that into a format that another library requires, then getting those results into a data mining framework for analysis. Following his flow has helped me understand the methods better. And these examples of processing data from format to format is something that gets my students stuck before they get really started in a project. I especially appreciated the chapters that worked with the Natural Language Toolkit (NLTK) and the NetworkX graph libraries. These examples helped me get pass what was the hard part for me in working with these libraries in previous encounters.

The virtual machine is also very helpful. I have always found the hardest part of working with Python for analytic computing has been teaching my collaborators how to get set up. And in data mining this is even harder than standard. I was able to get through his book installing everything on one machine, but on another I used the author's virtual machine, and I have pointed a student who was working with me to the virtual machine as well.

This is a great book to work through the mess of implementing data mining methods in real situations. It is not a theory book, but it serves its purpose well.

Note: I received a free electronic copy of this book from the O'Reilly Press Blogger program.
I review for the O'Reilly Reader Review Program
View all my reviews

Saturday, February 01, 2014

Parenting Month 39: The LEGOs are here.

The Curiosity Rover was exploring and found something.
A substantial part of the Christmas loot was in the form of LEGO, and we seem to have hit a critical mass so it gets a lot more play time. Now that we got a couple of larger sets, we hit critical mass in a couple of aspects. First, we have a number of pieces that you can make things. Duplo blocks are so large and there are a limited number of forms (2X2, 4X2, 2X1 tall bricks, then 4X2 plates are the dominant choices) so before, essentially all T was doing was making towers and variations. Now, because we got a couple large Duplo sets we have several types of roofs and shear numbers so it can be more interesting (he can build structures, not only façades.) And he can build things so that they are recognizable. Second, we have a much larger number of Duplo figures. In addition to the grandpa, brother, sister, and little brother we have added two firemen, a medic, and a zoo-keeper. So the stories he says while playing have become richer. Adding two fire vehicles and an ambulance helps (although this was not as much an issue as LEGO vehicles and his Home Depot and Lowes cars and planes have always mixed freely).

He has started some creative play. He tries to recreate story lines from books or shows, and there are some other story lines he gets into that we don't recognize. More recently we have started taking a page from homeschooler lessons where we give him something to copy. And occasionally he goes from that to making his own modifications.

But in terms of creativity, it is pretty clear to him that the standard LEGO bricks have a lot more possibilities. So far, they are special treats that are brought out as a reward for good behaviour (and in the case of the Curiosity Rover and the Master Builder Academy Robot set, a special and rare reward) There are a couple of small cars (~40 pieces) and a train (~50 pieces) that he we have him help build before he can play with them. Over the past month, he is able to do more and more of the building (there is one set he can almost make himself). At this point, there is little creativity involved. Like the Duplos before, we don't have enough pieces to do that, but as his fingers get stronger and he starts learning some of the rules of structure, we'll move to those.



In other news, he has finally gotten settled into his room at day care after being moved to the three's room. Every time he spends time with his cousin's in Chicago, his social skills jump up a notch (and having spent a few months in the three's room helps too).  Funny story:  when a group of kids moved up from the two's room this month, apparently he was trying to show them around and telling them how things worked now that he is no longer the new kid in the room.

We've started music lessons. At this point, this means do-re-mi and working on aural skills and reading the staff. It is amusing to watch since he has only limited fine motor skills so he counts by nodding his head :-P



He has mostly moved from board books to the first level of readers.  The fun ones are the Scholastic LEGO books for beginning readers. It helps that we have some of the right LEGO figures as well. He has reached the point where he can "read" the book (meaning, he has somewhat memorized the book and in the parts he can't remember, he makes up something to fill it in.)  In parallel, we have started him with phonics. The trick here is to find words that are fit for phonics that he does not known only because he has memorized the book we are reading.

Things for the future.  Getting him to sleep by himself (he now can be in his own bed (for part of the night) but still wants someone in the room), and the ongoing hope that he becomes more social.

Tuesday, January 28, 2014

Doing Data Science by O'Neil and Schutt: Book Review

Doing Data Science: Straight Talk from the FrontlineDoing Data Science: Straight Talk from the Frontline by Rachel Schutt
My rating: 4 of 5 stars

Doing Data Science is about the practice of data science, not its implementation. It is based on a course on data science that featured a guest lecturer on each topic. This leads to the guest lecturers (and chapters) focusing more on important concepts rather then the methodology. So, this is not a textbook or a how-to-do-this type of book, rather it is a how-to-think-when-doing book.

A problem with books like this where each chapter is written by someone different is the need for coherence. A second is that each author typically has something to day, and she has to say it in her chapter. So, compared to other data science books, it suffers from the chapters not building on each other in a systematic way and having multiple messages that appear as you go through the book.

One benefit from this is that each author has something to say. While I find the book thin on how to do things, this is a good source of wisdom in why things are done and issues that come up along the way in real life. I am teaching data science for the first time and I find myself turning here for topics of discussion which my chosen textbooks don't cover (as they have more focus on how to do things).

I don't think this is the book to use to learn how to do data science, and I suspect the students at Columbia learned how to find other sources to help them figure things out. But it provides wisdom, which is harder to find and worth quite a bit.

Note: I received a free electronic copy of this book from the publisher as par of the OReilly Bloggers program.

I review for the O'Reilly Reader Review Program

View all my reviews

Tuesday, December 31, 2013

The Essential Sheehan by George Sheehan: Book review

The Essential Sheehan: A Lifetime of Running Wisdom from the Legendary Dr. George SheehanThe Essential Sheehan: A Lifetime of Running Wisdom from the Legendary Dr. George Sheehan by George Sheehan
My rating: 4 of 5 stars

I am at best, a lapsed runner since my son was born. But on my occasional run, I remember what it was to run day in and day out, through good weather and bad, on the road and off, beaches, desert, snow, and ice. But I did not run just for fitness. I ran because it was a way of thinking through life. In The Essential Sheehan, these essays are a view of various aspects of life as viewed by a runner. It ranges from essays about running itself, from just starting out (Sheenan started lifelong running in his 40s) to the marathon to life long running, to health and life and death.

The essays here start with those beginning to run seriously. Viewing running as play and a way to balance out your life. Later chapters get more serious about running in training for goals, races, and meeting challenges like the marathon. The last chapters are about running as a way of looking at life up to and including death (Sheenan's last six years were spent fighting cancer).

One that really strikes me is one discussion about runners in their 30s uniformly saying that they wanted to run until they died. And I was like that too in my 30s. And while I don't run nearly as much as I used to, occasionally I still lace up my shoes and go out. Like I will tomorrow morning when I get up.

Highly recommended book.

Disclaimer: I received a free copy of this book through the Goodreads First Reads program.

View all my reviews

Saturday, December 28, 2013

Parenting Month 38: Bargaining, charm (and guile)


This chick is coming to say hi!
Looking at baby chicks at the Museum of Science and Industry
A recent New York Times article looks at a study of violent adults that tracked people from when they were toddlers.  It finds that violence as adults is very similar to violence as toddlers, except that most toddlers determine over time that they can use bargaining and charm to get what they want and they do not need to resort to violence.  This is good as we get more capable in inflicting violence as we get older.  We took a family vacation this past month, so it provided a good look at how T handles himself socially.  At home does not provide nearly as good a look at this since of the four people he has to interact with (1) Lau-lau (grandma) and (2) mom impose their greater will on him and they are mostly resistant to charm, (3) lau-yeh (grandpa) has clearly lost the matchup between grandpa and grandson, and (4) dad (me) takes on the role of father as described by Amy Chua's husband, which is occasionally manifesting as a force of nature when needed so T has definite limits on his opportunities to express his will.  On our family road trip this month we had numerous opportunities of observations with random playground playmates, interactions with kids at nature centers and museums, an arranged playdate with friends, and meeting with cousins as he transitions from being a toddler to a preschooler.

Making a Merry-go-round with cousins
  1. Bargaining - we took an overnight stop at a town along the way and went to a local mall to give T someplace to run around in.  This mall had a playground centered on one slide (as opposed to our local mall that has 5 slides), which means the kids are forced to interact if they want to use the slide and its attached fort.  We saw him becoming into one of the kids who had to try to encourage the slow kids to move forward and out of the way so that everyone else could use the slide instead of being one of the slow kids.
  2. Charm - Taking pictures while a docent was showing us through a feeding of  turtles.  Taking turns with the other preschooler who was with us.
  3. Charm - We took a stop at the Peggy Norbaert Nature Museum.  At one point there was a 17 month old girl who was watching him work an exhibit. And he was trying to show her what to look for in the exhibit. Later, he was showing her the box turtles (that he had seen earlier in our visit.)
  4. Charm - Teaching another preschooler how to work a water exhibit at the Nature museum.
  5. Guile - At his cousin's house, he was drawing on a chalkboard.  But the only word he knows to write is his name, and his cousin objected to T writing his name on his cousin's chalkboard. So his cousin erased it.  With his hand.  At that point, T pointed out that his cousin's hand needed to be washed. And while his cousin washed his hand, T proceeded to write his name on the freshly erased chalkboard.
  6. Bargaining - He went on a playdate that included some 12-15 children (I lost count)  He was the third kid there (the host plus one other guest) He quickly proceeded to alternate play a toy that involved putting something like a coin into the slot (actually, I think that this one really counts as the girl taking charge and including him in her play)
  7. Cute (worth a mention even though it was not one of the categories) - At one point, someone saw a squirrel outside the back door and T along with two other kids crowded into the door to look at it outside the window (I hope someone got a picture of it, because it was too good)
  8. Bargaining - At a party with his cousins, he wanted to re-enact a cartoon episode where the main characters construct a merry-go-round.  But his cousins had no idea what cartoon he was talking about.  Eventually, they found something round, and animals to go around on it.
  9. Guile - At the museum, he took advantage of the fact that he has a long attention span to let someone else try something at an exhibit, and got the exhibit back to himself when that boy was done (and found he was not interested)
  10. Charm - Expressing excitement when other people are interacting with exhibits at the Museum of Science and Industry.
  11. Charm - Being polite (saying, please, thank you, your welcome) while taking pictures at the museum.
  12. Bargaining - Trying to get other kids at a play area to play a different way in one of the activity areas (this did not work, but he tried)
  13. Charm - Showing a little girl how to play in one of the bouncing play areas.  He did this with a couple of kids in a few of the activity areas. 
  14. Bargaining - Telling a boy who went down the slide ahead of him "Watch out, I'm coming!" while standing at the top of the slide and waving his arms to encourage him to move out of the way.
  15. Charm - At a rest stop, pointing out the direction to the bathroom to all of the other toddlers and pre-schoolers. 
  16. Charm - On the way out from the museum, wanting to show a group of preschoolers on the way in around the dinosaur exhibit.
Of course, he is a preschooler, and playing with toddlers and preschoolers does lead to use of physical force.  He is big and strong enough that it is not easy for another preschooler to push him aside, and one instance of a bigger kid pulling off his hat led to him chasing the kid down and snatching the hat back.  But we have wondered if he would hold his own in the rough and tumble since the day care staff have observed that he does not get into fights. We are glad that it is not because he won't stand up for himself, it is probably because he does not have the attachment for things that would motivate him to fight.

This button is how to tell the robot what to do
Controlling a robot at the Museum of Science and Industry

He still generally takes a while to socialize. Although by observation, a large part of it is that he has a long attention span, and generally what happens is that he doing something while other kids come and go around him. During the play date we turned off one toy to get him to get out of a corner and interact with the other kids. Another parent at the playdate made the comment that instead of contributing to chaos he lets the chaos of toddler and pre-school play flow around him. While his daycare staff notes he generally does not play with the others around him, they also note that it is not because he is antagonistic (which is the usual problem) or disinterested, but because he is focused on what he is doing or playing at the moment rather than moving from thing to thing with everyone else.

What we really got out of this vacation was a lot of time to observe T interacting with his peers, both those familiar and also strangers. While we get the observations of day care staff, it helps to see it for ourselves.  While, unfortunately, the realities of the education system means he will have a problem with evaluations for a while, we like knowing that the reality is that he is navigating his path in dealing with his peers and developing skills to cope that will grow into the future.

Happy boy playing with a balloon
Playing with a balloon