Good programmer skills

Good programmer skills

People often ask me what they should do to be a programmer. In most cases, they expect advice like: read this book, learn this technology or do this course. They want the silver bullet answer, but it’s not so simple. Of course, you can graduate and feel more confident in programming. Even then, you can be a bad programmer. Programming is one of these fields, where you always evolving, improving your skills, your mindset, and learning new things. Today, I would like to show you some skills, which are, in my opinion, important for a programmer.

Logitech G915 TKL with Ubuntu

Logitech G915 TKL with Ubuntu

I bought a Logitech G915 TKL keyboard at a beginning of the 2021 year. This keyboard works pretty well on Windows and Logitech G Hub software. There is a ton of ways to customize it. It can be fun. The problem comes when you cannot normally install G Hub software on your system, like on Ubuntu. Since I use the Logitech G915 TKL keyboard for a while with my Ubuntu, I would like to share what I already know about customizing it on Linux.

Test doubles - the difference between stubs and mocks

Test doubles - the difference between stubs and mocks

In the testing world, we have stubs, mocks, dummy objects, and so on. It can be confusing what to use and when to use it. I would like to organize all of those terms in a more accessible way. There is one problem. In many different sources, we have discrepancies regards to those terms. I will show you my understanding of this topic. Of course, based on chosen sources.

Dynamic configuration using YAML in Ruby

Dynamic configuration using YAML in Ruby

From time to time using Ruby or even more often using Ruby on Rails, I need additional configuration with some secret API keys. I don’t want to save those data in the git repository, but it is too early to put them in the database. In this case, environment variables can do the trick. You put sensitive data to the .env file, and you don’t track this file in the git repository. We’re done! Not exactly, in my case. I wanted to have the structured data in one file. So I used the environment variable together with YAML (recursive acronym from words YAML Ain’t Markup Language) file and ERB (Embedded Ruby). Let me show you how this looks like.

How to focus as a programmer?

How to focus as a programmer?

In times of full connections and online life, we have a problem staying focused. We need to focus, to feel the flow. One of the most important feelings in our work time. Flow is the mental state in which we do some activity fully immersed and engaged in the process of the activity. It’s a very positive and energized feeling, which brings us a lot of satisfaction. But how can we have flow in a world full of distractions? Now, since a lot of us work from home, the situation can be even more challenging. This time, I would like to share with you some of my tips, which help me to stay focus and experience more flow.

Screenshot directly in the browser

Screenshot directly in the browser

When you are web developer, sometimes you need to do a screenshot of your work. In most cases, you just use the Print Screen key for that. Then, of course when you use Linux operating system, you open a graphic editor like GIMP to cut an important part. Or maybe you need to do a screenshot of the entire website? Then you use a couple of times Print Screen, or you use some extension in the browser. But there is an easier way to do that. You can use a screenshot built in your browser. Let’s check out how to do that.

Pattern name in class name. Good or bad practice?

Pattern name in class name. Good or bad practice?

In one of my last articles, I was writing about improving names in the project. One of the tips was tell what pattern you use. Then I read a newsletter from Sandi Metz “Don’t Name Classes After Patterns. Mostly.” which have a different opinion about patterns in names. I think it is a good topic to write about it. There is no one silver bullet rule on how to do programming or create names. We have some tips, but those are the signpost. There are always some pros and cons, so it is good to have a wider perspective.