User:Dylan Potter

From CDOT Wiki
Jump to: navigation, search


My (preferred) name is Caitlin Potter, but for the time being my legal given name is Dylan.

I've been a software developer since about 2005, primarily working with C, C++ and Perl (however, I do very much enjoy Ruby, and Java is nice too). I've written numerous programs and scripts for Synrevoice Technologies, and have contributed to some small independent projects here and there.


  • audio signal processing
  • 3D visualization
  • artificial intelligence
  • electronic music




Over the weekend, I wrote a set of about 31 conformance tests for a webvtt parser (here, more recent ones should be posted here).

This is a relatively simple section of the draft, as far as I can tell. It can be illustrated essentially like this (BNF, no state machine diagram here) -- regular expressions have been included in some areas, eg /[0-9]+/. I'm not including the BNF for the other cue-settings here, this is just a start. The main point is that BNF will be helpful for writing scanners and parsers.

<webvtt-delimiter> ::= U+0020

                     | U+0009

<webvtt-delimiters> ::= <webvtt-delimiter>

                      | <webvtt-delimiters> <webvtt-delimiter>

<vertical-value> ::= "rl"

                   | "lr"

<vertical-setting> ::= "vertical" ":" <vertical-value>

<line-value-pct> ::= /[0-9]+/ "%"

<line-value-num> ::= /[0-9]+/

                   | "-" /[0-9]+/

<line-value> ::= <line-value-pct>

               | <line-value-num>

<line-setting> ::= "line" ":" <line-value>

<cue-setting> ::= <vertical-setting>

                | <line-setting>

                | <position-setting>

                | <size-setting>

                | <align-setting>

<cue-settings> ::= <cue-setting>

                 | <cue-settings> <webvtt-delimiters> <cue-setting>

Some implementation details for the parser:

The spec allows for multiple cue-settings per line (as shown in the BNF), however, the same line setting may not be repeated twice, which would not be caught by a parser generator based on the BNF alone, and would have to be checked for in code.


After a few nights of headaches trying to build mozilla-central on windows 7 with Visual Studio 2010, and not getting much in the way of help from IRC, I have finally got a preliminary build together, and am able to attach the VS debugger, which is nice.

Minoo Ziaei blogged a mozconfig which gave me some insight into the build system and helped me to get things working correctly.

I've blogged about it here

While I am still investigating exactly how the changes I made to my configuration allowed me to compile without -WX being passed to cl.exe, and will certainly explain this (because it is not obvious at all from the readme or documentation provided by mozilla), I will post about it again when I figure that out completely, for the benefit of other people who are new to the mozilla source.