Jonathan's Blog
name

Jonathan's Blog

Mindful Leadership and Technology


Featured

IPv4 Address Price

IPv4 Address Price - Single Static IP - April. 20, 2021

Posted on .

Just because I still think about it sometimes, here are the spot prices today for single static IP addresses (based on a 30 day month):

April 22, 2021

Azure: https://azure.microsoft.com/en-us/pricing/calculator/#
Google: https://cloud.google.com/compute/pricing#ipaddress
Amazon: https://aws.amazon.com/ec2/pricing/on-demand/

Azure - East US

Basic: $2.63/month
Basic ARM: $2.88/month
Standard ARM: $4.38/month

Google - Iowa

In Use (Standard VM):$2.88/month
In Use (Preemptible VM):$1.44/month
Not in Use:$7.20/month

Amazon - US West N. California

First, In Use: $0/month
Not Running/Additional: $3.60/month

That's it. Not a lot of price movement in the last 18 months. Azure has tweaked their Standard ARM up a little, but has removed it's penalties for additional IP addresses above 5 in other categories.

Google now allows you to select by region, but the region prices are the same.

Featured

Firebase Software Development Positive Behavioral Metrics

Firebase Errors for Humans - aka Best Error Ever

Posted on .

I'm working on a system for positive behavioral recognition and metrics using Firebase and React. This is a hobby/side project that I work on usually on nights and weekends.

This weekend I had an issue with Firestore (the newer of the two data solutions inside the Firebase product). I was querying on multiple data attributes in a collection. This is not allowed in Firestore, unless you have created an index that includes those two attributes.

I had no such index, so I got this error:

Does that say, "You can create it here:" ?

Yes, the short answer is that that link says, "You can create it here." And you can click on it and it takes you to the page where you can build the index.

AND...

And it has pre-populated the index for you with the two fields that you need so that you can click, "OK". And the index builds, just like you need it:

OK, thanks, that was easy.

This is really pretty amazing and I have never seen an error like this.

Often, errors are very generic and it takes time to search through forums trying to find someone with the same error who is actually having the same problem as you.

I have seen a number of errors in React that offer suggestions as to where your bug is and they are often correct. This is very helpful and a huge improvement.

The Firestore error takes that level of customer service to a new level: here's your problem, here's how to fix it, and here's a link that will basically fix it for you.

I would very much like to see more of this.


What has happened here is that someone at Google (Firebase is a Google product) has applied the ideas of user experience to the error handling in their product. Developers are the users of the error system, so thank you for that!

Firebase is a web-based product, so there is no reason why it can't know enough to point you in the right direction.

If you are in software development, though, you can appreciate that this is a high bar to jump over:

  1. Someone had to think of this early on, so that it could be woven into the product.
  2. Leadership had to include time and budget to implement it.
  3. Their UX had to be consistent enough to allow it.
  4. The error system handling system had to be built smart enough to make it all work.

All of this to say - a lot had to happen technically, organizationally, and culturally to make this happen.

When you think about the amount of time that often goes into error handling and management, it makes this all the more amazing.


Developers ARE the users of your error system, your API, your toolkits, and your documentation. Doing things like this makes your tool attractive to developers, managers, and business decision makers.

Why managers and business decision makers? Because it makes good developers better and faster, and it makes new developers far more productive than they would be if you didn't have it.

New developers spend a lot of time searching for answers online and asking more senior team members for help. Imagine a world where the platform itself can answer your questions and guide you through solving the problem.

Kudos to Firebase/Google on an amazing innovation.

Featured

Mindfulness Gratitude Leadership

How are you doing?

Posted on .

I am repurposing my answer.

It's always been a little strange to use this question in a business context. It is a polite greeting, a way of saying 'hi', but really 'hi and a little more'.

It isn't a brutally honest solicitation of a persons true feelings - most of the time.

Today, you could answer, "I'm feeling anxious." or "I'm nervous about the economy." and those would be honest answers. But they may not be what you want to project in that meeting.

And, it is now difficult to use 'fine' or 'good' the way we all used to, because you risk sounding dishonest or callous.

"What? You're fine? How can you be fine?"

Last week I decided that the best way to answer this question was to choose to answer positively, with a focus on gratitude.

So, when I attend a business meeting or sales call and someone says "How are you?" or "How are you doing?" my answer is that I'm grateful for something.

Grateful for my health.
Grateful my kids are learning at home.
Grateful that I have a job.
Grateful to be alive.
Grateful that it is spring out and the sun is shining.

All of these are true and are much more meaningful and uplifting to me than 'fine' anyway.

I may just keep doing it when Covid is less present in our lives.

Hopefully a lot less present and that will be one more thing to be grateful for.

Featured

VUCA Art Leadership

Art and the VUCA World

Posted on .

For those unfamiliar with the acronym, VUCA stands for Volatility, Uncertainty, Complexity, and Ambiguity.

It is a relatively trendy way to describe our modern world. It is a VUCA place.

Of course, the world has always been three of those things - volatile, uncertain, and ambiguous, and maybe all four depending on who you ask. If you asked a farmer at any time over recorded history he could tell you that his fortunes and those of his family were impacted by things out of his control. The world of most people has always been, at least, V, U, and A.

It is only recently, where we came to think of the world as NOT those three things. i.e. We could expect a certain amount of regularity, certainty, and definitiveness. But alas (or maybe not), no more.

As the pace of knowledge creation, globalization, and business speeds up we are more exposed to VUCA and we must develop ways to prepare for and manage the world.

It helps if we realize that this is a state of affairs that we evolved to deal with - the acronym may be new, but the conditions really aren't. We humans evolved to meet these types of challenges, are brains are big and we can handle the related stress, assuming we put some time and energy into it.

As for complexity, I think humans have introduced a lot more of that recently, but I also believe we have the tools to manage that.

If you're looking for somewhere to start - use the 7 Habits of Highly Effective People you can cut down by a lot of VUCA simply by focusing on what is in your power to control. Eventually you will get more power, simply by not trying to change that which you can't. Steven Covey covers that much better than I can. If you haven't read it, read it. If you read it and forgot, read it again.

There are other books that deal with this subject head on, such as Dr. Alan Watkins' 4D Leadership. In that book Dr. Watkins outlines paths to personal development that make us more resilient and more capable to deal with all the V, U, C, and A that we run into.

Beyond that though, what other tools are available to help us cope with the VUCA-ness of our present world?

I'm a firm believer that art - engaging with it, thinking about it, looking at it, trying to understand it - makes us more tolerant of the VUCA world.

Here is how art helps with each of the 4 areas:

  1. Volatility - Engaging with art a little bit every day can take you out of your comfort zone on multiple fronts and help to prepare you mentally for all those volatile challenges that you are going to face. Art itself can be volatile - as it relates to traditions or other art. And it can show us ways of grappling with volatility, such as French painters in the 19th century beginning to look at the urban landscape and explore outside the 'approved' arenas for artwork. Much of modern art is challenging and a great many people simply ignore or disregard it because it may be non-representational. Do they take the time to think about it? Do they consider why the artist wanted to challenge us as viewers?
  2. Uncertainty - art is a means of digesting and facing the challenges of the world and allowing you to see how others wrestle with things. Don't want to think about war or crime or poverty or disease? Here it comes anyway. art exposes you quite directly to another mind. That mind may be wrestling with or interested in the same things as you, but doing so in very different ways. Reading a poem written by another person or looking at a painting can help to expose you to different angles and you will not always know what is coming. Also, because the artist is not providing you with a written set of instructions, you walk into every artistic experience with a certain degree of uncertainty that is instructive if you are willing to open up to it.
  3. Complex - Art can deal with complex topics and it can be, in and of itself, quite complex. Re-reading or extended observation is often key. To really appreciate, sometimes, frankly, to understand, you need to spend some time to appreciate the art, maybe do some additional research on the subject matter. This is helpful to get us ready to ask questions and understand the complex systems and situations we confront. Move beyond your first impressions, move beyond your initial read. Re-evaluate, think, engage.
  4. Ambiguous - Some art may attempt to get a hold of a subject and tie it down for explanation, but most art rarely does this. We are given the artist's point of view, but that point of view can be ambiguous. Even when it isn't ambiguous, our own reaction may be. Self-reflection and self-evaluation help us to grapple with such ambiguity. Do I agree with this? Would I have written it this way? Does this help?

This is not how art or art appreciation is taught, but it is how I have used it and I have found it useful.

At times, with the best work that you encounter, you can find an antidote to all this VUCA-ness. A well written book or poem that speaks to you deeply can make the world seem suddenly clear and not ambigous at all. Great art can lift you up and offer you new ways of seeing things. You won't find this all the time or in every interaction, but when you do it is a powerful and uplifting.

Even when you don't encounter this feeling, you can still improve your faculties and increase your mental resilience by engaging with and thinking about a difficult topic.

A few resources worth considering:

  1. Look around - nearly everywhere you go has some artwork on display: photogrpahs, paintings, sculpture. Take some time to look at this stuff and think about it. Take a notebook with you, write things down.
  2. Review You High School/College Syllabus - was there a book that you hated? Why did you hate it? Read it again as an adult and see if there is wisdom there that you overlooked.
  3. Poetry Dail - I'm partial to Poetry Daily. They publish and re-publish the best of contemporary poetry. With a new, very good poem every day. It is worth the time, and it is always there, offering something new and challenging.

Not every piece of art will speak to you. Not every book will help. But every artwork can be turned around in the mind and examined for the resources it provides. If you find none, your mind has spent time engaged in an activity that strengthens it and which can provide you meaning in itself.

Featured

Leadership Technology Management Management

Manager - 2020

Posted on .

You're my manager and a leader in my organization. Could you please:

  1. Understand my Work
  2. Recognize great work when it is done by myself and others
  3. Listen more, ask more questions, talk less
  4. Be willing to have hard conversations (with me and with other leaders), when necessary
  5. Be a defender of positive energy, in all situations
  6. Bring energy and enthusiasm to spare so that you can lift up the whole team, when things are difficult
  7. Help to find solutions in difficult situations
  8. Predict the Future
  9. Create a balanced space where I can be a whole person, but be protected from too many messy impacts from other people
  10. Allow me to innovate and create room for innovation within our organization
  11. Help non-specialists understand my special work and what makes me special
  12. Offer feedback at the right moment - hitting me with constructive criticism when I am walking out of successful meeting takes away from the success of the meeting, find a better time even if you have to wait
  13. Encourage me to stretch
  14. Pick me back up again, when I have failed, encourage me to try again.

I work in technology, so maybe some of this stuff is specific to the tech world, but I don't really think so.

I have been asked for number 8 on multiple occasions, and I've also been asked to help people get better at predicting the future. We came up with a system for it, but of course it was imperfect.


Number 9 may be the hardest one to do. This is more difficult than predicting the future (if you work in a rational organization people will understand that you're doing your best to predict the future and that it is hard).

Even rational organizations may struggle with understanding why we need to let people have rooms to be their whole selves at work.

We need whole people to show up at work because we need their energy and innovation and you get this most effectively when people feel comfortable being who they are. You also have to have some order and some sanitizing and professionalism. This can be a tricky balance. Sometimes people's whole person is messy.


There were several things I deleted off this list that fall under the category of hard conversations.

Setting realistic goals is one of those things. We are often put under pressure to pursue unrealistic goals, a manager needs to push back on the unrealistic and make sure other leaders understand the trade-offs.

Another thing I removed was focus on the long term. Long-term sacrifices in favor of short-term gains are something we should consider carefully. A good manager will daylight the long-term costs and push for what will make his teams lives better in the long run.


Five and Six are different. Defending positive energy may not be a completely positive act. Once the act of defending the positive energy is done, you need to then supply positive uplift to bring everyone back up. The defense and uplift require two different approaches.


Vision is not on the list because this is a list about management.

Almost all leaders are managers, and all managers are leaders in some fashion.

But not all managers are visionary leaders. That skill can be learned, but it isn't required to be a great leader of people.


Is this hard to do? It is very hard to do everything well on this list, but then many things worth doing well are hard.

Providing everything on this list as a team is OK - it may be too much for any one person to do all of it. If you work with a great leadership team it may be that

Even still, you will probably feel a bit like the leader in the picture, at times. That is, isolated. Seeking other managers and leaders with whom you can share your insights and challenges is critical.

You will probably stumble. You will make mistakes. Being resilient isn't on the list, because we all need that in the VUCA world, not just managers.

Managers have to be resilient for others, as well as themselves, that is why we have 14.

Featured

Positivity Bias Positive Behavioral Metrics Management

Positive Behavioral Metrics - How does it work?

Posted on .

In my last post I jumped right into the fray of describing a whole system for data-driven software development that includes normal stuff (Business KPIs, OKRs, Software metrics) but also some weird stuff - what I call Positive Behavioral Metrics. I didn't describe what I meant, so I am going to do that now.

I also didn't describe what to do with the other half of that coin - negative feelings and behavior - but I am going to do that separately, in a future post.

Positive Behavioral Metrics is keeping track and counting all the good stuff that people do. A system to do this (could be software-based or not) should have the following characteristics:

  1. A means to create and track 'wins' or instances of people doing good stuff. This could be someone who gave a great presentation, won significant new business, or contributed to the positive roll-out of a new initiative. Really anything that is good (for individuals, teams, or the organization in general) - large or small does not matter. Concrete behavioral information is preferred - a specific good thing is better than a vague good thing. But honestly, even starting with vague is better than nothing.
  2. Notification - the person should always be notified when someone recognizes them.
  3. Notification of Others - the person's boss and their boss's boss (if applicable) should be notified about the good thing that was done.
  4. Reports - a person should be able to go in and see all the good things that they did in a time period (last month, this year, a certain year) so that it can be used in reviews.
  5. Track positive behavior to company values: any time that someone does something good and it is tracked, they person entering should have the ability to track this to some part of the company's values.
  6. Provide a report on people who consistently recognize other people. These are your energy fountains - the people producing energy in your organization. This is another key number, in addition to the people who get recognized the most.
  7. Organization-level Reports: should include reports on doers - those doing the good stuff and recognizers those doing the recognizing. For both you want to know how much of it is happening, where it is happening, and to be able to drill down and see who is doing it and who they work for.

This is really pretty straightforward - honestly this can be built for very little $$ and you could get away with 1,2, and 3 to get started. You don't need more than that.


Outside of the system, you need a program around the raw numbers and reports to really drive maximum effect. And I don't mean prizes or gift cards. I honestly think that tying it to rewards or awards isn't terribly interesting or effective.

I'm really talking about how this applies to people's growth, to their careers, and to their happiness. This is what will make it the most powerful. This should generally include:

  1. Personal recognition - by which I mean, if you're in charge and you get the emails about people doing awesome stuff, then walk around or visit the people and talk to them and show them that you are aware of what they do. You can take them to lunch if you want, or have a dinner or something, but do some form of recognition where their peers see you talking to them about what they did.
  2. Thank you notes - I'm personally terrible at this, but many people swear by it. Sending handwritten thank you notes to people (or their spouses) is something that can be very effective.
  3. Use of reports - encourage people to review their data, especially at review time to be sure that they use this data when filling in their reviews or 360 evaluations.
  4. Encourage managers to recognize - use the recognizer score to ensure that recognition is happening and that you have even consistent coverage in your organization.

There are many other things you can do. These are simple examplesthat you can start with that don't cost much but do build a lot of energy in your organization.

Next up: what to do with the negative stuff.