<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alec's thoughts &#187; mozilla</title>
	<atom:link href="http://www.flett.org/category/mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flett.org</link>
	<description></description>
	<lastBuildDate>Thu, 15 Oct 2009 17:08:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>I&#8217;m famous!</title>
		<link>http://www.flett.org/2004/06/14/im-famous/</link>
		<comments>http://www.flett.org/2004/06/14/im-famous/#comments</comments>
		<pubDate>Mon, 14 Jun 2004 23:34:17 +0000</pubDate>
		<dc:creator>alecf</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.flett.org/?p=34</guid>
		<description><![CDATA[A long time ago, people were bitching about Hungarian notation in code. Its a rediculous convention perpetrated by Microsoft in the early nineties. During some debates on a mozilla newsgroup, circa 1999, I made this comment:
prepBut nI vrbLike adjHungarian! qWhat&#8217;s artThe adjBig nProblem?
Well, I had no idea how this goofy statement had been passed around. [...]]]></description>
			<content:encoded><![CDATA[<p>A long time ago, people were bitching about Hungarian notation in code. Its a rediculous convention perpetrated by Microsoft in the early nineties. During some debates on a mozilla newsgroup, circa 1999, I made this comment:</p>
<p><b>prepBut nI vrbLike adjHungarian! qWhat&#8217;s artThe adjBig nProblem?</b></p>
<p>Well, I had no idea how this goofy statement had been passed around. A quick search on google turns up all sorts of hits where people have used it in their e-mail signature. I even found a guy <a href="http://dotnetjunkies.com/WebLog/josephcooney/archive/2004/06/07/15743.aspx">offering T-shirts</a> with the quote.</p>
<p>Anyhow, I just found the whole thing funny.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flett.org/2004/06/14/im-famous/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DocBook</title>
		<link>http://www.flett.org/2004/05/21/docbook/</link>
		<comments>http://www.flett.org/2004/05/21/docbook/#comments</comments>
		<pubDate>Fri, 21 May 2004 22:15:20 +0000</pubDate>
		<dc:creator>alecf</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.flett.org/?p=31</guid>
		<description><![CDATA[So since I&#8217;ve been techwriting for a few months, and hating life with FrameMaker, I decided to see what open source alternatives were available out there. 
The other day I happened upon DocBook. I had heard mention of it many times before but didn&#8217;t really get what it is. Here&#8217;s what it seems to be: [...]]]></description>
			<content:encoded><![CDATA[<p>So since I&#8217;ve been techwriting for a few months, and hating life with FrameMaker, I decided to see what open source alternatives were available out there. </p>
<p>The other day I happened upon <a href="http://www.docbook.org/">DocBook</a>. I had heard mention of it many times before but didn&#8217;t really get what it is. Here&#8217;s what it seems to be: a well defined XML schema for writing books and such. The idea behind it is to define your document semantically rather than worrying about layout and presentation. You define chapters and books and sections and paragraphs, and DocBook tools create any kind of output you want. You can include graphics and notes and warnings, footnotes, cross references and everything. Its all very exciting.</p>
<p>What I particularly like about it is that you can use so many existing tools. One thing I was thinking for the mozilla world was IDL / DocBook mapping. In its simplist form, you could make an IDL file generate a DocBook API reference skeleton. If you were feeling daring, you could take the JavaDoc comments out of the IDL, and dump them into the skeleton, initializing the whole skeleton.</p>
<p>But if the IDL changes, is there a way to keep things in sync? The problem is that after generating a skeleton, you&#8217;d want to be able to modify the XML to your heart&#8217;s content. But as long as the XML file retains a well understood structure (which DocBook has!) then you should be able to read in the IDL and the DocBook and alert the developer/writer if the docs don&#8217;t match the source. Neat.</p>
<p>But for now I&#8217;m going to explore some DocBook tools and see what I can make of them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flett.org/2004/05/21/docbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSP and CygWin</title>
		<link>http://www.flett.org/2004/05/21/opensp-and-cygwin/</link>
		<comments>http://www.flett.org/2004/05/21/opensp-and-cygwin/#comments</comments>
		<pubDate>Fri, 21 May 2004 22:03:53 +0000</pubDate>
		<dc:creator>alecf</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.flett.org/?p=30</guid>
		<description><![CDATA[So in my DocBook exploration, I&#8217;ve discovered the beauty of sgml mode on Xemacs. If only I could get it to do validation. For that, I needed nsgmls, which is a part of James Clark&#8217;s SP package. But it turns out he&#8217;s all but abandoned it and the OpenJade group has taken up the cause [...]]]></description>
			<content:encoded><![CDATA[<p>So in my DocBook exploration, I&#8217;ve discovered the beauty of sgml mode on <a href="http://www.xemacs.org">Xemacs</a>. If only I could get it to do validation. For that, I needed nsgmls, which is a part of <a href="http://www.jclark.com/">James Clark</a>&#8217;s <a href="http://www.jclark.com/">SP</a> package. But it turns out he&#8217;s all but abandoned it and the <a href="http://openjade.sourceforge.net/">OpenJade</a> group has taken up the cause and made OpenSP, currently at version 1.5.1.</p>
<p>The problem I ran into there is that the freakin&#8217; thing doesn&#8217;t compile on <a href="http://www.cygwin.com/">cygwin</a>. What I kept running into were all sorts of link errors:</p>
<pre class="code">undefined reference to
 `__static_initialization_and_destruction_0(int, int)'</pre>
<p>After hunting around quite a bit, I discovered that this is a common cygwin error, and to fix it you need to comment out all the references to <code>#pragma interface</code> and <code>#pragma implementation</code>.</p>
<p>Of course! That&#8217;s what I thought it was all along. Well at least there are enough keywords here for google to index this highly, and help someone else.</p>
<p>Now back to mozilla doc hacking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flett.org/2004/05/21/opensp-and-cygwin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla &#8220;contributors&#8221;</title>
		<link>http://www.flett.org/2004/05/20/mozilla-contributors/</link>
		<comments>http://www.flett.org/2004/05/20/mozilla-contributors/#comments</comments>
		<pubDate>Thu, 20 May 2004 14:04:02 +0000</pubDate>
		<dc:creator>alecf</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.flett.org/?p=29</guid>
		<description><![CDATA[This morning I got a private e-mail in response to bug 178809. It went something like this&#8230;
Disclaimer: I do not speak for mozilla.org. I do not even claim to represent the views of any other mozilla developer other than myself.

I wrote:

>Reporters, and people on the CC: If anyone wants this bug fixed, they&#8217;re
> going to [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I got a private e-mail in response to <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=178809">bug 178809</a>. It went something like this&#8230;</p>
<p><em>Disclaimer: I do not speak for mozilla.org. I do not even claim to represent the views of any other mozilla developer other than myself.</em><br />
<span id="more-29"></span></p>
<div class="quote">I wrote:</p>
<blockquote cite="http://bugzilla.mozilla.org/show_bug.cgi?id=178809"><p>
>Reporters, and people on the CC: If anyone wants this bug fixed, they&#8217;re<br />
> going to have to break down the source of the problem
</p></blockquote>
<p>And he responded:<br />
Why? A developer with appropriate tools should be able to narrow it down in 1/100 the time that it would take a user who&#8217;s having to create lots of different HTML pages and test them individually.</p>
<p>Sadly, Mozilla developers seem quite happy to spend hours adding unnecessary bells and whistles, but won&#8217;t spend 2 mins investigating serious bugs that make the browser a real pain to use at all and cripple performance. Hardly encouraging to those who like to use Mozilla and still can&#8217;t really honestly recommend it to anyone because of the performance issues.</p>
<p>What&#8217;s more, any guesses made by users will have to be confirmed by someone who knows the code anyhow.</p></div>
<p>I&#8217;m sorry, but this was just too much. This message epitomizes what is wrong with most of the people who use bugzilla. I responded privately to him, and I am going to use some of the same language that I used with him. I am also going to be a bit harsh, harsher than I was with him privately.</p>
<p>Now to address each comment individually:</p>
<div class="quote">Why? A developer with appropriate tools should be able to narrow it down in  1/100 the time that it would take a user who&#8217;s having to create lots of different HTML pages and test them individually.</div>
<p>This demonstrates how little this guy understands the development process, or anything about the mozilla codebase. Anyone using bugzilla should be open-minded enough to learn a little about how this works, what a bug is, and how people can help. In the bug I outlined the steps that <em>any developer</em> would take to break down this problem. So many of our bugs (especially the bloat and performance bugs) have literally thousands of possible causes. To narrow those causes down to 2 or 3 possibilities is a huge help. Too often people in bugzilla say &#8220;Well, that&#8217;s a developer&#8217;s job, I&#8217;m doing testing, I&#8217;m not supposed spend my time narrowing down the problem.&#8221; </p>
<p>Well guess what folks, that&#8217;s <em>bullshit</em>. If you want a bug fixed, you&#8217;re going to have to roll up your sleeves and actually help out. What, you say you don&#8217;t have time? Also bullshit. If you have time to sign up for a bugzilla account and post &#8220;I see this problem too! Someone needs to fix it.&#8221; then you have time to try to solve the problem as well. If you have time to whine on mozillazine forums that nobody is fixing your bugs, then you have time to narrow down the cause of those bugs.</p>
<p>And for the supposition that a developer would find the problem in 1/100th the time? Also bullshit. Lets say, for a bug like this, that there is a single cause for this wierd allocation. The steps involved would go something like this: </p>
<ol>
<li>Narrow down the cause of the problem.</li>
<li>Analyze the code</li>
<li>Fix and test the problem</li>
<li>Get code reviewed and check it in</li>
</ol>
<p>Ok, now the issue is with #1 above. Now lets just say that a developer could narrow down the cause (using the steps I outline in the bug!) in 1 hour. The next few steps could take another 3 hours of his time. That&#8217;s 4 total hours of developer time spent working on this bug. </p>
<p>Now, suppose that instead one of the people reading this bug (we&#8217;ll call him &#8220;the tester&#8221;) spent 2 hours narrowing down the problem. He&#8217;s spent 2 hours of his time, sure. But now the developer only needs to spend 3 hours analyzing the code, fixing the problem and checking it in. <em>That&#8217;s one more hour the developer can spend working on another bug.</em> And sure, the total time spent on this is greater, and the tester&#8217;s time is not invaluble, but now that tester has a greater knowledge of how to narrow down problems and create test cases. In the future, he might be able to tackle a similar problem in only one hour.</p>
<div class="quote">Sadly, Mozilla developers seem quite happy to spend hours adding unnecessary bells and whistles, but won&#8217;t spend 2 mins investigating serious bugs that make the browser a real pain to use&#8230;</div>
<p>Sadly, there is not a room somewhere full of an infinite number of developers on an infinite number of computers eventually typing out the bug fixes to every bug ever in bugzilla. And sadly, not everyone agrees on which bugs are the most important. And not quite as sadly, those mozilla developers are not at the beck and call of anyone who signs up for a bugzilla account. </p>
<p>There are many factors that determine if a bug is going to be fixed, not the least of which is the basic <em>bang for the bug</em> mentality. If you&#8217;re going to whine and bitch that your pet bug isn&#8217;t fixed, you&#8217;ve got to at least make the bug attractive for a developer to work on. And guess what, whining and bitching is not attractive. Ever.</p>
<p>Lets say I am a developer and their is this one bug that everyone is bitching about and posting &#8220;Me too! I hate this problem! Someone needs to fix it. This prevents me from deploying Mozilla to my mom.&#8221; Now lets even say for a moment that those people aren&#8217;t just whiny 14 year olds with nothing better to do than react to testosterone build-up, and that the bug is actually kind of a big issue. </p>
<p>Now lets suppose that it would take a developer who really knows his shit about 40 hours of his time to narrow down a problem, fix it, and check it in. Now lets say he&#8217;s got 20 other fairly important bugs on his plate, each of which take about 2 hours of time total. If you&#8217;re that developer, which are you going to work on? Probably the 2 hour bugs. (yeah yeah, there&#8217;s plenty of rewarding hours involved in really nailing a nasty 40 hour bug, but lets face it, most (all?) mozilla developers are men and 38 hours of foreplay is not our strength) </p>
<p>This is a little like Suze Orman&#8217;s advice to pay down your Morgage before you contribute to your 401k: Because in the near term, you want to have equity that you can use. If I have only 30 hours to fix bugs, and it was a 40 hour bug, guess what I still haven&#8217;t fixed any bugs. But I would have fixed 15 of those 2 hour bugs had I worked on them.</p>
<p>So if you want a bug fixed, make it more attractive! Take those 40 hours, figure out if you and a few other folks on #mozillazine can break down the issue and make it a 20 hour bug. Testing isn&#8217;t about finding problems. That&#8217;s only half the job. The other half is getting a best guess on what is <em>causing</em> those problems.</p>
<p>It sure is easy for people to make judgements about &#8220;Mozilla developers&#8221; and how they spend their time. But unless you&#8217;re actually helping, it doesn&#8217;t matter what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flett.org/2004/05/20/mozilla-contributors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla docs</title>
		<link>http://www.flett.org/2004/05/19/mozilla-docs/</link>
		<comments>http://www.flett.org/2004/05/19/mozilla-docs/#comments</comments>
		<pubDate>Wed, 19 May 2004 21:43:15 +0000</pubDate>
		<dc:creator>alecf</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.flett.org/?p=28</guid>
		<description><![CDATA[I&#8217;ve been doing some contract work at Macromedia and learned a few things about the documentation process. I&#8217;ve also discovered a fantastic tool that Macromedia created, LiveDocs.
I&#8217;ll write more about some of the techwriting process that I think Mozilla could adapt, but I wanted to post about LiveDocs because it is so simple, but so [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing some contract work at <a href="http://www.macromedia.com/">Macromedia</a> and learned a few things about the documentation process. I&#8217;ve also discovered a fantastic tool that Macromedia created, <a href="http://livedocs.macromedia.com/">LiveDocs</a>.</p>
<p>I&#8217;ll write more about some of the techwriting process that I think Mozilla could adapt, but I wanted to post about LiveDocs because it is so simple, but so brilliant.<br />
<span id="more-28"></span><br />
The two pieces of the application are:</p>
<ol>
<li>A documentation set generated off of some FrameMaker files, and a nice UI on top of it. The UI is similar to developer documentation that you can find on MSDN. I won&#8217;t describe it here beyond explaining that it has a nice, hierarchical table of contents that is easily navigated.</li>
<li>An &#8220;Add Comment&#8221; button on the bottom of each page. This allows readers to add feedback to any page of the documentation. The brilliance of this is that authors can maintain ownership of style and content of the document, while easily being able to recieve and process feedback on the document itself.</li>
</ol>
<p>This is definitely something that open source projects would benefit from. The fact that the files from from FrameMaker is irrelevant, but there does need to be some kind of structured means to develop hierarchicial, indexed documentation.</p>
<p>As an aside, a friend of mine recently was telling me about JavaDoc and how it has grown into a standard system for storing API documentation, allowing any IDE (I think Eclipse is the one he mentioned) to import documentation and integrate it into their editors or help systems. I think this is something that could be investigated as an import format for the system described above.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flett.org/2004/05/19/mozilla-docs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
