Today’s challenge: spend 20 minutes reading the docs for something you’d like to know a little better.
Ideally, this should be something that’s already in your dev toolchain or used by your app. That’ll let you apply what you learn right away.
You might want to investigate the docs for one of these:
Your text editor. Vim users: type :h, search for “Editing Effectively” or “Tuning Vim”, read one of the docs in that section.
Your database. Any unused features you might leverage?.
A library or framework you use frequently. Have recent releases added anything useful?
Your shell. Can you optimize your workflows? Refactor a shell script? Improve your prompt?
Your programming language. Anything new or unexplored there?
If you discover something new, try to use it right away. If you can’t, maybe jot it down on a sheet of paper next to your keyboard so you remember to try it later. I do this often to teach myself new Vim commands. Once the new stuff is in my muscle memory, I throw the sheet away.
Haven’t done the challenge yet, but this is the best one so far. You could almost do an entire 30 day code quality challenges just on reading the docs & have it be an effective use of time.
I took the 20 minutes to read up on the changes in Python 3.6. While 3.7 has been out for about a month, we’re still on 3.6 at work and while I already knew about F-strings and have been using them pretty extensively, I’ve never really taken the time to look at what else was new in Python 3.6. Did you know:
there’s a new secrets module for generating things like tokens & secret values in a much more secure way?
the underscore can now be used as a thousands separator in numeric literals? (ex: one_hundred_mil = 100_000_000) This also applies to non decimal literals: my_hex = 0xDEAD_BEEF
I read the docs for Ultisnips, a snippets plugin for Vim. I was amazing at what was possible, having never really set this up before. Kinda doubling up with the “install snippets” challenge, but I think I definitely spent at least 20 minutes setting it up along with 20 minutes of watching screencasts about how to use it.
It’s interesting to me that for a lot of the libraries I use, I’ll just read the docs at a shallow level to get the idea, then use the library for a long time without really fully understanding what it can do. I imagine getting into the habit of doing this reading documentation regularly could really be a boon to effectiveness.