Friday, December 31, 2010

30 Day Challenge for December

My 30 day challenge for December - 'No using Microsoft products' finally ended. Here's how I found alternates to get my work done.

OS - Ubuntu Linux 10.10 (Maverick Meerkat)
Browser - Google Chrome 8.0 for Linux
Office Suite - Google Docs (Online), Open Office 3.2(Offline)
Messenger - Empathy (Contains all contacts from Gmail, Windows Live and Facebook Chat)
Email - Gmail (My school email which is hosted by Hotmail is routed to Gmail, so I did not have to log in to hotmail to check my school email). Although I don't use any clients, I have Thunderbird installed as a backup.
Games - I don't play many games. I stick to the Zynga ones more these days.
Music - Rythmbox Media player and an iPod. I used SharePod to update the iPod instead of iTunes because there is no iTunes for Linux 'yet'.
School Work - Eagle for Linux from CadSoft for designing PCB boards and yes I stayed away from MPLab IDE for a month.

I could not avoid using Windows XP in the labs at school as the authorities did not permit me to install Linux on any of the school machines in spite of me insisting that its absolutely free. But to minimize damage I used XP to the minimal amount. I worked on hardware that did not require me to use the computer too much all through the month. There is no MPLab IDE for Linux yet, so I did not have  a choice in that matter, but I stayed away from code too. Occasionally I joined my colleague to help him get past bottlenecks in programming.

Here is the funny part. Only when I passed day 22, did I realize that I use a Windows Mobile cellphone. But then again, Windows Mobile 6.5 was such a disaster of an OS that I did not use it for anything except calling, messaging and alarms. I preferred using the wifi on the iPod touch while I was on the go. So technically, the cellphone would not have made much of a difference.

I am a big fan of Open Source products. Hence the funny challenge for the last month of the decade. Inspiration from Matt Cutts.

Sunday, December 12, 2010

Funny Transitions - I taught myself to use Open Source Software

Years ago, with limited pocket money I found it hard to buy proprietary software. So I had to share computers with various family members in order to get my work done. Then came the switch to Open Source. I enjoyed a lot of the products that were available free of cost. Over time, I enjoyed using them so much that one day I eventually would give up my Windows OS and install Ubuntu. Now though, it seems like slower computers with bulky applications are not fun anymore. Now I find that I am gradually giving up Open Source software as well and switching to doing my work online. Numerous web apps make it a whole lot simpler to work.

Recently, I taught myself to use Picnik because while working on an important project Gimp gave way and crashed. When I restarted it, all my work was lost because I had forgotten to save it periodically. So is the case with office applications. I cannot afford the Office Suite from Microsoft. Even the student version seems to be quite costly when compared to the price of the alternate products - free. For many years, I used Open Office. These days, I am slowly shifting my work to Google Docs. Firstly, because they I love Google and their products and secondly because its free and easy to use. It also helps me to do away with my pen drive as the only thing I need to access my files now is my email address and password. It seems to be ironic that as the cloud gets stronger and stronger, local disks drives and computers are getting a lot weaker and prone to crashes thus making people trust them even lesser than they used to
It was a lot of fun using Picnik and it was a great learning experience for me as an amateur in photo editing. So is the case with Google Docs. I hope to eventually shift to the new Chrome OS once it is released sometime next year.

Thursday, December 9, 2010

Programming on the PIC18F4520 microcontroller

Yes! I am finally doing this. The code below was used by me for programming on the PIC18f4520 microcontroller for our Embedded Controls and Applications (ECAPP) project. This took a while to come up here as a post because I could not locate the actual file that I had saved. As a matter of fact, I am still searching for it.

The code below is the second to the latest version that I had used for the project with my group. It has not been complete as per out project requirements and therefore may contain bugs and errors, particularly in the comments section. Some of the comments that denotes values used in the main() and the ADC portion may not match the actual values that the functions are designed to do. The names of variables and functions may look a little vague, this is because they are closely related to the topic given and were meant to simulate various conditions in the project. If you know what you are looking for, you will understand what you are looking at with minimal effort.

The code below consists of topics that cover areas such as interrupts, timers (all three), ADC, PWM, CCP/CCPCON, Serial ports and the related code to configure the COM ports. Note that the code used to configure the LCD is configured as a separate lcdheader.h file. All of the programming is written in C and compiled and run using MPLab from Microchip Technology Inc.

Note: All the code below is publicly made available with my group mates' consent. 



LCDHEADER.h