<?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>The Bright Lines &#187; Software</title>
	<atom:link href="http://www.thebrightlines.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thebrightlines.com</link>
	<description>HTML, CSS, Javascript and more</description>
	<lastBuildDate>Thu, 29 Jul 2010 22:44:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Netscape and accessibility</title>
		<link>http://www.thebrightlines.com/2010/06/22/netscape-and-accessibility/</link>
		<comments>http://www.thebrightlines.com/2010/06/22/netscape-and-accessibility/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 19:43:48 +0000</pubDate>
		<dc:creator>Wouter Bos</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[WCAG]]></category>
		<category><![CDATA[Web development in general]]></category>
		<category><![CDATA[Netscape]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://www.thebrightlines.com/?p=626</guid>
		<description><![CDATA[Lets see if an ancient browser can still handle the current web and if it's possible to help a little with the rendering of a page.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Splash screen Netscape 4.7" src="http://www.guidebookgallery.org/pics/splashes/netscape/4.7-communicator.png" alt="" width="396" height="267" />Although we all cheer loud for all signs that proves IE6&#8217;s decline, fact is that this browser will stay to be a pain in the ass for some time. And to be honest: this is not something new. There&#8217;s always some browser lagging behind and preventing web developers of using new cool techniques. Nothing new here. Supporting Netscape in time of its final decline was also hard.</p>
<p>Yeah, Netscape 4. Now <em>that</em> was a browser that just did not want to die. Netscape wasn&#8217;t updated after 1998 but in 2001 still about 5% of the internet users used Netscape. I got curious how the web would look like in a browser that is more than a decade old. So I downloaded Netscape 4.7 and loaded some major websites to see how they would look.</p>
<p>The level of accessibility of websites varies enormously. Let&#8217;s start with one of the worse:</p>
<h2>Amazon.com</h2>
<div class="wp-caption alignnone" style="width: 450px"><a href="/article-data/images/ns-amazon-ns.png"><img title="Welcome to our new and improved webshop ;)" src="/article-data/images/ns-amazon-ns-small.png" alt="Welcome to our new and improved webshop ;)" width="440" height="405" /></a><p class="wp-caption-text">Welcome to our new and improved web shop <img src='http://www.thebrightlines.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="How the Amazon website should look like" src="/article-data/images/ns-amazon-ff-small.png" alt="How the Amazon website should look like" width="440" height="336" /><p class="wp-caption-text">How the Amazon website should look like</p></div>
<p>As you can see: Netscape renders the page but context is virtually lost. And it clearly can&#8217;t handle the sprite image in the top left corner.</p>
<h2>Twitter</h2>
<div class="wp-caption alignnone" style="width: 450px"><a href="/article-data/images/ns-twitter-ns.jpg"><img title="Twitter in Netscape" src="/article-data/images/ns-twitter-ns-small.jpg" alt="Twitter in Netscape" width="440" height="406" /></a><p class="wp-caption-text">A Twitter page in Netscape</p></div>
<div class="wp-caption alignnone" style="width: 450px"><a href="http://twitter.com/lyricsbylenny"><img title="How this Twitter-account should look like" src="/article-data/images/ns-twitter-ff-small.jpg" alt="How this Twitter-account should look like" width="440" height="336" /></a><p class="wp-caption-text">How this Twitter-account should look like</p></div>
<p>The lack of solid white background color in combination with a  rich-contrast background image that does get loaded is a serious  problem. Not to mention all the hidden information that becomes visible. This website too is not very usable anymore.</p>
<h2>Yahoo</h2>
<div class="wp-caption alignnone" style="width: 450px"><a href="/article-data/images/ns-yahoo-ns.png"><img title="Yahoo throws in a big fat warning..." src="/article-data/images/yahoo-ns-small.png" alt="Yahoo throws in a big fat warning..." width="440" height="222" /></a><p class="wp-caption-text">Yahoo just blocks you</p></div>
<p>Yahoo has another approach: It just says that you&#8217;re browser is ancient and offers download links to newer browsers.</p>
<h2>Google</h2>
<div class="wp-caption alignnone" style="width: 450px"><a href="/article-data/images/ns-google-ns2.png"><img title="...while Google just does its thing" src="/article-data/images/ns-google-ns2-small.png" alt="...while Google just does its thing" width="440" height="302" /></a><p class="wp-caption-text">...while Google just does it&#39;s thing</p></div>
<p>Google doesn&#8217;t complain and shows a page that looks remarkably well in Netscape 4. The links in the search results will still send you to websites that look like jigsaw puzzles, though <img src='http://www.thebrightlines.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>So you can&#8217;t browse with an ancient browser. So what?</h2>
<p>Ok, this is indeed not a drama. But think of it this way: the web is a web of <em>content</em>. Content that becomes increasingly inaccessible if you don&#8217;t rebuild its content container, the website, every few years. Most organizations do that to be up to par with the latest browsers and designs but some just have to.</p>
<h2>Help browsers with a handicap</h2>
<p>Keeping content accessible is not just a hobby. It&#8217;s a major issue for websites of (semi)government organizations for example. They have to make sure content is open to anyone. Although they focus on handicapped internet users rather than handicapped browsers, one goal remains the same: a user should be able to use a website without the need of CSS, JavaScript or any other &#8216;fancy&#8217; technique. A <code>:hover</code> is no use to a blind user, neither will color and JavaScript animation. That&#8217;s why such a person uses a different browser without such capabilities. And that&#8217;s why we have guidelines like WCAG.</p>
<p>It&#8217;s not surprising that many websites that follow WCAG guidelines or something comparable  do reasonably well in Netscape 4. I&#8217;ll repeat it again: that&#8217;s a browser from 1998.</p>
<h2>www.section508.gov</h2>
<div class="wp-caption alignnone" style="width: 450px"><a href="/article-data/images/ns-section508-ns.png"><img title="Unique: this website looks almost identical in Firefox and Netscape" src="/article-data/images/ns-section508-ns-small.png" alt="Unique: this website looks almost identical in Firefox and Netscape" width="440" height="405" /></a><p class="wp-caption-text">Unique: this website looks almost identical in Firefox and Netscape</p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="www.section508.gov in Firefox" src="/article-data/images/ns-section508-ff.png" alt="www.section508.gov in Firefox" width="440" height="335" /><p class="wp-caption-text">www.section508.gov in Firefox</p></div>
<p>The web design of www.section508.gov just don&#8217;t look like it stems from the 1990s, it also uses ancient techniques from that era like tables for layout, image spacers and sparse use of CSS. All big no-no&#8217;s nowadays, but the website rendering is great.</p>
<h2>Dutch web guidelines</h2>
<div class="wp-caption alignnone" style="width: 450px"><a href="/article-data/images/ns-webrichtlijnen-ns.png"><img title="This website is in Netscape just in black and white, but very readable." src="/article-data/images/ns-webrichtlijnen-ns-small.png" alt="This website is in Netscape just in black and white, but very readable." width="440" height="405" /></a><p class="wp-caption-text">In black and white, but ordered and readable.</p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="The same website in Firefox" src="/article-data/images/ns-webrichtlijnen-ff.png" alt="The same website in Firefox" width="440" height="335" /><p class="wp-caption-text">The same website in Firefox</p></div>
<p>The difference in rendering between Netscape and Firefox is striking. Netscape is unable to read the CSS, but that&#8217;s a good thing here. Accessibility dictates that an HTML document should be structured. So when there&#8217;s no CSS to style the document, the document structure will remain.</p>
<p>But why does Netscape not load the CSS? It appears that the media attribute link markup is key here:</p>
<pre name="code" class="xhtml:nogutter">
Netscape won't load this CSS
&lt;link rel="stylesheet" type="text/css" href="/screen.css" media="screen, tty" /&gt;

Netscape *will* load this CSS
&lt;link rel="stylesheet" type="text/css" href="/screen.css" /&gt;
</pre>
<h2>Dutch semi-governmental website (www.groenendestad.nl)</h2>
<div class="wp-caption alignnone" style="width: 450px"><a href="/article-data/images/ns-groenendestad-ns.png"><img title="The website in Netscape" src="/article-data/images/ns-groenendestad-ns-small.png" alt="The website in Netscape" width="440" height="405" /></a><p class="wp-caption-text">The website in Netscape</p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="In Firefox" src="/article-data/images/ns-groenendestad-ff.png" alt="In Firefox" width="440" height="335" /><p class="wp-caption-text">In Firefox</p></div>
<p>The last site is a semi-governmental website developed at the company I work, Estate Internet. It&#8217;s a relative new site (2 years old) but still usable in both old an new browsers.</p>
<h2>Hurdles</h2>
<p>So it <em>is</em> possible to make websites that are still usable in ancient browsers. The main obstacle is that old browsers try to render stuff like CSS and JavaScript but choke on it halfway. In case of CSS it&#8217;s possible to block Netscape by adding the <code>media</code> attribute, but that&#8217;s still a hack. Old browsers should be protected from itself. One option is to just disable everything at the client side that could harm the rendering.</p>
<p>It would be nice if you could send unsupported browsers just the HTML, while others also receive CSS and JavaScript. But browser detection can be error prone. The only stable solution I know that is easy to implement is IE version detection through conditional comments. Consider this piece of code that only gives all non-IE browsers and all IE7+ browser the site&#8217;s stylesheet.</p>
<pre>&lt;![if !IE]&gt;
    &lt;link href="css/main.css" type="text/css" /&gt;
&lt;![endif]&gt;
&lt;![if gte IE 7]&gt;
    &lt;link href="css/main.css" type="text/css" /&gt;
&lt;![endif]&gt;</pre>
<p>Conditional Comments will help us giving a soon-to-be ancient browser like IE6 the treatment it deserves <img src='http://www.thebrightlines.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Now it&#8217;s time to close Netscape again and start waiting for the new Firefox that supports basic CSS animation.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.thebrightlines.com/2010/06/22/netscape-and-accessibility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Codeview, a new template for JSDoc Toolkit</title>
		<link>http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/</link>
		<comments>http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/#comments</comments>
		<pubDate>Thu, 06 May 2010 20:18:29 +0000</pubDate>
		<dc:creator>Wouter Bos</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[codeview]]></category>
		<category><![CDATA[jsdoc]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.thebrightlines.com/?p=605</guid>
		<description><![CDATA[I created a new HTML template for the Javascript documentation tool JSDoc, which is now free for download. It is tested in IE6 to IE9, FF3.6, Chrome 5 and Safari 4.]]></description>
			<content:encoded><![CDATA[<p><a class="button download" href="/article-data/downloads/codeview.zip"><span> </span>Download Codeview</a></p>
<p>The template is based on the basic template of <a href="http://code.google.com/p/jsdoc-toolkit/">JSDoc Toolkit</a>. The HTML structure is basically the same, but with a complete fresh CSS in a separate file. Nothing else is added to the template (yet), so it&#8217;s a fast loading website.</p>
<p>There are even no pictures added to the template, although it may not look that way because of the CSS3 styles that generate gradients, shadows and rounded corners. These effects are not visible in IE, except for rounded corners in IE9. So in case of IE, you&#8217;ll just see a simpler version of the website.</p>
<p>Here are some screenshots:</p>
<div class="wp-caption alignnone" style="width: 450px"><img title="Class view" src="/article-data/images/codeview-1.jpg" alt="Class view" width="440" height="413" /><p class="wp-caption-text">Class view</p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="Class overview" src="/article-data/images/codeview-2.jpg" alt="Class overview" width="440" height="413" /><p class="wp-caption-text">Class overview</p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="File overview" src="/article-data/images/codeview-3.jpg" alt="File overview" width="440" height="413" /><p class="wp-caption-text">File overview</p></div>


<p>Related posts:<ol><li><a href='http://www.thebrightlines.com/2010/03/28/document-your-javascript-interview-with-michael-mathews-of-jsdoc/' rel='bookmark' title='Permanent Link: Document your Javascript: interview with Michael Mathews of JSDoc Toolkit'>Document your Javascript: interview with Michael Mathews of JSDoc Toolkit</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Document your Javascript: interview with Michael Mathews of JSDoc Toolkit</title>
		<link>http://www.thebrightlines.com/2010/03/28/document-your-javascript-interview-with-michael-mathews-of-jsdoc/</link>
		<comments>http://www.thebrightlines.com/2010/03/28/document-your-javascript-interview-with-michael-mathews-of-jsdoc/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 20:19:45 +0000</pubDate>
		<dc:creator>Wouter Bos</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[jsdoc]]></category>
		<category><![CDATA[MichaelMathews]]></category>
		<category><![CDATA[micmath]]></category>

		<guid isPermaLink="false">http://www.thebrightlines.com/?p=525</guid>
		<description><![CDATA[Documenting source code is something that doesn't always get the priority it deserves. Especially Javascript which can be implemented rather ad-hoc. But there are enough tools around that can make documentation a lot easier.]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 200px"><img title="Michael Mathews" src="/article-data/images/micmath.jpg" alt="Michael Mathews" width="190" height="229" /><p class="wp-caption-text">Michael Mathews</p></div>
<p>I recently discovered <a href="http://code.google.com/p/jsdoc-toolkit/">JSDoc Toolkit</a>, a tool that generates documentation of your Javascript code in the form of a website. That was dearly needed because I wanted to give me and other team members a better overview of my growing JavaScript codebase.</p>
<h2>The history of JSDoc</h2>
<p>The JSDoc-toolkit and its predecessor JSDoc have been around for nearly 10 years now and in both cases the bulk of the code is programmed by Michael Mathews, often shortened to &#8220;micmath&#8221;. JSDoc started as a solution for the growing Javascript code at the company he worked for: &#8220;I couldn&#8217;t find any existing tool that did what I wanted, so I just naturally started building my own. I didn&#8217;t want to totally reinvent the wheel of course. I basically tried to port Sun&#8217;s JavaDoc idea over to JavaScript.&#8221; So he wrote a documentation tool in Perl. &#8220;Once it was done and we&#8217;d used it a bit, I decided to release it as open source on SourceForge. I figured if I found it useful then maybe someone else would as well.&#8221;</p>
<p>Although JSDoc is a very useful documentation tool and probably the first free tool as well, it wasn&#8217;t received that well back in 2001 according to Michael Mathews: &#8220;It seemed the general JavaScript community was not yet ready for JSDoc. Back then the majority of folks doing JavaScript were not in the habit of practicing what you would call &#8216;Software Engineering&#8217; best practice! It was, more often than not, a field dominated scripting cowboys. The idea of automatic documentation generation, I think, was seen as something unneeded by most. According to the stats from SourceForge, the JSDoc tool was only downloaded a few hundred times in the first several years &#8211; and frankly that already seemed amazing enough to me.&#8221;</p>
<h2>The renaissance of JavaScript</h2>
<p>But as the web got more mature, so did the developers. Javascript gained respect in the last few years and the emerge of large libraries such as YUI, jQuery and Prototype showed that Javascript can be used in a complex but constructive way. New ways of coding were used to structure Javascript. Michael noticed the trend: &#8220;Since about 2005 JSDoc really started to take off. Since then it&#8217;s been downloaded over 30,000 times. It still seems amazing to me.&#8221; The latest version of JSDoc Toolkit is downloaded almost 5000 times since it was published in September 2009.</p>
<h2>JSDoc in the wild</h2>
<p>The term JSDoc by the way is a bit confusing. It refers both to the syntax and the program. The syntax has been relatively successful as well: &#8220;I know that a few of Google&#8217;s projects use JsDoc comments to extend their functionality. Closure Compiler is a good example of that, though it can be a pain when other projects start redefining the JsDoc syntax for their own purposes in ways that are incompatible with the original project. Of course there is no official standard for JsDoc comments, so I can&#8217;t blame them, but that is something I&#8217;d really like to see: an official JsDoc standard, I mean.&#8221;</p>
<p>&#8220;The <em>idea</em> of JSDoc has been picked up by many large projects over the years. However, my application was originally written in Perl and wasn&#8217;t very flexible, consequently it got rewritten by others a few times for internal use only. I don&#8217;t want to name any names because I personally think that, while perfectly legal to do that, it violates the open source spirit I intended the work to be used in.&#8221;</p>
<div class="wp-caption alignnone" style="width: 450px"><img title="Document your code..." src="/article-data/images/micmath-4.png" alt="Document your code..." width="440" height="266" /><p class="wp-caption-text">Document your code...</p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="...run the tool" src="/article-data/images/micmath-2.png" alt="...run the tool" width="440" height="221" /><p class="wp-caption-text">...run the tool...</p></div>
<div class="wp-caption alignnone" style="width: 450px"><img title="... and publish the generated documentation website" src="/article-data/images/micmath-3.png" alt="... and publish the generated documentation website" width="440" height="266" /><p class="wp-caption-text">...and publish the generated documentation website.</p></div>
<h2>The Toolkit of JSDoc</h2>
<p>A year after JSDoc was released, Michael resigned as an active contributor to the project. Gabriel Reid took care of JSDoc after that. He maintained and extended it. But around 2006 Michael decided to do a major upgrade for JSDoc. &#8220;Big frameworks were the norm and along with that was both the need for API documentation as well as the complexity of writing documentation for all the new and interesting things people were doing with JavaScript. I was beginning to think that, in order to get JSDoc up to speed with this new world, it would need to be rewritten from scratch. So I started a discussion about that on the users&#8217; list. That eventually led to the current incarnation of the project: JsDoc Toolkit.&#8221;</p>
<p>The rewrite was written in Javascript itself. That was possible with the open source <a href="http://www.mozilla.org/rhino/">Rhino</a> platform that parses the Javascript. That wasn&#8217;t based on any technical issue: &#8220;I just liked the idea of a program parsing itself. As a bonus the users were more likely to be able to modify the source code if it was written in a language they work in.&#8221;</p>
<p>Rhino runs on Java and was  initially developed by Netscape. Rhino would have been a part of a  larger project to port Netscape Navigator to the Java platform, but that  never happened. Rhino is still being used and is maintained by the  Mozilla Foundation.</p>
<h2>How JSDoc works</h2>
<p>JSDoc reads the code and the comments. The comments need to be formatted according to the JSDoc convention. It&#8217;s a notation that&#8217;s used in other tools like Google&#8217;s Closure as well and is similar to the JavaDoc convention.</p>
<p>The comments give hints to JSDoc Toolkit how the JavaScript is structured. Unfortunately not all notations are recognized by the tool. In fact: most of the really exotic notations are not recognized. Michael: &#8220;People don&#8217;t realize how difficult it can be to do static code analysis on a language as dynamic as JavaScript. Well, at least I didn&#8217;t. It is provably impossible in most cases to know what the various states of a JavaScript program will be at runtime, just from looking at the source code. I tell people, if you can get a program to know what you want have programmed, just from the plain source code, consider yourself lucky!&#8221;</p>
<p>&#8220;But for the rest of us JsDoc Toolkit provides a way to document your code in such a way that the tool never has to even see your code. In fact, you can even use JsDoc Toolkit in files with just comments, no code whatsoever! So in that sense there isn&#8217;t any code you can&#8217;t document with JsDoc Toolkit, as long as you don&#8217;t rely on the static code analysis features.&#8221;</p>
<p>The word &#8220;Toolkit&#8221; in the name &#8220;JSDoc Toolkit&#8221;, by the way refers to the template engine JSPlate. Michael: &#8220;I eventually went with the &#8216;Toolkit&#8217; name mostly because I liked the sound of it, but also as a little nod to a favourite templating system of mine, Andy Wardley&#8217;s Perl Template Toolkit.&#8221;</p>
<h2>JsDoc Toolkit Version 3</h2>
<p>Right now Michael is in the middle of programming version 3 of JSDoc of which the first beta should be released somewhere this summer. &#8220;Basically there are a few feature requests from JsDoc Toolkit 2 that seem reasonable enough -things like documenting the same symbol more than once- which are utterly impossible due to the core architecture of the tool itself. All those feature requests are now on the table and I&#8217;ll try to include them in the new version.&#8221;</p>
<p>&#8220;One feature that will definitely be supported is the idea of overloaded functions. A typical example would be a function named &#8216;width()&#8217; that returns the width when it is called with no arguments, but will set the width when called with a numeric argument.&#8221;</p>
<p>&#8220;This is fundamentally not possible to document in JsDoc Toolkit Version 2. And that really is the point of rewriting the tool for Version 3: it will include, in it&#8217;s core, all the lessons learned from the past several years of supporting JsDoc Toolkit. I believe it will provide a much more flexible foundation to build on.&#8221;</p>
<p>In addition, Michael will make more use of Rhino than he already did. Until now Rhino was only used to parse the server-side JavaScript. The parser that walks over the source code looking for doc comments and things like function declarations was written by Michael himself. Rhino has a JavaScript parser built in, but it would took &#8220;some serious Java hacking&#8221; to get it right.</p>
<p>&#8220;Fast forward a few years and some important things have changed: namely, Norris Boyd has made accessing Rhino&#8217;s internal Abstract Syntax Tree much easier. In fact, it is now as easy to walk over your source code as it is to use, say, DOM nodes to walk over HTML. I&#8217;d be crazy not to take advantage of all that free power just sitting there waiting to be used!&#8221;</p>
<p>&#8220;So Version 3 will have none of my own parser left in it. This means I get to shed about 40% of the project&#8217;s code, which was dedicated to just that one task, and can now focus on the more important bits: parsing the doc comments.&#8221;</p>
<p>&#8220;It also means that, in theory, if Rhino can understand it, you&#8217;ll be able to get JsDoc Toolkit to understand it. Of course this is all taking time to get up to speed with, but I&#8217;ve decided to use build my tool on top of the new <a href="http://ringojs.org/wiki/">RingoJS</a> framework and that&#8217;s made my life much easier, and the process much faster.&#8221;</p>
<p>The first beta of version 3 is estimated to be released in early summer.</p>
<h2>Continuation</h2>
<p>One of the weak spots of the JSDoc project is that most of the time there&#8217;s only one active developer working on it. Although the tool is still alive and kicking, it naturally needs some nurturing to prevent it from getting stale. &#8220;To be honest it can feel like a real burden sometimes.&#8221; Michael admits. &#8220;It&#8217;s essentially just me these days, and I mostly can&#8217;t give the project all the time it deserves.&#8221; So developers are welcomed to join in the project: &#8220;I&#8217;m ready to sign them up! The fact is that I think of JSDoc as my baby. Not that I invented anything new or amazing, I most emphatically didn&#8217;t. But I&#8217;d lived with it long enough and I&#8217;d become associated with it, so I wanted to see it do well in life.&#8221;</p>
<p>And so the development continues even though there are now some other tools around like JSDoc. He even used some of them. &#8220;I used to write a lot of Perl and JavaScript at the same time and found NaturalDocs to be a great tool because it required a single format that could work in any language.&#8221;</p>
<h2>Server side JavaScript</h2>
<p>Although JavaScript as a program language is appreciated much more than a few years ago, it is still a quirky language. But that&#8217;s no problem for Michael: &#8220;Yeh, it&#8217;s a weird language. But I come from a background of Perl, so I like weird languages! But actually, JavaScript on the server side is a totally refreshing experience. Rhino, for example, allows you to use all the latest cutting-edge JavaScript syntax and features, and you never have to worry about running in an ancient or buggy web browser. I hope and expect that server side JavaScript will really start catching on in the next few years.&#8221;</p>
<h2>A bit about Michael Mathews</h2>
<p>It was hard to find a bit of information about New Yorker Michael Mathews. Although JSDoc has been around for almost 10 years and is downloaded a lot, he hasn&#8217;t been interviewed before. He has been asked many times for some assistance though. It can create funny situations: &#8220;I was doing some freelance work and the fellow sitting next to me asked if I&#8217;d ever heard anything about this &#8216;JSDoc&#8217; stuff he was trying to use. I said I had heard of it and helped him sort it out. I had to eventually admit that I was the creator of the tool. He seemed a little surprised by that.&#8221;</p>
<p>Mathews started as a zookeeper, which he had done for a few years. But it wasn&#8217;t that much fun for him. &#8220;I basically cleaned up after lots of unusual animals.&#8221; When he wasn&#8217;t working, he played with his computer. &#8220;By the late nineties I was had my own homepage, complete with the large, requisite, &#8216;Under Construction&#8217; message.&#8221; His work behind the computer payed off eventually: &#8220;in the fall of 1998 I was employed as a Web Developer for MTV Online, working in Times Square in New York City. It still seems amazing to me.</p>
<p>He now works since 2008 for the BBC in London where he works on the <a href="http://www.bbc.co.uk/glow/">Glow</a> JavaScript library. And yes, everything of it is documented with the help of JSDoc Toolkit.</p>
<p>Glow is a JavaScript library that just, like Prototype and jQuery, makes programming in JavaScript easier. The difference is that Glow supports whatever standard is currently defined by the BBC Standards and Guidelines for browsers, accessibility and usability. This could mean it has to support older browsers that other major JavaScript libraries have already dropped.</p>
<h2>Links</h2>
<ul>
<li><a href="http://code.google.com/u/micmath/">JSDoc Toolkit</a></li>
<li><a href="http://twitter.com/jsdoctoolkit">JSDoc Toolkit Twitter</a></li>
<li><a href="http://micmath.github.com/">JSDoc Toolkit 3 Blog</a></li>
<li><a href="http://groups.google.com/group/jsdoc-2?pli=1">JsDoc Toolkit Users Group</a></li>
</ul>


<p>Related posts:<ol><li><a href='http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/' rel='bookmark' title='Permanent Link: Codeview, a new template for JSDoc Toolkit'>Codeview, a new template for JSDoc Toolkit</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.thebrightlines.com/2010/03/28/document-your-javascript-interview-with-michael-mathews-of-jsdoc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Useful FileZilla tips</title>
		<link>http://www.thebrightlines.com/2010/02/12/useful-filezilla-tips/</link>
		<comments>http://www.thebrightlines.com/2010/02/12/useful-filezilla-tips/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 22:22:32 +0000</pubDate>
		<dc:creator>Wouter Bos</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.thebrightlines.com/?p=454</guid>
		<description><![CDATA[6 simple useful tips if you use the FileZilla FTP Client.]]></description>
			<content:encoded><![CDATA[<p>The goal of an FTP program is simple: move files back and fro between two places and that&#8217;s that. It&#8217;s always nice to have some advanced features, but just be honest: when do you use those features?</p>
<p>Well, there are a few exceptions to the rule of simplicity if you ask me. So here are  a few options of FileZilla that make life a bit easier:</p>
<ul>
<li><img class="alignnone" title="filter" src="/article-data/images/filezilla1.png" alt="" width="16" height="17" /> <strong>Filter</strong> Every website project has files that have absolutely nothing to do with the actual website itself like Thumbs.db and *.bak-files. One thing that really add up in file size and upload time are all the source control data like SVN that are spreaded throughout the folder tree. With this button you can actually set what not to download or upload. Left-clicking on the button let you configure the filter while right-clicking will toggle the filter on or off. The filter is also ideal for making sure you don&#8217;t accidentally upload important files like web.config or .htaccess.</li>
<li><img title="Compare" src="/article-data/images/filezilla3.png" alt="" width="16" height="17" /> <strong>Synchronization</strong> Do you always click on, say, the images folder on the left <em>and</em> right? Well, you&#8217;re free to do so, but I&#8217;m lazy. So I always toggle this button on if the folder structure is (almost) identical on both sides. It saves me 50% clicking.</li>
<li><img title="Synchronization" src="/article-data/images/filezilla2.png" alt="" width="14" height="17" /> <strong>Compare</strong> I don&#8217;t want to rely on automatic comparison too much, but if you have to update just 5 files and you cannot easily find it between the 500+ other files, this can be a time saver. If you toggle this on, the different files on the server and your local folder will be highlighted. You can compare either by time stamp or by file size. Left and right mouse click either configures or toggles.</li>
<li><strong><img class="alignnone" title="Sitemanager" src="/article-data/images/filezilla4.png" alt="" width="29" height="16" /> Sitemanager</strong> You do use it, right? It&#8217;s easy to just use the Quickconnect option and it has its purpose. But finding the right connection can be a bit hard between all the dead links. That&#8217;s because Filezilla remembers <em>all</em> connection attempts.<br />
Another advantage is the fact that there is a lot you can configure with each FTP connection. I always set the standard local folder and remote folder and sometimes I also check the folder synchronization option. That way I don&#8217;t have to look for the right path after I logged in.</li>
<li><strong>Drag &amp; drop</strong> Something that wasn&#8217;t in it when I first used Filezilla. It&#8217;s handy to sometimes just throw something on your desktop.</li>
<li><strong>Centralized configuration</strong> This is something we are about to try at my work. You can set the path to alternate configuration files of FileZilla. This enables you to set configuration and FTP connections once for everybody. <a href="http://jonathanstegall.com/2008/05/26/sharing-a-filezilla-profile/">Jonathan Stegall has written an article on how to do that</a>.</li>
</ul>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.thebrightlines.com/2010/02/12/useful-filezilla-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
