Preslav Mihaylov

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

Page 2 of 5

What you don’t know about sorting algorithms

This article is part of the series What you won’t learn in the basics courses and is aimed at people who have an understanding of programming, but want to gain a more deeper insight on how things work and why do they work that way.

Last time, we delved into bitwise operations. This time, we will look at a more high level computer science concept – algorithms.

When we first get introduced to algorithms, we normally start with learning sorting algorithms. In comparison to other algorithms, they are easier to grasp. And if we pay attention in class, we will do a good job at understanding them. However, what we don’t learn in these classes is when can they be useful.

Continue reading

Why does blaming others stop your growth

Recently, I had the opportunity to make a TEDx talk and I chose to speak about a lesson I had learned in life, which happened to be greatly beneficial to me. I was lucky to learn that early on in my life. It is concerned with blaming others and it is especially dear to me as I had been a serious gamer in school and it was very common to constantly talk about how your teammates suck in-game.

But although we tend to blame others in a video game, I have observed that we have the same attitude as adults, as well. All the time, I hear people say how the government is responsible for the problems of our society. How we are poor not because we don’t have any useful skill with which to serve society, but because the country sucks.

Those are some common examples I encounter, but I am sure you can think of others yourself. That is why, today I want to share with you one vital lesson I learned as a gamer. It helped me become better in the game, but it also helped me grow in life.

Continue reading

How to develop the habit of reading books

Throughout all of our lives, we hear people saying that reading books is essential to success. When we were at school, our parents used to tell us how we should read books in order to become smarter.

Well, books do grant us with a lot of knowledge. Surely, technology has provided us with other channels for gaining knowledge as well. Channels such as videos and online courses. But books still seem to be the main source for learning new things.

However, there seems to be some kind of obstacle, that prevents people from reading books, nowadays. It seems that young people prefer playing video games and watching movies instead. And I am telling this not from observation. I had always preferred to stay in front of my computer and play World of Warcraft all day. When I didn’t have a computer, I preferred staying in front of TV watching Cartoon Network.

Continue reading

Introduction to bitwise operations

This article is part of the series What you won’t learn in the basics courses and is aimed at people who have an understanding of programming, but want to gain a more deeper insight on how things work and why do they work that way.

Last time, we talked about character sets and encoding. This time, we will return to dealing with binary numbers. However, this time we won’t examine how binary numbers work and what is their nature. We have covered that in previous articles. Today, we will see how to apply that knowledge in practice by examining how bitwise operations work.

This topic is usually neglected in a traditional computer science curriculum (At least it is in some universities I know). But I think that this knowledge can be useful for two reasons:

  1. Expanding your computer science knowledge by gaining a deeper understanding of binary numbers and of low-level computer science aspects.
  2. Gaining a valuable tool which can be useful when pursuing specialization as a low-level programmer (Embedded developer, for example).

We will start by examining what tools do we have at our disposal – the operations which modern programming languages provide us with. Then we will move on to applying that knowledge for actually manipulating numbers in a binary fashion and finally – we will see some real-world examples of how bitwise operations are used to achieve a highly efficient system.

Continue reading

How to start your own blog and why?

I recently started this blog with the idea of posting some things I find useful with the purpose of helping out people. But I also found a blogging course from a very famous software development blog called Simple Programmer. It is maintained by John Sonmez, a developer dedicated to helping out other developers with topics such as Finance, Fitness, Specialization and all sorts of other useful stuff. You should definitely check out his blog.

Continue reading

« Newer posts Older posts »