We all have them. Those moments you learn of the existence of a simple little trick, tool, process, or gadget that you wish you knew about much sooner. They come to all of us, sometimes totally randomly, and we can all relate. So here for your convenience, I decided to list 5 things you can either do or acquire to help make programming a tad simpler.
1. A Shortcut Printed Keyboard Cover
A common theme in this list will be wishing we knew about them sooner. I lead off with the product I most wish I had from day 1 when I started learning to program. This handy little product will protect your keyboard while simultaneously educating you on all the shortcuts you will need to maximize your programming output. In my opinion, the best ones will color code the primary shortcut keys and make it that much easier to read when you have to push 1 or multiple buttons for the desired effect. Something along the lines of this keyboard cover could really make the learning curve go that much smoother.
2. Check Your Caps Lock Key's Privilege by Remapping it to Control
Take a pause and imagine using it this way before judging too harshly. When you really sit down and consider it, the caps lock key is by miles and mile the most privileged key relative to actual usefulness. Not only is it used almost 100% of the time by accident, but this happens at a high rate simply because it occupies such prime real estate on the keyboard. A premium-sized end center row lot next to one of the most popular characters in existence with 2 other very helpful neighbors (sounds like the makings of a great neighborhood) is the keyboard equivalent of real-life goals we should all be trying to achieve.
Now imagine there was a key placed in far less desirable keyboard real estate that time and time again has done nothing but proven it's worth no matter the circumstances. That my friends is the story of the control key. It is in such a weird place for its frequent usage that a lot of users actually use the heel of there palm to try and make it more convenient - something not possible with a lot of todays more flattened keyboards or for those of us with larger hands.
This simple remapping doesn't unlock new possibilities, merely increased convenience for the existing ones. As a matter of fact, I've heard of boot-camp instructors who were so adamant about this that they required their students to remap their keyboards to this config. That may be extreme, but I doubt you'll find a caps lock truther this adamant about its usefulness.
3. Use a Feature-Rich Text Editor
There really isn't much of a reason to use a barebones text editor these days, even for a novice. You can almost make a light case that barebones editors will help prevent newbies from leaning too heavily things like auto-complete, extensions or other forms of code magic, but you're really just delaying them from upgrading and inevitably relying on these features in the future anyway. Programming is not easy, and there is a massive amount of knowledge to retain even if you specialize in only 1-2 languages. We live in the future, and even more importantly we work in one of the fields most responsible for shaping it, don't force yourself to work with inferior tools for the sake of unnecessary ideals.
4. Use an Advanced Note-Taking App
Confession: I learned about this while researching ideas for this blog post, and haven't implemented this convenient measure myself. While looking for ideas, my wife (also a programmer) showed me the Bear notes app. Instantly, I knew this was superior in every way to Apple Notes I've been using, which has little practical use beyond copy/pasting notes for later in a difficult-to-read-for-programming-purposes interface. Bear has a simple interface, is very clean looking yet powerful & supports Markdown language to help with readability. The only advantage Apple Notes has is that it's free to sync across devices, where Bear will charge you a yearly fee for that feature, but it's not really a problem if you don't want to use it.
5. Use an All-In-One Messaging App
The primary reason to use an all in one messaging app is obviously to consolidate all your messaging apps into one place without sorting through all your tabs. This is convenient for programming mainly if you have multiple channels of communication throughout the day.
I must say however, I find convenience in a different manner. You see, a lot of apps run superior in their own environment and some features may be limited in an app like Franz or Station, and the single tab or app for this purpose isn't such a huge burden to me. Instead, I find that the other services offered through these apps offer more convenience to me. My tabs are usually way more cluttered with Github or Google Docs or something along those lines, so having an app where I can hold the pages I need to lower my tab count is a very convenient addition to my workflow.
And there you have it, 5 things you can do that won't necessarily make you a better programmer, but can make the journey towards becoming a better programmer a little smoother. Thank you for taking the time to read.