<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>lik.ai</title><description>Full stack developer and a bit of everything else.</description><link>https://lik.ai/</link><item><title>A glimpse into front end interviews</title><link>https://lik.ai/blog/a-glimpse-into-front-end-interviews/</link><guid isPermaLink="true">https://lik.ai/blog/a-glimpse-into-front-end-interviews/</guid><description>My experience with front end interviews, including their process, topics, questions and some more tips and tricks to help you get the role you desire
</description><pubDate>Tue, 23 Feb 2021 13:27:31 GMT</pubDate><category>Frontend</category></item><item><title>Async test setup and teardown in Rust</title><link>https://lik.ai/blog/async-setup-and-teardown-in-rust/</link><guid isPermaLink="true">https://lik.ai/blog/async-setup-and-teardown-in-rust/</guid><description>How to add setup and teardown functions to async tests in Rust without a framework or library.
</description><pubDate>Sun, 20 Jun 2021 17:54:27 GMT</pubDate><category>Backend</category></item><item><title>Building a stunning table of contents that follows headings</title><link>https://lik.ai/blog/building-a-stunning-table-of-contents-that-follow-headings/</link><guid isPermaLink="true">https://lik.ai/blog/building-a-stunning-table-of-contents-that-follow-headings/</guid><description>How to build a table of contents that has a better user experience, using SVG paths and masks.
</description><pubDate>Sun, 09 May 2021 17:54:27 GMT</pubDate><category>Frontend</category></item><item><title>Code Dive: babel-loader</title><link>https://lik.ai/blog/code-dive-babel-loader/</link><guid isPermaLink="true">https://lik.ai/blog/code-dive-babel-loader/</guid><description>A deep look into how the babel-loader library works to learn how you too can write a webpack plugin.
</description><pubDate>Sun, 28 Apr 2019 11:34:07 GMT</pubDate><category>Frontend</category></item><item><title>Common concepts behind software design patterns</title><link>https://lik.ai/blog/common-concepts-behind-software-design-patterns/</link><guid isPermaLink="true">https://lik.ai/blog/common-concepts-behind-software-design-patterns/</guid><description>A look at concepts that occur over and over in software design patterns, and how they tie into various tools and languages we see and use today.
</description><pubDate>Mon, 29 Mar 2021 23:57:32 GMT</pubDate><category>Misc</category></item><item><title>Data Serialization Formats</title><link>https://lik.ai/blog/data-serialization-formats/</link><guid isPermaLink="true">https://lik.ai/blog/data-serialization-formats/</guid><description>Exploring Protobuf, Cap&apos;n Proto, FlatBuffers, Avro, and Thrift.
</description><pubDate>Sun, 17 Nov 2024 21:04:00 GMT</pubDate><category>Data</category></item><item><title>Dual-boot Windows and NixOS</title><link>https://lik.ai/blog/dual-boot-windows-and-nixos/</link><guid isPermaLink="true">https://lik.ai/blog/dual-boot-windows-and-nixos/</guid><description>Learn how to dual boot Windows and NixOS on the same computer.
</description><pubDate>Tue, 05 Jun 2018 14:59:23 GMT</pubDate><category>DevOps</category></item><item><title>How a pretty printer works</title><link>https://lik.ai/blog/how-a-pretty-printer-works/</link><guid isPermaLink="true">https://lik.ai/blog/how-a-pretty-printer-works/</guid><description>Understand how a pretty printer works and how we can write a very basic one to help us automate code formatting.
</description><pubDate>Fri, 19 Feb 2021 18:15:07 GMT</pubDate><category>Misc</category></item><item><title>How lit-html works</title><link>https://lik.ai/blog/how-lit-html-works/</link><guid isPermaLink="true">https://lik.ai/blog/how-lit-html-works/</guid><description>Learn how the lit-html library works, and how it is different from virtual-dom libraries like React.
</description><pubDate>Sun, 20 Sep 2020 12:48:11 GMT</pubDate><category>Frontend</category></item><item><title>How to get sticky elements to stick</title><link>https://lik.ai/blog/how-to-get-sticky-elements-to-stick/</link><guid isPermaLink="true">https://lik.ai/blog/how-to-get-sticky-elements-to-stick/</guid><description>Learn why your position: sticky element is not working, and the three techniques to use to make it work.
</description><pubDate>Mon, 19 Apr 2021 04:48:11 GMT</pubDate><category>Frontend</category></item><item><title>How to optimize bundles with webpack</title><link>https://lik.ai/blog/how-to-optimize-bundles-with-webpack/</link><guid isPermaLink="true">https://lik.ai/blog/how-to-optimize-bundles-with-webpack/</guid><description>Learn how to build the most efficient, optimal bundles by tuning webpack&apos;s splitChunks configuration.
</description><pubDate>Sat, 07 Aug 2021 14:59:27 GMT</pubDate><category>Performance</category><category>Frontend</category></item><item><title>How to optimize React using React DevTools</title><link>https://lik.ai/blog/how-to-optimize-react-using-the-profiler/</link><guid isPermaLink="true">https://lik.ai/blog/how-to-optimize-react-using-the-profiler/</guid><description>Learn how to use the React devtool&apos;s profiler to optimize and improve your React app&apos;s performance.
</description><pubDate>Mon, 08 Feb 2021 16:25:03 GMT</pubDate><category>Performance</category></item><item><title>Lessons learned from building a blog component system</title><link>https://lik.ai/blog/lessons-learned-from-building-a-blog-component-system/</link><guid isPermaLink="true">https://lik.ai/blog/lessons-learned-from-building-a-blog-component-system/</guid><description>Pitfalls and lessons learned from building this blog&apos;s component system. Walks through margins, inline code styling, full-bleed layouts and forms.
</description><pubDate>Fri, 05 Mar 2021 04:13:23 GMT</pubDate><category>Frontend</category></item><item><title>Proving the passage of time with blockchain</title><link>https://lik.ai/blog/live-streaming-proof-of-time/</link><guid isPermaLink="true">https://lik.ai/blog/live-streaming-proof-of-time/</guid><description>Using blockchain to prove that the passage of time is happening in real-time.
</description><pubDate>Fri, 18 Mar 2022 23:53:11 GMT</pubDate><category>Misc</category></item><item><title>Rebuilding My Website: From Next.js to Astro</title><link>https://lik.ai/blog/nextjs-to-astro-migration/</link><guid isPermaLink="true">https://lik.ai/blog/nextjs-to-astro-migration/</guid><description>A deep dive into modernizing my website: migrating from Next.js to Astro, cutting bundle sizes, and leveraging AI-powered migrations.
</description><pubDate>Tue, 03 Dec 2024 21:41:53 GMT</pubDate><category>Frontend</category></item><item><title>Open Graph for Lazy Developers</title><link>https://lik.ai/blog/open-graph-for-lazy-developers/</link><guid isPermaLink="true">https://lik.ai/blog/open-graph-for-lazy-developers/</guid><description>A simple guide to Open Graph optimization for your website, including how to set up your meta tags and how to test your website&apos;s Open Graph data.
</description><pubDate>Mon, 19 Feb 2024 20:08:31 GMT</pubDate><category>Frontend</category></item><item><title>Optimizing PNGs for Size and Quality</title><link>https://lik.ai/blog/optimizing-images/</link><guid isPermaLink="true">https://lik.ai/blog/optimizing-images/</guid><description>A simple guide to optimizing images if you have a few images, and a lot of time.
</description><pubDate>Mon, 19 Feb 2024 20:08:31 GMT</pubDate><category>Performance</category><category>Frontend</category></item><item><title>Positive affirmation passphrases</title><link>https://lik.ai/blog/positive-affirmation-passphrases/</link><guid isPermaLink="true">https://lik.ai/blog/positive-affirmation-passphrases/</guid><description>If your work requires a passphrase, why not make it worth your time?
</description><pubDate>Tue, 14 Jun 2022 04:48:11 GMT</pubDate><category>Misc</category></item><item><title>Programming on the M1 Mac</title><link>https://lik.ai/blog/programming-on-the-m1-mac/</link><guid isPermaLink="true">https://lik.ai/blog/programming-on-the-m1-mac/</guid><description>My experience using the M1 Mac for programming on front-end, back-end and machine learning tasks.
</description><pubDate>Sun, 18 Jul 2021 17:54:27 GMT</pubDate><category>DevOps</category></item><item><title>React component patterns</title><link>https://lik.ai/blog/react-component-patterns/</link><guid isPermaLink="true">https://lik.ai/blog/react-component-patterns/</guid><description>Learn about the various design patterns to help you write better and more reusable React components.
</description><pubDate>Sun, 21 Mar 2021 20:55:12 GMT</pubDate><category>Frontend</category></item><item><title>React Hooks constraints explained</title><link>https://lik.ai/blog/react-hooks-constraints-explained/</link><guid isPermaLink="true">https://lik.ai/blog/react-hooks-constraints-explained/</guid><description>An explanation of why React hooks have limitations, such as why you cannot call them in an if-else statement.
</description><pubDate>Thu, 16 May 2019 21:48:11 GMT</pubDate><category>Frontend</category></item><item><title>React performance techniques</title><link>https://lik.ai/blog/react-performance-tricks/</link><guid isPermaLink="true">https://lik.ai/blog/react-performance-tricks/</guid><description>Techniques to improve React component rendering performance when there are no better alternatives.
</description><pubDate>Sun, 04 Apr 2021 23:56:02 GMT</pubDate><category>Performance</category></item><item><title>SQLite Primary Key Benchmarks: UUIDv7, UUIDv4, Snowflake, Integer</title><link>https://lik.ai/blog/sqlite-primary-key-benchmarks/</link><guid isPermaLink="true">https://lik.ai/blog/sqlite-primary-key-benchmarks/</guid><description>Benchmarking UUIDv7, UUIDv4, Snowflake, and Integer primary keys in SQLite, including dual-column and WITHOUT ROWID variants.</description><pubDate>Wed, 15 Oct 2025 22:26:07 GMT</pubDate><category>Backend</category><category>Performance</category></item><item><title>The Async Ecosystem in Rust</title><link>https://lik.ai/blog/the-async-ecosystem-in-rust/</link><guid isPermaLink="true">https://lik.ai/blog/the-async-ecosystem-in-rust/</guid><description>Understanding Rust&apos;s Tower, HTTP, HttpBody ecosystem and how they work together.
</description><pubDate>Sat, 09 Nov 2024 21:24:00 GMT</pubDate><category>Backend</category></item><item><title>The most secure way to store JWTs</title><link>https://lik.ai/blog/the-most-secure-way-to-store-jwts/</link><guid isPermaLink="true">https://lik.ai/blog/the-most-secure-way-to-store-jwts/</guid><description>A new secure method that uses Service Worker to store JWTs in browsers instead of local storage and cookies.
</description><pubDate>Tue, 26 Jan 2021 14:40:12 GMT</pubDate><category>Frontend</category></item><item><title>Thoughts about web performance and frameworks</title><link>https://lik.ai/blog/thoughts-about-web-performance-and-frameworks/</link><guid isPermaLink="true">https://lik.ai/blog/thoughts-about-web-performance-and-frameworks/</guid><description>A discussion on the performance of web frameworks and why you shouldn&apos;t choose React every time.
</description><pubDate>Tue, 23 Jul 2019 23:35:13 GMT</pubDate><category>Performance</category></item><item><title>Thoughts on the future of Programming</title><link>https://lik.ai/blog/thoughts-on-the-future-of-programming/</link><guid isPermaLink="true">https://lik.ai/blog/thoughts-on-the-future-of-programming/</guid><description>Looking ahead of the curve to see what the future of programming holds in this new future of LLMs, hardware and ecosystems.
</description><pubDate>Tue, 30 Apr 2024 01:23:45 GMT</pubDate><category>Misc</category></item><item><title>Useful TypeScript Patterns</title><link>https://lik.ai/blog/useful-typescript-patterns/</link><guid isPermaLink="true">https://lik.ai/blog/useful-typescript-patterns/</guid><description>Type theory names are hard to remember, but some of them are very useful in practice. These are some types I&apos;ve found useful in everyday TypeScript coding.
</description><pubDate>Sun, 24 Mar 2024 17:38:21 GMT</pubDate><category>Frontend</category></item><item><title>What we are missing on clean code</title><link>https://lik.ai/blog/what-we-missed-on-code-readability/</link><guid isPermaLink="true">https://lik.ai/blog/what-we-missed-on-code-readability/</guid><description>A discussion on code readability, why most software engineers&apos; take on it is misguided, and what we should be focusing on instead.
</description><pubDate>Sun, 23 May 2021 16:54:27 GMT</pubDate><category>Misc</category></item><item><title>Why a clean start for the web won&apos;t solve the problem</title><link>https://lik.ai/blog/why-a-clean-start-for-the-web-wont-solve-the-problem/</link><guid isPermaLink="true">https://lik.ai/blog/why-a-clean-start-for-the-web-wont-solve-the-problem/</guid><description>A discussion of why the web is in such a terrible state, why building a new internet from scratch will not make it better and why Mozilla&apos;s latest layoff is a good move.
</description><pubDate>Tue, 25 Aug 2020 21:27:01 GMT</pubDate><category>Misc</category></item><item><title>Why building a front-end framework in Rust is hard</title><link>https://lik.ai/blog/why-building-a-front-end-framework-in-rust-is-hard/</link><guid isPermaLink="true">https://lik.ai/blog/why-building-a-front-end-framework-in-rust-is-hard/</guid><description>A look at what makes a front-end framework work and how Rust&apos;s ergonomics and constraints such as ownership makes writing one difficult.
</description><pubDate>Tue, 09 Feb 2021 15:51:14 GMT</pubDate><category>Frontend</category></item><item><title>Why remote development is the future</title><link>https://lik.ai/blog/why-remote-development-is-the-future/</link><guid isPermaLink="true">https://lik.ai/blog/why-remote-development-is-the-future/</guid><description>Why local development is suboptimal, and why remote development seems to be the way forward.
</description><pubDate>Thu, 09 Jun 2022 13:27:31 GMT</pubDate><category>DevOps</category></item><item><title>Writing a JavaScript Codemod with JSCodeShift</title><link>https://lik.ai/blog/writing-a-javascript-codemod-with-jscodeshift/</link><guid isPermaLink="true">https://lik.ai/blog/writing-a-javascript-codemod-with-jscodeshift/</guid><description>Learn how jscodeshift transforms code by writing a small codemod that strips React.memo from functional components.
</description><pubDate>Sat, 13 Mar 2021 10:02:31 GMT</pubDate><category>Frontend</category></item></channel></rss>