Preslav Mihaylov

Speaker, Software Engineer, Technical Trainer. Passionate about computer science, presenting and playing board games

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

Is reading books going to make you successful?

When I was little, my parents used to tell me how reading books will make me successful. How I should stop playing games all day and start reading. Well, nowadays I am reading various books all the time and it really helps me out. I guess I should thank the old ones (No, I’m not referring to Cthulu) for this one, even though they didn’t put this idea in me in the best possible way.

However, there is a huge misconception in this philosophy.

Continue reading

What you need to know about character sets and encoding

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.

My last article was about different data types and some tricks with them. We talked a little about characters as well. However, working with them can be a little bit strange due to the presence of a fancy term in computing called encoding.

Today, my friend asked me to go and fix the subtitles for his movies. He had been telling me that some strange symbols appear all the time. So he tried reinstalling windows and changing all sorts of options but nothing seemed to work. He clearly had no idea what an encoding is. However, I guess that is normal since he doesn’t have a CS background. But there seems to be a lot of developers out there (me, including, in the old days) who don’t know what does encoding mean. Surely, they might have heard of UTF-8, but what is it? We have ASCII right?

Well, I am going to address the issue of encoding in this article as I think it is fundamental to anyone getting his hands dirty with programming and computing. It seems not many programming basics courses cover this topic in much detail.

Continue reading

Older posts »