41554 blogs · [ { "id": "01a08c5d-0e52-7387-821d-fd3246ddf3d0", "title": "pg_savior: a seatbelt for Postgres", "url": "https://viggy28.dev/article/pg-savior-seatbelt-for-postgres/", "published_at": "2026-04-26T04:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3246fb5ca5", "title": "I Asked My Local LLM to Add 23 Numbers. I Got Seven Different Wrong Answers.", "url": "https://viggy28.dev/article/local-llm-seven-wrong-answers/", "published_at": "2026-04-25T04:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324752e221", "title": "Postgres Is the Gateway Drug", "url": "https://viggy28.dev/article/postgres-gateway-drug/", "published_at": "2026-03-14T12:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd32485249ab", "title": "RDS' margin is EC2's opportunity", "url": "https://viggy28.dev/article/rds-margin-is-ec2-opportunity/", "published_at": "2024-01-21T01:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd32486e293d", "title": "Postgres v16 installation issues wrt ICU", "url": "https://viggy28.dev/article/postgres-v16-icu-installation-issue/", "published_at": "2023-11-20T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3248d4fa16", "title": "Postgres at the edge", "url": "https://viggy28.dev/talks/postgres-at-the-edge/", "published_at": "2023-08-15T17:40:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3249140eb3", "title": "Performance isolation in multi-tenant DB", "url": "https://viggy28.dev/talks/saas-developer-community-2023-online/", "published_at": "2023-04-26T17:50:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3249e57b1b", "title": "Challenges of Building in-house RDS", "url": "https://viggy28.dev/talks/scale-conf-2023-pasadena/", "published_at": "2023-04-26T17:40:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3249f58845", "title": "HAProxy Conference 2022 at Paris", "url": "https://viggy28.dev/talks/haproxy-conf-2022-paris/", "published_at": "2023-04-25T17:40:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324a8138bf", "title": "pglite", "url": "https://viggy28.dev/article/introduction-to-postgres-wire-protocol-in-go/", "published_at": "2023-04-21T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324b427832", "title": "Postgres pg_rewind gotcha", "url": "https://viggy28.dev/til/postgres-pgrewind-gotcha/", "published_at": "2022-09-06T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324b644965", "title": "Citus Data - How it enables distributed postgres", "url": "https://viggy28.dev/article/my-notes-on-citus-data/", "published_at": "2022-06-12T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324bd69a46", "title": "How I found my mentor", "url": "https://viggy28.dev/article/how-i-found-my-mentor/", "published_at": "2022-06-10T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324c9c9aa7", "title": "Postgres schema migration gotchas", "url": "https://viggy28.dev/article/postgres-schema-migration/", "published_at": "2022-06-03T01:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324ce3cf46", "title": "Postgres logging", "url": "https://viggy28.dev/article/log-related-settings-in-postgres/", "published_at": "2022-05-31T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324d1dbb32", "title": "IC to EM", "url": "https://viggy28.dev/article/ic-to-em/", "published_at": "2022-04-17T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324d23af28", "title": "functional options", "url": "https://viggy28.dev/til/functional-options-in-go/", "published_at": "2021-11-04T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324dcf5b6b", "title": "Understanding pointers in Go", "url": "https://viggy28.dev/til/understanding-pointers-in-go/", "published_at": "2021-11-02T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324de84e06", "title": "Context in go", "url": "https://viggy28.dev/article/go-context/", "published_at": "2021-10-31T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324ea96bc6", "title": "Misc notes on Go", "url": "https://viggy28.dev/til/go-misc/", "published_at": "2021-10-31T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324eb4caa3", "title": "Closure in go", "url": "https://viggy28.dev/article/closure-in-go/", "published_at": "2021-10-30T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324f8b0a6d", "title": "encoding miscellaneous", "url": "https://viggy28.dev/til/encoding-misc/", "published_at": "2021-10-30T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324f8f1ebc", "title": "Notes on makefile", "url": "https://viggy28.dev/til/makefile-notes/", "published_at": "2021-10-26T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324f984372", "title": "Postgres streaming replication protocol", "url": "https://viggy28.dev/til/postgres-streaming-replication-protocol/", "published_at": "2021-10-13T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324ff0a279", "title": "defer statement in go", "url": "https://viggy28.dev/article/defer-statement-in-go/", "published_at": "2021-10-11T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd324ff0ca94", "title": "Named break statement in Go", "url": "https://viggy28.dev/til/named-break-statement-in-go/", "published_at": "2021-10-10T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd32508a4032", "title": "capturing iteration variables in Go", "url": "https://viggy28.dev/til/capturing-iteration-variables-in-go/", "published_at": "2021-10-09T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd32516da501", "title": "all goroutines are asleep - deadlock!", "url": "https://viggy28.dev/til/channel-deadlock-in-go/", "published_at": "2021-10-05T15:45:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3252294863", "title": "Embedded field in Go", "url": "https://viggy28.dev/til/embedded-field-in-go/", "published_at": "2021-10-04T07:22:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3252977f57", "title": "Notes on concurreny in Golang", "url": "https://viggy28.dev/article/concurrency-in-go/", "published_at": "2021-10-04T00:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325340001a", "title": "Understanding shallow copy vs deep copy in Go", "url": "https://viggy28.dev/til/shallow-copy-deep-copy/", "published_at": "2021-10-02T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3253997bba", "title": "IPs", "url": "https://viggy28.dev/til/minimum-ip-advertised-in-internet/", "published_at": "2021-09-19T16:20:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3253bf5685", "title": "Nivi, take a bow", "url": "https://viggy28.dev/recommendations/nivi-realtor/", "published_at": "2021-09-19T16:20:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325470d65a", "title": "namespaces", "url": "https://viggy28.dev/til/namespaces/", "published_at": "2021-09-15T16:20:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3254f9dc75", "title": "DHCP", "url": "https://viggy28.dev/til/dhcp/", "published_at": "2021-09-05T21:58:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325508f13d", "title": "USR2 kill signal in Linux", "url": "https://viggy28.dev/til/kill-signal-usr2/", "published_at": "2021-08-18T01:20:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd32553b95c9", "title": "IP in CIDR or not", "url": "https://viggy28.dev/til/ip-in-cidr-or-not/", "published_at": "2021-08-10T04:20:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3255b9483d", "title": "Getting Started with JWT", "url": "https://viggy28.dev/article/getting-started-with-jwt/", "published_at": "2021-08-09T04:20:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd32569f4e22", "title": "Setting up ghost in raspberry pi for free", "url": "https://viggy28.dev/article/setting-up-ghost-in-raspberry-pi-for-free/", "published_at": "2021-05-09T17:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3257086dcd", "title": "port forwarding in xfinity", "url": "https://viggy28.dev/article/pain-of-setting-up-port-forwarding-in-xfinity/", "published_at": "2021-05-08T03:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325723d7c8", "title": "Understanding .phony in makefile", "url": "https://viggy28.dev/article/what-is-phony-in-make/", "published_at": "2021-05-06T03:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd3257c0c527", "title": "Understanding libpq in Postgres, Debian and Go", "url": "https://viggy28.dev/article/libpq-postgres-go/", "published_at": "2021-05-06T00:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325882ac1e", "title": "Don't Make Me Think, Revisited", "url": "https://viggy28.dev/book/dont-make-me-think/", "published_at": "2021-02-08T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325906f8e4", "title": "go context", "url": "https://viggy28.dev/gopostgres/go-context/", "published_at": "2020-10-02T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd32598692ae", "title": "Hooked", "url": "https://viggy28.dev/book/hooked/", "published_at": "2020-05-02T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325a2c90e0", "title": "One up on wall street", "url": "https://viggy28.dev/book/one-up-on-wall-street/", "published_at": "2020-05-02T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325a30d63b", "title": "Indistractable", "url": "https://viggy28.dev/book/indistractable/", "published_at": "2020-04-25T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325a3cc3dc", "title": "Books recommendation", "url": "https://viggy28.dev/book/books-recommendation/", "published_at": "2020-03-24T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325a745257", "title": "Give and Take", "url": "https://viggy28.dev/book/give-and-take/", "published_at": "2020-03-23T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325a86621d", "title": "Here is one way how I can help", "url": "https://viggy28.dev/article/companies-where-i-can-refer/", "published_at": "2020-03-07T18:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325b58b252", "title": "How to deploy a cloud run application using Gitlab CI/CD", "url": "https://viggy28.dev/article/cloudrun-cicd/", "published_at": "2019-04-10T00:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325b5bc7ea", "title": "Part 2/2: How to set up HAProxy for an active-active postgres databases", "url": "https://viggy28.dev/article/postgres-haproxy/", "published_at": "2019-04-06T18:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325c0d8f2f", "title": "Part 1/2: How to set up active-active replication in postgres using BDR", "url": "https://viggy28.dev/article/postgres-active-active-replication/", "published_at": "2019-04-05T19:00:00+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325c15be98", "title": "How to secure your remote applications", "url": "https://viggy28.dev/article/how-to-secure-your-remote-applications/", "published_at": "2019-03-25T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325cd275c6", "title": "GPG in simple terms", "url": "https://viggy28.dev/article/gpg-in-simple-terms/", "published_at": "2019-03-24T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325d57abe3", "title": "Make Your Bed", "url": "https://viggy28.dev/book/make-your-bed/", "published_at": "2019-03-24T15:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325e413c40", "title": "Functions vs Containers", "url": "https://viggy28.dev/article/functions-vs-containers/", "published_at": "2019-03-23T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325eb905c4", "title": "How to host a simple static website", "url": "https://viggy28.dev/article/hosting-a-simple-website/", "published_at": "2019-03-23T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd325f77502c", "title": "How to dockerize a python application", "url": "https://viggy28.dev/article/dockererize-python-application/", "published_at": "2017-09-23T22:00:08+00:00" }, { "id": "01a08c5d-0e52-7387-821d-fd326051f88c", "title": "The Go Programming Language", "url": "https://viggy28.dev/book/the-go-programming-language/", "published_at": null } ] posts Claim your blog
Back to viggy28.dev
Blog · corpus.blog/blogs/viggy28.dev/posts

viggy28.dev

viggy28.dev

2026

2024

2023

2022

2021

19 Sept 2021
5 Sept 2021

2020

2019

2017

Undated