Reduce Complexity in Research Software

A personal reflection on "A Philosophy of Software Design".

April 24, 2026 · 10 min · 1993 words · Yuliang Weng

Actor Model

What is the Actor Model? How does it work? Why is it useful?

June 1, 2025 · 5 min · 984 words · Yuliang Weng

Cloudflare rocks

Buy a domain, host static or SSR sites, create subdomains, setup redirects, ..., all with Cloudflare.

May 31, 2025 · 4 min · 714 words · Yuliang Weng

End-to-End Testing with Docker and Selenium

Streamline Django end-to-end testing with Docker and Selenium. Use the official Selenium Docker image for reusability and maintainability. Modify LiveServerTestCase's host variable for successful containerised testing.

July 20, 2023 · 2 min · 295 words · Yuliang Weng

What makes a web application resilient?

Build core features with simplest technologies, enhance UX progressively. Accessibility is important than consistency. Let each technology do its own thing!

February 11, 2023 · 4 min · 719 words · Yuliang Weng

Brief notes on how browsers work

I have found this great article _How browsers work_ on web.dev recently explaining how browsers work in detail. I strongly recommend this article as it will help you understand browsers and how they work in the background and interact with HTML, CSS, and JavaScript.

January 1, 2023 · 8 min · 1664 words · Yuliang Weng

Moving to Astro

Astro v1.0 recently arrived with support for server-side rendering. Most static-site generators I used previously were single-page application frameworks (like Gatsby, Next.js, and Scully), whereas Astro is a multi-page application framework with a unique approach. It focuses on building content-rich websites, and support for MDX prompted my transition.

October 2, 2022 · 2 min · 369 words · Yuliang Weng

SEO for angular apps

Single-page applications are generally not search engine optimisation friendly, but there are ways to get it right.

May 30, 2022 · 5 min · 988 words · Yuliang Weng

Testing Flask App

Testing in Python vs JavaScript?

April 28, 2022 · 8 min · 1649 words · Yuliang Weng

Automated version management and changelog

Enforce Semantic Versioning specification and generate changelog from commits in CI/CD environment.

March 23, 2022 · 5 min · 1024 words · Yuliang Weng