Posts Tagged ‘open source’

They call it Mozilla

They call it Mozilla. Home to many open source software projects, ranging from Firefox and beyond – and boy does the keyword ‘open’ ever so stand out.

Having worked three days at Mozilla (building K) is surreal. As mentioned on the wiki, I have been ‘splashed’ with the Mozilla hose! From bewilderment to clarity and astonishment to excitement, my last three days can relate to a unique roller coaster ride.

Mozilla is unlike any office I have envisioned or have worked in before. From the surprisingly large bottom floor open area with the sectional couches, lawn chairs, bean bag chairs and projector screen to the open area conference rooms and work stations, Mozilla truly understands what being open is all about. The openness and split from the ‘norm’ definitely brings forth a true sense of comfort. When I sit on the large sectional couches, I cant help but envision sitting in a friend’s basement and I understand why – it brings about the most interesting ideas, discussions and topics.

The people I have met so far are all truly passionate about their work and it definitely shows when the opportunity arises through weekly meetings. Having attended three meetings, I have heard the thoughts of many unique individuals speak passionately about the work they do. Of the three, from platform discussion to weekly QA to last Monday’s ‘all hands’, each a one-of-a-kind event.

They call it Mozilla because they are about openness and difference and it demonstrates – they really are a workplace like no other. I am happy to contribute through my internship this summer.

On a more technical note, I am working on writing tests for bugs that bring forth rendering issues in the layout engine caused by invalidation. The type of tests are considered reference tests or reftests. They traditionally work by taking a snapshot of the entire window at the end of the test and comparing that to a snapshot of the reference page.

However, there’s a fairly large class of bugs classified as “invalidation bugs” — they only show up when you redraw part of a page, and when you draw the whole page everything’s fine. This is where the new form testing comes in that I am currently focusing on.

An example of a bug I picked, is bug 449362 – where in the past, simple HTML table borders have been rendered incorrectly when table cell sizes changes due as a result of running JavaScript.

Only three days in and lots more to come so stay tuned – I know at least one is waiting 🙂

Cheers,
Aaron

Mozilla Internship (Week 0)

logo-wordmark1

As many of you know, I am doing an summer internship with Mozilla Corporation.

The Mozilla Corporation (abbreviated MoCo) is a wholly owned subsidiary of the Mozilla Foundation that coordinates and integrates the development of Internet-related applications such as the Mozilla Firefox web browser and the Mozilla Thunderbird email client by the growing global community of open-source developers, only some of whom are employed by the corporation itself.

At Mozilla, I will be coordinating with QA Engineers, interns and other colleagues within the QA Team. We will be rolling up our sleeves and getting our hands messy in creating and working with tests and testing utilities, all in the pursuit of inching towards a Firefox 3.5 release down the road.

Over the course of the summer, I will conclude each week with a reflection via a posting –  each tagged  ‘internship’.

My next posting will focus on what I have accomplished in my first week.

Cheers,

Aaron

In a world without our hands

Ever stop and think about how much we rely on our hands to manifest and transcribe our intricate thoughts to actual code? Much like the inner workings of a compiler taking language and spitting out machine code, and a musical composer in an symphony hall , there is a profound relationship.

One’s first path of assistance would venture down the realm of speech-to-text, but really how viable is this solution?

Nuance’s Dragon software line is the epitome of speech-to-text software. They have legal, medical and various other industry customized solutions, but what about a software line that was tailored to Microsoft’s Visual Studio?

Imagine a customized solution for such an IDE. It could leverage Intellisense to work through the various commands as you go and when you want to use a variable (something that is NOT a predefined word in the intellisense dictionary that Dragon could use to match all words against) you could give a command like ‘UDV – variable’sName’ either spelled out or trained.

Being able to bind to Intellisense for all possible voice commands would seem to make it a much easier task and then with break words that you would say first then followed by an IDE command like “Compile – No Debug”, etc…

I can’t see why this isn’t possible.

For the sake of comedy, look at this for programming with voice recognition that exists today:

In my opinion, speech-to-text as a solution for programmers who are physically disabled has a long way to go. With the delicate syntax of languages and the perfection of the software interpreter taking our voice and transcribing it as intended is an aspiration. Simply put, as the video above demonstrates – what should be simple, becomes a tedious ache.

Surely there must be folks out there considering the necessity to expand, improve and work to solution. If so, please reply, I’d be interested in the results.

As for the open source helping hand, one project I have stumbled upon is CMUSphinx: The Carnegie Mellon Sphinx Group Open Source Speech Recognition Engine.

This group of individuals are working together in an open environment in order to stimulate the creation of speech-using tools and applications, and to advance the state of the art both directly in speech recognition, as well as in related areas including dialog systems and speech synthesis.

It would be interesting to see the world of open source development work first hand on such a huge issue since we have yet to see any big-name speech-to-text companies provide a viable solution.

Cheers,
– Aaron

Songbird 1.0 – Soma.FM ?

Time and time again, I often find myself listening to music while studying. As exams draw near, I enjoy having internet radio play softly (or at least attempt to) while I crack open the course book and or lecture notes. Having just formatted my laptop yet again, I wanted to try out something fresh and new.  A recently interesting article at  Ars Technica about Mozilla’s new media player, Songbird hitting the release milestone of 1.0 and my involvement with Mozilla this semester, ideally warranted the perfect opportunity to try out Songbird. Low and behold a great product, features a plenty but some, I can’t see myself ever using,  i.e., muxtape and Last FM – I was pleasantly surprised. I was also shocked to see that under Radio Stations, Shoutcast but not Soma FM. Soma FM is 14 unique channels of listener-supported, commercial-free, underground/alternative radio broadcasting from San Francisco.

This calls for the power of addons.

So for all you Soma and Shoutcast fans out there, stay tuned as this holiday break as I want to utilize the skills I learned this semester, using XPCOM/Chrome/XUL and write a Soma FM addon for Songbird. I picture the addon just sitting below Shoutcast on the left sidebar and it very similarly listing Soma FM’s stations.

Any other Soma listeners out there?  Anyone else want to collaborate?
www.somafm.com

Milestone 0.3 (Audio / Video HTML5 Firefox Unit Tests)

Milestone 0.3 (Audio / Video HTML5 Unit Tests)

My HTML5 Audio / Video Unit Test(s) – Complete

Video/Audio Testing Area Video/Audio Unit Test (My Work)
Video and Audio Test Plan test_readonly.html & test_continueplay.html & test_multipleplayback & test_reload.html file.html & test_mimetype.html & test_tableembed.html & seek.ogg& 320×240.ogg r11025_s16_c1.wav & r11025_u8_c1.wav

Package Archive: click here

* The above are all mochitests, clicking on them will do nothing  – CTRL U to view code*

* To run these tests you need Firefox 3.1.*Running select tests *

To run a single test or a subset of the entire Mochitest suite, use the –test-path option to specify the test or the subdirectory of tests that you want to run. For example, to run only the test test_readonly.html in the Mozilla source tree, you would run this command:

python runtests.py –test-path=content/media/video/test_readonly.html

To run all the tests in content/media/ , this command would work:

python runtests.py –test-path=content/media/video

Note that the path specified by the –test-path is the path to the test or directory within the Mozilla source tree. If the path is a directory, then the tests in that directory and all of its subdirectories will be loaded.

My Video/Audio Tests:

  • test_readonlytests that attributes pertaining to video/audio can not be changed or altered
  • test_reload / filetests that both a reload of a window and video work correctly, i.e., playback restarts
  • test_multipleplaybacktests that six or more videos work properly when played simultaneously, playback works
  • test_tableembedtests that the new video element functions correctly when embedded in a table
  • test_mimetypea future test that will test canPlayType() [upon implementation] testing obscure codecs and media MIMETYPES
  • test_continuePlaytests that playback on a video will continue to play regardless if focus is in a newly opened tab

E-Mail convesations with Clint Talbert(Example) http://matrix.senecac.on.ca/~amtrain/other/email3.jpg

What I learned?

  • October / November
    • Audio / Video HTML5 WHATWG Elements
    • Mochitests – What/Why/How
    • Chrome Elevation Techniques for Mochitests
    • Observers/EventListeners

With the completion of milestone 0.3, I have learned so much from one course over the course of four months that I am tremendously appreciative of. Coming into Mozilla, I had only touched on Unit Tests once in my programming diploma program. Now I feel comfortable in writing any test.

Community Interaction

Unlike in Milestone 0.3, this time around I primarily interacted through #qa and through conversation in email.

Challenges

Major challenges:

  • (1) Halting focus on Private Browsing and leaping into Audio Visual / HTML5 provided was for me challenging as I had felt comfortable in the area I was originally focusing on.
  • (2) Seeking assistance from those working on Audio Visual / HTML5 aspects rather than those working on Private Browsing
  • (3) Much quieter bug on Bugzilla – a challenge seeing what’s new/what’s happening.
  • (4) Mochitest Chrome Privilege Elevation -> Netscape thing!
  • (5) Picking unit tests that I felt comfortable in pursuing.

Achievements

Upon completing DPS909,  and obtaining real life experience with Mozilla and that of QA Unit Testing, I feel empowered in the sense that I feel comfortable working on different other assignments like the jump from Private Browsing to Audio/Video HTML5.

Although my, ‘0.3’ is not a product like some other projects, it was a demonstration of my will to succeed and the determination to help contribute to an overall cause – that to which I am proud to be a part of.

Conclusion

If you’re reading this far you must be Dave Humphrey, in that case – Thank You for establishing the best non-conventional class I have taken at Seneca. The knowledge and experience gained far outweighs that of sitting in a lecture room for 2 hours looking at slides twice a week every week. It’s real life experience, it’s the essence of purpose that Seneca provides.  It’s working with real projects, real problems, real issues, with real people. A non superficial course, about time.

“DPS909 and Mozilla, A++++, would recommend”

Happy Holidays Seneca/Mozilla!

Cheers,

Aaron Train

Progress on HTML5 <video> & <audio> testing

Testing on the new HTML5 <video> & <audio> so far has been interesting yet rather challenging as I am exploring some new territory. For example; I wanted to open a new browser window from within my test, thus requiring an elevation of chrome privilege. To get access to the chrome level XPCOM interfaces I utilized netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

I need this authority as a test I am working on; a video playing during a window reload should seek to the beginning essentially requires the authority to have access to the current window in order to reload it. Now to get access to that current window I would be looking at nsIWindowMediator interface. As time progresses and despite my being in ‘0.3‘ territory – learning, exploring and questioning has yet to cease. As I have shifted from private browsing to HTML5 audio/video, it has been a welcoming challenge exploring even more of engine that is Mozilla.

I hope to have this one of a few tests completed by Friday 🙂

Cheers,
Aaron (AaronMT)

DPS909/OSD600 – Contrib Opportunities

To DPS909/OSD600,

Semesters end is near and some of us want to work on some more contribution opportunities. By looking at the contribution page on Zenit, (i.e., http://zenit.senecac.on.ca/wiki/index.php/Contrib_Opportunities) it is difficult to determine was is antiquated, finished or still needs attention.

Suggestion: Please, add a ”'(still need)”’ tag in front of your postings or post a ”'(new)”’ tag in front or even blog about it.

Thanks,

Fellow Peer 🙂