Picture of Michael Lee


Written on June 20, 2021

My family and I watched Luca tonight, a film directed by Enrico Casarosa. I first discovered Enrico Casarosa’s work when I was a student in animation school back in 2006. I had come across Sketchcrawl, a global community that encourages people to go out and crawl together—sort of like a photo crawl, but with a sketch book.

I loved the whimsical and narrative nature of Enrico’s sketches. He often uses pencils and water colors so the drawings could be a bit rough and expressive in nature but enough detail to capture the essence or story.

When my daughter tonight suggested we watch, Luca, I had no idea it was directed by Enrico Casarosa at first. But was delighted with the heartfelt story of friendship and Enrico’s style translated so well on screen and in 3D.

One detail that I picked up quickly as from Enrico’s style is the shape of the characters’ mouths–—especially Luca and Laverto’s—–especially when it was sideways. If you’re familiar with any of Enrico’s sketch books such as the The Venice Chronicles, it might be a detail you would’ve caught too. I thought Enrico’s style translated quite well in 3D.

Pages from Enrico Casarosa's The Venice Chronicles

From the pages above, the picture of the inside of Enrico’s body reminds me the characteristics of Uncle Ugo from Luca.

The story of Luca centers around the titular character and his outgoing and adventurous friend, Alberto. While watching, I definitely resonated with Luca as someone that has a more timid demeanor. Their friendship reminded me of past friends who had also come into various moments of life and pushed me past my comfort zone.

I especially liked the, “Be quiet Bruno” parts as it reminded me of the lizard brain.

Visually the movie was stunning, the story was fun, I loved every character and it was cool to watch Enrico Casarosa’s style in a feature movie.

If you’ve got a subscription of Disney+ I definitely suggest catching Luca.

Oh, that's what it could look like

Written on June 13, 2021

Panic is a software company that was founded in 1997 (about 24ish years old). They are makers of some of my favorite macOS apps like Transmit and Nova. Along the way Panic also published a really fun game called Untitled Goose Game—where you play, yup of all things a goose.

Their latest adventure is a handheld game system called, Playdate. This past week they shared their latest update and I am so excited for the system!

If you haven’t caught this video, please check it out.

After watching it I am excited for this little device because it is so different.

While it has the traditional d-pad, a and b buttons, it also has a crank. And it adds such a unique aspect to the games that they’ve showcased so far.

And by the way did you see the dock?

When I first saw a clip of the dock, I wasn’t too inclined by it. But then I watched the entire update video and got even more excited about it. Especially watching Cabel Sasser talk about it—his giddiness for all things Playdate is exciting.

The dock feels like a hat tip to all those weird stationary widgets that existed in the late 80s and early 90s. It definitely has a retro feel to it. I love the little metal lift at the bottom. I was a little underwhelmed by the pen and the pen holder at first, but I kind of dig it now.

I can imagine the dock sitting at my desk and just being a delightful desk accessory to look at. I can imagine a developer coming up with a Tamagotchi-esque game that just sits there on the dock and makes all sorts of funny noises and faces.

But what was so special about this video and I think what Playdate at large means to me; is that independent, self-funded, software companies can do other things than software.

I’m rooting for Panic and Playdate. I hope they see a huge amount of success!

While watching the Playdate update video, it reminded me of Wildbit’s recent 20-year celebration video and Natalie Nagele’s hopes for the future of Wildbit. That she’ll be able to take the creative group of people that work at Wildbit and create something more than software.

I hope if Natalie hasn’t already seen Panic’s adventure into Playdate that she does and that it helps them with a path forward for what she and Wildbit could do in the future. I hope it also acts as inspiration for Wildbit and really the industry at large to go beyond what they are used to and try new things.

Trying something new could end in failure. But, we’re getting a peak into what it could look like for self-funded, software companies to go beyond software and create creative products with success. I’m excited for this future. And I think we’ll be seeing a lot more small businesses follow suit.

3 email rules to manage email

Written on June 6, 2021

With work email, I’ve worked to create a system to keep my inbox manageable and prevent it from becoming overwhelming.

The system comes down to three rules to manage my work email.

Email only when you decide it appropriate

This is a rule that I learned from using the app Tempo.

When setting up Tempo, it asks you to set up a time when you’d like to review your email.

This is a good ritual as you designate when you will interact with your email, instead of your email taking up precious mental energy and time.

A good way to enforce this is to set time blocks on your calendar.

I have one short block in the morning. This is to check that there isn’t anything urgent that my team needs from me that day.

I also have one time after lunch and then a time before my end of day routine.

After lunch is a good time as I’m trying to get back into the swing of work mode.

30 minutes before my end of day routine is good because, I’ve usually expended my energy for the day and I can spend the time sifting through email and putting them into place where I can deal with them appropriately the next day.

Delete, todo or reply

During my designated email blocks, I’m doing one of three things. I’m either deleting the email because I don’t need to do anything with it. This could be updates from our task manager or emails from services that I don’t need to take any actions on.

If the email is something I need to take action on and it takes longer than two minutes to respond to, then I will add a label of todo and archive the email.

What this does is puts the email in a different part of the screen.

Finally, if the email that I’m reviewing is something I can respond to and take action on and it takes less than two minutes of my time. Then I will reply to it.

If I’m expecting a response back, I’ll add a label of awaiting reply, otherwise, I will archive the email thread altogether.

Capture todos outside of the inbox

Finally, once I’ve gone through the review process, I’ll review my emails that I’ve labelled as todos and will move them to my task manager.

What this allows me to do is move my actual todos to a task management software called Jira. I rather handle work that needs to be worked on outside of email because there’s more visibility for the team that I work with.

Also, I’m able to build context around the task. Using things like comments, linked docs and other todos.

I find that more powerful instead of trying to do work in my email in deep threaded conversations.

How I manage my work email

Using these three rules is how I’m able to keep my work email managed as an IT manager.

It isn’t perfect, but it’s a system that works for me.

There was a time when email would cause me anxiety and got to a point where I was extremely behind in my email thus my work obligations.

By coming up these rules, I’m able to breeze through email and manage it instead of email managing me.

Dangerous, but not scary

Written on May 30, 2021

There are plenty of things that are scary but aren’t dangerous. And there are things that are dangerous but not scary. And those are the things that get you.

I’ve been reading Guy Raz’s book, How I Built This and this quote from Jim Koch, the founder of Boston Beer Company really stuck out to me.

Jim was describing the difference between him staying in his well-paid job prior to finding the Boston Beer Company versus creating a new craft beer and bringing it to the world through Boston Beer Company.

Jim Koch, then goes on to share a climbing analogy from his time as an instructor for Outward Bound—an organization that provides outdoor education to youth and adults—to really drive the point home.

One of the things we taught people to do was rappel off a cliff. It is a very scary thing to do, but you are also held by a belay rope, and that rope would hold a car. So walking off the cliff backwards is scary, but it’s not dangerous. Walking across a thirty-five-degree-angle snowfield on a beautiful late May afternoon with bright blue sky, on the other hand, is not scary at all, but it is very dangerous, because the snow is melting, eventually it is going to find a layer of ice, the water will lubricate that ice, and then you have an avalanche. That is dangerous but not scary.

When I read this and reflected on things that I take caution in, I realized, that I wasn’t discerning between dangerous versus scary. There definitely is a distinction and I think when you are able to clearly see the difference, then you can make the decision to move forward.

I think, often times, I see a situation and the fear for what lies ahead causes anxiety. But being able to stop and ask, “well is it scary?” or “is it dangerous?” is a very empowering reflection.

A lot of things might seem scary, but ultimately they won’t cause harm. While those things that are dangerous but isn’t scary, are the true things to avoid in life or get away from as quickly as possible.

Remembering who you are

Written on May 22, 2021

My son and I enjoy playing chess together. He’s 7-years old and has surprised me quite a few times with the strategies he has pulled off in our games.

In our most recent game, he had managed to corner my king into the corner of a board.

The king by itself isn’t that powerful. It doesn’t have any neat moves like the rook or bishop. The queen is definitely the cooler of the chess pieces; as it can move in all directions until it meets a friend or foe. While the king can only move a single space in all directions.

The piece that he was using to pursue my king was his queen. He kept pressuring me to move my king closer and closer to the corner of a board as with every move it was met with “check”—a sign that if I made a mistake in my next move, the game will be over for me.

The moment I almost threw in the towel

Eventually his queen and my king were side-by-side with me in the extreme corner of the board. Frantically realizing that I had nowhere else to run with my king, I was about to call it a game and congratulate him on a job well done.

But my son stopped me and pointed out that there was still one move that I could make and that we could keep playing our game. He reminded me that it was my turn and that as the king, I can overtake his queen because the piece was in an adjacent spot.

At that point it had dawned on me that I had forgotten my abilities as the king. I was so fixated on the problem at hand—the active pursuit—and my need to runaway to survive. I, in my mind had kept telling myself how weak of a piece the king is. But my son reminding me that I can overtake his queen piece was a reminder that although the queen is definitely a very cool and powerful chess piece, the king was capable of overtaking the piece.

This wasn’t just a lesson in a game of chess, but it was definitely a life lesson for me. There are many identities that I carry that make up who I am. One of husband, father and colleague to my coworkers.

And at times I fixate on the pressures and problems of life and career that I forget who I actually am and what I am capable of. It is easy in the thick of a situation to allow the dialogues of inadequacies or imposter syndrome to drown out your identity.

But it is in those moments when my family and my peers remind me of who I am and what I am capable of that I can snap back into saying, “I can handle this”. That the challenges I’m facing at this moment, I have all that I need to face them.

And those reminders don’t have to be profound.

They can be as simple as being called “daddy” from my children or a colleague asking for my opinion because I was hired for my expertise.

Perhaps if you’re reading this, you might be in a different life stage or circumstance than me. And the type of people I’ve described that remind me of who I am don’t exist in your life.

You can still be reminded of who you are—by yourself. If you’re in a place where you feel inadequate about who you are or what you’re able to do. One-by-one list out the things you’re faced with.

Once you’ve listed them out, take a moment to go through each point. At each point, pause and flip the script. For example, if you don’t feel adequate as a leader, tell yourself that you are a leader. And try to think about a time where you really showed leadership and others also acknowledged you for leadership.

Or one I struggle with often is being organized. I often find myself feeling unorganized and disoriented. But then I pause and tell myself I am organized. And in that moment, even if it is a small example, remind myself of a time when I felt organized.

You might be surprised what comes out of this when you’ve flipped the script on some of the things you believe you aren’t capable of doing.

Once my son reminded me that I could take over his chess piece—his queen, I thanked him and proceeded to do so.

He then toyed with me for a few more moves before he had me at checkmate.

Although I lost the game, he reminded me of how capable the king was.

Purposefully boring, but fun tech

Written on May 16, 2021

I’ve been quietly working on an app as a personal project for a few months now.

I’m not ready to share about it publicly yet.

But what I did want to share today was the tech stack behind it.

By today’s software trends, someone might look at my stack and think wow that’s extremely boring. But I’m quite happy with it.

Snapshot of project files on Github

The stack I chose consists of Hapi, Handlebars, Sass, SQLite3 and plain old JavaScript on the front-end.

All this is deployed on AWS’ Lightsail by way of dragging and dropping a bunch of files via SFTP.

One might ask, “But Michael why?! Don’t you know, you can use [insert list of trending tech stack and services]”.

Yup, I know.

I’ve professionally built applications using Ember, Vue on the front-end.

I’ve professionally built applications using Ruby on Rails.

I’ve deployed applications into the cloud using Heroku and Elastic Beanstalk.

Yes, I could’ve chosen any of these tools from my developer tool belt.

But I decided to choose this stack because I enjoy it and I wanted to learn as much of the benefits that a lot of the frameworks provide by doing it myself.

For example Ruby on Rails has a nice authentication solution called Devise. It has a sweet helper that allows you to identify the current user.

I had to roll my own solution. It ate a couple of nights development, but what I gained from the experience was understanding how pre options in Hapi work for performing actions before the main handler is called when accessing a route.

That and with the combined feeling of accomplishment once I achieved this feat was worth it for me.

As for the server for itself, I chose to use Lightsail because it is cheap, they’ve got a nice starting point for Node applications and I’m familiar with it.

What Lightsail gives is a light-touch server setup so I can have my app up and running quickly. Being able to SSH and SFTP into the server also affords me the ability to make backups of the SQLite3 database and compile static assets.

I could’ve hosted the application on something like Heroku, but the app would’ve had to have a different RDBMS like PostgresQL instead of SQLite3. I could’ve gone with Render as well, as their set up is actually a lot easier to get up and running. But because of the SQLite3 database, I would’ve had to set up a disk to hold the database and figured out how to get the two working together.

With Lightsail, I have complete control over all the pieces and I know how to make them work together because the set up is most similar to my local development set up. While Heroku and Render definitely makes the deployment process and management seamless, honestly getting it up and running and set up the way I wanted it was just a blackbox and I’d rather spend time developing instead of figuring out magic.

Some might read this article and the pieces of the stack described in it as extremely boring since it isn’t describing the latest and greatest web development has to offer these days. But I’m extremely satisfied because it allows me to build what I want, easy to maintain and is fun to develop with.

Your stack may be different from what I’ve described in this article. Perhaps it is also different from what trends or the developer community at large says we should all be using. What I hope you’ll find in this article is the encouragement to simply use what you’ve got that makes you productive and happy.

In the end, as a software developer, our main goal should be to create something that delights the people who use our software. As long as our software does that, people will not care what we choose to accomplish that goal. And as an added benefit, if the stack we choose also makes us happy while creating software, I think it’s a win-win situation.