Exploring sleep states in Windows

Microsoft Windows has changed considerably in latest years, everything because of changes on devices: we use smaller, more portable computers, we often want more battery life, but we do not want to lose performance or quick operational mode. If we add to these additional changes related to security, everything will become even more complicated and it is the current state of power settings in Windows: they are complex, some are hidden, some are hard to understand, some generate many issues.

Continue reading “Exploring sleep states in Windows”

The Three Gardens of Life

Today I want to write about something different, about the “three gardens” idea presented in “Zyciologia” book by Milosz Brzezinski. This book is extremely interesting, but available only in Polish. I’m not sure why the author did not decide to publish also in other languages, but think it is big loss. This book presents in a simple way the dilemmas with which modern humans are confronted. It includes also a lot of small, but simple tricks “how to live and not go crazy”, but without imposing an ideal solution – because the author makes it clear that there is no such thing.

Ok, but what about is “three gardens” idea? It’s a fundamental part of this book. Imagine you are a gardener and must care for three gardens. These gardens are not ordinary. In theory, they are separated, but during the day you see a lot of connections and influences between them. After the lecture I have to say, I really like this idea, because it allows us to “monitor” these gardens. Let’s check their details.

Work

First garden in work. Yes, your work. There are some people who say that work is not important, but it is not true. In a normal world, work, doing something is just required to live: thanks to work you can earn money, buy food, services, fuel, everything you really need (or even do not need, but you want to have it). On the other side, work cannot be an escape from other responsibilities that await us in life, and a lot of people try to do that.

Home

The second garden is your home and your family. Just one hundred years ago everything was simpler in this garden: man was in the work or at war, wife was at home and care about children. Division of duties was easy and imposed by society. Right now, our homes work in a different way, we mix all roles, both sides can go to work and build career, we also often work from home so it’s even more complicated. In developed and prosperous societies people have great opportunities, but also have to talk more often about emotions – and it is sometimes difficult. When we were busy ensuring our livelihood, there was no time for something like that, no time to change our mind. Now it’s common, but not always good. If we will not talk, won’t be honest, there will be a lot of arguments.

Myself

The latest garden is “myself” and it’s about our passion (or road to discover it if we did not do that already). It is also about our health, our physical and mental condition – we should remember that, if not, we will feel unfulfilled and tired. Just try to focus on all except yourself and after some time listen to friends about their trips, experiences etc. There is a high chance that you will be full of envy.


As I mentioned, all hardens are connected in some way and it means, if you forget about one of them, sooner or later you will see damaging effects also in the other two. If you forget about two of them… sorry, really better not to try. Of course, everyone decides for themselves, but why not care about all three gardens?

Does it require time? Yes of course. Does it require effort? Oh yes, no doubt.

But it’s worth it and that’s the true balance of life.

Few words about technical debt

If you work in IT, you probably have seen or heard the “technical debt” term. Do you know what it is? Just as the name suggests, it is a type of debt, and nobody likes to have debts, right? Similar to monetary debts, if we do not repay it, it will accumulate interest and make our work harder and harder. It may be complicated systems, lack of tests, non-documented code, tightly coupled components, complicated infrastructure or just lack of module ownership. Sounds familiar? Yes, it is a frequent problem in software development, but not only there.

Technical debt is often created when we have a fresh, great idea and want to expand quickly: there is no time for polishing, we want to cover as many needs as possible and find investors. It is fine, if we will focus on details, we can lose our chance or be overtaken by bolder competition. In effect, we often create something called “big ball of mud”: it will work, but it will hard to maintain, it will be something like mix of different solutions, lack of plans, lack of information. Such a mix based on the knowledge of team members and if they will leave, everything will be complicated for new employees.

Technical debt can destroy a company

A notable example of technical debt is Symbian, an old mobile operating system created by Nokia. I have used Symbian for a few years on different devices and it was fine, but I did know anything “under the hood”. The truth was a bit scary: the system was super complicated, the building process was awfully long, testing was almost impossible. In effect Nokia hit the wall and it was not able to extend or improve Symbian anymore. Next part of this story was sad: Nokia was acquired by Microsoft; they completely stopped all projects related to Symbian and moved to Windows Phone only. Unfortunately, Microsoft failed to properly advertise and develop Windows Phone and after just a few years, this project was canceled. Nokia was sold again and was almost non-existent for some time. Now it produces phones, but they are only a shadow of their former power.

We can find many similar examples, even companies like Facebook, Google, Amazon or Netflix had and still have a lot of issues related to technical debt: there were a lot of moments when these companies were close to “death” because of that. These companies were not able to deliver new functionalities, compete on the market and attract new customers. Why did they survive and Nokia not? Because the magnitude of the problem was realized in time and faced up to it, instead of sweeping the issue under the rug – it was always hard, but required time, something like a big house cleaning before Christmas. Probably nobody likes that, but can you imagine Christmas in a mess?

Is technical debt always bad?

Based on previous information, you can assume “yes”, but the answer is more complicated. technical debt is not bad, it is not good. It just exists because during our work, we have to deal with a lot of complicated problems and in many cases, do not have enough time to do this correctly. If we must compromise, we will generate new technical debt. In the ideal world, we can always make correct decisions, we always have time to handle items in proper way and do not generate any bottlenecks and issues. Unfortunately, we do not live in an ideal world: deadlines, customer requests, competition. All these factors cause us to take shortcuts, generate new debt, for example by extending old codebase instead of making refactor, by skipping important tests or critical validations on CI/CD pipelines.

But technical debt can be beneficial. If we will remember about its existence and periodically clean up the mess, we can also adopt (yes, like in AGILE), learn, and do not repeat similar mistakes in the future. Probably we will never completely avoid technical debt, but we can learn how to live next to it and keep growing. And it is completely fine. Also, remember, that “technical debt” does not mean only IT projects. We can use the same words to describe even our personal troubles, it works in the same way and… Maybe it is a good analogy to explain how important it is?

How to select browser on link click

I must use two browsers – it is my preferred way to avoid distractions, do not mess everything in one place and also to use the best options they offer on both computer and mobile. The frequent problem which can occur in such a situation is browser selection. Operating systems like Windows or MacOS allow us to select one default browser, so each time we click on a link, web page is opened in that default browser. It may be annoying, especially if we want to have one default browser for one app, different for others.

Real life example: Slack. I need to open all Slack links in Chrome. On the other hand, I use HeidiSQL app and want to open all links from it in Microsoft Edge. How to deal with that? Of course, it is possible to use two profiles in the same browser – both Chrome and Edge allow to do that, but I do not like this option. I already use a lot of Google services but do not like Chrome for personal items, so this is not a good option. Second drawback: in such case, browser will work “correctly” only if latest active window is from context we want to use.

An example for better explanation let’s say we have personal and work profiles in Chrome. Both opened in separate windows. Go to personal window, do something, then go to Slack and click link – link will be opened in your personal context window, not work one. Similar: I’ve just used work Chrome profile, then opened HeidiSQL, clicked link and… Yes, it will be opened in work Chrome context. Messy situations cause us to always have to remember the context or reopen the link in the appropriate window. If we must do that manually, it is not a good option. If we have more browsers, the problem is even more complicated.

Fortunately, there is a solution for that – BrokenURL for Windows. This small, free app is something like browser selection. After installation we should set it as our default browser and… it’s all. When we click the link, it will open screen with all installed browsers and more options, because it simplifies link copying or sharing with others. It can detect browsers and even allow us to open links in incognito mode. We can save our choice, so within just a few minutes we can create templates for all important apps we use – and after that just forget about any issues related to browser selection. App is small, fast, does not include any ads or telemetry, does not monitor links, supports a lot of Windows versions and many browsers. I have used it for a few months and really recommend it.

BrokenURL browser selection after link clicking

What about other operating systems? I cannot recommend anything for Linux because I do not use it daily. Similar in MacOS, but I know there is an app called Velja available on Mac App Store with similar description and should handle the same cases. If you know more about it, let me and other readers know in the comments.

Journey matters more than goal

Whoow, last time I added a blog post was in June, a long time ago, but many important things changed in my life, and I really did not have time for this part. It will never be like it used to be, but finally I found some time to write about my latest journey. My journey into myself, about a lot of pain, mistakes but also wonderful conclusions. Hope it will be nice to read for you but must warn: this post is a bit emotional and open, please respect that.

First 100 km run

Three weeks ago, I did my first 100 km run. According to many, many people, and friends, it was crazy idea: I have been running more for just a year. Of course, I ran a lot of times during recent years, but half marathon was always maximum distance, also my running was not regular. Every time the weather was good, cycling won. It was my biggest hobby. I loved that and cycled a lot in the local area and not only. The record was 400 km, one day (and night) long trip from my city to Baltic Sea, spending 2 hours there, going back by train on the second night and cycling a few more kilometers to my city. It was an amazing trip, but without any pressure. I was with a good friend, we often made stops, of course had some “crises” and required long rest after the whole journey, but no pain, no issues.

This 100 km was different. It was not a big competition, this event calls “Bike & walk marathon around Lubin”, there are few distances to choose, and it is not a race: there is time limit, but the general idea is to promote activity and discover local areas, because path avoid cities, even smaller towns and leads through forests, meadows, and fields. The goal is to visit ten special places and add stamps on the map you received during the start. Most of these points are in forests, without any people – just a box on a tree with a stamp inside. I cycled those three times, but never along the planned, “red route” because it did not make any sense, especially on cyclocross bike. This time I had an opportunity to do that, also during night. The weather was good, we were accompanied by the moon, the stars, and the sounds of animals such as wild boars. The plan was simple: try, run and walk, because there is nothing wrong with trying and failing.

Mistakes and pain

I made a lot of mistakes, and it was a good lesson. The most important was related to nutrition. There were two food points. First on about 33 km, second about 77 km. I didn’t drink enough (realized that I drank only about 300 ml in first 30 km), second it was too much sweet snacks. It is fine for shorter distances, but not for something like that. Also, I did not have enough food generally and my supplies ran out after about 50 km – had to walk/run 27 km without anything. Later, I felt it very much. The last ~30 km was almost constant pain and mental fight: like pain waves, starting from feet, through buttocks and back. Again, and again. A lot of thoughts like “I have enough, I want to end this, I should stop and call them to bring me back”. Few stops to check feet: slightly swollen, but no blisters or alarming changes so I kept walking.

Last 10 km or even more we ran. Why? It was faster than walking, so I preferred that way, to finish pain and rest earlier. Also, the closer I got to the finish line, I felt better, it was crazy. Finally, the finish line… quick rest, went to my car and back home, fortunately it took only a few minutes.

After the battle

When I got home, I felt… not bad. I ate something small, took a shower and then I started to collapse. A huge feeling of exhaustion and I only wanted to sleep. I slept only about two hours. Not sure why, maybe because I was too tired, maybe because of emotions. Emotions… When I woke up, I started… crying. Everything in me exploded, everything was released – it was not physical pain, it was happiness and sadness at the same time.

I have been tired many times after cycling or racing, but I have never experienced such mental ecstasy after an effort. Never ever, I swear. It was something like crossing “the thin red line”, without the option to return. When I think about that right now, when I write these words, it still stirs up emotions. Maybe this is how the warriors felt after the battle? I am not sure, but I know one thing: I want more. It beckons me, attracts me. After these three weeks, I know one thing: I will never again be like I was before. It changed me in many aspects. I am not crazy, I do not want to devastate my body, so I am not going to throw myself over much longer distances, but I will push forward, kept walking. There is no “impossible”, everything is just a matter of time.

Last weeks showed me one important thing: we should find time to celebrate, to experience it internally once again, but like a spectator, like observe ourselves during meditation. Then we can appreciate our own efforts and be happy, be proud – no one can take that away from us, no one can undermine it, we know we did that, and it is all. Finish line, the goal? Yes, they are important, but everything happens in the way, not after. Reaching the destination point does not change us, the whole journey does. Our life is one of these journeys, so it should always be clear, but it is not, and we need to remind ourselves of this.