Featherweight Musings

Sunday, January 15, 2012

Mozilla

I started a new job as a software developer at Mozilla on Monday. My first week was interesting and exhausting - lots of work, but lots of fun too! I am working on porting bits of the graphics back end to use graphics hardware, specifically clipping - at present this is done for rectangle clipping, but we want to support rounded rectangles and general clipping paths. I'll write more about that as I actually do it.

So far, I have mostly been trying to get to terms with the Firefox code-base - it is huge and complex, although surprisingly well-written and organised (not that I expected it to be badly written, but with large, long-running projects, you expect a certain amount of code degradation). It has been quite good fun trying to get a grasp on how it all works (or at least the layout/graphics bits of it I'm working with) - kind of like being a detective. Although I felt like I was drowning in code the first few days, and still whenever I think I understand something, it turns out to be more complicated than I thought most of the time...

I've also been experimenting a bit with writing shaders, OpenGL/GLSL so far, DirectX/HLSL soon. Writing graphics code is fun - pretty pictures!

One of the best things about working at Mozilla so far, is working with smart, enthusiastic, and dedicated people. It feels like a very positive environment. Makes it much easier getting to grips with new code and new techniques, tools, etc.