Sunday, March 1, 2009

Python - Sliding Around on a Dull Sunday

Well, this is my first actual post. Really had no idea what to call the post, but since I have not really been a blogger before, why not start!

My big news for the day is really a recap of my big news for the last month. Even though I have only scratched the surface, I feel very proud. "What?" you might ask. Well it is programming -- computer programming. Programming is one of those things that I have really wanted to get into for many, many years. I just know I don't have the real talent to make it big in the field. Still, it is one of those things I have wanted to do for some time and something I know that I can do... but I just learn slowly.

So, where did it start. Hmmm... I guess I will begin at the beginning! :) Way back in the early 1980's I got my first computer. Specifically, I believe that was 1982. It was nothing fancy, but it was good for me. It was an Atari 800 maxed out with 48K of ram (16K was standard). Can you believe that? Well, it didn't come with a lot, but it did come with Atari Basic. I know, not a lot to it and hell... it wasn't even Microsoft Basic (LOL). But it was something. Also, as many kids, I was motivated to write games. Guess my thinking was way ahead of the times... and I must say my ability was light years behind my thinking. Nonetheless, I decided to write a program... a very simple game in Basic using very rudamentary graphics. Nothing fancy, but I did it and I was very proud of that little game. I do wish I had it around still, but perhaps it will resurect itself in a different language and perhaps in a bit better form... time will see. I didn't do much else... as I found Atari Writer and I felt so liberated to be able to type papers! We have come so far now days, but as for programming, I did only a few programs. I remember I wrote a random number generator to roll dice for me and produce results that could be used in role-playing. Well, anyway, let me fast forward through time.

I set aside computer programming and didn't really touch it again until around 2001 when I took my first computer class. It was really a very easy class and was hardly any effort on my part. The only thing that took any time was those little programs that we had to write. In 2001, the instructor was using GW Basic. Wow. How behind times can you get? At least those things I had learned with my Atari gave me a let up. Anyway... I would have thought we would be using something different, but it didn't really mater, as I was motivated again and found it interesting nonetheless. In 2002, I became interested in Java. Who wasn't in those days... right? Well, I got a book on Java 1.2 but never really found the time to spend on it as I was working on my Masters Degree in International Relations -- I know, a far cry from computer programming.

Still, I toyed a little with it and always wanted to find the time to do it. I have been through a few tutorials and such and was very happy that it was a cross-platform solution and the tools were free. About the time I was starting to get into Java, I had the need to pop in a live CD for some data recovery and that sparked my mind on Linux. I know.... but at that time, I wasn't about to install LINUX on my machine. I had tried RedHat Linux and while it looked good, I had hardware compatability problems. So, at that point in time, I'd let it save me from a failed hard-drive but I wouldn't rely on it for anything else. I digress... Linux is a topic for another day. Today... it is programming. :)

During the time I was working on my Masters Degree the campus was using a new program in their administration. It was written by some students there and they called it Python. Well, in reality, it was the program name.... and the language name. The program name was short for their project name -- Project Yet To Have One Name. Would you believe I thought that was what Python stood for when I heard of the programming language also... but it isn't.

Well, I got into Linux in 2007 -- full blown and somewhere during that time, I learned of Python and its ease of use while at the same time powerful abilities. During late 2007, I gave up -- temporarily? -- on Java and turned my thoughts to Python. After some reading and a few tuturials in 2008 (I move slow) I finally dove into it in 2009. No, not a New Year's resolution. I just found myself complete with a lot of things and able to focus on doing something with my spare time.

As with anything, what really motivates me to learn is a project. I like to learn by doing and fully believe in task-based learning. I'd gotten at least a little under my belt -- enough to stand on although I didn't fully have my ballance. And in late January, I found a motivational project to work on.

The Project: My computer has bluetooth in it and I knew how to turn it on from the command line interface (CLI) using a complex command that I had to look up periodically. I didn't like that and decided to write a small Graphical User Interface (GUI) for the driver. That was my project and it was one that applied to me and one that others could benefit from.

It started out simple and was just going to be for the bluetooth aspect; however, it now also provides interface for the wireless. Bottom line -- it works. I am proud of it and it is an effective tool for me to learn with. What is more is I have published it and it is available on the internet. In one month, I got almost 90 downloads and only one complaint, which happened to be because he didn't have the driver my program was to interface with... so not my fault. :)

Today, I woke up and decided to make some minor adjustments... before I knew it, I had made more than a few minor adjustments and got it to a point where I felt like doing another minor point release. I am now on version 0.3.

Here is a screen shot of my program and a link to my project page. I'll probably mention it every now and then in my posts, but not as much as I did here. The fact is, programming can be fun if you have a project you are interested in working on. It is as rewarding -- no actually more rewarding -- than making something. Digitally, I can affect many people and my expenditure for each person goes down the more and more people use it. Makes me feel good to produce something that people are using.

So here you go: http://sourceforge.net/projects/acerhkgui/


Alright now.

Thanks for Reading!
Peace Out!

No comments:

Post a Comment