Heading to 0.1

Today has been a blow-out day of looking at other people’s code. First in class we explored mxr and tried to follow simple browser functions back to their origins. In looking up where the code for the “Clear Private Data” option was, I discovered that I can choose between being asked to confirm before clearing or not. I personally will choose not because I hate the additional click of confirming.

Following the one hour bike ride home and the dog walk to and from the library I sat down to read Chapter 11 of Diomidis Spinellis, Code Reading: The Open Source Perspective
. I liked the simplicity of his example. While I followed his trajectory through adapting a large source code base I picked up on some great ways to avoid trying to master the entire source and instead poke away at what you want to accomplish.

So I need to apply this to what a 0.1 release of my project will look like.

I looked briefly at the source code for the symbol server. There are several references to code on my project page.

Two things that are missing for me:
1. Seeing a debug in action so that I can get a visual reference for how the symbols work with the debugger.
2. Learning how to add to the existing code so that I can test whether my changes will work.

I’m going to continue looking at resources that cover how to debug in windows and see if I can make some headway. If anyone is interested in giving me a demo of how they debug in windows using the symbol server, I would appreciate that.

Running 2 versions of Firefox

In IRC chat the other day I asked how often Ted (aka luser) did builds and he said not that often – pointing me instead to the nightly builds saying that he used these instead since they were updated automatically every day.

So I downloaded one and installed it.

Now, my favourite extension is the foxmarks synchronizer app because I find myself travelling between my desktop Mac at home and my PC laptop, as well I will often work at jobs where there’s a need for a third foxmarks setup.

This extension doesn’t work for 3.0 yet – so I’ve currently been opening the command window and opening each version with the -Profilemanager so that I can use my default profile for 2.0 (with foxmarks) and my “nightlyBuilds” profile for exploring 3.0

Now I read in a post that I can just manually change the version. Sounds great, but I don’t know if I want to go through this everytime there’s a new nightly version number.

Anyone else know a better way?

Ted’s visit

Learning from today’s class with Ted Mielczarek:

– lots of successful builds, so things are getting easier
– the error that we are getting about directory names with spaces is an advancement over the past when it just failed for an unknown reason
– there’s a bug right now with building on Vista, there’s a work-around right now
– VM is a great way to test in different environments (I have VMware, just need to get it going)
– ac options are for autoconf whereas mk options are for make
– a reminder to use an object directory with builds
– why client.mk? you can build mozilla without it – but it’s easier with client.mk – it handles the MOZ_CO_PROJECT stuff
– looking at tinderbox – not everyone is using tinderbox…lots of people use buildbot so it would be great to get more of the mozilla stuff into buildbot
– there’s work being done to get rid of autoconf – switch to python script instead
– talking about replacing make but not sure to what
– google-breakpad, a crash reporting system, integrated with mozilla
– demo of crashing, reporting the crash – bug reports (this is all still a little overwhelming)

And then a break.

– make -C
– mozconfig options for debugging:
ac_add_options –enable-debug (in optimizations)
– demo of searching code at lxr.mozilla.org

Final note – in order to do the Source server I apparently don’t have to be stellar at C++, phew!