May 2019


The versatile design of this shoe rack can fit many needs

by George Taniwaki

I’m a member of the Washington Karate Association, which has a dojo in Bellevue. Traditionally, one removes shoes before entering a Japanese home or a sacred area. The genkan or foyer of the dojo has a shoe rack for the students. The current one needed to be replaced and I offered to make one. An exploded view of my design is shown in Figure 1 below. The design ideas and the techniques I used to make this shoe rack can also be scaled up or down for your needs.

Shoe rack design

The shoe rack will get heavy use as there are up to 4 classes a day at the dojo. On rainy and snowy days, the shoes can be wet. For durability and water resistance, I decided to make the shoe rack out of 19mm (3/4") particle board with melamine surface on both sides. I will cover any exposed edges with melamine edge banding.

Children tend to lean on or step on the shoe rack. To help resist damage, I will reinforce the shelves by adding a lip to the front.

To keep water from wet shoes from dripping on the floor, I will tip the shelf toward the front by 50mm (2"), or about 12 deg. The lip will then catch any water.

The melamine boards I used come in 2.4m (8′) lengths. Even with the reinforcement provided by the lip, I decide the shelves should be 1/3 the length of a full board or 0.8m (2′-8") long. (I felt that a shelf 1/2 the length of a full board or 1.2m (4′) could sag or break.)

To ensure tall boots can fit on the shoe rack, I space the shelves 250mm (10") apart.

I want every child to be able to reach every shelf, so the rack will only have 4 shelves, making it 1m (40") tall. This also  leaves room under the shoe rack for any overflow shoes.

Finally, the rack will be heavy, so I  will include two holes, each 100mm (4") in diameter on each side near the top to act as carrying handles.

There are many ways to attach the shelves to the sides of the shoe rack. I decided to rout out a mortise into the sides and use glue and screws to attach the shelves. The mortise should support the weight of a child without a bracket and also help resist racking.


Figure 1. Exploded view of the shoe rack

The basic design of this shoe rack is very versatile. More shelves can be added to make a taller rack for a walk-in closet. Or it can be made with fewer shelves and using furniture grade wood to fit the entryway of a Japanese-style home.

Cut the stock and prepare the shelves

The first step is to cut the sides and shelves to length using a panel saw, table saw, sliding miter saw, or handheld circular saw (Fig 2a). Use a sharp blade and push the stock (or the saw) slowly to get a clean cut.

I used a circular saw to make my cuts. Notice that I use a 50mm (2") thick sheet of polystyrene foam insulation as a sacrificial backing board under the work piece. It’s cheap, flat, smooth, light, easy to keep clean, sturdy, and protects your blade (or router bit) from damage.

Each shelf will consist of a bottom and a front cut from a single piece (Fig 2b). The front will have a dado that the bottom will fit into. Use a table saw with a dado bit to plough a 19mm wide by 5mm deep (3/4" x 0.2") dado (Fig 2c) on each shelf. The dado will be on the front of the shelf and will receive the bottom. Rip the shelves to separate the bottoms from the fronts (Fig 2d). Before cutting the actual stock, make a prototype and check dry fit (Fig 2e).

CutParts  ShelfDetail2

PlowDado  RipShelf


Figures 2a to 2e. Cut parts to length; Design detail for the shelves; Plow dado for shelf front; Rip the shelf to separate the bottom from the front; Test dry fit of prototype

Note: Table saw riving knife, blade guard, and dust collector removed for demonstration only. Do not operate power tools without safety features in place

Assemble the shelves

Dry fit the shelf bottoms and fronts, selecting the better surface to be the top. Then glue them up, clamp, and let dry overnight (Fig 3a). Notice how I clamped all four shelves at once. I laid heavy tiles on top to keep the shelf bottoms from popping up. I also put shims underneath the back of the shelf bottoms to keep the shelf bottoms parallel to the bar clamps and the shelf fronts perpendicular to the bottoms.

Unclamp the shelves and stand them front side down. The backs of the shelf bottoms will have a raw edge. Cover them with melamine edge banding (Fig 3b) and trim off the excess (fig 3c). For more details on using hot-melt adhesive banding, see this Oct 2012 blog post.

I did not bother to add banding to the raw edge on the bottom of the shelf front.

GlueUpShelf  ApplyBandingShelf


Figures 3a to 3c. Glue up the shelves; Apply melamine edge banding to the back of the shelf bottoms; Trim the banding

Mortise the sides

To cut a clean mortise, you must use a template. See this Jun 2019 blog post on how to make a perfect mortising template for a shape that consists of right angle corners.

Using a pencil and straight edge, lay out the position of the shelves every 250mm (10") on the left and right sides with the 50mm (2") slope. Lay the left and right mortising templates onto the sides and ensure they align to the pencil marks.

Remove the templates and drill two 4mm (5/32") holes in the sides for each shelf (Fig 4a). There may be a small amount of tear out. Flip the side over and countersink the screw holes by 3mm (1/8")  (Fig 4b).

Flip the sides over again, align the templates to the pencil marks, and rout out 5mm (0.2") deep mortises using a plunge router (Fig 4c). If you do not own a plunge router, first use a Forstner bit to create 5mm (0.2") deep holes for the router bit. This will prevent kickback that could gouge the sides or the templates.

DrillPilot1  DrillCountersink


Figure 4a to 4c. Drill the pilot holes; Countersink the pilot holes; Use the jig and cut the mortises

Add handholds and banding

The shoe rack will weight about 25kg (55 lb). To make it easier to move, cut handholds at the top of each side. The most important consideration is to avoid tear out. Mark the location of the center of the hand hold and drill a pilot hole through the side (Fig 5a). Using a drill with a 100mm (4") hole cutting bit to cut through one surface of the melamine (Fig 5b). Make sure the drill is up to speed before making contact with the melamine surface to reduce tear out. Press down on the surface lightly so that the speed stays high. Cut about half way through the side.

Flip the side over and repeat on the other side (Fig 5c) until the hand hold is complete. Cutting from both sides rather than one side reduces chance of tear out.

Cut the melamine edge banding to length (Fig 5d) and apply it (Fig 5e). Note that you probably cannot get a hot iron to follow the concave surface of the handhold and get hot-melt banding to adhere to the surface. Instead I used self-adhesive banding. The adhesive is not as strong as hot-melt adhesive.

CutHandhold  CutHandhold2

CutHandhold3  ApplyBanding


Figure 5a to 5e. Drill a pilot hole for handholds through the side; Use hole cutting bit and drill through one surface of the melamine; Turn over a drill through the other surface; Cut and lay out the self-adhesive melamine banding; Apply the banding

Final assembly

Before final assembly, remove any adhesive residue from the shelves and sides using mineral oil (dissolves most sticky adhesives) followed by warm soapy water (Fig 6a).

Label the four shelves to indicate which mortise it will fit into, selecting the best shelf for the top, which is the most visible. Use a chisel to clean the corners of the mortises and to make any adjustments to ensure the shelf fits (Fig 6b).

Dry fit the shelves into the sides and drill two 2mm (5/64") pilot holes in each shelf (Fig 6c). Glue up the shelves to one of the sides and drive two 4mmx40mm (#7 x 1-5/8") screws into each shelf (Fig 6d). Flip over and repeat on the other side. The screws will hold the shelves in place so there is no need to use clamps.

After the glue has dried, fill the screw holes and any gaps in the joints with white caulk.

RemoveGlue  ChiselCorners

DrillPilot2  ReinforcementScrews

Figure 6a to 6d. Clean the finished shelves and sides; Use a chisel to clean the corners of the mortises; Drill pilot holes; Glue up, add screws, flip over a repeat

[Update: There was a flaw in my design of the shoe rack. The 10" depth for the shelves works fine for children’s shoes, but not for adults. The solution was to turn the rack around. A picture is shown below. I think it looks fine this way.]


Figure 7. The shoe rack flipped around so that adult shoes will fit


Last Week Tonight featuring Chiitan, from HBO via YouTube

by George Taniwaki

This is a long story of an unusual connection between the TV host John Oliver and my father. Needless to say, the story has a weird twist at the end that even John Oliver wouldn’t expect. Bear with me as I explain.

Japan loves mascots

The tale begins in Japan, where costumed mascots are a big deal. Of course every sports  team has at least one. For instance, my favorite Japanese baseball team, the Nippon Ham Fighters has four at last count, two bears, a fox, and a squirrel. They are named Brisky,  Cubby, Polly Polaris, and Frep.

Incidentally, baseball teams in Japan are named for their sponsors, not their home city. One of the sponsors is NH Foods, formerly Nippon Ham. So the players are the Fighters of Nippon Ham. They are not Ham Fighters of Nippon. But the image of men in pinstripes wielding pig legs against their opponents is so indelible in my mind that I cannot dismiss it. But I digress.


Not the Nippon-Ham Fighter logo, from

In Japan, costumed good luck symbols aren’t limited to just sports teams. In the country that invented kosupure, there are thousands of mascots, called yuru-chara. They have been created for nearly every city, school, government agency, even resorts, castles, and prisons. That’s a lot of people dressed up in hot, stuffy outfits walking around and getting punched and kicked by kids. But again I digress.


A small sampling of yuru-chara, from

Susaki wins the annual yuru-chara contest

Susaki-shi, population 22,000, is a small farm town located in Kochi-ken, on the southern island of Shikoku, Japan. Susaki is hard to get to. Most tourists never go there.  Yet I’ve been there twice. My father grew up on the family farm just outside town and I still have relatives living there.

There are a lot of people named Taniwaki in Susaki. But not everyone in Susaki named Taniwaki is related to me. Once, I was standing outside the train station in Susaki, and somebody behind me yelled “Taniwaki-san”. I turned around and said “hai” (which is about the only Japanese I know) and was startled to see that the person calling my name was a stranger. “How does this person know me,” I wondered.  I was relieved when I saw he was talking to someone else, not me. It was the first and only time in my life when I saw someone named Taniwaki that was not related to me. I stared at them for quite a while. Enough of that, let’s go on with the story.

Susaki, Kōchi

Susaki, Kochi, Japan, 33°24′N 133°17′E

A vacation trip to Susaki would be the equivalent of a tourist visiting Dumas, Texas (home of the Ding Dong Daddies) or Muscatine, Iowa (made famous by Mark Twain). Both are small rural cities that have some interesting history and architecture but are off the beaten path. I’ve been to both towns and actually lived in Dumas in the summer of 1979 working for Natural Gas Pipeline Company of America (NGPL) at a natural gas field and compressor station.

One of my coworkers at NGPL donated a kidney to his brother at a time when living transplants were uncommon. He had to have one of his ribs removed, something that is rarely done today. His sacrifice for his brother is one of the events that led me to become a donor (Real Numeracy, Nov 2007). But back to Susaki.

The town has an official mascot named Shinjōkun. It is a Japanese river otter with an inverted bowl of ramen on its head (the ramen looks like curly hair). It isn’t a run of the mill, small town yura-chara, it is really popular.

Every year there is a nationwide contest called the Yura-chara Grand Prix where over a thousand mascots compete to be the most popular. In 2016, Shinjōkun beat 1,420 other entrants to be crowned the most popular yura-chara in Japan.

The new Chiitan, not like the old Chiitan

In addition to Shinjōkun, Susaki also had an ambassador of tourism, an actual Japanese river otter named Chiitan. Otters were once common in southern Japan, but are now locally extinct. Check out the YouTube video below. So kawaii!


There are not enough cute animal videos on the web, CLICK NOW!

Susaki no longer has an ambassador of tourism, having cancelled a contract with Kleeblatt, a marketing company that managed the tourism promotion account. But that doesn’t mean there is no Chiitan. That’s because Kleeblatt, which also manages the Shinjōkun yuri-chari promotions created a derivative yuri-chari called Chiitan that is an unofficial ambassador of tourism for Susaki.

The new Chiitan is a giant otter wearing a turtle as a hat. It (he?) dances, attempts and often fails to display athletic skills, frightens children, and performs random acts of violence. It’s hard to describe the appeal in words. Just watch this YouTube video.

As Chiitan says on its Twitter bio, “Chiitan is a Japanese mascot! 0-year-old fairy baby. Chiitan plays around super actively every day!”

[Update: Twitter has suspended the account for Chiitan and people are not happy, New York Times May 2019.]


Chiitan is on Twitter, Instagram and YouTube

News stories indicate that the city of Susaki and Kleeblatt are engaged in a dispute over the intellectual property rights and creative direction for Shinjōkun and Chiitan on social media, merchandise, and an upcoming animated television show (fromJapan Feb 2019).


Back in happier times, Shinjōkun the official city mascot, Chiitan the official living otter travel ambassador, and Chiitan the unofficial travel ambassador/social media darling, along with  3 official looking humans

Shinjōkun meets ChiiJohn

If you watch John Oliver’s show “Last Week Tonight” on HBO, you may have heard that he was engaged in a Twitter feud with new Chiitan. The back-and-forth resulted in Mr. Oliver finally tweeting, “I’m in a public beef with an unsanctioned Japanese otter. I needed this.”


The feud seems to have ended with Mr. Oliver creating his own yuru-chara named ChiiJohn and sending it to Susaki to meet Shinjōkun. As John Oliver says in the almost 13 minute long segment, “Anyone can make an unofficial mascot for a city in Japan. And if you don’t already know where this is headed, you’ve clearly never watched this fucking show before…”

Starting at 8:04 in the YouTube video at the top of this blog post is a short documentary entitled “The Journey of ChiiJohn.” At 9:56 into the video, ChiiJohn climbs a hill and passes through a torii as he enters a local Shintō shrine.  Inside the grounds of the shrine, the two yuru-charas finally meet and hug, something amusingly out of character for strangers in Japan to do.

My father rejects Shintoism

I’ve been to plenty of Shintō shrines, but never in Susaki. I think my father would recognize this shrine, since it is probably the largest one in town. But he probably would not want to go there. That’s because state Shintōism was associated with Japan’s imperial and expansionist policies starting after the Meiji Restoration and continuing during World War 2.

In this Dec 2012 blog post, my dad mentions his desire to avoid the ritual of visiting the local Shintō shrine before shipping off to war after being drafted. I strongly suspect the shrine in the video is the same one my father mentions. My father was stationed in Hiroshima and survived the US bombing.

I doubt my father ever visited that shrine again in his lifetime. And if he were alive today, he wouldn’t think the visit to the shrine by two yuru-charas was funny. It’s a small world, I guess. But I digress.

by George Taniwaki

In a paper authored by Erin Cooley, et al. published in J. Exper. Psy.: General, Apr 2019 (subscription required), there is a pair of line charts, reproduced below. I found them hard to interpret.


Figure 1. Eight data points spread across two charts

Explanation of data

As I explain in a May 2019 blog post, the data is a result of two studies with eight sample cells, each represented by one of the points in the charts above. There are three pairs of groupings,

  1. Social group – social conservatives and social liberals
  2. Treatment – those receiving a lesson on white privilege and those who did not
  3. Race – those reading a story of a poor black man and those reading a story of a poor white man.

The table below summarizes the data from the charts.

Social group Race of poor person in story Received white privilege lesson Sympathy score
Conservative Black No 60
Conservative Black Yes 61
Conservative White No 53
Conservative White Yes 59
Liberal Black No 72
Liberal Black Yes 76
Liberal White No 71
Liberal White Yes 60


The improved chart

Using the data from the above table, I created my own version of the chart.


Figure 2. Rearranging the data from Figure 1

Let’s compare the charts.

In Figure 1, the data for of the groups receiving the treatment (reading a lesson on white privilege) and those who did not are plotted on separate charts. This make it difficult to track the effect.

Also in Figure 1, the horizontal axis is social group category. There are lines connecting social conservatives to liberals, two unrelated groups. Bar charts might be better than line charts to display the data.

In Figure 2, all eight data points fit on a single chart, making comparisons easier. Also, the point of this research was to determine the effect of providing a lesson on white privilege on sympathy scores. Thus, the horizontal axis should be the treatment categories, those who received the lesson on white privilege and those who did not. A line may connect the cases to show the slope, positive to indicate the lesson increases sympathy (desirable) or negative to indicate the lesson decreases sympathy (undesirable).

Finally, my chart has a smaller scale (50 to 80 instead of 50 to 100), fewer rule lines, and no box around the legend. All reduce clutter so you can concentrate on the data.


by George Taniwaki

After completing the requirements for the Microsoft Data Science Certificate (see Jul 2017 blog post), I decided to continue my training and complete the requirements for the Microsoft Artificial Intelligence Certificate.

The AI certificate is similar to the Data Science certificate. It consists of ten courses with content produced by Microsoft and administered by edX. However, unlike the data science courses, none of the AI course assignments use the drag-and-drop Azure Machine Learning interface. Instead, most projects require Python programming ability. A summary of my progress in the first six classes is shown below.

DAT 263x – Introduction to Artificial Intelligence (AI)

This is a brief overview of artificial intelligence and a plug for the Azure services that support AI. It covers the following topics:

  1. Machine learning – Azure machine learning studio
  2. Language – text processing, natural language processing, Azure language understanding intelligent services (LUIS)
  3. Computer vision – Image processing, Azure face detection and recognition, Azure video indexer
  4. Conversation – Microsoft Bot Framework, Cortana skills  (Text analytics API, Linguistic analysis API, Bing speech-to-text, text-to-speech, translation)
  5. Deep learning – Microsoft cognitive toolkit (CNTK), Azure Data science virtual machine

Oddly, none of the classes that follow use any of the Azure services introduced in this course. Instead, most rely on Python code contained in Jupyter notebooks.

Another quibble. I work at Microsoft (but not for Microsoft since I am a contractor) and most Azure subscriptions are not available to me. Who knows why Microsoft lets me create an account but then doesn’t give me access to resources. See screenshot below.


Time: 6 hours for 4 modules

Score: No missed question for score of 100%

DAT263x Score  DAT263x Certificate

DAT 208x – Introduction to Python for Data Science

This is a DataCamp course using an interactive window for quizzes and a timed final exam. (For my earlier experiences with DataCamp courses, see DAT209x in this Jul 2018 blog post.) The topics covered in this Python course are lists, functions and methods, flow control, installing packages, arrays using NumPy, graphing using MatPlotLib, and dataframes using Pandas.

Time: 12 hours for 20 modules

Score: 100% on the quizzes and labs. Missed 7 on final exam for combined score of 94%

DAT208x Score  DAT208x Certificate

DAT 256x – Essential Math for Machine Learning: Python Edition

This basic math course covers algebra, calculus, tensors, eigenvectors and eigenvalues, statistics, probability theory, sampling, and hypothesis testing. All lessons use Python in Jupyter notebooks.

Time: 8 hours for 4 modules

Score: Missed 1 question for score of 97%

DAT256x Score  DAT256x Certificate

DAT249x – Ethics and Law in Data and Analytics

This is a new course that is now required for both the data science certificate and the artificial intelligence certificate. It covers privacy (including GDPR), explainability (XAI), and power and trust (bias). The course is taught using the traditional legal framework called Issue, Rule, Application, Conclusion (IRAC).

Time: 5 hours for 4 modules

Score: No error in the labs and missed 2 questions on the final exam for 96%

DAT249x Score  DAT249x Certificate

DAT203.1x – Data Science Essentials

I took this class as part of my certificate for Data Science. See my Jul 2017 blog post for details.

DAT203.2x – Principles of Machine Learning

I took this class as part of my certificate for Data Science. See my Jul 2018 blog post for details.

For my results in the remaining classes, see Microsoft Artificial Intelligence Certificate-Part 2

White-Privilege   white-privilege2

Examples of images when searching for “white privilege”

by George Taniwaki

Making people aware of their unconscious bias or stereotypes is an important part of helping them become better critical thinkers.  Many of these prejudices are based on visual cues such as race, gender, and class. They are learned very early in life and are difficult to overcome.

As described by the Kirwan Institute for the Study of Race and Ethnicity, implicit biases are pervasive. They “encompass both favorable and unfavorable assessments, are activated involuntarily and without an individual’s awareness or intentional control.”

Unlike known biases “that individuals may choose to conceal for the purposes of social and/or political correctness, implicit biases are not accessible through introspection.”

To learn more about your own implicit biases regarding race, create an account and take this test.

Teaching about white privilege may be counterproductive

Recently, the term white privilege has come into vogue. The phrase is often used to describe how Americans of European ancestry, even if they do not actively discriminate, enjoy passive advantages over minorities.

However, recent research shows that teaching people about white privilege may have the opposite effect as intended. That’s the conclusion of a paper by Erin Cooley, et al. published in J. Exper. Psy.: General, Apr 2019 (subscription required).

In a May 2019 article on Vice, professor Cooley does a very good job of describing the results of this research, including her own personal connection through her fiancé, a white man who grew up poor. It’s a great article and I strongly recommend reading it.

She says, “Given a career focused on race, I was fixated on the privileges of being a white man. I couldn’t stop myself from mentioning that white male poverty wasn’t exactly the worst injustice out there.

“I had evidence on my side. Poor white men can hide being poor more than Black people can hide being Black. And there are plenty of systemic barriers my fiancé was unlikely to face as he made his way up to being the successful professor he is today. Still, the fact that he was a poor white man had escaped my empathy radar. I wondered whether this might be connected to my liberal worldview.”

How the study was conducted

There were two studies conducted with a total of 1,189 participants. The sample was divided into two groups, social conservatives and social liberals. Within each group, some were provided a lesson on white privilege and some were not.

All participants then read a story about a person and the hardship they underwent. For some participants, the subject of the story was a poor white man. For the others, it was a poor black man. Afterwards, all participants answered a questionnaire to measure the level of sympathy they had for the subject of the story.


Overall, there are a total of eight subsamples. The chart below shows the data, with lines indicating the change before and after receiving the lesson on white privilege (actually with and without the lesson, since they are different samples). Social conservatives have solid red lines and social liberals in dashed blue lines. Story with a poor black man have a solid triangle marker and story with a poor white man have an open square marker.


Figure 1. Effect of reading a lesson on white privilege on sympathy score on story of a poor person

In general, social conservatives reported lower sympathy scores than social liberals. Without reading the lesson on white privilege, social conservatives reported higher sympathy scores when the character was black. Reading a lesson on white privilege causes sympathy to rise for both black and white characters in the story of the poor man. Further, the difference in score is reduced.

Without a lesson, social liberals reported similar sympathy scores for both white and black characters. However , reading the lesson on white privilege causes the sympathy score to fall for the poor white man and rise for the black man, causing the difference to increase.

Thus, providing lessons on white privilege in an effort to help reduce implicit bias against poor blacks may unintentionally harm poor whites.

As prof. Cooley states in Vice, “My prior insensitivity to the experiences of poor white people might be just the type of attitude that contributes to an increasingly polarized US political climate—a climate that ultimately causes further harm to Black people too.”

Since the sympathy scores in this study are self-reported, they need to be treated with skepticism. Further, the reading and sympathy survey were administered immediately after the lesson on white privilege was given. It would be interesting to see if the effects are transient and how long lasting they are.

[Update1: I fixed some typos and a broken hyperlink.]

[Update2: Moved description of my chart to new May 2019 blog post.]