The big three

Marcus Aurelius tells us that there are three big disciplines of Stoicism. There are others as well, but we could spend days listing and talking about them.

In his personal journal, Marcus tells us, “All you need are these: certainty of judgement in the present moment; action for the common good in the present moment; and an attitude of gratitude in the present moment for anything that comes your way.” [Meditations 9.6]

We should take the following parts of Stoicism with us every day into every decision we make:

  • control our perception
  • direct our actions properly
  • willingly accept what’s outside our control

That is all we need to do.

Be ruthless to the things that don’t matter

One thing that the Stoics are known for is saying ‘no’ to the the things that don not matter to us. It is a hard but very important thing to do.

Seneca tells us via On the brevity of life about people who “have laid waste to your life when you weren’t aware of what you were losing, how much was wasted in pointless grief, foolish joy, greedy desire, and social amusements – how little of your own was left to you.” [3.3b]

So what does saying ‘no’ do? It allows us to say ‘yes’ to the things that really matter to let us live and enjoy life, and live the life that we want to live.

Education is freedom

Knowledge — self-knowledge in particular — is freedom.

So what is the reason I am learning Stoicism in 2026? Well I want to learn about being free, free of the the things holding me back from life.

So what do the Stoics say about freedom and learning? Epictetus says “we should not trust the masses who say only the free can be educated, but rather the lovers of wisdom who say that only the educated are free.” [Disc 2.1.21-23a]

So why am I learning Stoicism? Well I’m looking to be educated in a way that allows me to experience freedom. So while I think that watching a television show or movie can be freedom, a better use of my time and achieving freedom is reading or studying philosophy.

Control and choice

Grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference.

The most important practice in Stoicism is being able to recognise the difference between things we have power over and those we do not. What we have influence over and what we do not.

As Epictetus tells us from Discourses, our chief task is “to identify and separate matters so that I can say clearly to myself which are externals not under my control, and which have to do with the choices I actually control.” [Discourses 2.5.4-5]

A good reminder of this Stoic practice is the Serenity Prayer. So this is a good opportunity to take it on board as we learn Stoicism throughout 2026.

Incomplete design

Imagine putting this note on an engineering set of “construction-ready” drawings and calling it a day. Seems to be something that is creeping into the industry at the moment, leaving ambiguity between the client and contractor as to who funds this, the client in the end.

I understand the desire for transfer of risk away from the design team, but this just costs more overall because there is now two sets of design liabilities that must be covered, and it may lead to additional design by the contractor (and their subcontractors) that as assumed to be handled by the primary design team.

Reset Nginx Proxy Manager Password

I run Nginx Proxy Manager, or NPM for short, at home for the media stack. I haven’t logged in for a while, and clearly had forgotten my password for my NPM admin account. So how does one reset it?

I found a tutorial or two to follow, but neither of those seemed to work for me, and added a step or two that I thought unnecessary, and have since discovered were unnecessary.

So NPM uses SQLite3 by default, but can be setup with PostgreSQL and MariaDB/MySQL. My setup uses SQLite, and within that they use the BCrypt hashing algorithm of passwords for security.

I found a BCrypt generator online, and opted for the default setting of 12 rounds of hashing of my password. Initially I tried one as I wasn’t sure how that would go, but I found that 12 worked for me.

Once I had the BCrypt hash of my password, I used SQLite Manager to open my database, and ran the following SQL command to insert the password hash into the database.

UPDATE auth SET secret="<BCrypt-Hash>";

Once I had run that code, I restarted the NPM Docker container to ensure it was loading the database, and tried logging in. It worked like a charm.

So updating a forgotten password for NPM running on SQLite is as simple as updating the password hash through the backend. Assuming you have access to it obviously.

There you go, hope that works for you!