Browse Source

updated website

gh-pages
parent
commit
a3bca2af8e
  1. 2
      Scratch/assets/css/main.css
  2. 22
      Scratch/en/blog/Category-Theory-Presentation/index.html
  3. 38
      Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/index.html
  4. 22
      Scratch/fr/blog/Category-Theory-Presentation/index.html
  5. 38
      Scratch/fr/blog/index.html
  6. 380
      Scratch/sitemap.xml
  7. 28
      keynote/categories.html
  8. BIN
      keynote/categories.pdf
  9. 7
      keynote/categories/img/mp/list-tree-endofunctor-morphism.mp
  10. BIN
      keynote/categories/img/mp/list-tree-endofunctor-morphism.png
  11. 21
      keynote/categories/img/mp/nattrans-list-tree.mp
  12. BIN
      keynote/categories/img/mp/nattrans-list-tree.png
  13. 29
      keynote/categories/img/mp/nattrans-tree-list.mp
  14. BIN
      keynote/categories/img/mp/nattrans-tree-list.png
  15. 9
      keynote/categories/img/mp/tree-list-endofunctor-morphism.mp
  16. BIN
      keynote/categories/img/mp/tree-list-endofunctor-morphism.png

2
Scratch/assets/css/main.css

File diff suppressed because one or more lines are too long

22
Scratch/en/blog/Category-Theory-Presentation/index.html

@ -714,12 +714,12 @@ Haskell types look like a fractal:</p>
<div class="flush"></div></section>
<section class="slide">
<h2 id="natural-transformation-examples-14">Natural Transformation Examples (1/4)</h2>
<pre><code class="haskell small">data Tree a = Empty | Node a [Tree a]
toTree :: [a] -> Tree a
toTree [] = Empty
toTree (x:xs) = Node x [toTree xs]</pre>
<pre><code class="haskell small">data List a = Nil | Cons a (List a)
toList :: [a] -> Tree a
toList [] = Nil
toList (x:xs) = Cons x (toList xs)</pre>
</code>
<p><code>toTree</code> is a natural transformation. It is also a morphism from <code>[]</code> to <code>Tree</code> in the Category of \(\Hask\) endofunctors.</p>
<p><code>toList</code> is a natural transformation. It is also a morphism from <code>[]</code> to <code>List</code> in the Category of \(\Hask\) endofunctors.</p>
<img style="float:left;width:30%" src="/keynote/categories/img/mp/nattrans-list-tree.png" alt="natural transformation commutative diagram"/>
<figure style="float:right;width:60%">
<img style="width:40%" src="/keynote/categories/img/mp/list-tree-endofunctor-morphism.png" alt="natural transformation commutative diagram"/>
@ -729,15 +729,15 @@ toTree (x:xs) = Node x [toTree xs]</pre>
<div class="flush"></div></section>
<section class="slide">
<h2 id="natural-transformation-examples-24">Natural Transformation Examples (2/4)</h2>
<pre><code class="haskell small">data Tree a = Empty | Node a [Tree a]
toList :: Tree a -> [a]
toList Empty = []
toList (Node x l) = [x] ++ concat (map toList l)</pre>
<pre><code class="haskell small">data List a = Nil | Cons a (List a)
toHList :: List a -> [a]
toHList Nil = []
toHList (Cons x xs) = x:toHList xs</pre>
</code>
<p><code>toList</code> is a natural transformation. It is also a morphism from <code>Tree</code> to <code>[]</code> in the Category of \(\Hask\) endofunctors.</p>
<p><code>toHList</code> is a natural transformation. It is also a morphism from <code>List</code> to <code>[]</code> in the Category of \(\Hask\) endofunctors.</p>
<img style="float:left;width:30%" src="/keynote/categories/img/mp/nattrans-tree-list.png" alt="natural transformation commutative diagram"/>
<figure style="float:right;width:60%">
<img style="width:40%" src="/keynote/categories/img/mp/tree-list-endofunctor-morphism.png" alt="natural transformation commutative diagram"/> <figcaption><code>toList . toTree = id</code> <span class="and">&amp;</span> <code>toTree . toList = id</code> <span style="visibility:hidden"><span class="and">&amp;</span></span><br/> therefore <code>[]</code> <span class="and">&amp;</span> <code>Tree</code> are <span class="orange">isomorph</span>. </figcaption>
<img style="width:40%" src="/keynote/categories/img/mp/tree-list-endofunctor-morphism.png" alt="natural transformation commutative diagram"/> <figcaption><code>toList . toHList = id</code> <span class="and">&amp;</span> <code>toHList . toList = id</code> <span style="visibility:hidden"><span class="and">&amp;</span></span><br/> therefore <code>[]</code> <span class="and">&amp;</span> <code>Tree</code> are <span class="orange">isomorph</span>. </figcaption>
</figure>

38
Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/index.html

File diff suppressed because one or more lines are too long

22
Scratch/fr/blog/Category-Theory-Presentation/index.html

@ -714,12 +714,12 @@ Haskell types look like a fractal:</p>
<div class="flush"></div></section>
<section class="slide">
<h2 id="natural-transformation-examples-14">Natural Transformation Examples (1/4)</h2>
<pre><code class="haskell small">data Tree a = Empty | Node a [Tree a]
toTree :: [a] -> Tree a
toTree [] = Empty
toTree (x:xs) = Node x [toTree xs]</pre>
<pre><code class="haskell small">data List a = Nil | Cons a (List a)
toList :: [a] -> Tree a
toList [] = Nil
toList (x:xs) = Cons x (toList xs)</pre>
</code>
<p><code>toTree</code> is a natural transformation. It is also a morphism from <code>[]</code> to <code>Tree</code> in the Category of \(\Hask\) endofunctors.</p>
<p><code>toList</code> is a natural transformation. It is also a morphism from <code>[]</code> to <code>List</code> in the Category of \(\Hask\) endofunctors.</p>
<img style="float:left;width:30%" src="/keynote/categories/img/mp/nattrans-list-tree.png" alt="natural transformation commutative diagram"/>
<figure style="float:right;width:60%">
<img style="width:40%" src="/keynote/categories/img/mp/list-tree-endofunctor-morphism.png" alt="natural transformation commutative diagram"/>
@ -729,15 +729,15 @@ toTree (x:xs) = Node x [toTree xs]</pre>
<div class="flush"></div></section>
<section class="slide">
<h2 id="natural-transformation-examples-24">Natural Transformation Examples (2/4)</h2>
<pre><code class="haskell small">data Tree a = Empty | Node a [Tree a]
toList :: Tree a -> [a]
toList Empty = []
toList (Node x l) = [x] ++ concat (map toList l)</pre>
<pre><code class="haskell small">data List a = Nil | Cons a (List a)
toHList :: List a -> [a]
toHList Nil = []
toHList (Cons x xs) = x:toHList xs</pre>
</code>
<p><code>toList</code> is a natural transformation. It is also a morphism from <code>Tree</code> to <code>[]</code> in the Category of \(\Hask\) endofunctors.</p>
<p><code>toHList</code> is a natural transformation. It is also a morphism from <code>List</code> to <code>[]</code> in the Category of \(\Hask\) endofunctors.</p>
<img style="float:left;width:30%" src="/keynote/categories/img/mp/nattrans-tree-list.png" alt="natural transformation commutative diagram"/>
<figure style="float:right;width:60%">
<img style="width:40%" src="/keynote/categories/img/mp/tree-list-endofunctor-morphism.png" alt="natural transformation commutative diagram"/> <figcaption><code>toList . toTree = id</code> <span class="and">&amp;</span> <code>toTree . toList = id</code> <span style="visibility:hidden"><span class="and">&amp;</span></span><br/> therefore <code>[]</code> <span class="and">&amp;</span> <code>Tree</code> are <span class="orange">isomorph</span>. </figcaption>
<img style="width:40%" src="/keynote/categories/img/mp/tree-list-endofunctor-morphism.png" alt="natural transformation commutative diagram"/> <figcaption><code>toList . toHList = id</code> <span class="and">&amp;</span> <code>toHList . toList = id</code> <span style="visibility:hidden"><span class="and">&amp;</span></span><br/> therefore <code>[]</code> <span class="and">&amp;</span> <code>Tree</code> are <span class="orange">isomorph</span>. </figcaption>
</figure>

38
Scratch/fr/blog/index.html

File diff suppressed because one or more lines are too long

380
Scratch/sitemap.xml

@ -1,451 +1,451 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/mvc/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/mvc/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/sitemap.xml</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/programming-language-experience/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/programming-language-experience/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Password-Management/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/01_nanoc/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/about/old/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/about/contact/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/04_drm/</loc>
<loc>http://yannesposito.com/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/</loc>
<loc>http://yannesposito.com/Scratch/fr/softwares/yclock/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/mvc/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/01_nanoc/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/validation/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
<loc>http://yannesposito.com/Scratch/en/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/validation/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/about/contact/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/yclock/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/04_drm/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/about/technical_details/</loc>
<loc>http://yannesposito.com/Scratch/en/softwares/yclock/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Password-Management/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/01_nanoc/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/04_drm/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/about/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/assets/css/dynamic.css</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/04_drm/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/02_ackgrep/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/yaquabubbles/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
<loc>http://yannesposito.com/Scratch/en/softwares/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/02_ackgrep/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/</loc>
<loc>http://yannesposito.com/Scratch/en/rss/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/feed/feed.xml</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/rss/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/programming-language-experience/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/web/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Category-Theory-Presentation/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/</loc>
<loc>http://yannesposito.com/Scratch/en/about/old/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/assets/css/main.css</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/feed/feed.xml</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/02_ackgrep/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
<loc>http://yannesposito.com/Scratch/assets/css/dynamic.css</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
<loc>http://yannesposito.com/Scratch/en/about/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/</loc>
<loc>http://yannesposito.com/Scratch/sitemap.xml</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Password-Management/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Category-Theory-Presentation/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/</loc>
<loc>http://yannesposito.com/Scratch/en/validation/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/</loc>
<loc>http://yannesposito.com/Scratch/fr/rss/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/about/technical_details/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/about/old/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/</loc>
<loc>http://yannesposito.com/Scratch/fr/about/old/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
<loc>http://yannesposito.com/Scratch/en/about/contact/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
@ -453,167 +453,167 @@
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/web/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/rss/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/</loc>
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/softwares/yclock/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
<loc>http://yannesposito.com/Scratch/en/softwares/yaquabubbles/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/</loc>
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/web/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/latest/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/</loc>
<loc>http://yannesposito.com/Scratch/fr/latest/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
<loc>http://yannesposito.com/Scratch/en/latest/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Category-Theory-Presentation/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/latest/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Password-Management/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/about/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/web/</loc>
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Category-Theory-Presentation/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/feed/feed.xml</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/</loc>
<loc>http://yannesposito.com/Scratch/fr/softwares/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
<loc>http://yannesposito.com/Scratch/fr/about/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/01_nanoc/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
@ -621,151 +621,151 @@
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
<loc>http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/mvc/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/feed/feed.xml</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/02_ackgrep/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/</loc>
<loc>http://yannesposito.com/Scratch/assets/css/main.css</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/programming-language-experience/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/</loc>
<loc>http://yannesposito.com/Scratch/fr/about/technical_details/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/softwares/</loc>
<loc>http://yannesposito.com/Scratch/en/about/technical_details/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/</loc>
<loc>http://yannesposito.com/Scratch/fr/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/</loc>
<loc>http://yannesposito.com/Scratch/fr/about/contact/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/</loc>
<loc>http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/</loc>
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/</loc>
<loc>http://yannesposito.com/Scratch/fr/validation/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
<lastmod>2012-12-12</lastmod>
</url>
<url>
<loc>http://yannesposito.com/Scratch/en/softwares/</loc>
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/</loc>
<lastmod>2012-12-12</lastmod>
</url>
</urlset>

28
keynote/categories.html

@ -704,35 +704,33 @@ Haskell types is fractal:</p>
<p><img src="categories/img/mp/natural-transformation.png" alt="Natural transformation commutative diagram" class="right"/> <em>A natural transformation:</em> familly η ; \(η_X\in\hom{\D}\) for \(X\in\ob{\C}\) s.t.</p>
<p>ex: between Haskell functors; <code>F a -&gt; G a</code><br />Rearragement functions only.</p>
</section>
<section class="slide">
<h2 id="natural-transformation-examples-14">Natural Transformation Examples (1/4)</h2>
<pre><code class="haskell small">data Tree a = Empty | Node a [Tree a]
toTree :: [a] -> Tree a
toTree [] = Empty
toTree (x:xs) = Node x [toTree xs]</pre>
<pre><code class="haskell small">data List a = Nil | Cons a (List a)
toList :: [a] -> Tree a
toList [] = Nil
toList (x:xs) = Cons x (toList xs)</pre>
</code>
<p><code>toTree</code> is a natural transformation. It is also a morphism from <code>[]</code> to <code>Tree</code> in the Category of \(\Hask\) endofunctors.</p>
<p><code>toList</code> is a natural transformation. It is also a morphism from <code>[]</code> to <code>List</code> in the Category of \(\Hask\) endofunctors.</p>
<img style="float:left;width:30%" src="categories/img/mp/nattrans-list-tree.png" alt="natural transformation commutative diagram"/>
<figure style="float:right;width:60%">
<img style="width:40%" src="categories/img/mp/list-tree-endofunctor-morphism.png" alt="natural transformation commutative diagram"/>
</figure>
</section>
<section class="slide">
<h2 id="natural-transformation-examples-24">Natural Transformation Examples (2/4)</h2>
<pre><code class="haskell small">data Tree a = Empty | Node a [Tree a]
toList :: Tree a -> [a]
toList Empty = []
toList (Node x l) = [x] ++ concat (map toList l)</pre>
<pre><code class="haskell small">data List a = Nil | Cons a (List a)
toHList :: List a -> [a]
toHList Nil = []
toHList (Cons x xs) = x:toHList xs</pre>
</code>
<p><code>toList</code> is a natural transformation. It is also a morphism from <code>Tree</code> to <code>[]</code> in the Category of \(\Hask\) endofunctors.</p>
<p><code>toHList</code> is a natural transformation. It is also a morphism from <code>List</code> to <code>[]</code> in the Category of \(\Hask\) endofunctors.</p>
<img style="float:left;width:30%" src="categories/img/mp/nattrans-tree-list.png" alt="natural transformation commutative diagram"/>
<figure style="float:right;width:60%">
<img style="width:40%" src="categories/img/mp/tree-list-endofunctor-morphism.png" alt="natural transformation commutative diagram"/> <figcaption><code>toList . toTree = id</code> <span class="and">&amp;</span> <code>toTree . toList = id</code> <span style="visibility:hidden"><span class="and">&amp;</span></span><br/> therefore <code>[]</code> <span class="and">&amp;</span> <code>Tree</code> are <span class="yellow">isomorph</span>. </figcaption>
<img style="width:40%" src="categories/img/mp/tree-list-endofunctor-morphism.png" alt="natural transformation commutative diagram"/> <figcaption><code>toList . toHList = id</code> <span class="and">&amp;</span> <code>toHList . toList = id</code> <span style="visibility:hidden"><span class="and">&amp;</span></span><br/> therefore <code>[]</code> <span class="and">&amp;</span> <code>Tree</code> are <span class="orange">isomorph</span>. </figcaption>
</figure>
</section>
<section class="slide">
<h2 id="natural-transformation-examples-34">Natural Transformation Examples (3/4)</h2>

BIN
keynote/categories.pdf

Binary file not shown.

7
keynote/categories/img/mp/list-tree-endofunctor-morphism.mp

@ -0,0 +1,7 @@
pair tree,list;
resize(.8cm);
list=origin;
tree=list shifted (gu,0);
drawState(list,"\mathtt{[]}");
drawState(tree,"\mathtt{List}");
drawEdgeAngle(list,tree,"\mathtt{toList}",30);

BIN
keynote/categories/img/mp/list-tree-endofunctor-morphism.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 254 KiB

21
keynote/categories/img/mp/nattrans-list-tree.mp

@ -0,0 +1,21 @@
z0=(0,0);
z1=(1.5gu,0);
z2=(0,-gu);
z3=(1.5gu,-gu);
path ac,ab;
label(btex $\mathtt{[a]}$ etex,z0);
label(btex $\mathtt{[b]}$ etex,z1);
label(btex $\mathtt{List\ a}$ etex,z2 shifted (-u,0));
label(btex $\mathtt{List\ b}$ etex,z3 shifted (u,0));
drawEdge(z0,z1,"\mathtt{fmap_{[]}\ f}");
drawEdge(z2,z3,"\mathtt{fmap_{List}\ f}");
ab:=edge(z0,z2);
drawarrow ab;
label.lft(btex $\mathtt{toList}$ etex,midpoint(ab));
ac:=edge(z1,z3);
drawarrow ac;
label.rt(btex $\mathtt{toList}$ etex,midpoint(ac));

BIN
keynote/categories/img/mp/nattrans-list-tree.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 297 KiB

29
keynote/categories/img/mp/nattrans-tree-list.mp

@ -0,0 +1,29 @@
z0=(0,0);
z1=(1.5gu,0);
z2=(0,-gu);
z3=(1.5gu,-gu);
path ac,ab;
label(btex $\mathtt{[a]}$ etex,z0);
label(btex $\mathtt{[b]}$ etex,z1);
label(btex $\mathtt{List\ a}$ etex,z2 shifted (-u,0));
label(btex $\mathtt{List\ b}$ etex,z3 shifted (u,0));
drawEdge(z0,z1,"\mathtt{fmap_{[]}\ f}");
drawEdge(z2,z3,"\mathtt{fmap_{List}\ f}");
ab:=edge(z0,z2);
drawarrow ab;
label.lft(btex $\mathtt{toList}$ etex,midpoint(ab));
ac:=edge(z1,z3);
drawarrow ac;
label.rt(btex $\mathtt{toList}$ etex,midpoint(ac));
drawoptions(withcolor yellow);
path abb,acb;
abb:=edge(z2 shifted (.2u,0),z0 shifted (.2u,0));
acb:=edge(z3 shifted (-.2u,0),z1 shifted (-.2u,0));
drawarrow abb;
drawarrow acb;
label.rt(btex $\mathtt{toHList}$ etex,midpoint(abb));
label.lft(btex $\mathtt{toHList}$ etex,midpoint(acb));

BIN
keynote/categories/img/mp/nattrans-tree-list.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 KiB

After

Width:  |  Height:  |  Size: 344 KiB

9
keynote/categories/img/mp/tree-list-endofunctor-morphism.mp

@ -0,0 +1,9 @@
pair tree,list;
resize(.8cm);
list=origin;
tree=list shifted (gu,0);
drawState(list,"\mathtt{[]}");
drawState(tree,"\mathtt{List}");
drawEdgeAngle(list,tree,"\mathtt{toList}",30);
drawoptions(withcolor yellow);
drawEdgeAngle(tree,list,"\mathtt{toHList}",30);

BIN
keynote/categories/img/mp/tree-list-endofunctor-morphism.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 KiB

After

Width:  |  Height:  |  Size: 357 KiB

Loading…
Cancel
Save