Pi Day

Those of us building boats agree March 14th is Pi day. 3/14 (March 14) is the first three digits of pi (3.14). A bar here in Port Townsend will give you a 15% discount if you can recite pi to fifteen digits (3.141592653589793). This seems like a lot to memorize, but it’s only three zip code numbers — or one and one-half phone numbers. If you had the motivation to memorize it, you could do it.

There are various ways to celebrate. The Raspberry Pi Foundation often makes major product announcements. Our tradition is to eat pie. Have a slice.

Continue reading Pi Day

Flipping the Boat

Today is the birthday of this boat.

Up until now, it has only been a fetus. It relied on the stations of the strong back to give it shape and protect it from forces that might wish it ill.

Matthew built the form (aka: “strong back”) to withstand minor explosions. Its spine is three two-by-fours, nailed together and supported by two sturdy legs. Along the spine are stations; thick sheets of plywood like ribs on a whale. The canoe rests tenuously upon this sturdy frame. Without the strong back, the canoe is only a bundle of sticks.

Today…we removed the strong back.

Continue reading Flipping the Boat

Wedding Dress for a Canoe

Today is Tuesday, March 12th, 2024. The big event today is Joel (the shop manager) making lunch for everyone: Bratwurst and beef brisket with cabbage and potatoes. That…and we are putting on the first coat of fiberglass.

We get up a little slower than yesterday but still make it into the shop at a reasonable hour. The canoe is still beautiful, more so because of the sealer coat of epoxy we put on yesterday. Our first task is to lightly (lightly!) sand the bumps and drips. The drips have to go, but if you are too energetic, the epoxy will warm up and you’ll be sanding bubblegum. Instead, we need to sand for a bit, then walk away like we don’t care about the drip anymore, and then later, when the epoxy has cooled off, we sneak up on it and sand it some more. Rich stops dilly-dallying around and gets out a sharp knife to shave off the drips.

Continue reading Wedding Dress for a Canoe

Did You Think This Through?

For the next week, we will camp out in the boat shop at the Northwest Maritime Center in Port Townsend, Washington, breathing epoxy fumes and embedding fiberglass in our fingers. This is the almost-final step towards finishing the wood-strip canoe started ten years ago by our friend, Matthew Mattson.

Matthew started this project as a senior in high school. He built a form, then applied strips of cedar to the form, then went to college, then moved to New York to be an architect. His parents consented to store the unfinished boat in the family garage, not realizing this would be a long-term commitment and would occupy the space otherwise given over to a ping-pong table.

Continue reading Did You Think This Through?

In Praise of the Dirty Protype

I’m working on my irrigation system. This requires a controller to turn it on and off. Cheap controllers are just timers. More expensive controllers factor in the current weather and avoid watering the garden during a rainstorm. Very expensive controllers (weather-based irrigation controllers) look at weather forecasts to avoid irrigating the garden when a rainstorm is going to happen in the next few days.

I’m satisfied with simple timers, but I forget to bring them in before freezing weather. They freeze, they break. Time to buy a new timer.

I’d like to be more sophisticated about my watering schedule. And I have all these Raspberry Pi and electronics parts laying around the house. It’s time to put together a Raspberry Pi Powered irrigation system with look-ahead scheduling based on the actual water needs of my plants. That’s a lot of technology to put together and get to work reliably.

Continue reading In Praise of the Dirty Protype

The Imperfection of Language

Human languages are notoriously ambiguous. Computer languages are notoriously un-ambiguous. Humans (mostly) are comfortable with uncertainty. Computers don’t even believe uncertainty is possible. It’s what led us to create un-ambiguous languages specifically for computers.

One morning, I shot an elephant in my pajamas. How he got in my pajamas I don’t know.”

Groucho Marx
Continue reading The Imperfection of Language

Integrating Computer Vision with NLP

My new car displays the highway speed limit. It’s a small reproduction of a speed limit sign, located on the upper left corner of the display. Which isn’t such a big deal, considering map data has included speed limits for the last ten years.

But I had a surprise when I was driving on a rural back road. It was twisty and in the middle of the forest. I was preoccupied with trying to avoid the deer springing out of the ditches, but noticed the speed limit had changed to eighty-five miles per hour. What?

Continue reading Integrating Computer Vision with NLP

Master AI-powered Sentiment Analysis

You sent me the wrong version of the Excaliber Coffee Pot. Your company constantly makes mistakes with shipping. I hate doing business with you!

I just wanted to tell you I received my Excaliber Coffee Pot today. It is exactly what I expected and needed. I can’t thank you enough!

Consider these two pieces of feedback from customers, sent via the contact form on a company’s website. One is from an unhappy customer – and one is from a satisfied customer. Both are regarding shipping the Excaliber Coffee Pot. An astute product manager (we’ll call her “Sarah”) would follow up: why is this customer happy (or sad)? Would this customer recommend this product to (or warn) their friends? Would this customer shop with us again?

Continue reading Master AI-powered Sentiment Analysis

A Guide to Natural Language Processing with R

Let’s assume you’re reading this for one of three reasons:

  • You have experience with R, but not NLP
  • You have experience with NLP, but not R
  • You have no idea what this is all about, but someone said you need this for some reason. (Perhaps a thesis advisor? A data scientist? A trendy article?)

Let’s start with two brief explanations you can use to orient yourself in this new world.

Continue reading A Guide to Natural Language Processing with R