“We all have a comfort zone, a learning zone, and a panic zone.Aim toward the outer edges of the learning zone. While you don’t want to panic, you’ll grow the most when you’re past your comfort zone and stretch yourself to learn something new.”

Lev Vygotsky

Finding hidden talents lost to your childhood

The reason why I suck at writing, hate reading and have never been able to pick up languages – and how I proved myself wrong.

I’m sitting in my dimly-lit, third-grade classroom. My mom and I are sitting in hard, vibrantly-colored, plastic chairs. My English teacher, who is sitting across from us, is your typical sweet southern grandma, until she opens her mouth.

“I know I’m not supposed to say it,” she says anyway, from her wrinkled, fuzz-covered lips, “but, if I were you, I’d go home and give him a good spanking.”

I don’t know if my mom nodded, ignored it, or what came after, other than the feeling of betrayal from my teacher, mom, and the educational system. I wasn’t a bad kid or bully. This discussion wasn’t the result of my lobbing spitballs. This was Mrs. Manard’s solution to my “C” level performance.

Looking back, I tried to do the things required to excel in school but, try as I might, I couldn’t do them the way I was supposed to. I disliked the slow pace of English class and reading large books that seemed irrelevant to my life. I already knew how to read, write, and speak. Knowing the rules as to why one should never end a sentence with a preposition felt unimportant.

Without knowing it, Mrs. Manard redirected my educational trajectory, and, by 10 years old, I decided, “I suck at English.”

My foreign language class wasn’t much different. Aside from having a much nicer teacher, I didn’t do well memorizing all the rules. There was no satisfaction in the months of repetition required to eventually say, “Your cow is fat.”

I had another epiphany at 12 years old. I was never going to be able to pick up new languages.

——————————————————————————————

Some stories, like mine above, become obsolete in adulthood, but never get a makeover.

Being a “bad speller,” “bad at math,” or “not being witty” are a few examples of stories you may have calcified during childhood. They are either told to us, beat into us, or remnants of unwanted consequences we had to endure.

These stories are as relevant to us now as a favorite toy or blanky. They are anchors that swaddle us in chains, leaving us comfortably limited. We see these features as foregone conclusions, but, somehow, we are unable to remember when these features formed or when we last questioned them.

Maybe it’s time to update our stories.

The story above is part of my history. It made me who I am today. But, it’s based on old experiences and, therefore, outdated. 

If a 10-year-old kid walked up to me now and told me how to live my life, I would think it was a joke. Yet, somehow, my 10-year-old self is still telling me how to respond to my environment. 

I can’t continue to rationalize this logic. It is time to update my stories and make them more relevant to my current environment, social circles, and interests. It’s not about changing who I am, but ensuring I am not limited to who I thought I once was.

Like the rest of the world, the isolation of COVID provided me with an opportunity to pause, reflect, and assess. An opportunity to dissolve the negative assessments of my capabilities. This simple reframing immediately altered my perspective. I went from reasserting my shortcomings out of habit to searching for ways to reexamine them. 

Take languages, for example. Soon after I took this new approach, I caught myself responding to the question,  “Do you speak any other languages?” with a canned,  “I am good with learning software languages, but have never been able to grasp foreign ones.”

The first time I used that response was in high school. High school?! It has been a reflex, hidden, very literally, under my nose for decades. 

I decided to test the theory. I began looking for language apps. If one didn’t suit me, I tried another. I found groups at work that were studying languages (turns out a lot). I Googled hacks to learn languages quickly. I found platforms that connect users to native speakers around the world, so they could learn for pennies on the dollar. I kept what I liked and threw out what didn’t work for me.

A year later, I’m speaking French and Spanish at an Intermediate level. I now see the world in a new light. Like a veil being lifted around me, I now recognize the lyrics of foreign songs, follow dialogue in foreign flicks, and eavesdrop on tourists at my local coffee shop. I didn’t just learn languages. By challenging my old thinking, and with little effort, I illuminated a new world.

Enthused by the results of this formula, I applied it to my “sucking at English” and so many other false truths weighing me down over the years. 

Through this experience, I had an epiphany: Maybe, I have always loved English and languages. Maybe, I just hated a few child classes that unfortunately bound me to a false narrative. 

Let’s close the book on these old narratives and make room for a new, liberating reality.

Redefining your reality 

Introspection is paramount in discovering and redefining outdated stories.I had to catch myself repeating old facts to others, and then determine whether it is outdated. 

That’s your clue. 

Then, reset and re-create that truth from scratch.

  1. Catch yourself. When you hear yourself assertively self-deprecating what you’re capable of, replace it with, “I haven’t taken time to be good at it.”
  2. Step back and see if you can pinpoint when you formed that opinion. Who were you then? Is it possible you’ve evolved in other ways since then? Are the issues that blocked you still present now?
  3. Cut out what’s no longer serving you. Do you spend hours on the phone or TV? Maybe cooking everyday is a burden and ordering out once a week removes it. Can you trade a day, hour, or activity to investigate this question? Maybe block your work calendar for 30 mins, one day a week, or add an activity to your wake-up or sleep ritual. Maybe you mow the lawn one fewer time a month, and it grows just a bit longer. These are a few trade-offs you can make to open yourself up to new possibilities. Personally, I deleted all my social apps and replaced them with Duolingo.
  4. Chose one thing from #1 and start researching ways to engage it for a few minutes gained in #2.
  5. Give it 6 months and see if your story changes.

Finding Nebo

In my journey from being “a writer hater to a writer lover”, finding the Nebo app was a defining moment. Of all the apps I tried, only Nebo could recognize my chicken scratch, retain my handwritten texts for review, and allow me an edit the original text before converting it to type.

Nebo beautifully melds the written form, digital tech, and typography. Its edit-gestures feel incredibly natural, the digital ink flows like your favorite pen, and the final product is compatible with the modern world. I’ve gained in all mediums and compromised in none.

It’s rare to find an app drives you to create opportunities to find excuses to use it. Especially when the app exists to enhance the mind, not rot it.

Feature Highlights

Chicken scratch interpreter

I’m amazed at how well the interpreter is, able to convert my god awful handwriting to text. It seems to combine A.I. OCR handwriting with grammar to assume a nearest approximation of what I’m trying to write. Whatever the methodology, the results far better than apple’s built-in note taking app.

Inline Editing in ink or between typed notes

In the event the interpreter fails, the editing features makes correcting easy and fun. For example, handwritten text is retained until you double tap it to convert to type.This allows you to review your writing before conversion. You can also preview the converted text in a banner scrolling horizontally above.

Wish List & Nits

Night/Dark Mode

Sometimes inspiration strikes right as I’m getting to bed. I reach for my iPad, open Nebo, and BAMB! An intensely white screen blinds me as my eyes try to adjust.

More Heading sizes

Simply put, H1 looks like H2, and I can’t bold text on Its own line without it becoming a heading. So, new H3?

Clearer New Line & Erase Interpreters

I like the natural feel of gestures. However, I find my self trying to gesture a new line over and over to no avail. I think the app can be smarter. Why not assume one new line is available, infinitely until converted. So, when I hit the end of a line I don’t need to gesture in the first place.

From a writing hater, to a writing lover

Where the hatred started

Writing has never been easy for me. It isn’t for a lack of wanting, and my early school years weren’t nurturing.

Since I can remember, I yearned for the ability to get all my thoughts, observations and theories onto paper. My hands just couldn’t keep up. When I took a shot at writing quickly, the results were illegible. When I took the time to write cleanly, the thoughts would slip through my fingers.

I couldn’t strike a balance and wasn’t willing to push through the torture of building skill through the slow, methodical, practice of writing and rewriting my ABCs. I neither had the penmanship nor the patience. And, with that, I could only assume writing wasn’t my thing.

This frustration as a child turned into a hatred toward writing, and that hatred turned into avoidance.

I slogged through school and found creative ways around my poor penmanship. It’s not like I didn’t love other art forms, but putting pen to paper felt dull, overly academic, and unimportant. I didn’t see how writing could have the same beauty and value as a Picasso, or express the emotions of a Rachmaninov.

In an adolescent, cool-guy way, I would take a sort of pride in “not being a writer.” Or, I’d say, “I’m good at other things — how about you write it up?” It was easier to do than admit I was bad at it. The way most children respond when they try to justify a lack of skill in some area.

That became my story. And it was left unedited for decades.

Along the way, with the advent of the computer, I thought I was saved. I was one of the lucky ones where writing by hand became obsolete in my lifetime. Good riddance. I could finally leave handwriting in the rearview.

Once I was out of school and gaining balance in the real world, I took another crack at writing. Now that writing by hand was no longer a blocker, and spelling and grammar was managed by machines, maybe I could become a writer after all.

Confronting what I now realize are years of excuses, I decided writing would no longer be a weakness in my armament of tools. It was time to revise my story. Since then, I’ve had a lot of catching up to do.

Okay, let’s try that again

In my 20s, when I started my first company, I realized the power of the written word. In order to communicate a vision at scale, one must codify their thoughts so others may follow. In order to improve, I started a blog and set out to post daily for a year. While I evolved considerably from my first post to my last, I still had a long way to go.

Years later, after hitting a plateau and going on hiatus, I decided to hire a writing coach. She swore by the power of “morning pages” laid out in the book “The Artist’s Way” by Julia Cameron. In it, the author believes one must return to the written form to connect with one’s inner artist. My new teacher passed on that requirement to me, and with it, I had come full circle. In order to learn to be a writer, I had to once again slog through my pitiful excuse of penmanship.

What surprised me about this go around was, for the first time, this teacher told me she didn’t care about how my writing looked or what it said. To her, none of that was important. She just wanted me to use my hand to write — anything. As long as paper and pencil were involved, she’d be happy.

It was — freeing.

It shut down the overly critical side of my brain, further imprisoned by early schooling.

I had a second wind.

I began to write in my notepad, about nothing, for five minutes a day. Through aches in my fingers, and in spite of all my ideas vanishing right as I picked up my pencil, I followed the prescription. I planted notebooks, pencils and sharpeners around the house, so nothing could get in the way when the compulsion to write struck. At times, when I had nothing to say, I would scribble some variation of, “I am writing this even though I can’t think of anything so that I don’t stop writing until my time is up.”

After a few weeks, I could see a connection forming between my hand and my mind. Where thoughts used to swirl around in my head and go nowhere, now they had an exit route. I developed a pavlovian reaction to search for paper when the marble in my head began to rattle. And, unlike the brevity of notes I took on my phone or computer, I found my handwritten entries getting longer at each session.

The potential was certainly there, but I still had one issue to overcome: I couldn’t read any of it.

Tech to the rescue

I’m a gadget guy. And, I’ve used my affinity toward doodads as a mental hack, tricking my mind to focus on important things I need to do that I have no interest in doing otherwise. Sure, I could vacuum and begrudgingly roll over the carpets while wishing I was doing anything else, but I prefer to get a Roomba, configure it, and whistle while it works.

“Hold on!” I thought one night, staring at my pad and pencil, mustering the strength to start yet another writing session. “Can this trick help solve my aversion to writing? If a pencil and paper is a painful reprise to teenage angst, modernizing my workbench with A.I. apps that digitize hand-written text via an iPad and Apple Pencil is a different beast entirely.”

I can get behind this.

I scoured the app store for apps that could recognize my chicken scratch, while providing the right amount of tech-nerdiness to put a spoonful of sugar into my writing regiment.

I knew I found “the one” with Nebo.

The app perfectly merged modern digital tech with old-school writing and I found myself looking forward to engaging with the experience. I went from being forced to do “morning pages” each day, to feeling like I couldn’t stop journaling, writing or editing my work. What started as a few sentences a day has now blossomed into pages. In fact, this very text is being tapped out on my iPad using my Apple Pencil while laying in bed at 11:14PM with my wife asleep beside me, and I am having trouble stopping.

Whether one considers me a writer or not is unimportant, for I have fallen in love with writing, and with it my story has finally been rewritten.

I finally mastered my reading list!

Over the years, I’ve tried a number of ways to plow through the never ending suggestions of books that I “need to read”. I’ve kept lists in paper notebooks, Facebook books, Goodreads, my iOS Notepad, and even as a Reminders list. The list keeps getting longer. I buy books I don’t end up liking or reading, or just forget to place one in the barrel next time a get some free time to read.

Recently I discovered a way to automatically manage my list and get the book in my hands in almost any format or device — for free! Here’s how:

First, download the Libby app.

Libby is an app by Overdrive that helps make checking out books from the library easy. No, don’t worry, it’s not a way to checkout paper books. Libby is focused on helping you download audiobooks and digital books and allows you to push them to your Kindle, iBooks or whatever works for you.

Now, before you disregard the power of your local library (the institution your tax dollars pay for) let’s flip the script. Libby allows you to grab books you’re interested in.

So, think of how it plays out: You hear about a book that “you need to read.” You search for it on your Libby app, and you place a hold on it. Yes, there is a wait list for your book, and popular ones often have longer wait lists. But, guess what? You don’t care!

This is your reading list!

When books are available, they pop onto you phone or Kindle. If you don’t have time to read it, just put it back into the hold lists for the next go around. If you want to read a few chapters and put it away, that works too. The hold queue isn’t just some arbitrary list you keep that is disconnected from the act of reading — they are one and the same.

I have been doing this for the past year and love the fact that I don’t need to feel bad about falling behind on my reading. I know I’ll just read the next book that becomes available, and not think twice about my queue.

It took a while to get to “reading zen”, so I thought I’d share it. Hope it works for you too!

How this Google Home app helped my father after his stroke

About a year ago my father had a stroke. After 70 years of work as a salesman, 6 days-a-week for 12 hours-a-day, this deficiency forced him into retirement. Hoping to get back to work, he received speech therapy but never fully recovered.

Now in retirement, his typical quiet demeanor at home has kept him from exercising his neural network to reroute his audio connections. He is not tech savvy, so my attempts to get him using games on Luminosity have been unsuccessful.  

This Thanksgiving, during my visit to my parents house, I decided to see how he would fair with a Google Home. So far it has been great! Even practicing the wake word “Hey, Google” was a challenge at first, but he is improving dramatically.

Excited, I went through all the games I could find. I quickly realized just how unintuitive and disorganized the App side of Google Home still is. Some apps worked, and some didn’t. Either an app was “Not Found” or “Not Responding” when I tried to activate it. Sometimes an app would unexpectedly quit mid use. Even more frustrating were the multiple steps needed to try the above search for a working app over and over again after hitting a dead end. For example:

Me: “Hey Google” (Google Lights up)

Me: “Talk to X Game” (Wait)

Google: “Sorry, I could not find X Game” (wait for light to go off)

….Start over with another game name”

Navigation through the voice-UI was frustrating as well, and for my Dad it was impossible. To work around the issue, I went through all the games I could find online, and wrote down the ones that worked from the ones that did not. Then, I wrote our an old-school paper cheat-sheet that listed each game and its commands.

“Hey Google, – Let’s play a game”

“Hey Google, – Play 1-2-3 game”

….

What made it more complicated was that some trigger words required the user to say “Play” while others required the words “Talk to”. There is no reasoning I could find as to why there was a differences. What I realized is that these nuances were terrible difficult to retain for my non-tech savvy Dad. So, listing them out distinctly, on paper, and placing the paper next to the Google Home Device, was the best way I could provide the info to him.

One thing my Dad has retained since coming to the US is his keen memory of the US Presidents. I imagine he studied american history proudly and tirelessly when he moved here and sought his citizenship. Unfortunately, the Presidents Quiz, which I found listed in Google Home’s marketplace, and one I was sure he would like, was one of the games that was “Not Responding”.

At first I was disappointed, but then realized this was the perfect opportunity to try and build a Home App! I set out to create a US Presidents Quiz on Google Home for my Dad. 🙂

There are many ways to build a Google Home app. The two I explored were DialogFlow (https://console.dialogflow.com – formerly app.ai) and the “Actions” console (https://console.actions.google.com/u/0/). Dialog Flow had a great UI that made it seems like it would be simple to set up an interaction, but the concept of Intents, Events, Entities, Training Phrases and Responses was complex. What fed into what, and where I was suppose to handle requests from users and deliver responses did not come easily.

Google Actions is amazingly simple and perfect for those looking to build a game or quiz. WhileDialogFlow has many samples (https://developers.google.com/actions/samples/github) and plenty of docs, I decided Actions made the most sense, and I would leave DioalogFlow for another project; by using Actions, I could spin up an entire game in a single night. Interested in creating your own? Just follow this extremly simpley one-pager: https://developers.google.com/actions/templates/trivia. No code required!

The more labor intensive part of this project was listing out the hundreds of questions, correct answers, and purposefully wrong answers for multiple choice, I needed to seed the game.

You can check it our yourself, by saying:

“Hey Google, Talk to US Presidents Quiz”
Or by opening it in the directory here.

UPDATE:

Here is a print out for commands if you have a similar situation.

Keeping Bad Passwords Out with BreechLists

Troy Hunt did a great write up on the subject. You can check it our here.

In short, there are millions of bad or compromised passwords added to the Breech List. To safely ensure your user’s password is on that list:

  • Create a SHA1 version of the password on the client/browser/JS
  • Take the first 5 chars of that SHA1
  • Check those characters against  the Breeched DB `https://api.pwnedpasswords.com/range/[SHA1 5 char range]`
  • That API return hundreds of close SHA1 matches
  • Then check last list against the remaining 5+ characters
  • If it exists, it is probably a bad password
  • Tip: You can use the hit count to determine just how bad it is

Here is a Javascript (ES6) implementation using `sha1` and `axios`:

 

https://gist.github.com/sshadmand/548d6787050897697e2e99029a1683bb.js