Friday, 6 November 2009

Thunderbird Bug

I miss not being able to compile thunderbird.

Seriously.

So hello,
I'm working on the thunderbird bug where all I have to do was put an overlay when you recieve an email. Except like, well, overlays aren't supported yet in the Mozilla build, so I found out I suddenly need to work on thunderbird API, YES!

So seriously, first off I want to thank the Mozilla community, they are as helpful as a student explaining answers to you under the table during a final exam, dedicating their own time to help us out. I'll one day repay a n00b on an irc channel, although not IT related. Sorry.

So seriously seriously, a quick walkthrough of my progress
1. Tried to compile for two days
2. Compiled!
3. Looked at source code.
4. Looked at source code.
5. Got overlays working in a standalone application.
6. Looked at source code.
7. Went onto irc, had a long chat, figured out its harder then it should be, started comparing files to find out what an idl is, and such.
8. Looked at source code.
9. Refreshed source code.
10. Looked at sdk.
11. Looked at source code.
12. Went back on irc at 5am and got a better and clearer idea on what to do.
13. MADE A IDL FILE.
14. HACKED A SOURCE FILE!
15. Got compile errors.
16. Changed some stuff.
17. Got rid of compile errors.
18. Implemented imgIContainers.
19. Compiled. Failed.
20. Tried to fix.
21. Errors.
21. IRC while compiling and fixing.
22. FAIL.
23. Blogging about my progress.

ps. I'm nearly done with the api bug, once i finish with why imgIContainer screws up another file instead all thats left is to turn it into a HIcon and then thats it! It should work!

Then I have to figure out how to see if just because it compiles it works, but yeah, three weeks is quite a load.

Tuesday, 3 November 2009

Thunderbird part 3

Finally got it to compile, problem turned out to be that the trunk (the source available via mercurial) contained the problem and it wasn't my computer related.

So yeah, follow the steps now and it works, should have just done this two days late, would have worked perfect.

So anyways progress on the bug itself is going slow but going. So far I managed to split it into two parts, the first creating an independent program that should be capable of showing jumplists and creating actions efficiently, as well as scouring around the source code (planning to do that on ubuntu, don't know why) for a few classes that are will be required to link thunderbird to the taskbar (Currently on this milestone).

The second part is actually implementing the linking and debugging the hell out of it. Not that it should be too hard to keep a low amount of bugs in such a fix but comming from someone who spent over two days trying to compile something... =D

I'm kind of freaked out by having to finally do something that counts in the cs world, somehow the concept of a opensource program used by a ton of people (even I installed it on clients machines during internships) seems like something; specially compared to the code we been producing at uni that mainly threw time efficiency and any effective coding ethics clean out the window and worked mainly just to work. So here goes luck and all, wish me luck!

Would also like to thank fellow classmates for their effort to help as well as the open source community (irc is uber cool) for the time they give to total noobs :D.

Monday, 2 November 2009

Thunderbird continuation

Thunderbird still dosn't want to build.
I downloaded the sdk, refreshed all the steps available and the code still stops at this line,



The only thing I can think of left is that its not happy with studio 2008 team development but then again it should have given me an error earlier on in the compliling process, this error occurs after a while.

In case your wondering I tried several different configuraton files as well, including all the ones upon the mozilla simple thunderbird site, on various how to build on windows blogs and from the gosc website.

Help? Anyone? =D

Sunday, 1 November 2009

THUNDERBIRD Building and Bug

I honestly don't have much to blog about now, except that building on windows is not as fun as one would think. First you download a terminal emulator in order to be able to checkout the source, which works so *check*. Then you build and it works for over an hour, and then returns an error. Says a configuration file is not found within the /etc/fstab.conf. So I look around and all thats mentioned is that I required the windows sdk to build against, which is 1.4GB. Sigh. This compared to linux one-two-three steps is annoying. And the reason I'm building in windows is because my project involves the windows seven taskbar lists, which is that really cool feature where you get to right click on a program icon on the taskbar (which may or may not be open) and give you a personalized list with application specific data. In the case of thunderbird maybe a few pinned favourite people you would want to email, the latest 5 emails in your inbox and a notification system (I personally find flashing to be simple but very efficient). Anyway expect another update in five hours once the windows sdk downloads.

Peace Out.

Wednesday, 21 October 2009

System Mulfunction

This week I got introduced to bespin, an online collaborative editor which is still in extreme testing phaze (given that most people couldn't sync and when they did.. well.. talk about random editing).Its quite a cool program though, I have to say I'm loving all this new Web 2.0 graphical stuff, I mean ubiquity and bespin are designed amazingly.

So anyway the tasks we are meant to do are create a bug fix for bespin, and frankly I have to say I have never had as much trouble following a step by step guide before. In uni yes, the proxy forbid us to download anything and hence we spent over an hour (without really get anywhere, thankfully our colleague managed a pretty good workaround) trying to just install the program. And now that I'm home and trying to set everything up I get some even more problems! Currently mentioning missing paths and such, quite a mess if you ask me!

Looking very forward to start working on the JavaScript processing file. For those of you who don't know (who are most likely noone since this blog is only on my courses tracker (A)) its a JavaScript file that allows pretty advanced graphics to be created within the canvas field of the html webpage, hence obliterating the need for third parties such as flash or Microsoft beautiful imitation, silver light.

Anyway if anyone got this error while installing bespin in the "paver dojo create_db" with this error :
File "pavement.py", line 267, in create_db from
bespin import config, database, db_versions
ImportError: No module named bespin
then please throw a bone, I just woke up so if I found out I done something wrong then just ignore this ever happened...

Ps. I don't dislike Microsoft. I just think that if one company is meant to represent the world of cutting edge computer technology they should do a better job then creating an OS whose visual effects require more power then a fully fledged decently written 3d game. I also assume they are cutting edge because.. they have enough money to buy a country and turn it into a computer engineering empire, and enough labour to repopulate the world in a decade if something went wrong with the rest of us (faint but still somehow believable assumption (A)).

That was just my morning pre coffee commentary skills kicking in, at 1:40pm :D.

Update:
I tried that a few times and then tried it again today, same mistake several times.
Heres the tracing of the terminal, a bit from the top is cut off but its the bootstrap.py which exited successfully.
http://pastebin.com/m1e2bd4a9

Sunday, 18 October 2009

Ubiquity for noobs, and such.

My first open source related blog! The amount of open source documents I read out of boredom, for helping resolve my extreme n00b Linux problems and the general help I got from random people sacrificing their time to tell me the bugs i experience (and pester them with) were resolved a year ago. Time to give *hopefully* some of that back, with a fraction of how people had to deal with me!

So, ubiquity! The super cool addon for Firefox that makes old traditional browsing look.. old and traditional. Its a fun addon, I mean give it a tiny bit of time and most home users will use it with the built in functions available to them in websites, until a few of their credit card numbers get stolen and such but.. yeah, life will prevail. And Ubiquity will remain AWESOME!

So what is Ubiquity? Its a program what can be used to execute commands within the browser to enhance surfing experience. Want to Google something? Wiki anyone? Feel like youtubing SNL for some after work laughs? How about emailing a random friend telling him how cool an addon you found was? Those are all built in commands ready to do your bidding. But here comes the interesting part.

You want to develop a command that snoops every other user that sits on your computer, because someone has been sitting down and finishing your limited bandwidth on online flash movies because they have nothing to do, and your phone bill reflects your unhappiness. Thats something Ubiquity would actually be able to do, but sadly not up to my standards yet, so back to reality, one week ago..

Was my second open source lab, we got introduced to Ubiquity by a video a colleague hooked up for us. Now I know coming from a 5th year computer engineering student this is kind of extreme, but thankfully many others suffered my fate... the wireless didn't work. For ages. I eventually restarted and tried jumping between openSuse (whose Yast2 went haywire and had to be put down =( ) and windows 7, somehow making the wireless decide to work halfway (wierd).

So the first two hours consisted of me reading through the source code, I haven't really grasped our object and hence was trying to backtrack the function from where its written until where the commands themselves are stored within Ubiquity itself. I wish I could say the code was as easy to read as English, hacking open source software isn't as hard (thank god for amazing documentation). Anyways two hours later we think we got a grasp of how stuff works (on a very, very, very small scale), and we realize were meant to create an external command *grrr*. But we managed to get some pathway way, sadly due to contradicting versions of the libraries/documentation and latest available beta code we haven't really managed to get it working in time. But we live, learn, and hope that the next class will be a continuation into the vast, and quite fun world of open source!