<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bastien Duret</title>
    <description>My personal website.
</description>
    <link>http://www.bastienduret.com/</link>
    <atom:link href="http://www.bastienduret.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 04 Dec 2021 14:42:19 +0000</pubDate>
    <lastBuildDate>Sat, 04 Dec 2021 14:42:19 +0000</lastBuildDate>
    <generator>Jekyll v3.9.0</generator>
    
      <item>
        <title>Four tools every JavaScript team should use</title>
        <description>&lt;p&gt;Whether you’re starting a new JavaScript project, or hopping on an existing one, here are four tools your team should use.&lt;/p&gt;

&lt;h1 id=&quot;yarn&quot;&gt;Yarn&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://yarnpkg.com/&quot;&gt;Yarn&lt;/a&gt; will both be your build tool (to pass question 2 of the &lt;a href=&quot;https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/&quot;&gt;Joel Test&lt;/a&gt;) and your &lt;a href=&quot;https://en.wikipedia.org/wiki/Package_manager&quot;&gt;package manager&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://yarnpkg.com/lang/en/docs/install&quot;&gt;Install yarn&lt;/a&gt; then enter this command to initialize your project:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn init
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;eslint&quot;&gt;ESLint&lt;/h1&gt;

&lt;p&gt;Writing JavaScript without bugs is not easy. The first tool that will help you do that is &lt;a href=&quot;https://eslint.org/&quot;&gt;ESLint&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Install ESLint:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn add &lt;span class=&quot;nt&quot;&gt;-D&lt;/span&gt; eslint
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Next, you need to configure ESLint, either by using the following command and answering a few questions:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn eslint &lt;span class=&quot;nt&quot;&gt;--init&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;or by manually creating an ESLint configuration file at the root of your project named &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eslintrc.yml&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It should at least contain the following line:&lt;/p&gt;
&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;extends&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;eslint:recommended'&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then, add the following lines to your package.json file:&lt;/p&gt;
&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nl&quot;&gt;&quot;scripts&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;lint&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;eslint src --fix&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You now have at your disposal a command that prevents you from classic mistakes like &lt;a href=&quot;https://eslint.org/docs/rules/no-unused-vars&quot;&gt;unused variables&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn lint
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;prettier&quot;&gt;Prettier&lt;/h1&gt;

&lt;p&gt;Team conventions about code formatting are great, but having to enforce them through code review comments is a pain. Fortunately, &lt;a href=&quot;https://prettier.io/&quot;&gt;Prettier&lt;/a&gt; is here to help.&lt;/p&gt;

&lt;p&gt;Install Prettier:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn add &lt;span class=&quot;nt&quot;&gt;-D&lt;/span&gt; prettier
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Since we are already using ESLint, we will run Prettier through ESLint using &lt;a href=&quot;https://github.com/prettier/eslint-plugin-prettier&quot;&gt;eslint-plugin-prettier&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn add &lt;span class=&quot;nt&quot;&gt;-D&lt;/span&gt; eslint-plugin-prettier
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We will also follow &lt;a href=&quot;https://github.com/prettier/eslint-plugin-prettier#recommended-configuration&quot;&gt;the plugin’s author advice&lt;/a&gt; and use &lt;a href=&quot;https://github.com/prettier/eslint-config-prettier&quot;&gt;eslint-config-prettier&lt;/a&gt; to disable all ESLint formatting rules, and leave this job to Prettier:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn add &lt;span class=&quot;nt&quot;&gt;-D&lt;/span&gt; eslint-config-prettier
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Edit your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.eslintrc.yml&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;extends&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; 
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;eslint:recommended&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;plugin:prettier/recommended&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And that’s it, you no longer have to fight over spaces versus tabs, or single versus double quotes. The following command will now both warn you about errors and format your code:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn lint
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;flow&quot;&gt;Flow&lt;/h1&gt;

&lt;p&gt;As I said earlier, writing JavaScript without bugs is not easy. When you add types to your JavaScript code, all of a sudden a lot of mistakes become obvious. That’s why you should use &lt;a href=&quot;https://flow.org/&quot;&gt;Flow&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;First, install and initialize Flow:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn add &lt;span class=&quot;nt&quot;&gt;-D&lt;/span&gt; flow-bin
yarn flow init
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then, annotate all your files with the following comment:&lt;/p&gt;
&lt;div class=&quot;language-js highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// @flow&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Finally, run the following command and enjoy type safety:&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yarn flow
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;Your safety harness is all set, you’re ready to code!&lt;/p&gt;

&lt;p&gt;If you want to go further you can:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;add more eslint rules, using plugins like &lt;a href=&quot;https://www.npmjs.com/package/eslint-plugin-import&quot;&gt;eslint-plugin-import&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;write &lt;a href=&quot;https://flow.org/en/docs/types/&quot;&gt;type annotations&lt;/a&gt;, which will require you to use &lt;a href=&quot;https://babeljs.io/&quot;&gt;babel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need an example, you will find a showcase of all the tools I have presented in this article in &lt;a href=&quot;https://github.com/bastoche/javascript-tools&quot;&gt;this repository&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Sat, 04 Aug 2018 20:34:26 +0000</pubDate>
        <link>http://www.bastienduret.com/javascript/2018/08/04/javascript-setup.html</link>
        <guid isPermaLink="true">http://www.bastienduret.com/javascript/2018/08/04/javascript-setup.html</guid>
        
        
        <category>javascript</category>
        
      </item>
    
      <item>
        <title>Lean in Japan</title>
        <description>&lt;p&gt;I have spent a week touring the Nagoya area to visit companies applying the &lt;a href=&quot;https://en.wikipedia.org/wiki/Toyota_Production_System&quot;&gt;Toyota Production System&lt;/a&gt;. They varied in size and industry, but had the following common traits:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;they are not doing this for fun or because some consultant told them so, but to survive&lt;/li&gt;
  &lt;li&gt;they are passionate about their products, from steel coils to second hand books&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this post, I will share what I saw over there on the shop floor, and what a software engineering team might learn from it. Here’s the gist of it:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;Most of the work being performed by a software engineering team is hidden, use visual management to make it visible&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;The role of the team leader is to support operators in their day-to-day job, which means he should be both knowledgeable and available&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;Not knowing how to perform a task is not an interesting challenge to solve for the operator, it is an issue for the management team&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!-- _includes/image.html --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;http://www.bastienduret.com/assets/lean.png&quot; alt=&quot;Lean Manufacturing&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;The dreaded wikipedia image&lt;/p&gt;
    
&lt;/div&gt;

&lt;h1 id=&quot;visualize-what-has-to-be-done-and-what-is-going-on&quot;&gt;Visualize what has to be done, and what is going on&lt;/h1&gt;

&lt;p&gt;When you visit the shop floor, even though you don’t know anything about the steel coils industry, you can see what is going on. You can see the stock of raw material, you can see it being transformed by a series of machines, and you can see the stock of finished goods waiting to be shipped to the customers.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;http://www.bastienduret.com/assets/steel.jpg&quot; alt=&quot;Shop floor&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;The shop floor in a steel coil factory&lt;/p&gt;
    
&lt;/div&gt;

&lt;p&gt;When you visit the office of a software company, it is hard to see all of this. Often all you can see is a bunch of people banging on their keyboards. It means that it’s hard to answer the following questions:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;is customer demand satisfied?&lt;/li&gt;
  &lt;li&gt;is the team experiencing issues during production?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;visualize-customer-demand-and-current-production-using-kanban&quot;&gt;Visualize customer demand and current production using Kanban&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Kanban&quot;&gt;Kanban&lt;/a&gt; can be used to visualize what has to be done, what has been done, and what is being done right now. Kanban cards represent orders from the client, that have to be fulfilled. In the case of software development, the client often is proxied by the Product Manager / Product Owner.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;http://www.bastienduret.com/assets/kanban.jpg&quot; alt=&quot;Kanban&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;Kanban cards representing customer demand&lt;/p&gt;
    
&lt;/div&gt;

&lt;p&gt;Using Kanban cards, or any other visual artifact actually, to represent customer demand helps ensuring that the team is currently working on something that the client is waiting for. You cannot work if you don’t have a card showing that someone ordered your work.
If the team’s production cannot satisfy customer demand, cards waiting to be done will start to pile up, and a reflexion should start to understand why. A good question to ask is:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;Are there too many defects in what is being produced?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;produce-according-to-a-takt-time&quot;&gt;Produce according to a takt time&lt;/h2&gt;

&lt;p&gt;Detecting production issues is much easier is you’re working on a steady rythm. The &lt;a href=&quot;https://en.wikipedia.org/wiki/Takt_time&quot;&gt;takt time&lt;/a&gt; is the time interval at which work should be done. For instance, you can decide to have a takt time of a half day, so that every half day you ship one feature to the client. Of course, these numbers should match the global customer demand.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;http://www.bastienduret.com/assets/takt.jpg&quot; alt=&quot;Takt time&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;A takt time of 10 minutes&lt;/p&gt;
    
&lt;/div&gt;

&lt;p&gt;Every half day, you can either fail or succeed to deliver, and every failure is an opportunity to learn. Why couldn’t we produce this feature ? What went in our way ?&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;Are there too many defects in what is given as input?
How can we reduce the fixed cost of shipping a product to the customer?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1 id=&quot;spend-your-time-adding-value&quot;&gt;Spend your time adding value&lt;/h1&gt;

&lt;p&gt;When working, your time is split on two types of activities:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;value-adding activities&lt;/li&gt;
  &lt;li&gt;non value-adding activities, also known as waste&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, some amount of waste is necessary. Writing tests is a form of waste: you spend time writing tests because otherwise you would spend even more time debugging your code. Nonetheless, you want to spend your time adding value as much as possible, and reduce waste to a minimum.
In every japanese lean factory I went, quality was an obsession. They often spent a lot of effort doing final inspections to ensure they delivered only quality products to their customers. This is another form of waste. But they also used &lt;a href=&quot;https://en.wikipedia.org/wiki/Autonomation&quot;&gt;Jidôka&lt;/a&gt;, to enforce quality at every step of the production line. If an operator encounters an anomaly, or doesn’t know how to perform his task in the required time frame, he uses the &lt;a href=&quot;https://en.wikipedia.org/wiki/Andon_(manufacturing)&quot;&gt;andon&lt;/a&gt; system to notify his team leader and eventually stop the production line.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;http://www.bastienduret.com/assets/andon.jpg&quot; alt=&quot;Andon&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;Operator 2 is in trouble!&lt;/p&gt;
    
&lt;/div&gt;

&lt;p&gt;As a developer, when the spec isn’t clear, the tests are brittle, your computer is too slow, or the API is undocumented, what do you do? You go on anyway, trying your best? You shouldn’t. You should stop working and call your team leader.&lt;/p&gt;

&lt;h1 id=&quot;standardize-then-continuously-improve&quot;&gt;Standardize, then continuously improve&lt;/h1&gt;

&lt;p&gt;An operator on the shop floor knows in advance the exact sequence of movements he is going to perform in order to produce his next piece. And he knows exactly how much time each step is going to take.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;http://www.bastienduret.com/assets/standards.jpg&quot; alt=&quot;Standardized work&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;The operator workstation, where standards are visible&lt;/p&gt;
    
&lt;/div&gt;

&lt;p&gt;It’s hard to imagine transposing this concept to the software development world at first. But if you zoom engouh on the tasks you perform as a developer, you start seeing patterns. Tasks that you repeat over and over again. Tasks that you can standardize, so that you have a baseline to improve upon.
Standards are guidelines pushed to the next level, because they introduce the notion of &lt;a href=&quot;https://en.wikipedia.org/wiki/Standard_time_(manufacturing)&quot;&gt;standard time&lt;/a&gt;. How much time to create an empty React component ? How much time to add a GET endpoint to your Django REST API ?
Standards are a powerful tool for operators to see if they know what they are doing, or if there are only figuring things out along the way. They are also great formation tools: they document the way of the team.
Once you have standards in place, you can start improving, continously, Kaizen-style. Every issue is an opportunity either to create a new standard, or to improve the existing one.&lt;/p&gt;

&lt;!-- _includes/image.html --&gt;
&lt;div class=&quot;image-wrapper&quot;&gt;
    
        &lt;img src=&quot;http://www.bastienduret.com/assets/kaizen.jpg&quot; alt=&quot;Kaizen&quot; /&gt;
    
    
        &lt;p class=&quot;image-caption&quot;&gt;I don't understand anything, but obviously after a kaizen things are better than before&lt;/p&gt;
    
&lt;/div&gt;

</description>
        <pubDate>Sun, 05 Nov 2017 14:32:33 +0000</pubDate>
        <link>http://www.bastienduret.com/lean/2017/11/05/lean-in-japan.html</link>
        <guid isPermaLink="true">http://www.bastienduret.com/lean/2017/11/05/lean-in-japan.html</guid>
        
        
        <category>lean</category>
        
      </item>
    
      <item>
        <title>Universal React at Auchan:Direct</title>
        <description>&lt;p&gt;Here are a &lt;a href=&quot;https://youtu.be/wKP9Yb8a2Ow&quot;&gt;video&lt;/a&gt; and the &lt;a href=&quot;http://slides.com/bastoche/deck&quot;&gt;slides&lt;/a&gt; of a talk I gave (in french) during a &lt;a href=&quot;https://www.meetup.com/Tech-Lunch/events/232726622/&quot;&gt;tech lunch&lt;/a&gt; in &lt;a href=&quot;https://www.algolia.com/&quot;&gt;Algolia&lt;/a&gt;’s Paris office.&lt;/p&gt;

&lt;p&gt;The bottom line is that:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;we are building &lt;a href=&quot;https://beta.auchandirect.fr/&quot;&gt;Auchan:Direct’s new website&lt;/a&gt; as a universal &lt;a href=&quot;https://facebook.github.io/react/&quot;&gt;react&lt;/a&gt; application&lt;/li&gt;
  &lt;li&gt;we put it into production in less than four months&lt;/li&gt;
  &lt;li&gt;it should bring us a great user experience while being crawler friendly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The video:&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/wKP9Yb8a2Ow&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;The slides:&lt;/p&gt;
&lt;iframe src=&quot;//slides.com/bastoche/deck/embed&quot; width=&quot;576&quot; height=&quot;420&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; webkitallowfullscreen=&quot;&quot; mozallowfullscreen=&quot;&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

</description>
        <pubDate>Sun, 31 Jul 2016 23:27:28 +0000</pubDate>
        <link>http://www.bastienduret.com/react/2016/07/31/react.html</link>
        <guid isPermaLink="true">http://www.bastienduret.com/react/2016/07/31/react.html</guid>
        
        
        <category>react</category>
        
      </item>
    
      <item>
        <title>Goodbye Pearltrees</title>
        <description>&lt;p&gt;I joined &lt;a href=&quot;http://www.pearltrees.com/&quot;&gt;Pearltrees&lt;/a&gt; 3 years ago, and I’m glad I did. I worked with a bunch of talented people, discovered the tech start-up world, and dived deep into mobile and web development. I wish you guys all the best!&lt;/p&gt;

&lt;p&gt;Hey, but I have a blog now! I can finally embed &lt;a href=&quot;http://www.pearltrees.com/bastoche&quot;&gt;my Pearltrees account&lt;/a&gt; somewhere:&lt;/p&gt;
&lt;iframe src=&quot;//www.pearltrees.com/bastoche?embed=2&amp;amp;d=20160202010&quot; width=&quot;560&quot; height=&quot;413&quot; style=&quot;border:0px;&quot; allowtransparency=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;span style=&quot;display:block; padding-top:2px; color:#818181; font-size:13px;&quot;&gt;&lt;a href=&quot;http://www.pearltrees.com/bastoche&quot; style=&quot; color:#818181; font-size:13px;&quot; target=&quot;_blank&quot;&gt;Bastoche&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

</description>
        <pubDate>Mon, 01 Feb 2016 15:40:48 +0000</pubDate>
        <link>http://www.bastienduret.com/startup/2016/02/01/goodbye-pearltrees.html</link>
        <guid isPermaLink="true">http://www.bastienduret.com/startup/2016/02/01/goodbye-pearltrees.html</guid>
        
        
        <category>startup</category>
        
      </item>
    
      <item>
        <title>Welcome to my personal blog!</title>
        <description>&lt;p&gt;I’m just playing with Jekyll right now, but who knows, maybe this will turn into one of those &lt;a href=&quot;http://www.joelonsoftware.com/&quot;&gt;famous&lt;/a&gt; &lt;a href=&quot;http://blog.codinghorror.com/&quot;&gt;software&lt;/a&gt; &lt;a href=&quot;http://www.paulgraham.com/articles.html&quot;&gt;engineering&lt;/a&gt; &lt;a href=&quot;http://martinfowler.com/bliki/&quot;&gt;blogs&lt;/a&gt;.&lt;/p&gt;

</description>
        <pubDate>Wed, 27 Jan 2016 17:54:14 +0000</pubDate>
        <link>http://www.bastienduret.com/welcome/2016/01/27/welcome.html</link>
        <guid isPermaLink="true">http://www.bastienduret.com/welcome/2016/01/27/welcome.html</guid>
        
        
        <category>welcome</category>
        
      </item>
    
  </channel>
</rss>
