<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>paulrouget.com</title>
  <link href="http://paulrouget.com/"/>
  <link type="application/atom+xml" rel="self" href="http://paulrouget.com/index.xml"/>
  <updated>2013-04-07T22:44:09-07:00</updated>
  <id>http://paulrouget.com/</id>
  <author>
    <name>Paul Rouget</name>
    <email>foo@bar.com</email>
  </author>

  
  
  <entry>
    <id>http://paulrouget.come/ES6functions</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/es6functions"/>
    <title>Defining JavaScript functions, the ES6 way</title>
    <updated>2013-03-28T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Defining JavaScript functions, the ES6 way&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;(at the moment, only works in Firefox 22)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I've been told that Expression Closures are &lt;strong&gt;not&lt;/strong&gt; part of ES6.&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/paulrouget/5262478.js&quot;&gt;&lt;/script&gt;
&lt;noscript&gt;Checkout &lt;a href=&quot;https://gist.github.com/paulrouget/5262478&quot;&gt;this code on github&lt;/a&gt;.&lt;/noscript&gt;
&lt;style&gt;
  .gist .gist-file .gist-data {
    font-size: 12px;
  }
&lt;/style&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/break</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/taiwan2013"/>
    <title>disconnected</title>
    <updated>2013-03-21T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1 id='disconnected'&gt;Disconnected&lt;/h1&gt;

&lt;p&gt;I left for Taiwan. For 2 months. Offline. Alone. Coming back the 1st of June.&lt;/p&gt;

&lt;p&gt;&lt;img src='http://i.imgur.com/qKJkDdO.png' alt='Offline' /&gt;&lt;/p&gt;

&lt;h2 id='why'&gt;why&lt;/h2&gt;

&lt;p&gt;I&amp;#8217;m taking a break. I need some time to focus on my offline-self. I&amp;#8217;ve spent the past 10 years online. Building a reputation, working on Firefox, caring a lot about Mozilla and the web. That was a good ride.&lt;/p&gt;

&lt;p&gt;Now I&amp;#8217;m 30 and looking forward to 10 other awesome years. But before that, I need to learn how to care less. I need to learn how to calm down and slow down. Pressure and stress are my enemies, and I&amp;#8217;m not good at fighting them.&lt;/p&gt;

&lt;p&gt;To be honest, I&amp;#8217;m not very comfortable putting my online-self to sleep. What about emails? Twitter? My blog? Bugs? … but how comes this is bothering me that much? It should not - especially for only 2 months. That&amp;#8217;s why I&amp;#8217;m forcing myself to go offline.&lt;/p&gt;

&lt;h2 id='caring_less_and_ignoring_negativity'&gt;caring less and ignoring negativity&lt;/h2&gt;

&lt;p&gt;I just mentioned that. I want to learn how to care less about the virtual world. I&amp;#8217;m proud to be some kind of &amp;#8220;public figure&amp;#8221;. But when so many people look at you, your work and your organization, you can&amp;#8217;t avoid aggressivity, ignorance and negativity.&lt;/p&gt;

&lt;p&gt;Even if you get one hundred +1s, one single -1 will punch you in the face. Negativity is toxic. It is hurting the people who build things. This is the hardest part of my job. I want to escape it. I want to stop caring about these people.&lt;/p&gt;

&lt;h2 id='learning'&gt;learning&lt;/h2&gt;

&lt;p&gt;Mastering and evangelizing the web platform have been my only goals. Being excellent at this was such an important thing. Well, I made it :) … and I won&amp;#8217;t stop working on it, but I can&amp;#8217;t imagine only doing that for the coming years.&lt;/p&gt;

&lt;p&gt;During these 2 months, my plan is to learn new things. Things that will be irrelevant for my career, things that won&amp;#8217;t make me better at writing code. I want to learn a new language (I&amp;#8217;m learning Chinese), I want to improve my drawing skills and practice my Kung-Fu (Tai-chi and Wushu).&lt;/p&gt;

&lt;h2 id='why_taiwan'&gt;why Taiwan&lt;/h2&gt;

&lt;p&gt;Different reasons.&lt;/p&gt;

&lt;p&gt;The last time I&amp;#8217;ve been there was enlightening. People are so different, so kind. The culture is so colorful. I felt the need to learn more about the Chinese life.&lt;/p&gt;

&lt;p&gt;Also, if you know me, you know that I lived in a lot of different places. Now I feel it&amp;#8217;s the right time to settle down somewhere. Have an actual &amp;#8220;home&amp;#8221;. Stop moving. But before that, I want to see how it feels to live in Asia. 2 months is short, but it will give me a chance to know what I could miss if I never move there.&lt;/p&gt;

&lt;p&gt;I need sunlight. I want to be surprised. I want to get lost.&lt;/p&gt;

&lt;h2 id='what_after'&gt;what after&lt;/h2&gt;

&lt;p&gt;Not sure yet. I&amp;#8217;ll need to figure out where I want to live. It will take some time to catch-up with 2 months of bugs/news/mails/…. But anyway, even though 2 months is short, I hope to be a different person after this break. A little more &amp;#8220;zen&amp;#8221; :)&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m still online for one week. If you have anything to check with me before I leave, ping me!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See you in 2 months&lt;/strong&gt;&lt;/p&gt;</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/devtools-next</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/devtoolsnext"/>
    <title>Future of Firefox DevTools</title>
    <updated>2013-03-17T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Future of Firefox DevTools&lt;/h1&gt;

&lt;p&gt;10 days ago, I asked in various channels about what web
developers would like to see in the Firefox DevTools. I
was impressed by the amount of answers we got (especially
from HackerNews and Twitter). We computed and prioritized all these inputs.
Then the DevTools team met, and spent a week hacking on
these different requests.&lt;/p&gt;

&lt;h2&gt;Coding in the browser &amp;amp; controlling the browser from editors/IDEs&lt;/h2&gt;
&lt;p&gt;This is the number one request. Breaking the painful &lt;em&gt;Editor ⇄ Browser ⇄ DevTools&lt;/em&gt; workflow.
Staying in the browser, or not leaving the editor.&lt;/p&gt;
&lt;p&gt;We are exploring 2 approaches: letting other editors interact with Firefox,
and integrating editors in Firefox.&lt;/p&gt;

&lt;h3&gt;A python library to interact with Firefox&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Proof of concept. Firefox CSS live editing via SublimeText:&lt;/em&gt;&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/UrnB8lZnx4I&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://youtu.be/UrnB8lZnx4I&quot;&gt;Watch on youtube.&lt;/a&gt;
&lt;/iframe&gt;

&lt;p&gt;A lot of editors are scriptable in Python. And Firefox has
remote capabilities (a DevTools protocol accessible over the network).
So we are building a python library that can be used by editors
to interact with Firefox (desktop or mobile). We could for example
add JS breakpoints from Vim, or edit the code of the current
page from SublimeText.&lt;/p&gt;

&lt;p&gt;This will work for mobile as well.&lt;/p&gt;

&lt;h3&gt;Authoring in the browser&lt;/h3&gt;

&lt;p&gt;Another approach is to let the user write code directly from Firefox.
Basically having editors in the DevTools. We are still trying to figure
out what this could look like. Do we want a jsfiddle-like tool? Do we
want a file based editor? Not sure yet, still exploring.&lt;/p&gt;

&lt;p&gt;Authoring tool mockup:&lt;/p&gt;
&lt;a href=&quot;http://i.imgur.com/FldgNq0.png&quot;&gt;&lt;img src=&quot;http://i.imgur.com/FldgNq0.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;Don't expect these 2 things to happen soon. It will take us a couple
of months to get the Python library, and more to get the in-Firefox editors.&lt;/p&gt;

&lt;h2&gt;Network Panel &amp;amp; Timeline&lt;/h2&gt;
&lt;p&gt;These are tools you'll find in Chrome and Firebug, but not in the Firefox DevTools yet.
We have decided to start with a Network Panel. &lt;a href=&quot;http://twitter.com/victorporof&quot;&gt;Victor Porof&lt;/a&gt; is working on this, and he
managed to get a working prototype:&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/f-jVZDKV90I&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://youtu.be/f-jVZDKV90I&quot;&gt;Watch on youtube.&lt;/a&gt;
&lt;/iframe&gt;

&lt;h2&gt;A better story about Firebug&lt;/h2&gt;

&lt;p&gt;If you're a Firebug user, the Firefox DevTools might get on your way. We need to improve that.
We will do several things like a more obvious way to disable the &quot;Inspect&quot; menu from the context
menu.&lt;/p&gt;

&lt;p&gt;Another thing we're looking at is a way to use the Firebug panels in the DevTools box (and let
the user select which tools he wants).&lt;/p&gt;

&lt;p&gt; Jan 'Honza' Odvarko (main Firebug developer) is experimenting with this, and made some
good progress:&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/acTVIBr.png&quot;&gt;&lt;img src=&quot;http://i.imgur.com/acTVIBr.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;This is an experiment. It probably won't end up like this.&lt;/p&gt;

&lt;h2&gt;Docking the tools on the right side of the browser&lt;/h2&gt;
&lt;p&gt;Good news! We have built that and it's now in Firefox Nightly:&lt;/p&gt;
&lt;a href=&quot;http://i.imgur.com/duQOXq7.png&quot;&gt;&lt;img src=&quot;http://i.imgur.com/duQOXq7.png&quot;&gt;&lt;/a&gt;

&lt;h2&gt;CoffeeScript support&lt;/h2&gt;
&lt;p&gt;To address this, we are integrating support for SourceMap. &lt;a href=&quot;http://twitter.com/fitzgen&quot;&gt;Nick Fitzgerald&lt;/a&gt; demonstrated
a version of the Firefox debugger that supports SourceMap and CoffeeScript:&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/W6pPhKw.png&quot;&gt;&lt;img src=&quot;http://i.imgur.com/W6pPhKw.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;Nick's work will also help for debugging minimized CSS/JS files.&lt;/p&gt;

&lt;p&gt;Also, I'd like to mention that &lt;a href=&quot;http://twitter.com/paulmillr&quot;&gt;Paul Miller&lt;/a&gt; managed to get CoffeeScript
and LiveScript support into Firefox Terminal (&lt;a href=&quot;http://paulrouget.com/e/fxterminalv3/&quot;&gt;blog post&lt;/a&gt;):
&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/cyGwbgW.png&quot;&gt;&lt;img src=&quot;http://i.imgur.com/cyGwbgW.png&quot;&gt;&lt;/a&gt;

&lt;h2&gt;An aggregate repaint view&lt;/h2&gt;
&lt;p&gt;Being able to see what gets repainted on the page (a costly operation) is useful
for performance work. I landed that on Monday. It's not perfect yet, but a good
first step:&lt;/p&gt;
&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/XFB-Kk0qT6E&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://youtu.be/XFB-Kk0qT6E&quot;&gt;Watch the video on youtube.&lt;/a&gt;
&lt;/iframe&gt;

&lt;h2&gt;Controlling the animation clock&lt;/h2&gt;
&lt;p&gt;A lot of people have requested a tool to debug CSS transitions and animations.
I have been working on a &lt;a href=&quot;/e/animationclock&quot;&gt;proof of concept&lt;/a&gt;:&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/ODpFNUASfvs&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://youtu.be/ODpFNUASfvs&quot;&gt;Watch on youtube.&lt;/a&gt;
&lt;/iframe&gt;

&lt;h2&gt;More&lt;/h2&gt;

&lt;p&gt;Other things have been requested, like visualizing event bindings, offline storage tools and
pseudo elements inspection. We are also looking at this seriously. I hope to have some good news
about these soon :)&lt;/p&gt;

&lt;h2&gt;Thank you HN!&lt;/h2&gt;

&lt;p&gt;Seriously, you guys rock! Invaluable feedback.
Keep on sharing ideas/bugs/feedback (leave a comment
here or ping me on twitter: &lt;a href=&quot;http://twitter.com/paulrouget&quot;&gt;@paulrouget&lt;/a&gt;).&lt;/p&gt;

&lt;img src=&quot;http://imgur.com/f9kl6rD.jpg&quot;&gt;

&lt;p&gt;-- The Firefox DevTools team&lt;/p&gt;

&lt;style&gt;
  h2:before {
    content: &quot;*&quot;;
    display: block;
    text-align: center;
    margin: 20px 0 10px;
  }
&lt;/style&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/animationclock</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/animationclock"/>
    <title>hijacking the Firefox animation clock</title>
    <updated>2013-03-17T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Hijacking the Firefox animation clock&lt;/h1&gt;

&lt;p&gt;I'm experimenting with a tool that will let the user
control the animation clock used by gecko to render
CSS transitions and animations, and JS animations based on
&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/DOM/window.requestAnimationFrame&quot;&gt;requestAnimationFrame&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'm still not sure how the UI should look like yet, and how this should interact with the
recently added &lt;a href=&quot;http://paulrouget.com/e/paintflashing/&quot;&gt;Paint Flashing&lt;/a&gt; feature.
What do you think?&lt;/p&gt;

&lt;p&gt;Proof of concept:&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/ODpFNUASfvs&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://youtu.be/ODpFNUASfvs&quot;&gt;Watch on youtube.&lt;/a&gt;
&lt;/iframe&gt;

&lt;p&gt;Code can be found here: &lt;a href=&quot;https://github.com/paulrouget/firefox-animation-clock&quot;&gt;https://github.com/paulrouget/firefox-animation-clock&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/mobilescrollbars</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/mobilescrollbars"/>
    <title>Mobile Scrollbars in Firefox Nightly</title>
    <updated>2013-03-13T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Mobile Scrollbars in Firefox Nightly&lt;/h1&gt;

&lt;p&gt;In Firefox 22, I (re)introduced mobile scrollbars in the Responsive Design View:&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/SGCbIMH3gMM&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://youtu.be/SGCbIMH3gMM&quot;&gt;Watch the video on youtube.&lt;/a&gt;
&lt;/iframe&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/paintflashing</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/paintflashing"/>
    <title>Paint Flashing in Firefox Nightly</title>
    <updated>2013-03-12T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Paint Flashing in Firefox Nightly&lt;/h1&gt;

&lt;p&gt;Yesterday I landed a new feature in the Firefox DevTools: &lt;strong&gt;paint flashing&lt;/strong&gt;.
What it does is to highlight areas being painted by Gecko. Avoiding useless painting
operations can help you to build more performant web pages.&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/XFB-Kk0qT6E&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://youtu.be/XFB-Kk0qT6E&quot;&gt;Watch the video on youtube.&lt;/a&gt;
&lt;/iframe&gt;

&lt;p&gt;&lt;strong&gt;Note for Firefox developers:&lt;/strong&gt;
The pref &lt;code&gt;nglayout.debug.paint_flashing&lt;/code&gt; still works, but I encourage you
to try the &lt;code&gt;paintflashing&lt;/code&gt; command:
If you turn on the pref &lt;code&gt;devtools.chrome.enabled&lt;/code&gt;,
you can type the command (shift-F2 to bring the command line)
&lt;code&gt;paintflashing on --chrome&lt;/code&gt; to enable paint flashing
only for the chrome (the &lt;code&gt;--chrome&lt;/code&gt; option is not available
if you don't turn on this pref).
&lt;br&gt;
I introduced a new property to &lt;code&gt;nsIDOMWindowUtils&lt;/code&gt;: &lt;code&gt;paintFlashing&lt;/code&gt;.
Setting it to true will turn on paint flashing for the specified window, and to false will
clear the colors and stop paint flashing.
&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/jsterm-v3</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/fxterminalv3"/>
    <title>Firefox Terminal v3</title>
    <updated>2013-03-11T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Firefox Terminal v3&lt;/h1&gt;

&lt;p&gt;&quot;Firefox JSTerm&quot; has been renamed &quot;Firefox Terminal&quot;, because now, it also
supports &lt;strong&gt;CoffeeScript&lt;/strong&gt; and &lt;strong&gt;LiveScript&lt;/strong&gt;, thanks
to &lt;a href=&quot;https://github.com/paulmillr&quot;&gt;Paul Miller&lt;/a&gt; (now an official
Firefox Terminal contributor).&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/qUby4pc.png&quot;&gt;&lt;img src=&quot;http://i.imgur.com/qUby4pc.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;Please file bugs on &lt;a href=&quot;https://github.com/paulrouget/firefox-jsterm&quot;&gt;github&lt;/a&gt;,
and to give it a try, head to
&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/javascript-terminal/versions/&quot;&gt;addons.mozilla.org&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/fontinspector</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/fontinspector"/>
    <title>Font Inspector in @FirefoxNightly</title>
    <updated>2013-03-11T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Font Inspector in Firefox Nightly&lt;/h1&gt;

&lt;p&gt;I built a font inspector for Firefox. It's now in @FirefoxNightly.
It shows you the font used by the selected element in the page, or
all the fonts used in the page.&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/robOVAp.png&quot;&gt;&lt;img src=&quot;http://i.imgur.com/robOVAp.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;The information exposed are:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Font name and font family
  &lt;li&gt;its location (system vs. remote, and URL)
  &lt;li&gt;a preview (you can change it)
  &lt;li&gt;&lt;code&gt;@font-face&lt;/code&gt; code
&lt;/ul&gt;

&lt;p&gt;Limitation: I'm focusing on font faces for now.
There's probably more things we can show (colors, font size, line height,…),
but it's not easy to show the font-face info and CSS info simultaneously: we can
have the same font face and several font sizes in the same selected node (a node
can include several nodes, with different styles and different font-faces).
&lt;/p&gt;

&lt;p&gt;If you have any idea how to improve this tool, let me know on Twitter (@paulrouget).&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/australis-in-ux</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/australis-ux"/>
    <title>Curvy Tabs In Firefox UX</title>
    <updated>2013-03-04T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Curvy Tabs In Firefox UX&lt;/h1&gt;

&lt;p&gt;For OSX, Linux and Windows.&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/zm4xhmTJxdo&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;The new curvy tabs design is almost here.
It's available in the Firefox UX branch for OSX, Linux and Windows.
You can download it &lt;a href=&quot;http://people.mozilla.org/~jwein/ux-nightly/&quot;&gt;here&lt;/a&gt;
or wait until it makes it in Firefox Nightly.&lt;/p&gt;

&lt;p&gt;From Mike Conley blog post (&lt;a href=&quot;http://mikeconley.ca/blog/2013/03/01/australis-curvy-tabs-more-progress/&quot;&gt;read it&lt;/a&gt;,
it's about the performance of this new design):
&lt;em&gt;&quot;They’re not perfect, not by a long shot, but we’re getting into the polish stage now, which is good&quot;&lt;/em&gt;.
&lt;/p&gt;

&lt;img alt=&quot;Australis on linux&quot; src=&quot;http://i.imgur.com/KeyG3Tq.png&quot;&gt;

&lt;img alt=&quot;Australis on windows&quot; src=&quot;http://i.imgur.com/gLxMpVL.png&quot;&gt;

&lt;img alt=&quot;Australis on osx&quot; src=&quot;http://i.imgur.com/2bF6xv0.png&quot;&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/toolbox-testing</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/toolboxTesting"/>
    <title>DevTools Toolbox ready for testing</title>
    <updated>2012-12-17T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p class=&quot;tldr&quot;&gt;Test the devtools in Firefox Nightly. The UI has changed. Please report bugs.&lt;/p&gt;

&lt;h1&gt;DevTools Toolbox ready for testing&lt;/h1&gt;

&lt;p&gt;
For the past 2 months, we have been working on a
new user interface for the Firefox Developer tools.
&lt;a href=&quot;http://paulrouget.com/e/devtools-toolbox/&quot;&gt;
As explained previously
&lt;/a&gt;, we are building a unified interface for our tools (the &quot;toolbox&quot;).
&lt;/p&gt;

&lt;p&gt;
You can now test this new UI in Firefox Nightly. Because this feature required a lot
of code refactoring, we are expecting regressions
(see &lt;a href=&quot;https://bugzilla.mozilla.org/buglist.cgi?list_id=5227887;field0-0-0=blocked;columnlist=bug_status%2Cresolution%2Cshort_short_desc%2Cpriority%2Cstatus_whiteboard%2Cassigned_to;query_based_on=toolbox-fx20;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=READY;bug_status=ASSIGNED;bug_status=REOPENED;type0-0-0=substring;value0-0-0=816946;known_name=toolbox-fx20&quot;&gt;
  known bugs&lt;/a&gt;). Please help us to test the toolbox. If you run into issues,
please file a bug (&lt;a href=&quot;https://bugzilla.mozilla.org/enter_bug.cgi?alias=&amp;assigned_to=nobody%40mozilla.org&amp;blocked=&amp;bug_file_loc=http%3A%2F%2F&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_blocking_191=---&amp;cf_blocking_192=---&amp;cf_blocking_20=---&amp;cf_crash_signature=&amp;cf_status_191=---&amp;cf_status_192=---&amp;cf_status_20=---&amp;cf_status_firefox5=---&amp;cf_status_firefox6=---&amp;cf_status_firefox7=---&amp;cf_status_firefox8=---&amp;cf_tracking_firefox5=---&amp;cf_tracking_firefox6=---&amp;cf_tracking_firefox7=---&amp;cf_tracking_firefox8=---&amp;comment=&amp;component=Developer%20Tools&amp;contenttypeentry=&amp;contenttypemethod=autodetect&amp;contenttypeselection=text%2Fplain&amp;data=&amp;dependson=&amp;description=&amp;flag_type-203=X&amp;flag_type-325=X&amp;flag_type-37=X&amp;flag_type-4=X&amp;flag_type-41=X&amp;flag_type-5=X&amp;flag_type-607=X&amp;flag_type-720=X&amp;flag_type-721=X&amp;flag_type-734=X&amp;flag_type-737=X&amp;flag_type-738=X&amp;form_name=enter_bug&amp;keywords=&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=All&amp;priority=--&amp;product=Firefox&amp;qa_contact=developer.tools%40firefox.bugs&amp;rep_platform=x86&amp;requestee_type-203=&amp;requestee_type-325=&amp;requestee_type-4=&amp;requestee_type-41=&amp;requestee_type-5=&amp;requestee_type-607=&amp;short_desc=&amp;status_whiteboard=&amp;target_milestone=---&amp;version=Trunk&quot;&gt;Developer Tools components&lt;/a&gt;),
or leave a comment here.
&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;

&lt;a href=&quot;https://farm9.staticflickr.com/8080/8281121498_3781e03b31_b.jpg&quot;&gt;&lt;img alt=&quot;Toolbox screenshot&quot; src=&quot;https://farm9.staticflickr.com/8080/8281121498_3781e03b31_z.jpg&quot;&gt;&lt;/a&gt;


</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/featuredesign</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/featuredesign"/>
    <title>Shaping a Firefox feature - how does it work?</title>
    <updated>2012-11-05T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h2 id='firefox_developers_dont_listen_to_users'&gt;&amp;#8220;Firefox developers don&amp;#8217;t listen to users&amp;#8221;&lt;/h2&gt;
&lt;hr /&gt;
&lt;p&gt;Haaa, how many time did we hear that? Every time we ship a new feature I guess :)&lt;/p&gt;

&lt;p&gt;So yes, we do listen to users, but this kind of comment reveals how much some people misunderstand how we build things at Mozilla. In this article, I&amp;#8217;d like to clarify this process. If you work in the Software industry, this won&amp;#8217;t be news to you: it&amp;#8217;s not as simple as &lt;em&gt;&amp;#8220;Developers listen to users, build according to what they hear&amp;#8221;&lt;/em&gt;.&lt;/p&gt;

&lt;h1 id='shaping_a_firefox_feature__how_does_it_work'&gt;Shaping a Firefox feature - how does it work?&lt;/h1&gt;

&lt;p&gt;So first, a little warning: &lt;em&gt;I&amp;#8217;m deliberately simplifying the whole story. Because a lot of people are involved in more than one team, because Mozilla is a mix of employees and volunteers, because not all the teams work the same way, because we have lot of different products…&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The general idea is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Gather data (a.k.a &amp;#8220;listen to users&amp;#8221;);&lt;/li&gt;

&lt;li&gt;Define requirements;&lt;/li&gt;

&lt;li&gt;Design;&lt;/li&gt;

&lt;li&gt;Implement;&lt;/li&gt;

&lt;li&gt;Ensure it works by gathering more data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We have several teams, with distinctive roles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metrics team: &lt;strong&gt;measure and gather data&lt;/strong&gt;;&lt;/li&gt;

&lt;li&gt;Market Insights team: &lt;strong&gt;predict the future&lt;/strong&gt;;&lt;/li&gt;

&lt;li&gt;Product team: &lt;strong&gt;draw conclusions, define requirements&lt;/strong&gt;;&lt;/li&gt;

&lt;li&gt;UX team: &lt;strong&gt;user studies &amp;amp; design&lt;/strong&gt;;&lt;/li&gt;

&lt;li&gt;Engineering team: &lt;strong&gt;implement&lt;/strong&gt;;&lt;/li&gt;

&lt;li&gt;Support/QA: &lt;strong&gt;post-analyse&lt;/strong&gt;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All these teams work all together. Below, I&amp;#8217;m describing a linear process. It is not that linear. All these teams spend their time talking to each other.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;With &lt;a href='https://www.mozilla.org/about/manifesto.html'&gt;Mozilla&amp;#8217;s core principles&lt;/a&gt; in mind:&lt;/p&gt;

&lt;h2 id='metrics'&gt;Metrics&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Metrics team&lt;/strong&gt; gathers data about how people use our tools and about how our tools perform. For example, they will be able to tell &lt;strong&gt;with actual numbers&lt;/strong&gt;, if Firefox tends to be faster or slower over the different releases.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://blog.mozilla.org/metrics/2011/12/13/comparing-the-bias-in-telemetry-data-vs-the-typical-firefox-user/'&gt;&lt;img src='https://farm9.staticflickr.com/8199/8160710134_9c5e94641f_z.jpg' alt='Comparing the Bias in Telemetry Data vs The Typical Firefox User' /&gt;&lt;/a&gt; &lt;em&gt;Comparing the Bias in Telemetry Data vs The Typical Firefox User&lt;/em&gt;, from &lt;a href='https://blog.mozilla.org/metrics/'&gt;Mozilla Metrics Blog&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id='market_insights'&gt;Market Insights&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Market Insights&lt;/strong&gt; works with numbers too.&lt;/p&gt;

&lt;p&gt;Numbers about our products (how many users, which countries have a growing number of users,…). Numbers about our competitors (how Chrome&amp;#8217;s market share is changing). And number from other markets (how the smart-phone market is evolving).&lt;/p&gt;

&lt;p&gt;They cross all these data, and compile them into competitive analyses. These analyses are useful to define priorities.&lt;/p&gt;

&lt;p&gt;For example, Market Insights will provide recommendations about where and how we should ship Firefox OS first, or if we should care or not about ARMv6 devices (the answer is yes, we should).&lt;/p&gt;

&lt;h2 id='product'&gt;Product&lt;/h2&gt;

&lt;p&gt;Based on the work of Metrics and Market Insights teams (and as we&amp;#8217;ll see later, also based on the UX-team work), &lt;strong&gt;the Product Team&lt;/strong&gt; tries to understand what the user needs today, and what he&amp;#8217;ll need tomorrow. &lt;strong&gt;The Product team takes user needs and express them as &amp;#8220;requirements&amp;#8221;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s not only about data. Innovation can emerge from Mozilla Labs or from any team, from any community. Product is also in charge of spotting and including these innovative ideas into the product.&lt;/p&gt;

&lt;p&gt;Product also ensures that all the different projects are synced-up (you don&amp;#8217;t ship Firefox OS without the Market Place).&lt;/p&gt;

&lt;h2 id='ux'&gt;UX&lt;/h2&gt;

&lt;p&gt;The UX Team use their creative mind to design a product, but they also use &lt;strong&gt;numbers&lt;/strong&gt; a lot.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://blog.mozilla.org/ux/2012/06/firefox-heatmap-study-2012-results-are-in/'&gt;&lt;img src='https://blog.mozilla.org/ux/files/2012/06/chrome_menus.png' alt='Firefox Heatmap Study' /&gt;&lt;/a&gt; &lt;em&gt;Firefox Heatmap Study&lt;/em&gt;, from &lt;a href='https://blog.mozilla.org/ux/'&gt;Mozilla UX Blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The UX Team&lt;/strong&gt; works on both sides of the product team:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Studies&lt;/strong&gt;: Bringing UX-related recommendations to the product team. Interviews, surveys and usage-metrics (Test Pilots)… the goal is to understand how people interact with hardwares &amp;amp; softwares. Interviews are pretty amazing. We film participants using a tool, and extract information from that.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://blog.mozilla.org/ux/2012/04/tablet-remote-usability-testing-at-mozilla/'&gt;&lt;img src='https://blog.mozilla.org/ux/files/2012/04/photo-1-11-620x463.jpg' alt='Tablet remote usability testing at Mozilla' /&gt;&lt;/a&gt; &lt;em&gt;Tablet remote usability testing at Mozilla&lt;/em&gt;, from &lt;a href='https://blog.mozilla.org/ux/'&gt;Mozilla UX Blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interaction designs and visual designs&lt;/strong&gt;: once the requirements of a features have been outlined, the UX Team transforms these ideas into concrete scenarios. This is not just about pixels. It&amp;#8217;s a lot about making the user happy. Ensuring we won&amp;#8217;t disturb him. Aiming the most effective and enjoyable experience. This is a complex topic (especially when you have half of billion of users).&lt;/p&gt;

&lt;p&gt;&lt;a href='https://blog.mozilla.org/ux/2012/10/ux-principles-behind-firefox-for-windows-8-preview/'&gt;&lt;img src='https://blog.mozilla.org/ux/files/2012/10/mozilla-mozcamp-firefox-os.010-600x353.jpg' alt='UX Principles Behind Firefox for Windows 8' /&gt;&lt;/a&gt; &lt;em&gt;Content Layering&lt;/em&gt;, &lt;a href='https://blog.mozilla.org/ux/'&gt;Mozilla UX Blog&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id='engineering'&gt;Engineering&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Engineering Team&lt;/strong&gt; will execute. Iterating with the other teams, they write code that will answer the requirements defined by the product team. They make sure it matches UX&amp;#8217; recommendations, doesn&amp;#8217;t regress the performance (thanks to Metric&amp;#8217;s tools), and is shipped in time according to Product&amp;#8217;s roadmap.&lt;/p&gt;

&lt;h2 id='support_and_qa'&gt;Support and QA&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Support Team&lt;/strong&gt; and &lt;strong&gt;QA Team&lt;/strong&gt; gather post-implementation data. Trying to understand how these changes affect the end-users by spotting the flaws and by gathering feedback.&lt;/p&gt;

&lt;p&gt;&lt;a href='http://input.mozilla.org/en-US/'&gt;&lt;img src='https://farm8.staticflickr.com/7135/8157514312_4b7ca672a5_b.jpg' alt='Live Feedback From input.mozilla.org' /&gt;&lt;/a&gt; &lt;em&gt;Live Feedback From input.mozilla.org&lt;/em&gt;, &lt;a href='http://input.mozilla.org/en-US/'&gt;input.mozilla.org&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is another way to &amp;#8220;listen&amp;#8221; to the user. Measuring the amount of crashes, finding where regressions happened, extracting information from the support forums, analysing the feedback shared by the beta users,…&lt;/p&gt;

&lt;h1 id='an_example_save_for_later'&gt;An example: &amp;#8220;Save For Later&amp;#8221;&lt;/h1&gt;

&lt;p&gt;&lt;a href='https://blog.mozilla.org/ux/2012/10/save-for-later/'&gt;&lt;img src='https://blog.mozilla.org/ux/files/2012/10/15.jpg' alt='Save For Later' /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I strongly encourage you to read &lt;a href='https://blog.mozilla.org/ux/2012/10/save-for-later/'&gt;Brian Groudan&amp;#8217;s article&lt;/a&gt;. Brian shares his work on a &amp;#8220;Save For Later&amp;#8221; feature for Firefox. I&amp;#8217;d like to highlight some elements:&lt;/p&gt;

&lt;p&gt;&amp;#8220;Save For Later&amp;#8221; project timeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Planning&lt;/li&gt;

&lt;li&gt;Competitive analysis&lt;/li&gt;

&lt;li&gt;Develop &amp;amp; Pilot Study&lt;/li&gt;

&lt;li&gt;Screen Participants &amp;amp; Begin Study&lt;/li&gt;

&lt;li&gt;Interview Participants&lt;/li&gt;

&lt;li&gt;Synthesize research&lt;/li&gt;

&lt;li&gt;Design Ideation&lt;/li&gt;

&lt;li&gt;Present Finding and Recommandations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Studies:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#8220;Research phase: Out of 60 profiles, I carefully selected ten people to participate in this study. These participants represented a wide demographic of users.&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Surveys:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;#8220;Survey of over 5,000 Firefox users&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And then, if the product team thinks this is something we need to have in Firefox by the next quarter, they will work on defining the requirements and work with engineering team to integrate that into Firefox.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;So yeah, when we build a feature in Firefox, it&amp;#8217;s not as simple a &amp;#8220;developer decide to&amp;#8221;, it&amp;#8217;s a lot more serious than that. We put some brilliant mind into a room for weeks/months, they do studies, gather data, come to conclusions, prototype, confront results with other data and other teams, iterate.&lt;/p&gt;

&lt;p&gt;So next you see a comment like &amp;#8220;Firefox developers don&amp;#8217;t listen to users&amp;#8221;, please, point them to this article ;)&lt;/p&gt;
&lt;style&gt;
blockquote {
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px dotted grey;
}
article img {
  border: 1px dashed grey;
  padding: 5px;
}
article hr {
  border: 0;
  border-bottom: 1px dashed #AAA;
}
&lt;/style&gt;</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/osx2linux</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/osx2linux"/>
    <title>s/osx2/linux</title>
    <updated>2012-11-04T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1 id='sosxlinux'&gt;s/osx/linux&lt;/h1&gt;

&lt;p&gt;A little while ago, &lt;a href='http://paulrouget.com/e/linux2osx/'&gt;I moved from Linux to osx&lt;/a&gt; because I was extremely disappointed by the direction Linux Desktop Managers were taking. I predicted that it would last 3 months before I come back to Linux. It took 5 months.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;one&lt;/strong&gt; thing I love about osx is the compelling user experience. It&amp;#8217;s solid. Stable. Smooth. Homogeneous. What I didn&amp;#8217;t like: It&amp;#8217;s not custotmizable (all the osx look the same) and it&amp;#8217;s not really keyboard-friendly (even though &lt;a href='http://www.alfredapp.com/'&gt;AlfredApp&lt;/a&gt; helped a lot).&lt;/p&gt;

&lt;p&gt;Jumping from an OS to an other is no big deal. Beside Firefox, most of the tools I use are text tools (irssi, mutt, vim, …), and they all live in a Tmux (I use Tmux as a tiling window manager).&lt;/p&gt;

&lt;h2 id='so_why_do_i_come_back_to_linux'&gt;So why do I come back to Linux?&lt;/h2&gt;

&lt;p&gt;First, I work on Firefox. And I care a lot about Firefox on Linux (performance and frontend). So I want Linux to be my main OS to make sure I spot bugs early. Let&amp;#8217;s say I want to do some Linux-specific QA.&lt;/p&gt;

&lt;p&gt;Then, I miss Archlinux&amp;#8217; &lt;a href='https://aur.archlinux.org/'&gt;Aur&lt;/a&gt;. &lt;em&gt;Aur&lt;/em&gt; is Ali Baba&amp;#8217;s cave for hackers. &lt;em&gt;Aur&lt;/em&gt; is a user-contributed repository that contains a &lt;strong&gt;lot&lt;/strong&gt; of unexpected/awesome packages.&lt;/p&gt;

&lt;p&gt;But my feeling about Linux DM directions hasn&amp;#8217;t changed. Let me repeat what I said in my &lt;a href='http://paulrouget.com/e/linux2osx/'&gt;s/Linux/osx/&lt;/a&gt; post: &lt;strong&gt;I can&amp;#8217;t fucking believe that my Linux experience was better 3 years ago… Things go backward.&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id='update'&gt;Update&lt;/h2&gt;

&lt;p&gt;You can see my XFCE &lt;a href='http://paulrouget.com/e/myconf/'&gt;setup and screenshots here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I spend 90% of my time in Tmux. &lt;a href='http://i.imgur.com/7FSHx.png'&gt;screenshot&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/scrollbars</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/floatingScrollbars"/>
    <title>hack: floating scrollbars in Firefox</title>
    <updated>2012-11-02T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;A little hack…&lt;/p&gt;

&lt;h1&gt;How to have floating scrollbars in Firefox:&lt;/h1&gt;

&lt;p&gt;Screenshot here: &lt;a href=&quot;http://i.imgur.com/bn44L.png&quot;&gt;i.imgur.com/bn44L.png&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Instructions there: &lt;a href=&quot;https://gist.github.com/4003205&quot;&gt;gist.github.com/4003205&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let me know if it works for you.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/patchlifespan</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/patchlifespan"/>
    <title>Patch lifespan</title>
    <updated>2012-10-19T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;The average patch “lives” for 3.7 days, which is about the same as the common mosquito.&lt;/h1&gt;

&lt;p&gt;For Firefox:&lt;/p&gt;

&lt;blockquote style=&quot;border-left: 2px solid #ddd;margin-left:0;padding: 10px;&quot;&gt;&quot;On average, the lifespan of a pre-rapid release patch is
4.6 days, while the lifespans of post-rapid release patches
are 2.8 days and 3.4 days for core and casual developers
respectively. Therefore, the shortest-lived Firefox patch is a
zero-minute patch submitted before April 2011. The review
request on the patch was made and self-approved and the
actual time delta was 14 seconds. We also calculated the
average lifespan of all the patches in our dataset. The average
patch “lives” for 3.7 days, which is about the same as the
common mosquito.&quot;&lt;/blockquote&gt;

&lt;p&gt;PS: the lifespan of a patch ends on landing.&lt;/p&gt;

&lt;p&gt;From &quot;The Secret Life of Patches: A Firefox Case Study&quot; (&lt;a href=&quot;http://plg.uwaterloo.ca/~migod/papers/2012/wcre12-olgaAlexReid.pdf&quot;&gt;pdf&lt;/a&gt;),
reported by Philip Chee on &lt;a href=&quot;https://groups.google.com/forum/?fromgroups=#!topic/mozilla.dev.planning/6GGuKd6ElEo&quot;&gt;dev.planning&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/firefonightly-nextsteps</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/nightlyhighlights"/>
    <title>@FirefoxNightly highlights</title>
    <updated>2012-10-10T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;@FirefoxNightly highlights&lt;/h1&gt;

&lt;p&gt;You like &lt;a href=&quot;http://twitter.com/firefoxnightly&quot;&gt;@FirefoxNightly&lt;/a&gt; twitter updates?
Good news, I'll be covering the most important updates on a regular
basis on &lt;a href=&quot;https://hacks.mozilla.org/2012/10/introducing-firefox-development-highlights/&quot;&gt;hacks.mozilla.org&lt;/a&gt; (with the help of &lt;a href=&quot;https://twitter.com/robertnyman&quot;&gt;Robert Nyman&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;First issue &lt;a href=&quot;https://hacks.mozilla.org/2012/10/introducing-firefox-development-highlights/&quot;&gt;is already available&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ps: you can always follow @FirefoxNightly on &lt;a href=&quot;http://twitter.com/firefoxnightly&quot;&gt;twitter&lt;/a&gt; and &lt;a href=&quot;http://firefoxnightly.tumblr.com/&quot;&gt;tumblr&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  
  
  <entry>
    <id>http://paulrouget.come/toolbox</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/devtools-toolbox"/>
    <title>Firefox DevTools Toolbox</title>
    <updated>2012-10-05T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Firefox DevTools: the Toolbox project&lt;/h1&gt;

&lt;p&gt;
For the past year, we have landed a lot of developer tools in Firefox.
A JavaScript Debugger, a Style Inspector, a DOM View, a Responsive Design Mode,
a Command Line, … and more tools are coming.
Think about it, a year ago, we only had the Web Console.
&lt;/p&gt;

&lt;p&gt;Well, now we are facing an interesting (but expected) problem: &quot;the DevTools Donut&quot;.&lt;/p&gt;
&lt;a href=&quot;http://i.imgur.com/JToyL.png&quot;&gt;&lt;img alt=&quot;Can you see the web page?&quot; src=&quot;http://i.imgur.com/JToyL.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;The &quot;DevTools Toolbox&quot; will fix this problem. The goal is to gather all the tools into
one single box, and make this box &quot;dockable&quot; (dock it below the page, or on the side, or in
its own window). This work will also introduce a DevTools API into Firefox that addons will
be able to use. This API has been inspired by Firebug's API (we worked with the Firebug team
on that). One of the goal being to be able to host Firebug panels inside this toolbox.&lt;/p&gt;

&lt;em&gt;&lt;strong&gt;edit: &lt;/strong&gt; Mike wrote a &lt;a href=&quot;http://www.flailingmonkey.com/2012/10/05/firefox-devtools-api/&quot;&gt;blog post&lt;/a&gt; about this new API.&lt;/em&gt;

&lt;p&gt;Last week we manage to get the first prototype working. Here are some screenshot and a video
of me demoing the Toolbox to the team (warning: no visual design yet. It's ugly.):&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/Om5BVh.png&quot;&gt;&lt;img alt=&quot;Toolbox at the bottom&quot; src=&quot;http://i.imgur.com/Om5BVh.png&quot;&gt;&lt;/a&gt;
&lt;a href=&quot;http://i.imgur.com/CPgmjh.png&quot;&gt;&lt;img alt=&quot;Toolbox on the right&quot; src=&quot;http://i.imgur.com/CPgmjh.png&quot;&gt;&lt;/a&gt;
&lt;a href=&quot;http://i.imgur.com/v84IBh.png&quot;&gt;&lt;img alt=&quot;Toolbox in a window&quot; src=&quot;http://i.imgur.com/v84IBh.png&quot;&gt;&lt;/a&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/30WGHSk8-Uc&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/devtools-candies</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/devtoolsMeetupUpdate"/>
    <title>Firefox DevTools candies</title>
    <updated>2012-10-02T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Firefox DevTools candies&lt;/h1&gt;

&lt;p&gt;Last week, the Firefox DevTools team met in London. A lot of things happened. Rob talked about
&lt;a href=&quot;http://antennasoft.net/robcee/2012/10/01/firefox-devtools-hax/&quot;&gt;how to use a Scratchpad to build a Jetpack addon&lt;/a&gt;.
Panos wrote about &lt;a href=&quot;http://blog.astithas.com/2012/10/debugging-firefox.html&quot;&gt; Debugging Firefox&lt;/a&gt; with the builtin Firefox Debugger.
It's my turn to show some little things I have been hacking on. We will blog a bit later about the next-big-thing we are working
on for the Firefox DevTools.&lt;/p&gt;

&lt;h2&gt;Responsive Design View: mobile scrollbars + custom presets&lt;/h2&gt;
&lt;p&gt;I finally took the time to review &lt;a href=&quot;https://twitter.com/hsablonniere&quot;&gt;Hubert Sablonniere&lt;/a&gt;'s patch to add custom presets to the
Responsive Design View (in Firefox 18). I also managed to force floating scrollbars (like for mobile phones) when you switch to the
Responsive Design View (being reviewed).&lt;/p&gt;
&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/C7B6gv1h-2s&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;h2&gt;DOM Tree live preview&lt;/h2&gt;
&lt;p&gt;It's in Firefox 18. Not sure if it will stick.&lt;/p&gt;
&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/6bbo147yLKQ&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;h2&gt;OSX Native Fullscreen for Scratchpad windows&lt;/h2&gt;
&lt;img alt=&quot;Scratchpad screenshot&quot; src=&quot;http://i.imgur.com/Hc5ND.png&quot;&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/appnet</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/appnet"/>
    <title>I'm on App.net</title>
    <updated>2012-10-01T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;I'm on &lt;a href=&quot;http://alpha.app.net/paulrouget&quot;&gt;App.net&lt;/a&gt;&lt;/h1&gt;

&lt;p class=&quot;tldr&quot;&gt;I'm still on Twitter (&lt;a href=&quot;http://twitter.com/paulrouget&quot;&gt;@paulrouget&lt;/a&gt;)
and FirefoxNightly as well (&lt;a href=&quot;http://twitter.com/firefoxnightly&quot;&gt;@FirefoxNightly&lt;/a&gt;)
but I can't use Twitter the way I want anymore (&lt;a href=&quot;http://mashable.com/2012/09/20/ifttt-twitter/&quot;&gt;see this&lt;/a&gt;),
so I moved to &lt;a href=&quot;http://app.net&quot;&gt;App.net&lt;/a&gt; (&lt;a href=&quot;http://alpha.app.net/paulrouget&quot;&gt;@paulrouget&lt;/a&gt;).
&lt;strong&gt;All my post on App.net are synced back to Twitter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I use Twitter a lot. I use it to promote my own work. To promote Mozilla's work.
To gather feedback. To share the latest gecko updates. To get bug reports. I have
thousands of followers on @paulrouget and @firefoxnightly. Twitter is more than a social
network to me. It's a tool. I use it to share and track ('search') things.&lt;/p&gt;

&lt;p&gt;But sharing and tracking is getting more and more difficult. I can't use Twitter as
a tool anymore.&lt;/p&gt;

&lt;p&gt;For example, I tweet things from the @FirefoxNightly account. And via IFTTT, I could
sync the favorited tweets directly to the &lt;a href=&quot;http://firefoxnightly.tumblr.com/&quot;&gt;Tumblr blog&lt;/a&gt;. That is not possible anymore. I
also used to use the &quot;Search Realtime&quot; feature that is not present on mobile anymore or
in the Twitter app (how long before it gets removed from the website).
I also used to use the RSS feed. But again, it's gone.&lt;/p&gt;

&lt;p&gt;I don't trust Twitter anymore. I will post from App.net now. App.net has been designed
to be instrumentalized. So I can sync it with Twitter (where my followers are), Tumblr,
and it works well with IFTTT.&lt;/p&gt;

&lt;p&gt;PS: I use &lt;a href=&quot;http://twapp.phuu.net/&quot;&gt;twapp.phuu.net&lt;/a&gt; to sync twitter and app.net. Also, &lt;a href=&quot;http://ifttt.com&quot;&gt;IFTTT&lt;/a&gt; works too (twitter forbids only &quot;read&quot;, not &quot;write&quot;) but it's not realtime.&lt;/p&gt;

&lt;p&gt;
PPS: there were some polemics about this post. Yes. App.net is not free. You have to pay $50 to have access to it.
But, I am not asking anyone to move to App.net (twitter is fine).
I am paying for a sustainable/hackable/open tool (see it as a pipe), that let me handle my stream the way I want.
So yeah, it's not an OpenSource and free tool. Nor is Twitter. But the service has been designed to let me handle
the data the way I want. And for me, this is the most important thing.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/jstermv2</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/jsterm.v2"/>
    <title>Firefox JSTerm v2</title>
    <updated>2012-08-31T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Firefox JSTerm v2 is available.&lt;/h1&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/wiDBjsuX5NM&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;JSTerm:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/javascript-terminal/versions/&quot;&gt;Install Addon (Firefox 16+)&lt;/a&gt;;
  &lt;li&gt;&lt;a href=&quot;https://github.com/paulrouget/firefox-jsterm/&quot;&gt;on github&lt;/a&gt;;
  &lt;li&gt;&lt;a href=&quot;https://github.com/paulrouget/firefox-jsterm/issues&quot;&gt;report bugs here&lt;/a&gt;.
&lt;/ul&gt;

&lt;p&gt;Changelog:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;performance improvements;
  &lt;li&gt;can undock the terminal in its own window;
  &lt;li&gt;native osx fullscreen support (see screencast);
  &lt;li&gt;global history (shared across sessions);
  &lt;li&gt;better multi-line support;
  &lt;li&gt;added $ and $$ methods;
  &lt;li&gt;more keybindings (see :help) 
&lt;/ul&gt;

&lt;p&gt;JSTerm is an &lt;strong&gt;experimental restartless addon&lt;/strong&gt;. It adds a &quot;jsterm&quot; button in the developer Toolbar (Firefox 16+).
The terminal behaves like a shell terminal (history, completion on tab, key bindings, …).
It's a classic &lt;a href=&quot;http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop&quot;&gt;REPL&lt;/a&gt; environnement.
It uses the builtin Firefox Source Editor to highlight JavaScript. It uses a Sandbox to eval JavaScript. And it comes with an Object Inspector.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For Firefox and Addons developers: like Scratchpad, this tool comes with a &lt;strong&gt;&quot;chrome&quot; mode&lt;/strong&gt; (type &quot;:chrome&quot; to enable it).&lt;/em&gt;&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/diet</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/diet"/>
    <title>How I lost 14kg (30lbs)</title>
    <updated>2012-08-29T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;How I lost 14kg (30lbs) in 10 weeks.&lt;/h1&gt;

&lt;p style=&quot;color: #AAA&quot;&gt;&lt;em&gt;tl;dr: don't fear fat, fear carbs. Learn about the Paleo diet, and use reddit (r/loseit and r/paleo). Oh, and look, &lt;a href=&quot;http://www.flickr.com/photos/paulrouget/sets/72157630991756204/with/7748796054/&quot;&gt;I take pictures&lt;/a&gt; of what I cook.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can't imagine how proud I am. Looking back, I feel stupid that I didn't change my diet earlier. But now, man, I feel great, and I look fabulous!&lt;/p&gt;

&lt;a class=&quot;floatright&quot; href=&quot;http://www.flickr.com/photos/paulrouget/7760670650/&quot; title=&quot;Beef + Asparagus by paul.rouget, on Flickr&quot;&gt;&lt;img src=&quot;http://farm9.staticflickr.com/8435/7760670650_58f597ca8e_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Beek + Asparagus&quot;&gt;&lt;/a&gt;

&lt;p&gt;I used to be overweight. Not much, but enough to bother me.
From 86kg (190lbs), I went down to 72kg (158lbs) (male, 1.74m / 5.7ft). I now reached my goal,
and I want to share how I managed to do that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; I am not an expert. This is what works for me, for my body. Just take what you can from this post and build your own diet. And all of this might sound obvious for some of you, but it wasn't for me. And I won't provide deep science knowledge here. I'll focus on  things-I-did, and won't give much details.&lt;/p&gt;

&lt;h2&gt;Don't fear fat, fear carbs.&lt;/h2&gt;
&lt;a class=&quot;floatright&quot; href=&quot;http://www.flickr.com/photos/paulrouget/7748783328/&quot; title=&quot;it's beautiful :) by paul.rouget, on Flickr&quot;&gt;&lt;img src=&quot;http://farm9.staticflickr.com/8438/7748783328_f324108e20_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;it's beautiful :)&quot;&gt;&lt;/a&gt;
&lt;p&gt;Eat bacon. Avoid bread, potatoes and pasta. This, I think, was the most important part of this new diet.&lt;/p&gt;

&lt;h2&gt;Eat animals and plants. No processed food.&lt;/h2&gt;
&lt;p&gt;What I eat: meat, fish, eggs, plants, nuts, seeds, fruits and vegetables. What I don't eat: grains/cereals, potatoes, dairy, processed food. Better if the meat is grass-fed.&lt;/p&gt;

&lt;h2&gt;Drink water.&lt;/h2&gt;
&lt;p&gt;No soda. No beer. I drink around 1.5L of water per day. For some reason, hunger and thirst &quot;feel&quot; the same (really). Drinking helped me to stop the hunger. If 20 minutes after drinking I still feel hungry, I just eat.&lt;/p&gt;
&lt;p&gt;Want alcohol? Drink Vodka/Gin/Tequila.&lt;/p&gt;

&lt;a class=&quot;floatright&quot; href=&quot;http://www.flickr.com/photos/paulrouget/7748796054/&quot; title=&quot;2 hours of cooking just for that :) by paul.rouget, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7118/7748796054_7f524b4440_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;2 hours of cooking just for that :)&quot;&gt;&lt;/a&gt;
&lt;h2&gt;Not a diet for 2 months. A diet for life.&lt;/h2&gt;
&lt;p&gt;I found something that works for me. I got use to eat healthy food. Eating processed food now feels so wrong. About carbs: I have been avoiding carbs, but I will re-introduce some in the future (it was useful to avoid them at first to lose weight).&lt;/p&gt;

&lt;h2&gt;No calorie counting.&lt;/h2&gt;
&lt;p&gt;Nope.&lt;/p&gt;

&lt;h2&gt;Don't drink juice. Eat the fruit.&lt;/h2&gt;
&lt;p&gt;Not sure why. There are scientific reasons for that (google is your friend).
But in my case, it was important for one reason: eating an apple takes time.
It's not as easy as drinking half a litter of juice. I feel more satisfied after
eating a pear than drinking some orange juice.&lt;/p&gt;

&lt;a class=&quot;floatright&quot; href=&quot;http://www.flickr.com/photos/paulrouget/7748843778/&quot; title=&quot;beef + spinash by paul.rouget, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7120/7748843778_6b431d8993_n.jpg&quot; width=&quot;180&quot; height=&quot;320&quot; alt=&quot;beef + spinash&quot;&gt;&lt;/a&gt;
&lt;h2&gt;Learn how to cook.&lt;/h2&gt;
&lt;p&gt;It is very hard to eat some healthy food in restaurants. So I have to cook for myself. I do some cooking-sessions during the weekend and once a week. Cooking enough for 3 days.&lt;/p&gt;
&lt;p&gt;After a while, I learned to be efficient.&lt;/p&gt;
&lt;p&gt;I use my oven a lot (rosting is a good way to be efficient. &lt;a href=&quot;http://www.reddit.com/r/Paleo/comments/y28gp/after_8_weeks_lost_11kg_24lbs_and_i_start_to/&quot;&gt;See my reddit post&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;For some reasons, my main problem was that my food was not tasty enough. I found some magic ingredients that work for almost everything: garlic, basilic, mint, coriander, nuts, coconut oil, curry, mushrooms, …&lt;/p&gt;
&lt;p&gt;Shopping: I buy tons of vegetables when I go to the store. I don't think about the recipes.&lt;/p&gt;
&lt;p&gt;I improvise new recipes. Experiment. Select what I like.&lt;/p&gt;
&lt;p&gt;I posted &lt;a href=&quot;http://www.reddit.com/r/Paleo/comments/y28gp/after_8_weeks_lost_11kg_24lbs_and_i_start_to/&quot;&gt;a detailed post&lt;/a&gt; about what I cook on r/paleo.&lt;/p&gt;

&lt;h2&gt;The motivation comes after a couple of weeks.&lt;/h2&gt;
&lt;a class=&quot;floatright&quot; href=&quot;http://www.flickr.com/photos/paulrouget/7787954884/&quot; title=&quot;Egg in pepper by paul.rouget, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7277/7787954884_0ef5d48d4d_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Egg in pepper&quot;&gt;&lt;/a&gt;
&lt;p&gt;Starting the diet was hard. But as soon as I started losing weight, I felt so much motivated that I just didn't stop. The 3 first kilos was such a success :)&lt;/p&gt;

&lt;h2&gt;Tracking my weight everyday.&lt;/h2&gt;
&lt;p&gt;This is controversial. Some will tell you that you should go on the scale twice a month. Didn't work for me. I needed to get motivated. And you know what is the most motivating thing ever? Seeing numbers on the scale you haven't seen in 10 years!&lt;/p&gt;

&lt;h2&gt;Over eating? Use chopsticks.&lt;/h2&gt;
&lt;p&gt;At first, I was eating too much. Too fast. I now use chopsticks when I can. This helps me to take my time.&lt;/p&gt;

&lt;h1&gt;Benefits&lt;/h1&gt;
&lt;a class=&quot;floatright&quot; href=&quot;http://www.flickr.com/photos/paulrouget/7809970554/&quot; title=&quot;Sea food by paul.rouget, on Flickr&quot;&gt;&lt;img src=&quot;http://farm9.staticflickr.com/8433/7809970554_dd815b8ef0_m.jpg&quot; width=&quot;180&quot; height=&quot;240&quot; alt=&quot;Sea food&quot;&gt;&lt;/a&gt;
&lt;ul&gt;
  &lt;li&gt;I look great;
  &lt;li&gt;I feel great;
  &lt;li&gt;I feel confident;
  &lt;li&gt;I know how to cook.
&lt;/ul&gt;

&lt;p&gt;And I learned something important: I learned how to get motivated. I learned how to bet on long-term improvements. Start small. Find some gratifying things. Get the real boost.&lt;/p&gt;

&lt;h1&gt;Next step? Sport.&lt;/h1&gt;

&lt;p&gt;Now I feel like I control my body better, I want to do more. I started doing some martial arts (started with TaiChi - Chen style, considering doing some Viet Vo Dao this week).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Your turn?&lt;/em&gt;&lt;/p&gt;

&lt;style&gt;
  .floatright {
    float: right;
  }
  @media (max-width: 950px) {
    .floatright {
      float: none;
      display: block;
      width: 100%;
      text-align: center;
    }
  }
&lt;/style&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/cssInScratchpad</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/cssInScratchpad"/>
    <title>CSS in Scratchpad (chrome-enabled)</title>
    <updated>2012-08-25T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;How to write CSS code in a chrome-enabled Scratchpad&lt;/h1&gt;

&lt;p&gt;For the Firefox developers around here, here is how to write some plain CSS code in a &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Tools/Scratchpad#Using_Scratchpad_to_access_Firefox_internals&quot;&gt;chrome-enabled scratchpad&lt;/a&gt;:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/3465896.js?file=scratchpad.js&quot;&gt;&lt;/script&gt;
&lt;style&gt;.gist .gist-file .gist-data,.gist .gist-file .gist-meta {font-size: 12px}&lt;/style&gt;
&lt;noscript&gt;&lt;a href=&quot;https://gist.github.com/3465896&quot;&gt;Scratchpad code&lt;/a&gt;&lt;/noscript&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/pushover</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/pushover"/>
    <title>Pushover</title>
    <updated>2012-08-10T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Pushover&lt;/h1&gt;

&lt;img src=&quot;http://farm8.staticflickr.com/7131/7751665320_a8f99fb406.jpg&quot; alt=&quot;Pushover in action&quot;&gt;

&lt;p&gt;I just discovered &lt;a href=&quot;https://pushover.net/&quot;&gt;Pushover&lt;/a&gt;. This service does something very simple.
It sends notifications to your phone (Android &amp;amp; iPhone). You can trigger a notification from the HTTP API.&lt;/p&gt;
&lt;p&gt;It's pretty simple to send a notification from your shell:&lt;/p&gt;
&lt;pre style=&quot;padding: 10px;background-color:#EEE&quot;&gt;
curl -s \
  -F &quot;token=APP_TOKEN&quot; \
  -F &quot;user=USER_KEY&quot; \
  -F &quot;message=hello world&quot; \
  https://api.pushover.net/1/messages
&lt;/pre&gt;
&lt;p&gt;I discovered this app yesterday. So I didn't really have the time to play much with it. But I already use
it to get a notification from Google Calendar (I don't like SMS), from a shell script when I get a specific
email (with a specific topic) and I also send a notification when Firefox finished to compile on my computer (I usually
take a break when I have a long compilation going on, so I'm away from my computer).
&lt;p&gt;Also, &lt;a href=&quot;http://ifttt.com&quot;&gt;ifttt&lt;/a&gt; has a channel for Pushover. That opens a lot of possibilities :)&lt;/p&gt;
&lt;p&gt;Just wanted to share. Do you know any other app that are in the same &quot;spirit&quot; (I know &lt;a href=&quot;https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&amp;hl=en&quot;&gt;tasker&lt;/a&gt; too).&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/jsterm</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/jsterm"/>
    <title>Firefox Terminal</title>
    <updated>2012-07-19T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Firefox Terminal.&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/javascript-terminal/versions/&quot;&gt;Install Addon (Firefox 16+)&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/paulrouget/firefox-jsterm/&quot;&gt;on github&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/paulrouget/firefox-jsterm/issues&quot;&gt;report bugs here&lt;/a&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;em&gt;Firefox Terminal&lt;/em&gt; is an &lt;strong&gt;experimental restartless addon&lt;/strong&gt;.
It adds a &quot;jsterm&quot; button in the developer tools (Firefox 16+).
The terminal behaves like a shell terminal (history, completion on tab, key bindings, …).
It's a classic &lt;a href=&quot;http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop&quot;&gt;REPL&lt;/a&gt; environnement for
&lt;strong&gt;JavaScript&lt;/strong&gt;, &lt;strong&gt;CoffeeScript&lt;/strong&gt; and &lt;strong&gt;LiveScript&lt;/strong&gt;.
It uses the builtin Firefox Source Editor to highlight JavaScript.
It uses a Sandbox to eval JavaScript. And it comes with an Object Inspector.&lt;/p&gt;

&lt;p&gt;For Firefox and Addons developers: like Scratchpad, this tool comes
with a &lt;strong&gt;&quot;chrome&quot; mode&lt;/strong&gt; (type &quot;:chrome&quot; to enable it).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt; As you know, we already have similar tools in Firefox (Scratchpad and WebConsole). These tools cover some specific
use cases. I'd like to explore alternative ways to cover these use cases (code exploration, prototyping, etc). Scratchpad is still much better
for prototyping. For the REPL environnement, I think this terminal feels more &quot;comfortable&quot; than the Web Console (which comes with REPL + Logging, which limits
the possibilities of the console).&lt;/p&gt;

&lt;p&gt;Let me know what you think in the comments (and if you find bugs, please report them on github).&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/QN_fraS2uHo&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;em&gt;(switch the 480p for a better video quality)&lt;/em&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/unprefixing</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/unprefixing-in-firefox-16"/>
    <title>Mass-unprefixing in Firefox 16</title>
    <updated>2012-07-09T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;CSS3 Animations, Transitions, Transforms and Gradients to be unprefixed in Firefox 16&lt;/h1&gt;

&lt;p&gt;In Firefox 16, we are unprefixing:
  &lt;ul&gt;
    &lt;li&gt;&lt;span&gt;CSS3 Animations&lt;/span&gt; &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=762302&quot;&gt;bug 762302&lt;/a&gt;
    &lt;li&gt;&lt;span&gt;CSS3 Transitions&lt;/span&gt; &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=762303&quot;&gt;bug 762303&lt;/a&gt;
    &lt;li&gt;&lt;span&gt;CSS3 Transforms&lt;/span&gt; &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=745523&quot;&gt;bug 745523&lt;/a&gt;
    &lt;li&gt;&lt;span&gt;CSS3 Gradients&lt;/span&gt; &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=752187&quot;&gt;bug 752187&lt;/a&gt;
    &lt;li&gt;&lt;span&gt;IndexedDB&lt;/span&gt; &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=726378&quot;&gt;bug 726378&lt;/a&gt;
  &lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;calc()&lt;/em&gt; might be unprefixed as well (&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=771678&quot;&gt;bug 771678&lt;/a&gt;).&lt;/p&gt;

&lt;style&gt;
  h1 {
    text-transform: none;
  }
  ul &gt; li &gt; span {
    display: inline-block;
    min-width: 150px;
  }
&lt;/style&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/unprefix</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/transformsunprefixed"/>
    <title>CSS Transforms and IndexedDB unprefixed in Firefox</title>
    <updated>2012-07-04T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p style=&quot;border: 1px solid #F06; padding:5px&quot;&gt;&lt;strong&gt;Edit:&lt;/strong&gt; we are unprexifing more properties: &lt;a href=&quot;http://paulrouget.com/e/unprefixing-in-firefox-16/&quot;&gt;http://paulrouget.com/e/unprefixing-in-firefox-16/&lt;/a&gt;&lt;/p&gt;

&lt;style&gt;
  code {
    border-bottom: 1px dashed #888;
  }
&lt;/style&gt;

&lt;h1 style=&quot;text-transform:none&quot;&gt;CSS Transforms and IndexedDB unprefixed in Firefox.&lt;/h1&gt;

&lt;div style=&quot;margin-right:10px;color: grey;text-align:center&quot;&gt;
  &lt;img src=&quot;http://i.imgur.com/GXBRx.jpg&quot; alt=&quot;Good new everyone!&quot;&gt;
  &lt;blockquote&gt;&quot;Good news everyone!&quot;&lt;/blockquote&gt;
&lt;/div&gt;

&lt;p style=&quot;clear:both;&quot;&gt;We have unprefixed CSS transforms and and IndexedDB in Firefox Nightly (Firefox 16).
&lt;code&gt;-moz-transform&lt;/code&gt; becomes &lt;code&gt;transform&lt;/code&gt; and &lt;code&gt;window.mozIndexedDB&lt;/code&gt; becomes
&lt;code&gt;window.indexedDB&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Related bugs:
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=726378&quot;&gt;Bug 726378 - Unprefix IndexedDB&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=745523&quot;&gt;Bug 745523 - [css3-transforms] Unprefix transforms &lt;/a&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PS&lt;/strong&gt;: &lt;code&gt;-moz-tranform&lt;/code&gt; is still supported. But it will probably be removed. &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=770560&quot;&gt;See bug 770560&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/vimworkshop</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/vimworkshop"/>
    <title>[fr] Atelier Vim, Paris, le 20 Juillet </title>
    <updated>2012-07-03T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Atelier Vim, Paris, le 20 Juillet&lt;/h1&gt;

&lt;p&gt;Drew Neil (&lt;a href=&quot;http://twitter.com/nelstrom&quot;&gt;@nelstrom&lt;/a&gt;) connu pour &lt;a href=&quot;http://vimcasts.org/&quot;&gt;vimcast.org&lt;/a&gt;
animera un atelier Vim à Paris &lt;strong&gt;le 20 Juillet&lt;/strong&gt; (en anglais).&lt;/p&gt;

&lt;p&gt;Il y a 2 sessions:
  &lt;ul&gt;
    &lt;li&gt;matin: &lt;a href=&quot;http://paris-vimcasts-am-1.eventbrite.com/&quot;&gt;http://paris-vimcasts-am-1.eventbrite.com/&lt;/a&gt;
    &lt;li&gt;après-midi: &lt;a href=&quot;http://paris-vimcasts-pm-1.eventbrite.com/&quot;&gt;http://paris-vimcasts-pm-1.eventbrite.com/&lt;/a&gt;
  &lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;Drew: &lt;q style=&quot;display:block;font-style:italic;margin-left:8px&quot;&gt;My workshops last 3 hours, and they cover some of the most important
features of Vim. I'll show you how to make Vim's modes work for you, rather
than against you. We'll spend time studying Vim's most important feature:
the dot command, which lets you repeat your last change. Once you've
learned the secrets of the dot command, you'll be able to complete
repetitive tasks effortlessly.&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;Drew est aussi l'auteur de &lt;a href=&quot;http://vimcasts.org/blog/2012/04/announcing-practical-vim/&quot;&gt;&quot;Practical Vim&quot;&lt;/a&gt;. Vu la qualité du bouquin,
je ne saurais que trop recommender son atelier.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://vimcasts.org/blog/2012/02/what-to-expect-from-a-vimcasts-workshop/&quot;&gt;Plus d'infos ici&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/hglog</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/hglog"/>
    <title>hg log magic</title>
    <updated>2012-06-28T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;For mercurial users:&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/3010379.js?file=log.sh&quot;&gt;&lt;/script&gt;
&lt;style&gt;.gist .gist-file .gist-data,.gist .gist-file .gist-meta {font-size: 12px}&lt;/style&gt;
&lt;noscript&gt;&lt;a href=&quot;https://gist.github.com/3010379&quot;&gt;list of mercurial tips&lt;/a&gt;&lt;/noscript&gt;

&lt;p&gt;Know any other interesting hg tip? Leave a comment.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/servo</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/servo"/>
    <title>Servo, a browser engine research project</title>
    <updated>2012-06-27T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;&lt;em&gt;&lt;strong&gt;To be very clear:&lt;/strong&gt; Servo is a research project. It is not aimed to replace Gecko.
It gives us the opportunity to experiment with new approaches, new patterns and new technologies, like Rust,
another research project we are working on.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;Servo, a browser engine research project&lt;/h1&gt;

&lt;p&gt;You know &lt;a href=&quot;http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29&quot;&gt;Gecko&lt;/a&gt;.
It's the layout engine used by Firefox.
While we are still working hard on adding new feature
and improving gecko, we are also experimenting with
a new engine: &lt;strong&gt;servo&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;How is servo different from Gecko?&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;It's not written in C++&lt;/strong&gt;. We are working on our own
language, named &lt;a href=&quot;http://www.rust-lang.org/&quot;&gt;Rust&lt;/a&gt;.
C++ is not very suitable for things that need to be parallelized
and safe at the same time. However, Rust has been designed for that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modularity&lt;/strong&gt;. From the &lt;a href=&quot;https://groups.google.com/forum/?fromgroups#!topic/mozilla.dev.servo/nJJxEy1ehpE&quot;&gt;
  Servo Mailing list&lt;/a&gt;:
&lt;q&gt;We make heavy use of Git submodules for modularity--like WebKit, we want
  the pieces of Servo to be independently hackable.&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A scalable rendering engine&lt;/strong&gt;. Isolating the different operations of your
browser is important for responsiveness. Rust comes with &quot;lightweight threads&quot; we call &quot;Tasks&quot;.
There are tasks for all the major operations: rendering, i/o, layers compositing, and for each
page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Networking operations&lt;/strong&gt; are handled by &lt;a href=&quot;https://github.com/joyent/libuv/&quot;&gt;libuv&lt;/a&gt;. A library that has been
developed first for NodeJS.&lt;/p&gt;

&lt;h2&gt;How is servo similar to Gecko?&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;2D Graphics&lt;/strong&gt;: for Gecko, we are working on a new graphic engine named Azure.
Some parts are already present in Firefox. Azure abstracts the different ways to render
2D elements on the screen (Cairo, OpenGL, Skia, …). Easy then for us to switch between
the right backend depending on the device (Android, osx, Windows, Linux, with or without
a supported GPU, …)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JavaScript engine&lt;/strong&gt;. We keep the same engine, SpiderMonkey.&lt;/p&gt;

&lt;h2&gt;More info&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://groups.google.com/d/topic/mozilla.dev.servo/nJJxEy1ehpE/discussion&quot;&gt;State of Servo&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.2ality.com/2012/02/servo.html&quot;&gt;Servo: a vision for the future of Firefox&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.rust-lang.org/&quot;&gt;The Rust language (Open Source)&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/mozilla/servo&quot;&gt;Servo on github (Open Source)&lt;/a&gt;
&lt;/ul&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/hackaton</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/cmd-hackaton"/>
    <title>devtools hackaton tomorrow (or today), come!</title>
    <updated>2012-06-26T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1 id='devtools_hackaton_tomorrow_or_today_come_and_help_us_to_develop_a_bunch_of_commands'&gt;devtools hackaton tomorrow (or today), come! and help us to develop a bunch of &lt;em&gt;commands&lt;/em&gt;&lt;/h1&gt;

&lt;p&gt;&lt;img src='http://i.imgur.com/PSpST.png' alt='gcli screenshot' /&gt;&lt;/p&gt;

&lt;p&gt;We are building a command line for &lt;strong&gt;Firefox&lt;/strong&gt;. And we need as many commands as possible. So tomorrow (tuesday, June 26th), the Firefox developer tools team is holding a hackathon. Join us on IRC: irc.mozilla.org/#devtools and help us to build commands!&lt;/p&gt;

&lt;p&gt;&lt;a href='http://incompleteness.me/blog/2012/06/18/firefox-command-line/'&gt;More details&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href='https://developer.mozilla.org/en/Tools/GCLI'&gt;Documentation&lt;/a&gt;&lt;/p&gt;</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/concatenate</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/concatenate"/>
    <title>Concatenate images with HTML5 Canvas</title>
    <updated>2012-06-22T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Concatenate images with HTML5 Canvas.&lt;/h1&gt;

&lt;p&gt;I often need to concatenate images into a single image.
It's a simple operation, but I never found the right tool to
do that. So I made one. It's very simple, read the code, you
might learn some stuff:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;In action: &lt;a href=&quot;http://paulrouget.com/concatenator&quot;&gt;paulrouget.com/concatenator&lt;/a&gt;
  &lt;li&gt;Code (just one file): &lt;a href=&quot;https://github.com/paulrouget/concatenator&quot;&gt;github.com/paulrouget/concatenator&lt;/a&gt;
&lt;/ul&gt;
&lt;p&gt;Feel free to improve, fix bugs, add options…&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/es6</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/es6"/>
    <title>JavaScript awesomeness: Set, Map, Default arguments,…</title>
    <updated>2012-06-19T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;JavaScript awesomeness: Set, Map, Default arguments,…&lt;/h1&gt;

&lt;p&gt;Firefox implements a lot of elements of ECMAScript 6 already.
Let me show you a couple of these in action.&lt;/p&gt;

&lt;p&gt;doc:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/JavaScript/Reference/Statements/let&quot;&gt;let&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://blog.mozilla.org/jorendorff/2012/05/29/rest-arguments-and-default-arguments-in-javascript/&quot;&gt;rest arguments and default arguments&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/JavaScript/Reference/Statements/for...of&quot;&gt;for...of&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Map&quot;&gt;Map&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Set&quot;&gt;Set&lt;/a&gt;
&lt;/ul&gt;

&lt;p&gt;code:&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/2955574.js?file=es6.js&quot;&gt;&lt;/script&gt;
&lt;style&gt;
  .gist .gist-file .gist-data {
    font-size: 12px;
  }
&lt;/style&gt;
&lt;noscript&gt;
  Checkout &lt;a href=&quot;https://gist.github.com/2955574&quot;&gt;this code on github&lt;/a&gt;.
&lt;/noscript&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/juniorAndCo</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/juniorAndCo"/>
    <title>Junior, Search Tabs &amp; Presence</title>
    <updated>2012-06-18T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Product Design at Mozilla: new projects from the design team (video)&lt;/h1&gt;

&lt;video controls style=&quot;max-width:100%;height:auto;&quot; src=&quot;http://cf.cdn.vid.ly/5w5w0h/webm.webm&quot;&gt;
Video URL: &lt;a href=&quot;http://cf.cdn.vid.ly/5w5w0h/webm.webm&quot;&gt;http://cf.cdn.vid.ly/5w5w0h/webm.webm&lt;/a&gt;
&lt;/video&gt;
&lt;p&gt;&lt;em&gt;From: &lt;a href=&quot;https://air.mozilla.org/product-design-at-mozilla/&quot;&gt;air.mozilla.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;


&lt;div&gt;
&lt;p&gt;&lt;strong&gt;Junior&lt;/strong&gt; — an iPad browser that makes browsing more fun, more ergonomic and re-thinks browser user experience from the ground up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Search&lt;/strong&gt; Tabs — taking search to the next level, restoring real search engine choice and expanding the search market.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Presence&lt;/strong&gt; — talk to people, share links, and stay in touch with your friends directly from the browser.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Video&lt;/strong&gt; timestamps (estimated):&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2:04&lt;/strong&gt; - Google Chrome, iOS, Android as Mozilla disruptors&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2:44&lt;/strong&gt; - Why would you choose Firefox over Chrome?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4:14&lt;/strong&gt; - Firefox UI recap: Australis, 80/20/2 rule&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;8:28&lt;/strong&gt; - Product design learning experiences&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;13:27&lt;/strong&gt; - Search Tabs (24:36 will it ship?)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25:24&lt;/strong&gt; - Presence&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;30:32&lt;/strong&gt; - Junior + Junior Q&amp;amp;A&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;51:51&lt;/strong&gt; - Fire alarm goes off&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;toc shamelessly stolen &lt;a href=&quot;http://www.reddit.com/r/firefox/comments/v6h84/product_design_at_mozilla_new_projects_from_the/&quot;&gt;from Reddit&lt;/a&gt; (thanks &lt;a href=&quot;http://www.reddit.com/user/isaacaggrey&quot;&gt;isaacaggrey&lt;/a&gt;).&lt;/em&gt;&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/voyager</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/voyager1"/>
    <title>Voyager 1</title>
    <updated>2012-06-16T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Voyager 1&lt;/h1&gt;

&lt;p&gt;Voyager 1 (the farthest man-made object) left earth 35 years ago. Its current speed is &lt;a href=&quot;http://voyager.jpl.nasa.gov/mission/weekly-reports/2012-02-10.html&quot;&gt;22km/s&lt;/a&gt; (80.000km/h). It takes 16 hours to send a message from Voyager to earth, and in the meantime, it will travel 1 million kilometers.&lt;/p&gt;

&lt;p&gt;Voyager 1 is apparently entering a zone where the Sun doesn't have much influence anymore. &lt;a href=&quot;http://www.jpl.nasa.gov/news/news.cfm?release=2012-177&quot;&gt;&quot;humanity's first emissary to interstellar space is on the edge of our solar system&quot;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Soon, the interstellar space!&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/movingtomac</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/linux2osx"/>
    <title>s/linux/osx/</title>
    <updated>2012-06-14T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;s/linux/osx/&lt;/h1&gt;

&lt;p&gt;
I am a Linux user. I use &lt;a href=&quot;http://paulrouget.com/e/myconf/&quot;&gt;Archlinux&lt;/a&gt;.
I am now moving to &lt;strong&gt;osx&lt;/strong&gt; for a little while. I know I can't stand another OS for too long
(usually, it lasts ~3 months), so I might move back to Linux after the summer.
&lt;/p&gt;
&lt;p&gt;
Why? Well, first because I like to taste new things. But also because I don't feel &quot;confortable&quot; on
Linux anymore. I very much dislike Gnome 3 for a looooot of reasons (ugly, difficult
to customize, not stable, …). Unity is not better (can't customize, compiz is not stable). The Gnome 2
forks (like cinnamon) are barely working (or you need to use a specific distro like Linux Mint).
I have used Xfce and Lxde for a while… but they are not as good as Gnome 2.&lt;/p&gt;
&lt;p&gt;I can't fucking believe that my Linux experience was better 3 years ago… Things go backward.
Well, the Desktop experience. The hardware support is just perfect on my macbook air.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/b2g</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/b2ghack"/>
    <title>B2G demo &amp; quick hack</title>
    <updated>2012-06-11T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;Very very quick demo of B2G followed by a quick hack of the homescreen:&lt;/p&gt;
&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/K_g29YeLzyg&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://www.youtube.com/watch?v=K_g29YeLzyg&quot;&gt;Youtube video.&lt;/a&gt;
&lt;/iframe&gt;
&lt;p&gt;You can find the code of the UI of B2g (gaia) &lt;a href=&quot;https://github.com/mozilla-b2g/gaia&quot;&gt;on github&lt;/a&gt;. Reminder:&lt;/p&gt;

&lt;h2&gt;What is &lt;a href=&quot;https://wiki.mozilla.org/B2G&quot;&gt;Boot To Gecko&lt;/a&gt;:&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;An Operating System;
  &lt;li&gt;Linux Kernel + drivers from Android (so B2G can run on most of the phones that are capable of running Android). Works on ARMv7, will probably work on ARMv6;
  &lt;li&gt;Gecko on top of it. The same version you'll find on a regular Firefox;
  &lt;li&gt;Apps are written in HTML, JavaScript and CSS;
  &lt;li&gt;&lt;strong&gt;You don't need to be online to use the Apps&lt;/strong&gt;;
  &lt;li&gt;A set of new JavaScript APIs:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;http://wiki.mozilla.org/WebAPI&quot;&gt;WebAPIs&lt;/a&gt;, for bluetooth, sms, telephony, …
      &lt;li&gt;&lt;a href=&quot;http://www.webrtc.org/&quot;&gt;WebRTC&lt;/a&gt;, for streaming, webcam, P2P, …
    &lt;/ul&gt;
  &lt;li&gt;We are working on &lt;a href=&quot;http://brendaneich.com/2012/02/mobile-web-api-evolution/&quot;&gt;standardizing these APIs&lt;/a&gt;;
  &lt;li&gt;The homescreen/launcher is an HTML page. Mozilla's version is named &lt;a href=&quot;http://wiki.mozilla.org/gaia&quot;&gt;Gaia&lt;/a&gt;;
  &lt;li&gt;You can build your own homescreen/launcher;
  &lt;li&gt;The name of the project will probably change;
  &lt;li&gt;It's possible to implement Boot To Webkit too;
  &lt;li&gt;It's Open Source;
  &lt;li&gt;We (Mozilla) &lt;a href=&quot;http://blog.mozilla.com/blog/2012/02/22/mozilla-marketplace-opening-for-app-submissions-soon/&quot;&gt;are working on a MarketPlace&lt;/a&gt;.
&lt;/ul&gt;
&lt;/p&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/webapis</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/webapis"/>
    <title>WebAPIs demo</title>
    <updated>2012-06-04T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;WebAPIs demo&lt;/h1&gt;

&lt;p&gt;Quick demo of the WebAPIs. These APIs expose specific features of your phone to the web content. For example,
the proximity sensors, accelerometers, vibrators, … See &lt;a href=&quot;https://wiki.mozilla.org/WebAPI&quot;&gt;our wiki&lt;/a&gt; for
a list of the APIs and more details about how we plan to standardize these.&lt;/p&gt;
&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/1s2KmEetAhM&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://www.youtube.com/embed/1s2KmEetAhM&quot;&gt;Youtube video.&lt;/a&gt;
&lt;/iframe&gt;
&lt;p&gt;
  This is just an experiment. Trying to understand how we could fill the gap between Web apps and Native Apps.
  As you can imagine, this will be very useful for &lt;a href=&quot;http://www.mozilla.org/en-US/b2g/&quot;&gt;B2G&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
You can find more information about WebAPIs on &lt;a href=&quot;https://wiki.mozilla.org/WebAPI&quot;&gt;our wiki&lt;/a&gt; and on the &lt;a href=&quot;http://hacks.mozilla.org&quot;&gt;mozhacks&lt;/a&gt; blog:
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2012/04/taking-pictures-with-the-camera-api-part-of-webapi/&quot;&gt;Taking pictures with the Camera API&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2012/03/webtelephony-api-and-websms-api-part-of-webapi/&quot;&gt;WebTelephony API and WebSMS API&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://hacks.mozilla.org/2012/02/mozilla-and-the-mobile-web-api-evolution/&quot;&gt;Mozilla and the Mobile Web API evolution&lt;/a&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;You can find the code of the demo &lt;a href=&quot;https://github.com/paulrouget/mwc-demos/blob/gh-pages/apis/index.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/gum</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/getUserMedia"/>
    <title>getUserMedia</title>
    <updated>2012-06-02T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/embed/ynMUvSOGwTs&quot;&gt;As announced earlier&lt;/a&gt;, we (mozilla) are working actively
on the &lt;a href=&quot;http://webrtc.org&quot;&gt;WebRTC&lt;/a&gt; spec. Part of this spec introduces &lt;em&gt;getUserMedia&lt;/em&gt; that gives
you access to the webcam. Little demo:&lt;/p&gt;

&lt;iframe style=&quot;max-width: 600px; width:100%;height:400px&quot; src=&quot;http://www.youtube.com/embed/ynMUvSOGwTs&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
  &lt;a href=&quot;http://www.youtube.com/embed/ynMUvSOGwTs&quot;&gt;Video on youtube.&lt;/a&gt;
&lt;/iframe&gt;

&lt;p&gt;This is not in Firefox Nightly yet. Work in progress.
Of course, what you don't see here is the security mechanism that will prevent any website to use your webcam.
&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/devtoolsupdate</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/devtoolsupdate"/>
    <title>Responsive Mode and Layout View in Firefox 15</title>
    <updated>2012-06-01T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Responsive Mode and Layout View in Firefox 15&lt;/h1&gt;

&lt;p&gt;I just landed these 2 tools. They should be available in Firefox 15 (and in Firefox Nightly this weekend).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;update:&lt;/strong&gt; They are in Firefox Nightly now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsive Mode&lt;/strong&gt;, accessible from the Web Developer menu:&lt;/p&gt;
&lt;p&gt;&lt;iframe width=&quot;600&quot; height=&quot;500&quot; src=&quot;http://www.youtube.com/embed/n-9Q7xoC51g&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;a href=&quot;http://www.youtube.com/embed/n-9Q7xoC51g&quot;&gt;Youtube video&lt;/a&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layout View&lt;/strong&gt;, it lets you visualize the size of an element. Start the inspector (Web Developer menu) and click on the Style button:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://i.imgur.com/OJ70z.png&quot;&gt;&lt;img alt=&quot;layout view screenshot&quot; src=&quot;http://i.imgur.com/OJ70z.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;


</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/fxandroid</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/fxandroid"/>
    <title>A brand new Firefox for Android</title>
    <updated>2012-05-15T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;A brand new Firefox for Android is available.&lt;/h1&gt;
&lt;a href=&quot;https://market.android.com/details?id=org.mozilla.firefox_beta&quot;&gt;&lt;img width=&quot;200&quot; class=&quot;float-right&quot; src=&quot;http://blog.mozilla.org/futurereleases/files/2012/05/betablogpostscreenshot.jpg&quot;&gt;&lt;/a&gt;
&lt;p&gt;And we need testers!&lt;/p&gt;

&lt;style&gt;ul{padding:0}&lt;/style&gt;

&lt;ul&gt;
  &lt;li&gt;It's muuuuch faster than the previous versions
  &lt;li&gt;Download it &lt;a href=&quot;https://market.android.com/details?id=org.mozilla.firefox_beta&quot;&gt;here (market link)&lt;/a&gt;
  &lt;li&gt;Report bugs &lt;a href=&quot;http://mzl.la/JHDMd9&quot;&gt;here&lt;/a&gt; (please :D)
  &lt;li&gt;More info &lt;a href=&quot;http://blog.mozilla.org/futurereleases/2012/05/15/new-firefox-for-android-beta-is-ready-for-testing/&quot;&gt;here (official announcement)&lt;/a&gt;
  &lt;li&gt;It's the same Gecko that you can find on Desktop
  &lt;li&gt;&lt;a href=&quot;http://blog.mozilla.org/ux/2012/05/visual-reboot-of-firefox-mobile-for-android/&quot;&gt;Screenshots and article&lt;/a&gt; about the User experience.
&lt;/ul&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/faenzagaia</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/faenzagaia"/>
    <title>Faenza + Gaia ?</title>
    <updated>2012-03-17T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;I want a Faenza-based Gaia theme.&lt;/p&gt;

&lt;style&gt;
  img {
    float: right;
    margin: 0 10px;
    border: 2px dotted #F06;
    width: 150px;
    padding: 2px;
  }
&lt;/style&gt;

&lt;h2&gt;If you don't know Gaia…&lt;/h2&gt;
&lt;a href=&quot;http://joshcarpenter.ca/Boot-to-Gecko&quot;&gt;&lt;img src=&quot;http://imgur.com/3fTXK.png&quot;&gt;&lt;/a&gt;
&lt;p&gt;Mozilla is building an Mobile OS, &lt;a href=&quot;https://wiki.mozilla.org/B2G&quot;&gt;B2G&lt;/a&gt;.
On top of this OS, we are also building a User Interface,
named &lt;a href=&quot;https://wiki.mozilla.org/gaia&quot;&gt;Gaia&lt;/a&gt; (&lt;a href=&quot;http://joshcarpenter.ca/Boot-to-Gecko&quot;&gt;see some mockups&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;If you don't know Faenza…&lt;/h2&gt;

&lt;a href=&quot;http://tiheum.deviantart.com/gallery/&quot;&gt;&lt;img src=&quot;http://i.imgur.com/WEedf.png&quot;&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href=&quot;http://tiheum.deviantart.com/art/Faenza-Icons-173323228?q=gallery%3Atiheum%2F26053633&amp;qo=9&quot;&gt;Faenza&lt;/a&gt;
is a famous set of icons for Linux. His author, &lt;a href=&quot;http://tiheum.deviantart.com/&quot;&gt;Tiheum&lt;/a&gt; (Matthieu James), has
also built a theme for Gnome (&lt;a href=&quot;http://tiheum.deviantart.com/art/Gnome-Shell-Faience-255097456?q=gallery%3Atiheum%2F26053633&amp;qo=3&quot;&gt;Faience&lt;/a&gt;),
and made a lot of &lt;a href=&quot;http://tiheum.deviantart.com/gallery/&quot;&gt;other gorgeous things&lt;/a&gt;.

&lt;p&gt;I am a huge fan of &lt;a href=&quot;http://tiheum.deviantart.com/gallery/&quot;&gt;Tiheum's work&lt;/a&gt;. And I believe that a phone UI based
on his work would be a hit. I would love to work on that, but I don't have time. So I am
sharing the idea. It is quite easy to hack Gaia to build a prototype. It is 100%
made of HTML, CSS and JavaScript. So if you feel like working on that, please let me know,
I can help you to start :)&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/krapo</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/krapo"/>
    <title>Musiques de jeux vidéos et séries télé, par Krapo</title>
    <updated>2012-03-12T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;style&gt;
  article &gt; h2 {
    font-size: 20px;
  }
&lt;/style&gt;

&lt;h1&gt;Musiques de jeux vidéos et séries télé, par &lt;a href=&quot;http://krapo.wordpress.com/&quot;&gt;Krapo&lt;/a&gt;.&lt;/h1&gt;

&lt;p class=&quot;quote&quot;&gt;Un mauvais musicien avec de bonnes idées, cela semble être la meilleure façon de me décrire en quelques mots.&lt;/p&gt;

&lt;p&gt;Je ne sais pas si &lt;a href=&quot;http://krapo.wordpress.com/&quot;&gt;Krapo&lt;/a&gt; est un mauvais musicien, mais j'aime beaucoup ce qu'il fait. &quot;Accro à Nolife, Nintendo, musiques progressives, instruments de musique inhabituels&quot;. J'approuve!&lt;/p&gt;

&lt;p&gt;Son &lt;a href=&quot;http://krapo.wordpress.com/&quot;&gt;site&lt;/a&gt; (pleins de trucs à découvir), ces &lt;a href=&quot;http://krapo.wordpress.com/music-covers-reprises/&quot;&gt;reprises&lt;/a&gt; et
si vous voulez l'embauchez pour vos soirées geek, &lt;a href=&quot;http://krapo.wordpress.com/embauchez-moi/&quot;&gt;c'est là&lt;/a&gt;. Et &lt;a href=&quot;https://twitter.com/krapomusic&quot;&gt;son twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ma sélection:&lt;/p&gt;

  &lt;h2&gt;Portal 2 - Want You Gone - vocoder ukulele glockenspiel melodica &lt;/h2&gt;
  &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/3i_Igfsmlgs&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
  (&lt;a href=&quot;http://www.youtube.com/embed/zNAf8v47RaA&quot;&gt;Portal 1 / Still alive&lt;/a&gt; défonce aussi)

  &lt;h2&gt;Jayce et les Conquérants de la Lumière&lt;/h2&gt;
  &lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/0dkyIRxlwAg&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

  &lt;h2&gt;Zelda Ocarina of Time - Lost Woods - Nintendo DSi + ocarina + guitar&lt;/h2&gt;
  &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/LopkX-V6q88&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;hr&gt;

&lt;p&gt;Oh et, Krapo, si tu lis ça, le vrai générique d'Ulysse 31, &lt;a href=&quot;http://www.youtube.com/watch?v=M2ngOO8ON4M&quot;&gt;c'est ça&lt;/a&gt;. Donc si
tu sais pas quoi faire ce weekend… :)&lt;/p&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/Dunning-Kruger-Effect</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/dunning-kruger"/>
    <title>Why do judgmental people usually have bad judgment?</title>
    <updated>2012-03-04T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Why do judgmental people usually have bad judgment?&lt;/h1&gt;

&lt;p class=&quot;quote&quot;&gt;
It's part of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect#Supporting_studies&quot;&gt;Dunning-Kruger&lt;/a&gt; effect.&lt;br&gt;
Or, as &lt;a href=&quot;http://en.wikiquote.org/wiki/Bertrand_Russell&quot;&gt;Bertrand Russell&lt;/a&gt; put it, &lt;strong&gt;“The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt.”&lt;/strong&gt;
&lt;/p&gt;

&lt;em&gt;…stolen from &lt;a href=&quot;http://www.reddit.com/r/ask/comments/q5ik3/why_do_judgmental_people_usually_have_bad_judgment/&quot;&gt;reddit&lt;/a&gt;.&lt;/em&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/b2gdemo</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/b2gdemo"/>
    <title>B2G demo, with some code inside and a live demo</title>
    <updated>2012-02-29T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;style&gt;
  article &gt; p {text-align: left}
&lt;/style&gt;

&lt;h2&gt;What is &lt;a href=&quot;https://wiki.mozilla.org/B2G&quot;&gt;Boot To Gecko&lt;/a&gt;:&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;An Operating System;
  &lt;li&gt;Linux Kernel + drivers from Android (so B2G can run on most of the phones that are capable of running Android). Works on ARMv7, will probably work on ARMv6;
  &lt;li&gt;Gecko on top of it. The same version you'll find on a regular Firefox;
  &lt;li&gt;Apps are written in HTML, JavaScript and CSS;
  &lt;li&gt;&lt;strong&gt;You don't need to be online to use the Apps&lt;/strong&gt;;
  &lt;li&gt;A set of new JavaScript APIs:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;http://wiki.mozilla.org/WebAPI&quot;&gt;WebAPIs&lt;/a&gt;, for bluetooth, sms, telephony, …
      &lt;li&gt;&lt;a href=&quot;http://www.webrtc.org/&quot;&gt;WebRTC&lt;/a&gt;, for streaming, webcam, P2P, …
    &lt;/ul&gt;
  &lt;li&gt;We are working on &lt;a href=&quot;http://brendaneich.com/2012/02/mobile-web-api-evolution/&quot;&gt;standardizing these APIs&lt;/a&gt;;
  &lt;li&gt;The homescreen/launcher is an HTML page. Mozilla's version is named &lt;a href=&quot;http://wiki.mozilla.org/gaia&quot;&gt;Gaia&lt;/a&gt;;
  &lt;li&gt;You can build your own homescreen/launcher;
  &lt;li&gt;The name of the project will probably change;
  &lt;li&gt;It's possible to implement Boot To Webkit too;
  &lt;li&gt;It's Open Source;
  &lt;li&gt;We (Mozilla) &lt;a href=&quot;http://blog.mozilla.com/blog/2012/02/22/mozilla-marketplace-opening-for-app-submissions-soon/&quot;&gt;are working on a MarketPlace&lt;/a&gt;.
&lt;/ul&gt;
&lt;/p&gt;

&lt;h2&gt;Live demo:&lt;/h2&gt;

&lt;p&gt;It's all HTML so it works on a Firefox. Try it now: &lt;a href=&quot;http://paulrouget.com/gaia/&quot;&gt;http://paulrouget.com/gaia/&lt;/a&gt;,
(better to use &lt;a href=&quot;http://nightly.mozilla.org&quot;&gt;Firefox Nightly&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;Videos:&lt;/h2&gt;

&lt;p&gt;Myself showing how to hack the inner HTML (sorry for the quality of the video):&lt;/p&gt;
&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/XuPG3jtgefA&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;Interview with the developers (in English, German, French and Chinese):&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/1pPuWEgKerY&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;Here is a video of an alternative UI built by Telefonica:&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/OAaH5vikEOM&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;h2&gt;Contribute:&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Building_B2G_for_Samsung_Galaxy_S2&quot;&gt;How to build B2G for Samsung Galaxy S2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you want to get involved in the development of Boot2Gecko, take a look at the wiki pages: the UI code (gaia)
&lt;a href=&quot;http://wiki.mozilla.org/Gaia&quot;&gt;wiki.mozilla.org/Gaia&lt;/a&gt; the system code: &lt;a href=&quot;http://wiki.mozilla.org/B2G&quot;&gt;wiki.mozilla.org/B2G&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And here are some mockups: &lt;a href=&quot;http://joshcarpenter.ca/Boot-to-Gecko&quot;&gt;http://joshcarpenter.ca/Boot-to-Gecko&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Fork the code! &lt;a href=&quot;http://github.com/andreasgal/gaia&quot;&gt;It's on github&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/ctxfs</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/ctxfs"/>
    <title>HTML5 Context Menu and FullScreen</title>
    <updated>2012-02-16T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;HTML5 Context Menu and FullScreen API.&lt;/h1&gt;


&lt;p&gt;Do you know you can change the native context menu of an HTML element with the HTML5 &lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#context-menus&quot;&gt;&lt;code&gt;&amp;lt;menu&gt;&lt;/code&gt; tag&lt;/a&gt;? Do you know you can make any element of your page go fullscreen with the HTML5 &lt;a href=&quot;https://developer.mozilla.org/en/DOM/Using_full-screen_mode&quot;&gt;Fullscreen API&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Adding a &quot;fullscreen&quot; entry in the context menu is really simple (&lt;a href=&quot;http://paulrouget.com/runfield/&quot;&gt;demo&lt;/a&gt;):&lt;/p&gt;
&lt;em&gt;(Firefox needed. Webkit does support the Fullscreen API, but not &lt;code&gt;contextmenu&lt;/code&gt; yet.)&lt;/em&gt;

&lt;script src=&quot;https://gist.github.com/1844865.js?file=example.html&quot;&gt;&lt;/script&gt;
&lt;noscript&gt;
  &lt;pre&gt;
  &amp;lt;canvas contextmenu=&quot;fullscreenmenu&quot;&gt;&amp;lt;/canvas&gt;
  &amp;lt;!-- can be a div if you prefer --&gt;

  &amp;lt;menu id=&quot;fullscreenmenu&quot; type=&quot;context&quot;&gt;
    &amp;lt;menuitem label=&quot;fullscreen&quot;
              onclick=&quot;document.querySelector('canvas').requestFullScreen()&quot;&gt;
    &amp;lt;/menuitem&gt;
  &amp;lt;/menu&gt;

  &amp;lt;script&gt;
    HTMLElement.prototype.requestFullScreen =
      HTMLElement.prototype.requestFullScreen ||
      HTMLElement.prototype.webkitRequestFullScreen ||
      HTMLElement.prototype.mozRequestFullScreen ||
      HTMLElement.prototype.oRequestFullScreen ||
      HTMLElement.prototype.msRequestFullScreen;
  &amp;lt;/script&gt;
  &lt;/pre&gt;
&lt;/noscript&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/vimdarkroom</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/vimdarkroom"/>
    <title>Darkroom for Vim</title>
    <updated>2012-02-14T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1 class=&quot;quote&quot;&gt;A full-screen writing program or distraction-free editor is a text editor that occupies the full display with the purpose of isolating the writer from the operating system (OS) and other applications. &lt;em style=&quot;font-size:0.5em&quot;&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Distraction-free_editor&quot;&gt;Wikipedia&lt;/a&gt;&lt;/em&gt;&lt;/h1&gt;

&lt;p&gt;I wanted that with Vim. There are ways to do it. You can play with &lt;code&gt;:winpos&lt;/code&gt;, &lt;code&gt;lines&lt;/code&gt; and &lt;code&gt;columns&lt;/code&gt; to achieve this (see &lt;a href=&quot;http://groups.google.com/group/vim_use/browse_thread/thread/72e12e59f0ebd6fd&quot;&gt;here&lt;/a&gt;). There are scripts (&lt;a href=&quot;http://www.vim.org/scripts/script.php?script_id=2246&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://projects.mikewest.org/vimroom/&quot;&gt;2&lt;/a&gt;). But all of these seemed complicated.&lt;/p&gt;

&lt;p&gt;Here is a simple-but-not-perfect way to achieve this. This script just hide a couple of things and add a big margin on the left:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/1824502.js&quot;&gt; &lt;/script&gt;
&lt;noscript&gt;
  &lt;pre&gt;
&quot;&quot;&quot; FocusMode
function! ToggleFocusMode()
  if (&amp;amp;foldcolumn != 12)
    set laststatus=0
    set numberwidth=10
    set foldcolumn=12
    set noruler
    hi FoldColumn ctermbg=none
    hi LineNr ctermfg=0 ctermbg=none
    hi NonText ctermfg=0
  else
    set laststatus=2
    set numberwidth=4
    set foldcolumn=0
    set ruler
    colorscheme molokai &quot;re-call your colorscheme
  endif
endfunc
nnoremap &lt;F1&gt; :call ToggleFocusMode()&lt;cr&gt;
&lt;/pre&gt;
&lt;/noscript&gt;

&lt;p&gt;Go fullscreen with your terminal, and enjoy:&lt;/p&gt;

&lt;img src=&quot;http://i.imgur.com/F2pjk.gif&quot;&gt;

&lt;p&gt;This is quite dumb, but it works very well for me. Let me know if you find ways to improve this.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/mdnddg</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/mdnddg"/>
    <title>MDN &amp; DuckDuckGo</title>
    <updated>2012-02-13T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;With &lt;a href=&quot;http://duckduckgo.com&quot;&gt;DuckDuckGo&lt;/a&gt;, you can add &lt;code&gt;!js&lt;/code&gt; to your
JavaScript related queries, it will redirect you automatically
to &lt;a href=&quot;https://developer.mozilla.org&quot;&gt;MDN&lt;/a&gt;.&lt;/p&gt;

&lt;a href=&quot;http://duckduckgo.com&quot;&gt;
&lt;img class=&quot;postimg noborder&quot; src=&quot;http://i.imgur.com/yK7yY.png&quot;&gt;
&lt;/a&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/fx2012</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/fx2012"/>
    <title>Firefox 2012 Roadmap and Meeting</title>
    <updated>2012-02-13T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;The Firefox roadmap for 2012 has been published: &lt;a href=&quot;https://wiki.mozilla.org/Firefox/Roadmap&quot;&gt;https://wiki.mozilla.org/Firefox/Roadmap&lt;/a&gt;
(see &lt;a href=&quot;http://weblogs.mozillazine.org/asa/archives/2012/02/firefox_in_2012_1.html&quot;&gt;Asa's blog&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;We will talk about this roadmap Tomorrow, Tuesday Feb 14, at 11am Pacific. The call is public. Come if you're interested.
&lt;a href=&quot;https://wiki.mozilla.org/Platform/2012-02-14&quot;&gt;Information here&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/disapproval-look</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/disapproval-look"/>
    <title>Disapproval look and Linux</title>
    <updated>2012-02-13T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;ಠ_ಠ&lt;/h1&gt;

&lt;p&gt;Do you see 2 squares instead of the famous &lt;a href=&quot;http://knowyourmeme.com/memes/%E0%B2%A0%E0%B2%A0-look-of-disapproval&quot;&gt;Disapproval Look&lt;/a&gt;?
Install the  Indic Opentype Fonts collection. On archlinux:&lt;/p&gt;
&lt;code&gt;pacman -S extra/ttf-indic-otf&lt;/code&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/bzreport</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/bzreport"/>
    <title>Bugzilla Activity Report</title>
    <updated>2012-02-07T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;Bugzilla has an interesting feature: &lt;a href=&quot;https://bugzilla.mozilla.org/page.cgi?id=user_activity.html&quot;&gt;User Activity Report&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I didn't know about it until someone mentioned it on IRC yesterday. It's quite useful if you keep track of your daily/weekly
work.&lt;/p&gt;

&lt;p&gt;Also, if you want a prettier output, here is a script that will help. Run it in Scratchpad (Shift-F4):&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/1758942.js?file=bzprettify.js&quot;&gt;&lt;/script&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/fx7to10</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/fx7to10"/>
    <title>What happened between Firefox 7 and Firefox 10</title>
    <updated>2012-02-02T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;What happened between Firefox 7 and Firefox 10&lt;/h1&gt;

&lt;p&gt;Found &lt;a href=&quot;http://www.reddit.com/r/firefox/comments/p4t9u/firefox_10_has_arrived/c3mmv0i&quot;&gt;this gem&lt;/a&gt; by &lt;a href=&quot;http://www.0xdeadbeef.com/weblog/&quot;&gt;Chris Blizzard on&lt;/a&gt; reddit:&lt;/p&gt;

&lt;style&gt;
  .quote &gt; p {
    text-align: left;
  }
&lt;/style&gt;

&lt;div class=&quot;quote&quot;&gt;
  &lt;p&gt;In between Firefox 7 and Firefox 10 we improved performance, shrunk memory usage, killed leaks, vastly improved hardware accelerated rendering for the canvas element, improved Firefox Sync's setup &amp;amp; reliability, vastly improved the way that add-on compatibility is handled, added the ability to load tabs on demand during a restore, added Twitter search, made the audio and video elements far more reliable, improved our theme integration on OSX Lion, we hide the forward button when it's not useful, fixed a ton of security and crasher bugs. The browser actually looks, feels and acts differently from 7.&lt;/p&gt;

  &lt;p&gt;For developers we added text-overflow-ellipsis, WebSockets, web timing, improved MathML, added support for displaying images in WebGL (via CORS), HTML5 context menus, added support for insertAdjacentHTML, added support for hyphens in CSS to support more than just English, shipped our new TI JS engine (much much faster!), added hooks so you can read DNT state from JS, added support for font-stretch, added support for anti-aliasing in WebGL, CSS 3D transforms and Mozilla's HTML5-based full screen API. We made IndexedDB much faster, shipped a bunch of new web developer tools and a huuuuuuuge pile of things that I haven't listed here.&lt;/p&gt;

  &lt;p&gt;So we've been busy and we like rolling those positive changes out to users as fast as possible. That's why we're doing new releases and bumping the version number quickly. It's not just for marketing. It reflects real change over time.&lt;/p&gt;
&lt;/div&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/myconf</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/myconf"/>
    <title>My Linux Configuration</title>
    <updated>2012-01-27T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;style&gt;
  img {
    padding: 5px;
    border: 1px dashed grey;
  }
&lt;/style&gt;

&lt;p&gt;To follow up on &lt;a href=&quot;http://www.reddit.com/r/archlinux/comments/ow4xu/i_know_its_arch_linux_but_what_skin_and_wm_are/&quot;&gt;this reddit&lt;/a&gt; discussion,&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/9wTFO.png&quot;&gt;&lt;img width=&quot;600&quot; src=&quot;http://i.imgur.com/9wTFOh.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;… this is what my desktop look like. Screenshot + configurations files:&lt;/p&gt;

&lt;a href=&quot;http://i.imgur.com/k8am8.png&quot;&gt;&lt;img width=&quot;600&quot; src=&quot;http://i.imgur.com/k8am8h.png&quot;&gt;&lt;/a&gt;

&lt;ul&gt;
  &lt;li&gt;GNU/Linux - Archlinux
  &lt;li&gt;MacBook Air 11&quot;
  &lt;li&gt;XFCE (default panel)
&lt;/ul&gt;

&lt;a href=&quot;http://i.imgur.com/21hhz.png&quot;&gt;&lt;img width=&quot;600&quot; src=&quot;http://i.imgur.com/21hhzh.png&quot;&gt;&lt;/a&gt;

&lt;ul&gt;
  &lt;li&gt;GTK2 theme: &lt;a href=&quot;https://wiki.ubuntu.com/Artwork/Incoming/DustTheme&quot;&gt;Dust&lt;/a&gt; (aur/gtk2-theme-dust)
  &lt;li&gt;Icons: &lt;a href=&quot;http://tiheum.deviantart.com/art/Faenza-Icons-173323228&quot;&gt;Faenza&lt;/a&gt; (aur/faenza-icon-theme)
  &lt;li&gt;Window decorations: &lt;a href=&quot;http://xfce-look.org/content/show.php/Darksun?content=87476&quot;&gt;Darksun&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://nightly.mozilla.org/&quot;&gt;Firefox Nightly&lt;/a&gt;: default Linux theme
  &lt;li&gt;Pager: &lt;a href=&quot;http://code.google.com/p/neap/&quot;&gt;neap&lt;/a&gt;
&lt;/ul&gt;

&lt;a href=&quot;http://i.imgur.com/bEQGX.png&quot;&gt;&lt;img width=&quot;600&quot; src=&quot;http://i.imgur.com/bEQGXh.png&quot;&gt;&lt;/a&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://gist.github.com/1689941#file_.vimrc&quot;&gt;Vimrc&lt;/a&gt;
  &lt;li&gt;I use a patched version of the Monaco font (&lt;a href=&quot;http://dl.dropbox.com/u/129604/Monaco_Linux-Powerline.otf&quot;&gt;here&lt;/a&gt;)
  &lt;li&gt;&lt;a href=&quot;https://github.com/Lokaltog/vim-powerline&quot;&gt;Vim Powerline&lt;/a&gt; (arrows in statusline - patched font needed)
  &lt;li&gt;&lt;a href=&quot;https://wincent.com/products/command-t&quot;&gt;Command-T&lt;/a&gt;
&lt;/ul&gt;

&lt;a href=&quot;http://i.imgur.com/msvsN.png&quot;&gt;&lt;img width=&quot;600&quot; src=&quot;http://i.imgur.com/msvsNh.png&quot;&gt;&lt;/a&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://tmux.sourceforge.net/&quot;&gt;Tmux&lt;/a&gt; - &lt;a href=&quot;https://gist.github.com/1689941#file_.tmux.conf&quot;&gt;tmux.conf&lt;/a&gt; (patched font needed)
  &lt;li&gt;&lt;a href=&quot;https://github.com/trapd00r/ls--&quot;&gt;ls++&lt;/a&gt;
  &lt;li&gt;To dump my qqueues (mercurial), I wrote an (ugly) node script: &lt;a href=&quot;https://gist.github.com/1689941#file_qqq.js&quot;&gt;qqq.js&lt;/a&gt;
&lt;/ul&gt;

&lt;a href=&quot;http://i.imgur.com/eY2XW.png&quot;&gt;&lt;img width=&quot;600&quot; src=&quot;http://i.imgur.com/eY2XWh.png&quot;&gt;&lt;/a&gt;

&lt;ul&gt;
  &lt;li&gt;I read my emails with Mutt
  &lt;li&gt;Emails are downloaded via &lt;a href=&quot;http://offlineimap.org/&quot;&gt;offlineimap&lt;/a&gt;
  &lt;li&gt;I use 3 instances of Mutt: Inbox, Bugmails, Mailing-lists&lt;/a&gt;
&lt;/ul&gt;

&lt;a href=&quot;http://i.imgur.com/oA9uD.png&quot;&gt;&lt;img width=&quot;600&quot; src=&quot;http://i.imgur.com/oA9uDh.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;If you have questions, please ask on &lt;a href=&quot;http://www.reddit.com/r/archlinux/comments/ozh5a/my_archlinux_desktop_followup/&quot;&gt;reddit&lt;/a&gt; or ping me on &lt;a href=&quot;http://twitter.com/paulrouget&quot;&gt;@paulrouget&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/myvimrc</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/myvimrc"/>
    <title>My .vimrc</title>
    <updated>2012-01-11T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;my .vimrc&lt;/h1&gt;

&lt;p&gt;Sounds like some people are insterested in my vimrc.
This is the current version of it. Pretty simple these days.&lt;/p&gt;
&lt;p&gt;(sorry, it's not commented. Use &lt;code&gt;:help [cmd]&lt;/code&gt; if
you don't know a command.)&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/1689941.js?file=.vimrc&quot;&gt;&lt;/script&gt;
&lt;noscript&gt;
&lt;pre&gt;
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot; PLUGINS
filetype off

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

Bundle 'gmarik/vundle'
Bundle 'matchit.zip'
Bundle 'The-NERD-Commenter'
Bundle 'The-NERD-tree'
Bundle 'vim-powerline'
Bundle 'Command-T'

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot; GLOBAL
let mapleader=&quot;,&quot;
colorscheme molokai
set gfn=terminus
set go=

syntax on
filetype plugin indent on
set encoding=utf-8
set hidden
set showcmd
set nowrap
set backspace=indent,eol,start
set autoindent
set copyindent
set number
set shiftround
set ignorecase
set smartcase
set hlsearch
set incsearch
set history=1000
set undolevels=1000
set title
set visualbell
set noerrorbells
set list
set listchars=tab:&gt;.,trail:.,extends:#,nbsp:.
set ttyfast
set mouse=
set nocompatible
set backup
set backupdir=~/.vim_backup
set noswapfile
set fileformats=unix,dos,mac
set laststatus=2
set expandtab
set softtabstop=2 tabstop=2 shiftwidth=2
set ruler
set wildignore=*.swp,*.bak
set wildmode=longest,list

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot; KEYBINDINGS

map cc &lt;leader&gt;c&lt;space&gt;
map # {v}! par 72&lt;CR&gt;
map &amp; {v}! par 72j&lt;CR&gt;
map &lt;F6&gt; :setlocal spell! spelllang=en&lt;CR&gt;
map &lt;F12&gt; :set invhls&lt;CR&gt;
cmap &lt;C-g&gt; &lt;C-u&gt;&lt;ESC&gt;
command! -bang W w&lt;bang&gt;

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot; PLUGINS

&quot;let g:Powerline_symbols = 'fancy'
let g:CommandTMaxFiles=5000
let g:CommandTMaxHeight=12
map &lt;C-o&gt; :CommandT&lt;CR&gt;
let g:CommandTAcceptSelectionMap = '&lt;CR&gt;'
let g:CommandTCancelMap = '&lt;C-g&gt;'

let NERDChristmasTree = 1
let NERDTreeSortOrder = ['\/$', '\.js*', '\.cpp$', '\.h$', '*']
nmap &lt;c-b&gt; :NERDTreeToggle&lt;cr&gt;
nmap &lt;C-n&gt; &lt;c-w&gt;&lt;left&gt;&lt;down&gt;&lt;c-w&gt;&lt;c-w&gt;
nmap &lt;C-p&gt; &lt;c-w&gt;&lt;left&gt;&lt;up&gt;&lt;c-w&gt;&lt;c-w&gt;
nmap &lt;C-o&gt; &lt;c-w&gt;&lt;left&gt;&lt;CR&gt;

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot; FILES SPECIFIC
au BufRead mutt-* set ft=mail
au BufRead mutt-* set invhls
au BufNewFile *.html 0r ~/.vim/templates/html.txt
au BufRead,BufNewFile *.jsm setfiletype javascript
au BufRead,BufNewFile *.xul setfiletype xml
au filetype html,xml set listchars-=tab:&gt;.

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot; CUSTOM FUNCTIONS

&quot;&quot;&quot; Toggle relative/absolute numbering
function! NumberToggle()
  if(&amp;relativenumber == 1)
    set number
  else
    set relativenumber
  endif
endfunc

nnoremap &lt;F10&gt; :call NumberToggle()&lt;cr&gt;

&quot;&quot;&quot; FocusMode
function! ToggleFocusMode()
  if (&amp;foldcolumn != 12)
    set laststatus=0
    set numberwidth=10
    set foldcolumn=12
    set noruler
    hi FoldColumn ctermbg=none
    hi LineNr ctermfg=0 ctermbg=none
    hi NonText ctermfg=0
  else
    set laststatus=2
    set numberwidth=4
    set foldcolumn=0
    set ruler
    execute 'colorscheme ' . g:colors_name
  endif
endfunc
nnoremap &lt;F1&gt; :call ToggleFocusMode()&lt;cr&gt;
&lt;/pre&gt;
&lt;/noscript&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/books</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/books"/>
    <title>Books I read</title>
    <updated>2012-01-10T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Books I read.&lt;/h1&gt;

&lt;p class=&quot;tldr&quot;&gt;Want to learn more about modern science, physical cosmology and quantum mechanics?
If, like me, you are a beginner in these fields, I recommend you to read: &quot;A Brief History of Time&quot; (Stephen Hawking),
&quot;Relativity: The Special and General Theory&quot; (Albert Einstein),
and &quot;In Search of Schrödinger's Cat: Quantum Physics And Reality&quot; (John Gribbin).
Hawkin's &quot;The Universe in a Nutshell&quot; is not awesome.&lt;/p&gt;

&lt;p&gt;Recently, we have heard a lot about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Higgs_boson&quot;&gt;Higgs boson particle&lt;/a&gt;. I didn't know much about it, so I started reading (thank you &lt;a href=&quot;http://www.reddit.com/r/askscience/comments/naxmk/the_everything_you_need_to_know_about_the_higgs/&quot;&gt;reddit&lt;/a&gt; for that!). And Oh man, this is hard! I just don't understand most of these things.&lt;/p&gt;
&lt;p&gt;So I am now reading books about physics. I want to understand these things better. I am not a physicist or a mathematician. I don't believe I will ever understand correctly these theories (as you need to have a serious math background), but I feel the need to have a better understanding of how our world works.&lt;/p&gt;
&lt;p&gt;Here are couple of books I've been reading lately. They mostly talk about relativity, quantum mechanic and particle physics&lt;/p&gt;

&lt;h2&gt;The Universe in a Nutshell&lt;/h2&gt;
&lt;p&gt;ISBN 0-553-80202-X - By &lt;a href=&quot;http://en.wikipedia.org/wiki/Stephen_Hawking&quot;&gt;Stephen Hawking&lt;/a&gt;.
This is a pretty book (lot of images). Very famous and recommended as a good introduction to understand physics.
I found it kind of hard to understand. Especially the cosmology explanations. Hawking tries to simplify his explanations,
but I feel like he was mostly explaining the simple things, and skipping the explanations of the complex problems.&lt;/p&gt;
&lt;p&gt;If you want to read this book, and if you already have a basic knowledge of modern physics, I think you should read his first popular-science book first:&lt;em&gt;A Brief History of Time&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;A Brief History of Time&lt;/h2&gt;
&lt;p&gt;ISBN 9780553109535 - By &lt;a href=&quot;http://en.wikipedia.org/wiki/Stephen_Hawking&quot;&gt;Stephen Hawking&lt;/a&gt;.
He wrote this book before &lt;em&gt;The Universe in a Nutshell&lt;/em&gt;. But this one is muuuch better. For me, a total revelation.
Seriously. I now understand quantum mechanic better. His cosmology explanations are deeper (black holes everywhere!).
You read the book like a story. He is also talking a bit about him and other physicists.&lt;/p&gt;

&lt;h2&gt;Relativity: The Special and General Theory&lt;/h2&gt;
&lt;p&gt;ISBN-10: 0517884410 &amp;amp; ISBN-13: 978-0517884416 - By &lt;a href=&quot;http://en.wikipedia.org/wiki/Albert_Einstein&quot;&gt;Albert Einstein&lt;/a&gt;.
With this book, you'll have a good understanding of the Special Relativity theory. You will actually understand it,
and will be able to explain it later. The way Einstein makes you ask question to yourself is awesome. You can &quot;feel&quot;
how these things work.&lt;/p&gt;
&lt;p&gt;The General Relativity part is much harder to understand. You basically have to accept it, or have to dig into some
mathematical explanations (not in the book).
Gravity doesn't really exist as a force but is a geometry &quot;trick&quot;? Stick with it!&lt;/p&gt;

&lt;h2&gt;In Search of Schrödinger's Cat: Quantum Physics And Reality&lt;/h2&gt;
&lt;p&gt;ISBN 0-5533-4253-3 - By &lt;a href=&quot;http://en.wikipedia.org/wiki/John_Gribbin&quot;&gt;John Gribbin&lt;/a&gt;.
Woooow! So this is a book about Quantum mechanic. And a damn good one! Gribbin is doing
an amazing job at making his explanations clear, understandable and enjoyable. And he doesn't take you for an idiot.
He is a scientist, and also a very talented writer. Like Hawking in &lt;em&gt;A Brief History Time&lt;/em&gt;, his book also relates science history.
You learn about scientists. About their mistakes (Plank's mathematic mistake that lead him to suggest a &quot;quanta&quot; of
energy). About how they were seeing the world 120 years ago (the &quot;watermelon atom&quot;). And he is very careful with his
abstractions. He tells you when his explanations are just &quot;tricks&quot; to make you understand mathematical equations,
or if things actually look like he says.&lt;/p&gt;
&lt;p&gt;I totally recommend this book.&lt;/p&gt;

&lt;strong&gt;Any recommendation for my next book? (I also love geophysics and biology!)&lt;/strong&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/torontomeetup</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/torontomeetup"/>
    <title>Mozilla Web Meetup (Toronto)</title>
    <updated>2012-01-09T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Mozilla Web Meetup&lt;br&gt;(Toronto, this Friday, ~4pm)&lt;/h1&gt;

&lt;p&gt;
You are a web developer and in Toronto this Friday? We need you!
We would like to gather some feedback about our new Firefox Developer Tools. We will use you as our guinea pigs. :) We need feedback, and we  are sure you can get us some terrific ideas of how we can improve our tools.
We might have a little party after the (good) work.
&lt;/p&gt;

&lt;p&gt;Feel like coming? To get an invitation, send me an email:&lt;/p&gt;

&lt;pre&gt;To: paul+torontomeetup@mozilla.com
Subject: toronto-moz-meetup

Your name
your email
&lt;/pre&gt;

&lt;p&gt;I'll reply with more details as soon as possible!&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/new-years-resolutions</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/newyear2012"/>
    <title>New Year's Resolutions</title>
    <updated>2012-01-04T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;blockquote&gt;2012 Resolution: fix more bugs.&lt;/blockquote&gt;
&lt;style&gt;blockquote { margin: 150px 0; }#meta {display: none;}&lt;/style&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/firefoxnightly</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/FirefoxNightly"/>
    <title>Follow @FirefoxNightly</title>
    <updated>2012-01-04T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;Follow &lt;a href=&quot;http://twitter.com/firefoxnightly&quot;&gt;@FirefoxNighty&lt;/a&gt;. We talk about the latest Firefox developments, live from Bugzilla!
Oh, and we have a blog: &lt;a href=&quot;http://firefoxnightly.tumblr.com/&quot;&gt;firefoxnightly.tumblr.com&lt;/a&gt;.
Ping me on twitter (@paulrouget) if we are missing anything!&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/b2gdemo</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/b2gdemo"/>
    <title>[video] B2G demo</title>
    <updated>2012-01-04T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Mozilla's Boot to Gecko (B2G) Demo at MozCamp Asia 2011.&lt;/h1&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/Km9yVHlFkMc&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Totally WIP - the whole UI is a web page (HTML + JS + CSS), wait for the view-source. Video by
&lt;a href=&quot;http://twitter.com/mozillatunisia&quot;&gt;@mozillatunisia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;More mockups &lt;a href=&quot;http://pivanov.com/mozilla/gaia/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/learnbugzilla</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/learnbugzilla"/>
    <title>videos: Learn Bugzilla</title>
    <updated>2011-12-21T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;&lt;a href=&quot;http://bugzilla.mozilla.org&quot;&gt;Bugzilla&lt;/a&gt; is far from being perfect for beginners. This giant form is kind of scary. Here are 2 videos
that will help you to demystify most of it:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.johnath.com/&quot;&gt;Johnathan&lt;/a&gt; about filing bugs:&lt;/p&gt;
&lt;video width=&quot;500&quot; controls src=&quot;http://people.mozilla.org/~johnath/bugzilla/BugzillaForHumans.ogv&quot;&gt; &lt;object width=&quot;600&quot; height=&quot;375&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=9205730&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1&quot;/&gt;&lt;/object&gt; &lt;/video&gt;

&lt;p&gt;&lt;a href=&quot;https://twitter.com/#!/beltzner&quot;&gt;Beltzner&lt;/a&gt; about searching bugs:&lt;/p&gt;
&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/14W-XguG--U&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;h1&gt;Learn bugzilla&lt;/h1&gt;

&lt;p&gt;When people find a bug, I encourage them to open the bug themselves.
You know, the &lt;a href=&quot;http://en.wiktionary.org/wiki/give_a_man_a_fish_and_you_feed_him_for_a_day._Teach_a_man_to_fish_and_you_feed_him_for_a_lifetime&quot;&gt;fish story&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What usually stops people from filing bugs is the fear to do it wrong. Let me be clear
here: &lt;strong&gt;Yes, you will do something wrong. And this is totally normal!&lt;/strong&gt;
Wrong product (Firefox instead of Core), wrong component, unclear description, etc. It's ok, we will
fix that for you and ask you more questions if needed. And you will learn.&lt;/p&gt;
&lt;p&gt;People are also afraid of reporting a bug that has already been reported earlier. Again, this
is ok. We will &quot;DUPE&quot; it (mark it as duplicate). And your bug report might come with more details,
and give us another angle to look at the issue.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Open a Gecko bug: &lt;a href=&quot;http://is.gd/report_gecko_bug_cc_paul&quot;&gt;http://is.gd/report_gecko_bug_cc_paul&lt;/a&gt;
  &lt;li&gt;Open a Firefox bug: &lt;a href=&quot;http://is.gd/report_firefox_bug_cc_paul&quot;&gt;http://is.gd/report_firefox_bug_cc_paul&lt;/a&gt;
&lt;/ul&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/colorssurvey</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/colorssurvey"/>
    <title>Writing code - Light or dark color scheme?</title>
    <updated>2011-12-20T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Light or dark color scheme?&lt;/h1&gt;

&lt;p&gt;tl;dr: &lt;em&gt;dark background: 63%, light background: 37%&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;(There are a lot of interesting &lt;a href=&quot;http://news.ycombinator.com/item?id=3373018&quot;&gt;comments on hackernews&lt;/a&gt; about this survey)&lt;/p&gt;

&lt;p&gt;So we are working on a Code Editor for the Firefox DevTools (to edit your CSS files,
or to write some JavaScript code). These days, I have been working on implementing the design of this
tool. In Firefox 11, it will come with a light color scheme.&lt;/p&gt;
&lt;img src=&quot;http://i.imgur.com/ur555.png&quot; alt=&quot;Style Editor mockup&quot;&gt;
&lt;p&gt;In the future, we will probably add a way to choose your own color scheme. Solarized, monokai, desert, ...&lt;/p&gt;
&lt;p&gt;But I was thinking &lt;q&gt;why a light theme by default?&lt;/q&gt;? Are we sure that most of the people people
prefer having a light theme? So &quot;OMG SURVEY!&quot;, got ~1600 answers in 2 hours, which is quite
amazing, and here are the results:&lt;/p&gt;

&lt;dl&gt;&lt;canvas&gt;&lt;pre&gt;
White on black  (dark background) 1015 63%
Black on white (light background) 594 37%
&lt;/pre&gt;&lt;/canvas&gt;&lt;/dl&gt;

&lt;p&gt;Conclusion? &lt;em&gt;Apparently, people prefer dark themes.&lt;/em&gt;
I am not saying we will use a dark theme by default, but for sure,
the option has to be present.
So not sure what we are going to do now, we need to talk with our UX team.
But this will be easier to take a decision with actual data :)&lt;/p&gt;

&lt;p&gt;Thank you all for answering the survey :)&lt;/p&gt;

&lt;p&gt;PS: &lt;em&gt;I think it's just awesome that I can setup such survey in a couple of minutes,
publish it, and get such strong results 2 hours after. Wow!&lt;/em&gt;&lt;/p&gt;

&lt;script&gt;
  var values = {
    dark: {value: 1015, label: &quot;White on black  (dark background)&quot;, color: &quot;#555&quot;},
    light: {value: 594, label: &quot;Black on white (light background)&quot;, color: &quot;#DDD&quot;},
  };

  var total = 0;
  for (var e in values) {
    total += values[e].value;
  }
  console.log(total);

  function drawPi(canvas, width, height) {
    canvas.width = width;
    canvas.height = height;

    var ctx = canvas.getContext(&quot;2d&quot;);
    ctx.strokeStyle = &quot;white&quot;;
    ctx.lineWidth = &quot;2&quot;;

    var lastA = -Math.PI / 2;
    var dl = document.querySelector(&quot;dl&quot;);
    for (var e in values) {

      ctx.fillStyle = values[e].color;

      var a = values[e].value / total;
      a *= 2 * Math.PI;
      a += lastA;

      var dt = document.createElement(&quot;dt&quot;);
      dt.innerHTML = values[e].label
      var dd = document.createElement(&quot;dd&quot;);
      dd.innerHTML = Math.round(100 * (values[e].value / total)) + &quot;% (&quot; + values[e].value + &quot;)&quot;;

      dl.appendChild(dt);
      dl.appendChild(dd);

      dt.style.borderColor = ctx.fillStyle;


      ctx.beginPath();
      ctx.moveTo(width / 2, height / 2);
      ctx.arc(width / 2, height / 2, width / 2 * 0.9, lastA, a, false);
      ctx.closePath();
      ctx.fill();
      ctx.stroke();
      lastA = a;
    }

    ctx.beginPath();
    ctx.arc(width / 2, height / 2, width / 2 * 0.9, 0, Math.PI * 2, false);
    ctx.closePath();
    ctx.stroke();
  }

  drawPi(document.querySelector(&quot;canvas&quot;), 150, 150);

&lt;/script&gt;

&lt;style&gt;
  dl {
    padding: 10px;
    background-color: #261C21;
    color: white;
  }
  dt {
    border-style: solid;
    border-width: 0 0 0 10px;
    margin-top: 10px;
    padding-left: 10px;
  }
  dd {
    display: inline-block;
    width: 30%;
  }
&lt;/style&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/bugsfromtwitterfixed</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/bugsfromtwitterfixed"/>
    <title>2 firefox bugs fixed, thanks to good reports on twitter</title>
    <updated>2011-12-16T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;script src=&quot;http://embedtweet.com/javascripts/embed_v2.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;A couple of days ago, &lt;a href=&quot;http://paulrouget.com/e/reportFxBugOnTwitter/&quot;&gt;I wrote about how important it is to be accurate when you report
bugs on Twitter&lt;/a&gt;. I also encouraged my followers to report bugs directly on bugzilla.
Since then, we manage to fix 2 bugs. And that was just pain-free. Let's look at what happened:&lt;/p&gt;

&lt;h2&gt;First bug, wrong label when bookmarking a link that includes nested spans:&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;@manchurian, 7:31 PM - 14 Dec 11&lt;/strong&gt;, reports a bookmark bug:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/#!/manchurian/status/147020827332837376&quot;&gt;Tiny obscure bug when bookmarking links with nested text nodes jsfiddle.net/paa2004/gh8xN/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;@paulrouget, 10:18 PM - 14 Dec 11&lt;/strong&gt;, I isolate the faulty function in another jsfiddle, and ask on twitter if anyone feels like finding what's wrong:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/#!/paulrouget/status/147062974073409536&quot;&gt;HELP! You know JavaScript? Here is a Firefox bug you can probably fix (no need to compile): jsfiddle.net/gh8xN/11/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;@DvdBng, 10:25 PM - 14 Dec 11&lt;/strong&gt;, David Bengoa (Firefox spanish volunteer) finds the bug:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/#!/DvdBng/status/147064784263708672&quot;&gt;something like this? jsfiddle.net/gh8xN/12/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At, 10:53 PM - 14 Dec 11&lt;/strong&gt;, I open a bug (&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=710878&quot;&gt;bug 710878&lt;/a&gt;) and attach the fix.&lt;p&gt;

&lt;p&gt;One day after, I add a test, the patch is reviewed by @dietrich. &lt;strong&gt;And done!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Second bug, Drag'n droping a file from dribbble.com to the Finder (Mac) creates a corrupted file:&lt;/h2&gt;

&lt;p&gt;This report is interesting because it comes with &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=707600&quot;&gt;a bug&lt;/a&gt; report on bugzilla, by &lt;a href=&quot;http://twitter.com/maxart&quot;&gt;@maxart&lt;/a&gt;.
Once @maxart opened the bug, he pinged me on Twitter, and cc'ed me in the bug. It took me an hour to
figure out what was going on (with the help of @maxart). Then a week pass (got some emails problems). Then I ping a couple of
people on IRC, Gavin found what the problem is (duplicate of an existing bug). 2 hours later, Gavin
posts a patch. &lt;strong&gt;And done!&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thank you @manchurian, @DvdBng, @maxart and @dietrich!&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/reportbugontwitter</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/reportFxBugOnTwitter"/>
    <title>How to report a Firefox bug on Twitter</title>
    <updated>2011-12-09T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;How to report a Firefox bug on Twitter (to me)&lt;/h1&gt;

&lt;p&gt;I have several &lt;a href=&quot;http://twitter.com/paulrouget&quot;&gt;thousands followers on Twitter&lt;/a&gt;. As a Firefox developer,
it's an invaluable way to get inputs from advanced users. I get ideas, I get complains, I get praises, I get bugs.
And believe me, this has a real influence on the quality of Firefox. &lt;strong&gt;Yeah! Thank you all!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;About bug reports…&lt;/h2&gt;

&lt;p&gt;I get a lot of them. And often, it is too fuzzy to understand what the problem is.
Let me give you an example:&lt;/p&gt;
&lt;blockquote&gt;&quot;Ouch, mediocre rendering of xxx.org/demo.html by Firefox 8 compared to Chrome 17 ! @paulrouget, will this be fixed in Aurora ?&quot;&lt;/blockquote&gt;
&lt;p&gt;Everything is wrong in this tweet:
  &lt;ol&gt;
    &lt;li&gt;You don't tell what is actually wrong. I have to open the page, look, and assume that you might be referring to
    this background being stretched. Don't expect me to &quot;guess&quot; what is wrong with your web page. &lt;strong&gt;Tell me precisely what is wrong!&lt;/strong&gt;
    &lt;li&gt;There are hundred of lines of code. Do you expect me to go through the whole thing? &lt;strong&gt;Please isolate the bug in &lt;a href=&quot;http://jsfiddle.net&quot;&gt;jsfiddle.net&lt;/a&gt;.&lt;/strong&gt;
    &lt;li&gt;&lt;strong&gt;Don't assume it's a Firefox bug because the result is different from Chrome.&lt;/strong&gt; Webkit is not the reference.
    Webkit includes non-standard features. Webkit has bugs, too. Webkit can behave differently because the spec
    has changed. In the case of this tweet, it was a bug in the CSS code of the demo, not in Firefox.
    &lt;li&gt;&lt;em&gt;&quot;Will this be fixed in Aurora?&quot;&lt;/em&gt; You can test it yourself. &lt;strong&gt;Test with the latest development version of Firefox (&lt;a href=&quot;http://firefox.com/nightly&quot;&gt;firefox.com/nightly&lt;/a&gt;)&lt;/strong&gt; to know if it's fixed or not.
  &lt;/ol&gt;
&lt;/p&gt;

&lt;h2&gt;Did you consider opening a bug on &lt;a href=&quot;https://bugzilla.mozilla.org/enter_bug.cgi&quot;&gt;bugzilla.mozilla.org?&lt;/a&gt;?&lt;/h2&gt;

&lt;p&gt;Try to open a bug. It is not that hard. If you're not confident, it's ok. Try to open a bug,
cc me (just type &lt;em&gt;:paul&lt;/em&gt; in the CC field), and I will update the bug if there's anything wrong.
I will also make sure that the concerned developer will look at the bug.&lt;/p&gt;

&lt;p&gt;You probably want to use these links:
&lt;ul&gt;
  &lt;li&gt;Open a Gecko bug: &lt;a href=&quot;http://is.gd/report_gecko_bug_cc_paul&quot;&gt;http://is.gd/report_gecko_bug_cc_paul&lt;/a&gt;
  &lt;li&gt;Open a Firefox bug: &lt;a href=&quot;http://is.gd/report_firefox_bug_cc_paul&quot;&gt;http://is.gd/report_firefox_bug_cc_paul&lt;/a&gt;
&lt;/ul&gt;

&lt;h2&gt;One more thing…&lt;/h2&gt;
&lt;p&gt;Being rude doesn't help. That doesn't happen often, but it happens. As someone else said: &lt;em&gt;&quot;That question would be easier to answer without the personal attacks.&quot;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thank you!&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/htmltreedesign</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/htmltree"/>
    <title>HTML Tree Design</title>
    <updated>2011-10-04T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;script src=&quot;http://embedtweet.com/javascripts/embed_v2.js&quot;&gt;&lt;/script&gt;
&lt;a href=&quot;http://twitter.com/#!/paulrouget/status/121196368256708609&quot;&gt;Designers, help us to improve the look of the Firefox HTML Tree. See: http://twitter.com/#!/paulrouget/status/121196368256708609&lt;/a&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/workspace</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/workspace"/>
    <title>My workspace is a terminal.</title>
    <updated>2011-09-28T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;My workspace is a terminal.&lt;/h1&gt;

&lt;div id=&quot;slidemypics_788693&quot; style=&quot;float: left; margin-right: 5px&quot;&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://files.slidemypics.com/app/js/embedGenerate.js&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot;&gt;generate(&quot;slidemypics_788693&quot;,&quot;icon&quot;,&quot;http://files.slidemypics.com/app/js/iframe.html?bg_color=1f1f1f&amp;amp;hash=3d0da8aea9a40b32d22188415a256983&amp;amp;r=0.07687836610100374&quot;,&quot;1200&quot;,&quot;660&quot;,&quot;http://farm7.static.flickr.com/6023/6191728138_bcbfdcf7c1_s.jpg&quot;,&quot;http://files.slidemypics.com/app/js/share_icon.png&quot;,&quot;View slideshow&quot;);&lt;/script&gt;&lt;noscript&gt;&lt;a href=&quot;http://www.flickr.com//photos/paulrouget/sets/72157627771384450/&quot;&gt;Flickr set&lt;/a&gt;&lt;/noscript&gt;

&lt;p&gt;This is my setup. You can see:
&lt;a href=&quot;http://tmux.sourceforge.net/&quot;&gt;&lt;em&gt;tmux&lt;/em&gt;&lt;/a&gt; (a &lt;em&gt;screen&lt;/em&gt; equivalent)
&lt;em&gt;Vim&lt;/em&gt;,
&lt;em&gt;zsh&lt;/em&gt;,
&lt;em&gt;Mutt&lt;/em&gt;,
&lt;em&gt;irssi&lt;/em&gt; (running in a &lt;em&gt;dtach&lt;/em&gt; on a server).
(&lt;a href=&quot;http://www.flickr.com//photos/paulrouget/sets/72157627771384450/&quot;&gt;Flickr set&lt;/a&gt;).&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/mozilla-openness</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/openness"/>
    <title>Mozilla Openness facts</title>
    <updated>2011-09-08T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;!-- video-js --&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;/video-js/video-js.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; title=&quot;Video JS&quot; charset=&quot;utf-8&quot;&gt;
&lt;script src=&quot;/video-js/video.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;VideoJS.setupAllWhenReady();&lt;/script&gt;
&lt;!-- /video-js --&gt;

&lt;h1&gt;Mozilla Openness Facts&lt;/h1&gt;

&lt;div class=&quot;video-js-box&quot;&gt;
  &lt;video width=&quot;640&quot; height=&quot;360&quot; class=&quot;video-js&quot; poster=&quot;http://i.imgur.com/KJCZS.png&quot;&gt;
    &lt;source src=&quot;http://videos-cdn.mozilla.net/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.webm&quot; type=&quot;video/webm&quot;&gt;&lt;/source&gt;
    &lt;source src=&quot;http://videos-cdn.mozilla.net/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.ogv&quot; type=&quot;video/ogg&quot;&gt;&lt;/source&gt;
    &lt;source src=&quot;http://videos-cdn.mozilla.net/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.mp4&quot; type=&quot;video/mp4&quot;&gt;&lt;/source&gt;
    &lt;object class=&quot;vjs-flash-fallback&quot; type=&quot;application/x-shockwave-flash&quot; style=&quot;width: 640px; height: 360px;&quot; data=&quot;http://www.mozilla.com/includes/flash/playerWithControls.swf?flv=/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.mp4&amp;amp;autoplay=false&amp;amp;msg=Play%20Video&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.mozilla.com/includes/flash/playerWithControls.swf?flv=/serv/webmademovies/Moz_Doc_0329_GetInvolved_ST.mp4&amp;amp;autoplay=false&amp;amp;msg=Play%20Video&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/object&gt;
  &lt;/video&gt;
  &lt;figcaption&gt;[video] What is Mozilla - &lt;a href=&quot;http://www.mozilla.org/contribute&quot;&gt;http://www.mozilla.org/contribute&lt;/a&gt;&lt;/figcaption&gt;
&lt;/div&gt;

&lt;p&gt;So I was planning to publish a long article about what we call &lt;em&gt;Openness&lt;/em&gt; at Mozilla. The article
was very boring. Here are some facts instead:&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  The Mozilla products are &lt;strong&gt;all&lt;/strong&gt; Free &amp;amp; Open Source, even our websites.
  Check out our &lt;a href=&quot;http://hg.mozilla.org&quot;&gt;Mercurial repository (Firefox &amp;amp; co)&lt;/a&gt;,
  our &lt;a href=&quot;http://svn.mozilla.org/&quot;&gt;SVN repository (our websites)&lt;/a&gt;,
  our &lt;a href=&quot;https://github.com/mozilla/&quot;&gt;Github repository (labs projects and some websites)&lt;/a&gt;.
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  If you're part of the Free Software community or the Open Web community, you're welcome to come to the Mozilla offices,
  take a seat, and talk to us. You'll probably find some Mozilla volunteers hanging around.
&lt;/p&gt;

&lt;figure&gt; &lt;img src=&quot;http://farm7.static.flickr.com/6027/5918343958_c56428075f.jpg&quot;&gt;&lt;figcaption&gt;Paris office - Photo by Viking Karwur.&lt;/figcaption&gt; &lt;/figure&gt;

&lt;p class=&quot;fact&quot;&gt;
  You probably know &lt;a href=&quot;http://blog.mozilla.com/blog/2010/10/14/introducing-our-new-ceo-gary-kovacs/&quot;&gt;Gary Kovacs&lt;/a&gt;,
  our CEO. I remember the first time I met him. He came to the Paris Office to discuss the future of Firefox.
  As said before, the office is open to any community member. One of them
  was there to part in the meeting (hello Julia!).
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  You can report bugs, participate in the technical discussions, see what we are working on,
  on &lt;a href=&quot;http://bugzilla.mozilla.org&quot;&gt;bugzilla.mozilla.org&lt;/a&gt; and &lt;a href=&quot;https://lists.mozilla.org/listinfo&quot;&gt;our mailing lists&lt;/a&gt;.
  There are only 2 things you won't see in there: important security related bugs, and stupid internal stuff like &lt;q&gt;Hey, I need a new computer.&lt;/q&gt;.
&lt;/p&gt;

&lt;div class=&quot;video-js-box&quot;&gt;
  &lt;video width=&quot;640&quot; height=&quot;360&quot; class=&quot;video-js&quot; poster=&quot;http://www.mozilla.org//images/about/poster.jpg&quot;&gt;
    &lt;source src=&quot;http://videos-cdn.mozilla.net/brand/Mozilla_Firefox_Manifesto_v0.2_640.webm&quot; type=&quot;video/webm&quot;&gt;&lt;/source&gt;
    &lt;source src=&quot;http://videos-cdn.mozilla.net/brand/Mozilla_Firefox_Manifesto_v0.2_640.theora.ogv&quot; type=&quot;video/ogg&quot;&gt;&lt;/source&gt;
    &lt;source src=&quot;http://videos-cdn.mozilla.net/brand/Mozilla_Firefox_Manifesto_v0.2_640.mp4&quot; type=&quot;video/mp4&quot;&gt;&lt;/source&gt;
    &lt;object type=&quot;application/x-shockwave-flash&quot; class=&quot;vjs-flash-fallback&quot; style=&quot;width: 640px; height: 360px;&quot; data=&quot;http://www.mozilla.com/includes/flash/playerWithControls.swf?flv=/serv/brand/Mozilla_Firefox_Manifesto_v0.2_640.mp4&amp;amp;autoplay=false&amp;amp;msg=Play%20Video&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.mozilla.com/includes/flash/playerWithControls.swf?flv=/serv/brand/Mozilla_Firefox_Manifesto_v0.2_640.mp4&amp;amp;autoplay=false&amp;amp;msg=Play%20Video&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/object&gt;
  &lt;/video&gt;
  &lt;figcaption&gt;Video from &lt;a href=&quot;http://www.mozilla.org/about/&quot;&gt;http://www.mozilla.org/about/&lt;/a&gt;&lt;/figcaption&gt;
&lt;/div&gt;

&lt;p class=&quot;fact&quot;&gt;
  A lot of our meetings are broadcasted live on &lt;a href=&quot;http://air.mozilla.org&quot;&gt;air.mozilla.org&lt;/a&gt;.
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  You want to know about our revenue? Ok, go &lt;a href=&quot;http://www.mozilla.org/foundation/annualreport/2009/sustainability.html&quot;&gt;there&lt;/a&gt; (2009 report, written end of 2010).
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  We are publishing every day our performance test results, comparing ourself to other people, shamelessly: &lt;a href=&quot;http://arewefastyet.com/&quot;&gt;arewefastyet.com&lt;/a&gt;. You can find more performance measurements &lt;a href=&quot;http://graphs-new.mozilla.org&quot;&gt;here&lt;/a&gt; (explanation &lt;a href=&quot;http://roberthelmer.com/blog/?p=178&quot;&gt;there&lt;/a&gt;).
&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;http://i.imgur.com/cyyvX.png&quot;&gt;&lt;/figure&gt;

&lt;p class=&quot;fact&quot;&gt;
  Same thing for the results of our User Experience research project. Look at this &lt;a href=&quot;https://heatmap.mozillalabs.com/&quot;&gt;heatmap&lt;/a&gt;.
&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;http://i.imgur.com/NkhmY.png&quot;&gt;&lt;/figure&gt;

&lt;p class=&quot;fact&quot;&gt;
  You know the little &quot;feedback&quot; button in Firefox Beta? You can see &lt;a href=&quot;http://input.mozilla.com&quot;&gt;our analysis and results online&lt;/a&gt; (more details &lt;a href=&quot;http://aakash.doesthings.com/2011/01/17/firefox-input-dashboard-basic-feature-walkthrough/&quot;&gt;here&lt;/a&gt;).
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  You can see the advancement of our work on the Firefox design here: &lt;a href=&quot;http://areweprettyyet.com&quot;&gt;areweprettyyet.com&lt;/a&gt;. You can see what are our priorities, you can comment in the bugs. Same for the addons manager: &lt;a href=&quot;http://www.donotlick.com/&quot;&gt;www.donotlick.com&lt;/a&gt;. (That was for Firefox 4, &lt;a href=&quot;http://newdefault.tumblr.com/&quot;&gt;here&lt;/a&gt; is more designs for the future versions of Firefox).
&lt;/p&gt;

&lt;figure&gt; &lt;img src=&quot;http://i.imgur.com/tDiEi.png&quot;&gt;&lt;/figure&gt;

&lt;p class=&quot;fact&quot;&gt;
  Remember the little dialog when Firefox crashes, sending (anonymous) information about the crash to our server? Well, you can
  see the results here: &lt;a href=&quot;http://crash-stats.mozilla.com&quot;&gt;crash-stats.mozilla.com&lt;/a&gt;. Also, you can see your own crashes if you go to &lt;em&gt;about:crashes&lt;/em&gt;.
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  Did I mention we are a family? Shipping a product is hard. See how Damon Sicore (VP of Engineering) &lt;a href=&quot;https://groups.google.com/group/mozilla.dev.planning/browse_thread/thread/edeea49d5339d7e7?pli=1&quot;&gt;talks publicly&lt;/a&gt; to all the developers:
  &lt;q&gt;I know you're all tired and stressed. You all do incredible work every day, and you've built an amazing product. Stay focused. Be nice to each other. Firefox 4 is gonna kick ass, and you should be fiercely proud of it.&lt;/q&gt;
&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;http://i.imgur.com/hATtq.jpg&quot;&gt;&lt;figcaption&gt;Damon Sicore&lt;/figcaption&gt;&lt;/figure&gt;

&lt;p class=&quot;fact&quot;&gt;
  Want to follow closely the development of Firefox? No secret, go there: &lt;a href=&quot;https://lists.mozilla.org/listinfo/dev-planning&quot;&gt;dev-planning mailing list&lt;/a&gt;.
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  At Mozilla, we have meetings (phone calls). A lot of them are open to anybody from the
  community. Want to be part of the Marketing Community call? &lt;a href=&quot;http://guides.mozilla.org/Marketing&quot;&gt;The number is here&lt;/a&gt;. Want to join the Firefox/Gecko Delivery Meeting? You'll find the phone number &lt;a href=&quot;https://wiki.mozilla.org/Firefox/Planning&quot;&gt;here&lt;/a&gt; (even the video conference URL). Check out the &lt;a href=&quot;http://wiki.mozilla.org&quot;&gt;wiki&lt;/a&gt; for all the calls (better
  to check &lt;a href=&quot;https://lists.mozilla.org/listinfo/dev-planning&quot;&gt;dev-planning&lt;/a&gt; list for the call announcements).
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  The roadmap of the Mozilla products? Sure, it's on &lt;a href=&quot;https://wiki.mozilla.org/Roadmaps&quot;&gt;the wiki&lt;/a&gt;. Want to see the features we are working on? Check &lt;a href=&quot;https://wiki.mozilla.org/Features/Firefox&quot;&gt;this&lt;/a&gt; out.
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  You can find all our meeting notes online on &lt;a href=&quot;http://blog.mozilla.com/meeting-notes/&quot;&gt;this blog&lt;/a&gt;. Also we have a &lt;a href=&quot;http://blog.mozilla.com/engineeringnews/&quot;&gt;Mozilla Engineering Newsletter&lt;/a&gt;.
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  A lot of employees push their weekly status report online, like &lt;a href=&quot;http://www.bitstampede.com/2011/01/17/the-sheppy-report-week-of-january-10/&quot;&gt;Sheppy&lt;/a&gt; or &lt;a href=&quot;http://www.oxymoronical.com/blog/2011/01/Mossop-Status-Update-2011-01-21&quot;&gt;Mossop&lt;/a&gt;.
&lt;/p&gt;

&lt;p class=&quot;fact&quot;&gt;
  How do you think the team synchronises their work? Mailing lists, blogs, IRC, ... all public.
  Here is &lt;a href=&quot;http://limi.net/articles/help-us-finish-firefox-4&quot;&gt;Limi's message&lt;/a&gt; to the volunteers and employees about &lt;q&gt;where to focus their efforts&lt;/q&gt;,
  and &lt;a href=&quot;http://christian.legnitto.com/blog/2011/01/25/updated-firefox-4-beta-plan/&quot;&gt;here&lt;/a&gt; the status update of his team.
  &lt;a href=&quot;http://christian.legnitto.com/blog/2011/01/25/updated-firefox-4-beta-plan/&quot;&gt;Another example&lt;/a&gt;, Christian Legnitto, Firefox Release Manager, giving an update of the Firefox 4 Beta plan.
  We share our stories. Here 2 other examples from John O'Duinn talking about our &lt;a href=&quot;http://oduinn.com/blog/2011/02/23/1797-makefiles/&quot;&gt;Makefiles&lt;/a&gt; and &lt;a href=&quot;http://oduinn.com/blog/2011/02/23/1797-makefiles/&quot;&gt;Branches&lt;/a&gt;.
&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;http://i.imgur.com/ijcBr.png&quot;&gt;&lt;/figure&gt;

&lt;p class=&quot;fact&quot;&gt;
  Also, we organize huge parties all together (employees, volunteers). I don't know if
  it means we are open, but at least, it means that we know how to have fun :)
&lt;/p&gt;

&lt;figure&gt;&lt;img src=&quot;http://i.imgur.com/UyjsA.jpg&quot;&gt;&lt;figcaption&gt;Mozilla Summit 2010&lt;/figcaption&gt;&lt;/figure&gt;

&lt;p class=&quot;fact&quot;&gt;
  I have been a Mozillian for 8 years now (5 years as a volunteer). This is a fantastic experience.
  Want to join us? &lt;a href=&quot;http://www.mozilla.org/contribute/areas.html&quot;&gt;Here&lt;/a&gt; are areas where you can can help.
&lt;/p&gt;


&lt;p&gt;&lt;em&gt;Note: This list has been built during the last 6 months. Some links can be outdated.&lt;/em&gt;&lt;/p&gt;

&lt;style&gt;
  body &gt; article &gt; .fact {
    margin: 20px;
    max-width: 400px;
    position: relative;
    text-align: left;
  }
  body &gt; article &gt; .fact:first-letter {
    font-size: 150%;
  }
  body &gt; article &gt; .fact &gt; q {
    color: grey;
    font-style: italic;
  }
  figure img {
    max-width: 400px;
  }

  body &gt; article figcaption {
    display: block;
    color: grey;
    font-style: italic;
    font-size: 70%;
    margin-top: 10px;
  }

&lt;/style&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/taiwan-opera-webos</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/mobilewebapps"/>
    <title>Mobile Web: Taiwan, Opera and WebOS</title>
    <updated>2011-09-05T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1 class=&quot;quote&quot;&gt;I bought a WebOS device and went to Taiwan.
Now I understand why the Web on Mobile is a pretty big deal.&lt;/h1&gt;

&lt;p class=&quot;tldr&quot;&gt;This is a pretty naïve talk about me being stuck
with a phone with no (good) Apps, and observing people in Taïwan
using their phones in a different way that Western people do.
I don't know much about the Asian market and these observations are
from a very short experience with a small group of people. Excuse
the non-scientific analysis.&lt;/p&gt;

&lt;p&gt;I bought a HP Veer (WebOS inside) two weeks ago.
Why? Because I was curious. I wanted to know more about WebOS.
I love the hardware and the &quot;cards&quot; system is awesome.&lt;/p&gt;

&lt;p&gt;Just after that, I went to Taiwan to give a &lt;a href=&quot;http://blog.mozilla.com/gen/2011/09/05/mozilla-meets-opera-%e2%80%94-beyond-html5-dialogue-between-web-developers-and-browser-experts/&quot;&gt;couple of talks&lt;/a&gt; about HTML5.
My talks went well. But I have to admit I learned much more than the audience did.&lt;/p&gt;

&lt;p&gt;How are these events related? Let me tell you.&lt;/p&gt;

&lt;h2&gt;1) I bought a WebOS device&lt;/h2&gt;

&lt;p&gt;
So I got my new phone. Didn't really take the time to play with it. Took the plane.
Landed in Taiwan. Switched on my computer and got this email:
&lt;/p&gt;

&lt;p class=&quot;quote&quot;&gt;HP dropped WebOS. lol !&lt;/p&gt;
&lt;p&gt;Fuck.&lt;/p&gt;
&lt;img class=&quot;float-right&quot; width=&quot;150&quot; src=&quot;http://i.imgur.com/fs6aT.jpg&quot;&gt;

&lt;p&gt;Whatever, I wanted to test the device and WebOS. Time to test/install the Apps I need the most, which are:
&lt;ul&gt;
  &lt;li&gt;Twitter
  &lt;li&gt;eMails
  &lt;li&gt;RSS Reader
  &lt;li&gt;Hackernews
  &lt;li&gt;Reddit
  &lt;li&gt;TripAdvisor
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;The Twitter Apps suck. There is no RSS reader synced with Google Reader. The Hackernews App crashes,
the UIs of Reddit Apps are buggy. And no TripAdvisor App.
&lt;strong&gt;And I knew it will not get better. HP dropped WebOS&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;So what? Did I buy this phone for nothing?&lt;/p&gt;

&lt;h2&gt;2) I went to Taiwan&lt;/h2&gt;

&lt;p&gt;In the mean time, I was in Taiwan, my very first time there.&lt;/p&gt;

&lt;img class=&quot;postimg&quot; width=&quot;200&quot; src=&quot;http://i.imgur.com/obaMk.jpg&quot; title=&quot;I know. I had to try that.&quot;&gt;

&lt;h3&gt;Devices,&lt;/h3&gt;

&lt;p&gt;One of the very first thing you can notice (after the crazy weather) is that they all use phones and tablets.
More than us? I can't really tell. But my impression is that there was no computers anymore. Only tablets and phones.
The main difference was about the diversity.&lt;/p&gt;


&lt;p&gt;Some Apple devices, but not that much. Most of the smartphones are Samsung and HTC phones (no surprise here),
but also a *lot* of feature phones and not-that-smart-phones (old smart phones).
And also tablets. Everywhere. Some iPads, some well-know Android tablets, and a lot of tablets I never heard about.&lt;/p&gt;

&lt;img class=&quot;postimg&quot; width=&quot;200&quot; src=&quot;http://i.imgur.com/BbmYy.jpg&quot; title=&quot;In Taipei, we sell Tablets like we sell Pizza here.&quot;&gt;


&lt;h3&gt;Opera,&lt;/h3&gt;
&lt;p&gt;Opera Mini everywhere!
&lt;img class=&quot;float-right&quot; src=&quot;http://i.imgur.com/suct0.png&quot;&gt;
While Opera Mobile is a normal mobile web browser, Opera Mini is just a small client that connects
to the Opera's server and asks for an URL. Then, the Opera's servers compute the web page, and send
the already rendered web page to the device. All the browsing logic happens in Opera's servers.&lt;/p&gt;

&lt;p&gt;Opera is big there.&lt;/p&gt;


&lt;p&gt;I saw this girl using Opera Mini on an iPad. While I totally understand why you would use Opera on a feature phone, using Opera on an iPad looked weird to me. The stock browser is very good, why would you bother installing another browser? Well, I asked her. She didn't really manage to give me a well-argued answer. Sounded like it was a normal thing. She was surprised I was surprised.&lt;/p&gt;

&lt;p&gt;I understand now that Opera is a risk-free browsing experience over there.&lt;/p&gt;

&lt;p&gt;Opera is big because,
&lt;ul&gt;
  &lt;li&gt;Chinese websites work on Opera. Opera is a safe way to browse the web when you are in Asia.
  Opera works for any websites, on any phones;
  &lt;li&gt;they are present on feature phones;
  &lt;li&gt;they are in &quot;the places to be&quot;, talking to OEMs, and being actively present at all the web-related events. They were giving talks at COSCUP (an Open Source conference. Opera is not Open Source at all);
  &lt;li&gt;Android devices are sold with Opera.
&lt;/ul&gt;

&lt;h3&gt;Apps,&lt;/h3&gt;

&lt;p&gt;What about Apps? I really can't tell. Smartphones and tablets use Android 2.3 and Honeycomb. I saw people using Apps for games and Instant Messaging on modern smartphones. But all these feature phones, they don't really have Apps.&lt;/p&gt;
&lt;p&gt;Native Apps are not the only way to use web services. It's just an option.&lt;/p&gt;

&lt;img class=&quot;float-right&quot; src=&quot;http://i.imgur.com/nszKy.png&quot;&gt;
&lt;p&gt;Look at &lt;a href=&quot;http://plurk.com&quot;&gt;Plurk&lt;/a&gt;. It's a famous Asian social network. I saw people using Native Apps, but also
a lot of people using the &lt;a href=&quot;http://m.plurk.com&quot;&gt;Web App&lt;/a&gt;. Do you use the Web Twitter client on your phone?&lt;/p&gt;
&lt;p&gt;For sure, they use a web browser much more than I do, and they don't have this &quot;App reflex&quot;.&lt;/p&gt;

&lt;p class=&quot;quote&quot;&gt;Western people all use the same kind of smartphones. Android phones or iPhones. We also use
the same kind of services. Twitter, Facebook, Google. The lack of diversity in the Operating Systems
and in the Services we use made us forget that Web Browsers on phones are a crucial thing.&lt;/p&gt;

&lt;h2&gt;3) What I've learned&lt;/h2&gt;

&lt;p&gt;I realize now that I don't really use a web browser on my phone.
Really. On my Android phone, I use mostly Native Apps, and I use the browser
when I have to. I have this &quot;App reflex&quot;:&lt;/p&gt;

&lt;p class=&quot;quote&quot;&gt;I don't really use a browser anymore. Once I know what service I need, I download an
App and use it.&lt;/p&gt;

&lt;p&gt;Some people can't or don't want to use Native Apps. Because their phones don't have Apps, or because there is just
no good Apps for what they want to do, or because, well, because they don't need to.&lt;/p&gt;

&lt;p&gt;And they don't need to because the browsers have always been good enough. Thank Opera for that.&lt;/p&gt;

&lt;p class=&quot;quote&quot;&gt;While in the Western world we were looking at Apple bringing pretty Apps in an expensive device, in the Eastern world, Opera was bringing a working web browser to all the existing devices.&lt;/p&gt;

&lt;p&gt;
Two different stories, two different behaviors. I don't say that one is better than the other.
Native Apps are easier to use and look better. Web Apps are available everywhere and can't be blocked.
&lt;/p&gt;

&lt;h2&gt;4) What do I do with my WebOS phone then?&lt;/h2&gt;

&lt;p&gt;I use Web Apps now. Only Web Apps. The web browser is decent, based on Webkit.
It's been 2 weeks now, and I like it so far.&lt;/p&gt;

&lt;p&gt;Here are some examples:&lt;/p&gt;

&lt;p&gt;Have you heard about &lt;a href=&quot;http://hahlo.com&quot;&gt;Hahlo&lt;/a&gt;? It's a web client for Twitter. It's damn good.
This is my new twitter client:&lt;/p&gt;
&lt;a href=&quot;http://hahlo.com&quot;&gt;&lt;img class=&quot;postimg&quot; src=&quot;http://i.imgur.com/6reCN.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;The original hackernews website doesn't look good on a mobile phone.
But someone created &lt;a href=&quot;http://ihackernews.com&quot;&gt;a mobile version&lt;/a&gt; of this page:&lt;/p&gt;
&lt;a href=&quot;http://ihackernews.com&quot;&gt;&lt;img class=&quot;postimg&quot; src=&quot;http://i.imgur.com/AMXB5.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;Here is my App Launcher:&lt;/p&gt;

&lt;img style=&quot;width:180px; border: 2px solid black;&quot; src=&quot;http://i.imgur.com/m6GaQ.png&quot;&gt;
&lt;img style=&quot;width:180px; border: 2px solid black;&quot; src=&quot;http://i.imgur.com/ZNkrD.png&quot;&gt;

&lt;h3&gt;What I miss,&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;I don't really like the web Reddit client. On Android, I still use the Native App;
  &lt;li&gt;And I didn't find any good web &quot;Clock&quot; App;
  &lt;li&gt;At Mozilla, we use Zimbra for our webmail, but I don't really like it;
  &lt;li&gt;The native Google Maps is better than the web one (on WebOS).
&lt;/ul&gt;

&lt;h2&gt;5) Web Apps, is it working? What can we improve?&lt;/h2&gt;

&lt;p&gt;It is working. The best example is probably Hahlo. But web developers
need to use the &lt;a href=&quot;https://developer.mozilla.org/en/mobile&quot;&gt;right technologies&lt;/a&gt;
(viewport, geolocation, Media Queries, localStorage, App Cache, …).&lt;/p&gt;

&lt;p&gt;HTML5 (and CSS3, and the different APIs coming with HTML5) is pretty powerful.
But still behind Native features. Here is a couple of features I would really love to see:&lt;/p&gt;

&lt;h3&gt;Notifications&lt;/h3&gt;
&lt;p&gt;I want Hahlo (my Web Twitter client) to notify me when I have a new @mention.
Firefox for mobile &lt;a href=&quot;https://developer.mozilla.org/en/DOM/Displaying_notifications&quot;&gt;supports notifications&lt;/a&gt;
on Android. Not sure about Webkit.&lt;/p&gt;

&lt;h3&gt;Big icons&lt;/h3&gt;
&lt;p&gt;Favicons are not big enough. The iPod touch icons (present in a lot of websites)
are served when you use an iPhone or an iPod. People should start using bigger icons.
See &lt;a href=&quot;http://blog.margaretleibovic.com/post/8099813509/larger-site-icons&quot;&gt; Margaret's blog post about this&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Look at the Hahlo icon here for example:&lt;/p&gt;
&lt;img class=&quot;postimg&quot; src=&quot;http://i.imgur.com/wXvuS.png&quot;&gt;

&lt;h3&gt;Register as content-handler&lt;/h3&gt;
&lt;p&gt;I want Web Apps to be able to declare themselves as being able to handle a type of content. Images for example. Or music. Then I would be able to have a Music player or a Gallery App that uses my local files.&lt;/p&gt;
&lt;p&gt;And I want them to be able to be present in the &quot;share&quot; menu.&lt;/p&gt;
&lt;h3&gt;Custom CSS / JS&lt;/h3&gt;
&lt;p&gt;A lot of web pages are not mobile-ready yet. Or have some minor bugs that make
them unusable on my device. I want to be able to fix them, and to share these fixes.
Like for hackernews for example. Right now, I have to use another website that just
fixes the CSS.&lt;/p&gt;
&lt;p&gt;I want something like Stylish and GreaseMonkey. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en/Jetpack&quot;&gt;JetPack&lt;/a&gt; allows that for Firefox Mobile.&lt;/p&gt;

&lt;h3&gt;More!&lt;/h3&gt;

&lt;p&gt;And I won't be against more APIs :)
At Mozilla, we are already working on a set of APIs that woud make Web Apps really
really powerful. With Google and Opera, we are also working on WebRTC to bring
Real-Time Video and P2P connections to the web.&lt;/p&gt;

&lt;h3&gt;As for Mozilla,&lt;/h3&gt;
&lt;p&gt;The Mozilla Mobile team didn't wait for me to address these issues.
After this experience, I understand better what we are doing at Mozilla:
&lt;ul&gt;
  &lt;li&gt;Building &lt;a href=&quot;http://hacks.mozilla.org/2011/08/introducing-webapi/&quot;&gt;new APIs&lt;/a&gt; for the Web;
  &lt;li&gt;Bringing a Web-App-to-Native-App mechanism in Firefox Mobile (try Firefox Aurora on Android);
  &lt;li&gt;&lt;a href=&quot;http://blog.margaretleibovic.com/post/8099813509/larger-site-icons&quot;&gt;Working&lt;/a&gt; on this big icon issue;
  &lt;li&gt;And bringing more competition with Firefox Mobile, because diversity is a good way
  to make sure the web is evolving, and not getting stuck in a not-that-healthy
  state, like Native Apps could be (think about the WebOS experience).
&lt;/ul&gt;

&lt;p style=&quot;font-size: 1.5em&quot; class=&quot;quote&quot;&gt;As long as you have a good browser, your device won't become a brick.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/firefoxlinks</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/fxlinks"/>
    <title>Firefox links</title>
    <updated>2011-08-15T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/syntax.css&quot;&gt;

&lt;p&gt;Back from holidays! … and lot happened in the Firefox world while I was offline. Here are some interesting links.&lt;/p&gt;

&lt;article&gt;
  &lt;h3&gt;JavaScript: experimenting with DOM Joystick Events - &lt;a href=&quot;http://weblog.bocoup.com/javascript-firefox-nightly-introduces-dom-joystick-events&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;em&gt;This is an experimental patch. Not in Firefox yet.&lt;/em&gt;
  &lt;iframe width=&quot;425&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/xy17eyjnxsk&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/article&gt;

&lt;article&gt;
  &lt;h3&gt;Firefox 7 uses less memory than Firefox 6 (and 5 and 4): often 20% to 30% less, and sometimes as much as &lt;strong style=&quot;color:#F06;background-color:#000;padding:0 4px;&quot;&gt;50%&lt;/strong&gt; less. - &lt;a href=&quot;http://blog.mozilla.com/nnethercote/2011/08/09/firefox-7-is-lean-and-fast-2/&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;img class=&quot;postimg&quot; src=&quot;http://blog.mozilla.com/nnethercote/files/2011/08/average2.png&quot;&gt;
&lt;/article&gt;

&lt;article&gt;
  &lt;h3&gt;Brendan Eich about ES6 - &lt;a href=&quot;http://www.aminutewithbrendan.com/pages/20110805&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;audio controls src=&quot;http://minutewith.s3.amazonaws.com/amwb-20110805.ogg&quot;&gt;&lt;/audio&gt;
&lt;/article&gt;

&lt;article&gt;
  &lt;h3&gt;How do Firefox users use Tabs? - &lt;a href=&quot;http://blog.mozilla.com/userresearch/2011/08/test-pilot-new-tab-study-results/&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;img class=&quot;postimg&quot; src=&quot;http://blog.mozilla.com/userresearch/files/2011/08/temp.png&quot;&gt;
&lt;/article&gt;

&lt;article&gt;
  &lt;h3&gt;The New Firefox Permissions Manager - &lt;a href=&quot;http://www.ghacks.net/2011/08/14/the-new-firefox-permissions-manager/&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;img class=&quot;postimg&quot; src=&quot;http://i.imgur.com/6i6Tq.png&quot;&gt;
&lt;/article&gt;

&lt;article&gt;
  &lt;h3&gt;DevTools update. Test the higlighter - &lt;a href=&quot;http://antennasoft.net/robcee/2011/08/08/highlighter-integration-build-august-7-2011/&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;img class=&quot;postimg&quot; src=&quot;http://i.imgur.com/Swi22.jpg&quot;&gt;
&lt;/article&gt;

&lt;article&gt;
  &lt;h3&gt;Rainbow and WebRTC - &lt;a href=&quot;http://mozillalabs.com/rainbow/2011/08/04/whats-next-rainbow-and-webrtc/&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;img class=&quot;postimg&quot; style=&quot;border:none&quot; src=&quot;http://mozillalabs.com/wp-content/themes/labs_project/img/rainbow-header.png&quot;&gt;
&lt;/article&gt;

&lt;article&gt;
  &lt;h3&gt;Strengthening User Control of Add-ons - &lt;a href=&quot;https://blog.mozilla.com/addons/2011/08/11/strengthening-user-control-of-add-ons/&quot;&gt;LINK&lt;/a&gt;&lt;/h3&gt;
  &lt;img class=&quot;postimg&quot; src=&quot;http://blog.mozilla.com/addons/files/2011/08/3rdparty-install-small.png&quot;&gt;
&lt;/article&gt;


&lt;style&gt;
  body &gt; article &gt; article  {
    border-left: 3px solid black;
    padding-left: 30px;
  }
&lt;/style&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/qqueues</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/qqueues"/>
    <title>mercurial, mq and multiple patch queues</title>
    <updated>2011-08-02T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;I haven't heard about &lt;code&gt;hg qqueue&lt;/code&gt; until today (thank you &lt;a ahref=&quot;http://twitter.com/#!/robodesign&quot;&gt;Mihai&lt;/a&gt;!). It allows you to
manage several patch queues. More info: &lt;code&gt;hg help qqueue&lt;/code&gt; or &lt;a href=&quot;http://stevelosh.com/blog/2010/08/a-git-users-guide-to-mercurial-queues/#multiple-patch-queues&quot;&gt;here&lt;/a&gt;. I realize I'm not the only one to do not know that, so I'm sharing :)&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/firefox.next</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/2011.firefox.next"/>
    <title>Firefox.next</title>
    <updated>2011-06-27T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;The future of Firefox&lt;/h1&gt;
&lt;p&gt;Some people are saying that &quot;browsers are done&quot;. I'm happy these people are not working for Mozilla :)&lt;/p&gt;
&lt;p&gt;So just in case you didn't know, Firefox roadmap is open to anyone. Just take a look at these &lt;strong&gt;~100&lt;/strong&gt; features
we are working on for Firefox (&lt;a href=&quot;https://wiki.mozilla.org/Features/Firefox&quot;&gt;link&lt;/a&gt;), these &lt;strong&gt;~70&lt;/strong&gt; features
we are working on for Firefox Mobile (&lt;a href=&quot;https://wiki.mozilla.org/Features/Mobile&quot;&gt;link&lt;/a&gt;) or these &lt;strong&gt;~70&lt;/strong&gt; features we are working on for the
web platform (&lt;a href=&quot;https://wiki.mozilla.org/Features/Platform&quot;&gt;link&lt;/a&gt;).
&lt;p&gt;Things I can't wait for:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Crypto client side (&lt;a href=&quot;https://wiki.mozilla.org/DOMCryptAPI&quot;&gt;link&lt;/a&gt;)
  &lt;li&gt;Media Processing: Capture and recording Webcam &amp;amp; P2P streaming in the browser(&lt;a href=&quot;http://weblogs.mozillazine.org/roc/archives/2011/06/media_processin.html&quot;&gt;link&lt;/a&gt;)
  &lt;li&gt;Identity &amp;amp; Verified Email Service (&lt;a href=&quot;https://wiki.mozilla.org/Identity/Features/Verified_Email_Service&quot;&gt;link&lt;/a&gt;) - &lt;a href=&quot;http://people.mozilla.com/~faaborg/files/projects/firefoxAccount/&quot;&gt;Interactive mockup&lt;/a&gt;
  &lt;li&gt;Home &amp;amp; new tab pages (&lt;a href=&quot;http://blog.mozilla.com/faaborg/2011/06/10/home-tab-and-new-tab-conceptual-mockups/&quot;&gt;link&lt;/a&gt;)
  &lt;li&gt;Social/Sharing mechanism (&lt;a href=&quot;http://f1.mozillamessaging.com/&quot;&gt;link&lt;/a&gt;)
  &lt;li&gt;Web Apps (&lt;a href=&quot;http://apps.mozillalabs.com&quot;&gt;link&lt;/a&gt;)
&lt;/ul&gt;
&lt;img class=&quot;postimg&quot; style=&quot;border:none&quot; src=&quot;/assets/posts/firefox-256-noshadow.png&quot;&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/mqpatch_vim</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/mqpatch_vim"/>
    <title>mq-patch &amp; vim</title>
    <updated>2011-06-26T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/syntax.css&quot;&gt;

&lt;h1&gt;mq-patch &amp;amp; Vim&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Update: I forgot about the &quot;len &gt; 0&quot; test. Thx @padenot for the quick fix.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update2: Thanks to @hoaproject, now it works even if Vim is not open in the Root directory.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you use the &lt;a href=&quot;https://developer.mozilla.org/en/Mercurial_queues&quot;&gt;Mercurial Queues&lt;/a&gt; (and you should!)
and &lt;a href=&quot;http://vim.org&quot;&gt;Vim&lt;/a&gt;, you may want to know which patch you are working on.&lt;/p&gt;
&lt;p&gt;Here is how I managed to put the name of the current patch in my status bar:&lt;p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;vim&quot;&gt;&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;g&lt;/span&gt;:mqStatusPath &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; substitute&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;system&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;hg root --cwd &amp;quot;&lt;/span&gt; .
                     getcwd&lt;span class=&quot;p&quot;&gt;()),&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;g&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; . &lt;span class=&quot;s2&quot;&gt;&amp;quot;/.hg/patches/status&amp;quot;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;!&lt;/span&gt; GetCurrentMqPatch&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; filereadable&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;g&lt;/span&gt;:mqStatusPath&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; patchesList &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; readfile&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;g&lt;/span&gt;:mqStatusPath&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; len&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;patchesList&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; split&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;patchesList[&lt;span class=&quot;m&quot;&gt;-1&lt;/span&gt;]&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;:&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;[&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;]
      &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;endfunction&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;%{GetCurrentMqPatch&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;}\ %F%&lt;span class=&quot;k&quot;&gt;m&lt;/span&gt;%&lt;span class=&quot;k&quot;&gt;r&lt;/span&gt;%&lt;span class=&quot;k&quot;&gt;h&lt;/span&gt;%&lt;span class=&quot;k&quot;&gt;w&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Screenshot:&lt;/p&gt;
&lt;img class=&quot;frame&quot; src=&quot;/assets/posts/mqpatch_vim.png&quot;&gt;

&lt;p&gt;Here is the full code for my status bar (part of this code is from &lt;a href=&quot;http://www.reddit.com/r/vim/comments/gexi6/a_smarter_statusline_code_in_comments/&quot;&gt;this guy&lt;/a&gt;):&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;vim&quot;&gt;&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;g&lt;/span&gt;:mqStatusPath &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; substitute&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;system&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;hg root --cwd &amp;quot;&lt;/span&gt; .
                     getcwd&lt;span class=&quot;p&quot;&gt;()),&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;g&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; . &lt;span class=&quot;s2&quot;&gt;&amp;quot;/.hg/patches/status&amp;quot;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;!&lt;/span&gt; GetCurrentMqPatch&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; filereadable&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;g&lt;/span&gt;:mqStatusPath&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; patchesList &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; readfile&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;g&lt;/span&gt;:mqStatusPath&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; len&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;patchesList&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; split&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;patchesList[&lt;span class=&quot;m&quot;&gt;-1&lt;/span&gt;]&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;:&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;[&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;]
      &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;endfunction&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;&amp;quot;set statusline=%{GetCurrentMqPatch()}\ %F%m%r%h%w&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;!&lt;/span&gt; MyStatusLine&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; filereadable&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;g&lt;/span&gt;:mqStatusPath&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt; .&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;%#PatchColor#&amp;quot;&lt;/span&gt; . GetCurrentMqPatch&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; . &lt;span class=&quot;s2&quot;&gt;&amp;quot;%*&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;a&lt;/span&gt;:&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Enter&amp;#39;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;.&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;%#StatColor#&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;.&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;\(%n\)\ %f\ &amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;a&lt;/span&gt;:&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Enter&amp;#39;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;.&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;%*&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;.&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;%#Modified#%m&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;a&lt;/span&gt;:&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Leave&amp;#39;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;.&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;%*%r&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;a&lt;/span&gt;:&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;Enter&amp;#39;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;.&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;%r%*&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt; .&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;\ (%l/%L,\ %c)\ %P%=%h%w\ %y\ [%{&amp;amp;encoding}:%{&amp;amp;fileformat}]\ \ &amp;quot;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;endfunction&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;au&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;WinEnter&lt;/span&gt; * &lt;span class=&quot;k&quot;&gt;setlocal&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;%&lt;span class=&quot;p&quot;&gt;!&lt;/span&gt;MyStatusLine&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Enter&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;au&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;WinLeave&lt;/span&gt; * &lt;span class=&quot;k&quot;&gt;setlocal&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;%&lt;span class=&quot;p&quot;&gt;!&lt;/span&gt;MyStatusLine&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Leave&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;statusline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;%&lt;span class=&quot;p&quot;&gt;!&lt;/span&gt;MyStatusLine&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Enter&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;!&lt;/span&gt; InsertStatuslineColor&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;a&lt;/span&gt;:&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;i&amp;#39;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;hi&lt;/span&gt; StatColor guibg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;orange ctermbg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;lightred
  &lt;span class=&quot;k&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;a&lt;/span&gt;:&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;r&amp;#39;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;hi&lt;/span&gt; StatColor guibg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;#e454ba&lt;/span&gt; ctermbg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;magenta
  &lt;span class=&quot;k&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;a&lt;/span&gt;:&lt;span class=&quot;k&quot;&gt;mode&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;v&amp;#39;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;hi&lt;/span&gt; StatColor guibg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;#e454ba&lt;/span&gt; ctermbg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;magenta
  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;hi&lt;/span&gt; StatColor guibg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;red&lt;/span&gt; ctermbg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;red&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;endif&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;endfunction&lt;/span&gt; 

&lt;span class=&quot;k&quot;&gt;au&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;InsertEnter&lt;/span&gt; * &lt;span class=&quot;k&quot;&gt;call&lt;/span&gt; InsertStatuslineColor&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;v&lt;/span&gt;:&lt;span class=&quot;nb&quot;&gt;insertmode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;au&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;InsertLeave&lt;/span&gt; * &lt;span class=&quot;k&quot;&gt;hi&lt;/span&gt; StatColor guibg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;#95e454&lt;/span&gt; guifg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;black ctermbg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;lightgreen ctermfg&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;black
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/designinspiration</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/designinspiration"/>
    <title>Design inspiration</title>
    <updated>2011-05-19T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;bookmarks/inspiration/design&lt;/h1&gt;

&lt;p&gt;For pixel lovers:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://dribbble.com/&quot;&gt;dribbble.com&lt;/a&gt; (excellent!)
  &lt;li&gt;&lt;a href=&quot;http://forrst.com/snaps&quot;&gt;forrst.com&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://emberapp.com&quot;&gt;emberapp.com&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://mycolorscreen.com/&quot;&gt;mycolorscreen.com&lt;/a&gt; (mobile)
  &lt;li&gt;&lt;a href=&quot;http://pttrns.com/recent&quot;&gt;pttrns.com&lt;/a&gt; (mobile)
  &lt;li&gt;&lt;a href=&quot;http://noteandpoint.com/&quot;&gt;noteandpoint.com&lt;/a&gt; (great presentations)
  &lt;li&gt;&lt;a href=&quot;http://ffffound.com/&quot;&gt;ffffound.com&lt;/a&gt; beyond pixels
  &lt;li&gt;&lt;a href=&quot;http://patterntap.com/collections&quot;&gt;patterntap.com&lt;/a&gt; collections of UI patterns
  &lt;li&gt;&lt;a href=&quot;http://ui-patterns.com/&quot;&gt;ui-patterns.com&lt;/a&gt;
&lt;/ul&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/emulators</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/emulators"/>
    <title>Emulators in Javascript</title>
    <updated>2011-05-18T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;This is getting crazy :)&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;http://bellard.org/&quot;&gt;Fabrice Bellard&lt;/a&gt; (mister ffmpeg, qemu &amp;amp; co) wrote 
&lt;a href=&quot;http://bellard.org/jslinux/tech.html&quot;&gt;a CPU (x86 32-bits) emulator&lt;/a&gt;
in pure JavaScript. &lt;a href=&quot;http://www.grantgalitz.org&quot;&gt;Grant Galitz&lt;/a&gt;, as for him, wrote
&lt;a href=&quot;http://www.grantgalitz.org/gameboy/&quot;&gt;a GameBoy color&lt;/a&gt; emulator.&lt;/p&gt;

&lt;p&gt;These emulators are possible because of fast JS engines and new appropriate objects:
&lt;a href=&quot;https://developer.mozilla.org/en/JavaScript_typed_arrays&quot;&gt;Typed Arrays&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is a screencast of these emulators:&lt;/p&gt;

&lt;iframe class=&quot;frame&quot;  width=&quot;720&quot; height=&quot;500&quot; src=&quot;http://www.youtube.com/embed/Ri5r037YIn0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;em&gt;If you want to see the commands I'm typing, switch to 720p.&lt;/em&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/editors</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/editors"/>
    <title>What code editor do you use?</title>
    <updated>2011-05-18T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/syntax.css&quot;&gt;

&lt;h1&gt;What code editor do you use?&lt;/h1&gt;
&lt;p&gt;That's the question I asked to &lt;a href=&quot;http://twitter.com/paulrouget&quot;&gt;my twitter followers&lt;/a&gt; (mostly web developers,
and FLOSS people. Yes, it's biased). And this is the result (around 140 results):&lt;/p&gt;

&lt;dl&gt;&lt;canvas&gt;Your browser doesn't support canvas.&lt;/canvas&gt;&lt;/dl&gt;

&lt;em&gt;Unknown means &quot;one single answer for an editor, and I never heard about it&quot; :)&lt;/em&gt;

&lt;style&gt;
  dl {
    font-size: 10px;
    -moz-column-count:2;
    -webkit-column-count:2;
    -o-column-count:2;
    -ms-column-count:2;
    column-count:2;
    background-color: #261C21;
    padding: 20px;
    color: white;
  }
  dt {
    border-style: solid;
    border-width: 0 0 0 10px;
    display: inline-block;
    width: 30%;
    margin-top: 10px;
    padding-left: 10px;
  }
  dd {
    display: inline-block;
    width: 30%;
  }
&lt;/style&gt;

&lt;script&gt;
  var editors = {
    &quot;textmate&quot;: 25.33,
    &quot;vim&quot;: 20.83,
    &quot;notepad++&quot;: 15,
    &quot;unknown&quot;: 11,
    &quot;emacs &quot;: 9.83,
    &quot;coda &quot;: 8.83,
    &quot;komodoedit&quot;: 7,
    &quot;aptana&quot;: 6.33,
    &quot;geany&quot;: 5,
    &quot;gedit&quot;: 4.83,
    &quot;komodo&quot;: 4.33,
    &quot;eclipse&quot;: 4.5,
    &quot;sublimetext&quot;: 4,
    &quot;bbedit&quot;: 3.83,
    &quot;etexteditor&quot;: 3.5,
    &quot;espresso&quot;: 2.5,
    &quot;intellij&quot;: 2,
    &quot;dreamweaver&quot;: 2,
    &quot;netbeans&quot;: 1.83,
    &quot;jedit&quot;: 1.5
  }


  var total = 0;
  for (var e in editors) {
    total += editors[e];
  }
  console.log(total);

  function drawPi(canvas, width, height) {
    canvas.width = width;
    canvas.height = height;

    var ctx = canvas.getContext(&quot;2d&quot;);
    ctx.strokeStyle = &quot;white&quot;;
    ctx.lineWidth = &quot;2&quot;;

    var lastA = -Math.PI / 2;
    var dl = document.querySelector(&quot;dl&quot;);
    for (var e in editors) {

      var r = Math.random() * 255;
      var g = Math.random() * 255;
      var b = Math.random() * 255;
      ctx.fillStyle = &quot;rgb(&quot; + ~~r + &quot;, &quot; + ~~g + &quot;, &quot; + ~~b + &quot;)&quot;;

      var a = editors[e] / total;
      a *= 2 * Math.PI;
      a += lastA;

      var dt = document.createElement(&quot;dt&quot;);
      dt.innerHTML = e;
      var dd = document.createElement(&quot;dd&quot;);
      dd.innerHTML = ~~(100 * (editors[e] / total)) + &quot;%&quot;;

      dl.appendChild(dt);
      dl.appendChild(dd);

      dt.style.borderColor = ctx.fillStyle;


      ctx.beginPath();
      ctx.moveTo(width / 2, height / 2);
      ctx.arc(width / 2, height / 2, width / 2 * 0.9, lastA, a, false);
      ctx.closePath();
      ctx.fill();
      ctx.stroke();
      lastA = a;
    }

    ctx.beginPath();
    ctx.arc(width / 2, height / 2, width / 2 * 0.9, 0, Math.PI * 2, false);
    ctx.closePath();
    ctx.stroke();
  }

  drawPi(document.querySelector(&quot;canvas&quot;), 150, 150);

&lt;/script&gt;

&lt;p&gt;The data:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;javascript&quot;&gt;&lt;span class=&quot;cm&quot;&gt;/* Some people answered &amp;quot;gedit and emacs&amp;quot;&lt;/span&gt;
&lt;span class=&quot;cm&quot;&gt;   or &amp;quot;vim and eclipse and notepad++&amp;quot;.&lt;/span&gt;
&lt;span class=&quot;cm&quot;&gt;   Then I count such results as &amp;quot;0.5 + 0.5&amp;quot;&lt;/span&gt;
&lt;span class=&quot;cm&quot;&gt;   and &amp;quot;0.33 + 0.33 + 0.33&amp;quot; */&lt;/span&gt;

  &lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;editors&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;textmate&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;25.33&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;vim&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;20.83&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;notepad++&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;unknown&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;emacs &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;9.83&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;coda &amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;8.83&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;komodoedit&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;aptana&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;6.33&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;geany&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;gedit&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;4.83&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;komodo&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;4.33&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;eclipse&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;4.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;sublimetext&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;bbedit&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;3.83&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;etexteditor&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;3.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;espresso&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;2.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;intellij&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;dreamweaver&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;netbeans&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.83&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&amp;quot;jedit&amp;quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.5&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/progressmetter</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/progressmeter"/>
    <title>&lt;progress> in Firefox nightlies</title>
    <updated>2011-05-14T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;&amp;lt;progress&gt;, a new HTML5 tag, is now available in &lt;a href=&quot;http://firefox.com/nightly&quot;&gt;Firefox Nightlies&lt;/a&gt;
. Thank &lt;a href=&quot;http://blog.oldworld.fr&quot;&gt;Mounir Lamouri&lt;/a&gt; for the hard work :)&lt;/p&gt;

&lt;video class=&quot;postimg&quot; src=&quot;http://people.mozilla.com/~prouget/data/progressmeter.webm&quot; controls&gt;&lt;/video&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/html5inthewild</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/html5inthewild"/>
    <title>HTML5 in the wild</title>
    <updated>2011-05-13T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;HTML5 in the wild&lt;/h1&gt;

&lt;p&gt;These are not demos, but actual web pages, using HTML5 &amp;amp; friends.
Less &quot;crazy&quot;, more useful.&lt;/p&gt;

&lt;iframe class=&quot;frame&quot; width=&quot;700&quot; height=&quot;600&quot; src=&quot;/slides/embedder.html#html5inthewild/slides.html&quot;&gt;
  &lt;a href=&quot;/slides/html5inthewild/slides.html&quot;&gt;link to the presentation&lt;/a&gt;
&lt;/iframe&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/dzslides2-beta</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/dzslides2beta"/>
    <title>DZSlides 2.0 beta</title>
    <updated>2011-05-13T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;q&gt;Oyez! Oyez! Braves gens.&lt;/q&gt;
&lt;h1&gt;DZSlides 2 Beta is here&lt;/h1&gt;

&lt;p&gt;And I need testers :)&lt;/p&gt;

&lt;iframe class=&quot;frame&quot; width=&quot;560&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/YEbwGoL-fTI&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;See &lt;a href=&quot;http://paulrouget.com/dzslides/&quot;&gt;paulrouget.com/dzslides&lt;/a&gt;. Any bug report/feedback would be really appreciated. Especially about the comprehension
of the project. It's quite simple, but I'm not sure it's pretty straight forward to understand.&lt;/p&gt;

&lt;p&gt;Also, I just can't make it work for Opera. There's a lot of gfx glishes (on Linux at least). It should work, more or less, on IE9.&lt;/p&gt;

&lt;p&gt;Here are 3 presentations I made with DZSlides. Hope it's gonna make you feel excited by this tool :)&lt;/p&gt;

&lt;p&gt;Enjoy:&lt;/p&gt;

&lt;h2&gt;Why you should fear the Ninja Turtles.&lt;/h2&gt;

&lt;iframe class=&quot;frame&quot; width=&quot;700&quot; height=&quot;600&quot; src=&quot;/slides/embedder.html#tmnt/slides.html&quot;&gt;
  &lt;a href=&quot;/slides/tmnt/slides.html&quot;&gt;link to the presentation&lt;/a&gt;
&lt;/iframe&gt;

&lt;h2&gt;What is DZSlides?&lt;/h2&gt;

&lt;iframe class=&quot;frame&quot; width=&quot;700&quot; height=&quot;600&quot; src=&quot;/slides/embedder.html#dzslides-introduction.html&quot;&gt;
  &lt;a href=&quot;/slides/dzslides-introduction.html&quot;&gt;link to the presentation&lt;/a&gt;
&lt;/iframe&gt;

&lt;h2&gt;HTML5 in the wild&lt;/h2&gt;

&lt;iframe class=&quot;frame&quot; width=&quot;700&quot; height=&quot;600&quot; src=&quot;/slides/embedder.html#html5inthewild/slides.html&quot;&gt;
  &lt;a href=&quot;/slides/html5inthewild/slides.html&quot;&gt;link to the presentation&lt;/a&gt;
&lt;/iframe&gt;
</content>
  </entry>
  
  
  
  
  
  <entry>
    <id>http://paulrouget.come/simpsonsCSS</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/simpsons"/>
    <title>CSS Simpsons</title>
    <updated>2011-04-30T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/syntax.css&quot;&gt;

&lt;style&gt;
  #simpsons {
    background-color: #2B2B2B;
    width: 600px;
    height: 300px;
    text-align: center;
  }
  #simpsons p {
    width: 40px;
    height: 40px;
    display: inline-block;
    margin-left: 18px;
    margin-right: 18px;
    -moz-transition: 0.1s;
    -webkit-transition: 0.1s;
    -o-transition: 0.1s;
    -ms-transition: 0.1s;
    transition: 0.1s;
  }
  #simpsons p:hover {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }
  #maggie {
    background-color: #FFC60A;
  }
  #homer {
    border-top: 40px solid #FFC60A;
    background-color: white;
    border-bottom: 40px solid #008BAA;
  }
  #marge {
    border-top: 40px solid #008BAA;
    background-color: #FFC60A;
    border-bottom: 80px solid #AEC774;
  }
  #bart {
    border-top: 40px solid #FFC60A;
    background-color: #008BAA;
  }
  #lisa {
    border-top: 40px solid #FFC60A;
    background-color: #F25822;
  }
  h1 {
    color: white!important;
    background-color: transparent!important;
    border: none!important;
    display: block!important;
    text-align: center;
  }

&lt;/style&gt;


&lt;div id=&quot;simpsons&quot;&gt;
  &lt;p title=&quot;maggie&quot; id=&quot;maggie&quot;&gt;&lt;/p&gt;
  &lt;p title=&quot;homer&quot; id=&quot;homer&quot;&gt;&lt;/p&gt;
  &lt;p title=&quot;marge&quot; id=&quot;marge&quot;&gt;&lt;/p&gt;
  &lt;p title=&quot;bart&quot; id=&quot;bart&quot;&gt;&lt;/p&gt;
  &lt;p title=&quot;lisa&quot; id=&quot;lisa&quot;&gt;&lt;/p&gt;

  &lt;h1&gt;The Simpsons&lt;/h1&gt;
&lt;/div&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;html&quot;&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;div&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;simpsons&amp;quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;p&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;title=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;maggie&amp;quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;maggie&amp;quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;p&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;title=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;homer&amp;quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;p&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;title=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;marge&amp;quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;marge&amp;quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;p&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;title=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;bart&amp;quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;bart&amp;quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;p&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;title=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;lisa&amp;quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;lisa&amp;quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;


&lt;span class=&quot;nt&quot;&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#simpsons&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#2B2B2B&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;600px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;300px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#simpsons&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;inline&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;block&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;margin-left&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;18px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;margin-right&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;18px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;transition&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0.1s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#simpsons&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:hover&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;transform&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#maggie&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#FFC60A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#homer&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;border-top&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#FFC60A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;white&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;border-bottom&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#008BAA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#marge&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;border-top&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#008BAA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#FFC60A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;border-bottom&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;80px&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#AEC774&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#bart&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;border-top&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#FFC60A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#008BAA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;#lisa&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;border-top&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#FFC60A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#F25822&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;em&gt;Inspired by &lt;a href=&quot;http://www.reddit.com/r/pics/comments/h0s21/the_simpsons/&quot;&gt;this&lt;/a&gt;&lt;/em&gt;.

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/infographicsInHTML5</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/infographicsInHTML5"/>
    <title>[challenge] Build your infographics in HTML5 and CSS3</title>
    <updated>2011-04-29T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;p&gt;&lt;em&gt;I challenge you to create a beautiful CSS3/HTML5 infographic :) See at the end of the article for more infos.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;Why you should build your infographics in HTML5 and CSS3.&lt;/h1&gt;

&lt;p&gt;I see a lot of infographics around here, and most of them could be built only with web technologies (HTML5 + CSS3 + SVG).&lt;/p&gt;

&lt;img class=&quot;postimg&quot; src=&quot;/assets/posts/infographics.jpg&quot;&gt;
&lt;em&gt;src: 
&lt;a href=&quot;http://www.flickr.com/photos/digitaltrip/5404675738/&quot;&gt;1&lt;/a&gt;
&lt;a href=&quot;http://www.flickr.com/photos/neobanksy/5220645831/sizes/s/&quot;&gt;2&lt;/a&gt;
&lt;a href=&quot;http://www.flickr.com/photos/inflicted/5582143032/sizes/s/&quot;&gt;3&lt;/a&gt;
&lt;a href=&quot;http://www.flickr.com/photos/soda-prop/5456469924/&quot;&gt;4&lt;/a&gt;
&lt;a href=&quot;http://holykaw.alltop.com/a-world-without-facebook-infographic&quot;&gt;5&lt;/a&gt;;
&lt;/em&gt;

&lt;p&gt;Most of the infographics we see are beautiful, but sooooo &lt;strong&gt;static&lt;/strong&gt;. 
You can make them much more &lt;strong&gt;alive&lt;/strong&gt; if you use the web technologies.&lt;/p&gt;

&lt;h2&gt;Interactive content&lt;/h2&gt;
&lt;p&gt;You can change the style/content of an element if the user interact with it: &lt;code&gt;:hover&lt;/code&gt; effects, fold/unfold on click, buttons to decide
what to draw and select options (select a country, choose how to sort, ...), etc.

&lt;h2&gt;Live data&lt;/h2&gt;
&lt;p&gt;With an image, you're just showing a &quot;snapshot&quot; of your data at a certain time. The web allows you to fetch data. Your infographic could
look completely different depending on &lt;strong&gt;when&lt;/strong&gt; it is viewed. Build your graph with
&lt;a href=&quot;https://developer.mozilla.org/en/SVG&quot;&gt;SVG&lt;/a&gt; or &lt;a href=&quot;https://developer.mozilla.org/en/Canvas_tutorial&quot;&gt;Canvas&lt;/a&gt; (here is an awesome library to do that: &lt;a href=&quot;http://g.raphaeljs.com/&quot;&gt;g.raphaeljs.com/&lt;/a&gt;) in real-time.&lt;/p&gt;

&lt;h2&gt;Animations&lt;/h2&gt;
&lt;p&gt;Make it move! With &lt;a href=&quot;https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL&quot;&gt;SVG SMIL&lt;/a&gt;, &lt;a href=&quot;https://developer.mozilla.org/en/CSS/CSS_transitions&quot;&gt;CSS Transitions&lt;/a&gt;, Canvas (see &lt;a href=&quot;http://processingjs.org/&quot;&gt;ProcessingJS&lt;/a&gt;), &lt;a href=&quot;https://developer.mozilla.org/en/CSS/CSS_animations&quot;&gt;CSS Animations&lt;/a&gt;,
you can build beautiful animations. You can even embed a &lt;strong&gt;video&lt;/strong&gt;!&lt;/p&gt;

&lt;h2&gt;Make it sexy&lt;/h2&gt;
&lt;p&gt;Well, it's obvious, your infographic must be beautiful. With &lt;a href=&quot;https://developer.mozilla.org/en/CSS&quot;&gt;CSS3&lt;/a&gt;, you have infinite
ways to make things beautiful: &lt;a href=&quot;https://developer.mozilla.org/en/Using_gradients&quot;&gt;gradients&lt;/a&gt;, &lt;a href=&quot;https://developer.mozilla.org/en/css/@font-face&quot;&gt;font-faces&lt;/a&gt;, &lt;a href=&quot;https://developer.mozilla.org/en/css/multiple_backgrounds&quot;&gt;multiple background&lt;/a&gt;, &lt;a href=&quot;https://developer.mozilla.org/En/CSS/Using_CSS_transforms&quot;&gt;transforms&lt;/a&gt;, &lt;a href=&quot;https://developer.mozilla.org/en/CSS/background&quot;&gt;SVG background&lt;/a&gt;, ...&lt;/p&gt;

&lt;h2&gt;Side effects&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;Your infographic will be accessible (copy/paste!)
    &lt;li&gt;People will be able to enhance it (view source! Host it on &lt;a href=&quot;http://github.com&quot;&gt;github&lt;/a&gt;.)
    &lt;li&gt;You can have multiple layouts, like a mobile layout (mediaQueries)
&lt;/ul&gt;

&lt;h2&gt;Want to give it a try?&lt;/h2&gt;
&lt;p&gt;Here is a random list of free data sets. Take a look, build something
interactive/live/animated/sexy in CSS3/HTML5/SVG, share it here. I'll
publish the most interesting ones on the &lt;a href=&quot;http://hacks.mozilla.org&quot;&gt;Mozilla Hacks blog&lt;/a&gt; :) (probably in June).&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.infochimps.com/&quot;&gt;Twitter Data &amp;amp; more&lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.reddit.com/r/datasets&quot;&gt;r/datasets on reddit&lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.kdnuggets.com/2011/02/free-public-datasets.html&quot;&gt;Data Mining Community's Top Resource &lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.guardian.co.uk/world-government-data&quot;&gt;World’s government data&lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://research.stlouisfed.org/fred2/&quot;&gt;FRED (Federal Reserve Economic Dataa)&lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://robjhyndman.com/TSDL/&quot;&gt;Time Series Data Library &lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://aws.amazon.com/datasets?_encoding=UTF8&amp;jiveRedirect=1&quot;&gt;Amazon Public Data Sets &lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.google.com/publicdata/directory&quot;&gt;Google Dataset Directory&lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.pachube.com/&quot;&gt;Pachube&lt;/a&gt;
&lt;/ul&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/mediaevents</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/mediaevents"/>
    <title>Firefox Experiment: Media Events?</title>
    <updated>2011-04-26T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/syntax.css&quot;&gt;

&lt;h1&gt;Better integration of online music players?&lt;/h1&gt;

&lt;img class=&quot;postimg&quot; src=&quot;/assets/posts/keys.jpg&quot;&gt;

&lt;p&gt;This is something I've been thinking a lot lately.
I use online music players like LastFM and GrooveShark.&lt;/p&gt;
&lt;p&gt;I want to be able to control such web apps
with the &lt;strong&gt;multimedia keys&lt;/strong&gt;, and I want
a &lt;strong&gt;visual feedback&lt;/strong&gt; to know which tab is generating sound.&lt;/p&gt;

&lt;h1&gt;&quot;media&quot; events&lt;/h1&gt;

&lt;p&gt;Here is an idea. What if we introduce a new kind of events. The
&quot;media&quot; events.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I wrote some code to test this idea, here is a screencast, see below for the source code.&lt;/em&gt;&lt;/p&gt;
&lt;iframe class=&quot;frame&quot; title=&quot;YouTube video player&quot; width=&quot;480&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/M7XlTEDGe6o&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;em&gt;And since you can't see the Visual Feedback in the video,  here is a screenshot:&lt;/em&gt;&lt;/p&gt;
&lt;img class=&quot;postimg&quot; src=&quot;/assets/posts/soundfeedback.png&quot;&gt;

&lt;h2&gt;Multimedia keys&lt;/h2&gt;
&lt;p&gt;Some media events would be fired if the user uses
the media keys, even if the tab is on the background or your browser not
focused.&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;javascript&quot;&gt;  &lt;span class=&quot;nb&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;media&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;c1&quot;&gt;// could be: play, pause, previous, next&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;play&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nx&quot;&gt;myplayer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;play&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2&gt;Visual feedback&lt;/h2&gt;
&lt;p&gt;The browser could automatically detect if sound is being
generated from the tab, and give a visual feedback.
But it's something quite tricky (especially because of the plugins, see 
&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=486262&quot;&gt;bug 486262 &lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;So what about letting the web page notify the browser the some sound is being played, by
firing a media event (&quot;sound&quot;/&quot;nosound&quot;)?&lt;/p&gt;

&lt;h2&gt;What do you think&lt;/h2&gt;

&lt;p&gt;Does it make sense? What about the names of these events? Also, what
happens if the user has different web pages listening to the media events?&lt;/p&gt;

&lt;h2&gt;Source code&lt;/h2&gt;

&lt;p&gt;Find the source code of this addon &lt;a href=&quot;https://github.com/paulrouget/htmlmediakeys&quot;&gt;here&lt;/a&gt;.
Works only on Linux (any port to Windows/Mac would be appreciated).&lt;/p&gt;

&lt;h2&gt;Update&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;I've been told that DOM 3 Event specifies key events for things like this
    &lt;li&gt;I see some code for Windows and &quot;MozHotKey&quot; events &lt;a href=&quot;https://github.com/mozilla/openwebapps/blob/4502535fd7a6b41986228f632081f61eb2e11d93/addons/firefox/extension/components/HOTKEY.md&quot;&gt;here&lt;/a&gt;
    &lt;li&gt;&quot;We should me sure it works for remotes&quot;
&lt;/uL&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/css3animations</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/css3animations"/>
    <title>CSS3 Animations in Firefox Aurora</title>
    <updated>2011-04-20T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;CSS3 Animations in Firefox Aurora&lt;/h1&gt;

&lt;a href=&quot;http://firefox.com/channel&quot;&gt;&lt;img class=&quot;float-right&quot; src=&quot;/assets/aurora.png&quot;&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href=&quot;http://dbaron.org/log/20110419-animations&quot;&gt;David Baron&lt;/a&gt; implemented CSS3 Animations in Firefox. &lt;strong&gt;Yeah!&lt;/strong&gt;.

You can test CSS3 Animations right now with &lt;a href=&quot;http://firefox.com/channel&quot;&gt;Firefox Aurora&lt;/a&gt; (don't know what Firefox Aurora is? &lt;a href=&quot;http://blog.mozilla.com/blog/2011/04/13/new-channels-for-firefox-rapid-releases/&quot;&gt;Check this out&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;If the implementation is good enough (&lt;a href=&quot;https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&amp;component=Style System (CSS)&quot;&gt;please report bugs!!!&lt;/a&gt;), Animations will make it for Firefox 5.&lt;P&gt;
&lt;p&gt;I've hacked a bit the famous &lt;a href=&quot;http://blog.optimum7.com/anthony/website-design/pure-css3-animated-at-at-walker-from-star-wars-2.html&quot;&gt;CSS3 AT-AT&lt;/a&gt; demo (by &lt;a href=&quot;http://twitter.com/acalzadilla&quot;&gt;Anthony Calzadilla&lt;/a&gt;) to make it work with Firefox (just needed to add the &lt;code&gt;-moz-&lt;/code&gt; prefix) and here is the result:&lt;/p&gt;

&lt;em&gt;Works in &lt;a href=&quot;http://firefox.com/channel&quot;&gt;Firefox Aurora&lt;/a&gt; and Webkit browsers&lt;/em&gt;
&lt;iframe class=&quot;frame&quot; scrolling=&quot;no&quot; width=&quot;676&quot; height=&quot;519&quot; src=&quot;http://paulrouget.com/css3atat/&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Again, if you find any bug, please let us know:&lt;br&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&amp;component=Style System (CSS)&quot;&gt;Open a Core/Style System (CSS) bug&lt;/a&gt;&lt;/p&gt;

&lt;span class=&quot;wooot&quot;&gt;More information on &lt;a href=&quot;http://dbaron.org/log/20110419-animations&quot;&gt;David Baron's blog&lt;/a&gt;.&lt;/span&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/nativecontrols</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/nativecontrols"/>
    <title>Experimenting with HTML5 and native controls</title>
    <updated>2011-02-28T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Experimenting with HTML5 and native controls&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;THIS IS AN EXPERIMENT.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Little screencast:&lt;/p&gt;
&lt;iframe class=&quot;frame&quot; title=&quot;YouTube video player&quot; width=&quot;500&quot; height=&quot;400&quot; src=&quot;http://www.youtube.com/embed/EXX8uZ1OnCQ&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;em&gt;This video is hosted by YouTube and uses the &lt;a title=&quot;HTML5 video&quot; href=&quot;https://developer.mozilla.org/En/HTML/Element/Video&quot;&gt;HTML5 video&lt;/a&gt; tag if you have enabled it (&lt;a href=&quot;http://www.youtube.com/html5&quot;&gt;see here&lt;/a&gt;). YouTube video &lt;a href=&quot;http://www.youtube.com/watch?v=EXX8uZ1OnCQ&quot;&gt;here&lt;/a&gt;.&lt;/em&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.mozilla.com/faaborg/&quot;&gt;Alex Faaborg&lt;/a&gt; recently published some mockups for &quot;Site Specific Browsers&quot;:&lt;/p&gt;
&lt;img class=&quot;frame&quot; src=&quot;/assets/posts/ssb.png&quot;&gt;
&lt;p&gt;I thought it would be a good idea to extend this concept. So here is an idea:
&lt;ul&gt;

  &lt;li&gt;A webpage should be able to expose native controls to the UA
  &lt;li&gt;A webpage, if considered as a Web App, should be able to get rid of the URL / Back Forward Tool bar
  &lt;li&gt;A webpage should be able to expose controls to the context menu
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;And I think the &lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#menus&quot;&gt;menu&lt;/a&gt; specification could help. I doesn't fit perfectly my needs. But here is a way to implement this idea:
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;&amp;lt;menu type=application&gt;&lt;/code&gt; is a menu accessible from the UA menu bar
  &lt;li&gt;A &lt;code&gt;&amp;lt;html&gt;&lt;/code&gt; attribute would hide the native toolbar. The page would be in charge of creating a menu.
  &lt;li&gt;&lt;code&gt;&amp;lt;menu type=context&gt;&lt;/code&gt; is menu that should be injected into the native context menu

&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;type=toolbar&lt;/code&gt; could be used to override the native toolbar, but website already have toolbars (think twitter, facebook).
I don't see any clean ways to use, in a progressive-enhancement manner, this toolbar. I prefer an attribute.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;type=application&lt;/code&gt; is not part of the specification.&lt;/p&gt;

&lt;p&gt;I wrote a &lt;a href=&quot;http://people.mozilla.com/~prouget/bugs/context-menu-test/nativemenu.v2.xpi&quot;&gt;little JetPack (restart-less) extension&lt;/a&gt; to experiment with this idea. You can test it with &lt;a href=&quot;http://people.mozilla.com/~prouget/bugs/context-menu-test/test.v2.html&quot;&gt;this&lt;/a&gt; web app.&lt;/p&gt;


&lt;p&gt;
This brings a lot of questions. What about security? What about type=toolbar? Should the app button be persistent? What if there several app buttons?
What about styling the menuitems? Should we do that only for app tabs? What about prism-like web apps?
&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/2demos</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/2demos"/>
    <title>Two little demos I made recently</title>
    <updated>2011-02-23T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Two little demos I made recently&lt;/h1&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;http://people.mozilla.com/~prouget/demos/woooot/index.html&quot;&gt;Woooot!&lt;/a&gt;
    &lt;li&gt;&lt;a href=&quot;http://people.mozilla.com/~prouget/demos/boomboom/index.html&quot;&gt;Boom Boom!&lt;/a&gt;
&lt;/ul&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/funwithwebm</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/funwithwebm"/>
    <title>WebM and ffmpeg: concatenate videos and add bumpers</title>
    <updated>2011-01-25T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;WebM and ffmpeg: concatenate videos and add bumpers&lt;/h1&gt;

&lt;p&gt;So I have this MP4 video. I want to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;transcode it to WebM;
  &lt;li&gt;create a bumper: a little video to introduce the main video. Just a text;
  &lt;li&gt;concatenate my bumper with the WebM main video.

&lt;/ul&gt;

&lt;p&gt;The original video is named &lt;em&gt;girltalk.mp4&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;Transcode to WebM with ffmpeg&lt;/h2&gt;
&lt;p&gt;Easy:&lt;/p&gt;
&lt;pre&gt;
$ ffmpeg -i girltalk.mp4 \
  -f webm -vcodec libvpx \
  -acodec libvorbis \
  -aq 90 -ac 2 \
  girltalk.webm
&lt;/pre&gt;
&lt;p&gt;(You need a version of ffmpeg &gt;= 0.6)&lt;/p&gt;

&lt;p&gt;Interesting extra options:&lt;/p&gt;
&lt;pre&gt;
If you want no audio:
-an : Disable audio

If you want just a subsection of the video
-ss &lt;timecode&gt; : Set start time offset in seconds or hh:mm:ss[.xxx] format.
-t &lt;timecode&gt; : Set recording time in seconds or hh:mm:ss[.xxx] format.

if you want to resize the video
-s &lt;string&gt; : Set frame size ( WidthxHeight)

if you want to crop the video
-cropbottom &lt;int&gt; : Set bottom crop band size ( in pixels ).
-cropleft &lt;int&gt; : Set left crop band size ( in pixels ).
-cropright &lt;int&gt; : Set right crop band size ( in pixels ).
-croptop &lt;int&gt; : Set top crop band size ( in pixels ).

&lt;/pre&gt;

&lt;h2&gt;Create the bumper&lt;/h2&gt;

&lt;h3&gt;Create one image&lt;/h3&gt;

First, you need the dimension of the video:
&lt;pre&gt;
$ ffmpeg -i girltalk.webm 2&gt;&amp;1 | grep &quot;Stream \#0.0&quot;


  Stream #0.0: Video: libvpx, yuv420p, 320x240,\
    PAR 1:1 DAR 4:3, 12 fps, \
    12 tbr, 1k tbn, 12 tbc
&lt;/pre&gt;
Got it: 320x240.

&lt;p&gt;Create the bumper with your prefered image editor (Gimp!). So far, it's just an image of the same size as the video.&lt;/p&gt;
&lt;p&gt;Here's mine:&lt;/p&gt;

&lt;img src=&quot;http://people.mozilla.com/~prouget/blog/funwithwebm/bumper.png&quot;&gt;

&lt;h3&gt;Create a video from the image&lt;/h3&gt;
&lt;p&gt;You need the framerate of your main video. From the previous command, we know it's &lt;strong&gt;12 fps&lt;/strong&gt; (the quality of this video is really poor, usually, it's 25). Also, you'll need to know the audio sampling frequency.&lt;/p&gt;

&lt;pre&gt;
$ ffmpeg -i girltalk.webm 2&gt;&amp;1 | grep &quot;Stream \#0.1&quot;



  Stream #0.0: Video: libvpx, yuv420p, 320x240,\
    PAR 1:1 DAR 4:3, 12 fps, \
    12 tbr, 1k tbn, 12 tbc
&lt;/pre&gt;

&lt;p&gt;22050 Hz here. Usually it's 44100 Hz.&lt;/p&gt;

&lt;p&gt;You also need to know how you long you want your bumper to last. Let's say 5 seconds:&lt;/p&gt;

&lt;pre&gt;
ffmpeg \
  -loop_input -f image2 -i bumper.jpg\
  -acodec pcm_s16le -f s16le -i /dev/zero \
  -r 12 -t 5 \
  -map 0:0 -map 1:0 \
  -f webm -vcodec libvpx \
  -ar 22050 -acodec libvorbis -aq 90 -ac 2 \
  bumper.webm
&lt;/pre&gt;

So here, I create a video which is just this bumper image repeated 12 times per second during 5 seconds, with a &lt;em&gt;silence&lt;/em&gt; track (important).

Result:

&lt;video src=&quot;http://people.mozilla.com/~prouget/blog/funwithwebm/bumper.webm&quot; controls&gt;&lt;/video&gt;

&lt;h2&gt;Concatenate WebM videos&lt;/h2&gt;
&lt;p&gt;Ok, so now, we have 2 videos. And we want to concatenate them.&lt;/p&gt;

&lt;p&gt;WebM is an interesting format. You can just put the 2 videos inside the same file, no need to reencode.
The only condition is to have the same bitrate and the same number of tracks.
That's why we create a &quot;silence&quot; track and we respected the main video bitrate for the bumper video.&lt;/p&gt;

&lt;p&gt;So to &quot;repackage&quot; the video with two videos inside (hmmm), you'll need &lt;em&gt;mkvmerge&lt;/em&gt;, from &lt;em&gt;mkvtoolnix&lt;/em&gt;:&lt;/p&gt;
&lt;pre&gt;
$ mkvmerge -o girltalk.final.webm bumper.webm +girltalk.webm
&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;If you have any problems with the last command, just check the 2 streams from the 2 videos (ffmpeg -i video.webm),
they have to have the exact same properties.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Enjoy the result:&lt;/p&gt;

&lt;video src=&quot;http://people.mozilla.com/~prouget/blog/funwithwebm/girltalk.final.webm&quot; controls&gt;&lt;/video&gt;

&lt;p&gt;&lt;strong&gt;Note: sounds like Chrome WebM decoder doesn't take into account the chained tracks in WebM. Works well in Firefox and Opera.&lt;/strong&gt;&lt;/p&gt;

</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/paulatparisweb</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/paulatparisweb"/>
    <title>Vidéo de mes démos à ParisWeb</title>
    <updated>2011-01-17T00:00:00-08:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;Vidéo de mes démos à ParisWeb&lt;/h1&gt;

&lt;p&gt;Ça se passe &lt;a href=&quot;http://www.dailymotion.com/video/xggtj7_html5-et-ses-amis-nouvelles-apis-paul-rouget_tech&quot;&gt;ici (vidéo)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je parle de WebSockets, File API, FormData, WebGL, Audio API, ...&lt;/p&gt;

&lt;p&gt;Tout plein de démos inside ;)&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/html5formsandhtml5test</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/html5formsandhtml5test"/>
    <title>HTML5 forms: more accurate tests for html5test.com</title>
    <updated>2010-08-23T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/syntax.css&quot;&gt;

&lt;h1&gt;HTML5 forms: more accurate tests for html5test.com&lt;/h1&gt;


&lt;p&gt;
&lt;a href=&quot;http://beta.html5test.com&quot;&gt;html5test&lt;/a&gt; is a good test.
It's easy to understand. Neils found a good way to rate HTML5 support.
It's not perfect, but I think a perfect test is not possible if you want
to keep it simple. But there's still room for improvements.
&lt;p&gt;

&lt;p&gt;
Look at the current &lt;a href=&quot;http://html5test.com&quot;&gt;version of html5test&lt;/a&gt;, the &lt;strong&gt;Forms&lt;/strong&gt; part.
Webkit has a good score (34/38, 89%), although their HTML5 forms support is incomplete (no UI, validity barely implemented, but they expose the &lt;code&gt;input type&lt;/code&gt;). The way forms are tested is not that accurate: 
just testing if the &lt;code&gt;input type&lt;/code&gt; is supported as a DOM property is not enough.
The good way is to check that the constraint is actually applied (&lt;code&gt;input.validity.valid&lt;/code&gt;).
&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;&lt;span class=&quot;c1&quot;&gt;//Exemple: testing &amp;lt;input type=email&amp;gt;&lt;/span&gt;

&lt;span class=&quot;cm&quot;&gt;/*&lt;/span&gt;
&lt;span class=&quot;cm&quot;&gt; * How it was tested&lt;/span&gt;
&lt;span class=&quot;cm&quot;&gt; */&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;valid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;email&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;


&lt;span class=&quot;cm&quot;&gt;/*&lt;/span&gt;
&lt;span class=&quot;cm&quot;&gt; * A better way to test it&lt;/span&gt;
&lt;span class=&quot;cm&quot;&gt; */&lt;/span&gt;

&lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;foo&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;valid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;validity&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;valid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;foo@bar.org&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;validity&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;valid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;nx&quot;&gt;valid&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;
I also added some tests for &lt;code&gt;input.form&lt;/code&gt;, &lt;code&gt;input.labels&lt;/code&gt; and &lt;code&gt;label.control&lt;/code&gt;. I'm also testing the forms related CSS selectors (&lt;code&gt;:required&lt;/code&gt;, &lt;code&gt;:optional&lt;/code&gt;, &lt;code&gt;:valid&lt;/code&gt; and &lt;code&gt;:invalid&lt;/code&gt;).

&lt;/p&gt;
&lt;p&gt;
I sent a patch to Neils. You can see the result here &lt;a href=&quot;http://beta.html5test.com&quot;&gt;beta.html5test.com&lt;/a&gt;. Basically, webkit score is less good now for the forms section (29/45, 64%), but still better than Firefox4 ;) (and still very good for Opera).
&lt;/p&gt;

&lt;em&gt; Firefox4 nightlies now support part of the HTML5 form specification (talk to &lt;a href=&quot;http://twitter.com/mounirlamouri&quot;&gt;Mounir&lt;/a&gt;, the main developer). The latest nightly's is 24/45 (53%), and it'going to get better :)&lt;/em&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/converttohtml5video</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/converttohtml5video"/>
    <title>Converting to WebM, OGG/Theora and MP4.</title>
    <updated>2010-08-23T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/css/syntax.css&quot;&gt;

&lt;h1&gt;Converting to WebM, OGG/Theora and MP4.&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; Now that ffmpeg 0.6 is everywhere, and the preset are good enough, the easiest way to convert
a video to WebM is: &lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;sh&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;ffmpeg -i foo.avi foo.webm
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Of course, if you want to tweak the transcode options, RTFM ;)&lt;br&gt; ---&lt;/p&gt;

&lt;p&gt;If you want to use the &amp;lt;video&amp;gt; tag, you need to encode your video to 3 formats:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;WebM/VP8
  &lt;li&gt;OGG/Theora
  &lt;li&gt;MP4/h264

&lt;/ul&gt;
Here is a quick howto:&lt;/p&gt;
&lt;h2&gt;Building ffmpeg (version &amp;gt;= 0.6)&lt;/h2&gt;
&lt;p&gt;Create a directory, let's say &quot;myvideos&quot;. All the comming commands will
make sure that everything stays in this directory. Your system won't be
altered.&lt;/p&gt;

&lt;h3&gt;Downloads:&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;ffmpeg source code: &lt;a href=&quot;http://www.ffmpeg.org/releases/&quot;&gt;here&lt;/a&gt;.
&lt;/ul&gt;

&lt;p&gt;dependencies:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;vorbis: &lt;a href=&quot;http://downloads.xiph.org/releases/vorbis/&quot;&gt;here&lt;/a&gt; (the version of you distribution should be ok: libvorbis-dev);
  &lt;li&gt;x264: &lt;a href=&quot;ftp://ftp.videolan.org/pub/videolan/x264/snapshots/&quot;&gt;here&lt;/a&gt;;
  &lt;li&gt;faac: &lt;a href=&quot;http://downloads.sourceforge.net/faac/&quot;&gt;here&lt;/a&gt;;
  &lt;li&gt;theora: &lt;a href=&quot;http://downloads.xiph.org/releases/theora/&quot;&gt;here&lt;/a&gt;.
  &lt;li&gt;vpx:&lt;br&gt;&lt;pre&gt;git clone git://review.webmproject.org/libvpx.git&lt;/pre&gt;

&lt;/ul&gt;

&lt;h3&gt;Build:&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;mkdir ~/myvideos/dist&lt;/code&gt;&lt;/p&gt;
For these 5 dependencies:
&lt;ul&gt;
  &lt;li&gt;un-compress;
  &lt;li&gt;go to the source directory;
  &lt;li&gt;&lt;code&gt;./configure --prefix=~/myvideos/dist &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;/code&gt;

&lt;/ul&gt;
&lt;p&gt;Let's build ffmpeg:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;sh&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ LDFLAGS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;-L&lt;span class=&quot;nv&quot;&gt;$~&lt;/span&gt;/myvideos/dist/lib &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;CFLAGS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;-I~/myvideos/dist/include &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
./configure --prefix&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;~/myvideos/dist --enable-gpl&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
--enable-nonfree --enable-libvpx --enable-libvorbis&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
--enable-pthreads --enable-libx264 --enable-libfaac&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
--enable-libtheora
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;make &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;Convert&lt;/h3&gt;
To call ffmpeg:
&lt;p&gt;&lt;code&gt;~/myvideos/dist/bin/ffmeg&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;But first, you need to tell where to find libraries:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;export LD_LIBRARY_PATH=~/myvideos/dist/lib/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here are my 3 command lines to convert to WebM, OGG/Theora and mp4:
&lt;ul&gt;
&lt;li&gt;OGG/Theora
&lt;pre lang=&quot;shell&quot;&gt;
ffmpeg -i input.mov \
  -acodec libvorbis -ac 2 -ab 96k -ar 44100 \
  -b 345k -s 640x360 output.ogv
&lt;/pre&gt;

&lt;li&gt;WebM/vp8
&lt;pre lang=&quot;shell&quot;&gt;
ffmpeg -i input.mov \
  -acodec libvorbis -ac 2 -ab 96k -ar 44100 \
  -b 345k -s 640x360 output.webm
&lt;/pre&gt;

&lt;li&gt;MP4/h264
&lt;pre lang=&quot;shell&quot;&gt;
ffmpeg -i input.mov \
  -acodec libfaac -ab 96k \
  -vcodec libx264 -vpre slower -vpre main \
  -level 21 -refs 2 -b 345k -bt 345k \
  -threads 0 -s 640x360 output.mp4
&lt;/pre&gt;
&lt;/ul&gt;

&lt;em&gt;Video are resized to 640x360 with a bitrate of 345k.&lt;/em&gt;

&lt;p&gt;Hope it helps.&lt;/p&gt;
</content>
  </entry>
  
  
  
  <entry>
    <id>http://paulrouget.come/introdzslides</id>
    <link type="text/html" rel="alternate" href="http://paulrouget.com/e/introdzslides"/>
    <title>HTML5/CSS3 Slides: DZ Slides</title>
    <updated>2010-07-30T00:00:00-07:00</updated>
    <author>
      <name>Paul Rouget</name>
      <uri>http://paulrouget.com/</uri>
    </author>
    <content type="html">&lt;h1&gt;HTML5/CSS3 Slides: DZ&amp;nbsp;Slides&lt;/h1&gt;

&lt;p&gt;For the last few weeks, I've been using the same HTML template as
slides for my presentations. This template is now online.
It works great with Firefox 4 and I'm trying to make it work
with other browsers (need help here). Feel free to grab the
code and play with it: &lt;a href=&quot;http://paulrouget.com/dzslides/&quot;&gt;DZ Slides&lt;/a&gt;.&lt;/p&gt;

&lt;strong&gt;Update: &lt;/strong&gt; &lt;a href=&quot;http://paulrouget.com/e/dzslides2beta/&quot;&gt;Version 2 is coming&lt;/a&gt;.
</content>
  </entry>
  
  
 
</feed>
