# qsliu's blog > A personal blog about software engineering, systems programming, databases, and distributed systems. Site: https://blog.qsliu.dev RSS: https://blog.qsliu.dev/rss.xml ## Posts - [pg_duckdb: Bad idea right?](https://blog.qsliu.dev/post/pg_duckdb/): Tradeoffs of embedding DuckDB inside Postgres -- resource isolation, mixed transactions, thread safety, and extensibility. - [Data Inlining in pg_ducklake](https://pgducklake.select/blog/data-inlining-in-pgducklake) - [Detaching pg_ducklake from pg_duckdb](https://pgducklake.select/blog/detach-from-pgduckdb/) - [DuckLake: The Modern Lakehouse, The Old Fashioned Way](https://pgducklake.select/blog/ducklake/) - [Why Postgres times out on TPC-H Q17 and Q20?](https://blog.qsliu.dev/post/postgres-tpch-q17-q20/) - [Upgrading Applications](https://blog.qsliu.dev/post/upgrading-applications/): Notes on keeping applications available while versions, APIs, and schemas evolve. - [Dive into Postgres](https://qsliu2017.github.io/postgres) - [External Algorithms](https://blog.qsliu.dev/post/external-algorithms/) - [Linux IOs](https://blog.qsliu.dev/post/linux-ios/) - [Zero-copy in Golang](https://blog.qsliu.dev/post/zerocopy-in-golang/) - [Do Harder Jobs Pay More?](https://blog.qsliu.dev/post/do-harder-jobs-pay-more/) - [What Software Engineers Can Learn From Air Crashes](https://blog.qsliu.dev/post/aci/) - [Don't Schedule My Threads](https://blog.qsliu.dev/post/dont-schedule-my-threads/) - [First Year of Blogging](https://blog.qsliu.dev/post/first-year-of-blogging/) - [[Note] CMU 15-721](https://blog.qsliu.dev/post/cmu-15721/) - [Physically Representing A Decimal](https://blog.qsliu.dev/post/sql-decimal/): This post introduces the logical definition of the `DECIMAL` data type in SQL and discusses its various physical layouts. - [Developing C/C++ is fun!](https://blog.qsliu.dev/post/developing-c-cpp-is-fun/): How to set up a modern C/C++ development environment - [Exploring `context.Context`](https://blog.qsliu.dev/post/exploring-context/): Exploring the implementation and best practices of `context` package in Go standard library - [All's Well That Ends Well](https://blog.qsliu.dev/post/alls-well-that-ends-well/): This post introduces a common pattern in Go, which is useful when several concurrent tasks want to be canceled when any of them failed. - [[Note] 可能性的艺术](https://blog.qsliu.dev/post/可能性的艺术/) - [Safely Use Unsafe](https://blog.qsliu.dev/post/safely-use-unsafe/) - [How to Setup GitLab Runner with Cross-Platform Docker Enabled](https://blog.qsliu.dev/post/how-to-setup-gitlab-runner-with-cross-platform-docker-enabled/) - [Understand Git Objects in Relational Model](https://blog.qsliu.dev/post/git-in-relational-model/): Understand Git objects in relational model. - [CI System: The Users' Perspective](https://blog.qsliu.dev/post/ci-system-the-users-perspective/): This post introduces the UI design of CI systems. - [Git Essentials](https://blog.qsliu.dev/post/git-essentials/): Git essentials I want my colleagues to know. - [How to Make a Developer Happy?](https://blog.qsliu.dev/post/how_to_make_developer_happy/) - [Don't Use ChatGPT](https://blog.qsliu.dev/post/dont_use_chatgpt/): Use OpenAI's Playground instead. - [Fibonacci O(log n) solution](https://blog.qsliu.dev/post/fibonacci/) - [Writing an eBPF Application](https://blog.qsliu.dev/post/writing_an_ebpf_application/) - [`bpftrace` demo](https://blog.qsliu.dev/post/bpftrace_demo/) - [6.824 Lab 2: Raft](https://blog.qsliu.dev/post/6824lab2/) - [C/C++11 Memory Model](https://blog.qsliu.dev/post/c_c11_memory_model/) - [eBPF 内核功能及其应用](https://blog.qsliu.dev/post/ebpf_and_applicationzh/) - [The `trap` Command in Bash](https://blog.qsliu.dev/post/trap_command_in_bash/) - [[Note] 《道德与立法原理导论》](https://blog.qsliu.dev/post/道德与立法原理导论/) - [The Completely Fair Scheduler](https://blog.qsliu.dev/post/the-completely-fair-scheduler/) - [A Processes Synchronize Problem and Barrier Pattern](https://blog.qsliu.dev/post/proc_sync_barrier_pattern/) - [OLTP/OLAP and Tuple Storage Schemes](https://blog.qsliu.dev/post/oltp_olap_tuple_storage_schemes/): Brief about OLTP/OLAP and column/row oriented storage. - [[Note] 洛克《政府论》](https://blog.qsliu.dev/post/洛克政府论/) - [Locality Principle](https://blog.qsliu.dev/post/locality_principle/) - [Operating Systems: The History and the Future](https://blog.qsliu.dev/post/os_history_and_future/) - [Postgres XID wraparound failure](https://blog.qsliu.dev/post/postgres-xid-wraparound-failure/) - [GitHub Actions 使用和优化](https://blog.qsliu.dev/post/github_actions_demo/)