Thursday, September 24, 2009

I made the patch months ago but...

Just for those who might have regularly checked up on my patch... (Ha!)
I have made an update to my patch which relocates text/messages to a localization file, allowing it to be translated if it gets added to the patch.

It can be found on this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=413792

Thanks David for reviving this bug (So far still rather deserted but... a notification was given out right?)

Tony Lai

Friday, April 24, 2009

Release 1.0! The final? No way! But it works, and its complete!

No patch can ever be 100% bug free, and I don't intend to just let this one slide anyways.
So, although this is 1.0, I'm not giving up on this until it hits the tree into a snuggly safe zone, then I'll continue my studies on other things, and hopefully work on other bugs.

1.0, doesn't tie up as much as 0.9 does, but it sets everything in stone to be patched into the tree. It has its own unique number, its own ids, so it prevents as much conflict as possible.

I've also had to move some class declarations around in nsClassInfo.cpp because it was causing some assertion errors.

I'd say it was also my fault for not keeping myself up to date with the repository, that led to some unwanted conflicts here and there, but it was nothing a little thinking wouldn't fix.
You can find my 1.0 release here: https://bugzilla.mozilla.org/show_bug.cgi?id=413792

And as usual, follow my project wiki here:
http://zenit.senecac.on.ca/wiki/index.php/Add_an_Infobar_style_warning_for_window_resize/move

---------------------------
Aside from that, wow, I had no idea that my project wiki page has over 18,000 views!
That's incredible! I've always thought my project was somewhere in the back somewhere, without anyone noticing it!
Either that, or someone with a bot crawl is crawling all over my page over and over and over... I sincerely hope its the first option.
Thanks to Sid for pointing this out to me =) I would have never known.

Oh and, great presentations today everyone!
Nino, congratulations on your best presentation in the afternoon award!
Everyone's presentations were great to listen to!

You know how in some other courses when every group has to make presentations and stuff, and how the rest of the class tends to sleep and not really know what is going on?
None of that happened today. Despite being quite sick today... (horrible throat pains), the presentations were all interesting enough for me to watch with full attention, and full curiousity.
Props to all of you.

OSD wins!

Thursday, April 16, 2009

6:50?! Dang. That's still too long...

I admit it, speaking to a mic is kind of fun.
Makes me lose track of time sometimes!

But here's the latest video tutorial on this patch!
http://www.youtube.com/watch?v=pOtZs4k54jg

Isn't today just wonderful by the way?
Beautiful weather, good temperature, last week of school (I end on thursdays =D)...
Everything about today is great.

And of course, thank you to David for the positive feedback on 0.9.
It makes it all worthwhile... especially after some certain disasters on "course-that-can't-be-named".

If you think I talk a lot over the mic... wait till presentation day!
You'll hafta drag me off the 'stage' to stop me!

Happy Resizing!

Saturday, April 11, 2009

0.9 Release, and a little side comments

0.9 is released!
This anticipated release (to me anyways) ties up a lot of loose ends.
Previously there really was no actual information about the patch found in the Mozilla UI.
I mean, where do you access information about it?
Not a lot of places.

But this patch changes it.
I've added the preference to FireFox's content tab, so that a user can change the preferences whenever they like.
Also, they can choose to disable the infobar as well.

I've fixed a few bugs I found a long the way, such as naming which didn't work well with the code found in content.js and content.xul.

And a major bug (that I didn't even know for so long!) was that "isAbsolute" was flipped for the longest time. Meaning, if you selected "Allow Once" for a resizeTo command, it would run a resizeBy command with the x and y parameters instead. Same with the move side.
That's addressed and fixed in this patch.

On the side note though...
Today was a very interesting day.
I mentioned "The-course-that-is-banned-from-irc" today.
I'm actually quite happy that there are others out there who share my opinion about this course.
It has taken up so much of my time this semester that I fear for my grades.
Not to mention, the strictness of the requirements scares me to no end.
I could probably lose sleep over it.

The due date for THAT project is Monday.
Wish me luck.

I really enjoyed the discussion about the ways Seneca approach educating students about programming though, and indeed I feel there are huge flaws in the system.

Anyhow, I'm still happy that I have 0.9 out.
The project is looking really really good now.
I'm very proud of it, in fact, I'm overly proud of it.
I can't believe how far it has gone.

In the beginning of OSD, I stared at something I had absolutely no clue about.
It was sort of some cloudy idea in my head which I had no grasp about.
It all started off with getting involved and trying out code, and looking up code.
This project has gone such a long way since 0.1.

I've learned a lot from then, and I'm actually able to go into my code now and explain how each line works line by line (Well, almost all of it! The events are still a little cloudy).
Making changes have also become much faster than I normally take.

Back in OSD600, it would take me days just to research and implement something.
Now? It can take me at most a day of research, and only several hours to add something entirely new. Navigating through mozilla source has become easier.
Truly, learning to read and adapt to code is a million times more useful than writing code from scratch.

I'll also be perfectly honest though with the fact that I found OSD700 a very stressful course as well. One release every two weeks kept the flow almost too constant, it was hard to find time to do other things. However, despite the stress, I'll have to say I'm very glad I took OSD700.
This is something that I'm very proud of, and I certainly hope to see my patch in the tree several months or years down the line. I hope that in the next release or two, I can proudly proclaim to my friends that "I'm the one who added this resize/move feature! Gimme some feedback!" and continue to participate in making it even better.

The other... might I harshly call it... crap... that I've written in my other courses really won't stay long at all. They'll become useless files several years from now and it won't serve me any good.

OSD600 and OSD700... one of the few courses which really can leave your resume shining brighter. If you can cope the stress of taking two project courses in one semester (OR you don't mind extending your program length beyond its usual 3 years), then OSD is probably one of the most useful learning experiences out of all the Seneca professional options.

Its worth the risk.
What doesn't kill you makes you stronger, no? =)

Wednesday, April 1, 2009

0.8

0.8 has been released, strictly with the FrontEnd Patch.
There weren't a lot of changes for 0.8 with the current code.
But, I've written a mochitest for testing these patches.
Its basically an automatic copy of the manual tests i've done on the patch.

So far there are 28 tests.
I'll be adding to them as I think of more.

More importantly, I've changed some access keys in this release so they do not conflict with other areas of the browser.

Also fixed a bug in browser.js which caused the infobar to disappear completely if its opened and removed repeatedly. (Thanks to MochiTests!)

You may find the patch on Bugzilla:
https://bugzilla.mozilla.org/show_bug.cgi?id=413792

Sunday, March 29, 2009

MochiTest eh....

So I wrote a Mochitest which does the same test procedures as I'd normally do in a normal manual test. Not surprising, all 28 tests passed.
Wee!

But what I found interesting was, after the 28 test cases ran and successfully finished, I found a NEW bug!

I went and opened my test.html from the same browser window that completed the mochi test, and tried resizing the browser.
Much to my surprise, no infobar popped up!
I thought... maybe I have it on blocked list.
So I tried to access the list and remove the uri.
There was no uris listed.

I tried resizing again, and this time no infobar popped up again.
I pressed alt+o on my keyboard (to show the options list), and it appeared at the bottom right hand corner of my screen.

Something fishy is going on!!!

Friday, March 27, 2009

Mochi Test? compiled Code TeEST?

How I wish I paid more attention is OSD600.
Wait a minute! I did!
But... why I don't I remember a lot of it?
Maybe my memory is fails me, as usual.
I've heard of the testing, but I don't remember how to do it.

So I read up some documents, looked up a few things and decided my approach to this will be..:

Scribble some code in the test, run it locally, hope it works, and try again.

Trial and error, yes yes yes!
That's what I'll do.

Why? Well, really I haven't written tests much in the past.
I write test mains, and test stuff where I'd just go through and test each function separately, but in such a large context this time, and with so much code to test...

I'm sort of lost.
Testing each function individually, can I do that with a mochitest?
Mochitests, can they test UI?
Browser-Chrome tests seem very similar to Mochitests...

So if I wanted to test if my infobar is working correctly, which of the two should I use?
Mochitest for the Backend code?
Browser-Chrome for the Frontend code?

My mind still hasn't fully wrapped around this concept.
So...

Trial and Error time.