As a Seahawks fan who pretty much lives alone, I need someone's party to crash.
It's 9:45 am on a Friday. I'm sitting on VTA's Route 10 Flyer at Santa Clara CalTrain station, heading over to Metro/Airport Light Rail station. There is no Internet connection at all. I want to write a C++ based XPCOM component. I know extremely little about XPCOM strings, arrays or hashtables, other than they might be a good idea. On top of that, I've only glanced at "Creating XPCOM Components", the book by Doug Turner and Ian Oeschger, and I keep thinking that'd be a very handy reference to have. Why couldn't I just download the thing?
Ah, but I could.
The contents of www.mozilla.org are downloadable via CVS. Hooray! Now, as long as I have some idea of what I might need, I can just grab it.
The XPCOM book is just an example of a larger issue. I'm writing this blog entry from a text editor (it's now 9:51 am), because there's no offline version of MovableType's blogging system that I know of for pre-caching entries. Wikis offer wonderful capabilities (as wiki.mozilla.org and developer.mozilla.org demonstrate), but only while you're online. Bugzilla can't be searched for bugs while you're offline, which makes sense, but neither can you write partial bug reports in any little applet for later submission (or as note-taking when looking for dupes -- something even Bugzilla doesn't support so well).
We live in a world that's so interconnected, we can't help but feel a little loss when we're disconnected.
I'm serious. I do a LOT of writing. I do even more reading. As a developer, the ability to read and write content is like the air I breathe. I've no desire to suffocate.
Ultimately, I'm looking for two types of things here:
This wouldn't match what I can do online entirely, but it would save me a bunch of trouble.
Oh, I'm done writing this article -- it's 10:05 am, and the bus is arriving at the light rail station. Gotta go!
(Links added afterward.)
Thanks, everyone, for your comments on generating xpaths. I now have preliminary module owner's approval from peterv to implement XPathGenerator in mozilla.org code. (I'll go to him for review as a condition of moa.)
Almost two years ago, I wrote a whimsical article about how not to add code to the tree. (I believe that was for serverpost.) This time, I think I'm following the right path, including an open API, and keeping other developers (sicking, mixedpuppy, timeless) specifically informed.
This also, by the way, marks two significant milestones for me. First, it is the first time I'll be writing a component for mozilla.org native code from scratch. I've filed patches before, many times. I've started spinoff projects a few times too. This time, it's going straight in to the core. That's a good feeling. Second, it's the first time I'll be attempting to write a XPCOM component in C++. As a JavaScript guy, that's going to be a test, but I won't fail it. I'll just keep trying until I get it right.
UPDATE: I need test cases! Please send me some. I'll pick the clearest and most comprehensive, and add them to the bug. (No, I'm not nearly ready to run the tests; I just need something to compare my results against.)
WeirdAl what's this nsINode thingy? ah, hell, you bitrotted me AGAIN didn't you? :) bz mmm... maybe depends I did wait till after you landed your doRemoveChild stuff, right? WeirdAl yeah, you did, but I just reposted the mutation-events-for-standalone-docs patch a couple days after that patch landed WeirdAl chuckles, annoyed WeirdAl that's got to be the fifth time I've been bitrotted, at least bz WeirdAl: does this really break that? WeirdAl: with a very few exceptions this should be very very compatible with all existing code WeirdAl bz: it probably broke the patch (the newest version of the muts patch, that is) I'll know when this fresh tree checkout finishes bz WeirdAl: URI? WeirdAl: to patch? WeirdAl https://bugzilla.mozilla.org/attachment.cgi?id=208460 I'm not really upset -- patches that don't have r+sr, nobody owes anything to probably affects smaug's "centralize event dispatch" patch as well (which didn't compile) bz ah yeah @@ -2759,23 +2766,25 @@ doInsertChildAt(nsIContent* aKid, PRUint That hunk will have conflicts WeirdAl probably a few others too damn, why you content guys gotta be so proactive? :-D how's a little wannabe going to keep up? bz mmmm good question. ;)
In actuality, it's the third time a patch on bug 201236 has been bitrotted. But there have been a couple times where, while I was waiting on the doRemoveChild patch (for bug 312522), that the underlying code changed.
I guess the heart of my gripe (which isn't too serious, just mildly annoying) is that patches can land without much consideration for other work happening in the same space and waiting for reviews. Just a little consideration for your fellow contributors would be nice.
In late 2004, I went from being a wannabe software engineer to a real software engineer. I was a contractor working through a placement agency. For the last seven months, I've been working through the placement agency at ManyOne Networks, Inc.
Effective today, I am now working directly for ManyOne, as a software developer focused primarily on Mozilla. Not only does this mean a very nice salary bump, but it means that I've made my dreams come true. I'm doing what I love doing, and I'm getting paid to do it.
In case you're wondering what my plans are to do with the additional money, they include:
The most significant part about being hired directly is that I'm no longer hourly. While this can mean very long hours on occasion, it also means that on other occasions, I can spend time working on mozilla.org code at the office freely. The goal is to make our corporate product better, of course, but if we can share the improvements with SeaMonkey (and later, Firefox), so much the better.
I've been thinking for a while about implementing a "XPath Generator" in Firefox, SeaMonkey, etc. I'd like to see it implemented in mainstream Mozilla, but I need evidence to show that people do need this.
So if you have any algorithms which generate XPaths for your web page, application, tool, etc., please explain how you would use it under the "Potential Use Cases" section. Also, if you see yourself using a feature like this, please say so, and how.
I also invite you to take a look at the spec in general, and offer general commentary on the Discussion tab. I am taking your comments seriously, and will update the main page accordingly.
Lots of changes checked in today:
<xul:slicedstack/> element. It's a stack, with anything up to its selectedIndex visible, and everything after it hidden.I've not finished the manual yet. Sorry!