One Panel on the Desktop…
As you can see, I moved everything to just one panel and put it at the top of the screen. It can get a little crowded up there. But It feels cleaner to me to not have anything dock-like lingering at the bottom of the screen. I don’t have to do a double take to find my stuff. I look one place, and if it isn’t there, it isn’t there. Nice! I like that.
Python Course 3 at Oreilly
In other news I finished my third Python course at O’Reilly School of Technology. It went pretty quickly. The course focused a lot on creating and using classes and on their internal and magic methods, how they work and how you can use them. It’s mostly all object-oriented stuff, but you can always use it procedurally.
The last lesson was about using time-based computations, which seemed like we already covered at the end of the database series. We generated a bunch of emails that got slurped into a mysql database, and we had to measure the difference in time between 50 db-commits and 1000 db-commits from various perspectives. So we got used to the datetime and timedelta libraries. But the last three lessons of this most recent course focused on engineering your classes and using logging and argument parsing on the command line, both of which require some external libraries. So it’s always good to get familiar with the standard library. Plenty to learn there!
At this point in time, I’m thinking about Python as a really elegant layer on top of C. There’s lots and lots of speed and genius built into Python. I’m sure there are other excellent scripting languages, but Python holds a special top-shelf location in my mind. I think, perhaps, one of the reasons is that there are some philosophical differences that tend to make it unique. One of the biggest is a divergence from TMTOWTDI (There’s More Than One Way To Do It). TMTOWTDI is one of the battle cries of Perl programmers, for instance, a language I am very fond of. However, when you have a single ‘Pythonic’ way of doing things or an infinite number of WTDI, it can get painful to try and read the code. If I go back and read my Perl code from a year ago, and go back and read my Python code from a year ago, I’m going to have an easier time understanding what I meant with my Python code. I think it will be easier for anyone else also. I think this is a major advantage that Python has over just about any other scripting language.
Being sort of a free spirit, I would have thought I’d recoil at the thought of one orthodox way of doing something. But in practice, I kind of like it when it comes to programming. It’s sort of like using “Standard English.” I was an English major many years ago, and there are times when orthodoxy is a good thing. Like when you’re trying to publish a scholastic journal, for example. Or even Mama’s Cooking Newsletter! It sucks to have to be creative every single day; mostly, it’s easier to save your creativity for stuff that isn’t mundane, or stuff that is an art form. Programming is very practical at its core, and it has lots of work to do. Too much creativity can get in the way. Just as with English, it would suck if everything had to be a sonnet or haiku. Sometimes, you just need directions to the john!
So there’s a “Pythonic” way of doing things in Python. I’m learning that. Getting better at it. And I’m sure I can write beautiful and elegant code in a Pythonic way also. And in another few weeks I’ll be done with Course 4! If it isn’t too hard, that is. If it is too hard, it will just be a few weeks longer!
Meanwhile, it will all be a little easier to do with a clean desktop like MATE!