<?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>B.log()</title>
	<atom:link href="http://pro.bastien-colmard.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pro.bastien-colmard.com</link>
	<description>Bastien.log();</description>
	<lastBuildDate>Thu, 29 Apr 2010 15:50:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Try jQuery in less than a minute</title>
		<link>http://pro.bastien-colmard.com/try-jquery-in-less-than-a-minute-on-google-74/</link>
		<comments>http://pro.bastien-colmard.com/try-jquery-in-less-than-a-minute-on-google-74/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 15:34:46 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=74</guid>
		<description><![CDATA[I&#8217;ll be short. Maybe in less than a minute, you can read this article, install everything needed and try jQuery. Setup If not already done : Install Firefox Install Firebug Install FireQuery Restart Firefox Try it! So, at this point, we have everything we need. Within 30 seconds you will have an overview of what ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be short. Maybe in less than a minute, you can read this article, install everything needed and try jQuery.</p>
<h3>Setup</h3>
<p>If not already done :</p>
<ul>
<li>Install <a href="http://www.mozilla.com/firefox/">Firefox</a></li>
<li>Install <a href="http://getfirebug.com/">Firebug</a></li>
<li>Install <a href="http://firequery.binaryage.com/">FireQuery</a></li>
<li>Restart Firefox</li>
</ul>
<h3>Try it!</h3>
<p>So, at this point, we have everything we need. Within 30 seconds you will have an overview of what you are able to do with jQuery, and more important, how much it&#8217;s easy and <strong>accessible</strong> (yes, you can).</p>
<ul>
<li>Open Firefox, and go to <a href="http://www.google.com/">any webpage</a></li>
<li>Open Firebug (that little insect at the bottom, or just F12)</li>
<li>Click &#8220;jQuerify&#8221; (<em>Console </em>tab) &#8211; that will include jQuery in the page without having to declare anything and touch your sources</li>
<li>Now, use the console (the big blank square often on the right side of the <em>Console </em>panel, or a blank input at the bottom, depending on if you minimize/maximize arrow) to type your jQuery
<pre class="brush: jscript;">jQuery(&quot;#logo&quot;).slideUp(1000).fadeIn(2000);</pre>
</li>
<li>Click <em>Run</em>, you&#8217;re done</li>
</ul>
<p><a rel="attachment wp-att-77" href="http://pro.bastien-colmard.com/try-jquery-in-less-than-a-minute-on-google-74/try-jquery-tutorial-google/"><img class="aligncenter size-medium wp-image-77" title="Try jQuery tutorial-google" src="http://pro.bastien-colmard.com/wp-content/uploads/2010/04/Try-jQuery-tutorial-google-500x438.png" alt="" width="500" height="438" /></a></p>
<p>Congratulations, you just tried jQuery. After that, you can start having fun, and why not, include jQuery in your page to implement some effects and features. There are a lot of <a href="http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery">good resources</a> on the web and my goal is not to write yet another getting similar tutorial.</p>
<h3>Quick note :</h3>
<p>I used &#8220;jQuery&#8221; instead of the traditional and popular &#8220;$&#8221;, because some websites, like Google, already use $ for their own framewok (or Mootools for example, another javascript framework).</p>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/try-jquery-in-less-than-a-minute-on-google-74/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AutoIT &#8211; small script to list all files in a directory</title>
		<link>http://pro.bastien-colmard.com/autoit-small-script-to-list-all-files-in-a-directory-63/</link>
		<comments>http://pro.bastien-colmard.com/autoit-small-script-to-list-all-files-in-a-directory-63/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 22:22:33 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[AutoIt]]></category>
		<category><![CDATA[Automatization]]></category>
		<category><![CDATA[Scite]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=63</guid>
		<description><![CDATA[Image via Wikipedia I&#8217;d like to show you a simple piece of code for AutoIt. First, you HAVE to know AutoIT, because it&#8217;s very simple to develop with, and it&#8217;s very useful. The aim of AutoIt is to generate small executable files that help you automatizing tasks, like renaming, processing XSLT on an XML file, ]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img">
<div>
<dl class="wp-caption alignright">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/Image:Scite_%281%29.png"><img title="This is an image of SciTE. The source code in ..." src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Scite_%281%29.png/300px-Scite_%281%29.png" alt="This is an image of SciTE. The source code in ..." /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution">Image via <a href="http://commons.wikipedia.org/wiki/Image:Scite_%281%29.png">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>I&#8217;d like to show you a simple piece of code for <a href="http://www.autoitscript.com/autoit3/">AutoIt</a>. First, you HAVE to know AutoIT, because it&#8217;s very simple to develop with, and it&#8217;s very useful. The aim of AutoIt is to generate small executable files that help you automatizing tasks, like renaming, processing XSLT on an XML file, etc.</p>
<p>When you install AutoIt, you install the libraries needed to compile the scripts you will develop, and <a class="zem_slink" title="SciTE" rel="homepage" href="http://www.scintilla.org/SciTE.html">Scite</a>, the integrated text editor based on <a class="zem_slink" title="Scintilla (editing component)" rel="homepage" href="http://www.scintilla.org/">Scintilla</a> with autocompletion, syntax coloring, compiling options etc. After installing you may want to start a small tutorial to familiarize with the development environment. And you&#8217;re lucky, because the <a href="http://www.autoitscript.com/autoit3/docs/">AutoIt documentation</a> is very good.</p>
<p>From now, I will assume you have some basic programmation skills, and that you&#8217;re familiarized with the environment. So let&#8217;s code.</p>
<p>First, we will get the files listed under the folder we explore. (SORRY, NO SYNTAX BRUSH FOR AUTOIT OR AUTOHOTKEY FOR NOW, I&#8217;LL HAVE TO CREATE ONE)</p>
<pre class="brush: cpp;">
#include &lt;Array.au3&gt;
Func getFileList($folderName)
 $fileArray = _FileListToArray($folderName)
 _ArrayDisplay($fileArray)
EndFunc
</pre>
<p>Yes, it is THAT simple. If you call the function with for example</p>
<pre class="brush: cpp;">
getFileList(@ScriptDir)
</pre>
<p>you will get a pop-up that will list all files AND folders under that path (@ScriptDir is just the directory where is your script, you can try with @MyDocumentsDir etc.). So now, what we need is diferentiate folders from files, and then call recursively the function for each folder.<br />
To do that, there&#8217;s several solutions. You can for example ask for the size of the file, and if the script throws you an error, you know it&#8217;s a folder. But, the best solution might be to retrieve information from the path thanks to the <a href="http://www.autoitscript.com/autoit3/docs/functions/FileGetAttrib.htm">FileGetAttrib function</a> and check if it contains a &#8216;D&#8217;</p>
<pre class="brush: cpp;">
#include &lt;Array.au3&gt;
#include &lt;File.au3&gt;
Func getFileList($folderName)
 Local $fileArray, $i, $fullFilePath, $fileAttributes

 $fileArray = _FileListToArray($folderName)

 For $i=1 To $fileArray[0]
 $fullFilePath = $folderName &amp; &quot;\&quot; &amp; $fileArray[$i] ;retrieve the full path
 $fileAttributes = FileGetAttrib($fullFilePath)
 If StringInStr($fileAttributes,&quot;D&quot;) Then ;folder, have to explore
 ConsoleWrite(&quot;FOLDER - &quot; &amp; $fullFilePath &amp; @CRLF)
 getFileList($fullFilePath) ;recursive call
 Else ;file
 ConsoleWrite(&quot;FILE - &quot; &amp; $fullFilePath &amp; @CRLF)
 EndIf
 Next
EndFunc
</pre>
<p>Finally, we come with this piece of code. The files are listed, stored in an array, and returned. Maybe not very useful, but it was a good introduction to AutoIt, isn&#8217;t it? This code is not perfect, we should for example verify if the directory we explore is not empty, otherwise the &#8216;For&#8217; loop would stop with an error.</p>
<pre class="brush: cpp;">
#include &lt;Array.au3&gt;
#include &lt;File.au3&gt;

Func getFileList($folderName)
 Local $fileArray, $i, $fullFilePath, $fileAttributes
 Local $filePathArray[1]=[0]
$fileArray = _FileListToArray($folderName)

 For $i=1 To $fileArray[0]
  $fullFilePath = $folderName &amp; &quot;\&quot; &amp; $fileArray[$i] ;retrieve the full path
  $fileAttributes = FileGetAttrib($fullFilePath)
  If StringInStr($fileAttributes,&quot;D&quot;) Then ;folder, have to explore
   Dim $tempArray = getFileList($fullFilePath) ;recursive call
   _ArrayConcatenate($filePathArray,$tempArray,1) ;add returned results to already found files
  Else ;file
   _ArrayAdd($filePathArray, $fullFilePath) ;add result to already found files
  EndIf
 Next
 $filePathArray[0] = UBound($filePathArray) - 1 ;adjust the size of the array
 Return $filePathArray
EndFunc
</pre>
<p>Next time we will write that result and some statistics (lines of code, last modified&#8230;), with some file type control (image/text etc.), in a text file. It can give you an overview of some statistics of your project quickly.</pre>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/autoit-small-script-to-list-all-files-in-a-directory-63/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox in Rome</title>
		<link>http://pro.bastien-colmard.com/firefox-in-rome-58/</link>
		<comments>http://pro.bastien-colmard.com/firefox-in-rome-58/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 21:10:43 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Anniversary]]></category>
		<category><![CDATA[Colosseum]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[Rome]]></category>
		<category><![CDATA[Rox]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=58</guid>
		<description><![CDATA[Guys, why have you waited that I leave Rome to do stuff like this? Damn, it&#8217;s just f**king good! I like it For my readers, there&#8217;s no photoshop or other related software involved. So those guys took pictures of the Firefox logo in some places of Rome to celebrate the Firefox 5 year anniversary&#8230;like on ]]></description>
			<content:encoded><![CDATA[<p>Guys, why have you waited that I leave Rome to do stuff like this? Damn, it&#8217;s just f**king good! I like it <img src='http://pro.bastien-colmard.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
For my readers, there&#8217;s no photoshop or other related software involved. So those guys took pictures of the Firefox logo in some places of Rome to celebrate the Firefox 5 year anniversary&#8230;like on the Colosseum, or spanish steps (Trastevere, and Pyramide too).</p>
<p style="text-align: center;"><a title="colosseo de nois3lab, sur Flickr" href="http://www.flickr.com/photos/nois3lab/4088072729/"><img class="aligncenter" src="http://farm3.static.flickr.com/2567/4088072729_57e0e4c513.jpg" alt="colosseo" width="500" height="333" /></a></p>
<p style="text-align: center;"><a title="colosseo de nois3lab, sur Flickr" href="http://www.flickr.com/photos/nois3lab/4088072729/"></a><br />
<a title="piazza di spagna de nois3lab, sur Flickr" href="http://www.flickr.com/photos/nois3lab/4088787812/"><img class="aligncenter" src="http://farm3.static.flickr.com/2619/4088787812_8d237f1600.jpg" alt="piazza di spagna" width="500" height="333" /></a></p>
<h3>Good work! Let&#8217;s do it again&#8230;everywhere else?</h3>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/firefox-in-rome-58/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EU MozCamp 2009 meeting in Prague</title>
		<link>http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/</link>
		<comments>http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 14:37:18 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Meeting]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[MozCamp]]></category>
		<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Prague]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[Weave]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=50</guid>
		<description><![CDATA[Hi there! I&#8217;m currently at MozCamp in Prague, where we can since this morning, until tomorrow, attend some conferences about Mozil and his future, the Web (yeah, the OPEN Web), HTML5, Firebug, Prism, Weave, advocacy, support, and a lot of things about community. Everything is going well, and talks are very interesting! Future of Firefox, ]]></description>
			<content:encoded><![CDATA[<p>Hi there!</p>
<p>I&#8217;m currently at MozCamp in Prague, where we can since this morning, until tomorrow, attend some conferences about Mozil and his future, the Web (yeah, the OPEN Web), HTML5, Firebug, Prism, Weave, advocacy, support, and a lot of things about community.</p>
<p>Everything is going well, and talks are very interesting! Future of Firefox, and generally of Open Web seems promising!</p>
<p>As there are 180 attendees, you can find a lot of information on the internet about this event. But here are the official sources :</p>
<ul>
<li><a href="https://wiki.mozilla.org/EU_MozCamp_2009">EU MozCamp09 wiki</a></li>
<li><a href="http://www.flickr.com/photos/tags/eumozcamp09/">EU MozCamp09 flickr</a></li>
<li><a href="http://twitter.com/#search?q=%23eumozcamp09">EU MozCamp09 twitter</a></li>
</ul>
<p>And here are some of my photos.</p>

<a href='http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/p1020534/' title='P1020534'><img width="150" height="150" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/10/P1020534-150x150.jpg" class="attachment-thumbnail" alt="P1020534" title="P1020534" /></a>
<a href='http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/p1020512/' title='P1020512'><img width="150" height="150" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/10/P1020512-150x150.jpg" class="attachment-thumbnail" alt="P1020512" title="P1020512" /></a>
<a href='http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/p1020513/' title='P1020513'><img width="150" height="150" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/10/P1020513-150x150.jpg" class="attachment-thumbnail" alt="P1020513" title="P1020513" /></a>
<a href='http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/p1020524/' title='P1020524'><img width="150" height="150" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/10/P1020524-150x150.jpg" class="attachment-thumbnail" alt="P1020524" title="P1020524" /></a>
<a href='http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/p1020531/' title='P1020531'><img width="150" height="150" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/10/P1020531-150x150.jpg" class="attachment-thumbnail" alt="P1020531" title="P1020531" /></a>

<p>So, thanks Mozilla for the invitation! I&#8217;m very glad to be part of the event!</p>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/eu-mozcamp-2009-meeting-in-prague-50/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SrtOrganizr milestone &#8211; VLC integration in XUL app</title>
		<link>http://pro.bastien-colmard.com/srtorganizr-milestone-vlc-integration-in-xul-app-39/</link>
		<comments>http://pro.bastien-colmard.com/srtorganizr-milestone-vlc-integration-in-xul-app-39/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 20:20:14 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[milestone]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[srtOrganizr]]></category>
		<category><![CDATA[VLC]]></category>
		<category><![CDATA[XUL]]></category>
		<category><![CDATA[XULRunner]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=39</guid>
		<description><![CDATA[Here we are, September 15th. First Milestone of the MMTC course project. And I have to say that a part of the project which scared me is done! Yes, I succeed integrating VLC inside my XUL application. The documentation I refered to the online documentation of VLC for developers. There are many ways to embed ]]></description>
			<content:encoded><![CDATA[<p>Here we are, September 15th. First Milestone of the MMTC course project. And I have to say that a part of the project which scared me is done! Yes, I succeed integrating VLC inside my XUL application.</p>
<h3>The documentation</h3>
<p>I refered to the <a href="http://www.videolan.org/developers/vlc.html">online documentation of VLC for developers</a>. There are many ways to embed VLC in your application. Basicaly there are 3 main solutions :<br />
-libVLC<br />
-mediaControlAPI<br />
-Javascript API (Mozilla plugin)</p>
<p>After reading the documentation of the two first ones, I was so afraid that I can&#8217;t find an effective solution that I decided to give a try to the JavaScript API.</p>
<h3>The code</h3>
<p>So here is the code to embed : as the &#8220;embed&#8221; element is a part of the HTML namespace, we have to define it in our code.</p>
<pre class="brush: xml;">
&lt;window id=&quot;main&quot; xmlns:html=&quot;http://www.w3.org/1999/xhtml&quot;
xmlns=&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;
title=&quot;&amp;title;&quot; style=&quot;width: 700px; height: 500px;&quot;
persist=&quot;screenX screenY width height sizemode&quot;&gt;
</pre>
<p>Then we can include the following piece of code, which is the Mozilla VLC plugin :</p>
<pre class="brush: xml;">
&lt;html:embed type=&quot;application/x-vlc-plugin&quot; pluginspage=&quot;http://www.videolan.org&quot; version=&quot;VideoLAN.VLCPlugin.2&quot;
width=&quot;640&quot;
height=&quot;480&quot;
target=&quot;file://C:\video.avi&quot;
id=&quot;vlc&quot;&gt;
&lt;/html:embed&gt;
</pre>
<p>And&#8230;here we go! We can now play with the JavaScript API!</p>
<pre class="brush: jscript;">
var VLCUtils={
openFile : function(){
var vlc = top.document.getElementById(&quot;vlc&quot;);
var id = vlc.playlist.add(&quot;file:///C:/video.avi&quot;);
//alert(vlc.versionInfo());
vlc.playlist.playItem(id);
}
};
</pre>
<p>The most difficult part, the one which made me waste like 2 hours, was to find the good path&#8230;and the good format! (&#8220;file://&#8221; ok let&#8217;s try &#8220;file:\\\C:/&#8221;&#8230;). But I think there will be some other problems to fix, like the path (windows/linux/mac), or the fact that the user may not have the Mozilla VLC plugin.</p>
<h3>And then?</h3>
<p>Now, I have to include a file browser, so I can manage the files, and play it in the embedded VLC player to check if the subtitle file is the good one.</p>
<p>So the good news are that the project is on his way, but the bad news are&#8230;I&#8217;m currently looking for a job, as you may already know, and I don&#8217;t have as much time as I planed to.</p>
<p>See you soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/srtorganizr-milestone-vlc-integration-in-xul-app-39/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting a XUL application from scratch (2 minutes)</title>
		<link>http://pro.bastien-colmard.com/starting-a-xul-application-from-scratch-2-minutes-36/</link>
		<comments>http://pro.bastien-colmard.com/starting-a-xul-application-from-scratch-2-minutes-36/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 16:49:29 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[From scratch]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Wizzard]]></category>
		<category><![CDATA[XUL]]></category>
		<category><![CDATA[XULRunner]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=36</guid>
		<description><![CDATA[Hi there! As I&#8217;m currently ending my training period in Rome, Italy, and as I have a lot of important projects (like, I don&#8217;t know&#8230;find a job!), I don&#8217;t have so much time. But it seems I&#8217;m not the only one . So today, let&#8217;s start a XUL application from scratch, in less than 2 ]]></description>
			<content:encoded><![CDATA[<p>Hi there!</p>
<p>As I&#8217;m currently ending my training period in Rome, Italy, and as I have a lot of important projects (like, I don&#8217;t know&#8230;find a job!), I don&#8217;t have so much time. But it seems I&#8217;m not the only one <img src='http://pro.bastien-colmard.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>So today, let&#8217;s start a XUL application from scratch, in less than 2 minutes.<br />
I work on Windows XP, but the linux way isn&#8217;t more difficult as you are familiar to command lines and know how to use a text-editor&#8230;</p>
<h3>*Option &#8211; Install a much more powerfull shell on your windows!</h3>
<p>Windows suffers from a lack. The command prompt is so poor&#8230;but we will fix it.</p>
<p>So first, I installed Powershell which a very good shell for Windows. You can use the previous command lines from the old shell if you are familiar to it, or the commands from linux! For example, &#8220;dir&#8221; (windows) and &#8220;ls&#8221; (linux) will list files and folders in your directory. Furthermore, the features are much more powerfull, such as autocompletion etc.</p>
<p><img class="aligncenter size-medium wp-image-37" title="Microsoft Powershell screenshot" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/09/Microsoft-Powershell-screenshot-500x104.jpg" alt="Microsoft Powershell screenshot" width="500" height="104" /></p>
<h3>Set your environment</h3>
<p>You can create a folder which will include the xulRunner binaries and your projects sources. We will call it &#8220;XULDev&#8221;. Then we need to create the project structure</p>
<h3>Create the structure of your application</h3>
<p>XULRunner has to know some information about your application, the most important is the Gecko supported versions range (Gecko is the rendering engine used by XULRunner).<br />
So, let&#8217;s use the <a href="http://pro.bastien-colmard.com/a-mozilla-based-project-wizard-33/">Mozilla technology wizzard</a> I spoke about a few weeks ago! That will just make your job easier and faster. You can let the default properties, just to try, and change it later. Don&#8217;t worry.<br />
Hit &#8220;Create&#8221;, unzip in a folder (let&#8217;s call it &#8220;yourproject&#8221;, and&#8230;here we are! We have our complete project structure!</p>
<h3>Download XULRunner</h3>
<p>Yes, we need of course XULRunner. So we just have to download the last version here, and unzip it in a &#8220;xulrunner&#8221; folder.</p>
<ul>
<li><a href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/">Download XULRunner</a></li>
</ul>
<h3>Structure overview</h3>
<p>XULDev<br />
|-xulrunner<br />
|-xulrunner structure<br />
|-yourProject<br />
|-default project structure (content, chrome, skin&#8230;)</p>
<h3>Launch!</h3>
<p>Open PowerShell, go to the directory we called &#8220;XULDev&#8221; using the command &#8220;cd Path\To\XULDev&#8221;.<br />
Tip : in case you don&#8217;t know, just try to hit &#8220;Tab&#8221; key while you type the path to the folder.<br />
Then enter the &#8220;xulrunner&#8221; directory. Now, just enter this command line<br />
xulrunner.exe &#8220;..\yourproject\application.ini&#8221;</p>
<p>Using Powershell and the &#8220;Tab&#8221; autocompletion is very helpful, as in the original command prompt you have to look at slashes/antislashes, quotes etc. Note that Powershell replaces your relative path with an absolute one.</p>
<h3>Hack!</h3>
<p>Now that we have our example application, all you have to do is to hack! Code, try, read, learn, experiment, re-code, re-try, discuss, share, improve, distribute.</p>
<p><em><strong>2 minutes wasn&#8217;t enough? That&#8217;s because you have to practice <img src='http://pro.bastien-colmard.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Seriously, if you already downloaded xulrunner, and already know how to use the command prompt, then 2 minutes is overmuch.</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/starting-a-xul-application-from-scratch-2-minutes-36/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Mozilla based project wizard!</title>
		<link>http://pro.bastien-colmard.com/a-mozilla-based-project-wizard-33/</link>
		<comments>http://pro.bastien-colmard.com/a-mozilla-based-project-wizard-33/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 21:30:04 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Add-on]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[MozDev]]></category>
		<category><![CDATA[Songbird]]></category>
		<category><![CDATA[Wizard]]></category>
		<category><![CDATA[XUL]]></category>
		<category><![CDATA[XULRunner]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=33</guid>
		<description><![CDATA[I just read on @Mozdev twitter that they released&#8230;a project wizard! &#8216;sounds great! You can, for now, create Firefox and Songbird add-on, an XPCOM component, or even a XUL-based application! The wizzard creates what some of us consider painful, or boring, the architecture of the application/add-on. So, fill in the form, and once you click ]]></description>
			<content:encoded><![CDATA[<p>I just read on <a href="http://twitter.com/mozdev">@Mozdev twitter</a> that they released&#8230;a project wizard!</p>
<h3>&#8216;sounds great!</h3>
<p>You can, for now, create Firefox and Songbird add-on, an XPCOM component, or even a XUL-based application! The wizzard creates what some of us consider painful, or boring, the architecture of the application/add-on. So, fill in the form, and once you click the &#8220;create&#8221; button, you&#8217;ll get -that&#8217;s magic- a beautiful zip file containing all you need to start your project easily!<img class="aligncenter size-full wp-image-34" title="Mozilla-project-wizard-form" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/08/Mozilla-project-wizard-form.PNG" alt="Mozilla-project-wizard-form" width="439" height="264" /></p>
<h3>Go! Go! Go!</h3>
<p>So, MMTC students and others, why don&#8217;t you give it a try?! That&#8217;s&#8230;this way :</p>
<ul>
<li><a href="http://www.mozdev.org/projects/wizard/">Mozilla project wizard</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/a-mozilla-based-project-wizard-33/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GMail superstars turbo</title>
		<link>http://pro.bastien-colmard.com/gmail-superstars-turbo-18/</link>
		<comments>http://pro.bastien-colmard.com/gmail-superstars-turbo-18/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 20:40:57 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Add-on]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GMail]]></category>
		<category><![CDATA[Greasemonkey]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Userscripts]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=18</guid>
		<description><![CDATA[A few months ago I tried to write a Greasemonkey script, for firefox. The purpose was to change the GMail superstars feature icons, which are stars of different colors, and replace it by other icons like a dollar to represent a bill, a balloon to symbolize sports, a plane for a trip etc. So you ]]></description>
			<content:encoded><![CDATA[<p>A few months ago I tried to write a Greasemonkey script, for firefox. The purpose was to change the GMail superstars feature icons, which are stars of different colors, and replace it by other icons like a dollar to represent a bill, a balloon to symbolize sports, a plane for a trip etc.</p>
<div id="attachment_30" class="wp-caption aligncenter" style="width: 510px"><img class="size-medium wp-image-30" title="GMail-superstars-turbo-demo" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/08/GMail-superstars-turbo-demo-500x223.png" alt="GMail superstars turbo demo" width="500" height="223" /><p class="wp-caption-text">GMail superstars turbo demo</p></div>
<p>So you need Firefox of course, the Greasemonkey add-on, and the script linked at the end of this post. The GMail &#8220;superstars&#8221; feature is a labs option, which you can find and enable in the labs part of GMail settings.</p>
<p>After the install, all you have to do to see the result is to &#8220;star&#8221; an email. You should see the default icon set in action.<br />
The source code is pretty simple and well documented. The script mostly modify the image source, replacing the google picture location by the one encoded in the script with Base64. Everything else just saves your preferences, adds a menu, or imports a custom icon collection. So, yes, you can create your own icon set, upload it on an image hosting service (imageshask, flickr&#8230;), then replace the one provided with this script.</p>
<p>You will find more information in the page linked below. Oh, and by the way, I&#8217;m proud to say that Lifehacker mentioned it and wrote an article about.</p>
<ul>
<li><a href="http://userscripts.org/scripts/show/36624">Script homepage (userscripts)</a></li>
<li><a href="http://lifehacker.com/5082396/gmail-superstars-turbo-adds-custom-stars-to-your-email">Lifehacker article</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/gmail-superstars-turbo-18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First mockup of my XUL application : srtSort</title>
		<link>http://pro.bastien-colmard.com/first-mockup-of-my-xul-application-srtsort-27/</link>
		<comments>http://pro.bastien-colmard.com/first-mockup-of-my-xul-application-srtsort-27/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 15:10:17 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[Mockup]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[srt]]></category>
		<category><![CDATA[Subtitles]]></category>
		<category><![CDATA[TV series]]></category>
		<category><![CDATA[VLC]]></category>
		<category><![CDATA[XUL]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=27</guid>
		<description><![CDATA[I&#8217;ve just worked on the mockup of the application, now you can see what&#8217;s my idea. So we can see the VLC client embedded in the middle of the window, and a file/folder browser tree on the right. You can see the video you want to manage, and try some subtitles, then associate (that means, ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just worked on the mockup of the application, now you can see what&#8217;s my idea. So we can see the VLC client embedded in the middle of the window, and a file/folder browser tree on the right. You can see the video you want to manage, and try some subtitles, then associate (that means, give it the same name as the video) the subtitle to the video.</p>
<div id="attachment_26" class="wp-caption aligncenter" style="width: 510px"><img class="size-medium wp-image-26" title="mockup-srtSort" src="http://pro.bastien-colmard.com/wp-content/uploads/2009/08/mockup-1-20090816-500x373.png" alt="First mockup of the application" width="500" height="373" /><p class="wp-caption-text">First mockup of the application</p></div>
<p>What do you think about it? Even if that won&#8217;t fit to your needs, I accept any remark or idea <img src='http://pro.bastien-colmard.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  By the way I just found a name for the project &#8220;srtSort&#8221;, as &#8220;srt&#8221; is the common file extension of a subtitle file. Sounds good, no?</p>
<p>The next step is to build the XUL structure of the application, and embed this VLC client inside. See you&#8230;as soon as I can.</p>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/first-mockup-of-my-xul-application-srtsort-27/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Help Mozilla : be part of the Test Pilot team</title>
		<link>http://pro.bastien-colmard.com/help-mozilla-be-part-of-the-team-test-pilot-11/</link>
		<comments>http://pro.bastien-colmard.com/help-mozilla-be-part-of-the-team-test-pilot-11/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 08:05:53 +0000</pubDate>
		<dc:creator>Baztoune</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Add-on]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[MMTC]]></category>
		<category><![CDATA[Mozilla labs]]></category>
		<category><![CDATA[Test Pilot]]></category>

		<guid isPermaLink="false">http://pro.bastien-colmard.com/?p=11</guid>
		<description><![CDATA[Help Mozilla without any programming skill, making a better web experience&#8230;for you! Like most organization or company, Mozilla have to collect user data and use statistics, in order to know what best corresponds to the needs of their users. That&#8217;s just how we can make things better! But here is the deal : users care ]]></description>
			<content:encoded><![CDATA[<p>Help Mozilla without any programming skill, making a better web experience&#8230;for you! Like most organization or company, Mozilla have to collect user data and use statistics, in order to know what best corresponds to the needs of their users. That&#8217;s just how we can make things better!</p>
<p>But here is the deal : users care about their privacy, and they don&#8217;t want to spend one hour filling a boring form (who would?).</p>
<p>So, here is the Mozilla project, to encourage the users to give their feedback, preserving their privacy and security :</p>
<blockquote><p>Test Pilot is an idea for a new user testing program for Mozilla Labs that aims to build a 1% representative sample of the Firefox user base for soliciting wide participation and structured feedback for Labs experiments….</p></blockquote>
<p>You just have to install the add-on Test Pilot. Then you will be asked to participate at some &#8220;experiment&#8221;, and if you don&#8217;t want to, just leave. You could in the near future try some new features, give your feedback about the usability, or test a new Mozilla labs add-on.</p>
<ul>
<li><a href="https://testpilot.mozillalabs.com/">Test pilot project</a> (Mozilla labs)</li>
<li>Blog posts <a href="http://labs.mozilla.com/2009/08/become-a-test-pilot/">(2009/08)</a>, <a href="http://labs.mozilla.com/2009/01/test-pilot-vision/">(2009/01)</a> and <a href="http://labs.mozilla.com/2008/03/introducing-test-pilot/">(2008/03)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://pro.bastien-colmard.com/help-mozilla-be-part-of-the-team-test-pilot-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
