50+ Ideas for Your Socially Distanced Spring

At this writing in Seattle, amid the COVID-19 outbreak, nearly all schools have announced closure, and have gone (or are soon going) to remote learning. Many workplaces have also done the same, and public officials are encouraging people not to gather in large groups.

First, please read this excellent summary from Tomas Pueyo as to why we need to implement social distancing now, not in the future, but now.

I think it may be apocryphal, but I’m told that when the Chinese write the word “crisis,” they write it as two characters which literally mean “dangerous opportunity.”

What are the opportunities to be productive and happy while under “stay at home” restrictions? Here’s a starting list.

Feel free to add your own in the comments section below.

  1. Organize office and filing cabinets
  2. Weed out closets for eventual donations
  3. Binge watch: I can heartily recommend Succession, OZARK, The Crown, McMillions$
  4. Read: for non-fiction, I can heartily recommend Bad Blood, United States of Arabia, Devil in the White City, Unbroken, and Battle Cry of Freedom. You?
  5. Master making bread. Have you tried making No Knead bread in a Dutch Oven? Amazing.
  6. Take an online course. Udemy.com has terrific online learning; I’ve done courses on Angular, Python, React, Swift and more. There’s always something to learn.
  7. Learn or improve your musical instrument skills. Piano? Guitar?
  8. Hand-write a letter or two to a friend or relative.
  9. Start that blog or podcast that you’ve always wanted to
  10. Organize a Google Hangout or WebEx/Zoom meeting to teach something you know to your kids’ class.
  11. Review documents you’ve stored in boxes, shred and purge
  12. Not to be morbid, but consider finally writing down that document of what loved ones should do if you should fall ill or be incapacitated for any reason, and make sure they know where it is.
  13. Start a video blog
  14. Purge T-shirts from previous years’ fun-runs that I will never wear for yard work.
  15. Eat dinner as a family and share stories. Maybe show the family slideshow.
  16. Break out the jigsaw puzzles.
  17. Check in on elderly and immune-compromised neighbors especially. Make sure they know how to reach you. Can you get them food or deliveries? Do they have a contact plan in place?
  18. Consider offering to advance-pay those whose businesses may be disrupted by this virus (dog-walkers, housecleaning, hell, even your favorite restaurants with gift certificate, etc.)
  19. Advance plan your Christmas or Holiday gift list for 2020. Your November/December self will thank you!
  20. Finally make that checklist of yearly home maintenance tasks, so you don’t forget anymore what needs to happen every October, December, or April.
  21. Build something cool with Raspberry Pi or Arduino, maybe with your kids if you have ’em. Here’s an Enchanted Rose with Falling Petals I made. And here’s a Photo Booth.
  22. Update that household budget, or do a pie chart of what you spend on what. Consider tools like Mint and SigFig.
  23. Organize your digital files, and finally get that backup strategy in place. What’s your backup strategy for photos, in particular?
  24. Enter your favorite family recipes on a tool like BigOven (https://bigoven.com) and share the link with family members.
  25. Start a garden
  26. Watch the upcoming Paris to Nice bike race this week, “The Race to the Sun”
  27. Fix any home technology that might not be working
  28. Move/ switch out the art on the walls. Makes your home feel fresh!
  29. Take long walks or a jog outside and enjoy the trees and flowers that are starting to bloom. You don’t have to be a shut-in, but you should keep a distance and avoid large groups, washing hands before and after.
  30. Thinking of all our “Grand Friends” that are now isolated and hunkered down [Editor’s note: these are assisted living residents that many of our kids made connections with via their school.] How about sending snail mail? Thinking kids can write letters and send art. Let’s spread some love.
  31. Print digital photos and put in frames/ photo books
  32. Wash the windows!
  33. Research family history
  34. Finally apply for citizenship if you’ve got a foreign parent
  35. Ask your favorite neighborhood restaurant if you can prebuy food, say, a gift certificate. If they say they don’t offer them, ask for the email contact of the owner and email them. They’ll likely appreciate it.
  36. Remember that hikes in the wilderness are (for now at least) totally fair game. Avoid surface contact at restrooms etc. AllTrails is terrific.
  37. Organize cupboards and pantry. Labels really help!
  38. Have your children wash your car
  39. Change passwords on online accounts and/or get a password manager like LastPass and deploy it
  40. Exercise
  41. Teach your kids important things they need time to study but don’t necessarily learn in school – the stock market, checkwriting, bank cards, billpaying, etc.
  42. Fix that nagging loose doorknob that’s been bugging you
  43. Document common home fixes or routine maintenance items via video recording, perhaps even put it into a blog
  44. Set up a Network Access Storage device like Synology and centralize ALL home photos and video on it, with an offsite backup strategy
  45. Look for items to donate in your home; you might not be able to bring them to Goodwill immediately, but get them put aside, bagged, boxed or labeled for easy donation later.
  46. Plan your next vacation, but maybe don’t yet book it
  47. Get your long-postponed earthquake preparedness kit together (yes, other disasters don’t care much about COVID-19)
  48. Figure out some key metrics of your household spending — e.g., how much do you spend on dining out? Do you know the percentage? You might be surprised.
  49. Write down five goals you’d like to achieve in the next ten years, and have your spouse/partner do the same. See how they compare.
  50. Write an encouraging note to your neighbor.
  51. A couple months after this COVID crisis has passed, I’ll be hosting a “Drink, Talk Learn” party. So I’ll be working on a presentation for that. Consider making a 3 minute Powerpoint deck on any subject you’re passionate about.
  52. Interview an older relative for StoryCorps via the StoryCorps app, on any aspect of their life.
  53. Donate to your favorite charities, or research new ones in the fields you’re most passionate about.
  54. Get the family bikes out one by one, and get them ready to ride.
  55. Clean out the garage (should be OK to do solo if not in contact with COVID surfaces.) Use mask and wipes to be sure; lots of surfaces to be sure.
  56. There are approximately one bazillion clever craft or make-at-home projects on Pinterest and Instructables. Choose one.
  57. Break out a great board game with the family or neighbor. Some good ones are Ticket To Ride, Settlers of Catan and Codenames.

When Prophecy Fails

Image result for leon festinger

Flipping channels today on CNN, MSNBC and elsewhere I’m reminded of a famous book in social psychology.

Social Psychologist Leon Festinger, the same researcher who coined “cognitive dissonance,” released a fascinating book in 1956 called When Prophecy Fails.

When prophecies fail, the most fervent believers often double-down on their original beliefs, asserting that their very actions and diligence were precisely what prevented the dire prophecy itself. That is, bad things would have come true had they not acted.

It began when Festinger stumbled on a story in his local newspaper headlined “Prophecy from Planet a Clarion Call to City: Flee That Flood.” Budding Scientologist Dorothy Martin of Oak Park, IL typed out a dire prediction: a devastating flood would arrive just before dawn on December 21st, 1954 and consume the earth. (In Festinger’s subsequent book, Dorothy Martin was given the alias Marian Keech.)

A small but fervent apocalyptic cult formed around Keech’s prophecy.

Dozens of people believed. They gave away worldly possessions, left jobs, dropped out of college, even left spouses. In so doing, their own actions cemented their certainty and demonstrated their commitment to the prophecy. They reinforced one another.

Yet December 21st, 1954 came and went uneventfully. The prophecy never happened. So what became of those who believed so fervently in the prophecy? It turns out most of them believed even more strongly that they were right. But how?

About 4AM that morning, their leader told them at they had been spared because of the “force of Good and light” that the group members themselves had spread. And because of this, most of them ended up believing in the cult even more fervently.

In the book, Festinger and his associates recount how they had inflitrated Keech’s group, and they provided this sequence of events:

  • Before December 20. The group shunned publicity. Interviews are given only grudgingly.
  • December 20. The group expects a visitor from outer space to call upon them at midnight and to escort them to a waiting spacecraft. As instructed, the group goes to great lengths to remove all metallic items from their persons. As midnight approaches, zippers, bra straps, and other objects are discarded. The group waits.
  • 12:05 am, December 21. No visitor. Someone in the group notices that another clock in the room shows 11:55. The group agrees that it is not yet midnight.
  • 12:10 am. The second clock strikes midnight. Still no visitor. The group sits in stunned silence. The cataclysm itself is no more than seven hours away.
  • 4:00 am. The group has been sitting in stunned silence. A few attempts at finding explanations have failed. Keech begins to cry.
  • 4:45 am. Another message by “automatic writing” is sent to Keech. It states, in effect, that the God of Earth has decided to spare the planet from destruction. The cataclysm has been called off: “The little group, sitting all night long, had spread so much light that God had saved the world from destruction.”
  • Afternoon, December 21. Newspapers are called; interviews are sought. In a reversal of its previous distaste for publicity, the group begins an urgent campaign to spread its message to as broad an audience as possible.

(above bullets from Wikipedia, https://en.wikipedia.org/wiki/When_Prophecy_Fails)

Here’s the counter-intuitive thing: After the predicted Apocalypse was disproven, most of the believers became more fervent in their belief that Keech was a prophet. A new justification had taken hold among the true believers: the prophecy didn’t come true because those who fervently believed, simply by the strength of their belief, were able to hold off disaster.

Festinger stated that five conditions must be present if someone is to become a more fervent believer after a disconfirmation:

  • A belief must be held with deep conviction and it must have some relevance to action, that is, to what the believer does or how he or she behaves.
  • The person holding the belief must have committed himself to it; that is, for the sake of his belief, he must have taken some important action that is difficult to undo. In general, the more important such actions are, and the more difficult they are to undo, the greater is the individual’s commitment to the belief.
  • The belief must be sufficiently specific and sufficiently concerned with the real world so that events may unequivocally refute the belief.
  • Such undeniable disconfirmatory evidence must occur and must be recognized by the individual holding the belief.
  • The individual believer must have social support. It is unlikely that one isolated believer could withstand the kind of disconfirming evidence that has been specified. If, however, the believer is a member of a group of convinced persons who can support one another, the belief may be maintained and the believers may attempt to proselytize or persuade nonmembers that the belief is correct.

It will be interesting to watch what happens in the wake of the Mueller investigation whether people (appropriately) move on to other areas of concern or whether they seek to confirm that their actions actually prevented that which they thought would happen.

Introducing popsee – easy video surveys

Have you ever been to an anniversary or birthday celebration which included video well-wishes from friends and family? Or, have you ever wanted to collect a series of video testimonials from customers?

If you’ve ever tried to gather a bunch of videos from people, you know it’s not easy. It’s a hassle to nudge people, it’s a hassle for them to record a response, upload it somewhere, send you a link. You invariably get it in all kinds of different formats and locations. And nowhere is the information easily sortable, searchable, taggable or organized.

I wanted to do something about that. I’ve launched a new, free tool called popsee which allows you to gather videos easily, from anyone with either a webcam (desktop or laptop) or an iPhone/iPad.

How It Works

Popsee is now in alpha, and only supports one use-case (the townhall described below.) But the basic steps are:

  1. A curator creates a popsee. Think of this as a short video survey.
  2. Curator gets a coded weblink which they can send anywhere
  3. End user following that link can easily respond via webcam and any browser, or iPhone/iPad. There’s no Android app get.) 
  4. popsee does basic validation for you — on things like video length, etc. End-users can re-record clips as many times as they’d like before uploading.
  5. As videos roll in, curator gets a handy dashboard to manage and sort them. Curator can download movies in standard movie formats and edit as they wish.


  • Birthdays, weddings, anniversaries and celebrations
  • Conferences
  • Townhall style forums
  • Product Testimonials
  • Auditions
  • …more

I wanted an easy way for any curator gather and organize videos from a group of people.

Origin Story

A citizen group I’m part of, SPEAK OUT Seattle!, is organizing a series of townhall-style candidate debates for an upcoming city election. As part of this townhall series, I volunteered to film a series of questions from citizens from around Seattle to be projected on the big screen.

When I started to think about the effort involved in driving around Seattle to collect about 80 videos, it dawned on me just how many people have webcams and good-quality smartphones, and that this technology can really help with the sourcing or “audition” process.

Most important, I wanted the tool to be easy. I wanted it to also include simple “metadata” that the curator wanted; in this case, the question in written form, and contact information. 

I was surprised at the lack of tools to allow a curator to initiate a video request from a group of people via, say, a specially-coded weblink (like a shortened URL.)

Sure, you can write an email or do a Facebook post and ask people to record a video and upload it to YouTube and send the link, or maybe put a bunch of videos in Dropbox, but I wanted something point-and-click simple, and I wanted it to optionally include simple survey questions based upon what the curator wants. And when old-style videos do arrive, I wanted them to arrive in searchable format, with “metadata” such as their contact information, email, or perhaps what the subject is. Over time, I’ll be looking at automatic transcription tools, search and indexing tools, word clouds and more. I wanted a platform where a survey-initiator can build a simple survey, with one or more of these questions being submitted by video.

But currently, it’s a Minimum Viable Product ready for some testing.


It’s in alpha testing.

Meaning: it’s being used just for the SPEAK OUT Seattle event.

The free iOS app is in review by Apple and should be available in the next two weeks. This app currently just lets you respond to popsee requests; I expect it will allow you to initiate them some time later this year.

I’ll be building out a great dashboard for the curators, which will include the ability to kick off new requests. If you’d like to try it out, follow and send a DM to @popseea on Twitter.

Learn more at https://popsee.com.

Send In Ideas

I’d love to hear your ideas and scenarios for requesting videos from people. How can it be made easier for you? Tweet your ideas to @popseeA.

Neural Style Transfer – Current Models

I’m working on a neural-style transfer project, and have several machine learning models trained to render input photos in particularly styles.

The current set is below; input image on the left, output image on the right, with model name in lower right hand corner.

I’ve got a few clear favorites, but I’d love to see if they match yours. Which 3-5 do you like?











































Elektro, the Smoking Robot of 1937

I’ve always been fascinated by past visions of the future. Science fiction uses the future to tell us something about ourselves, so looking back on past visions of the future, we can learn something about that age and the values, myopia, optimism and fears of the time. It’s also healthy to continually do cross-checks on “how accurate was that prediction” and “what did we miss?” so that we can improve the accuracy of futuristic predictions over time.

Lost in the drama and bloodshed of the WWII age is the story of Elektro, the Smoking Robot.

In an era when we should have been much more focused on the rise of authoritarianism and threats to freedom, we human beings actually built, at great time and expense, a robot that could respond to basic voice commands, talk, distinguish red from green, do confined movements and smoke a cigarette.

Built by Westinghouse in Mansfield, Ohio, in 1937, Elektro was a 7-foot, 250-pound star of the 1939 World’s Fair. Elektro responded to voice commands of the operator, which did basic syllabic recognition. The chest cavity lit up as it recognized each word. Each word set up vibrations which were converted into electrical impulses, which in turn operated the relays controlling eleven motors. What mattered was how many impulses were sent by the operator, not what was actually said.

Check out this video to see a full demonstration of what Elektro could do, from The Middleton Family at the New York World’s Fair:

The Tin Man was to make his appearance on film that year, in the 1939 release The Wizard of Oz.

Meanwhile, across the Atlantic, Hitler was set to invade Poland. Alan Turing was off taking mathematics seminars by Wittgenstein in Cambridge, England. His Enigma decoding efforts had not yet begun. But those efforts would, within 3 years, help usher into existence the age of the computing and the programmable machine.

Elektro didn’t house any real software, aside from pre-recorded audio. He also didn’t learn anything — what Elektro could do was entirely predetermined by engineers through circuitry, relays and actuators.

Elektro could:

  • “Recognize” basic spoken words — actually, just distinguish between the number of impulses
  • Do basic audio output (via 78rpm record player)
  • “Walk” and move his hands (thanks to nine motors)
  • Recognize red or green
  • …and of course, smoke

A series of words properly spaced selected the movement Elektro was to make. His fingers, arms and turntable for talking were operated by nine motors, while another small motor worked the bellows so the giant could smoke. The eleventh motor drove the four rubber rollers under each foot, enabling him to walk. He relied on a series of record players, photo voltaic cells, motors and telephone relays to carry out its actions. It was capable to perform 26 routines (movements), and a vocabulary of 700 words. Sentences were formulated by a series of 78 RPM record players connected to relay switches.

Elektro did his talking by means of recordings, thanks to 8 embedded turntables, each of which could be used to give 10-minute talks. Except for an opening talk of about a minute, his other speeches were only a few seconds long. A solenoid activated by electrical impulses in proportion to the harshness or softness of spoken words makes Elektro’s aluminum lips move in rhythm to his speech-making.

Millions stood in line for as many as three hours to watch Elektro during his 20-minute performances at the 1939-40 World’s Fair in New York City.

The hole in Elektro’s chest was deliberate, since Westinghouse wanted visual proof that no one was inside. As commands were spoken to him, one of two lightbulbs in his chest would flash, letting the operator know he was receiving the signals. He could turn his head side to side and up and down. He talked and his mouth opened and closed. His arms moved independently with articulated fingers.

He also smoked. An embedded bellows system let him puff on a cigarette, which was lit by his operators. Apparently, one of the operators trained to work Elektro (John Angel, shown below) used to smoke a pipe, but then quit when he saw how much buildup was in Elektro during the cleaning after each day.

Elektro was later joined by a robotic dog, Sparko:

After the World’s Fair, the two embarked on a cross-country journey. Apparently, a female companion was planned for Elektro, but when World War II broke out, aluminum was in short supply, Westinghouse was needed on many projects, and the plans to build one were cancelled.

Applying Artist Styles to Photographs with Neural Style Transfer

In 2015, a research paper by Gatys, Ecker and Bethge posited that you could use a deep neural network to apply the artistic style of a painting to an existing image and get amazing results, as though the artist had rendered the image in question.

Soon after, a terrific and fun app was released to the app store called Prisma, which lets you do this on your phone.

How do they work?

There’s a comprehensive explanation of two different methods of Neural Style Transfer here on Medium; I won’t attempt to reproduce the explanation here, because he does such a thorough job.  The author, Subhang Desai, explains that there are two basic approaches, the slow “optimization forward” approach (2015) and the much faster “feedforward” approach where styles are precomputed (2016.)

On the first “straightforward” approach, there are two main projects that I’ve found — one based on Pytorch and one based on Tensorflow. Frankly, I found the Pytorch-based project insanely difficult to configure on a Windows machine (I also tried on a Mac) — so many missing libraries and things that had to be compiled. The project was originally built for specific Linux-based configurations and made a lot of assumptions about how to get the local machine up and running.

But the second project (the one linked above) is based on Google’s Tensorflow library, and is much easier to set up, though from Github message board comments I conclude it’s quite a bit slower than the Pytorch-based project.

On-the-fly “Optimization” Approach

As Desai explains, the most straightforward approach is to do an on-the-fly paired learning of two images — the style image and the photograph.

The neural network learning algorithm pay attention to two loss scores, which it mathematically tries to minimize by adjusting weights:

  • (a) How close the generated image is to the style of the artist, and
  • (b) How close the generated image is to the original photograph.

In this way, by iterating multiple times over newly generated images, the code generates images that are similar to both the artistic style and the original image — that is, it renders details of the photograph in the “style” of the image.

I can confirm that this “optimization” approach — iterating through images takes a longtime. To get reasonable results, it took about 500+ iterations. The example image below took 1 hour and 23 minutes to render on a very fast CPU equipped with a 6Gb NVIDIA Titan 780 GPU.

I’ve used the neural-style transfer Tensorflow code written by Anish Athalye to transform this photo:

…and this artistic style:

…and, with 1,000 iterations, it renders this:

Faster “Feedforward” Precompute-the-Style Approach

The second and much faster approach is to precompute the filter based on artist styles (paper). That appears to be the way that Prisma works, since it’s a whole lot faster.

I’ve managed to get Pytorch installed and configured properly, and don’t need any of the luarocks dependencies and hassle of the main Torch library. In fact, a fast_neural_style transfer example is available via the Pytorch install, in the examples directory.

Wow! It worked in about 10 seconds (on Windows)!

Applying the image with the “Candy” artistic style rendered this image:

Here’s a Mosaic render:

…also took about 5 seconds or so. Amazing. The pre-trained model is so much faster! But on Windows, I had a devil of a time trying to get the actual training of new style models working.

Training New Models (new Artist Styles)

This whole project (as well as other deep learning and data science projects) inspired me to get a working Ubuntu setup going. After a couple hours, I’ve successfully gotten an Ubuntu 18.04 setup, and I’m dual-booting my desktop machine.

The deep learning community and libraries are mostly Linux-first.

After setting up Ubuntu on an NVIDIA-powered machine, installing PyTorch and various libraries, I can now run the faster version of this neural encoding.

Training “Red Balloon” by Paul Klee

To train a new model, you have to take a massive set of input training images, a “style” painting, and you tell the script to effectively “learn the style”. This iteratively tries to minimize the weighted losses between the original input image and output image and the “style” image and the output image.

During the training of new models (by default, two “epochs”, or iterations through the image dataset), you can see the loss score for content and style (as well as a weighted total). Notice that the total is declining on the right — the result of the training using gradient-descent in successive iterations to minimize the overall loss.

Screenshot at 19-33-26

I had to install CUDA, which is the machine learning parallel processing library written by the clever folks at NVIDIA. This allows tensor code (matrix math) to be parallelized, harnessing the incredible power of the GPU, dramatically speeding up the process. So far, CUDA is the de-facto “machine learning for the masses” GPU library; none of the other major graphics chip makers have widely used libraries.

Amazingly, once you have a trained artist-style model — which took about 3.5 hours per input style on my machine — each rendered image in the “style” of an artist takes about a second to render, as you can see in the demo video below. Cool!

For instance, I’ve “trained” the algorithm to learn the following style (Paul Klee’s Red Balloon):


And now, I can take any input image — say, this photo of the Space Needle:


And run it through the pytorch-based script, and get the following output image:


Total time:

(One-time) Model training learning the “Paul Klee Red Balloon Style”: 3.4 hours

Application of Space Needle Transform: ~1 second

Another Example

Learning from this style:

rendering the Eiffel Tower:

looks like this:

Training the Seurrat artist model took about 2.4 hours, but once done, it took about 2 seconds to render that stylized Eiffel Tower image.

I built a simple test harness in Angular with a Flask (Python) back-end to demonstrate these new trained models, and a bash script to let me train new models from images in a fairly hands-off way.

Note how fast the rendering is once the model is complete. Each image is generated on the fly from a Python-powered API based on a learned model, and the final images are not pre-cached:

Really very cool!


original image:


Image result for rain princess

Output Image:

Amy Schumer, Viagogo and the “Postponement” Scam

They say that a fan tells 3 people about great service, and someone who has received poor service tells 10. Well, I’m pissed at Amy Schumer’s tour company and I’m pissed at ticket reseller Viagogo for being very scammy. I’d like to shift gears from the usual topics on this nascent blog (tech, data analysis, civic issues, etc.) to share how NOT to treat people who have paid good money for your product or service. If you cannot deliver the goods or service, you need to allow for customers to get a refund.

Amy Schumer and the “Postponed Event” Scam

OK. I’m not an Amy Schumer fan, but my wife is. Or at least, she was.

Image result for amy schumer

About a month before my wife’s birthday, I noticed that Schumer was coming to Seattle to do a stand-up comedy performance at the Paramount Theater. So, for a special birthday surprise, I splurged and bought my wife and three of her friends four front-row tickets for her birthday, so that she could have a fun and memorable night out (followed by drinks before and after.)

Now, these tickets weren’t cheap; I shelled out $1,224.70 on October 20th, 2018 for four tickets from Viagogo, which was an authorized reseller for that event. Yes, this was expensive but I wanted my wife and three of her friends to have a great night out. I figured, it was for my wife’s birthday, we are lucky enough to be able to afford it, and instead of buying physical gifts, the things my wife loves most are laughter and memories with friends.

Unfortunately, about a week or so before the event, Amy Schumer had to opt-out of the show for serious health reasons related to her pregnancy, and announced that decision on her Instagram account.

Now, and this is important — I completely support Schumer’s decision to put her health and her child’s health in the highest priority.

An audience is far less important than one’s health, and performers cancel events all the time, for understandable and far more trivial reasons. I sincerely do wish Schumer the very best of health in her pregnancy and delivery.

But this post is NOT about the fact that she cancelled the performance. It’s about the fact that she didn’t, and still hasn’t. This allows her and her tour management company to hang onto all cash put down on a product that no longer exists as advertised.

If You Don’t “Cancel” You Don’t Have To Refund

My complaint is that she didn’t and still hasn’t officially canceled the event, even though, at this writing, the event never took place as scheduled two weeks ago. No, Schumer has formally has “postponed” the event to some as-yet unnamed date and time. This allows her to hang onto all the money that was paid in advance by the audience for the prior date and time — her resellers (at least Viagogo) are NOT refunding these ticket sales, because they only offer refunds if the event is cancelledBut what is an event that doesn’t happen on its date and time, but which also does not have any known new date or time?

That is sucky to do to customers and fans

I’m financially fortunate, but there are a lot of people for whom a few hundred bucks is a ton of money. Selling a product, not delivering it, and hanging onto the cash while not offering any chance of a refund is a sucky thing to do, and the Better Business Bureau and others rightly push back against it.

At this writing, we paid ticketholders still have no idea what date or time the event is going to be (OK, that’s fine), but we cannot get refunds (NOT fine) and we cannot resell without taking a huge hit (which is again NOT fine.)

Schumer could simply have cancelled the show and let us ticketholders make a decision again about buying for her next showing. She still can do the right thing here.

Instead, at this writing, she is trying to have it both ways, holding the cash many paid ticketholders put down. We thought we were buying a product on a particular date at a particular time in particular seats. We looked at the price, said it was worth it. That does not mean that any other date is also fine.

The way she is handling this is really atrocious. She’s got PR people and they are ducking the issue. When I told her via Instagram that I wish her well in her pregnancy, and that she should ALSO do the right thing and officially CANCEL the shows she’s missing, she blocked me. She’s ducking the issue, and not being forthright about it, and not doing right by her fans. Her tour managers haven’t informed Viagogo, the ticket reseller to tell them to refund our tickets.

Amy Schumer took the weaselly route, and did not formally cancel. She “postponed” the event, but (going on several weeks now) without any new date or time or venue. As a result, the ticketers such as Viagogo will not refund tickets, and reselling them for anywhere near the original value is basically impossible, given that there’s no known date, or time, or place. Her company’s communication on this has been terrible. Nonexistent, essentially. Laughable, maybe — but unfortunately, laughably bad.

The event was supposed to take place on November 24th at Seattle’s Paramount Theater. Tickets were purchased October 10th 2018 on Viagogo. It is now December 6th, two weeks after the originally scheduled events, and (a) no refunds are being processed by Viagogo for this show, because they claim the show was “rescheduled from its original date”, and (b), it has NOT been rescheduled — there is no time, no place, and no venue. So effectively, we customers just need to suck it. We may want to deploy that cash elsewhere. We cannot.

So Viagogo and Amy Schumer’s tour are:

  • sitting on more than $1,200 of my money
  • refusing to refund it because they claim it’s a “postponement”
  • effectively preventing me from reselling these tickets (who is going to buy tickets without a known date or time?)

Look, I can afford it. It mostly makes me angry for all those for whom this was a real stretch. She’s “postponed” shows in many different venues, and has not cancelled them. She tweets out that fans should “check with the box office for refunds” when she knows — or MUST know — that by simply “postponing to date TBD”, most venues and resellers will NOT refund.

That’s incredibly shady and lame.

I’ve taken to posting some questions on her Twitter feed and Instagram feed. While I wished her well in her pregnancy and said it was completely right and fair to CANCEL the show, she still blocked me. But you can jot her a note here.

I think the way she’s handling this is pretty atrocious. I’ll certainly never buy tickets again for this performer, and recommend you do not either. I regret the purchase. She and Viagogo clearly have no real respect for the money that ticketpayers pay them.

The event has come and gone, and maybe my wife will still go with her friends some day. But is this any way to treat your fans? I’d like a refund, which I think is the least that should be done here.

My 4-ticket purchase, October 20, 2018

Schumer announces cancellation on Instagram 6 days before show

No word from Viagogo until 48 hours later, after I contact them

“Postponement” Announcement Flows Through On Facebook, 2 days later

Notice no date or time named for the new show. So that means it’s cancelled, right? Not so fast.

Viagogo Announces “Postponement” on November 20th, 4 days before show

Finally, Viagogo gets back to my inquiry stating that yes, well, it’s postponed, and so I cannot get any refund, but hey… I can always resell the tickets for some unknown date and time! And hey, we’ll keep your $1,200, thanks very much. LAME.


Notice that Viagogo’s lame boilerplate response seems to assume that we all know the new date and time. WE DO NOT KNOW THE NEW DATE AND TIME. You have our cash — in some cases a substantial amount of it — that you’re holding hostage for a show that only exists in the imagination of one or more people to do at some point. Maybe.

Last — I want to emphasize, she was RIGHT not to do the show. She was RIGHT not to travel. I respect her decision to put her and her fetus’s health above anything else.

But my point is that there was a way to do this with integrity. CANCEL the show, don’t “postpone to some unknown date.” Let your fans get refunds on tickets; don’t sit on their cash while you figure it out — don’t assume that your new date and time, whenever it finally is announced, will actually WORK for fans. Those of us in the audience have lives too. That’s incredibly sucky, Amy Schumer and Viagogo, and I wanted to pass that word along. See you on Twitter.


It is now two months since I purchased the tickets, and nearly a month since the “postponed” show was to take place. Still no word from Schumer’s tour company on any date for the new show, nor any official cancellation. She’s hiding from Instagram and not mentioning this issue on Twitter. She’s still sitting on the cash of the tickets sold without doing the right thing and allowing full refunds to be issued by both the original venue and any resellers. Viagogo continues to refuse to refund the money, claiming that Schumer has only “postponed”, not “cancelled” the show. They tell me I can resell the tickets, but who is going to buy tickets without any date or time certain? They are essentially worthless, and no one is talking. Do the right thing and officially cancel the show, so that people can get their money back.

Update 2: March 2019

Schumer’s management company finally officially cancelled the show, several months later. Viagogo finally said they’d honor the tickets if I mailed them back. So I mailed them into Viagogo, triple-checking the mailing address (because they were valuable.)

But now, they claim never to have received them. Yet, their system shows that I purchased them.

A large part of this final step was my fault — I was in a hurry that day (was about to go on a trip), and I simply dropped the tickets with excess postage in a mailbox. Given the experience to date I certainly should have taken the time to go to the post office to get a certified letter showing receipt. At this point, I’m out the roughly $1200. Lesson learned — and I guess I’ll take most of the blame for not going to the post office to get a certified receipt — but man, what a shitty customer experience. 

Machine Learning/AI for Kids: Resources

I’m on a parent advisory committee at my daughter’s school. The committee is taking a look at the school’s existing Computational Thinking curriculum and where it might want to head in the future.

Luckily for us, the faculty is already doing a very good job with the curriculum. So our role as advisers is to provide a sounding board and perhaps additional guidance regarding ways they might want to augment the program. Key topics not yet addressed much in the existing computing curriculum are Machine LearningDeep Learning and Artificial Intelligence. These are pretty advanced fields, but becoming so essential to both the world we live in today and the one we will experience in the future. So what kinds of things might be useful to introduce and explore at the middle school (grades 6-8) and high school (grades 9-12) level?

What’s There, What Might Be Missing

At the school, they’re already introducing many central concepts of computing, like breaking down problems into smaller problemsbasic algorithmsdata modelingabstraction, and testing. They’re teaching basic circuits, robotics, website creation, Javascript, HTML, Python basics and more.

In the current era, understanding data is absolutely essential. Topics like what makes a good dataset, how to gather data, ethics involved in data gathering, basic statistics, what the difference is between correlation and causation, how to “clean” a dataset, how to separate out a “training” and “validation” dataset, what signals we use to make an educated guess as to whether we should trust the data set or not, and more. Next, a basic understanding of how machine learning works is useful, because it can build a better picture both of what’s possible and what might be limitations. So understanding at a very basic level what we mean by terms like “deep learning”, “machine learning” and “artificial intelligence” can be helpful, because these terms come up in the news a great deal, and they might also make great career choices for many students (and also hint at fields ripe for disruption and potential decline.) One participant also pointed out that an understanding of current agile development practices is helpful. Agile is a development process and philosophy that emphasizes flexibility, all-team focus, constant feedback and continuous updates. It typically includes components like source control, short work bursts called “sprints” where everyone works toward some specific set of short/medium-term achievements, regular reviews and adaptability. Some of these tools and techniques (e.g., version control, “stand-up” reviews, “minimum viable product”, iteration and measurement (A/B testing), etc.) can actually be quite useful in group projects outside of the computing world. And simply browsing through Github and seeing what people are working on can open up a world of possibilities. So it’s good to know how to explore it, and that it’s right there and available to anyone with access to a computer. Another basic piece of the conceptual puzzle: Application Programming Interfaces (API.) APIs are how various computer services and devices talk among one another “across the wire,” and because they usually have tiny services behind them (“microservices”), they can best be thought of as the LEGO building-blocks of today’s applications and “Internet of Things”. My hunch is that once students fully understand that pretty much any of the API’s they run across can be composed together to form one big solution, that conceptual understanding unlocks a gigantic world of possibility. (Just a few of the many APIs in the machine learning field are listed below.)

Machine Learning Resources

As for actually getting your hands dirty and building out an intelligent algorithm or two inside or outside of class, the likelihood of success certainly depends upon the students and their interest. Are there canonical, interesting and accessible examples to introduce these topics? We in the committee (including the key faculty members) certainly think so. With that in mind, here’s a short running list of projects and videos in the computing world that might be interesting to educators and kids alike.

Introductory Resources

Introduces how repeated input data is used to train a machine to “predict” (classify) output based on input. Google Quick Draw This is a fun Pictionary-style game where it’s the computer that does the guessing. It might be a fun way to introduce questions of how it’s done — it seems magical.

Questions for class:

  • How does it work?
  • How do you think they built this? What data and tools might you need if you wanted to make your own?
Authors: Jonas Jonjegan and Henry Rowley, @kawahima_san @cmiscm and @n1ckfg

Microsoft AI Demos Area

Microsoft Corporation has several great interactive playgrounds. You can experiment with text analytics (including sentiment analysis), speech authenticationface and emotion recognitionroute planninglanguage understanding and more.


A terrific playground to experiment with classification algorithms (k-means clustering, support vector machines and more) is at http://ml-playground.com/. You can plot two colors of points on a 2D (x, y) graph, and then apply a few algorithms to visually see how well they recognize “clusters” of like-points. Excellent and free.

ML Showcase

A fun meta-site that rolls up a list of machine learning resources is the ML ShowcaseCheck it out.

Amazon Machine Learning APIs

Amazon also has a very large set of useful machine learning APIs, but in my cursory look, they are short on “playground” demo areas that are in front of a paywall, so they might not be the best fit for a classroom at present writing.

Create Music with Machine Learning

Fun app: For those musically inclined, check out Humtap on iOS. Hum into your phone and tap the phone, and the AI will create a song based on your input.

Programming Tools

Machine Learning for Kids (Scratch + IBM Watson Free Level)Scratch is a great, free programming environment for kids which grew out of the Media Lab at MIT. This Machine Learning for Kids project is a very clever and surprisingly powerful extension to the Scratch Programming Language written by Dale Lane, an interested parent. It brings in the power of the IBM Watson engine to Scratch by presenting Machine Learning Building Blocks such as text classifiers and image recognizers. These visual drag-and-drop blocks can then be connected into a Scratch program. Fun examples include:

  • An insult vs. compliments recognizer (video below)
  • Rock-scissors-paper guessing game
  • A dog vs. cat picture recognizer

I’ve wired up the compliments vs. insult recognizer on my own desktop, and it’s a very good overview of the promise and pitfalls when trying to build out a machine learning (classifier) model. I was impressed with the design and documentation of the free add-on, and it makes playing around with these tools a natural extension to any curriculum that’s already incorporating Scratch. I can imagine that for many middle schoolers and high schoolers, coming up with a list of insults to “train” the model would be quite fun.

Real-World Examples

Perhaps you’d like to begin with a list of real-world examples for machine learning? Examples abound:

  • Voice devices like Amazon Alexa (Echo), Siri, Cortana and Google Assistant
  • Netflix, Spotify and Pandora Recommendations
  • Spam/ham email detection (how does your computer know it’s junk email?)
  • Automatic colorization of B&W Images
  • Amazon product recommendations
  • Machine translation — Check out the amazing new Skype Translator
  • Synthetic video
  • Twitter, Facebook, Snapchat news feeds
  • Weather forecasting
  • Optical character recognition, and more specifically Zipcode recognition, one of the canonical examples (MNIST) Machines which recognize handwritten digits.
  • Videogame automated opponents
  • Self-driving technology
  • Google Search (which results to show you first, text analysis, etc.)
  • Antivirus software

What these solutions all have in common is a Machine Learning engine that ingests vasts amount of data, has known-good outcomes, a training set of data, a validation set of data, and a set of algorithms used to programmatically try to guess the best output given a set of inputs.

Data Science

I’ll likely do a separate set of posts on introducing Data Science to kids, but in the meantime, I wanted to mention one dataset here.

“Hello World” for Data Science: Titanic Survival

Machine learning is about learning from data, so Data Science is a direct cousin to (and overlaps heavily with) both Machine Learning and Deep Learning. A machine learning algorithm is only as good as its training and validation data, and students need to become familiar with how to recognize valid vs. invalid data, what data is the right kind to include vs. exclude, how to clean and augment data and more. Tools of the trade vary, but the Python data analysis stack (such as the libraries pandas, numpy and scikit-learn) are becoming a lingua-franca of the field.

There are several datasets that are interesting ways to introduce data analysis, but one of my favorites is the: Titanic Dataset (High Schoolers: Data Science, Predictions and AI):  Few events in history can match the drama, scale and both social and engineering lessons contained in the Titanic disaster. Would you have survived? What would have been your odds? What is the difference between correlation and causation? You can actually make a prediction as to what the survival likelihood was of a passenger based on their class of service, gender, age, point of embarkation and more. While not strictly “machine learning” per se, this dataset introduces the basic building block of machine learning: datafeatures, and labeled outcomes

By doing this exercise, you lay the groundwork for much better insight into how machines can use lots of data, and features in that data, to begin to make predictions. Machine learning is about training computers to recognize patterns from data, and this is a great “Hello World” for data science. (For those schools who want to introduce topics of privilege and diversity and of an era, it’s also avenue to discuss those social issues using data.)

Machine Learning Explained Simply

Terrific Hands-on Lab (Intermediate Learners): Google Machine Learning Recipes

What is Machine Learning? (Google)

What is a Neural Network?

This superb and accurate video takes the classic MNIST dataset (which is about getting the computer to correctly “recognize” handwritten digits) and walks through how it’s done. About 3/4 of the way through, it starts getting into matrix/vector math, which is likely beyond most high school curricula, but it’s very thorough in its explanation:

A Pioneer of Modern Machine Learning

Advanced (but Fascinating) Videos and Projects

Got advanced students interested in more? There’s so much out there. I’m currently going through the amazing, free Fast.ai course. Really good overview, and includes fun recognizers like a cats vs. dogs recognizer, text sentiment analysis and more. There are fun projects on Github like DeOldify, which attempts to programmatically colorize Black & White photos

What do (Convolutional) Neural Networks “see”?  

Neural networks “learn” to pay attention to certain kinds of features. What do these look like? This video does a nice job letting you see into the “black box” of on type of neural network recognizer:

Neural Style Project

It took a little while to set up on my machine, but the Neural Style project is pretty amazing. If you’ve used the app called “Prisma,” you know that it’s possible to take an input photograph and render it in the style of a famous painting. Well, it works with a neural network, and code that does basically the same thing is available on the web in a couple of projects, one of which is neural-style. Fair warning: Getting this up and running is not for the feint of heart. You’ll need a high-powered computer with an NVIDIA graphics card (GPU) and several steps of setup (it took about 30 minutes to get running on my machine.) But when you run it, you can play around with input and output that looks like this:


Taking this photograph I took, and getting the neural-style project to render it with a Van Gogh style:

Great AI Podcast

The AI Podcast has a lot of great interviews.

Generative Adversarial Networks (GANs)

One of the most interesting things going on in machine learning these days are the so-called Generative Adversarial Networks, which use a “counterfeiter vs. police” adversarial contest to train an algorithm to actually synthesize new things. It’s a very recent idea (the research paper by Goodfellow et al which set it off was only published in 2014.) The idea is that you create a game of sorts between two algorithms: a “Generator” and a “Discriminator”. The Generator can be thought of as a counterfeiter, and the discriminator can be thought of as the “police”.

Basically, the counterfeiter tries to create realistic-looking fakes, and “wins” when it fools the police. The police, in turn, “win” when they catch the generator in the act. Played tens of thousands — even millions of times — these models eventually optimize themselves and you’re left with a counterfeiter that is pretty good at churning out realistic-looking fakes. Check out the hashtag #BigGAN on Twitter to see some interesting things going on in the field — or at the very least, some very strange images and videos generated by computer.

There’s a great overview of using a GAN to generate pictures of people who don’t exist. (Tons of ethical questions to discuss there, no?) For instance, these two people do not exist, but rather, were synthesized from a GAN which had ingested a lot of celebrity photos:

Another researcher used a GAN to train a neural network to synthesize photos of houses on hillsides, audio equipment and tourist attractions that do not exist in the real world: homes on a hillside which do not exist in the real world: 

Mostly thatched huts in mountains or forests

audio equipment which does not exist in the real world: 

tourist attractions which do not exist in the real world : 

And how about this incredible work from the AI team at University of Washington?

https://www.youtube.com/watch?v=AmUC4m6w1wo https://www.youtube.com/watch?v=UCwbJxW-ZRg

Interesting Topic for Mature Audience

One of the pitfalls of machine learning and AI is that bad data used in training can lead to “learned” bad outcomes. An emblematic story that might be of interest to some high-school audiences which illustrates this is the time that Microsoft unleashed Tay, a robot which learned, and was quickly trained into a sex-crazed Nazi. On second thought…

Suggestions Welcome

Do you have suggestions for this list? Please be sure to add them in the comments section below.

Netgear ORBI – This is the WiFi You Are Looking For

Steve, the wifi is down.” As the go-to guy in the house for all tech issues, I’ve been hearing that call, and reading that SMS text from family members for more than a decade. I’ve come to dread those words. In recent years, it’s been all-too-frequent. And since the longest-running wifi configuration in our house has been not one but three different SSID’s, the chances that one or more zones were down at any given time were high. To get fast wifi throughout the home, some approaches I’ve taken in the past have included:

  • One router and multiple access points
  • One router with repeaters range extenders
  • A combination of the above
  • Replacing the entire system with the AMPLIFI Mesh Network

Using multiple access points and networks has the problem of complexity — we end up with various networks in our house and devices which need to hop onto their local “best” signal. Some client devices tend to get confused finding the best signal, and it gets frustrating. The second approach is simplest, with a single broadcast and multiple “range extenders”, but it comes at the cost of speed. Since part of the 2 or 5Ghz radio spectrum is used to relay the signal back to the base router, performance can easily halve with every repeater in the chain. And the reliability there, too, has not been good — frequently a repeater will go offline or seem to “forget” its state of the world, especially when a base unit reboots. So I’ve also given the AMPLIFI mesh network a try. And, while it’s a great product, it didn’t seem to get along well with SONOS.

Enter NETGEAR Orbi

I’ve finally found what I think is the best wifi system for our home: the NETGEAR Orbi Ultra-Performance Whole Home Mesh WiFi System.

NETGEAR’s Orbi Base-Satellite Combination is Easy to Set up and Fast

Easy Onboarding, Great signal.

I was very impressed by the onboarding, and one day in at least, these speeds are amazing. I’ll update this post in a few weeks/months to tell you whether it’s working well. The NETGEAR Orbi Ultra-Performance Whole Home Mesh WiFi system is off to a terrific start, and couldn’t be happier. These things have very strong signals, and they use just one SSID (network name) throughout the entire network, meaning your phone or device stays connected no matter where you move in the house. I’m very impressed by Internet speeds I’m getting off of “satellite” stations — right now in my office I’m seeing speeds north of 190Mbps, which is two to three times faster than I was getting before.

I’m very pleased with it so far — the app has a handy display of network topology and connected devices. The web-based admin panel has far more control, and appears to have all the features of a typical high-end NETGEAR router (port forwarding, blocking, DDNS, etc.)

A key difference between the ORBI system and range extenders is that ORBI has its own private 5Ghz backchannel that it uses for “backhaul” to the router, so you don’t lose any significant speed at the satellite location. And I love the fact that we’re now back to a single SSID through the whole house — you can move from room to room, even outside, and the SSID stays the same.

As for the Satellites, at this writing they are all connected in a wireless topology to the base station. I haven’t yet tried the “backhaul via Ethernet” configuration — right now I have a base station and three satellites (the maximum allowed.) Everything appears to be running smoothly.

Here’s a good video review:


(I was not paid anything for this endorsement; I simply love the product so far, as it appears to be finally solving a long-running headache.)

RECOMMENDED. The Orbi Ultra-Performance Whole Home Mesh WiFi System.

Update: One Week In

Wow! Super-fast speed and NO problems. So far, so good. Strong recommendation. Very happy that I might finally have found the solution which works.  

Two Weeks In

Not a single restart, nor disconnect, nor satellite “forgetting” its state. I love this product! Strong recommendation.

The Journey Begins

Thanks for joining me! I’ve updated this blog to include some thoughts on technology, data analysis, Seattle municipal issues, photos from travel, and more.

Good company in a journey makes the way seem shorter. — Izaak Walton