Recently I thought a lot about optimizing my setup. I don't think it is an important aspect of cp, as it barely affects the performance, but it is fun to think about notherless.
In this blog you will be able to determine whether you have an optimal setup or not. I will list critiria and points you get for satisfing each on of them. In the end I do the breakdown for different point ranges.
I won't include things like "having a monitor" or "having internet connection", but I will be including basically everything else. This blog is mainly made for laughs, but if you are new, you will probably learn something new, even though it won't help you to increase you rating (except the true criminal cases :skullemoji:)
10 points: You can compile and run you code.
For some people will find it surreal that this point even exists. I knew I lot of school kids that never figured out how to run their code locally. I even saw some people like this in the university. And juding by 73 pages of Compilation Error submissions from the last Div 4 contest, I have seen nothing yet.
You HAVE TO able to run your code locally. Even LGM's run their $$$A$$$ solutions on the sample tests.
5 points: Your text editor does not lag / crash
When I was writing local contests in my Kursk region during my school years, I encountered some truly old machines, where I saw visible lag while typing text. Probably I should not have used Visual Studio on machine that could barely run it. So if you have the same issues, I think you understand why you lose 10 points for that.
2 points: You can compile and run your code with no internet
Some people you online editors like this one. I think not being able to compile without having internet it is a pretty big deal. Even if your country has a very stable internet provider, accidents still might happen.
2 points: you can benefit from syntax highlighting and you use it.
If you are not colorblind, or if you have been used to mono blue text on a blue screen like my dad, you will probably benefit from making you code more readable by coloring it in different colors depending on the context.
Don't subtract the points if you know how to enable syntax highlighting and prefer not to use it.
1 point: When you code, you understand everything that is open on the screen.
If you are using modern IDE like Clion or Visual Studio, you might have a lot of windows opened on your screen. If they take up space, and you have no idea what they mean / you never use them, you are probably being suboptimal, so you are getting -1 point.
1 point: You are able to see how many seconds you program took to run
If you run your code and have to count seconds in your head to check if it fits into time limit or not, you are probably doing something wrong. It is true that you still probably won't be able to accuratlly predict the time usage of the program on the codeforces server, because the specs of your computer may be different. But being able to determain whether your solutions runs faster or slower on a max test after you fix is important.
1 point: You can see how much memory your program used.
In certain implementations it is hard to determine how many megabytes of memory your solution takes, so it is crucial to be able to see that information without submission your solution and hoping for the best.
3 points: You are able to see mistakes you make in the syntax of your program without running it (in other words, you are using a Language Server)
If you only can see that you have made a typo only after you compiled your code, that you have to fix the mistake, then compile the program again. It wastes time, it is suboptimal, you get -3 points.