41554 blogs · [ { "id": "01a0bdef-1ee5-7294-ac42-cbedd09e156a", "title": "TIL: go fix Reaches Into Third-Party Code Too", "url": "https://preslav.me/2026/09/19/go-fix-inline/", "published_at": "2026-09-19T00:00:00+00:00" }, { "id": "01a087c9-4cb2-72db-8178-3ce221765012", "title": "gomjml v0.13.0 Uses Significantly Less Memory Than Before", "url": "https://preslav.me/2026/09/09/gomjml-v0.13.0-improved-performance/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a0b68b-4ce4-7114-95a9-6bda5fcd8e03", "title": "Preslav Rachev", "url": "https://preslav.me", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a087c9-4cb2-72db-8178-3ce221dbc130", "title": "Using Scoped Coverage to Prune an AI-Generated Go Test Suite", "url": "https://preslav.me/2026/08/27/scoped-coverage-ai-test-pruning/", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a087c9-4cb2-72db-8178-3ce2221b5c6a", "title": "When a Notes App Is Just a Notes App", "url": "https://preslav.me/2026/08/12/bear-notes/", "published_at": "2026-08-12T00:00:00+00:00" }, { "id": "01a087c9-4cb2-72db-8178-3ce2225cc1d4", "title": "Installed the macOS 27 Beta on My Trusty M1 Mac Mini", "url": "https://preslav.me/2026/07/29/installing-macos-27-m1/", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a087c9-4cb2-72db-8178-3ce222c148c6", "title": "Pointing a Cloudflare Domain to Netlify Without Changing Nameservers", "url": "https://preslav.me/2026/07/28/cloudflare-to-netlify-dns/", "published_at": "2026-07-28T00:00:00+00:00" }, { "id": "01a087c9-4cb2-72db-8178-3ce223732b62", "title": "Saying the obvious thing", "url": "https://preslav.me/2026/07/03/quote-saying-the-obvious-thing/", "published_at": "2026-07-03T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-91708f837c7b", "title": "My Appearance on the Cup O’ Go Podcast", "url": "https://preslav.me/2026/06/17/cup-o-go-podcast-episode/", "published_at": "2026-06-17T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-91708ff2d005", "title": "The 10 Go Error Handling Commandments", "url": "https://preslav.me/2026/05/19/10-golang-error-handling-commandments/", "published_at": "2026-05-19T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-9170907cda72", "title": "AI can't tell you what to build.", "url": "https://preslav.me/2026/05/11/ai-cannot-tell-you-what-to-build/", "published_at": "2026-05-11T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-91709116705c", "title": "Lost in Translation", "url": "https://preslav.me/2026/05/04/lost-in-translation-movie-impressions/", "published_at": "2026-05-04T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-9170913f9525", "title": "It's all relative", "url": "https://preslav.me/2026/04/08/its-all-relative/", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-9170919c9081", "title": "The bottleneck is the supervision", "url": "https://preslav.me/2026/04/03/the-bottleneck-is-the-supervision/", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-9170926f284a", "title": "The friction is just not there anymore.", "url": "https://preslav.me/2026/04/03/the-friction-is-just-not-there-anymore/", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-9170931f0618", "title": "Who Is the Assistant?", "url": "https://preslav.me/2026/04/01/who-is-the-assistant/", "published_at": "2026-04-01T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-91709342a6f6", "title": "Why I'm Still Building Murmel", "url": "https://preslav.me/2026/03/25/murmel-competition-identity-trust-roadmap/", "published_at": "2026-03-25T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-91709427b3f7", "title": "March 9, 2026", "url": "https://preslav.me/2026/03/09/been-hanging-around-for-a-while/", "published_at": "2026-03-09T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-9170947022ef", "title": "The Cinematic Color Negative Made It All the Way to Malaysia", "url": "https://preslav.me/2026/01/16/cinematic-color-negative-made-it-to-malaysia/", "published_at": "2026-01-16T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-91709544381c", "title": "Stop Overthinking Struct Pointer and Value Semantics in Go", "url": "https://preslav.me/2026/01/08/golang-structs-vs-pointers-pointer-first/", "published_at": "2026-01-08T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-917095c6ec00", "title": "How to Disable Terminal Suggestions in VS Code", "url": "https://preslav.me/2025/12/16/vs-code-remove-terminal-suggestions/", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a087c9-4cb3-7274-ad31-917096278bc9", "title": "How to Install Logseq’s DB Version on Your Computer", "url": "https://preslav.me/2025/10/13/how-to-install-logseq-db-version-on-your-computer-sqlite/", "published_at": "2025-10-13T14:59:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cac51f1b", "title": "gomjml: September Update", "url": "https://preslav.me/2025/10/01/gomjml-mjml-september-2025-update/", "published_at": "2025-10-01T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2caf037a9", "title": "The Recipes I Carry On My Fujifilm Camera", "url": "https://preslav.me/2025/09/12/recipes-i-have-on-my-fujifilm-camera/", "published_at": "2025-09-12T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cb84d0d0", "title": "Static Sites Enable a Good Time Travel Experience", "url": "https://preslav.me/2025/09/04/every-commit-is-a-time-machine/", "published_at": "2025-09-04T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cbe77e5a", "title": "This Site Supports h-card Microformats Now", "url": "https://preslav.me/2025/08/26/this-site-supports-hcard-microformats-now/", "published_at": "2025-08-26T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cbf858bb", "title": "Introducing gomjml: MJML for Go Developers", "url": "https://preslav.me/2025/08/12/introducing-gomjml/", "published_at": "2025-08-12T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cc422940", "title": "Display your Claude Code Token Usage on Your Mac's Toolbar", "url": "https://preslav.me/2025/08/04/put-claude-code-token-usage-macos-toolbar/", "published_at": "2025-08-04T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cd279807", "title": "Hitting the Brakes on Claude Code", "url": "https://preslav.me/2025/07/26/claude-code-token-burn-slow-down-hooks/", "published_at": "2025-07-26T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cd77c3bf", "title": "From Outbound to Inbound and Back Again: The Hidden Power of RSS Feeds", "url": "https://preslav.me/2025/07/02/inbound-outbound-rss-feedle-syndication/", "published_at": "2025-07-02T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ce6bef01", "title": "Why I Made Peace With Go’s Date Formatting", "url": "https://preslav.me/2025/06/11/golang-date-formatting-is-fine/", "published_at": "2025-06-11T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cf0af58c", "title": "Boost Your Productivity on the iPad With Guided Access Sessions", "url": "https://preslav.me/2025/06/07/boost-ipad-productivity-guided-access/", "published_at": "2025-06-07T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cf63cc37", "title": "Cinematic Color Negative: A Nostalgic Picture Profile for Canon Cameras", "url": "https://preslav.me/2025/05/19/cinematic-color-negative-for-canon-cameras/", "published_at": "2025-05-19T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2cfb88c41", "title": "How to Apply Unsupported Simulations on Older Fujifilm Cameras", "url": "https://preslav.me/2025/05/17/fujifilm-film-simulations-unsupported-cameras/", "published_at": "2025-05-17T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d058e298", "title": "Your Eyes Are the Camera", "url": "https://preslav.me/2025/05/11/your-eyes-are-the-camera/", "published_at": "2025-05-11T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d091dc95", "title": "Stuck With Your Decision Making? Try Some Randomness", "url": "https://preslav.me/2025/04/11/decision-making-randomness/", "published_at": "2025-04-11T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d18edb9e", "title": "Got Bitten by the Fuji Bug", "url": "https://preslav.me/2025/04/01/the-fuji-bug/", "published_at": "2025-04-01T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d224de6d", "title": "Quality Control", "url": "https://preslav.me/2025/03/21/quality-control/", "published_at": "2025-03-21T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d2863323", "title": "Don't Give Your Main Bluesky Password to 3rd-Party Apps", "url": "https://preslav.me/2025/02/14/bluesky-dont-give-main-password-use-app-passwords-security/", "published_at": "2025-02-14T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d351d7cd", "title": "All You Can Feed", "url": "https://preslav.me/2025/02/07/all-you-can-feed/", "published_at": "2025-02-07T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d38e5a70", "title": "How to Replace Linkedin’s Algorithmic Timeline", "url": "https://preslav.me/2025/01/28/howto-replace-linkedin-algorithmic-timeline/", "published_at": "2025-01-28T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d3c677f5", "title": "2025: More Social, Less Media", "url": "https://preslav.me/2024/12/31/2025-more-social-less-media/", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d3f50add", "title": "3 (+1) Things Evernote Got Right", "url": "https://preslav.me/2024/12/28/three-things-evernote-got-right/", "published_at": "2024-12-28T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d4a5e86a", "title": "The Raw Arithmetic of Being", "url": "https://preslav.me/2024/12/23/the-raw-arithmetic-of-being/", "published_at": "2024-12-23T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d4f359f0", "title": "Because I Wanted To", "url": "https://preslav.me/2024/12/06/because-i-wanted-to/", "published_at": "2024-12-06T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d57532f0", "title": "Double-Click to Edit: Rethinking Note Interactions in Obsidian", "url": "https://preslav.me/2024/11/29/double-click-to-edit-rethinking-note-interactions-in-obsidian/", "published_at": "2024-11-29T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d5f841c4", "title": "Why I Am Not Writing About Programming as Much Anymore", "url": "https://preslav.me/2024/11/20/why-i-am-not-writing-about-programming-as-much-anymore/", "published_at": "2024-11-20T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d67690f0", "title": "Signs", "url": "https://preslav.me/2024/11/01/signs/", "published_at": "2024-11-01T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d70b12fb", "title": "A Few Words About Obsidian’s License", "url": "https://preslav.me/2024/08/23/obsidian-license/", "published_at": "2024-08-23T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d7fdc901", "title": "How to Fix That Ghost Email Configuration Once and for All", "url": "https://preslav.me/2024/08/21/how-to-properly-configure-email-sending-in-ghost/", "published_at": "2024-08-21T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d84de58f", "title": "LinkedIn Is Not Having an Identity Crisis. Jobs Are.", "url": "https://preslav.me/2024/08/14/linkedin-is-not-having-an-identity-crisis-jobs-are/", "published_at": "2024-08-14T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d8e032dc", "title": "Posts About Retro Gaming From the Blogosphere", "url": "https://preslav.me/2024/08/06/retro-gaming-blog-posts/", "published_at": "2024-08-06T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d8fb0368", "title": "State of the Cloud 2024", "url": "https://preslav.me/2024/08/06/state-of-the-cloud-2024/", "published_at": "2024-08-06T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d991bd7b", "title": "Look for the Bridges", "url": "https://preslav.me/2024/08/02/look-for-the-bridges/", "published_at": "2024-08-02T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2d9b40cf7", "title": "No One Needs Teachers Anymore", "url": "https://preslav.me/2024/07/07/no-one-needs-teachers-anymore/", "published_at": "2024-07-07T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2da3072ab", "title": "Error Flows in Go", "url": "https://preslav.me/2024/06/06/error-flows-in-golang/", "published_at": "2024-06-06T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2da5ddbb7", "title": "Solving the Database Debate", "url": "https://preslav.me/2024/05/21/solving-the-database-debate/", "published_at": "2024-05-21T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2da778e50", "title": "You Don’t Own Your Content on the Internet. You Never Have.", "url": "https://preslav.me/2024/05/21/you-dont-own-your-content/", "published_at": "2024-05-21T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2da7bbc2c", "title": "The Two Reasons I Prefer Passing Struct Pointers Around", "url": "https://preslav.me/2024/04/23/two-reasons-to-prefer-struct-pointers-in-golang/", "published_at": "2024-04-23T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2db46e2ba", "title": "An Open Plea to the Quarkus Team", "url": "https://preslav.me/2024/04/08/an-open-plea-to-the-quarkus-team/", "published_at": "2024-04-08T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2dbbc400b", "title": "Feedle Reached the Front Page of Hacker News!", "url": "https://preslav.me/2024/03/25/feedle-on-the-hacker-news-front-page/", "published_at": "2024-03-25T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2dbdc16f3", "title": "Radiobirds", "url": "https://preslav.me/2024/03/16/radiobirds/", "published_at": "2024-03-16T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2dcc5bae2", "title": "My Hopes and Concerns for BgGPT", "url": "https://preslav.me/2024/03/05/my-hopes-and-concerns-for-bggpt/", "published_at": "2024-03-05T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2dda680d3", "title": "A Kindle Scribe Writing Pro Tip", "url": "https://preslav.me/2024/03/02/kindle-scribe-writing-protip/", "published_at": "2024-03-02T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2de7cdcc1", "title": "The Human in the Loop", "url": "https://preslav.me/2024/03/01/the-human-in-the-loop/", "published_at": "2024-03-01T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ded79c00", "title": "Thank You for Unsubscribing", "url": "https://preslav.me/2024/01/26/thank-you-for-unsubscribing-rss-vs-newsletters/", "published_at": "2024-01-26T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2df53966e", "title": "The Perfect Knowledge Assistant That Does Not Exist", "url": "https://preslav.me/2024/01/19/the-perfect-knowledge-assistant-device-that-does-not-exist/", "published_at": "2024-01-19T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e035dfb0", "title": "How 2023 Almost Killed Our Service Murmel, but We Keep Rocking in 2024", "url": "https://preslav.me/2024/01/16/how-2023-nearly-killed-our-product-looking-ahead/", "published_at": "2024-01-16T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e0522a6b", "title": "Interfaces Are Not Meant for That", "url": "https://preslav.me/2023/12/15/golang-interfaces-are-not-meant-for-that/", "published_at": "2023-12-15T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e0c08fe9", "title": "Python is Easy. Go is Simple. Simple != Easy.", "url": "https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy/", "published_at": "2023-11-27T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e12fa6b3", "title": "Write Your Book With Obsidian: The Preface", "url": "https://preslav.me/2023/11/24/write-yor-book-with-obsidian-preface/", "published_at": "2023-11-24T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e1dba87f", "title": "What makes a senior developer?", "url": "https://preslav.me/2023/11/17/what-makes-senior-developer/", "published_at": "2023-11-17T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e1ec528e", "title": "Jotting Down in Bear, Organizing in Obsidian: My Note-Taking Workflow", "url": "https://preslav.me/2023/11/11/jotting-bear-organizing-obsidian-note-taking-workflow/", "published_at": "2023-11-11T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e23754c2", "title": "My Ego Is My Enemy. Your Ego Is Your Enemy.", "url": "https://preslav.me/2023/10/06/my-ego-is-my-enemy-your-ego-is-your-enemy/", "published_at": "2023-10-06T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e31915f3", "title": "Who Said So?", "url": "https://preslav.me/2023/10/03/who-said-so/", "published_at": "2023-10-03T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e3f70aab", "title": "Ditch That Else", "url": "https://preslav.me/2023/09/22/ditch-that-else/", "published_at": "2023-09-22T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e4b1eaba", "title": "The Loneliness of Success", "url": "https://preslav.me/2023/09/15/the-loneliness-of-success/", "published_at": "2023-09-15T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e4f38afa", "title": "How to Fix Stuck iCloud Syncing on macOS - Part 2", "url": "https://preslav.me/2023/09/12/howto-fix-stuck-icloud-syncing-macos-part-2/", "published_at": "2023-09-12T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e53808d2", "title": "Shifting Gears for a Short While", "url": "https://preslav.me/2023/07/21/shifting-gears-for-a-while/", "published_at": "2023-07-21T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e5eab2f0", "title": "Podcasts for Go Developers", "url": "https://preslav.me/2023/06/28/podcasts-for-golang-developers/", "published_at": "2023-06-28T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e61acd12", "title": "Cosmic Lullaby", "url": "https://preslav.me/2023/06/22/cosmic-lullaby-short-scifi-story/", "published_at": "2023-06-22T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e66bf76d", "title": "Focus on the Happy Path With Step Functions", "url": "https://preslav.me/2023/06/14/golang-focus-on-the-happy-path-with-step-functions/", "published_at": "2023-06-14T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e736855f", "title": "My Go Talk Proposal Got Declined. A Few Times.", "url": "https://preslav.me/2023/06/02/my-golang-conference-talk-proposal-got-declined-a-few-times/", "published_at": "2023-06-02T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e7417fc0", "title": "Writing a Book That Deserves to Be Read?", "url": "https://preslav.me/2023/05/31/writing-a-book-worth-reading-let-me-help-review-it/", "published_at": "2023-05-31T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e7dcab0e", "title": "What Color is Your Type?", "url": "https://preslav.me/2023/05/30/golang-what-color-is-your-type/", "published_at": "2023-05-30T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e8a68dac", "title": "Bringing Murmel to the Fediverse", "url": "https://preslav.me/2023/05/24/bringing-murmel-to-the-fediverse/", "published_at": "2023-05-24T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e90e9820", "title": "I Believe in Machine Learning. I Don’t Believe In AI", "url": "https://preslav.me/2023/05/22/i-believe-in-machine-learning-dont-believe-in-artificial-intelligence/", "published_at": "2023-05-22T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e9541c2c", "title": "My Issue With ORMs", "url": "https://preslav.me/2023/05/15/my-issue-with-orm/", "published_at": "2023-05-15T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2e9f3f1bb", "title": "Digging into Service Weaver: Dependency Injection", "url": "https://preslav.me/2023/05/12/golang-dependency-injection-in-google-service-weaver/", "published_at": "2023-05-12T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ea2770e1", "title": "Go's Error Handling Is a Form of Storytelling", "url": "https://preslav.me/2023/04/14/golang-error-handling-is-a-form-of-storytelling/", "published_at": "2023-04-14T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ea494060", "title": "Which JVM Language Would You Choose for a New Server-Side Project?", "url": "https://preslav.me/2023/03/27/java-vs-kotlin-which-language-new-server-side-project/", "published_at": "2023-03-27T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2eb3b62b5", "title": "Where Is the Spring Framework for Go?", "url": "https://preslav.me/2023/03/23/where-is-the-spring-framework-for-golang/", "published_at": "2023-03-23T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ebc30f54", "title": "Create Robust \"Enums\" in Go", "url": "https://preslav.me/2023/03/17/create-robust-enums-in-golang/", "published_at": "2023-03-17T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ec4c64c7", "title": "Things to Consider When Going With sqlc", "url": "https://preslav.me/2023/03/07/reasons-against-sqlc/", "published_at": "2023-03-07T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ed16c894", "title": "2000 Blogs 🎉", "url": "https://preslav.me/2023/02/24/2000-blogs-feedle-update/", "published_at": "2023-02-24T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ed60eb13", "title": "Partially-Implemented Interfaces in Go", "url": "https://preslav.me/2023/02/22/partially-implemented-interfaces-in-golang/", "published_at": "2023-02-22T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ee0ce27e", "title": "User or *User - Do We Need Struct Pointers Everywhere?", "url": "https://preslav.me/2023/02/06/golang-do-we-need-struct-pointers-everywhere/", "published_at": "2023-02-06T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2eeedd238", "title": "How To Schedule Block Reminders in Logseq", "url": "https://preslav.me/2023/01/21/how-to-schedule-block-reminders-in-logseq/", "published_at": "2023-01-21T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2ef8f69f7", "title": "The Secret to Being a Great Bass Player", "url": "https://preslav.me/2023/01/18/the-secret-to-being-great-bass-guitar-player/", "published_at": "2023-01-18T00:00:00+00:00" }, { "id": "01a087c9-4cb4-736e-a9ff-e7c2efd9eebe", "title": "In Defense of ORMs", "url": "https://preslav.me/2023/01/16/in-defense-of-orms/", "published_at": "2023-01-16T00:00:00+00:00" } ] posts Claim your blog
Back to Preslav Rachev
Blog · corpus.blog/blogs/preslav.me/posts

Preslav Rachev

preslav.me

2026

2025

2024

2023