Thursday, January 15, 2015

Small Town Heroes by Harmon: Book Review

Small Town Heroes (Wearing the Cape, #4)Small Town Heroes by Marion G. Harmon
My rating: 4 of 5 stars

So the main character of the series, Astra, gets herself taken away from Chicago, her home, and her friends, because she sees a vision of something she should not know anything about. She makes new friends, learns how to work with others who are extremely competent, and her old team gets to meet the new ones.

I liked this book because it maintains that in the world of superheroes, the most dangerous ones are the ones that can plan. Astra is depicted as someone who is learning how to do this, and she spends the book recognizing she is around people who do it well. A team of third-string supersoldiers is depicted as being a match for a first-string villian because of teamwork, and these opponents are the most dangerous, not because they are the most powerful that Astra has faced, nor because the Young Sentinals are weaker than the main Sentinal team, but because this group works well together. All of the supers (and other leadership figures) are highly competent and dangerous, and that makes for a better story than many.

The book can get a little corny/sappy occasionally, and that may be because the main character is a pixie teenage girl. But it helps that everyone is competent, and the main hero, while competent and universally accepted, still has much to learn and the others around her have much to teach

View all my reviews

Monday, December 29, 2014

Parenting Month 50: A-T-A yaaa! enrichment and assertiveness

Carnegie museum of natural history
We're reading instructions for mommy at the Carnegie Science Center.  This is the next step.

We have finally caved in to the suburban parenting pattern of enrichment classes.  In our case we focused on the one thing that we do not provide: lessons in assertiveness.  And the vehicle we chose was a local taekwondo studio that had started out around two years ago.  We are not particularly interested in mastery, although if T wants this to be his sport for his growing up years, we would not be particularly disappointed. But we want him to relate to other adults (or at least older people) who are authority figures and can give instruction for him to follow and command respect.

Actually, we are more interested in that he can build confidence in action outside the safe harbor that we provide when we teach him things.  When we first went, they were telling us about how martial arts classes in pre-schoolers helps in the case of pre-schoolers who need to burn off energy and bounce of the walls at home. As we have a child whose worst episodes of acting up are probably laughable to most parents of pre-schoolers, we replied that was not the problem. But what we are worried about is that he grow in confidence in action.

He is an introvert, and the son of two introverts, who are fully aware that much of the world is organized and evaluated with extroverts in mind.  And we see that in his daycare. He was part of a trio of introverted boys. They have separated on their fourth birthdays to another daycare, the pre-K at our daycare, and the second pre-K class. And the one in the other pre-K class is worried of him being lost in the shuffle (it is large, the size is at the room physical limit.  While on academic and artistic levels he is expressive (he is in a small class), when it comes to crowds (they merge in the afternoon) he still withdraws amidst the hurly burly of 20+ preschoolers running around.

The first sessions were what would be expected. As the class does their warmups, exercises, and yells, he withdraws.  But, in a credit for this school (and the fact that there are few beginners at any point in time) he got some personal assistance from the school owner.  So the first few session, he essentially had private classes, and now he takes his place with the rest of the (small) class.  Progress!, and kudos for the school!

In other areas, he is enjoying his small, pre-K class. There are only around 8 students, and reports are that he is active talker in the group activities; circle time, singing, etc.  Arts are slow, as he is very deliberate so projects take much longer than others, but he does them.  He reverts to form when the classes merge in the afternoon (the extra space for the second pre-K class has another purpose in the afternoon).

He is increasing his academic abilities.  With LEGO we went through the City Advent Calendar, which required that he take a small number of blocks and figure out how to make the object based on an iso-picture, as the month progressed, he was getting noticeably better at the spatial awareness, and doing the Christmas presents was much better at figuring out instructions by himself. He is also getting better at working with random pieces, as we build things and make up story lines to go with them.

He enjoys reading, especially as he is much more competent at phonics. He will pick out new books, and while he may ask us to read it, by 3-4 pages in he is doing most of the reading. We find it especially amusing when we he reads books to his little sister, because he does it using a teacher voice (as much as a four year old can imitate a teacher).

Lighttable at Carnegie museum of Natural History
Making patterns with shapes on a light table

A is becoming a sneaky little baby girl. She has started manipulative play, taking toys and waving them around. She can move things to her mouth, such as a toy, or more useful, her pacifier (funny event, sometimes when she wants to cry, she will use her hand to move the pacifier over so she can cry more effectively).  Our other big observation was that she is now mobile.  She can scoot. At the beginning of the month, we were not sure, because she does not move that fast.  But give her a few minutes, she will have noticeably scooted on the playmat towards a desired goal.  Our funny moment was when T was trying to play with A's toys (on the pretext of teaching A how to play with them), and she scooted over a couple feet and picked up one of his completed LEGO sets.  We see a lot of that in the future.

Friday, December 26, 2014

The Way Into Chaos by Harry Connolly: Book Review

The Way Into Chaos (The Great Way #1)The Way Into Chaos by Harry Connolly
My rating: 5 of 5 stars

Harry Connelly has made an incredible world. The Way into Chaos is named because it has its protagonists surviving in a world that has fallen from order into chaos. The heroes and other characters are complex, each with a range of motivations. There are those like one of the protagonists who think of things like honor, loyalty to the empire he has sworn an oath to, and devotion to a cause. Others may have had such thoughts, but have looked around them and believed that the empire that they were loyal to has fallen. Others were never loyal to the empire, and made choices on what they thought was best as order fell around them, and a new threat entered there land.

The diversity and depth of the characters is what draws you in. In the first chapter, you are introduced to many characters and their backgrounds, only to have most of them gone by the end of the second chapter. As the book goes on, there are several rounds of this, parties form around the protagonists on their missions, only to break up and go their separate ways in the course of events. These are not handpicked heroes chosen for a special mission. These are individuals who made there way out of disaster into a dangerous world, trying to make their way within their limits. And that keeps my attention as I went page after page. I'm looking forward to working through the rest of this trilogy.

View all my reviews

Thursday, December 18, 2014

Thinking with Data by Max Shron: Book Review

Thinking with DataThinking with Data by Max Shron
My rating: 4 of 5 stars

Thinking with data focuses, not on how to do data analysis, but on the questions that one should be asking. It does so in two ways, first through providing an overall framework to looking at situations, then working through a series of topics using examples to serve as plausible paths of decision making. In a fairly short book, it covers the framework, determining purpose, threats to validity, experimental design, and a few extended examples that illustrates both concepts and deviations. It is a useful quick big picture book that is useful for those whose focus has been on the methods of data analysis or for those who do not have a quantitative background but are faced with data questions and need to be able to work with data analysts.

The first part is probably the most rewarding. Max gives a framework of how to frame a data problem. Context (who is interested in the problem, what are their overall goals and why, what is the goal of the project), Need (the specific need that could be solved through the use of the data model), Vision (an understanding of what the results of data analysis would be like), and Outcome (an understanding of how the data analysis results would be used). The end of this framework would be a story that you can tell

Next is a discussion of how the details of the problem could be fleshed out. The content is probably familiar to anyone who has had to work with stakeholders. The valuable portion here are the vignettes of working through this process on projects. In particular the fact that the vignettes are not projects that necessarily go smoothly, so it does not have the idealized feel that many published vignettes do.

Next is a discussion of presenting the results. The focus here is that the results are not the output of the data analysis, but the use of the data analytics methods to construct and argument. And that argument is going to be presented to people who have backgrounds, prior beliefs, prejudices, and sometimes reasons to argue against your findings.

How to address these disputes is through conducting experiments and testing alternative hypothesis. So a section of the book is on defining causality and designing experiments (interventions) to handle different types of alternative hypotheses.

What makes this useful is the framework and the vignettes. It is good for a quick introduction to this area. As others have noted, it is not tightly organized, so after the first chapter with the framework, it is not useful as a reference, but it helps in focusing how to think.

I teach classes on working with data, and one area that is difficult to get across is the concept that there is a unified whole in the topic, not only a bunch of separated techniques. I plan on using much of what is in this book to help provide that unified whole my classes.

Disclaimer: I received a free electronic version of this book as part of the OReilly Bloggers program.

View all my reviews

Saturday, November 29, 2014

Parenting Month 49: An introvert in an extrovert's world

Earlier this month, one of T's teachers decided to give him his assessment a bit early, since he was going to a new class and new teacher soon (moving from the 3s room to Pre-K (everyone from 4 years until moving into kindergarden).  He pretty much maxed out the academics, meaning he covered everything that was expected from the 3s room and everything that the Pre-K had been doing (from the description, we figure she ran out of available assessment material, and probably was also beginning to reach the extent of T's patience). This is not the usual outcome of an assessment for T, the normal outcome is that he is quiet and does not give answers to things that we are all quite certain he knows so he assesses as generally age appropriate, maybe a bit ahead.  The difference is that it was done in the course of daily activity and the teacher was one he knows well as opposed to a new teacher (he takes 2-3 months to warm up to new staff).

The underlying issue is that he is an introvert, and pre-elementary assessments are designed based on an outgoing child who will actually present the knowledge he/she has to the assessor.  But, while the majority of preschoolers in any grouping (say, a daycare or preschool) are wild and rambunctious, T had always been the quiet one who stayed in one place.  As a 2 and 3 year old his play at day care or in group settings was marked by him staying in one place as the other kids would swarm from play area to play area around him. And the kids realized this too. His most common playmates were also the quiet ones who did not swarm as fast as the others (e.g. girlfriend from the 2year old room was also a shy one, and there are three boys that the staff have marked as hanging around together instead of participating in the usually rowdyness of preschool boys.)

The question is what do we do as someday he will be assessed, and there will be an outcome of the assessment. And that, especially in the pre-elementary and elementary stages, the assessment will be done in a way that greatly favors the extrovert (est 75% of the U.S. population).  Some things that we have been trying include playing piano (he plays happily at home, but in any other location, he maintains excitement until he gets close to the piano in question, then he freezes.), activities in busy areas (the regular museum visits offer many opportunities to interact, in fact it is hard to avoid the other kids, but he clams up as he gets close to interacting with anyone, even after watching us do so many times in many contexts.), play dates (we have not had that many, most of the neighborhood is older, there is one neighbor only 2 years older who really likes playing with T, but she is very much the extrovert and it does not help whne movin to a new setting.  There is one sense that it does not matter, that T will learn enough how to function in an extroverted world in time for it to matter, but another thought is that time may not be that far into the future.

In other developments, A has become quite the talker. In addition, she has developed a sense of will where there are times where she can decide to want something, and make deliberate and sustained efforts to get it.  And as part of that, the first stage of mobility, she can roll both clockwise and counterclockwise at will.

T's main development was moving up to Pre-K from the 3s room. This actually was an issue as the Pre-K in our daycare had maxed out the capacity of the room. We were part of a minor rebellion threatening to leave enmasse until they created a new class of Pre-K. There is an issue as the additional class starts out the day using a room that is also used by an afterschool program, so they need to move back into the regular Pre-K/3s room before the public school kids (kindergarden is halfday in W Pa.) return. So it is a lot of moving around, but at least T spends time with older kids again.

USS REQUIN at the Carnegie Science Center - Pittsburgh
Turning the wheel of the USS Requin (SS-481)

USS REQUIN at the Carnegie Science Center - Pittsburgh
These beds are small

Tuesday, November 25, 2014

Using blogs and news articles as class mini-cases - How discrete-event simulation can help project prison populations

How discrete-event simulation can help project prison populations (SAS Subconscious Musings)

My experiment this semester is more intensive use of news articles as subjects for in-class discussion of examples of applications of what we are learning.  While I have done this in the past, this semester I made it a deliberate plan to discuss one article a week in each class.  So far this semester in my simulation and decision models classes, I have covered reactions to the W. Africa Ebola outbreak, Game 7 of the 2014 World Series, Gamergate, flu vaccinations, commercial manned space transport, pulling a goalie in hockey, cargo shipping, business expansion, business divestiture, automation of manufacturing, health care system operations, among other things.

I identify articles through the use of RSS feed aggregators. My news feed includes a number of feeds from a range of business school professors focusing on supply chain and operations management issues.  I follow the CDC MMWR as well as the journal Health Affairs to get health care related articles.  And the New York Times front page and Google News are good for a lot of different stories.  The key is finding an article where the reporter was good enough to discuss the various options that were available and enough details that you can figure out the values of various actors involved.

The key a good class case article is that there are potentially reasonable alternatives to discuss.  In the decision models course, the discussion revolves around identifying the courses of action available, the sequence in which decisions need to be made and information becomes available, assessing the attributes (values) of the people involved, then assessing how they may assess probabilities of various events.

For the simulation course, the focus on case discussions is on understanding how a decision maker in the article may use the simulation, then we do a whiteboard exercise where we draw out an event graph diagram to model that system, focusing on what needs to be included (states, events) based on the decision maker needs. The goal is to discuss modeling in a specific context, so we can talk about what needs to be included, and what does NOT need to be included in the model to fit the particular purpose.  The contrast is to the textbook homework problems, which generally provide a very specific context and set of details which have be included in the model to answer the homework problems.  Textbook problems generally do not include thinking about modeling in such a way to determine what is the right question and how to simplify the model to address the question.

Last week we looked at the decisions made by the North Carolina Sentencing commission.  Unlike most cases, in this case we happen to know for a fact that a simulation was used in the decision making process.

Our discussion began with purpose: why would the North Carolina Sentencing Commission be interested in a simulation of prison population. We came up with the need to plan prison space, make arrangements with neighboring states to house NC prisoners, and to allocate resources to monitor parolees.

Next, a discussion of what would the simulation need to track to fulfill the purpose of the NCSC. This would include the number of prisoners and the number of parolees. And the time remaining for each prisoners sentences. Then, we have the state of the system being the prisoners and parolees, and the terms of sentencing. (we decided not to discuss the size of the prison, since that is something that was being determined).

The last part of the discussion was where the typical homework or exam problem started, diagramming the events tracked by the system, how each events changes the system state, and then how to generate delays in the simulation.

The purpose of the exercise was to discuss modeling. Not in terms of how you build a model from a system description, but to think through how to model and make modeling trade-offs given the decision that needs to be made about a specific system.  The cost of this discussion is time, doing this results in us not completing a semester syllabus of a class that is quite analytical. But, as textbooks usually begin modeling examples with a system description and a purpose, I think it adds to the course and I think the compromise is worth it.

Thanks to Natalia, Jeff, and Leo from SAS for our conversations about this particular SAS case at the INFORMS conference. It enriched the class discussion to know what was happening behind the scenes of the Subconscious musings blog article.

Sunday, November 16, 2014

Testing in pairs: The Global Day of Coderetreat

Global day of Coderetreat: a day to celebrate passion and software craftsmanship

A Coderetreat is like a master class for computer programmers. It is a chance to view programming as a craft that can be practiced and honed.  And like other crafts, the way you develop skill and creativity is to create limits, then use your creativity to accomplish the goal while working around the limits.

As an engineer, I am not primarily a programmer, although I have some level of skill, so this is not the typical view of programming, which is viewed more as a tool and a necessary evil. The effect is that improved competency is not valued, which leads to  inability to deal with dirty data, models that cannot be implemented, and results that cannot be reproduced.

Code retreat is build around the four principles of simple design, due to Kent Beck

  1. Runs all the tests
  2. Expresses every idea that we need to express
  3. Says everything once and only once
  4. Has no superfluous parts
The structure of the Coderetreat is six sessions where we work with Conway's Game of Life. For each session, we pair with a different partner. In addition, in each session we are to begin from scratch, and there is a twist to the rules.  The goal was never to actually implement the Game of Life (although in two cases we actually had all of the parts working and tested), but to spend time working with someone else on code.


1.  Pair programming.  This was my favorite aspect of the Coderetreat, pairing with six different people.  I figure there were two where I was generally more skilled, two where I was generally less skilled, and two where we were pretty much even. In every case our end solutions had very different designs as it was a combination of our different ways of looking at things and our experiences of having tried different designs in previous sessions, and the skill levels of the people involved.  When I worked with students, we would occasionally have a session where we worked together to solve a problem, and some of my students have commented that they found those sessions to be invaluable because they had a chance to watch how I worked and saw how I dealt with different types of problems.  But this time I did pair programming on people on a much more even footing and I get to experience it as well.  It showed in how we used different tools (although I was experimenting with a new IDE), how we solved problems in code and how we solved logic problems. 

2.  Test driven development (TDD). I've heard of the concept before, and I have even contributed to a unit test framework, but I've never really done it.  What TDD did was to encourage more modular code. It also forced us to put more thought into our design, as we had to consider what information was required an in what format to do what we needed.  In one session, one member of the pair would write tests and the other would write the code, and the two were not allowed to communicate. As the one writing the tests, since we could not otherwise communicate, I realized that in writing the tests I was forcing a set of data structures and a design in my tests.

3.  Throwing away dsigns.  We started each session with a clean code base. What it meant was that we did each session using the lessons from what went before.  The first two sessions we did not get much progress, but the third was the one where we made the most progress, as we basically learned from the combined mistakes made over the first two sessions and designed the tests with the past problems faced in mind, and the solution was fairly easy after that.  That was good because the next three sessions were the ones with the wierder twists.

4.  New languages.  Python is by far my strongest language, but I did one session in Clojure and one session with Java.  In both cases I learned a lot about how people set up their tools and the idioms they used, which were different than what you see in standard texts.

5.  Dealing with constraints. There were three weird twists. One was mute pairs, one was limitations on the size of methods, one was no use of conditional statements.  Mute pairs forced the design to be simple and clear (especially difficult because we did it in Clojure, which I barely can say I know without the aid of a book in front of me), the size of methods led us to generate very ugly method/class hierarchy to deal with the extreme restrictions, no conditionals lead to a range of creative hacks.  This has an effect similar to a lot of exercises done in the creative arts, adding constraints is one way of encouraging more creativity.

This was a valuable experience. Most of the people there had computer science backgrounds, and pairing with them taught me a lot.  And I was somewhat glad to know I could add to people's knowledge base as well.

Thanks to Code & Supply (@codeandsupply) and Think Through Math (@ThinkThroughMath) for making this event possible and for helping to keep it free, and to IBM for hosting.

Pittsburgh Code & Supply Logo

Think Through Math logo