[{"data":1,"prerenderedAt":552},["ShallowReactive",2],{"category-Systems":3},[4,14,23,32,42,50,58,66,73,80,87,94,101,109,116,124,132,140,147,154,161,168,175,182,191,199,206,213,220,227,234,241,248,255,262,269,276,283,290,298,305,312,319,327,334,341,349,357,364,372,379,387,394,402,409,416,423,430,437,444,451,458,465,472,479,486,494,501,509,516,523,530,538,545],{"path":5,"title":6,"description":7,"categories":8,"year":11,"draft":12,"headerImage":13,"cardAlt":6},"\u002Fblog\u002Fai-assisted-workstation","Building an AI-Assisted Personal Workstation","How I built a personal AI workstation: markdown knowledge base, portable agent skills, handoff-driven sessions. What worked, what broke, what I would change.",[9,10],"Productivity","Programming","2026-08-26",true,"blog\u002Fai-assisted-workstation\u002Fai-assisted-workstation-card.webp",{"path":15,"title":16,"description":17,"categories":18,"year":20,"draft":21,"headerImage":22,"cardAlt":16},"\u002Fblog\u002Faws-s3-golang","Uploading images to AWS S3 in Golang","In this tutorial I cover how to upload, fetch and manage other operations for objects on AWS S3 in Golang",[19,10],"Golang","2020-01-12",false,"blog\u002Faws-s3-golang\u002Faws-s3-golang-card.webp",{"path":24,"title":25,"description":26,"categories":27,"year":30,"draft":21,"headerImage":31,"cardAlt":25},"\u002Fblog\u002Fbooks-for-engineers","Best Books for Software Engineers","Best Books to help you build you software engineering career - ranging from fundamentats, interview prep to productivity.",[28,29],"Books","Life","2021-12-26","blog\u002Fbooks-for-engineers\u002Fbooks-for-engineers-card.webp",{"path":33,"title":34,"description":35,"categories":36,"year":40,"draft":21,"headerImage":41,"cardAlt":34},"\u002Fblog\u002Fbuilding-acrons","Building Acrons 🚀","Building Acrons, a one-stop tool to decode everyday acronyms like DIY, FOMO, and BRB without losing your flow.",[37,38,39],"Side Projects","Web","Tools","2020-05-26","blog\u002Fbuilding-acrons\u002Fbuilding-acrons-card.webp",{"path":43,"title":44,"description":45,"categories":46,"year":48,"draft":21,"headerImage":49,"cardAlt":44},"\u002Fblog\u002Fcap-theorem","CAP Theorem Explained","Learn the concept and misconceptions around popular CAP theorem in system design.",[47,10],"System Design","2021-07-26","blog\u002Fcap-theorem\u002Fcap-theorem-card.webp",{"path":51,"title":52,"description":53,"categories":54,"year":56,"draft":21,"headerImage":57,"cardAlt":52},"\u002Fblog\u002Fcode-reviews","Code Review Checklist","Why code reviews matter, and best practices that catch bugs early and keep code quality high before merge.",[55],"Engineering Principles","2020-07-20","blog\u002Fcode-reviews\u002Fcode-reviews-card.webp",{"path":59,"title":60,"description":61,"categories":62,"year":64,"draft":21,"headerImage":65,"cardAlt":60},"\u002Fblog\u002Fdark-mode","Add Dark mode to websites","Dark mode is ❤️️ Add it to your websites with little CSS and JS",[63,38],"Javascript","2020-07-04","blog\u002Fdark-mode\u002Fdark-mode-card.webp",{"path":67,"title":68,"description":69,"categories":70,"year":71,"draft":21,"headerImage":72,"cardAlt":68},"\u002Fblog\u002Fdate-time-golang","Working with Date and Time in Go","Learn how to use time in Golang - Multiple formats, locations and using date.",[19,10],"2020-10-09","blog\u002Fdate-time-golang\u002Fdate-time-golang-card.webp",{"path":74,"title":75,"description":76,"categories":77,"year":78,"draft":21,"headerImage":79,"cardAlt":75},"\u002Fblog\u002Fdefer-in-golang","Understanding Defer In Golang","Learn about defer keyword in golang and how it can help you avoid panics due to bugs.",[19,10],"2021-05-05","blog\u002Fdefer-in-golang\u002Fdefer-in-golang-card.webp",{"path":81,"title":82,"description":83,"categories":84,"year":85,"draft":21,"headerImage":86,"cardAlt":82},"\u002Fblog\u002Fenums-golang","Implementing Enums in Golang","Enums are a way to defined set of constant values. Learn how to implement enums in Go using iota with examples.",[19,10],"2021-12-18","blog\u002Fenums-golang\u002Fenums-golang-card.webp",{"path":88,"title":89,"description":90,"categories":91,"year":92,"draft":21,"headerImage":93,"cardAlt":89},"\u002Fblog\u002Fenvironment-variable-golang","Guide to Environment variables in Go","Learn what are environment variables and how to use them in Go",[19,10],"2020-08-14","blog\u002Fenvironment-variable-golang\u002Fenvironment-variable-golang-card.webp",{"path":95,"title":96,"description":97,"categories":98,"year":99,"draft":21,"headerImage":100,"cardAlt":96},"\u002Fblog\u002Ferror-handling-golang","Handle errors the right way — Golang","How to handle errors in golang to make your life easy",[19,10],"2020-01-30","blog\u002Ferror-handling-golang\u002Ferror-handling-golang-card.webp",{"path":102,"title":103,"description":104,"categories":105,"year":11,"draft":21,"headerImage":108,"cardAlt":103},"\u002Fblog\u002Ffile-attack-field-guide","How File-Based Attacks Land: A Detection Engineer's Field Guide","A practical taxonomy of how malware and phishing arrive as files, why classic controls miss them, and how detection should think.",[106,107],"Security","Systems","blog\u002Ffile-attack-field-guide\u002Ffile-attack-field-guide-card.webp",{"path":110,"title":111,"description":112,"categories":113,"year":114,"draft":21,"headerImage":115,"cardAlt":111},"\u002Fblog\u002Ffile-upload-golang","Uploading Files in Golang with Multipart Request","Learn how to upload files from your client to server as a multipart request in Golang.",[19,10],"2021-03-13","blog\u002Ffile-upload-golang\u002Ffile-upload-golang-card.webp",{"path":117,"title":118,"description":119,"categories":120,"year":122,"draft":21,"headerImage":123,"cardAlt":118},"\u002Fblog\u002Fgit-branch","Git Branch 101","Branching is a new path of development that makes it a lot easier to build features. Learn why and how to use branching in git.",[121,10],"Git","2022-03-20","blog\u002Fgit-branch\u002Fgit-branch-card.webp",{"path":125,"title":126,"description":127,"categories":128,"year":129,"draft":21,"headerImage":130,"cardAlt":131},"\u002Fblog\u002Fgit-pull-request-template","Guide to Pull Request Templates","Improve collaboration and code reviews with pull request templates. Blog include PR template and how to create one on github\u002Fgitlab",[121,10],"2023-08-24","blog\u002Fgit-pull-request-template\u002Fgit-pull-request-template-card.webp","Ultimate Guide to Pull Request Templates",{"path":133,"title":134,"description":135,"categories":136,"year":137,"draft":21,"headerImage":138,"cardAlt":139},"\u002Fblog\u002Fgit-remove-sensitive-info","Securing Git: Remove Sensitive Information","Protect your code from security breaches by using BFG tool to remove sensitive information from Git history. Learn how to do it in this comprehensive guide.",[121,10],"2023-10-16","blog\u002Fgit-remove-sensitive-info\u002Fgit-remove-sensitive-info-card.webp","Securing Git: Removing Sensitive Information with BFG",{"path":141,"title":142,"description":143,"categories":144,"year":145,"draft":21,"headerImage":146,"cardAlt":142},"\u002Fblog\u002Fgit-tags-explained","Git tags : Explained","What Git tags are, why and when to use them, and how to start tagging releases in your own projects.",[121,10],"2020-06-18","blog\u002Fgit-tags-explained\u002Fgit-tags-explained-card.webp",{"path":148,"title":149,"description":150,"categories":151,"year":152,"draft":21,"headerImage":153,"cardAlt":149},"\u002Fblog\u002Fgo-dependency-injection","Dependency Injection in Go using Wire","Learn about dependency injection, its benefits and how to implement it in Go services using wire",[19,10],"2022-11-26","blog\u002Fgo-dependency-injection\u002Fgo-dependency-injection-card.webp",{"path":155,"title":156,"description":157,"categories":158,"year":159,"draft":21,"headerImage":160,"cardAlt":156},"\u002Fblog\u002Fgo-generics","Introduction to Generics in Go","Learn about generics in Golang, it's benefits and how to implement it in applications.",[19,10],"2022-11-27","blog\u002Fgo-generics\u002Fgo-generics-card.webp",{"path":162,"title":163,"description":164,"categories":165,"year":166,"draft":21,"headerImage":167,"cardAlt":163},"\u002Fblog\u002Fgo-in-memory-cache","Building In-Memory Cache in Go","Learn about in-memory caching in Golang, it's benefits and how to implement it with and without generics with a TTL(expiry).",[19,10],"2024-03-28","blog\u002Fgo-in-memory-cache\u002Fgo-in-memory-cache-card.webp",{"path":169,"title":170,"description":171,"categories":172,"year":173,"draft":21,"headerImage":174,"cardAlt":170},"\u002Fblog\u002Fgo-makefile","Ultimate Makefile for Golang","Boost your productivity and save time with ultimate Makefile for Golang projects.",[19,10],"2024-06-10","blog\u002Fgo-makefile\u002Fgo-makefile-card.webp",{"path":176,"title":177,"description":178,"categories":179,"year":180,"draft":21,"headerImage":181,"cardAlt":177},"\u002Fblog\u002Fgo-middleware","Mastering Middlewares in Golang","Learn about middlewares, their use cases and how to implement them in Golang applications",[19,10],"2022-03-13","blog\u002Fgo-middleware\u002Fgo-middleware-card.webp",{"path":183,"title":184,"description":185,"categories":186,"year":188,"draft":21,"headerImage":189,"cardAlt":190},"\u002Fblog\u002Fgo-naming-conventions","Naming Conventions in Golang","Why naming conventions matter in Go, with best practices and practical examples for clear, readable, maintainable code.",[19,10,187],"Code Quality","2023-05-19","blog\u002Fgo-naming-conventions\u002Fgo-naming-conventions-card.webp","Naming Conventions in Go - Key to Readable and Maintainable Code",{"path":192,"title":193,"description":194,"categories":195,"year":197,"draft":21,"headerImage":198,"cardAlt":193},"\u002Fblog\u002Fgo-with-redis","Go with Redis","A practical introduction to using Redis with Golang to make your applications faster with in-memory data storage.",[19,196,10],"Database","2020-05-03","blog\u002Fgo-with-redis\u002Fgo-with-redis-card.webp",{"path":200,"title":201,"description":202,"categories":203,"year":204,"draft":21,"headerImage":205,"cardAlt":201},"\u002Fblog\u002Fgolang-maps","Learn Maps in Golang (with examples)","A complete guide to maps in Golang: creating maps, adding and removing items, iterating, and how map equality works.",[19,10],"2020-09-10","blog\u002Fgolang-maps\u002Fgolang-maps-card.webp",{"path":207,"title":208,"description":209,"categories":210,"year":211,"draft":21,"headerImage":212,"cardAlt":208},"\u002Fblog\u002Fguide-to-cdn","Guide to Content Delivery Network","CDN is one of the backbone of modern world internet infrastructure. Learn about Content Delivery Network, it's working, types and benefits.",[47,10],"2022-01-23","blog\u002Fguide-to-cdn\u002Fguide-to-cdn-card.webp",{"path":214,"title":215,"description":216,"categories":217,"year":218,"draft":21,"headerImage":219,"cardAlt":215},"\u002Fblog\u002Fguide-to-rule-engines","Guide to Rule Engines","Rule Engines help in solving changing business requirements with ease. Learn all about Rule engines, it's working, benefits and how to implement one in Golang",[19,10],"2022-09-12","blog\u002Fguide-to-rule-engines\u002Fguide-to-rule-engines-card.webp",{"path":221,"title":222,"description":223,"categories":224,"year":225,"draft":21,"headerImage":226,"cardAlt":222},"\u002Fblog\u002Fhexagonal-architecture","Guide to Hexagonal Architecture","Learn how to design efficient application with hexagonal architecture with practical example",[47,10],"2020-12-13","blog\u002Fhexagonal-architecture\u002Fhexagonal-architecture-card.webp",{"path":228,"title":229,"description":230,"categories":231,"year":232,"draft":21,"headerImage":233,"cardAlt":229},"\u002Fblog\u002Fhttp-status-codes","Learn HTTP Status Codes","A tour of HTTP response status codes, what each class means, and when to use which code in your applications.",[38,10],"2020-07-30","blog\u002Fhttp-status-codes\u002Fhttp-status-codes-card.webp",{"path":235,"title":236,"description":237,"categories":238,"year":239,"draft":21,"headerImage":240,"cardAlt":236},"\u002Fblog\u002Fintroduction-to-goroutines","Introduction to Goroutines","Understand the basics of concurrency and learn how to work with Goroutines in golang.",[19,10],"2021-04-10","blog\u002Fintroduction-to-goroutines\u002Fintroduction-to-goroutines-card.webp",{"path":242,"title":243,"description":244,"categories":245,"year":246,"draft":21,"headerImage":247,"cardAlt":243},"\u002Fblog\u002Fjson-in-postgres-with-golang","Storing JSON in Postgres with Golang","Learn how to store JSON objects in Postgres and how to implement it in Golang.",[10,196,19],"2021-02-13","blog\u002Fjson-in-postgres-with-golang\u002Fjson-in-postgres-with-golang-card.webp",{"path":249,"title":250,"description":251,"categories":252,"year":253,"draft":21,"headerImage":254,"cardAlt":250},"\u002Fblog\u002Fjson-web-token","Complete Guide to JWT","JSON Web Tokens are a very compact way to carry information. Learn about JWTs in depth, from its structure to when to use it.",[10,38],"2021-11-20","blog\u002Fjson-web-token\u002Fjson-web-token-card.webp",{"path":256,"title":257,"description":258,"categories":259,"year":260,"draft":21,"headerImage":261,"cardAlt":257},"\u002Fblog\u002Flearn-to-say-no","Learning to say No","Learn why it's important to say 'NO'. How it helps in increasing productivity and explore strategies for saying No",[29,28],"2022-04-09","blog\u002Flearn-to-say-no\u002Flearn-to-say-no-card.webp",{"path":263,"title":264,"description":265,"categories":266,"year":267,"draft":21,"headerImage":268,"cardAlt":264},"\u002Fblog\u002Flearn-unlearn-relearn","Learn - Unlearn - Relearn","Unlearning things to learn new is the way to grow. Discover how to do that!",[9,29],"2020-09-25","blog\u002Flearn-unlearn-relearn\u002Flearn-unlearn-relearn-card.webp",{"path":270,"title":271,"description":272,"categories":273,"year":274,"draft":21,"headerImage":275,"cardAlt":271},"\u002Fblog\u002Flinting-in-golang","Introduction to Linting in Go","Introduction to improving code quality using linting. Learn how to add linting in your Go projects.",[19,10],"2021-07-07","blog\u002Flinting-in-golang\u002Flinting-in-golang-card.webp",{"path":277,"title":278,"description":279,"categories":280,"year":281,"draft":21,"headerImage":282,"cardAlt":111},"\u002Fblog\u002Fload-balancing","Load Balancing 101","Complete guide on load balancers explaining the internal working and how does it help in making applications efficient.",[47,10],"2021-05-29","blog\u002Fload-balancing\u002Fload-balancing-card.webp",{"path":284,"title":285,"description":286,"categories":287,"year":288,"draft":21,"headerImage":289,"cardAlt":285},"\u002Fblog\u002Fmaking-decisions-the-right-way","Making Decisions: The right way","Decisions are hard! Learn how to make the right decisions always",[9,29],"2020-06-07","blog\u002Fmaking-decisions-the-right-way\u002Fmaking-decisions-the-right-way-card.webp",{"path":291,"title":292,"description":293,"categories":294,"year":296,"draft":21,"headerImage":297,"cardAlt":292},"\u002Fblog\u002Fmanage-logs-with-logrotate","Using Logrotate to manage logs","Learn how to use logrotate system utility to manage logs with example",[295,10],"Linux","2020-09-08","blog\u002Fmanage-logs-with-logrotate\u002Fmanage-logs-with-logrotate-card.webp",{"path":299,"title":300,"description":301,"categories":302,"year":303,"draft":21,"headerImage":304,"cardAlt":300},"\u002Fblog\u002Fmarshal-structs-golang","Marshal structs the right way: Golang","Why Golang marshals empty structs into your JSON instead of null, and how to marshal structs the right way.",[19,10],"2020-03-31","blog\u002Fmarshal-structs-golang\u002Fmarshal-structs-golang-card.webp",{"path":306,"title":307,"description":308,"categories":309,"year":310,"draft":21,"headerImage":311,"cardAlt":307},"\u002Fblog\u002Fnotes-almanack-naval","Book Notes : Almanack of Naval Ravikant","My notes\u002Fhighlights from Almanack of Naval Ravikant book by Eric Jorgenson",[28,29],"2020-10-17","blog\u002Fnotes-almanack-naval\u002Fnotes-almanack-naval-card.webp",{"path":313,"title":314,"description":315,"categories":316,"year":317,"draft":21,"headerImage":318,"cardAlt":314},"\u002Fblog\u002Fnotes-anything-you-want","Book Notes : Anything you want","My notes\u002Fhighlights from Anything you want book by Derek Sivers",[28,29],"2021-09-25","blog\u002Fnotes-anything-you-want\u002Fnotes-anything-you-want-card.webp",{"path":320,"title":321,"description":322,"categories":323,"year":325,"draft":21,"headerImage":326,"cardAlt":321},"\u002Fblog\u002Fnotes-getting-real","Book Notes : Getting Real","My notes and highlights from Getting Real by Jason Fried and David Heinemeier Hansson on building web applications.",[28,324],"Startups","2020-11-03","blog\u002Fnotes-getting-real\u002Fnotes-getting-real-card.webp",{"path":328,"title":329,"description":330,"categories":331,"year":332,"draft":21,"headerImage":333,"cardAlt":329},"\u002Fblog\u002Fnotes-hell-yeah-or-no","Book Notes : Hell Yeah or No","My notes\u002Fhighlights from Hell Yeah or No book by Derek Sivers",[28,29],"2020-09-16","blog\u002Fnotes-hell-yeah-or-no\u002Fnotes-hell-yeah-or-no-card.webp",{"path":335,"title":336,"description":337,"categories":338,"year":339,"draft":21,"headerImage":340,"cardAlt":336},"\u002Fblog\u002Fnotes-how-to-be-a-capitalist","Book Notes : How to Be a Capitalist Without Any Capital","My notes\u002Fhighlights from How to Be a Capitalist Without Any Capital by Nathan Latka",[28,324],"2020-01-07","blog\u002Fnotes-how-to-be-a-capitalist\u002Fnotes-how-to-be-a-capitalist-card.webp",{"path":342,"title":343,"description":344,"categories":345,"year":347,"draft":21,"headerImage":348,"cardAlt":343},"\u002Fblog\u002Fnotes-lean-b2b","Book Notes : Lean B2B","My notes and highlights from Lean B2B by Étienne Garbugli on assessing markets, building MVPs, and selling to businesses.",[28,346],"Entrepreneurship","2022-07-02","blog\u002Fnotes-lean-b2b\u002Fnotes-lean-b2b-card.webp",{"path":350,"title":351,"description":352,"categories":353,"year":355,"draft":21,"headerImage":356,"cardAlt":351},"\u002Fblog\u002Fnotes-lets-talk-money","Book Notes : Let's Talk Money","My notes and highlights from Let's Talk Money by Monica Halan on managing personal finances and savings.",[28,354],"Personal Finance","2021-02-26","blog\u002Fnotes-lets-talk-money\u002Fnotes-lets-talk-money-card.webp",{"path":358,"title":359,"description":360,"categories":361,"year":362,"draft":21,"headerImage":363,"cardAlt":359},"\u002Fblog\u002Fnotes-obviously-awesome","Book Notes : Obviously Awesome","My notes and highlights from Obviously Awesome by April Dunford on product positioning and marketing strategy.",[28,324],"2020-04-26","blog\u002Fnotes-obviously-awesome\u002Fnotes-obviously-awesome-card.webp",{"path":365,"title":366,"description":367,"categories":368,"year":370,"draft":21,"headerImage":371,"cardAlt":366},"\u002Fblog\u002Fnotes-refactoring-ui","Book Notes: Refactoring UI","My notes and highlights from Refactoring UI by Adam Wathan and Steve Schoger, full of practical design tips for engineers.",[28,369],"Design","2020-05-09","blog\u002Fnotes-refactoring-ui\u002Fnotes-refactoring-ui-card.webp",{"path":373,"title":374,"description":375,"categories":376,"year":377,"draft":21,"headerImage":378,"cardAlt":374},"\u002Fblog\u002Fnotes-rework","Book Notes: Rework","My notes and highlights from Rework by Jason Fried and David Heinemeier Hansson on a better way to succeed in business.",[28,324],"2021-04-14","blog\u002Fnotes-rework\u002Fnotes-rework-card.webp",{"path":380,"title":381,"description":382,"categories":383,"year":385,"draft":21,"headerImage":386,"cardAlt":381},"\u002Fblog\u002Fone-on-one-meetings","Guide to Effective 1:1 Meetings","One on One meetings are important for your personal & professional growth. Learn how to master 1:1s with your manager and peers.",[384,9],"Career","2023-03-05","blog\u002Fone-on-one-meetings\u002Fone-on-one-meetings-card.webp",{"path":388,"title":389,"description":390,"categories":391,"year":392,"draft":21,"headerImage":393,"cardAlt":389},"\u002Fblog\u002Fpersonal-okrs","Personal OKRs for Success","Why one should set personal OKRs and how to achieve success with them",[9,29],"2020-06-27","blog\u002Fpersonal-okrs\u002Fpersonal-okrs-card.webp",{"path":395,"title":396,"description":397,"categories":398,"year":400,"draft":21,"headerImage":401,"cardAlt":396},"\u002Fblog\u002Fpoker-tips","Poker Tips: Johns Hopkins Poker Class","Notes from Johns Hopkins poker course. This guide will help you improve in Poker and win some large pots.",[29,399],"Poker","2020-06-13","blog\u002Fpoker-tips\u002Fpoker-tips-card.webp",{"path":403,"title":404,"description":405,"categories":406,"year":407,"draft":21,"headerImage":408,"cardAlt":404},"\u002Fblog\u002Fpomodoro","Get work done: The Pomo Way","Learn to focus and get productive by following the Pomodoro Technique",[9],"2020-10-24","blog\u002Fpomodoro\u002Fpomodoro-card.webp",{"path":410,"title":411,"description":412,"categories":413,"year":414,"draft":21,"headerImage":415,"cardAlt":411},"\u002Fblog\u002Fpostgres-constraints","Postgres Constraints","Constraints are line of defense for database. Explore various types of constrainsts in postgres",[196,10],"2020-11-07","blog\u002Fpostgres-constraints\u002Fpostgres-constraints-card.webp",{"path":417,"title":418,"description":419,"categories":420,"year":421,"draft":21,"headerImage":422,"cardAlt":418},"\u002Fblog\u002Fppf-explained","PPF Explained","Learn basics about Public Provident Fund and why you should invest",[29,354],"2020-12-24","blog\u002Fppf-explained\u002Fppf-explained-card.webp",{"path":424,"title":425,"description":426,"categories":427,"year":428,"draft":21,"headerImage":429,"cardAlt":425},"\u002Fblog\u002Fproductivity-chrome-extensions","Boost Productivity with Chrome Extensions","Utitizing chrome extensions to boost your productivity!",[9,39,38],"2020-04-24","blog\u002Fproductivity-chrome-extensions\u002Fproductivity-chrome-extensions-card.webp",{"path":431,"title":432,"description":433,"categories":434,"year":435,"draft":21,"headerImage":436,"cardAlt":432},"\u002Fblog\u002Fproductivity-in-vscode","Improve your productivity with VS Code","Key VS Code features like the integrated terminal, shortcuts, and extensions that improved my everyday productivity.",[9,10],"2020-03-12","blog\u002Fproductivity-in-vscode\u002Fproductivity-in-vscode-card.webp",{"path":438,"title":439,"description":440,"categories":441,"year":442,"draft":21,"headerImage":443,"cardAlt":439},"\u002Fblog\u002Freading-101","Improving Reading 101","Why reading matters, how to build a reading habit, and what to read next - from my own journey into books.",[28,29],"2020-04-04","blog\u002Freading-101\u002Freading-101-card.webp",{"path":445,"title":446,"description":447,"categories":448,"year":449,"draft":21,"headerImage":450,"cardAlt":446},"\u002Fblog\u002Freverse-proxy","Understanding Reverse Proxy","Learn about reverse proxy, how it is different from forward proxy and explore advantages of using it in system design.",[47,10],"2021-10-03","blog\u002Freverse-proxy\u002Freverse-proxy-card.webp",{"path":452,"title":453,"description":454,"categories":455,"year":456,"draft":21,"headerImage":457,"cardAlt":453},"\u002Fblog\u002Frunning-periodic-background-task-golang","Running periodic background tasks in Golang","How to run periodic background tasks in Golang by combining cron-style scheduling with background execution.",[19,10],"2019-11-21","blog\u002Frunning-periodic-background-task-golang\u002Frunning-periodic-background-task-golang-card.webp",{"path":459,"title":460,"description":461,"categories":462,"year":463,"draft":21,"headerImage":464,"cardAlt":460},"\u002Fblog\u002Fsessions-in-golang","Sessions using Golang and Redis","How cookies and sessions work, and how to implement persistent login sessions in Golang using Redis.",[19,196,10],"2020-02-25","blog\u002Fsessions-in-golang\u002Fsessions-in-golang-card.webp",{"path":466,"title":467,"description":468,"categories":469,"year":470,"draft":21,"headerImage":471,"cardAlt":467},"\u002Fblog\u002Fsolid-dry-kiss-yagni","Solid Dry Kiss Yagni","An introduction to the SOLID, DRY, KISS, and YAGNI principles and how they help you write cleaner, robust code.",[55],"2020-07-17","blog\u002Fsolid-dry-kiss-yagni\u002Fsolid-dry-kiss-yagni-card.webp",{"path":473,"title":474,"description":475,"categories":476,"year":477,"draft":21,"headerImage":478,"cardAlt":474},"\u002Fblog\u002Fstack-in-golang","Implement Stack in Golang","Learn how to implement stack data structure in Golang (Full code)",[19,10],"2020-09-14","blog\u002Fstack-in-golang\u002Fstack-in-golang-card.webp",{"path":480,"title":481,"description":482,"categories":483,"year":484,"draft":21,"headerImage":485,"cardAlt":481},"\u002Fblog\u002Fstart-oss-today","Start your Open Source journey today","Start your OSS journey with intro to GIT. Participate in Hacktoberfest!",[121,10],"2020-09-19","blog\u002Fstart-oss-today\u002Fstart-oss-today-card.webp",{"path":487,"title":488,"description":489,"categories":490,"year":492,"draft":21,"headerImage":493,"cardAlt":488},"\u002Fblog\u002Fsticky-social-bar","Sticky social share component in HTML","Learn how to build a social media sharing component in HTML and add it to your website.",[10,491],"Frontend","2021-02-05","blog\u002Fsticky-social-bar\u002Fsticky-social-bar-card.webp",{"path":495,"title":496,"description":497,"categories":498,"year":499,"draft":21,"headerImage":500,"cardAlt":496},"\u002Fblog\u002Fterm-insurance","Term insurance Simplified","Everything you need to know before you buy a term insurance.",[29,354],"2020-11-29","blog\u002Fterm-insurance\u002Fterm-insurance-card.webp",{"path":502,"title":503,"description":504,"categories":505,"year":507,"draft":21,"headerImage":508,"cardAlt":503},"\u002Fblog\u002Fterminal-output-with-redirection","Handling terminal outputs with Redirection","Learn how to handle terminal outputs with Redirection and saving it to files",[295,506,10],"Terminal","2020-09-06","blog\u002Fterminal-output-with-redirection\u002Fterminal-output-with-redirection-card.webp",{"path":510,"title":511,"description":512,"categories":513,"year":514,"draft":21,"headerImage":515,"cardAlt":511},"\u002Fblog\u002Fthink-and-grow-rich","Book Notes: Think and Grow Rich","My notes and highlights from Think and Grow Rich by Napoleon Hill, covering its process for building wealth.",[28,29],"2020-05-19","blog\u002Fthink-and-grow-rich\u002Fthink-and-grow-rich-card.webp",{"path":517,"title":518,"description":519,"categories":520,"year":521,"draft":21,"headerImage":522,"cardAlt":518},"\u002Fblog\u002Ftransactions-postgres-golang","Transactions on Postgres with Golang","Performing Postgres database operations in Golang with GORM, from basic queries to full transaction support.",[19,196,10],"2020-03-18","blog\u002Ftransactions-postgres-golang\u002Ftransactions-postgres-golang-card.webp",{"path":524,"title":525,"description":526,"categories":527,"year":528,"draft":21,"headerImage":529,"cardAlt":525},"\u002Fblog\u002Fwaitgroups-in-golang","WaitGroups in Golang","Learn about WaitGroups in golang and how to use them to perform concurrent operations without blocking the main thread.",[19,10],"2022-05-31","blog\u002Fwaitgroups-in-golang\u002Fwaitgroups-in-golang-card.webp",{"path":531,"title":532,"description":533,"categories":534,"year":536,"draft":21,"headerImage":537,"cardAlt":532},"\u002Fblog\u002Fwhat-i-use","What I Use: Products and Softwares","List of what I use in my day to day life ranging from terminal, editors, softwares, devices to accessories",[29,535],"Tech","2024-06-01","blog\u002Fwhat-i-use\u002Fwhat-i-use-card.webp",{"path":539,"title":540,"description":541,"categories":542,"year":543,"draft":21,"headerImage":544,"cardAlt":540},"\u002Fblog\u002Fyear-in-review-2020","Year in Review: 2020","It's a wrap! 2020 was a crazy year, See how my year went!",[29],"2020-12-31","blog\u002Fyear-in-review-2020\u002Fyear-in-review-2020-card.webp",{"path":546,"title":547,"description":548,"categories":549,"year":550,"draft":21,"headerImage":551,"cardAlt":547},"\u002Fblog\u002Fyear-in-review-2021","Year in Review: 2021","It's a wrap! 2021 was a mixed bag, full of ups and downs. Key Goal for 2022: Start now!",[29],"2021-12-31","blog\u002Fyear-in-review-2021\u002Fyear-in-review-2021-card.webp",1788073836031]