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