Learn how to read and write CSV spreadsheets as well as Microsoft XLSX format using openpyxl. XLSX format lets you resize columns, add images, and use formulas to perform calculations.
There is a recurring theme I see with novice developers. They've put in their time to learn the basics of a programming language or two and they feel pretty comfortable doing programming exercises, but they don't know how to apply what they've learned. It usually comes in a phrase similar to "I know how to program, but I don't know what to program." The responses are typically "do programming challenges", "contribute to an open source project", or "make a game."
For a long time I have heard that The Pragmatic Programmer is considered required reading as a developer. For whatever reason I finally decided it was time to read it so I bought a copy. The publisher is Addison-Wesley, who also publishes another classic called The Mythical Man Month. That review will come at another time.
Learn how to generate binaural beats using Java. A binaural beat is an auditory illusion perceived when two different pure-tone sine waves are heard dichotically, that is one through each ear. For example, if you wear a pair of headphones and one side is playing a 440Hz tone and the other side is playing a 450Hz tone you will actually hear a third tone that is the difference of the two frequencies. Your brain will interpret the difference between 440Hz and 450Hz and you will hear a third tone of 10Hz.
Learn how to program GUI applications using the Tkinter module that comes with Python.
Learn to work with binary data in Python 3.
These practical examples will demonstrate how to work with files including: reading, writing, changing permissions and timestamps, archiving(zipping), compressing, checksum hashing, downloading files over HTTP, buffers, scanners, and links. All examples here use the standard library.
Libnotify is part of the Gnome project and built on top of the Gnome library. Python has bindings to Gnome and we will take advantage of them to create desktop notifications. We can set the text, images, urgency, and create custom buttons in our notifications. Libnotify is a small and simple library and is a good place to start if you have never done any Gnome/Gtk programming. These examples will walk through all the options available.
Using freegeoip.net we can get location information about hostnames or IP addresses. The service returns information like country name, latitude, and longitude. This example will use Go and its Unmarshal() function to decode the response in to a usable struct.