This is something of an open letter to companies like Yahoo!, Facebook, Meebo, MSN, anybody that requires a new registration before people can play with their products.
Why won't you give us techies a public, testing-only login that doesn't require we tell you our life stories?
At each of the three companies I've worked for as a software engineer, I've worked on browser bugs relating to third-party websites. The QA team finds a bug on a website that I don't normally visit. I go to the site, and discover I need to create a whole new account on their site. That means going through the terms of service, the privacy policy, yadda-yadda-yadda, and giving up a bunch of information that I would really rather not spend the time giving just to reproduce one stinking little bug. Either that, or outright lie (which believe it or not, I hate even more, and I won't do for this).
But of course, I have to. That's how these sites get probably three percent of their new members, including me.
I'm not trying to hack your websites - just the opposite. I'm trying to make them work with our products. I'm a technical customer - technical both as an engineer, and as a person who isn't really going to buy anything from you or click on your banner ads. I'm on your site for two minutes.
Honestly, can't you just put out a few "developer-test" logins that operate in a sandbox, away from your production environment and real customers? Disable any commands that send e-mails (except between the dev-test logins), restrict the number of accounts in the sandbox, let a company grab accounts on these isolated boxes for short periods of time (a week or two) for testing purposes only.
Or license a second class of logins altogether, just for user-testing. If anything, it might give your potential customers a chance to experience what you're doing without committing all the way. If they like it, they're more likely to become real customers... and more likely to use your product and make you money. (That applies to me, too - if I can "test-drive" it without signing up, I'm far more likely to play with it and actually sign up if I like it.)
You can't give me this "we want to protect our customers from hackers" line, though. You make it so simple for people to sign up for your services that the bad guys can get an account just by filling in a few form fields, and they have far less ethics about this than I do. How does that protect your real customers?
Look, if your website doesn't work in my product, then the customers we share are unhappy. They don't get what they want, which means we don't get what we want and you don't get what you want. Nobody wins then. All I'm asking is that you don't make me jump through hoops to complete that agreement between web site and web browser that says "We're going to work for the customer and make their day a great one."
(Note: I am specifically not speaking for my employers, past or present. This is my personal opinion only.)
UPDATE: I received three replies directing me to BugMeNot.com. To me, that's a non-starter. As I said earlier, I don't think lying is appropriate, nor do I think borrowing someone else's account is appropriate either.
In this business of software development, I do not have a college degree. In fact, I have not been to college. These days, that's a rarity among programmers (do we still use that word?). I plan on going... someday. But the point is that I don't have a degree to fall back on. All I have are my works and my word. I cannot compromise on either of those if I have any future in this business.
I know I'm going to get flamed for this, but...
Everybody on p.m.o is ranting hard about Microsoft's decision to include a third mode for web standards rendering. They're all calling on Microsoft to Tell The Non-Compliant Web To Take A Hike.
What makes me chuckle is that, in one sense, the p.m.o community is telling Microsoft to act like the monopolist the community hates. The community is telling Microsoft to dictate to the Web (again) how the Web should be, to throw its massive market share around and do something that might break the Web. Bear in mind that massive market share, the ecosystem of the Web, isn't just about the browsers. It's also about the portals, sites we visit all the time, like CNN, NBC, MySpace, Wikipedia, etc.
You know what? Someday we're just going to have to learn not to give a damn what Microsoft does with their browser. Let the evolution of the Web decide what's best. Let Firefox be Firefox, let Opera be Opera, and if Microsoft doesn't want to come to the table, fine. Then the W3C might mean something again - or the WHATWG will just replace it. (Just as long as people don't cheat and make sneaky side agreements to install their browser as the default... oh, wait, ummm...)
On second thought, they're just feeding authors' addictions to bad code. I really ranted about that a few weeks ago. Let them (bit)rot. :-)
Update: A few people seem to think that I want to dictate to Microsoft how they should build their browser. I want to strongly suggest they do certain things (where's my DOM 2 TreeWalker?), but I am not going to scream bloody murder about it.
Personally, I do think three rendering modes is a bad idea. But then again, I don't have a website. I'm pretty sure if I did, I'd have to think long and hard about supporting Internet Explorer with more than basic HTML. IE's users are rarely my target audience anyway.
Seriously, people, this blog post is about two words: Lighten up.
Yahoo News. CNN. Ebay. Any major site you visit today has hefty use (or, more accurately, abuse) of HTML. We've pushed HTML far beyond what it was designed to do, and browsers (and developers!) pay the price. Plaxo's Joseph Smarr gave a talk on just what the end-result of this is (featured on planet.mozilla earlier, but here's a link to the horse's mouth: High Performance JavaScript video).
This has been bugging me for a few weeks now, as a deeper-level problem. Part of my job (not just at DVC, but at previous companies) involves figuring out why products I work on break on certain web pages. QA says "We're broken on this page," and before I can work on the bug I have to dismantle the page. Imagine how much fun it is to dismantle code like: <div><div><div><div><div><div><div><div><div>...</div></div></div></div></div></div></div></div></div>... Or the horrors of table-based layout, especially nested-table-based layout. This practice is officially known as "minimizing a testcase", but realistically it ought to be called a steaming pile of fertilizer. No one wants to do it, and pages using hyperbloated markup make it ten times harder. (Especially when one character of whitespace can make the bug disappear.) Then there's the worst feeling of all: minimizing a testcase, fixing the bug, and then finding out there's something else busted on the same page, which your fix didn't catch.
Unfortunately, it's a vicious cycle. Major sites want to work in all major browsers, and major browsers don't want to break major sites. People are quick to blame Internet Explorer (and I'm one of those people), but that's not enough. We need to understand HTML + JavaScript + CSS + AJAX + smart developers = radioactive sludge code that just barely does what we want.
Seriously, how much code should a web page need to implement a tabbox?
I just spotted from GMail a Quote of the Day that really summarizes this well, by Gen. George S. Patton: "If everyone is thinking alike, then somebody isn't thinking."
There are design flaws in the whole process that make some of this unfixable in its current state. XML Namespaces has been around since 1999, but HTML isn't XML (unless you convert wholesale to XHTML). So as long as we keep generating web pages with just HTML, we're stuck. On the other hand, HTML isn't going to go away any time soon.
Maybe it's a standardized user-interface language we need. Mozilla has XUL (which has never worked as well on web pages as it has for chrome apps), Microsoft has XAML (oh, wait, you need Vista for that, don't you?), and somewhere there's a W3C discussion about creating a unified UI language (but how credible is the W3C among developers these days?).
The Tamarin project should improve JS performance significantly (and when it does, Microsoft and the others will be forced to respond - good news for all users), but this doesn't solve the underlying problem - it just makes the problematic code run faster.
Of course, all this is "Web 2.0" - but I don't think anyone really understands that Web 2.0 should be easier to work with than Web 1.0. Web 2.0 shouldn't just be about cool widgets.
How can we, particularly Mozilla developers, contribute to a fix? (It'd be the height of arrogance to ask "How can we fix this ourselves?".)
One way would be to encourage web sites to switch to XHTML (and serve it as something other than text/html). This would enable mixing HTML with other languages more efficiently (even more than with XML data islands, which end up being generic XML). To those who say, "But Internet Explorer doesn't really support XHTML," they should start screaming at Internet Explorer's team for this. Here's a really good question for Microsoft: for the same effect, would IE's parser team prefer to eat hundreds of HTML tags, plus hundreds of lines of JavaScript, plus CSS, or would the team prefer to eat a few dozen XAML tags mixed in with XHTML? I know which I would pick - the one that requires fewer bytes to express in web page source code.
Another way would be to make a standard user-interface language for the web - and implement it so that web pages could use it. Stop downloading cruft from the web - store it locally on the machine as sandboxed components. (Think XTF or XBL without privileges to implement user-interface.) Make it something that doesn't need a whole package from Yahoo!, another package from Google, another package from Tom's Best User Interface Widgets Page, etc. Just make it something everyone can use. And if it means a plug-in for a stubborn vendor, hire someone to write the damn plug-in! (Provided that the plug-in itself has a clearly available spec and a clearly available owner.)
I think the biggest impact we could have would be to ask the people who build and maintain these major sites, "Hey, what can we add support for that would make your jobs easier and your code cleaner?" It would not surprise me to find out that Mozilla was already talking behind the scenes to CNN, Ebay, Yahoo, etc. - specifically to their web engineers. It also wouldn't surprise me if they weren't, but instead focusing efforts on making the browser UI better, the user experience better, and on meeting standards that these major sites just don't give a damn about - while still trying to render these sites well.
I don't think HTML is broken, nor is JavaScript, CSS, or anything else. I simply think we're demanding far too much from them, and we need a better solution for the parts of the web that really put HTML to the test. Even WHATWG doesn't go far enough...
</dvorak>
You know, when Mitchell Baker posted her newest missive, talking about Thunderbird making its own nest in the future, I reacted much the way I expected (and now see) others would react: with disappointment. Although this time, I decided I'd wait a little before commenting. The last time I spoke my mind, I regretted it because I'd misunderstood what Mitchell was actually saying.
I think that's happening again. Rather than bash Mitchell again, I'm coming to her defense this time - because I think people are bashing her too hard.
It's difficult for me to articulate my feelings on this. On the one hand, what Mitchell and Brendan are doing make sense. The browser is the priority because that's what people demand the most of. On the other hand, we want mail/news, we want authoring, we want music, we want debugging, we want all kinds of things.
You may notice something about the links I posted above: with the (current) exception of Mozilla Thunderbird, the products under development or currently available to meet these needs don't come from the Mozilla Foundation. I mean, think about it: just how much do you expect Mozilla to do? Would you really want one organization to do everything, or one organization to have you do everything their way? We have enough companies with aspirations to exactly that right now - Microsoft, Google, and Oracle come to mind. (So does FSF.) Maybe this move is actually a good thing.
The simple fact is, software development is a hard task. It takes years to learn how to do it right - and even then, colossal blunders can be made. The active contributors to a project even of Mozilla's size is always changing, but it's never enough. Some people leave, others come aboard, but we're chronically swamped. Plus, in my case and that of many other developers, we go after the bugs that interest us or annoy us the most. In other words, to get me to fix the bugs you care about, often you have to convince me why your bug is more important and more immediate than mine. Which, I have to admit, is pretty hard to do, since I have a lot of things I want to work on. (The exception to this is keeping a roof over my head, which is a separate discussion.)
The best solution might be to guide people towards getting their hands dirty. As I said, we're chronically swamped as developers. We could certainly use a little help - not in telling us what's important (since we hear that all the time), but in actually fixing the important bugs. Perhaps we should promote a new philosophy towards bugs: "How can we help you to fix this?" In other words, empower the community a little more by directly involving them in the process of bug fixing.
The nature of open source says any one person - or organization - can work on anything they choose. By implication, that which no one chooses to work on will not change. The Mozilla Foundation has made its choices, and if you think about the implications of Microsoft-style "we can do everything, better" attitudes, it might be the right decision. Our complaining about it, though, does little to help the situation. The right solution is to work on the problems that confront you, whether technical or not. There's no reason to make this a popular battle and become a lobbyist, begging for others to change their minds.
For the last few days at work, I've been ruefully thinking that I was spoiled by learning how to write C++ code for Mozilla, instead of generic C++ code. Maybe the same is happening here: we've been spoiled by the ideals of what Mozilla (the name) stands for, and relying on that a little too much. The original Mozilla attitude was not standing up to anyone or against anyone, but standing up for yourself and getting things done. We who use these products on a daily basis need to recapture that attitude.
My favorite t-shirt says it best:
hack
this technology could fall into the right hands
I promised shaver that I would retract my words if I had misinterpreted XULRunner 1.9 executables being unavailable. Today, I gladly do so, as bsmedberg indicates yes, they will be available:
Make sure that prepackaged XULRunner builds are available.
That's all I was asking for. Now we just need better docs (something we've been complaining about long before we complained about a GRE... ;-) ) Would someone please pass the salt?
My apologies to everyone for flying off the deep end earlier.
I've noticed a recurring theme here: those who say we can't put out a XULRunner 1.9 are saying it's because we need system-level integration: one XULRunner instance supporting several applications on the same machine at the same time, I think. This is the JRE runtime model I've seen a couple people throw around.
I want to throw out a radical idea: what if we simply dropped that requirement for 1.9?
Simply put, I think it's a nice-to-have convenience, but I as an application developer do not need it. If that's the primary point of contention preventing a XULRunner build being blessed as 1.9, maybe we can have our cake and eat it too.
Perhaps we simply need to ask a better question: What does the community need, and what can they live without?
For the last several days, I have been watching the discussion about Firefox versus XULRunner with some amusement, and without making any blog posts of my own. That stopped today with Mitchell Baker's official policy statement. As Chief Lizard Wrangler, she does have the authority to do this.
I also want to state that I understand the rationale for the decision, and from the Mozilla Foundation's point of view, the decision is entirely sensible. I don't like it, but I accept it.
(For the record, I'm going to refrain from making more posts about the discussion unless I have something of value to say, something which will offer proposals or solutions. Several others who have blogged about it have merely been complaining or expressing their opinion. I don't see that as productive - even less so now that Mitchell's made her call. I would encourage my fellow platform enthusiasts to propose improvements now to benefit the community, and to work with the Mozilla Foundation in every way possible. We don't need any more acrimony over this subject.)
The significant part of her statement, for me, is this:
The Mozilla Foundation does not plan to invest in a pre-packaged or stand-alone XULRunner at this time. We plan to re-evaluate this as we approach the release of Mozilla 2.
My response to that? OUCH.
Seriously, this hurts. A lot. With that one statement, the burden on me as an application developer, long-term, has just gone up. Verbosio development has proceeded on the assumption -- reflected in the original XULRunner roadmap -- that there would be an official XULRunner 1.9 platform release. Now, like everyone else, I'll be forced to build executables, or telling users to build their own off some GECKO_1_9_RELEASE source tag. What makes this particularly painful is I do not have the resources of a corporate organization - no QA, no docs people, nothing.
It also lowers the priority on other platform-specific bugs to "ehh, we'll get to it someday." Bugs for things like toolkit extensions. Want Venkman or Firebug in your app? Build it yourself! You're a developer, you can do it. And if we ever update those in our source, build it yourself again. This is part and parcel of software development. Deal with it.
Which leads me to my next thoughts: damage control. MoCo's made their decision. Fine. That's their right, and I strongly suggest that anyone trying to fight it is helping entropy. (Consult Diane Duane's "Support Your Local Wizard" series for an explanation why this is a Bad Thing.) I'm not happy with the decision, but it's been made.
Recently the AllPeers blog suggested an official Mozilla Platform User Group (Mozpad). I think this is a fine alternative, and given the opportunity, I would participate heavily in such a group. If a community arises to produce and support XULRunner 1.9 builds, fantastic. We would probably have to create our own Addons service akin to AMO - if MoCo won't support XR 1.9, why support XR 1.9 extensions? - but I would resist forking XR 1.9 code itself in even the tiniest detail unless it became absolutely necessary.
There's also another thought I want to express: what's going to happen with the current 1.x series of code after Firefox 3?
It's generally accepted work on Mozilla 2 will begin in earnest after Fx3's release. Wonderful. Of course, nobody knows how long it will be until Mozilla 2 is remotely usable or stable enough for dogfood development. This presents a problem which I've talked about on IRC, but has not been mentioned on any weblog or in any official capacity.
Suppose Mozilla 2 takes a long, long time. 18 months is a long time in software development, and of course there's no release date set in stone for that either. Mozilla 2 is the future, but I wouldn't bet on anybody keeping to any posted deadline for it. Mozilla 1.0 took a lot longer than anyone thought it would, remember.
So what happens with the 1.x trunk line of code on CVS? (I have no reason to doubt there will be security & maintenance of the 1.9 branch - MoCo would be fools not to do that.) No one's talked about that, and I think it's time someone did in an official manner. Any number of things could happen:
This last option appeals to me most, particularly in light of the above XULRunner apps discussion. Think Apache 1.x versus Apache 2.x. Both are still out there, even though Apache 2 has long since superseded Apache 1.
The simplest solution to everything I've talked about in this article might be that a XULRunner community adopts the 1.x trunk for a theoretical 1.10+ code base. This has a bit of elegance to me, in that the XR community could do whatever they wanted to 1.10 code, and check in changes which benefit the community in the short term while we wait for Mozilla 2. The community could then use some odd product name ("Genesis", "Foundation", "Ringworld", "Protomatter", etc.) for their own project. (I like "Protomatter", myself.)
I think I'll end this editorial with one last thought reiterating something I said earlier. Please don't take my blog as a venue for complaining about XR 1.9 being vaporware. I'm not interested in that. XULRunner app builders now perceive a problem, and whether or not that problem is real, the worst thing we XR users can do is complain about it. The best thing we can do is start a discussion about "What do we do now?". That's what I want this blog entry to be about, and that's what comments I will approve on this entry. If you want to gripe about it without offering a solution, do it on your own blogs. :-)
Due to some issues with my ISP at home, I've temporarily shut off images in my Firefox installation. It doesn't take long for me to realize just how much I appreciate them, especially at the level of little icons.
It actually causes some readability issues. For instance, on CNN.com, the image alternate text is larger than the size of the icon in many respects. (Note: Another instance occurs in my weblog, where I can't see the "Logout" link in the page where I'm writing this very entry!)
To really get the feel for it, I think the web community at large should pick a day (say, April 30, two weeks hence), where advanced users turn off their image browsing for that day and see how it impacts their day-to-day operations. In particular, web designers could take a look at their own pages with images off. Looking at other websites, well, please be polite and considerate of the site designers. This is a suggested evangelism effort.
Note I'm excluding image hosting websites and image "portals" (for which the lack of images would defeat their whole purpose of existence). So don't yell at me about the Hubble Space Telescope. Your favorite web comics should probably be excluded for the same reason. In short, where a picture or image is the overall goal, there's no point in getting upset about it.
Is this an unrealistic request in the days of broadband Internet access? I don't think so, since a large percentage of the public still use dial-up (NetZero, PeoplePC anyone?) Images eat bandwidth - not as much as movies, of course, but still a sizable portion.
What do you think, as a member of the community at large? I just think it's worth taking a survey of the Web, and seeing it how we used to ten years ago, as we downloaded images. Just how much do we rely on them now, and is it too much?
Died on Christmas Day, shortly before 5:30 p.m. PST, 2006.
We'll miss you, Grandpa. Another one of the Greatest Generation, for whom we now play Taps.
This is a two-part article. Please bear with me.
A few weeks ago, I started asking myself this question about Verbosio. If you factor in the time I spent on Abacus (and I do), I have been at this off-and-on project for about four years now, with nothing of real value to show for that time. This is a depressing state of affairs.
I can only answer that question with, "Because there's no tools I know of to do the job better." Specifically, to give me UI's for editing XML documents with language-specific tools (XUL, XBL, RDF, MathML, XHTML, SVG, etc., etc.). It was true four years ago, and it's still true now.
Think about it: how cool would it be to have an application that came, out of the box, with the following options under its File menu:
You fill out a simple form, and there it is. Plus, you have language-specific buttons for editing the document in a given language (XUL), and it's easy to switch to another language (CSS, even though it's not XML).
Or, if you want to add MathML, you drop in a MathML extension, and restart... and MathML is now enabled for editing.
Right now, I still don't know of any tools that can really do this. I've always intended Verbosio as a platform for doing this. After four years, though, I begin to lose faith, encouraged only by the fact that I perceive a real need for it.
Many people blame Internet Explorer for this. Yes, it still has a monopoly stranglehold on browsing the Internet, and yes, IE7 is bringing some improvements, but not enough. But those who blame IE and Microsoft alone are only looking at a small piece of the problem.
Sir Tim Berners-Lee believes we need a Semantic Web, and I'm not entirely sure I disagree with him on that. But even so, this doesn't address other problems with the Web we have now, including the focus of this article.
The World Wide Web Consortium has put out dozens of Recommendations, many of them talking about XML languages such as those mentioned above. XML is a Big Thing, and not going anywhere. What we can do with XML, and specifically certain XML languages, is truly astonishing.
Creating XML documents with those languages in the first place, though...
Fundamentally, that's what Verbosio is about. Sure, tools for generating HTML are everywhere, and it's relatively easy to convert HTML to XHTML most of the time. But what about MathML, or SVG at the same time? RDF? How can you create the content flexibly through a GUI?
(Note: Please spare me the snide remarks suggesting a text editor. Text editors are just about the most inefficient way to create XML markup that there is.)
The simple fact is, tools to create such rich XML markup are not widely known and available. I truly and honestly believe this holds the WWW in the year 2000 more than Microsoft and Internet Explorer do.
While browsing the WWW has improved dramatically (Firefox, Opera, Safari, Camino, etc.), and e-mail has had similar improvements (Thunderbird, and forgive me for forgetting the other major e-mail clients out there with frequent releases), that simply means the ability to read the WWW has improved. No corresponding improvements to writing the WWW have been nearly as widespread.
The old Composer application, as it belonged to Netscape (when Netscape was a real company a decade ago), and later Mozilla, was a critical success at providing HTML editing capability. I dream of a similarly successful rich XML editor at my fingertips. ETNA may be that solution. Verbosio may be that solution. Or it may be something else. Amaya isn't quite that solution, but it's good for its purposes. A tool allowing me to edit XHTML, MathML, SVG, RDF, etc. simultaneously through a GUI that makes me think I'm editing XHTML, MathML, SVG, RDF, etc. instead of making me think I'm editing vanilla XML, is a tool desperately needed.
I've said before I work for ManyOne Networks, and two of our sponsored projects are the Digital Universe and the Encyclopedia of Earth. When you get down to it, though, these sites are about hosting and linking to accurate content. The better tools there are to edit said content, the better the experiences of our customers will be. In this respect, it's fortunate for me to work at ManyOne Networks. They want to offer content and content services, and I want to offer content editing services.
The World Wide Web is a fantastic creation; without it, you'd likely not be reading these words. But even now, the blogging software I'm using to write this article can't let me easily create artwork. We can see the artwork just fine. But no one can appreciate that which has not been drawn.
Until that day comes, I fear even blog articles will be restricted mainly to the realm of hypertext and digital camera pictures. We can read so much more than we can write that we don't even know what we can read or write. It really is time to put pen to paper, instead of just reading everyone else's papers which are no more capable than our own.
About a month ago, I bought a bicycle and trailer. I loved the pair - they went together like peanut butter and jelly. I didn't use the trailer much - I bought it to move my laundry from home to the laundromat and back. So often I'd leave it at my place while I took the bike to work.
Last Thursday, that trailer was stolen from my motel in Santa Cruz, CA.
It cost me $150.00. I'm really bummed out about it, because it was such a useful tool. The lesson for me is to keep little things like that locked up.
To the thief: I don't know who you are, or why you took it, but I hope you would return it. I've notified the Santa Cruz Police Department, and I've notified the bike shop that it came from (they say it's the only one they've ever sold, and that no other bike shop in Santa Cruz carries that line of trailers). I've even put in a prayer on your behalf. It was a nice little black trailer, and I do need it. If you have a heart (and you still have the trailer or can get it back), I'd really appreciate having it back, even anonymously - but preferably in good working order.
Also, for those of you familiar with the Bible: I do forgive, but I do press charges if it's not returned by the thief.
I rarely blog about non-technical issues here, and even more rarely about non-mozilla.org stuff. I have to say something, though, about the film Al Gore has recently starred in, "An Inconvenient Truth".
I liked the film - it's raising a challenge for all of us. Personally, there's not much more I feel I can do directly to reduce my impact (I ride a bike, walk, and take the bus just about everywhere except when I'm visiting my parents - I don't own a car and don't want one, thank you very much). About the only idea I have would be to start putting holes in paper bags again, so I can stick them on my bike's handles the same way I do for plastic bags. But that becomes a problem for businesses, convincing them that it's a Good Idea to carry special paper bags.
Now, if only tickets to the film were tax-deductible. (Hey, it's Al Gore, right?) :-)
I'm asleep with music playing in the background from Music Choice's "Soundscapes" channel (New Age music, very relaxing). I hear a song that's so good and so unusual I find it impossible to ignore. (Kevin Wood, "Harmonic Oasis", on his "Scenic Listening" album.) Songs like this are why I bought Blue Man Group's two CD's when I first had the chance. (For them, it was "Synaesthetic", which I first heard on a Pure Moods album.)
So I decide to pay Music Choice's website a visit.
Imagine the fun I had in reading this famous paragraph from Firefox 1.5.0.4 in Linux:
Our service is not currently supported by this browser. For best viewing, use Internet Explorer 6.0 or higher
Okay, so somewhere between ten and fifteen percent of their market doesn't matter to them. They want me to use a browser that has been declared too dangerous to use, two years ago. We've had Firefox for a while now. (I know I'm preaching to the choir here, but wait: it gets better.)
So I have to go back to Windows, and fire up IE. Please have mercy on my poor vulnerable computer, I beg. No such luck. When I get to their webpage, I get an interface that isn't very user-friendly. But at least there's a tab for "Get Music". All right. I click on it.
There are eight entries. Nothing even close to what I'm interested in. No indication of a scroll bar, search functionality, or anything that suggests I might like to pick the CD I want to buy.
I won't even try to go into detail about the video interviews that are playing that I didn't ask to see.
This one rates as one of many "Web Pages That Suck" in my opinion. It was so bad that I just had to look up the URL for Vincent Flanders (and write this blog rant, I suppose).
In short, I took my business to Amazon.com, and bought two CD's from Amazon that I would have just as easily bought from Music Choice... if I could.
</rant>
(Off topic: Remember Tiananmen Square, 1989. It happened today.)
It's fairly obvious someone's head is going to roll for the Dept. of Veterans Affairs foulup. This laptop theft and its implications are horrifying - especially to me, since I'm one of those 26.5 million veterans.
I don't know how many others in our business can say that, and I don't care too much. But I'll tell you this: having just in the last two years started to get my life in order and moving in the right direction, I really don't need the personal and financial trouble this implies. Never mind it hasn't happened yet. It just became a lot likelier.
26.5 million. Think about that. That means somewhere between five and ten percent of the U.S. population. Chances are if you're not one of the people affected, you almost certainly are friends with one.
Slashdot points us to this Seattle Times article. Two quotes here that caught my eye:
"AdCenter will give advertisers sophisticated information about consumers, including their location, age, gender and sometimes, their level of wealth."
"AdCenter will not give any information that can allow advertisers to personally identify a person, he added."
Uh huh. Suuuuuuuure. If you "locate" me at 1255 Foo Street, Apt. 355, in Santa Clara, and that I'm a 28 year-old male, it's pretty easy to identify me. Even if it isn't quite that specific, just mentioning my income will subject me to a barrage of car ads, home mortgage ads, etc. I'm already sick & tired of the Capital One "No Hassle" mail in my postal box (if it's "no hassle", why do they keep hassling me to sign up?)
Pardon me for not believing a convicted monopolist.
</rant>
ManyOne Networks submitted a proposal to speak at the Open Source Convention 2006 in Portland, Oregon. It was rejected. Personally, I've been to the last four OSCON's, and I didn't really want to go to this year's. Nothing against the Convention; it's a really wonderful experience, as close to a series of Vulcan mind melds as we can get. I'm just not personally inspired to go this year.
It's not money; this year, I actually can afford a full admission. No, I just don't have any urgent reason to go. Verbosio is progressing slowly, and it will require Gecko 1.9, so there's no point to trying to rush it to completion. There are no other projects I'm working on of that great importance (except for the Gecko patches, when I find a bug that sufficiently interests me -- like DOM stuff). I could pick up a lot of knowledge at OSCON by going, but it's just not right for me this year. The truth is, I need to take a break from it.
Tim, Vee, thanks for holding it the past eight years. It really does kick byte, and it's a genuine pleasure to go. I'm writing this blog entry to remind people about it.
I haven't closely looked at the list of offerings this year. I may change my mind... but I don't see that happening.
O'Reilly Open Source Convention 2006
A few weeks ago, I was wondering about the possibility of debugging C++ and JS at the same time. Venkman's a nice JS-only debugger. I'm using Microsoft's VC++ 2005 Express Edition to debug on the C++ side. (Mind you, I'm really not that great at C++ debugging.) I wondered, on a theoretical basis, how I would debug a problem that happened somewhere in between two JS frames, amid several C++ frames.
As I started pondering potential solutions, it was pretty obvious that I couldn't even get a good stack of the JS and C++ frames at the same time. Components.stack from Venkman returns a nsIStackFrame object. This object has partial info about the JS stack, and none about the C++ frames. For example, I could get the filename and line numbers of stack frames in JS, but I couldn't get the source line. I'm running a debug build of SeaMonkey trunk, and there was no information to be had at all about the C++ code. This is no better than what Error.prototype.stack returns.
Read on for more details, including the reason why a XPCOM debugger is now necessary. Or feel free to blame me for not knowing how to really use a C++ debugger.
I started wondering about this when I discovered a bug to add a JavaScript-based assert() function. Personally, I thought it didn't go far enough. If you're going to assert in chrome, it ought to at least launch a debugger like Venkman. (Of course, my own idea for jslib didn't do that either. :-) )
On the side, there was a discussion on IRC and in-person with timeless and a few others about the possibility of JavaScript calling NS_ASSERTION. Yes, I know, assertions should be fatal and this essentially means JavaScript can demand the program crash. This particular kind of crash should only be requested in extreme conditions, like when Venkman will not give you any useful information to debug a problem from JavaScript.
However, someone (I believe it was timeless) pointed out to me the nsIDebug interface. It took me about five seconds to notice that this interface was actually listed as deprecated...
Up to this point, it was all theoretical. I didn't see a need for getting a full XPCOM stack with both JS and C++ frames in it. I didn't see a need to stop Mozilla in its tracks and force debugging.
Fast-forward to today. I now have an unusual Venkman stack trace staring me in the face:
Error("Traditional JS stack dump")@:0
assertWithStack()@chrome://xulwidgets/content/editorTest/assertWithStack.js:4
onAttrModified([object MutationEvent])@chrome://xulwidgets/content/editorTest/domTreeViewMaker.js:109
nextNode()@:0
noDeepSerialize([object XULElement])@chrome://xulwidgets/content/editorTest/test.js:136
initSource([object Event])@chrome://xulwidgets/content/editorTest/test.js:212
select(0)@:0
initEditor([object Event])@chrome://xulwidgets/content/editorTest/test.js:382
@:0
This stack is interesting. noDeepSerialize is calling nsIDOMTreeWalker.nextNode(). Through the depths of C++ code, this tree walker, which in walking the tree isn't supposed to change it (that's supposed to be something I do after nextNode has returned), is causing an attribute to be set. This in turn fires a mutation event listener I've registered on the JavaScript side, which expects something to be there that isn't.
So something, from my point of view as a chrome developer, is bonkers in the C++ code. But what?
To figure this out, you need to stop the program. Enter nsIDebug. Deprecated as it is, it's easy to write a function for chrome that will fire the assertion. I recommend calling this function only when you can absolutely prove JavaScript code isn't the cause, and then calling it only from Venkman's command line.
function assertWithStack()
{
try {
throw new Error("Traditional JS stack dump");
}
catch (e) {
dump("\n\n");
dump("Traditional JS stack dump\n");
dump(e.stack);
dump("\n\n");
}
var realFrame = Components.stack.caller;
var nsIDebugService = Components.classes["@mozilla.org/xpcom/debug;1"]
.getService(Components.interfaces.nsIDebug);
nsIDebugService.assertion("A script is claiming bad things are happening!", false, realFrame.filename, realFrame.lineNumber);
}
It still works. (If anyone wants to remove this path for JavaScript crashing the program, I will be upset.)
So when I had a problem that Venkman couldn't solve, I called this function. The result was a depressingly long and incomprehensible C++ stack. Worse, it's not terribly useful in telling you what JavaScript frames you have. I've posted my best guess stack at where the JavaScript functions intermingle in the C++ stack. With a little help, it's pretty easy to narrow down the cause to about eight frames.
I would pay real money to have a open-source debugger that could properly debug Mozilla-based application across the language barriers. I strongly suspect others would be willing to pay, too. The debugger would go from C++ lines to JS by going up and down one frame in the stack, and you'd get all the appropriate values too. C++ debuggers obfuscate what the scripts are doing, and JS debuggers have no chance of seeing what's going on in the C++ world. We need a cross-language debugger.
At a rough guess, I envision such a debugger would be XULRunner-based and able to attach to any (other) debug Mozilla build that's currently running. Beyond that, I have no idea how such a debugger would work.
Call it XPDebugger if you want. I would gladly contribute personal time and some of my salary to getting a good tool built. I'd love to see a proposal take shape through wiki, through newsgroups, whatever, to create a XPCOM debugger. Venkman's great for debugging JS. Maybe it'd be a good starting point for a more advanced and useful XPDebugger, at least in terms of user interface.
Random notes in summary:
UPDATE: timeless has explained to me the existence of DumpJSObject from a C++ debugger. I am not impressed, because this makes my job as a debugger only slightly more helpful.
He also says it would take about a week for a sufficiently available and qualified developer. Those who he considers qualified are among the busiest of mozilla.org's contributors. Me, I'm more skeptical. I don't think it's that easy at all.
Having jumped off a cliff before on religion (and regretting it), I'm going to do something similarly inflammatory. I'm going to discuss American politics.
If you care, go ahead and read the full article.
For years, I've wondered about the feasibility of adding a presidential line-item veto to the Constitution of the United States of America. Every now and then, you hear about the line-item veto in the news, but there's not much seriousness to it.
I won't rehash old arguments on it; I strongly support it as a matter of principle and would like to see it happen.
A quick search on the Library of Congress website shows there is an amendment offered in the U.S. House of Representatives. It's apparently stuck in committee.
Not being a lawyer, I don't know what it would take (beyond the details available in the Constitution itself, Article V, for an amendment; I'm not that dumb) to get the bill acted on and sent to the Congress for a full vote. But I would like to see it happen.
I'm probably going to write my congressional representative about it. If you feel this is a good thing, you might want to write your rep too.
Spammers try to look smart to fool us, but they really aren't. Reference this little gem that got past GMail's filters:
X-Gmail-Received: 7027b24f257865b549f0520a5e00633c137aa01b
Delivered-To: *********@*********
Received: by 10.65.96.5 with SMTP id y5cs41366qbl;
Tue, 21 Feb 2006 12:23:38 -0800 (PST)
Received: by 10.65.155.19 with SMTP id h19mr1741150qbo;
Tue, 21 Feb 2006 12:23:38 -0800 (PST)
Return-Path: <%CUSTOM_FINANCIAL_TERMS@gmail.com>
Received: from DM ([208.65.60.56])
by mx.gmail.com with SMTP id e14si27530qba.2006.02.21.12.23.38;
Tue, 21 Feb 2006 12:23:38 -0800 (PST)
Received-SPF: neutral (gmail.com: 208.65.60.56 is neither permitted nor denied by domain of %CUSTOM_FINANCIAL_TERMS@gmail.com)
Received: from %RND_HOST (8.8.8/8.8.8) id XAA59962; Tue, 21 Feb 2006 14:23:46 -0600
Message-Id: <170014510459.XAA13898%CUSTOM_FINANCIAL_TERMS@gmail.com>
From: "Nikhil Ball" <%CUSTOM_FINANCIAL_TERMS@gmail.com>
To: *********@*********
Subject: Concerning February Account Details
X-Mailer: Opera/7.02 (Windows ME; U)
Date: Tue, 21 Feb 2006 14:23:46 -0600
%CUSTOM_TO_ALIAS,
%CUSTOM_ACCOUNT - %CUSTOM_LINK
Nikhil Ball, Account Rep. %CUSTOM_REP_NUMBER
Mr. Ball -- or whoever you really are -- when are you going to realize:
On the plus side, you did get past the filter. I did read your e-mail. The GMail one-line summary was amusing enough to prompt me to see what was going on.
Bottom line: if you want to defraud me, you're going to have to work harder than a simple form letter. As many people with so-called dearly departed and super-rich relatives have found out.
I spent a big part of today trying to fix a bug in xpistubs, with regard to flat chrome. I went through the XPInstall API docs for hours today, trying to figure out what the hell I was doing wrong. Hours. The code examples are sparse. It's not clear to the untrained eye which arguments refer to content inside a XPI (or JAR), and which arguments refer to the target applications. A few visual examples would have saved me a lot of trouble. Example:
Suppose this is the contents of your XPI file:content - foo.xulThis is the contents of your target chrome directory:chrome - browser.jarTo copy and register the content directory into chrome/content/foo, use the following:Install.setPackageFolder(Install.getFolder("Chrome")); var targetDir = Install.getFolder("Chrome", "foo"); File.dirCreate(targetDir); addDirectory(null, "content", targetDir, "content/"); registerChrome(CONTENT | DELAYED_CHROME, targetDir, "content/")Note the second argument does not have a trailing slash, but the fourth argument does.
I've never seen anything like this level of detail in any XPI guide, not even "Creating Applications With Mozilla". This sort of example is short, very self-contained (you don't need to read prior chapters), and can be inserted into the addDirectory API documentation without any trouble. (Even then, it's not entirely a good example. Which "content" argument is which?)
There's another reason I wrote the example above as I did. It's not jarred chrome, it's flat. Flat chrome is useful. Flat chrome means you can edit the files raw in your objdir, and when you're done, you just copy the files into your source dir. No dealing with jars at all.
Jar files are great for finished products. But when you're doing dev work, you want to play with flat chrome. Ideally, you want to keep all your files isolated so that things are relatively obvious. If you can build jar, you can build flat, and vice versa. Mozilla reacts happily to both.
We have a serious lack of good chrome examples, flat and jarred. Oh, I could dig through the archives of mozilla.org and eventually find a bunch of XPI packages. But it's not clear to me as a developer what's inside these things, and what makes them tick. These tests would be a lot more useful if there was a guide to them. "This is what that XPI is supposed to do. This is what each XPI has inside it. This is what the install.js file looks like. This is what each line does."
Every time I try to start a new project, I go through this hassle. Every time I start playing with XPInstall, I go through this hassle. It's insane. I know I could (and probably should, given how frustrated I am) write a nice bunch of addendums to current XPInstall docs. Is that what will solve the problem? Or can I wake someone up and say, "Have you ever tried to use these docs to actually do something?"
A little over a year ago, I submitted a story to the Strange New Worlds VIII contest. Apparently Dean Wesley Smith, one of the three judges and the editor for the contest, liked it, but it didn't quite make the final cuts. Other times I've written amateur sci-fi or fan-fics, and generally, they were well-received. Unfortunately, I've not done very much in that field since.
It's a trade-off. I've been a software engineer professionally for a while now, and I've not spent any time writing science fiction. Certainly I haven't studied it as a field enough to see what others have done. One regret is that over the last several years my knowledge of sci-fi has been mostly limited to the classics, a few interesting novels and authors, and Star Trek.
Still, I sort of miss it.
One of the cardinal rules for writers is that you must write. It's true for blogging, it's certainly true for programming, and it's true for science-fiction writing. Having a non-fiction book under my belt is quite an achievement, but I never want to lose my appetite to be an artist. I never want to stagnate.
In terms of literature, I've stagnated. Just today, I asked myself two questions I'd want to base stories on. The first is, "What if a military grew so large that no officers could live long enough to learn how to command it?" I remember reading in a book by Tom Clancy and Gen. Fred Franks, Jr., (ret), "Into The Storm", that it takes twenty years to develop a senior army commander. Suppose the military got so big that no one man could gain the experience he needed to direct it? What would the military do to get the most bang for the buck? (Pun not intended.)
The second question is, "What uses can a naval force be put to in a war against a space force?" I don't believe I've ever read a sci-fi story that tried to answer that question. My first thought is, "Very little." But that almost certainly ignores what centuries of naval history have taught us. My own understanding of naval warfare is somewhat limited, but I do know that I didn't need a space suit in my two years in the U.S. Navy. The closest glimpse I got of this was from Harry Turtledove's Worldwar series, and naval technology had not nearly advanced to the point we have now.
I'm not stating my opinion on war here, but science fiction combat is one of the biggest fields for sci-fi. Nor am I trying to actively capitalize on my talents in sci-fi. I write fiction as a hobby, when I feel like it. If I spent several years at it, I could probably become a decent professional writer. First, though, I'd need to do my homework -- both in what's been written and in what's plausible. Finally, I always try to remember in sci-fi writing that it's not about the gadgets and the gizmos, but about the people in the stories.
I would really love to make friends with a retired military strategist. Just to poke his (or her) brain about both history and tactics. No one can write about anything they don't understand the basics of. Anyone who tries inevitably fails, as I've learned time and time again.
Also, if I was ever to go to college, this would be a big reason: to learn more about the world (and universe) we live in, to express it to people. Assuming, of course, that I ever budgeted the time for the writing. Because ultimately, I determine my schedule aside from work hours.
People who know me know I don't drive. They know I'm a big fan of public transit.
So I was a little annoyed Wednesday morning. Apparently, mudslinging and grandstanding are the order of the day now.
An article in the Wall Street Journal (thanks to Slashdot for the link) explains about Microsoft's decision to scrap their current work and start over.
This is probably a good thing. In fact, scrapping and restarting is sometimes necessary. For example, Netscape open-sourced their codebase for Netscape Communicator 4.x. The idea was open-source contributors would help them get to version 5.0.
That didn't happen. I can't find the exact article explaining the reasons why, but I recall reading the mozilla.org team decided to scrap that codebase and start over with Gecko. As I understood it, the codebase for Netscape 5.0 was just not amenable to doing what people needed done. The result was Mozilla 1.0 and Netscape 7. (Netscape 6 was a forgettable experience.)
I'm having experience with scrapping and restarting myself. Abacus, you may recall, was intended as a MathML editor for Mozilla. Ideally, it would be embedded in Mozilla Composer. That's not going to happen. I'm going to scrap Abacus and rewrite it for Verbosio, which is a much more extensible architecture (and is designed to support XML, which Composer is not).
I can get away with this, though, because Abacus has such a small customer base (effectively zero). With larger projects such as Firefox or Windows, I'd be a little concerned about backwards-compatibility. Netscape 6/7 decided to deliberately not support certain bug-features of Netscape 4, and that was probably wise. Be careful what you break when you scrap and start over.
I am well and truly overwhelmed by the responses I received. 35 in about 24 hours. I think we can all learn a little about community efforts from this example.
I gave a very simple, harmless test, without explaining why. Community response was huge. This is the essence of quality assurance work.
I went wading through a list of mail/news bugs today. The sheer number of bugs there which are not properly triaged is staggering: over five thousand from a simple search (excluding any summary searches). I'd bet 60% or more are UNCO. The mail/news developers simply cannot use Bugzilla under those circumstances. I know, because one of them said so to me earlier today.
We're coming up on a tree closure soon. I think it's the perfect time for a Mozilla Development Stand Down, to help out with QA & triage.
I'm serious: we need to schedule such an event. A time when we just take a breather from active dev work, and contribute an all-out effort to getting our affairs in order. One to three work days (excluding weekends) where triage is the priority. The hard-core hackers of our community, who know the codebase well, would be available to answer questions.
I know a fair number of those hackers will not heed my request. Certainly none should who are working on the Gecko 1.8 release! But if we really take even one full day for bug triage exclusively, I'm sure our developer community will appreciate it immensely. It will help them get a clear picture on the bugs that drive most of us crazy.
What if there's not enough time for a Stand Down during the freeze? That's always a distinct possibility. I would suggest someone write a community petition to mozilla.org's drivers for a Stand Down in that event.
Yes, it's a big leap from a simple test to a massive QA effort. But consider: Mozilla development has continued uninterrupted for about seven years now. Some of the problems, including QA and documentation, have grown so large that many of us feel we can't do anything about them. That attitude has to stop. It will only stop if large numbers of people unite to make it stop. We can do this. We just need to pick times and goals, and strongly suggest to the community as a whole that we do this.
Thank you for your time.
P.S. I decided to close the comments on the original thread because my goal had been accomplished, and I didn't want more comment spam to approve one-by-one. :)
http://www.cnn.com/2005/WORLD/asiapcf/08/09/game.death.reut/index.html
:|
North America's been seeing some high temps. So dunk your cotton t-shirt into some cool water, wring it out, and put it back on.
Instant, and very cheap, air conditioning.
As a Boy Scout, I remember an article saying wet cotton draws heat away 30% faster than bare skin.
http://www.cnn.com/2005/US/07/15/adoption.church.ap/index.html
Gee, thanks. Glad I could not be of service.
UPDATE: Oh, now I can!
http://www.kirotv.com/family/4752092/detail.html
Cool.
(No, this has nothing to do with Mozilla.)
I just got back from the doctor's office for a routine checkup, the first I've had in seven years. I thought I was doing okay, and the doctor agreed. I'm doing "okay".
Unfortunately, I'm not doing "great", and that "mid-twenties growth spurt" I talked about a few months ago and honestly believed was happening... isn't. I'm still about 5 ft 9.
In short, I am a bit overweight, and the doctor is advising me to lose 20-30 lbs, about 3-4 lbs a month.
Aside from that and some high blood pressure, I'm doing well. But I am distinctly humbled.
But that's not going to stop me from making my life better. I'm not doomed, and I intend to get myself back where I belong. I may be humbled, but I'm also determined.
I know the doctor's requests are not unreasonable, that these are easily attainable goals. So I'm going to do it. I may have been lying to a lot of people (most especially myself) about my physical condition, but that ends now.
Hm. It's interesting that Netscape breaks something that's already pretty broken to begin with...
XML data islands, anyone?
(Don't take this entry seriously.)
You know, there are times I disagree with Gerv's opinion on the technical details of religion. There was even a point where he took me to task for a blog posting I made last year.
But I will say this in Gerv's defense.
No one can accurately call him unaware.
Oh, we could debate scripture until we're blue in the face. The devil can quote scripture, and so can we.
I, for one, am not going to go toe-to-toe with Gervase Markham over what the Bible says. I can tell you, I see a lot of assumptions -- both from Gerv and from those who would attack his statements.
As for the Pope himself:
John Paul II was a brother, at least in spirit, to much of the world. That is truly why this is painful for many of us, because we have in effect lost a brother, a counselor, and a good friend. Someone who can chide us and say, "You're not supposed to be doing that," and whom we listen to.
To put it in less intimate terms, he was the head of a large institution. In that, he is comparable to Queen Elizabeth II. It will be a sad day for many people around the world when the Queen dies. (Yes, I am fully aware Gervase Markham is a subject of the Queen, I believe British. I'm not attacking him on this, I'm just drawing a comparison between two great people who have led for decades. Nor am I referring specifically to replacements for either the Pope or the Queen.)
Yes, I was praying with regards to the late Pope. I made my comment to Gerv in his blog.
All I can say to those who would attack Gervase Markham is this:
"Peace be with you."
(The last line is copyright 1st Century, Anno Domini, I believe.)
I just turned 27 on Dec. 21. Apparently, in the past year, I've started growing again.
Ever since I was 18, I remember being 5 ft 9.5 in tall. (That's 176.5 cm for those on the metric system.) I was always a little shorter than Dad, who is 5 ft 11. One of my younger brothers ended up 6 ft 4, and the other 6 ft 1. (Give or take an inch for both of them. I don't really remember.)
This past July, I went up to Vancouver, WA / Portland, OR for the Open Source Convention 2004. I was startled to realize I was eye-level with Dad.
Then, at Thanksgiving, another friend of mine who I remember being eye-level with is suddenly shorter than me.
Finally, I met my parents at the airport on Dec. 13 (which in itself is a funny story), and I'm clearly at least a half inch taller than Dad.
Now, since I haven't been to a doctor in several years, I decided to see if there was any context for this. Google wasn't entirely helpful -- I didn't see any meaningful results until I typed in "mid-twenties growth spurt". Apparently, it isn't all that common, but it isn't quite unheard of either.
It's also something Dad says runs in his side of the family.
The last few days, it feels like everything in my room is a little lower again. So I might definitely be brushing six feet (182.9 cm).
Overall, I'm not complaining, since I'm still fairly lean (190 lbs, give or take five, and wearing the same size pants I've worn for years). I can't explain it though.
Other than to say that I'd better take advantage of this growth while I still can. As a kid, I hated exercising. As an adult, I find it refreshing and something I don't do quite enough of. So I'm thinking of joining a gym club when I have a little money stashed away.
Can anyone find other references on this?
There are a few Mozilla-based products I know of which I have a great interest in, and I personally would like to see a deeper interest from the Mozilla community in 2005. They are:
Disruptive Innovations has made some good progress along these lines, I think. Their spinoff of Mozilla Composer should reach version 0.7 next week, per a brief comment by Daniel Glazman. Personally, I await the day that N|Vu supports the tools mozilla.org does (lxr for the public most especially) and/or starts checking their code into the Mozilla tree... so I can rip it to shreds and start offering bug patches for issues that irritate me. (In an earlier weblog, Mr. Glazman implied N|Vu 0.7 would potentially be stable enough for the community-at-large to work on, or localize, or something like that. I hope he still thinks so.)
Something else Disruptive Innovations is apparently working on, but hasn't made any releases on. I remember this from a weblog comment Mr. Glazman made, and I am waiting fervently to sink my teeth into whatever he's putting together. (I've been of the opinion for a little while now that XML editing in Mozilla is a Holy Grail type of application.)
I haven't followed this one that closely, but from seeing the 0.2-ish releases, I can tell this will be a "mosaic killer app" (pun intended) for the future. I briefly evaluated it for a previous employer, and concluded that at the time it wasn't capable of handling the important application of group calendaring. This one is hosted and sponsored by the Mozilla Foundation, and I would strongly encourage everyone who's looking for the next big thing to hack to go after it.
Although I wanted to plug products I am personally involved in, such as my own abacus and serverpost projects and DOM Inspector, I felt that would not be fair. These projects have at best minimal involvement from the community, and they truly are developer applications not meant for the end-user. Abacus might reach that end-user-targeting someday; the others never will. Abacus and N|Vu combined would be really slick, but I can't quite get them to work together and I haven't spent the time to figure out why.
Gervase Markham responded well to yesterday's blog.
Unfortunately, he took my original statement way out of proportion... <grin size="huge"/>
I was simply (1) acknowledging his own respect and love for our Lord, and (2) reflecting very briefly on one of the issues I had in the U.S. Navy.
On that latter bit, let me set the record straight: the Navy's personnel are not always paragons of virtue, by any means. Being a devout Christian in the military is not easy. Honestly, after nearly two years in the service, and a year of that onboard a ship which had a distinguished record of service (we earned the Battle E the previous year), I was starting to feel my own morality slipping away, the core of my behaviors and ethics starting to crack. You have to bear in mind that when you are in the Navy as an enlisted person, you are literally living with 20+ guys in the same berthing, guys who will throw all sorts of peer pressure and other adolescent behavior at you all day long.
Missing the Mass, while important to me personally, is nothing compared to starting to think that some of what these people do on a regular basis is okay. That way, for any Christian who is truly dedicated to God, lies madness. A madness of a sort that I will be happy to explain to Gerv or anyone else by private e-mail, but not in a public forum.
It is a madness which continues to trouble me to this day. A very personal madness, and quite literally another miracle that I am still alive to talk about it or anything else.
I found a nice place to rent at a very reasonable rate. The only question I had that my landlord couldn't answer was whether there were any Catholic churches nearby. Like Gervase Markham, I am a Christian, and pretty serious about it.
Now, when I was in the U.S. Navy, there were times when we weren't able to celebrate Mass for a month. In fact, it was the Navy that (inadvertently, but nonetheless) came between me and God, and that drove me absolutely batty.
So here I am yesterday about 2:30 pm-ish, I've just agreed with the guy to rent a room, and I'm walking down the street. There's a huge place with pink walls and a lot of trees growing over. I think it's kind of funny to have a city park enclosed in pink walls. So I walk to the gate.
It's a Carmelite monastery. It's two blocks from my home. It has Masses every day of the week at 7:15 am, and a Sunday Mass at 10:30 am.
When you put together all the things that are happening for me at once, there's only one explanation. God's been working another miracle.
Maybe he's giving me a glimpse of Heaven on Earth, because that's what I felt that afternoon.
Me? Mozilla Man?
Oh, I wish. No, there are far more deserving people of that title. I think Ms. Ha really overstated my role here. Still, any good coverage of Mozilla-based products, I'm willing to promote.
I have an idea. Let's file a class-action lawsuit.
We can target the companies whose products are being offered, and the people doing all the advertising. We collect a log of blogspam we gather in a single day, week or month. Since MozillaZine hosts this blog and several others, they'd receive a good chunk of whatever damages we'd claim. It is their bandwidth being tied up.
We'd probably ask Google to file a "friend of the court" brief (or whatever they're called), since there's only one reason why these blogspammers would repeat so many links to the same site with the same phrase in a single post: search engines.
We help MozillaZine and other blog hosts to collect IP addresses and hosts of people submitting, track it down, and nail the people who use these automated tools on us as defendants. They'd better hope they pay technical wizards as good as we are by training, because otherwise we will find them.
(I'm not serious about this idea, but when I collect 400+ new spam in my new GMail account in less than a month, and 90% of that is blogspam notifications in my box, and I'm only one guy... do the math: there's a lot of blogspam out there just in the mozilla.org community.)
Bug 179621, desperately seeking sr
Okay, I've tried being nice. I've tried being discreet. I've even tried a letter to staff. Now, I'm officially upset.
If anyone cares to notice, this particular bug's first patch has been idling in Bugzilla for nineteen months. After having my work blocked for a year waiting for the r+, I've gotten two r+ annotations from people who really don't have a solid grip on the TxMgr API. So, I asked for r? again (or sr) for the TxMgr-specific stuff. In other words, the r? on the patch is meaningless if I get a decent strong reviewer to check my work. Which has not happened and shows no sign of ever happening, unless I take drastic measures. Bouncing from one unresponsive reviewer to another isn't drastic enough.
Seven days ago, I got frustrated to the point of e-mailing staff (on the advice of #developers, when I would've e-mailed Brendan Eich alone instead, to avoid creating a scene). The number of replies I got is not encouraging.
Now, I expect some people who see this blog entry to instinctively point me to the mozilla.org module owners page under Composer (which is responsible for TxMgr). Unfortunately, that doesn't seem to do a bit of good, because from my point of view as a developer, hardly anyone within the mozilla.org community seems to care about Mozilla Composer anymore.
Daniel Glazman started work on N|vu a long time ago, and I respect him for that. But his company appears to be the only ones working on improvements to Mozilla Composer codebase, and they haven't gotten any large-scale checkins to Composer landed yet. So whatever he's doing isn't quite closed-source, but the barrier to entry (as I noted in the N|vu developers mailing list) is quite high.
It's even higher in the mozilla.org codebase directly, because we're letting it bit rot, byte mold, and Hertz mushroom. The Mozilla Foundation has continued to drive efforts on browsing (Mozilla Firefox, great work) and mail (Mozilla Thunderbird, great work). But who within the community is driving tools to edit web pages? Who's active in owning Mozilla Composer and its components, such as Transaction Manager?
As far as I can tell, there are no visible leaders on that, other than Daniel Glazman (and he's busy).
This means that when someone wants to get reviews on a fundamental piece of Editor architecture, he waits... and waits... and waits...
and waits...
and after long enough, gets tired of waiting and writes a blog entry to beg for help.
Mozilla Composer and our documentation effort appear to be the pariahs of the mozilla.org community. (Coincidence, then, that these happen to be two of my favorite subjects within the community?) It is immensely depressing to see this.
Please, I beg the miniature community of strong reviewers and/or people familiar with Transaction Manager: get me out of this DOM-Inspector-blocking mess and either approve the patch or tell me what I'm doing wrong with the patch. Please, don't leave me hanging, because this noose is getting pretty tight.