January 30, 2006

Any Steelers/Seahawks fans in the SF Bay Area?

As a Seahawks fan who pretty much lives alone, I need someone's party to crash.

Posted by WeirdAl at 3:52 PM

January 25, 2006

Quick thoughts

  • Being sick really, really stinks. It's 3 am; normally, I'd be fast asleep now. At the moment, I've slept so much that I can't sleep all that well. Also, the prescription the doc gave me scrambles my thought processes, so I've avoided it for a few hours now as I seemed to be getting over the worst of this cold.
  • I know SVG in XUL documents works. I've been meaning to write an article for this blog about SVG in XUL applets (think images on buttons), but I haven't figured out all the details, and I wouldn't recommend the procedure for an end-user final application anyway. (It'd be fine for alphas and betas.)
  • I just had this crazy idea about inline SVG images in a XHTML document: being able to select the image and then clicking a button for adding float:left styling to the image, so that text runs to the right and around it. That of course brought up at least the concept for a whole toolbar of instant styling buttons, at which point my rattled biological chips went "Abort, Retry, Fail". Oogh.
  • The Seahawks in the Super Bowl. Hallelujah.
  • I love grape juice.
  • The worst part about being sick is that it absolutely stops me cold (no pun intended) from doing anything of practical value. I can't concentrate enough to solve problems, do any design work, or help out in testing patches on any bug that really is important. It's frustrating, but I can't work up enough of a rage against frustration (as I usually do) to do anything about it.
  • This is downright funny, and probably true.
Posted by WeirdAl at 3:10 AM | Comments (1)

January 20, 2006

Offline reading (and writing)

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:

  1. Clear instructions on how I can grab a collection of written documentation at once -- from wikis, Bugzilla, cvs, Google (yeah, you, Google, let me click a few checkboxes from your search results page and give me a downloadable zip from your cache), etc.
  2. Tools that will let me write content for wikis, Bugzilla, blogs, etc. while I'm offline, even in an incomplete state, for me to submit later. SeaMonkey- and XULRunner-compatible extensions preferred. (If one's crashed, I can use the other.)

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.)

Posted by WeirdAl at 1:43 PM | Comments (5)

January 19, 2006

XPath Generator is coming

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.)

Posted by WeirdAl at 3:37 PM

January 18, 2006

Open-source development: sometimes too fast

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.

Posted by WeirdAl at 8:10 PM | Comments (3)

January 16, 2006

From contractor to employee...

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:

  • Moving into my own apartment in Scotts Valley
  • Buying a Mac for Mozilla work
  • Starting college (yes, I've never been, and now I won't owe anything when I get out)
  • Shoving some money into my Roth IRA
  • Finishing the donation to a church that I gave a verbal agreement to

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.

Happy Happy Joy Joy!

Posted by WeirdAl at 10:07 AM | Comments (2)

January 12, 2006

Do you generate XPaths? (Or need to?)

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.

Posted by WeirdAl at 6:12 PM | Comments (7)

January 11, 2006

XUL Widgets, version 0.1.2

Lots of changes checked in today:

  • New <xul:slicedstack/> element. It's a stack, with anything up to its selectedIndex visible, and everything after it hidden.
  • Wizards can have their next/finish buttons disabled by the current page's content elements having invalid="true". This matches behavior I added for XUL Widgets dialogs.
  • Bug fixes for control deck, integer control
  • Mozilla assertion (and probable leaks) in dialogbox widget fixed
  • Serverpost now partially supports XML Base
  • Serverpost now supports a time limit for HTTP POST messages, defaulting to 60,000 milliseconds.
  • New tests added for all the above new features
  • New XPI's checked in reflecting these changes. They should be available within 24 hours.

I've not finished the manual yet. Sorry!

XUL Widgets Project home page

Posted by WeirdAl at 4:32 PM | Comments (1)