<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Pradeep Chhetri | Software Engineer</title><description>I build fast, accessible, cloud-ready web applications with modern JavaScript, Astro, and thoughtful product design.</description><link>https://my-portfolio.pages.dev/</link><item><title>Databases to keep an eye on</title><link>https://my-portfolio.pages.dev/blog/databases-to-keep-an-eye-on/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/databases-to-keep-an-eye-on/</guid><description>Database market is huge and is constantly evolving. Databases being the centre of all applications, is one of the key component whose performance directly impact the product. We not only find start...</description><pubDate>Tue, 04 Jan 2022 05:05:05 GMT</pubDate></item><item><title>Container Signing Tool: Cosign</title><link>https://my-portfolio.pages.dev/blog/container-signing-tool-cosign/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/container-signing-tool-cosign/</guid><description>Cosign is tool developed by sigstore working group which takes care of container signing and verification. Let&apos;s first generate a key-pair: Now using the private key, we will sign a docker image.</description><pubDate>Sun, 04 Oct 2020 00:00:00 GMT</pubDate></item><item><title>GNU Utility: Envsubst</title><link>https://my-portfolio.pages.dev/blog/gnu-utility-envsubst/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/gnu-utility-envsubst/</guid><description>Recently, I learnt about a new command: envsubst which is present by default. It substitutes the values of environment variables. This means, instead of using helm, we can use plain k8s manifest an...</description><pubDate>Thu, 05 Nov 2020 02:05:05 GMT</pubDate></item><item><title>JVM: Options Config File</title><link>https://my-portfolio.pages.dev/blog/jvm-options-config-file/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/jvm-options-config-file/</guid><description>Java Virtual Machine (JVM) provides a mechanism to set JVM configuration options in jvm.options file. This file provide a way to tweak configuration based on JVM version too. Above configuration me...</description><pubDate>Tue, 06 Oct 2020 05:05:05 GMT</pubDate></item><item><title>DuckDB: Query SQLite and PostgreSQL Data</title><link>https://my-portfolio.pages.dev/blog/duckdb-query-sqlite-and-postgresql-data/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/duckdb-query-sqlite-and-postgresql-data/</guid><description>DuckDB can query data stored in SQLite and PostgreSQL using SQLiteScanner and PostgresScanner respectively. DuckDB claims reads via DuckDB client will be faster than reads via their respective data...</description><pubDate>Sun, 04 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Kubernetes: Projected Volume</title><link>https://my-portfolio.pages.dev/blog/kubernetes-projected-volume/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/kubernetes-projected-volume/</guid><description>In k8s world, sometimes you need to mount both configmap and secret under the same directory. Let&apos;s say you have to mount all of them under /etc/app such that the layout should look like this</description><pubDate>Fri, 05 Nov 2021 02:05:05 GMT</pubDate></item><item><title>ClickHouse Time-Series Table Engine</title><link>https://my-portfolio.pages.dev/blog/clickhouse-time-series-table-engine/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/clickhouse-time-series-table-engine/</guid><description>As you know, ClickHouse is an efficient OLAP database with an optimized storage engine called MergeTree. This storage engine is thoughtfully designed so that it can fulfil wide range of OLAP use-ca...</description><pubDate>Mon, 03 Jun 2024 16:00:00 GMT</pubDate></item><item><title>ClickHouse Keeper</title><link>https://my-portfolio.pages.dev/blog/clickhouse-keeper/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/clickhouse-keeper/</guid><description>ClickHouse recently replaced ZooKeeper with their own implementation ClickHouse-Keeper which can either run as part of ClickHouse server or as a standalone server. Unlike Zookeeper which uses ZAB a...</description><pubDate>Sun, 03 Apr 2022 05:00:00 GMT</pubDate></item><item><title>ClickHouse vs TimescaleDB</title><link>https://my-portfolio.pages.dev/blog/clickhouse-vs-timescaledb/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/clickhouse-vs-timescaledb/</guid><description>Special thanks to Ilya for extending this blog by adding remaining ClickHouse equivalent queries (Window functions, Joins and Geo queries) from the TimescaleDB docs. Your feedback and help is much ...</description><pubDate>Thu, 28 Oct 2021 02:05:05 GMT</pubDate></item><item><title>Lesser Known Features of ClickHouse</title><link>https://my-portfolio.pages.dev/blog/lesser-known-features-of-clickhouse/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/lesser-known-features-of-clickhouse/</guid><description>ClickHouse can do lot more than a typical database. In this post, we will look at some of the features which are built into ClickHouse which you might not be aware of. clickhouse-local is a tool wh...</description><pubDate>Sun, 29 May 2022 16:00:00 GMT</pubDate></item><item><title>OLAP Databases</title><link>https://my-portfolio.pages.dev/blog/olap-databases/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/olap-databases/</guid><description>Recently, I came across a new embedded analytics database, DuckDB which I found inspired from two of my favorite ones SQLite and ClickHouse. DuckDB looked very interesting since I find that it fill...</description><pubDate>Mon, 05 Oct 2020 02:05:05 GMT</pubDate></item><item><title>PostgreSQL: Verifying Index Corruption</title><link>https://my-portfolio.pages.dev/blog/postgresql-verifying-index-corruption/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/postgresql-verifying-index-corruption/</guid><description>Although glibc has some breaking changing with every minor version release but with v2.28, there are lots of breaking changes which will corrupt almost all Postgres indexes. In order to identify br...</description><pubDate>Sun, 04 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Python: Zip Application</title><link>https://my-portfolio.pages.dev/blog/python-zip-application/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/python-zip-application/</guid><description>From Python v2.6, they added the support of allowing python interpreter to execute a zip file. Let&apos;s see an example:</description><pubDate>Sun, 04 Oct 2020 00:00:00 GMT</pubDate></item><item><title>SQLite: Index Recommendations</title><link>https://my-portfolio.pages.dev/blog/sqlite-index-recommendations/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/sqlite-index-recommendations/</guid><description>For databases, most of the read performance depends on indexing. SQLite has expert command which recommends the appropriate index creation based on the query.</description><pubDate>Sun, 04 Oct 2020 00:00:00 GMT</pubDate></item><item><title>SQLite: WAL Mode</title><link>https://my-portfolio.pages.dev/blog/sqlite-wal-mode/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/sqlite-wal-mode/</guid><description>From SQLite v3.7.0, write-ahead logging (WAL) mode is available which has the following advantages:  It is significantly faster.  It enables more concurrency as readers don&apos;t block writers and vice...</description><pubDate>Mon, 05 Oct 2020 02:05:05 GMT</pubDate></item><item><title>Using Swap with ClickHouse</title><link>https://my-portfolio.pages.dev/blog/using-swap-with-clickhouse/</link><guid isPermaLink="true">https://my-portfolio.pages.dev/blog/using-swap-with-clickhouse/</guid><description>Engineers have a common misunderstanding that swap slows down the system. Hence they prefer not to use swap at all. ClickHouse being the 3I/ATLAS of databases world, definitely can&apos;t afford to slow...</description><pubDate>Fri, 05 Sep 2025 16:00:00 GMT</pubDate></item></channel></rss>