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.

The disadvantages of minimalism

I can say that I am minimalist and I really like this idea: it allows me to make my life a lot simpler, I do not have to care about a lot of things and can focus mostly on experiences. Of course, it is like all things in the world, so it has its drawbacks. I do not want to see only advantages, and say that minimalism is great for everyone, because that would not be true. Some minimalists do not like to discuss about downsides, but I prefer to be open, it always good time to thing, how can I use this in my life in better way: such ideas are not to use them in 100% to be super strict, but to be flexible and use what you really need. So, let’s discuss minimalist downsides. 

Long decision making 

It is a real issue. Because I do not want many things, I prefer less, but with higher quality, I usually spend more and more time choosing the best option before I buy something. In theory, it is fine, because we want focus on quality, but unfortunately, it has a lot of negative effects. First of all, we have to spend more time choosing things… Things! So, it may be a bit strange, because with minimalism, we want to free ourselves from things. Never-ending comparisons, advantages/disadvantages lists, quality/price ratios etc. It is just tiring and sometimes after a few days (or even a few weeks) I just reject the purchase plan, because I feel totally exhausted and think “no, I do not want this crap anymore!”.  

Second option: I use very consumer-friendly rules in Poland and buy, check something and return to shop if I decide it will not cover all my requirements. Such law allows customers to try things (of course in limited way) and then decide and I think it is fine in current situation. I used that when I looked for a new sports watch, I tried a few options and finally chose Garmin – before that I was not a big fan of that company, because I saw a lot of complaints. After a few months of usage, I am still fully satisfied and think it was a good choice. How to deal with long decision making? I think the basic thing is to really deep investigation and question “do I really need that thing?”. It is possible that if we will hold off on a purchase decision, for let’s say a month, we come to the conclusion that we do not really need it. 

It is possible we will try to convince other people  

 If we are minimalist, we will see “a lot of unnecessary things” in many situations and there is always risk, that maybe we will want to discuss that with other people, also try to convince them to change their mind and their lives. Discussing interesting things is always good, but pushiness is very, very bad. Maybe we transformed our life to minimalist-style, because we felt bad with tons of things, but what if different people do not have any problem with that and they just like what they have? It is super important to not try convince others, it is better “to be a good example”, but nothing more. If they are interested in our approach, they will ask us – and it is a good time to talk about minimalism, not before that. 

It is a big problem especially in relationships. People are different and it is of course possible that both of you will like minimalism, but it is also possible that the second side will prefer something completely different. What then? Nothing, do not try to change second person! Never! It is the best way to break a relationship, not to build a beautiful pair. If you have some usual problems like too many clothes out, just discuss about that and set some boundaries, but do not try to be “the only one source of truth”, because you are not: you have your opinion, second side has her own and it is fine.  

Always too much  

If you are a minimalist, you can always think that you have too many things. It is a never-ending story, especially if you decided to go to the minimalist “step by step”, removing one thing, then another, then another etc. I think such an approach is fine, but in reality, there is no something like “breakthrough”, there is no real time when you said “I cleaned up my things”. It may be problematic, because we can remove some things only for ideas, but without real reason. I can say that I made some decisions and after some time I regretted them – because in reality, I did not need some things only in a specific period, and when I needed them again, there was nothing.  

We can see similar problems with a lot of ideas: it is because we want to be very strict with someone’s idea and we completely forget about our life. Once again, as I mentioned in the beginning: minimalism is for the people, not the people for minimalism, so think about your decisions and be as flexible as possible. Use only some rules if you prefer them, abandon assumptions which do not fit your situation and your life. You can sleep on a mattress in an empty apartment and if you think it is fine for you, then ok, but doing something like that only for minimalism idea? It is absurd, nothing good.  

A minimalist can be stingy 

Yep, it is true. A minimalist can be stingy, because as I mentioned above, such a person will think a few times before will buy something. It means, there is a greater likelihood that such a person will also think about the real price of a new thing i.e., not only money, but also time required to earn that money, time to maintenance that thing and all others. In many situations minimalists can decide that they will not buy things because all advantages are not worth such price. Is it bad? I think not, I we do not go to extremes: sometimes we should definitely buy something (new clothes), also sometimes we should have some spare parts, not buy new things under time pressure, when something is really missing. Overall, it can be an advantage, especially now, on very interesting times.  

Gifts 

Maybe it is not a huge problem specific for minimalists, but definitely for their families and friends who are not minimalists. In the past I received some nice gifts, but after just a short period I realized that I do not need them at all. What then? It is a problem, I can give it to others, I can sell them (and maybe buy something more relevant for me), but from a sentimental viewpoint, it is always a problem – we often do not want to do it because we think it is wrong and not fair. It is a big problem especially when we receive a gift from very close people.  

How to handle that? I think the best thing is to tell others that we do not need all these things, and maybe a better gift will be something like discount coupon, carnet for a massage or something like that: something we can use, experience, not thing. If our family and friends know that we prefer minimalism, it will be better for both sides: them (always simpler to choose the best gift) and also us, because we will not receive unnecessary things anymore.