Emergency NFC Tags

Photo by Jason Leung on Unsplash

In the last few days, I have been experimenting with Home Assistant, NFC Tags, and the iPhone.

A few days ago, I wrote about how you can launch a Shortcuts automation without any user interaction apart from waking up your iPhone screen.

This is one of the most incredible things I can do on my iPhone. Having my house do something by just taking my phone close to an object is cool.

At the same time, the Shortcut app is mighty, even if you need to be a geek to get the most advanced features. I will talk about this in another post. 

Today I thought you could also use this seamless NFC tag reading feature as a poor-guy security mechanism.

If you think you are in danger, you may tap on your iPhone screen and bring it close to an NFC tag near you, on your backpack, in your pocket, or on your jacket. In the Shortcut App, you may define what will happen. Send an SMS with your position to a list of emergency contacts, for example.

This will work with any NFC Tag, even AirTags. AirTag will cost you 39 Euros, while you can get an NFC Tag for 50 Euro cents.

Even if you don’t have a Home Automation system, this feature opens many possibilities you can take advantage of. 

My Alarm Clock on Home Assistant

Photo by insung yoon on Unsplash

I hate my iPhone alarm clock. I wonder why this is one of the most neglected applications on every phone out there, even if it is one of the most used.
I don’t like to be woken up abruptly. I need to wake up gently with a slow process. That makes my day better. I also don’t need to listen to any voice in the early morning. I need some soft music to drive me to the awake state.
This is the reason why I designed my alarm clock on Home Assistant.
Here are the features I implemented:

  • The alarm clock will trigger ten minutes before I set for wake up.
  • The alarm clock will have to simulate sunrise in ten minutes.
  • The alarm clock will have to play a playlist of gentle and instrumental songs.
  • The alarm clock will have a Snooze functionality.
  • The alarm clock must be controlled with Alex (still to be implemented, actually.)
    I found out that implementing those features with native Home Assistant was a little bit of a mess, at least for me. I decide to take the Node-RED path instead. I have always loved Node-RED, and it is responsive on my system.

I copied the idea I found on the DIY Futurism blog a couple of years ago. It was a great blog, but the author does not post anymore. I started from his Node-RED flow and modified it to suit my needs.

Ok, let’s dive into it.

The first thing you will have to do is to implement some helpers to expose on the Lovelace user interface.

You need to have two input_boolean:

    name: Alarm Clock
    icon: mdi:alarm
    name: Alarm Snooze
    icon: mdi:alarm-snooze

alarm_clock_on_off: this will control the alarm clock. If true, the clock is armed and ready to be activated at the right time.

alarm_clock_snooze: if this is true, we are snoozing.

You will need a Date and/or Time helper. This is where you will set the time for your alarm clock.

    name: Alarm Clock Time
    icon: mdi:timer-edit-outline
    has_date: false
    has_time: true

I set those up in my YAML files, but you can easily do the same thing from the UI (Settings –> Devices & Services –> Helpers –> Create Helper)

You will also need a variable to control the status of the alarm clock. I have used the home-assistant-variables custom integration. (https://github.com/snarky-snark/home-assistant-variables/tree/v0.15.0)

Here’s my definition:

    friendly_name: House State
    initial_value: "Sleeping"

The house_state variable will be “Sleeping” when the alarm is not active and will turn to “Waking Up” when the alarm Node-RED flow is running to wake me up.

You will now need to create a Lovelace card to control the alarm clock. This is mine:

type: vertical-stack
  - type: custom:mushroom-title-card
    title: Alarm Clock
  - type: entities
      - entity: input_boolean.alarm_clock_on_off
      - entity: input_datetime.alarm_clock_time
      - entity: var.house_state
        name: Alarm Status
  - type: horizontal-stack
      - type: custom:button-card
        name: Snooze
        icon: mdi:alarm-snooze
        show_state: false
          action: call-service
          service: script.turn_on_alarm_clock_snooze
          data: {}
          target: {}
            - width: 100px
            - height: 100px
            - align-self: start
            - text-align: start
            - justify-self: center
            - padding-left: 0px
            - font-weight: bold
            - justify-self: center
            - padding-left: 0px
      - type: custom:button-card
        name: Stop
        icon: mdi:stop-circle-outline
        show_state: false
          action: call-service
          service: script.stop_alarm_2
          data: {}
          target: {}
            - width: 100px
            - height: 100px
            - align-self: start
            - text-align: start
            - justify-self: center
            - padding-left: 0px
            - font-weight: bold
            - justify-self: center
            - padding-left: 0px

There are a couple of Custom Cards in there: mushroom-title-card and button-card. You can work out what is best for you.

The buttons “Snooze” and “Stop” have two scripts associated with them. We will talk about these later.

Ok, that’s all you need to do on your Home Assistant instance. Now let’s move to Node-RED. You will have to have the Node-RED add-on installed on your system.

Please create a new flow and give it the name you prefer.

This is a picture of my node as it is today:

Node-RED Alarm Clock Flow

The flow code above is available on PasteBin: Alarm Clock Node-RED Flow

The flow code has been “scrubbed” and you should be able to import to your instance without any issue with Servers and so on.

The flow is not one of the most simple, but it is readable in terms of functionality.

The flow will wait for the alarm time by checking the value of input_datetime.alarm_clock_time each minute. When the alarm triggers, it will start the media player with the media content you have defined and start the light procedure.

Here is what you may want to change to adapt the flow to your needs:

  • You have a node called “Set Flow Variables.” In this node, you can define which media player and light will be used for your alarm clock. I have Sonos speakers and Philips Hue lights all around my house, and this is what I use.
  • A node called “Play Spotify Playlist” will let you define what media the selected media player will play on wakeup. I am a Spotify user, and I use a Spotify playlist.
  • The “Increment Volume” will increase the media player volume one step at a time since you will have reached the value defined in the if condition of this node. Adjust the value to your needs.
  • Same thing for the “Increment Brightness” node.
  • I can snooze the alarm from the Companion App on my iPhone or by long pressing a button on the Philips Hue Switch that controls the light I have associated with the alarm. Any smart switch you have will do the trick. Important to note that I have used a Philips Hue palette to get notified of the press event. You can use whatever event you want to control the snooze.
  • When the alarm loop is done, some actions will be taken. You can see them on the right side of the node called “Is Loop Done?”. You can change these actions to whatever suits your needs. The only thing you must not remove is the “House State – Sleeping” node. This is used to control the alarm clock.

As I said before, two scripts on Home Assistant are used by the Lovelace card.

Here is the code for those scripts.

Turn on alarm clock snooze:

alias: Turn on Alarm Clock Snooze
  - service: input_boolean.turn_on
    data: {}
      entity_id: input_boolean.alarm_clock_snooze
mode: single

Stop Alarm:

alias: Stop Alarm
  - condition: state
    entity_id: input_boolean.alarm_clock_on_off
    state: "on"
  - service: media_player.media_pause
    data: {}
      entity_id: media_player.sonos_camera
  - service: input_boolean.turn_off
    data: {}
      entity_id: input_boolean.alarm_clock_on_off
  - service: var.set
      entity_id: var.house_state
      value: Sleeping
  - service: input_boolean.turn_off
    data: {}
      entity_id: input_boolean.alarm_clock_snooze
mode: single
icon: mdi:stop-circle-outline

This last script mimics the behavior of the Node_RED nodes after the “Is Loop Done?” node. Modify it to reflect the same thing you added there—no big deal.

This is it.

I don’t actually need to implement a Weekday/Weekend functionality in my alarm. My agenda is quite hectic and I prefer to set the alarm clock manually every single day. You may want to add this functionality if you want to. The Node-RED flow area where you need to add this check is the “TRIGGER ALARM CLOCK” area. To accomplish this you will also need to add some more helpers to do the trick.

One last thing. The behavior of the Philips Hue Light when turning them on and then changing the brightness value is silly. Before the new brightness has an effect, the light will turn on at the same brightness it was on the last time. This means that you may find yourself with full brightness when the alarm clock triggers. The light will dim to the value set in the Node-RED flow a few moments later. This is not good at all. I am still investigating this, but the only thing I found was to remember to dim the light before going to sleep. Not very good.

NFC and Home Assistant

Photo by Brett Jordan on Unsplash

I have been using Home Assistant from the very beginning. I started the home automation journey with a Raspberry Pi 3 and later ran my instance on an Intel NUC.
It is a never-ending journey, though. I continue to add new hardware when it comes in, update my automations, tweak the UI, and so on.
I extensively use the Companion App on my iPhone and Apple Watch. It works great. I have a list of quick actions on the home page that helps me automate some things in my house. Activate the “movie lighting” in my living room, execute the “Goodnight” script, and so on.
That’s quite efficient, even if not as seamless as I would like.
This is where NFC comes to help.
The Home Assistant companion help can write NFC Tags that are Home Assistant friendly. When you read an NFC tag, you can trigger an event on the backend and run the actions associated with the specified tags.
The iOS security layer will ask you for a confirmation before sending the event to the Home Assistant backend.
From a user experience point of view, this works with just a few clicks less than finding the equivalent quick action on the Companion App home page.
I don’t like it.
I found a way to read an NFC tag on my iPhone and run an action on Home Assistant without any confirmation on my side. The only caveat is that the iPhone must be active, even if only in the lock screen state.
Here is what you need to make it work:

  • NFC Tags: there are so many options out there. You need an NFC tag that you can write at least once. I have purchased 25 Timeskey NFC tags for 16.00 Euros (0.68 Euros per tag).
  • You need an App on your iPhone to write the tag. No, you can’t use the Companion App to do this because you need to write something different from what the Companion App writes on the tag. I use NFC Tools, which is free for what I need.
    That’s it.
    Here are the steps you need to follow in order to make it work:
  • Write some text on the tag using the NFC Tools App. For example, let’s write the text “Studio_1” meaning that this is the NFC tag number 1 in my studio.
  • Launch the Shortcut App on your phone, select the Automations tab and tap on the “+” sign in the upper right corner in order to add an automation.
    • Select Create Personal Automation
    • Tap on the NFC option and scan the NFC Tag you just wrote.
    • Add an action to send Home Assistant an event. Be careful not to use any space in the name you will assign to the filed with default data “shortcut_event”. Select your Home Assistant server in the data section of the Action. I usually name that field with same data I wrote on the NFC Tag.
    • Go back to the previous screen and uncheck the “Ask before running” if it is toggled.
  • Go to your Home Assistant automations page and add a new automation.
    • Select ‘event’ as a trigger.
    • Add the name of the shortcut event you created in the Shortcut app on your phone
    • Leave the Event Data field empty.
    • Now add the conditions and actions you need for your automation.

You don’t need anything else.

Being fair

Photo by Kyle Smith on Unsplash

Sketchin has been built and run with a clear purpose. We wanted it to be the best place where to practice design. If we were able to create such a place, we would be able to deliver great design to our clients, and money will come as a byproduct.

You may think we were gullible. It was not the case.

Giving freedom to our people, letting them take risks, influencing the company strategy from the ground up, and allowing them to participate in the company’s inner work was the best way to accomplish our goal. The original scope was much broader than this, but I wanted to give you an idea.

Unfortunately, we are not there yet, and we will never be. The transformation is a continuous process that will never stop. You must adapt every day to reach what I call “the dream.”

If from one side, the company is still committed to making a dream come true, on the other side, you need the same level of commitment. 

It will never work if you don’t have the same level of commitment from both sides.

If we think about the Agile Manifesto, you may remember a couple of things:

– Individuals and interactions over processes and tools.

– Customer collaboration over contract negotiation.

Those two principles are essential to Sketchin, and we must NEVER forget those.

Sketchin is a good place where to work, but it is a very demanding one.

It is very demanding because you must endlessly contribute to the company’s evolution. You can’t just sit there, do your work and collect the paycheck at the end of the month. It will never work that way.

If you don’t contribute, you can’t complain. 

I have to confess I have been guilty in recent times. I have been far away from the two fundamental principles I cited before. This has been a terrible mistake, and I am taking action. Today.

It happens

Photo by Angelina Kichukova on Unsplash

It is almost the end of the work week.

I still have a few conference calls before winding down for the weekend. As far as I can remember, this has been one of the most challenging weeks ever.

I think about this last sentence, and I believe it is wrong. 

This has not been a tough week; **I am** unable to get over a tough week.

A sad realization before a weekend.

I guess I need to rest a bit.

Update, upgrade and reboot

Photo by Clint Patterson on Unsplash

Keeping my personal computer in the best condition is a never-ending story. Since it is my primary work tool, I always want it in the best shape possible. Well, ok, I also have a fixation on this, but this is another story.

Updating software and operating system, upgrading packages, and, sometimes, rebooting the machine is a regular activity.

I am convinced that the very same approach applies to companies.

Sometimes you need to update or upgrade processes, responsibilities, and tools to improve them. Sometimes you need to reboot when some processes are stuck in deadlocks or eat up all the memory.

Sometimes it is mandatory to uninstall hardware and software that lock up the entire machine.

Gaming PC?

Photo by Tai Bui on Unsplash

Sometimes, I get caught up in building myself a personal computer to devote to video games.

Immediately I look up at my Playstation, and the layer of dust covering it makes me desist.

Not only that.

It may be that I am getting old, but I suspect that building a PC nowadays has become more complex than it used to be, especially for a computer dedicated to gaming.

I tried watching a few videos and was impressed by the many options available today. Cases, motherboards, cooling systems, processors, memory, and graphics cards. A real mess in which I can’t find my way around.

The first discovery is that there is no price limit. To build a dedicated video game machine, you can spend whatever available money. There is no upper limit. 

The second discovery is that, in the end, there is no game that I feel is worth playing. To me, multiplayer gaming is totally on my balls. For me, video games have always been a form of escapism. I get to play and immerse myself in a parallel mode where it’s just me and the game. I have no desire to compete except with myself. I don’t want to have social interactions with other players. I want to be on my own and have fun for some time.

This is another element that makes me desist from the temptation to embark on assembling a personal computer.

I tried watching a few videos on twitch of players streaming their games. I became anxious. Video games have reached such complexity that I doubt I could find them entertaining. I see these players scrolling through menus at a speed that I would not be able to sustain. 

And that’s not even counting the muss that every community inevitably brings with it. Invitations, accusations of cheating, time to spend on something that should be escapism, and on and on.

I don’t know, I may have gotten too old, but the world of gaming in 2022 does not particularly appeal to me.

Ultimately, I always go back to my classics and rediscover the taste of a time that now seems lost to me forever. 

Using books

Photo by Sincerely Media on Unsplash

I have great respect for books, whether they are in digital or paper format. They are a tool, for me, essential when I wish to escape from the everyday and take refuge in a parallel universe or, more simply, when I want to learn something new.

I have always considered books living objects that change their function over time. The exact text can have different influences depending on the condition of the moment in which we are leafing through it.

I live books. Intensely.

I underline them in pencil, write notes in the margins and fill in the blank pages with my insights and considerations. Any physical book I have at home contains all these things within it. Often there are newspaper clippings, scattered notes, and sometimes the receipt from the bookstore where I bought it.

Each book tells a story to parallel the one on its pages. Mine.

Some will turn up their noses, but there are also dog-eared. Often.

Over the years, I have become convinced that things are meant to be used—no sense in owning an item if you cannot extract every last drop of experience and knowledge.

While I respect the books I write on, I do my dog ears and take notes. I always do it in pencil. I do it in pencil not so much because I find it more respectful than biro pen but because I find the stroke of any pen too invasive compared to the characters and ink of the book. The same goes for highlighters.

I have no idea who will come into possession of my books once I no longer walk this earth, but I like the idea that someone might have them in their hands and read a little bit of me among those scattered notes.


Photo by Luke Chesser on Unsplash

Anyone in a job similar to mine is inundated with outward reporting requests.

When we were growing up, this was not a big problem. We could work perfectly well with two or three key reports that could easily be used to steer the company.

The story has changed significantly since we became big and part of a group. The number of reports we have to produce has increased disproportionately, and we suffer from it.

This is simply because our size is much smaller than the giant we are part of. 

I am not questioning whether our reports can help delve into the company’s health. I ask that the time spent making these reports erodes time from the few available resources. The effect of this is that we produce reports, and the time to interpret them diminishes more and more.

I believe that a report should be able to provide several insights:

– Represent a snapshot of the state of things. Are we generating the revenues we anticipated? Is the level of expenses within the range we envisioned? Is the amount of qualified incoming leads sufficient to cover our needs? How much overtime are people doing?

– It needs to provide a vision of the future as far as possible. How many projects are coming in over the next few weeks? Do we have enough resources to cover the needs of the projects?

– It must be able to point out weak signals that need to be intercepted in time so that we can react quickly. How is our average rate trending over time, and what are the phenomena causing it to fluctuate? 

Unfortunately, there is often no material time to be able to conduct this kind of analysis as thoroughly as possible. Deadline trumps interpretation of the data. This is, of course, bad.

We are not yet in the ideal situation, but we are adapting to reach it.

A series of actions will lead us to a much more helpful situation:

– Raise everyone’s awareness of the quality of the data they produce and put it into the constellation of systems that makes this shack work. This is one of the critical elements. Time wasted by people chasing after missing or erroneous data erodes even more of their time. 

– Try to automate the report production process as much as possible. Some systems depend on each other and feed off each other. We are trying to make sure that everything can happen automatically. Unfortunately, this is not always possible. I have been fighting for years to ensure that all the systems we use internally and at the group level expose APIs that allow us automation. We have entirely succeeded at the internal systems level; at the external systems level, we are still working on it.

– Distribute the production of reports within functions so that the workload does not burden one entity.

– Make maximum use of the capacity of the systems themselves to provide qualitative analysis of the data. Salesforce’s Einstein is an example of this approach.

– Quality and not quantity. Depending on your role in the company, the granularity of the report must fit your function and need. In the same way, everyone does not efficiently use a data set. If you can distill the data ex-ante, people will not have to waste time filtering, to extract, and sorting the data according to their needs.

– Automate the dissemination of reports. We are still a little behind, but the idea is to avoid the classic mechanism: I generate the report, export it to my computer, and send it to stakeholders via e-mail.

Finally, one should always ask whether a report is necessary or not and ask why it needs to be produced—as always, answering yes regardless is a big mistake.

Report production is an art.


Photo by Parrish Freeman on Unsplash

Unfortunately, all of my non-Italian speakers will not get the content of this post. Lucky them, they don’t have to deal with it.

I am, begrudgingly, a user of SPID. It makes my life easier in managing my relationship with institutions.

I use SPID to access the INPS portal and pay my domestic worker’s contributions, I use it to pay the fines I happen to get, and I use it to figure out what the Internal Revenue Service wants from me.

In other words, for me, SPID means that the state wants to get its hands in my wallet.

Yet when it was announced, I thought that all things considered, it could be an interesting tool to bring the citizen closer to the institutions.

I was happy to learn that that tool could be used to sign online petitions. It was a use case that moved the specter of payments to the public administration away from SPID.

Unfortunately, there has been a backtrack on the latter issue. Thanks to Colao, whom I respect as a manager, and Brunetta, whom I do not appreciate as a minister (always with a lowercase m), it is no longer possible.

I find this to be a very wrong move. If you want a technological tool to be adopted by the masses, you must make people perceive its value. In this, the importance of SPID lies solely and exclusively in public administration. The citizen will continue to perceive it as a tool through which they pay for something.

Something has changed

Photo by Emma Harper on Unsplash

I slowly drove to our group corporate headquarters. I had not been there for the last two years or so. There was no reason for me to go there before today. I had to pick some documents that the never-evolved-enough bank sent me.

I entered the highway and made my way to Milan downtown. Our offices down there are close to Piazza Duomo, and getting there is a real challenge. I thought that many people were already enjoying their holidays and that it would have been an easy drive. I was mistaken.

It took me one hour and a half to drive those bloody kilometers. The traffic in Milan downtown was chaotic. People were going evil, and I had to pay attention to many scooters and bicycles. Plenty of angry people on the road. I avoided a collision a couple of times, and the drivers wrongly addressed me with something I could not repeat.

I felt confused.

I spent most of the two recent years in my house on the lake. A quiet environment that made the pandemic much more tolerable. I live in a small village that counts something like 900 residents. Apart from spring and summer weekends, there are no people around. It’s quiet, it’s beautiful, and it’s close to the water.

Driving through the streets of Milan made me confused. I didn’t like it. This is definitely a side effect of the pandemic. I can’t stand the traffic anymore.

I rushed to the 6th floor, grabbed my package, and went to the car to drive home.

I thought that in half an hour, I could reach the highway and be on my way back to my private paradise.

I saw the mountains getting closer and the traffic slowly getting better. I reached my exit, and I saw the lake. I have already started to feel better. A few more minutes and I will be able to start working in my garden in complete solitude.

I finally felt relaxed and in the right mood to do my stuff for today.

I can’t avoid noticing that the pandemic has affected me. I like being in our studios when needed, but I hate getting there. I visited our Lugano studio a few days ago. I moved from my house around 6am to avoid traffic jams and most other drivers.

I guess that I became what they call “laghee” around here. With this term, we identify those people who were born on the lake or that live on the lake. A proper ‘laghee’ usually hates those who are coming to visit the lake during weekends or holidays. They feel like it is an invasion of their space.

I have lived in Milan downtown in the past. I think I am not made for that. The place I live in now is perfect for me, and the pandemic has accentuated this trait.

I am writing these lines sitting in my garden. I can hear the waves from the lake, and there are no cars around. Buzz is lying down close to me, and we will go for a walk in a few minutes.

It is almost perfect.

I missed a beat

Photo by Nicola Fioravanti on Unsplash

Yesterday I traveled to Zurich for a bunch of business meetings. I woke up at 5.30, completed my morning routine, and jumped in the car to reach the train station. The traffic was unpredictable, and I arrived at the station well in advance.

When I travel to Switzerland, I have my Swiss phone with me. Data roaming is still a big mess, and I am forced to travel with two phones.

I was not alone and had the opportunity to talk pretty much all day about a few things around Sketchin. 

I think we addressed more things in those five hours train trip than in the last month full of conference calls. 

I arrived at the Zurich station and jumped on another train. I placed my Swiss phone under my legs and started talking again.

I left my phone on the seat when I dropped off the train.

Since I am not used to having two phones, I noticed I lost the phone only later. I launched the Find My app, marked the phone as lost, and erased the content for security reasons. I was staring at the map and looking at my phone traveling in Zurich. Nobody called me even if I placed my contact details on the lock screen with the Find My app. At some point in time, the phone stopped updating its position. Someone picked it up and turned it off. Ok, it is going to be lost forever. No big deal. It was a really old phone with no value on the market. 

The problem was that I had no Internet connections, which would be all day long.

I was then buried in business meetings. I reached the station around 6pm to go back home. Long story short. I arrived home around 9pm.

I checked my work emails, which I neglected all day, and took care of the most urgent things. 10.15pm. As one of my old colleagues said: it is already tomorrow.

While brushing my teeth, I realized I did not write anything on Corrente Debole. 

I missed a beat.

I found it unbelievable not to find ten minutes to write my daily post. Having a tough day may happen. Not being able to find a small window for some personal stuff is crazy.

I am convinced that we must find a way to be much more efficient in what we do. When I say ‘We,’ I mean Sketchin. There is too much waste of energy, and we need to address that issue as fast as possible.

Then I felt guilty. I committed to writing a post every day, and I missed the goal. Writing that post every day is when I can stay away from everything and think about whatever comes to mind. It is a safe space where I can hide, even if for only ten minutes. 

This is why I felt guilty about missing it. I had such a day where I could not find ten minutes for myself and the people I care about. I could not answer my children’s phone calls, I didn’t message my significant one, and I didn’t write my daily post. 

This is wrong.

Better than science fiction

Photo by Joe on Unsplash

Hollywood always had movies based on threats coming from deep space. Aliens, sun outbursts, moon out of orbit, and asteroids on their way to extinguish humanity after their impact.

If we look at the narrative of the asteroid impact, it is pretty much always the same. Army guys think about nuking the asteroid, but the planet is saved by a bunch of brave astronauts hitting the asteroid with a spaceship. Usually, the astronauts die and become heroes.

Since a few days ago, this was fiction.

After the DART, Double Asteroid Redirection Test, mission, this has become a reality. NASA sent an unmanned spaceship to the surface of an asteroid, demonstrating that this scenario is feasible.

I guess they have collected a bunch of data that will allow them to build a model to address potential threats in the future.

There is a very detailed NASA page on the mission. If you want to know more just go there and read. 

Ok, why am I not posting the link here?

Google has a cool easter egg. Open google.com and search for “dart mission.”

How I build a presentation

Photo by Teemu Paananen on Unsplash

Because of the work I do, I often have to package presentations and, just as often, attend presentations made by others.

My primary tool is Keynote. Powerpoint, I can’t stand it. The tool indeed affects how you produce content, and both Keynote and PowerPoint do not disprove this paradigm.

My workflow when preparing a presentation has been the same for years and undergoes slight variation, primarily due to the type of content I need to represent.

My first step is to collect, in the form of notes, all the information, and concepts I need to transfer. In doing this, I also try to value the data or information. I generally use three grades: meaningful, significant, and essential. Anything that falls outside this categorization stays off the slides and ends in a supporting document. More on this later.

Once I have finished the list of things I intend to say, I begin to give a logical form to the arguments, and I always try to work as if I were writing a story or a screenplay. I think a presentation should always tell a story. The byproduct of these notes is the first draft of my presentation script. The narrative I will due delivering the presentation to my audience.

These two first steps of making a presentation always happen on paper, and I never think about doing this activity on my personal computer. I generally use a pencil because, at least in this first stage, there are many continuous corrections.

When the story and its components are evident in my head, and I am convinced that everything stands, I begin to assemble the presentation.

With each concept, I try to associate a slide type perfect for communicating the specific content. A sentence, some data, an idea, a result. Each story element must have its particular language, and I always try to find the most effective method to represent it.

Those who have had the opportunity to attend one of my presentations will remember that my slides are always shallow in content density and make great use of photographic and graphic elements. I am not interested in clogging the slide with words, numbers, and graphics. The slide supports what I am saying. People have to listen to me and not read what is written on the screen. They will get to read that in the supporting document.

It is essential to notice that choosing a picture for a slide is not trivial. There are plenty of resources to find the appropriate image for the concept you want to reinforce. It is essential to choose carefully.

At this point, the presentation is ready, but the work is not finished. 

It is now time to associate the main presentation with a side document that contains all those elements I did not include earlier. The form of the document can be the most varied. It can simply be other slides in a section at the bottom of the main presentation. It can be a text document. It can be spreadsheets. In short, it all depends on the intended purpose and the content that needs to be communicated.

Studying the side document is as important as knowing the script of your presentation. If you are talking numbers, you must know those numbers.

Those who attended the presentation received both documents.

Side note. When I present, especially at conferences, I always avoid the very classic “About Me” slide. If you have come to listen to what I have to say, I imagine you know who I am and what I am about to tell you. This way, I avoid feeding my ego, which is already big enough, and I gain two or three minutes to discuss what I want.


Photo by Randalyn Hill on Unsplash

The inscrutable Medium recommendation algorithm works in waves, at least for me. Some days I see infinite suggestions on how I can become rich with side hustles. Some other days Medium thinks I am interested in DeFi or note-taking applications.

These days Medium is thinking that I am interested in finding my passions. 

Passion is interesting as a theme for a post.

Most Medium posts state that we need to find out passions to be happy in life. Let’s see if that is the case.

As a general rule of thumb, I always start with defining what I am talking about. We all need to be on the same page to understand what I’m writing.

If I look up passion in the Merriam-Webster dictionary, here is what I can find.


  • The state or capacity of being acted on by external agents or forces.
  • Emotions as distinguished from reason.
  • Intense, driving, or overmastering feeling or conviction.
  • An outbreak of anger.
  • Ardent affection.
  • A strong liking or desire for or devotion to some.
  • Activity, object, or concept.
  • An object of desire or deep interest.

I have omitted some of the definitions for clarity. If you want to have a look at the original meaning, click here passion

If we think of the term passion, I am sure that each of us will find in the definitions above something that resemble our meaning of passion.

We should focus on the fact that, for the most part, those definitions do not seem to sit on the positive side of things. Most of the descriptions suggest that if passion drives us, we are subject to the influence of an external force. It also seems that we are not in control of those external forces, which is not good.

So it seems that passion is driven by an external force difficult to control and steer. If this is the case, I found it challenging to think that this can lead to happiness.

Another interesting point is that you may have found a passion, but what if you suck at that passion? I love drawing, and I think it can be called a passion. Following that passion would mean that I should spend more time practicing it to be happy. The reality is that I could not make a living with drawing. Ultimately, it is a passion that will not make me happy in the long run.

If passion is an ardent affection or a strong liking or desire for or devotion to something, it makes you blind to what surrounds you and the relations between the parts that make your life worth living.

I find the narrative around passion a little bit naive. Make what I say, not what I do.

Following your passion is terrible advice and can end up being harmful.

The main issue is that you build an ideal picture of your passion, how it can make you happy, and how it is in the real world. Unfortunately, it is a concept that lives only in your brain. Reality is going to be a different ball game.

Being driven by a passion may give you the impression that the path you are going to follow is an easy one. We all know that there are no easy paths. A passion requires commitment. Even if you are a natural with your passion, it will not be as simple as you think.

I prefer to talk about inclinations instead of passions. Following your inclinations is a piece of much better advice.