<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://scastiel.dev</id>
    <title>Articles · Sebastien Castiel</title>
    <updated>2025-08-17T15:30:32.661Z</updated>
    <generator>Feed for Node.js</generator>
    <author>
        <name>Sebastien Castiel</name>
        <uri>https://scastiel.dev</uri>
    </author>
    <link rel="alternate" href="https://scastiel.dev"/>
    <link rel="self" href="https://scastiel.dev/feed/feed.xml"/>
    <subtitle>I’m an experienced developer who builds stuff and occasionally writes blog posts and books. My main area of expertise is the front-end (React, TypeScript, Next.js). 👋 I’m available for contract work!</subtitle>
    <logo>https://scastiel.dev/icon.png</logo>
    <icon>https://scastiel.dev/icon.png</icon>
    <rights>Creative Commons BY-NC-SA</rights>
    <entry>
        <title type="html"><![CDATA[13 tips for better Pull Requests and Code Review]]></title>
        <id>https://scastiel.dev/13-tips-for-better-pull-requests-and-code-review</id>
        <link href="https://scastiel.dev/13-tips-for-better-pull-requests-and-code-review"/>
        <updated>2023-10-17T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Would you like to become better at crafting pull requests and reviewing code? Here are the 13 tips from my latest book that you can use in your daily developer activity.]]></summary>
        <content type="html"><![CDATA[Would you like to become better at crafting pull requests and reviewing code? Here are the 13 tips from my latest book that you can use in your daily developer activity.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[The simplest example to understand Server Actions in Next.js]]></title>
        <id>https://scastiel.dev/simplest-example-server-actions-nextjs</id>
        <link href="https://scastiel.dev/simplest-example-server-actions-nextjs"/>
        <updated>2023-08-03T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Server Actions are a new feature in Next.js. The first time I heard about them, they didn’t seem very intuitive to me. Now that I’m a bit more used to them, let me contribute to making them easier to understand.]]></summary>
        <content type="html"><![CDATA[Server Actions are a new feature in Next.js. The first time I heard about them, they didn’t seem very intuitive to me. Now that I’m a bit more used to them, let me contribute to making them easier to understand.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Intro to React Server Components and Actions with Next.js]]></title>
        <id>https://scastiel.dev/server-components-actions-react-nextjs</id>
        <link href="https://scastiel.dev/server-components-actions-react-nextjs"/>
        <updated>2023-07-03T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[React is living something these days. Although it was created as a client UI library, it can now be used to generate almost everything from the server. And we get a lot from this change, especially when coupled with Next.js. Let’s use Server Components and Actions to build something fun: a guestbook.]]></summary>
        <content type="html"><![CDATA[React is living something these days. Although it was created as a client UI library, it can now be used to generate almost everything from the server. And we get a lot from this change, especially when coupled with Next.js. Let’s use Server Components and Actions to build something fun: a guestbook.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to give code review as a junior developer?]]></title>
        <id>https://scastiel.dev/code-review-junior-developer</id>
        <link href="https://scastiel.dev/code-review-junior-developer"/>
        <updated>2023-06-24T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[By focusing on learning, providing constructive feedback with a positive tone, and embracing the opportunity to contribute, junior developers can make valuable contributions to code quality and their own growth. Code reviews are essential for skill development and fostering collaboration within development teams.]]></summary>
        <content type="html"><![CDATA[By focusing on learning, providing constructive feedback with a positive tone, and embracing the opportunity to contribute, junior developers can make valuable contributions to code quality and their own growth. Code reviews are essential for skill development and fostering collaboration within development teams.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[How well should I know React before applying to my first job?]]></title>
        <id>https://scastiel.dev/what-to-know-react-first-job</id>
        <link href="https://scastiel.dev/what-to-know-react-first-job"/>
        <updated>2023-06-15T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[A recurring question I hear from people learning React: “how do I know if I’m ready to apply to junior React developer jobs?”. Very often, they’re ready before they know.]]></summary>
        <content type="html"><![CDATA[A recurring question I hear from people learning React: “how do I know if I’m ready to apply to junior React developer jobs?”. Very often, they’re ready before they know.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[A better learning path for React with server components]]></title>
        <id>https://scastiel.dev/better-learning-path-react</id>
        <link href="https://scastiel.dev/better-learning-path-react"/>
        <updated>2023-05-26T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[What if we took advantage of React Server Components not only to improve how we use React, but also how we help people learn it from the beginning?]]></summary>
        <content type="html"><![CDATA[What if we took advantage of React Server Components not only to improve how we use React, but also how we help people learn it from the beginning?]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Display a view counter on your blog with React Server Components]]></title>
        <id>https://scastiel.dev/view-counter-react-server-components</id>
        <link href="https://scastiel.dev/view-counter-react-server-components"/>
        <updated>2023-04-24T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[A short tutorial with a cool use case for React Server Components, Streaming and Suspense with Next.js: adding a view counter on a blog, calling the Plausible analytics API.]]></summary>
        <content type="html"><![CDATA[A short tutorial with a cool use case for React Server Components, Streaming and Suspense with Next.js: adding a view counter on a blog, calling the Plausible analytics API.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Using Zod & TypeScript for more than user input validation]]></title>
        <id>https://scastiel.dev/zod-typescript</id>
        <link href="https://scastiel.dev/zod-typescript"/>
        <updated>2023-03-08T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[If you have ever created an API or a form accepting user input, you know what data validation is, and how tedious it can be. Fortunately, libraries can help us, such as Yup or Zod. But recently, I realized that these libraries allow patterns that go much farther than input validation. In this post, I’ll show you why I now use them in most of my TypeScript projects.]]></summary>
        <content type="html"><![CDATA[If you have ever created an API or a form accepting user input, you know what data validation is, and how tedious it can be. Fortunately, libraries can help us, such as Yup or Zod. But recently, I realized that these libraries allow patterns that go much farther than input validation. In this post, I’ll show you why I now use them in most of my TypeScript projects.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Display your Gumroad products on your Next.js website]]></title>
        <id>https://scastiel.dev/gumroad-pages-nextjs</id>
        <link href="https://scastiel.dev/gumroad-pages-nextjs"/>
        <updated>2023-02-26T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[If you sell some products on Gumroad and also have a personal website, maybe you’d like to automatically list your products on this website. And if your website is based on Next.js, you can do it pretty easilly using Gumroad API.]]></summary>
        <content type="html"><![CDATA[If you sell some products on Gumroad and also have a personal website, maybe you’d like to automatically list your products on this website. And if your website is based on Next.js, you can do it pretty easilly using Gumroad API.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Use Next.js Image component in posts with Markdown]]></title>
        <id>https://scastiel.dev/nextjs-image-in-markdown</id>
        <link href="https://scastiel.dev/nextjs-image-in-markdown"/>
        <updated>2023-02-19T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Next.js has a wonderful Image component that lazy loads images and optimizes their dimensions. Here is how to use it when generating your blog from Markdown.]]></summary>
        <content type="html"><![CDATA[Next.js has a wonderful Image component that lazy loads images and optimizes their dimensions. Here is how to use it when generating your blog from Markdown.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Create OG images for your blog with Next.js]]></title>
        <id>https://scastiel.dev/create-og-images-for-your-blog-with-nextjs</id>
        <link href="https://scastiel.dev/create-og-images-for-your-blog-with-nextjs"/>
        <updated>2022-11-07T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Vercel recently announced a new library to generate OpenGraph (OG) images. A short tutorial to see how to use it to generate OG images for your Next.js application.]]></summary>
        <content type="html"><![CDATA[Vercel recently announced a new library to generate OpenGraph (OG) images. A short tutorial to see how to use it to generate OG images for your Next.js application.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Combining scripts and DSLs is Kotlin’s most underrated feature]]></title>
        <id>https://scastiel.dev/kotlin-scripts-dsl-underrated-feature</id>
        <link href="https://scastiel.dev/kotlin-scripts-dsl-underrated-feature"/>
        <updated>2022-03-23T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[The more I play with Kotlin, the more convinced I am that a combo of two of its features is vastly underrated: first, the ability to create domain-specific languages (DSL), thanks to some syntactic sugar; then, the ability to write scripts and create interpreters for them.]]></summary>
        <content type="html"><![CDATA[The more I play with Kotlin, the more convinced I am that a combo of two of its features is vastly underrated: first, the ability to create domain-specific languages (DSL), thanks to some syntactic sugar; then, the ability to write scripts and create interpreters for them.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Walk in the steps of successful makers, and fail]]></title>
        <id>https://scastiel.dev/walk-in-steps-of-successful-makers-and-fail</id>
        <link href="https://scastiel.dev/walk-in-steps-of-successful-makers-and-fail"/>
        <updated>2022-03-05T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Following advice by successful people might not be enough. A short essay about survivorship bias, and how it can make you forget the most important ingredient to success: luck.]]></summary>
        <content type="html"><![CDATA[Following advice by successful people might not be enough. A short essay about survivorship bias, and how it can make you forget the most important ingredient to success: luck.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Purchasing Power Parity: fair pricing for your SaaS product]]></title>
        <id>https://scastiel.dev/implement-ppp-fair-pricing-for-your-product</id>
        <link href="https://scastiel.dev/implement-ppp-fair-pricing-for-your-product"/>
        <updated>2021-02-22T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Using Purchasing Power Parity, you can offer a fair pricing based on your user’s location. Here I explain what it is, then I show you how I implemented it on my course’s selling page using serverless functions and a little bit of React.]]></summary>
        <content type="html"><![CDATA[Using Purchasing Power Parity, you can offer a fair pricing based on your user’s location. Here I explain what it is, then I show you how I implemented it on my course’s selling page using serverless functions and a little bit of React.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[How I use Pandoc to create programming eBooks]]></title>
        <id>https://scastiel.dev/how-i-use-pandoc-to-create-my-programming-ebooks</id>
        <link href="https://scastiel.dev/how-i-use-pandoc-to-create-my-programming-ebooks"/>
        <updated>2021-01-21T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Here is the story of how I built my eBooks, especially the last one. After some trial and errors, in the end, I used the same recipe as the two previous ones, and it involves a fantastic tool: Pandoc.]]></summary>
        <content type="html"><![CDATA[Here is the story of how I built my eBooks, especially the last one. After some trial and errors, in the end, I used the same recipe as the two previous ones, and it involves a fantastic tool: Pandoc.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Reimplement Redux with vanilla React in 12 lines of code]]></title>
        <id>https://scastiel.dev/reimplement-redux-with-vanilla-react</id>
        <link href="https://scastiel.dev/reimplement-redux-with-vanilla-react"/>
        <updated>2021-01-11T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Redux is an awesome library to handle the state of big applications, React or not. But when you think about it, the basic features of Redux can be implemented in very few lines of code. Let’s see how.]]></summary>
        <content type="html"><![CDATA[Redux is an awesome library to handle the state of big applications, React or not. But when you think about it, the basic features of Redux can be implemented in very few lines of code. Let’s see how.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Understand how React hooks work]]></title>
        <id>https://scastiel.dev/hooks-mental-model-and-rules</id>
        <link href="https://scastiel.dev/hooks-mental-model-and-rules"/>
        <updated>2021-01-03T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[The reason hooks cause developers to struggle is that they look simple, just basic functions, but they are a lot more complex than that. The complex logic is very well hidden in the React core, but understanding a little how they work will help you to use them at their full potential, and overcome the issues you face more easily.]]></summary>
        <content type="html"><![CDATA[The reason hooks cause developers to struggle is that they look simple, just basic functions, but they are a lot more complex than that. The complex logic is very well hidden in the React core, but understanding a little how they work will help you to use them at their full potential, and overcome the issues you face more easily.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Back to basics with Node.js and Express, the time of a side project]]></title>
        <id>https://scastiel.dev/back-to-basics-node-express</id>
        <link href="https://scastiel.dev/back-to-basics-node-express"/>
        <updated>2020-11-09T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Although I love React and am more used to single-page applications (SPA), I decided to leave them aside the time of a side project and to use plain old Node.js, Express, Pug, and MongoDB. And that felt good!]]></summary>
        <content type="html"><![CDATA[Although I love React and am more used to single-page applications (SPA), I decided to leave them aside the time of a side project and to use plain old Node.js, Express, Pug, and MongoDB. And that felt good!]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Why you should have side projects]]></title>
        <id>https://scastiel.dev/the-case-for-side-projects</id>
        <link href="https://scastiel.dev/the-case-for-side-projects"/>
        <updated>2020-10-12T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[As a developer, you may have acquired some skills that you don’t find the time to practice. Or you may want to learn new ones, but your daily job doesn’t give you the opportunity. Side projects are an excellent way to solve these problems.]]></summary>
        <content type="html"><![CDATA[As a developer, you may have acquired some skills that you don’t find the time to practice. Or you may want to learn new ones, but your daily job doesn’t give you the opportunity. Side projects are an excellent way to solve these problems.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Create an animated 3D book in CSS, step by step]]></title>
        <id>https://scastiel.dev/animated-3d-book-css</id>
        <link href="https://scastiel.dev/animated-3d-book-css"/>
        <updated>2020-07-23T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[A couple of days ago, I created a 3D version for the book I’m writing, with CSS only. Because I couldn’t find an easy way to do it, I created a small 3D book image CSS generator. There was a lot of interest for it, and since it’s definitely not that complicated, here is a small tutorial to learn how to create your own version.]]></summary>
        <content type="html"><![CDATA[A couple of days ago, I created a 3D version for the book I’m writing, with CSS only. Because I couldn’t find an easy way to do it, I created a small 3D book image CSS generator. There was a lot of interest for it, and since it’s definitely not that complicated, here is a small tutorial to learn how to create your own version.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[On distraction and developer productivity]]></title>
        <id>https://scastiel.dev/on-distraction-and-developer-productivity</id>
        <link href="https://scastiel.dev/on-distraction-and-developer-productivity"/>
        <updated>2020-07-07T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[When twenty developers were asked to keep a precise diary of what tasks they worked on during the day minute by minute, the results were surprising. Maybe you don’t code as much as you think you do during a day…]]></summary>
        <content type="html"><![CDATA[When twenty developers were asked to keep a precise diary of what tasks they worked on during the day minute by minute, the results were surprising. Maybe you don’t code as much as you think you do during a day…]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[I’m writing a new book: Become an Outstanding Developer]]></title>
        <id>https://scastiel.dev/im-writing-a-new-book</id>
        <link href="https://scastiel.dev/im-writing-a-new-book"/>
        <updated>2020-05-12T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[When you’ve been working as a developer for several years, improving at coding is not enough to become better at your job. Of course, it’s a very important thing, but some soft-skills can make you not only better but one of the best. And I decided to accept the challenge: explore them and put them into a book!]]></summary>
        <content type="html"><![CDATA[When you’ve been working as a developer for several years, improving at coding is not enough to become better at your job. Of course, it’s a very important thing, but some soft-skills can make you not only better but one of the best. And I decided to accept the challenge: explore them and put them into a book!]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[I tried Flutter for a week and made an app]]></title>
        <id>https://scastiel.dev/i-tried-flutter-for-a-week</id>
        <link href="https://scastiel.dev/i-tried-flutter-for-a-week"/>
        <updated>2020-04-20T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[It’s been some time that I hear about Flutter, the UI library by Google supposed to be a concurrent for React. I’m a huge fan of React, and on the paper Flutter has all the arguments. And that made me want to try, so last week I decided to learn Flutter by making a small iOS application.]]></summary>
        <content type="html"><![CDATA[It’s been some time that I hear about Flutter, the UI library by Google supposed to be a concurrent for React. I’m a huge fan of React, and on the paper Flutter has all the arguments. And that made me want to try, so last week I decided to learn Flutter by making a small iOS application.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Create a React hook to add dark theme to your app]]></title>
        <id>https://scastiel.dev/a-react-hook-for-dark-theme</id>
        <link href="https://scastiel.dev/a-react-hook-for-dark-theme"/>
        <updated>2019-10-14T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Thanks to a recent evolution in mobile and desktop operating systems, it is more and more common for users to expect two UI themes for apps and websites: a light one and a dark one. In this article we’ll see how it is possible to offer two themes in your React application, using the one the user prefers by default.]]></summary>
        <content type="html"><![CDATA[Thanks to a recent evolution in mobile and desktop operating systems, it is more and more common for users to expect two UI themes for apps and websites: a light one and a dark one. In this article we’ll see how it is possible to offer two themes in your React application, using the one the user prefers by default.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[This blog is proudly powered by Gatsby (with some super powers)]]></title>
        <id>https://scastiel.dev/this-blog-is-proudly-powered-by-gatsby</id>
        <link href="https://scastiel.dev/this-blog-is-proudly-powered-by-gatsby"/>
        <updated>2019-09-25T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[This blog has been using Gastby for a year now. Before that I used a home-made tool I was proud of, but it was very minimalistic. Switching to Gastby was a very interesting thing to do, it’s a fantastic tool, but let’s be honest, it’s quite hard to use. I made a lot of improvements on the codebase of this blog these past few days, here is a small feedback.]]></summary>
        <content type="html"><![CDATA[This blog has been using Gastby for a year now. Before that I used a home-made tool I was proud of, but it was very minimalistic. Switching to Gastby was a very interesting thing to do, it’s a fantastic tool, but let’s be honest, it’s quite hard to use. I made a lot of improvements on the codebase of this blog these past few days, here is a small feedback.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Beginner Guide to Deep Work for Developers]]></title>
        <id>https://scastiel.dev/become-a-better-developer-by-mastering-deep-work</id>
        <link href="https://scastiel.dev/become-a-better-developer-by-mastering-deep-work"/>
        <updated>2019-09-17T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Have you ever dreamed to wake up one morning and realize you felt different, more powerful. As if you had this super power inside of you that it waiting to be used. Good news: as a developer, you do have this super power.]]></summary>
        <content type="html"><![CDATA[Have you ever dreamed to wake up one morning and realize you felt different, more powerful. As if you had this super power inside of you that it waiting to be used. Good news: as a developer, you do have this super power.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[One year as a morning person]]></title>
        <id>https://scastiel.dev/one-year-as-a-morning-person</id>
        <link href="https://scastiel.dev/one-year-as-a-morning-person"/>
        <updated>2019-08-17T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[I’ve been living in Montréal for almost two years now. I’m currently going in vacation in France to see friends and family, for the fifth time in these two years. Montréal is not that far from France. You take off on the evening, and you arrive early on the morning. (Short night though.) For the return it’s even shorter: you land only a couple hours after taking off, thanks to the time shift.]]></summary>
        <content type="html"><![CDATA[I’ve been living in Montréal for almost two years now. I’m currently going in vacation in France to see friends and family, for the fifth time in these two years. Montréal is not that far from France. You take off on the evening, and you arrive early on the morning. (Short night though.) For the return it’s even shorter: you land only a couple hours after taking off, thanks to the time shift.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Lost with Redux and sagas? Implement them yourself!]]></title>
        <id>https://scastiel.dev/lost-redux-saga-reimplement-them</id>
        <link href="https://scastiel.dev/lost-redux-saga-reimplement-them"/>
        <updated>2019-08-03T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[You can use everyday a library such as React, Redux or Redux-Saga. You can be perfectly efficient with it. You can be able to tell others why it is nice or not, and wether they should use it or not. But at the same time it’s possible you consider it a bit magic.]]></summary>
        <content type="html"><![CDATA[You can use everyday a library such as React, Redux or Redux-Saga. You can be perfectly efficient with it. You can be able to tell others why it is nice or not, and wether they should use it or not. But at the same time it’s possible you consider it a bit magic.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[React hooks: get the current state, back to the future]]></title>
        <id>https://scastiel.dev/react-hooks-get-current-state-back-to-the-future</id>
        <link href="https://scastiel.dev/react-hooks-get-current-state-back-to-the-future"/>
        <updated>2019-02-19T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[React Hooks are trully awesome, but the more I play with them the more I discover tricks, and sometimes spend a lot of time figuring out why my code doesn’t do what it is supposed to.]]></summary>
        <content type="html"><![CDATA[React Hooks are trully awesome, but the more I play with them the more I discover tricks, and sometimes spend a lot of time figuring out why my code doesn’t do what it is supposed to.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[So I wrote a technical book 😁]]></title>
        <id>https://scastiel.dev/so-i-wrote-a-technical-book</id>
        <link href="https://scastiel.dev/so-i-wrote-a-technical-book"/>
        <updated>2019-02-14T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Big week for me: I finished writing my eBook in French about React, and I couldn’t be prouder. Eight months, and it was not easy, but it’s so worth it. In this post I wanted to expose a few thoughts about what happens when you write a technical book.]]></summary>
        <content type="html"><![CDATA[Big week for me: I finished writing my eBook in French about React, and I couldn’t be prouder. Eight months, and it was not easy, but it’s so worth it. In this post I wanted to expose a few thoughts about what happens when you write a technical book.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Est-il utile d’apprendre React ?]]></title>
        <id>https://scastiel.dev/utile-d-apprendre-react</id>
        <link href="https://scastiel.dev/utile-d-apprendre-react"/>
        <updated>2018-10-03T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Plusieurs tweets m’ont interpelé récemment, par rapport au fait que l’écosystème JavaScript s’est dégradé, car concentré autour de plus en plus d’outils pas forcément utiles. React en prend notamment pour son grade.]]></summary>
        <content type="html"><![CDATA[Plusieurs tweets m’ont interpelé récemment, par rapport au fait que l’écosystème JavaScript s’est dégradé, car concentré autour de plus en plus d’outils pas forcément utiles. React en prend notamment pour son grade.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Pourquoi j’écris un livre sur React ?]]></title>
        <id>https://scastiel.dev/pourquoi-un-livre-sur-react</id>
        <link href="https://scastiel.dev/pourquoi-un-livre-sur-react"/>
        <updated>2018-09-25T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Voilà quelques mois, j’étais à la recherche d’un nouveau projet personnel. Bien souvent ce type de recherche aboutit au développement d’une nouvelle application web ou mobile, mais cette fois-ci, j’ai plutôt décidé d’écrire un livre. Ce n’est pas la première fois, j’avais écrit un livre consacré à Node.js en 2013. Le projet m’avait beaucoup plu, bien que cela prenne beaucoup de temps.]]></summary>
        <content type="html"><![CDATA[Voilà quelques mois, j’étais à la recherche d’un nouveau projet personnel. Bien souvent ce type de recherche aboutit au développement d’une nouvelle application web ou mobile, mais cette fois-ci, j’ai plutôt décidé d’écrire un livre. Ce n’est pas la première fois, j’avais écrit un livre consacré à Node.js en 2013. Le projet m’avait beaucoup plu, bien que cela prenne beaucoup de temps.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Bootstrap a Reason-React project with Parcel]]></title>
        <id>https://scastiel.dev/reason-react-parcel</id>
        <link href="https://scastiel.dev/reason-react-parcel"/>
        <updated>2018-03-07T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Not that long ago I used Create-React-App a lot to quickly boostrap my React projects. That’s why I naturally used Reason Scripts when I wanted to use Reason-React. But even if I still understand the advantages of the approach of CRA and Reason Scripts, I recently discovered Parcel, a very minimalist bundler for web projects.]]></summary>
        <content type="html"><![CDATA[Not that long ago I used Create-React-App a lot to quickly boostrap my React projects. That’s why I naturally used Reason Scripts when I wanted to use Reason-React. But even if I still understand the advantages of the approach of CRA and Reason Scripts, I recently discovered Parcel, a very minimalist bundler for web projects.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Create reusable high-order React components with Recompose]]></title>
        <id>https://scastiel.dev/reusable-hoc-with-recompose</id>
        <link href="https://scastiel.dev/reusable-hoc-with-recompose"/>
        <updated>2018-01-22T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Writing reusable components in React is something every React developer care about (or should care about). Wether it’s to create a toolbox of styled components, to mutualize common behaviors, etc.]]></summary>
        <content type="html"><![CDATA[Writing reusable components in React is something every React developer care about (or should care about). Wether it’s to create a toolbox of styled components, to mutualize common behaviors, etc.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Create a simple and tested Redux-like app with Reason React]]></title>
        <id>https://scastiel.dev/redux-like-reason-react-app</id>
        <link href="https://scastiel.dev/redux-like-reason-react-app"/>
        <updated>2017-08-24T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[In the past few weeks I’ve become a big fan of Reason, and in particular its association to React with Reason React. And because both Reason and Reason React are really young projects, there is not a lot of tutorials, StackOverflow questions, and documentation about it yet. So beginning a new project isn’t as easy as the official website wants us think.]]></summary>
        <content type="html"><![CDATA[In the past few weeks I’ve become a big fan of Reason, and in particular its association to React with Reason React. And because both Reason and Reason React are really young projects, there is not a lot of tutorials, StackOverflow questions, and documentation about it yet. So beginning a new project isn’t as easy as the official website wants us think.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Writing modern JavaScript code]]></title>
        <id>https://scastiel.dev/writing-modern-javascript</id>
        <link href="https://scastiel.dev/writing-modern-javascript"/>
        <updated>2017-05-17T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Remember when JavaScript was a language used to make elements change on the page when the cursor was over them? These days are over, every language evolves over time, and so does the way wa use them. Look at the code you wrote one or two years ago: do you feel ashamed? If yes, this post is for you 🙂]]></summary>
        <content type="html"><![CDATA[Remember when JavaScript was a language used to make elements change on the page when the cursor was over them? These days are over, every language evolves over time, and so does the way wa use them. Look at the code you wrote one or two years ago: do you feel ashamed? If yes, this post is for you 🙂]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Play with cryptography with OpenPGP.js]]></title>
        <id>https://scastiel.dev/play-with-cryptography-with-openpgpjs</id>
        <link href="https://scastiel.dev/play-with-cryptography-with-openpgpjs"/>
        <updated>2016-11-16T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[For about a year now, I use ProtonMail as my mail provider. If you don’t know it, you should definitively give it a look! The mails are encrypted _end-to-end_, which means that ProtonMail has absolutely no readable version of the stored emails, nor any key to decrypt them.]]></summary>
        <content type="html"><![CDATA[For about a year now, I use ProtonMail as my mail provider. If you don’t know it, you should definitively give it a look! The mails are encrypted _end-to-end_, which means that ProtonMail has absolutely no readable version of the stored emails, nor any key to decrypt them.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Use the coolest ES6 features everywhere]]></title>
        <id>https://scastiel.dev/use-the-coolest-es6-features-everywhere</id>
        <link href="https://scastiel.dev/use-the-coolest-es6-features-everywhere"/>
        <updated>2016-11-02T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[If you use JavaScript you probably know that recently a lot of new features arrived with ES2015 (also known as ES6): classes, const/let keywords, destructuring arrays and objects, modules and imports, etc.]]></summary>
        <content type="html"><![CDATA[If you use JavaScript you probably know that recently a lot of new features arrived with ES2015 (also known as ES6): classes, const/let keywords, destructuring arrays and objects, modules and imports, etc.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[A new blog, a new blog management system]]></title>
        <id>https://scastiel.dev/first-post</id>
        <link href="https://scastiel.dev/first-post"/>
        <updated>2016-10-27T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Today I’m starting a new blog. I started a few blogs in the past. Personal blogs, where I talked about a lot of things. This blog is very different, here’s why.]]></summary>
        <content type="html"><![CDATA[Today I’m starting a new blog. I started a few blogs in the past. Personal blogs, where I talked about a lot of things. This blog is very different, here’s why.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Vivre sans télé, c’est possible ? (Spoiler : oui)]]></title>
        <id>https://scastiel.dev/vivre-sans-tele-cest-possible</id>
        <link href="https://scastiel.dev/vivre-sans-tele-cest-possible"/>
        <updated>2015-09-15T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[En réponse à cet article sur Medium, voici mon retour d’expérience sur la suppression de la télé de mon quotidien. Pour commencer, je pense avoir été plus modéré dans le sens où la télé trône toujours en pièce maîtresse de mon salon, et elle est même souvent allumée. Pour regarder des films, des séries sur Netflix ou autres, mais quasiment jamais sur la « télé » au sens « chaînes de télé ».]]></summary>
        <content type="html"><![CDATA[En réponse à cet article sur Medium, voici mon retour d’expérience sur la suppression de la télé de mon quotidien. Pour commencer, je pense avoir été plus modéré dans le sens où la télé trône toujours en pièce maîtresse de mon salon, et elle est même souvent allumée. Pour regarder des films, des séries sur Netflix ou autres, mais quasiment jamais sur la « télé » au sens « chaînes de télé ».]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Comment j’ai l’intention de reprendre le contrôle de mes données]]></title>
        <id>https://scastiel.dev/reprendre-le-controle-de-mes-donnees</id>
        <link href="https://scastiel.dev/reprendre-le-controle-de-mes-donnees"/>
        <updated>2015-08-06T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[À l’occasion du (fantastique) dernier BreizhCamp, j’ai eu le plaisir d’assister à la keynote du fondateur et ex-président de Mozilla Europe, Tristan Nitot : Pourquoi reprendre le contrôle de nos données.]]></summary>
        <content type="html"><![CDATA[À l’occasion du (fantastique) dernier BreizhCamp, j’ai eu le plaisir d’assister à la keynote du fondateur et ex-président de Mozilla Europe, Tristan Nitot : Pourquoi reprendre le contrôle de nos données.]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Bien développer est-il un art ?]]></title>
        <id>https://scastiel.dev/bien-developper-est-il-un-art</id>
        <link href="https://scastiel.dev/bien-developper-est-il-un-art"/>
        <updated>2015-05-01T12:00:00.000Z</updated>
        <summary type="html"><![CDATA[Ces derniers temps j’ai entendu plusieurs fois que des développeurs passionnés considéraient le développement comme un art. Par exemple, le manifeste de l’artisan développeur parle de “recherche du beau”, par opposition avec ceux considérant le code uniquement dans un processus industriel.]]></summary>
        <content type="html"><![CDATA[Ces derniers temps j’ai entendu plusieurs fois que des développeurs passionnés considéraient le développement comme un art. Par exemple, le manifeste de l’artisan développeur parle de “recherche du beau”, par opposition avec ceux considérant le code uniquement dans un processus industriel.]]></content>
    </entry>
</feed>