<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[Daw-Chih's tech articles]]></title>
        <description><![CDATA[Daw-Chih is a software engineer, UX advocate, and creator who is dedicated to Web engineering. His background in Human Centered Computing has led him to work with startups and public companies across North America, Asia, and Europe. He is passionate about meeting business trajectory with user journey and utilizing engineering architecture and performance monitoring to provide optimal user experience.]]></description>
        <link>https://dawchihliou.github.io/</link>
        <image>
            <url>https://dawchihliou.github.io/portrait.png</url>
            <title>Daw-Chih&apos;s tech articles</title>
            <link>https://dawchihliou.github.io/</link>
        </image>
        <generator>RSS for Node</generator>
        <lastBuildDate>Fri, 23 Feb 2024 18:45:12 GMT</lastBuildDate>
        <atom:link href="https://dawchihliou.github.io/rss.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Fri, 23 Feb 2024 18:45:12 GMT</pubDate>
        <copyright><![CDATA[© 2024 Daw-Chih Liou]]></copyright>
        <language><![CDATA[en]]></language>
        <managingEditor><![CDATA[Daw-Chih Liou]]></managingEditor>
        <webMaster><![CDATA[Daw-Chih Liou]]></webMaster>
        <docs>https://dawchihliou.github.io/articles</docs>
        <ttl>60</ttl>
        <category><![CDATA[Technology]]></category>
        <category><![CDATA[Programming]]></category>
        <category><![CDATA[TypesScript]]></category>
        <category><![CDATA[JavaScript]]></category>
        <category><![CDATA[Rust]]></category>
        <category><![CDATA[Frontend]]></category>
        <category><![CDATA[Backend]]></category>
        <category><![CDATA[Fullstack]]></category>
        <category><![CDATA[NodeJS]]></category>
        <category><![CDATA[React]]></category>
        <category><![CDATA[RxJS]]></category>
        <category><![CDATA[Leadership]]></category>
        <category><![CDATA[Tech Leadership]]></category>
        <category><![CDATA[Web Development]]></category>
        <category><![CDATA[Web Engineering]]></category>
        <category><![CDATA[Unit Test]]></category>
        <category><![CDATA[Release Pipeline]]></category>
        <category><![CDATA[Database]]></category>
        <item>
            <title><![CDATA[Testing With Fixtures in Rust]]></title>
            <description><![CDATA[No more awkward test cases. Here's one fixture-based testing framework that cleaned up my Rust unit tests.]]></description>
            <link>https://dawchihliou.github.io/articles/testing-with-fixtures-in-rust</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/testing-with-fixtures-in-rust</guid>
            <category><![CDATA[Rust]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Fri, 23 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Share Rust Types With TypeScript for WebAssembly in 30 Seconds]]></title>
            <description><![CDATA[Discover the most seamless developer experience with Rust and WebAssembly. This is the fastest way to auto-generate TypeScript definitions from your Rust code.]]></description>
            <link>https://dawchihliou.github.io/articles/share-rust-types-with-typescript-for-webassembly-in-30-seconds</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/share-rust-types-with-typescript-for-webassembly-in-30-seconds</guid>
            <category><![CDATA[Rust]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Mon, 29 May 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The Last Dockerfile You Need for NestJS]]></title>
            <description><![CDATA[The ultimate NestJS Dockfile for optimized production image and local development.]]></description>
            <link>https://dawchihliou.github.io/articles/the-last-dockerfile-you-need-for-nestjs</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/the-last-dockerfile-you-need-for-nestjs</guid>
            <category><![CDATA[Cloud]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Thu, 27 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Optimize Google Cloud BigQuery and Control Cost]]></title>
            <description><![CDATA[I unknowingly blew $3,000 in 6 hours on one query in Google Cloud BigQuery. Here's why and 3 easy steps to optimize the cost.]]></description>
            <link>https://dawchihliou.github.io/articles/optimize-google-cloud-bigquery-and-control-cost</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/optimize-google-cloud-bigquery-and-control-cost</guid>
            <category><![CDATA[Cloud]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Fri, 14 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How to Run A Tech Community in Your Company: An Ex-Principal Engineer’s Guide]]></title>
            <description><![CDATA[5 easy steps to create a sustainable tech community in your company that everyone loves.]]></description>
            <link>https://dawchihliou.github.io/articles/how-to-run-a-tech-community-in-your-company</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/how-to-run-a-tech-community-in-your-company</guid>
            <category><![CDATA[Leadership]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[WASM Semantic Search in Rust]]></title>
            <description><![CDATA[Introducing Voy, a portable WebAssembly semantic search engine with vector similarity search in Rust.]]></description>
            <link>https://dawchihliou.github.io/articles/wasm-semantic-search-in-rust</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/wasm-semantic-search-in-rust</guid>
            <category><![CDATA[Rust]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Fri, 10 Mar 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Lean Docker Images for Next.JS]]></title>
            <description><![CDATA[Using multi-stage builds to optimize production Docker image for faster deployment.]]></description>
            <link>https://dawchihliou.github.io/articles/lean-docker-images-for-nextjs</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/lean-docker-images-for-nextjs</guid>
            <category><![CDATA[Cloud]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Thu, 02 Feb 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Is Qwik Faster than React Server Component?]]></title>
            <description><![CDATA[A benchmark comparison and analysis between Qwik and Next.js 13.]]></description>
            <link>https://dawchihliou.github.io/articles/is-qwik-faster-than-react-server-component</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/is-qwik-faster-than-react-server-component</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Thu, 26 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Tired of Slow Code Reviews? Read this]]></title>
            <description><![CDATA[An ex-tech lead's guide to create a healthy code review culture that helps you ship your code faster.]]></description>
            <link>https://dawchihliou.github.io/articles/tired-of-slow-code-reviews</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/tired-of-slow-code-reviews</guid>
            <category><![CDATA[Leadership]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Tue, 06 Dec 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Deploying Like Vercel and Netlify with Cloud Run: Live, Preview, and Modern Workflow]]></title>
            <description><![CDATA[The modern workflow that unlocks your team's potential to ship faster.]]></description>
            <link>https://dawchihliou.github.io/articles/deploying-with-cloud-run-like-vercel-and-netlify</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/deploying-with-cloud-run-like-vercel-and-netlify</guid>
            <category><![CDATA[Cloud]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Wed, 30 Nov 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Easiest Way to Understand Rust Modules Across Multiple Files]]></title>
            <description><![CDATA[With a real-world example]]></description>
            <link>https://dawchihliou.github.io/articles/easiest-way-to-understand-rust-modules-across-multiple-files</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/easiest-way-to-understand-rust-modules-across-multiple-files</guid>
            <category><![CDATA[Rust]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Thu, 17 Nov 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Ex-Principal Engineer's Guide to Design Thinking and Continuous Delivery]]></title>
            <description><![CDATA[How do the big tech companies and unicorn startups succeed in agile product development while maintaining code quality.]]></description>
            <link>https://dawchihliou.github.io/articles/ex-principal-engineers-guide-to-design-thinking-and-continous-delivery</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/ex-principal-engineers-guide-to-design-thinking-and-continous-delivery</guid>
            <category><![CDATA[Leadership]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Mon, 12 Sep 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building A Custom Google Maps Marker React Component Like Airbnb in Next.js]]></title>
            <description><![CDATA[We will be building a proof of concept to create customer Google Maps markers using any React component in a Next.js project.]]></description>
            <link>https://dawchihliou.github.io/articles/building-custom-google-maps-marker-react-component-like-airbnb-in-nextjs</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/building-custom-google-maps-marker-react-component-like-airbnb-in-nextjs</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Tue, 23 Aug 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Event Bus for React]]></title>
            <description><![CDATA[Event Bus is an interesting design pattern to build a lightweight event system. We will discover its use cases in React and build a type-safe Event Bus from scratch with TypeScript.]]></description>
            <link>https://dawchihliou.github.io/articles/event-bus-for-react</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/event-bus-for-react</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Tue, 02 Aug 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[React Explained for Product Managers]]></title>
            <description><![CDATA[Everything you need to know about the component-oriented library.]]></description>
            <link>https://www.departmentofproduct.com/blog/react-explained-for-product-managers/</link>
            <guid isPermaLink="true">https://www.departmentofproduct.com/blog/react-explained-for-product-managers/</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Wed, 22 Jun 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Stress Testing Concurrent Features in React 18: A Case Study of startTransition & 3D Rendering]]></title>
            <description><![CDATA[React 18 released the highly anticipated concurrent features. In this article, we are diving into a 3D visualization and discuss how to optimize its performance step by step with React 18's concurrent rendering.]]></description>
            <link>https://dawchihliou.github.io/articles/stress-testing-concurrent-features-in-react-18</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/stress-testing-concurrent-features-in-react-18</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Mon, 30 May 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[I Built A Snappy Static Full-text Search with WebAssembly, Rust, Next.js, and Xor Filters]]></title>
            <description><![CDATA[After migrating to Contentlayer, I started exploring how to use the content data to roll out a search feature for my portfolio. Inspired by some of the amazing open-source projects, I built my own full-text search engine in Rust and WebAssembly. It is fast, lightweight, and tons of fun to build!]]></description>
            <link>https://dawchihliou.github.io/articles/i-built-a-snappy-full-text-search-with-webassembly-rust-nextjs-and-xor-filters</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/i-built-a-snappy-full-text-search-with-webassembly-rust-nextjs-and-xor-filters</guid>
            <category><![CDATA[Rust]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Wed, 30 Mar 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How to Plan A Project as A Principal Software Engineer: A Human-centered Approach]]></title>
            <description><![CDATA[Operating as a principal software engineer is all about bringing engineering, business, and people close together. There are many things to consider in terms of time budget, resources, and even your own involvement when it comes to planning. I want to share with you how I think about the important questions to ask in the planning phase of the project.]]></description>
            <link>https://dawchihliou.github.io/articles/how-to-plan-a-project-as-a-principal-software-engineer</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/how-to-plan-a-project-as-a-principal-software-engineer</guid>
            <category><![CDATA[Leadership]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Mon, 07 Mar 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building Better Next.js Static Sites with MDX and Contentlayer]]></title>
            <description><![CDATA[Recently I have been researching on reducing the effort to create a new article on my static website. I analyzed more and found out the friction was in my MDX usage with Next.js. After shifting to Contentlayer, publishing content becomes so effortless. I will show you how.]]></description>
            <link>https://dawchihliou.github.io/articles/build-better-nextjs-static-sites-with-mdx-and-contentlayer</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/build-better-nextjs-static-sites-with-mdx-and-contentlayer</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Fri, 04 Feb 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[From Frontend Developer to Principal Software Engineer]]></title>
            <description><![CDATA[I recently joined a European public company as a Lead Software Engineer. The role has a combined responsibility of Principal Software Engineer and Senior Engineering Manager. It is challenging but I was prepared. I want to share with you 50+ books and resources that help me in my journey.]]></description>
            <link>https://dawchihliou.github.io/articles/from-frontend-developer-to-principal-software-engineer</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/from-frontend-developer-to-principal-software-engineer</guid>
            <category><![CDATA[Leadership]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Thu, 20 Jan 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Binary Tree Insertion in Rust]]></title>
            <description><![CDATA[I was struggling with Rust's ownership when implementing a Binary Tree so I re-read about it. After taking my time understanding it and refactoring, I finally made a breakthrough😎 I'm very excited to share with you the awesome features in Rust I came across. You'll see interesting concepts like smart pointers and ownership.]]></description>
            <link>https://dawchihliou.github.io/articles/binary-tree-insertion-in-rust</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/binary-tree-insertion-in-rust</guid>
            <category><![CDATA[Rust]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Thu, 13 Jan 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Indexing Strings in Rust and TypeScript: A Case Study of String]]></title>
            <description><![CDATA[Text is essential in programming languages. String is the Rust's and JavaScript's definition to process text in written languages around the world. Through the simple concept of string indexing, we'll discuss how Rust and JavaScript process strings and how they handle the nuances in strings such as grapheme, or even emojis.]]></description>
            <link>https://dawchihliou.github.io/articles/indexing-strings-in-rust-and-typescript</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/indexing-strings-in-rust-and-typescript</guid>
            <category><![CDATA[Rust]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Tue, 28 Dec 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Writing Your Own TypeScript CLI]]></title>
            <description><![CDATA[Writing CLIs feels like a super power💯 You can write one too! I'll show you how to develop a CLI with TypeScript step by step and demonstrate how you can apply your CLI in CD/CI pipelines. We're going to uncover the power of Google Lighthouse and many more amazing npm packages!]]></description>
            <link>https://dawchihliou.github.io/articles/writing-your-own-typescript-cli</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/writing-your-own-typescript-cli</guid>
            <category><![CDATA[TypeScript]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Mon, 06 Dec 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Rethinking the Next-gen Analytics Web App at trivago]]></title>
            <description><![CDATA[How trivago Frontend Engineering revamped the company's Business Intelligence web application. After almost a decade, we decided to rebuild our in-house Business Intelligence web application to better support the organization. We successfully completed the project because we fundamentally challenged and re-thought all aspects of the project.]]></description>
            <link>https://tech.trivago.com/2021/02/09/rethinking-the-next-gen-analytics-web-app-at-trivago/</link>
            <guid isPermaLink="true">https://tech.trivago.com/2021/02/09/rethinking-the-next-gen-analytics-web-app-at-trivago/</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Tue, 09 Feb 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Using WebP for Better User Experience]]></title>
            <description><![CDATA[WebP is a modern image format that provides outstanding image quality with smaller image size. I'll show you how much you can benefit from it and how to setup your project for optimal developer experience.]]></description>
            <link>https://dawchihliou.github.io/articles/use-webp-for-better-ux</link>
            <guid isPermaLink="true">https://dawchihliou.github.io/articles/use-webp-for-better-ux</guid>
            <category><![CDATA[Performance]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Tue, 06 Oct 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[3 Principles to Triumph Your Software Project]]></title>
            <description><![CDATA[Practical experience that shapes billion dollar enterprise. I have been very fortunate to take a part in important topics at trivago. We have brought groundbreaking changes in accommodation search. It was clear that our data-informed approach is the foundation to innovation. I want to share with you our learnings.]]></description>
            <link>https://medium.com/@dawchihliou/3-principles-to-triumph-your-software-project-38cc0951b64f</link>
            <guid isPermaLink="true">https://medium.com/@dawchihliou/3-principles-to-triumph-your-software-project-38cc0951b64f</guid>
            <category><![CDATA[Leadership]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Wed, 18 Mar 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Writing Better Marble Tests for Redux Observable and TypeScript]]></title>
            <description><![CDATA[Marble testing is a brilliant way to test observables. It focuses on the behaviors of observables over time. The combination of test assertion and marble diagram let us visualize the progression of emitted values over time.]]></description>
            <link>https://itnext.io/better-marble-test-70c7676a1e2</link>
            <guid isPermaLink="true">https://itnext.io/better-marble-test-70c7676a1e2</guid>
            <category><![CDATA[Frontend]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Wed, 06 Nov 2019 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[JavaScript Workshop with Kyle Simpson]]></title>
            <description><![CDATA[A recap of the 5-day JavaScript journey. It has been a couple of months since Kyle, author of the “You Don’t Know JS” series, visited our trivago headquarters and gave us a wonderful JavaScript workshop. It was such an enjoyable week, being able to meet Kyle in person and walk through his thinking behind the materials.]]></description>
            <link>https://tech.trivago.com/post/2018-10-15-javascript-workshop-with-kyle-simpson/</link>
            <guid isPermaLink="true">https://tech.trivago.com/post/2018-10-15-javascript-workshop-with-kyle-simpson/</guid>
            <category><![CDATA[Leadership]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Mon, 15 Oct 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Intuitive Transducer in JavaScript]]></title>
            <description><![CDATA[What is transducing? Simply put, it’s a data transformation process without creating intermediate products. It’s like a pipeline. It’s your data on one end, and the pipeline transforms the data and produce your output on the other end.]]></description>
            <link>https://medium.com/@dawchihliou/intuitive-transducer-in-javascript-f358d3fe53d</link>
            <guid isPermaLink="true">https://medium.com/@dawchihliou/intuitive-transducer-in-javascript-f358d3fe53d</guid>
            <category><![CDATA[JavaScript]]></category>
            <dc:creator><![CDATA[Daw-Chih Liou]]></dc:creator>
            <pubDate>Tue, 25 Sep 2018 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>