Friday, February 15, 2008

The Way of the Coder

Have you ever wished your code would just tell you how to fix it?
Perhaps in the future, they'll have debugging AI's that could talk to you and tell you just what your doing wrong with your code. Then again, witty programmers just might make them come up with new ways to declare your stupidity to the world every time you crash your program.

Well since it's still the bug-ridden present, I've been spending time, doing what programmers do the most: debugging.
Mostly integrating a debugging log, sensible exception catching, and editing out possible fault-points within my code. Of course, it all started out with just trying to figure out this one bug, but now that I've past that one, with a few new bugs, I'm exercising more caution to catch them before they can add to my woes.

Just thinking about all these preemptive safety measures, makes me wonder if I should also do some kind of exercises so I don't get carpul tunnel...*crack*...
or slow it down at least.

release version 0.3?.? (I'm not sure what to number a release made with just easy-to-read code and nice debugging messages.)
Custicon@andrew.raynier

Sunday, February 3, 2008

New platform for Open Source?

The past few days, I've been happily enjoying the pleasures of a gadget that has become quite hard to find in stores over the past couple of months. With the help of a local "gadget" vendor that sets up shop in the York Cafeteria, I've landed myself a brand new Nintendo DS. But this post isn't about high scores or fun games, because after doing some research on these "homebrew" applications and firmware, I found that along with software for storing and playing music, videos and text files (like e-Books), some of these "homebrewers" have enabled the use of the Opera web browser on the DS.

Now you could also order the official "Nintendo DS Opera Browser" online, but where's the Open Source in that?
From what I've read about this "Team Cyclops" developer crew, they managed this by using firmware that utilizes both of the game cartridge slots (each with slots within the cartridges to insert mini/micro SD memory cards multiple gigabyte capacity), to get enough room to install and run the browser with the memory-eating firmware running at the same time.

More specifically, the memory card expansion slots (that can take either any MicroSD or MiniSD camera memory card) that allow (so far) anywhere from 1GB to 32GB of memory to be stuck into a DS, opens up the possibility of getting Firefox and other Mozilla applications to run on another very popular (and relatively cheap) handheld system. Some of you are probably perfectly happy with your Blackberry handhelds and whatnot, but for "economically challenged" people and students, this may be the shining answer we've been looking for to satisfy our need for more affordable portable Open Source computing entertainment.

Number wise, a DS costs about $130, and depending on the homebrew developer, a cartridge with firmware costs about $50 on average. Then if even paying for the firmware is too much, one group of developers (albeit the unpopular ones) have made their firmware code Open Source. Unfortunately, the other homebrew teams (that' I'm aware of so far) are still relying on the funds from selling their firmware, to pay off their own "economical challenges". In comparison, your average Blackberry lists at over $300 with 2-year service plans going for about $150 (if anybody knows much cheaper prices that still let Firefox work, please tell me), which doesn't look friendly at all to Open Source wallets.

I won't even bother with going into laptop prices, if only to spare myself from another "large-digit" induced depression.

Looking back on the optimistic side of things, wouldn't it be wonderful if we could spread the development of Firefox and Open Source in general, to the millions of young (or young at heart) minds that spend their usually unproductive hours, tapping away at their handheld games? With already versatile features such as WiFi connectivity and text reading and writing (through homebrew apps), I will be dreaming pleasantly of the day when I can connect with people not just with games, but with my own extensions (or other Open Source software) on one little versatile handheld device.

...Now if only I could find those watches that can do video calls. (futuristic Dick Tracy watches anybody?)

--View Andrew's project work at: OSD700-> Favicon Extension

Friday, December 14, 2007

Something a little better

Just for convenience's sake, I'm putting a link up here for my extension that now actually installs properly.
(Yeah I know, I should've fixed that a while ago. But at least it's better late than never.)

Custicon@andrew.raynier.xpi

The code's improved too, although I can't seem to find a workable solution to get images to load in both Firefox 2 and 3. The new Favicon Service for FF3 is still be worked on (The API isn't finalized yet, and there's a lot more of it undocumented).

Tuesday, December 11, 2007

Contributions

So earlier this week, I contributed to Simon Jung's project by sending him a list of extensions and their Id's for him to use in testing out his Metrics Server Collection. I think Simon's done quite well with such a large component to dig through and test.
You can check his project out over here if you're interested.

Simon was also very helpful to me in contributing to my project by giving me a lovely package of Favicon images (*.ico files) to use in testing out and as an addition to my extension file bundle. Although what I really appreciated from him, was a link to Cathy's extension files to use in contributing to her project, from his blog. Mainly because I had been looking to contribute to it, but her blog, wiki page, and even the project description don't have any links or real information on the canvas3d project.

Well anyways, I managed to download the canvas3d.xpi for minefield, but unfortunately it only works with specific version of Minefield(3.0b1), and mine wasn't one of them (3.0a9pre?). So I went and downloaded and built myself a 3.0b1 version of Minefield (took about 2 hours on the open lab PC), and got the xpi to install. Lucky for me, Simon also noted in his blog the simple images I needed to use to test out this extension.

....after struggling with several failed attempts to get the images to show, only know as I type this, do I realize (after reading through extension errors) that I needed to compile the build as a Gecko project, and not a Browser one.... alright then... back to the salt mines... (ugh, I wonder how many more hours that'll take to compile).

However, assuming I do get all this actually working... there aren't any instructions on what to do with the extension once I do get it working, or a project page I can list my contribution on.
Oh well, I guess as long as I post about it here for Chris to read, that will hopefully be enough.

Sunday, December 9, 2007

OSD600 Course Classroom discussion

During our class discussion about this course and the CPA program, I was really intrigued to learn how others felt about the way they were taught, what they had been taught, and the things they still wanted to learn about.

After reflecting a little on what was discussed, I grew curious about what every body's high school (or pre-Seneca) Computer Programming lessons/experience was like. Namely because I think my own previous classes seemed to give me some additional insight and view of the outlook on how most of the classes at Seneca fit in to what we would need to work as a programmer.

I was lucky enough to have a few real computer programming classes when I was in high school. I got to learn how to program in Turing, VB, and Java. Although that's not all I was taught. One thing i wish we did at Seneca, is have little interactive class programming sessions in a lab, where the teacher gives coding challenge to the students (ex. do operation in this many lines; or how do you do operation with only this/these functions?), and lets them hack at it for a part of the class. Then after the allotted amount of time, the teacher writes his answer/version up for everyone to see, and they compare and explain what the students did and how it works.

That was one of the interesting and apparently unique things that I got to do in my High School (Thornlea S.S.), but I also liked learning how to write pseudo code to plan out programs and algorithms on paper, so I could code programs an the like.

I wish Seneca would've had lessons like that in CPA, cause I've met so many students who always seem so lost or frustrated when trying to program. Learning how to program with or without pre-made code (although with specifications for the structure should be used with at least 1st years, if not 2nd) and knowing the difference between good and bad code (as well as how to make it) should be essential foundations for Student's programming knowledge at Seneca.

...and that's my little addition to CPA program discussion.