Not being a total fanatic about any particular programming language, my go-to language is C++. In my daily affair, both C++ and plain-old C (with a little bit of Java on-the-side) are the usual tools of the traid. Althought these three languages rule the populairty charts (e.g. http://langpop.com/), there is always a fear of becoming to focused on a given technology.
In order broaden the horizon, I’ve been thinking of experimenting something different. Of course that are lots to choose from right here, but I’ll be focussing in one of the following:
- Python - a scripting language that becomes very usefull when automating daily tasks (this is certainly a plus)
- Smalltalk - an object oriented language not very well known (at least by me), but there is a lot of good books on the subject of Design Patterns that grown from this language.
- Objective-C - it would be interesting to see what this language brings to the table, and understand the differences to the closely related C/C++
- Ruby, Scala, Haskell, Erlang - currently, just names that I recognize as programming languages but that I don’t know much about.
- Fortran - knowing this one would be interesting, since I deal with a lot of “scientific programming” modules. Not!
At this moment, Python seems the best choice, but Smalltalk and Ojective-C also seem strangely attractive. First step, do some prospecting about the three in the shorlist… I’ll be searching available resources, community, documentation. I’ll let you know how it goes.
The last post was so long ago that it’s hard to remember. Usually, the lack of posts comes associated with some huge amount of work. I could say that this is another example how my work takes to much of my own time, but that would not be completely true. In fact, I have been working long hours but the main reason for not having time to write is another…
I don’t see myself has a sysadmin, but I like to do my own experiments… like building a file sharing server (one that no one will hever use), having a wireless network in place (to be used once every month by a computer that could easily be connected using a wired connection) or mounting a home theater PC (an placing the old computer box in the living room and understanding that it really looks ugly and out-of-place).
No, this time it wasn’t one of “my crazy” projects. I just decided to learn a new language… I didn’t actually decided it! Let’s just say that Python started to grow on me. And front my point of view, Python is far better that bash script or perl or any other scripting language out there. With it you can do the simplest things, like inspecting some file’s content or you can do the most complex procedure (including, for example, DB access).

A friend talked about Python with me, and for someone with background in C/C++ and some bash script, Python turned out to be really (REALLY!) simple. I’ve been using it for a couple of months and I already converted all my ‘~/bin’ scripts to Python.
My real interest began after finding “Python for Unix and Linux System Administration” and reading this really hands-on and example based ‘introduction’.
More on my Python experiments, soon… (I hope!)
Time Management is the personal skill each one has to manage and plan the tasks to be performed during a period of time.
Although my tasks end up complete in the expected time-frame, time management is not one of my strongest attributes. Very recently it was brought to my attention that my time management skills could be improved, by using simple tools (for example: a “to do” list).
A brief search on the internet provided some basic questions that I intend to answer in order to improve:
- What is your goal? Specify daily, weekly and monthly goals.
- What have you been doing? Track your daily activities.
- Do you have a plan? Create a detailed schedule to support your goals.
- Do you know what to do first? Prioritize the list of thinks to do.
- How long will it take? Before starting a task question yourself, and learn by confronting your estimate to the real effort.
I’ll try to read more about it, and provide more details as the experiment goes.