Preslav Mihaylov

Speaker, Software Engineer, Technical Trainer. Passionate about computer science, presentations and reading books

Automate Your Initial OS Setup

There was a time in my life when a huge part of my time was spent reinstalling my Linux OS. Wonder why?

Well, the first time you install Linux, they warn you to never run rm- rf / as this would delete your entire system. Fair enough, that’s simple to follow.

What they don’t tell you is that you have another million ways to effectively do the same thing with commands which seem harmless at first glance.

However, there were some benefit form my misfortunes.

What irritated me the most was installing all the software I use from scratch every single time. I often forgot to install one or two programs I use and had to do it on the fly once I actually needed them which was very disturbing.

Hence, I came up with the idea to create a script which would automate this process via a single command. Every time I reinstall my OS, I simply run the script, go get myself a coffee and once I’m back, I have my OS all setup with what I need.

If you’re in a situation where you often have to do this yourself, read on.

Also, be aware that this guide is specific to installing Linux and Mac OS. You could probably apply the same concept in Windows, but I only speak bash, not bat.

Continue reading

My Experience with Learning Golang

So you want to learn Golang?

Great! Perhaps I could help you. When I learnt I’d be joining Uber, I had some time to prepare for the tech stack ahead. One of the key things I had to get onboarded to quickly was coding in Golang.

So I started searching for good courses around the web, which could help with getting me caught up with the language and its paradigms. Some were great, others were pretty bad. And the bad part is, it isn’t obvious at first glance.

Actually, some of the most promoted courses on Golang are some of the most useless ones. So learning Go can be quite frustrating due to the lack of good courses out there.

In this article, I will share what good, bad and ugly courses I’ve encountered in the bumpy ride of learning Go.

Continue reading

Incremental search in vim

There is a slight, but obnoxious difference in how the default search works in vim against the way it works in other IDEs.

In vim, whenever you click the / (forward slash) you start writing a word you want to find in the current file. The problem is that you have to write the whole word and click enter before you start seeing the results.

This can work fine and you can cope with it most of the times, but it can start getting in the way pretty quickly once you start searching for longer words or phrases, whose exact identifier you can get wrong pretty easily. At that point, you have to start all over again with the search and be very careful about writing the keywords precisely.

The way search works in IDEs is that it starts showing results while you’re typing the keyword. This way, you can:

  • Get to the word you need before you even write the whole keyword
  • Detect a mistake in your term before you’re finished

This feature is called incremental search and can be very handy.

Today, I want to show you how to get it in your vim editor.

This article is part of the sequence  Boost Your VIM where I share my favorite vim plugins and tools which can greatly optimize your productivity and make you a better keystroke ninja.

Continue reading

Creating Your Programming Study Plan

If you’ve read my last article and taken action, you should now have plenty of time allocated for you to study throughout the week. Now it’s time to create your study plan.

Simply having the study time, does not necessarily mean we can use it effectively. Often times, we meaninglessly drift through online courses, textbooks and side projects without really finishing anything.

Sooner or later, you will end up in a situation where you’ve bought numerous Udemy courses and you’ve merely completed 10% of each of them.

That, indeed, is one of the greatest challenges of self-study – organising your curriculum & study plan.

But fear not. In this article, I will show you how to bring order to your course catalog mess. One step at a time.

Continue reading

How to study effectively as a full-time developer

So you’ve graduated from university/bootcamp and you’ve landed your first job as a professional programmer. Congratulations, this is a huge milestone as it cost you years of perseverance to thoroughly study the courses in your curriculum.

However, studying like this is easy to do when you can dedicate your entire day for it. Once you start your 40 hours/week job, suddenly, you are deprived from all the free time you had to spend studying.

You have to be much more mindful about how you spend your free time, as it is no longer unlimited.

So what options have you got?

Continue reading
Older posts »
BulgariaEnglish