41554 blogs · [ { "id": "01a0873e-f766-7125-bb8e-3be1093e309b", "title": "When a Coffee Lover Meets SerpApi", "url": "https://bhavaniravi.com/blog/indie-hacking/serpapi-goldmine-project-ideas/", "published_at": "2026-06-16T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1a859dd15", "title": "My First PyCon US", "url": "https://bhavaniravi.com/blog/community/my-first-pycon-us/", "published_at": "2026-06-11T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1a8da3eb6", "title": "On becoming a Yoga Teacher", "url": "https://bhavaniravi.com/blog/life/how-i-became-a-yoga-teacher/", "published_at": "2026-06-05T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1a8dc0be9", "title": "My Vipaasana Experience", "url": "https://bhavaniravi.com/blog/life/vipaasana-experience/", "published_at": "2026-03-27T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1a9db379a", "title": "Designing a Chatbot System in 2026", "url": "https://bhavaniravi.com/blog/GenAI/designing-chatbot-system-in-2026/", "published_at": "2026-02-04T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1aa7ea720", "title": "3 Projects, 3 different tech stacks, 1 month of Claude Code", "url": "https://bhavaniravi.com/blog/GenAI/3-projects-3-stacks-1-month-claude-code/", "published_at": "2026-02-01T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1aaef6859", "title": "20 Day Ugly Art Challenge - April 2025", "url": "https://bhavaniravi.com/blog/tiny-experiments/ugly-art-challenge-march-apr-2025/", "published_at": "2025-06-11T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1abcc8d01", "title": "No Screen Challenge - March 2025", "url": "https://bhavaniravi.com/blog/tiny-experiments/no-screen-challenge-march-2025/", "published_at": "2025-04-10T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1ac6a594a", "title": "No Coffee Challenge - March 2025", "url": "https://bhavaniravi.com/blog/tiny-experiments/no-coffee-challenge-march-2025/", "published_at": "2025-04-01T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1ad56350f", "title": "RAG WTH Is it?", "url": "https://bhavaniravi.com/blog/machine-learning/llm/rag/", "published_at": "2024-08-31T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1ae4a793a", "title": "Side Projects: FAQ", "url": "https://bhavaniravi.com/blog/indie-hacking/side-projects-twitter-space/", "published_at": "2024-08-30T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1aecde76f", "title": "JSONata 101", "url": "https://bhavaniravi.com/blog/software-engineering/JSONata-Guide/", "published_at": "2024-08-16T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1aed84117", "title": "DLTHub - The New ELT tool in the market", "url": "https://bhavaniravi.com/blog/data-engineering/dlthub-first-look/", "published_at": "2024-01-30T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1af9a9480", "title": "Python Decorators - A Deep Dive", "url": "https://bhavaniravi.com/blog/python/advanced-python/python-decorators-a-deep-dive/", "published_at": "2024-01-30T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b02a8de9", "title": "Add Auth Layer to Your FastAPIs", "url": "https://bhavaniravi.com/blog/python/fastapi/add-auth-layer-to-your-fastapis/", "published_at": "2024-01-05T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b069558e", "title": "The Pain Of Building a Centralized Error Handler in FastAPI", "url": "https://bhavaniravi.com/blog/python/fastapi/the-pain-of-building-a-centralized-error-handler-in-fastapi/", "published_at": "2023-09-06T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b1334d45", "title": "How to Build a Testing Library Like Pytest?", "url": "https://bhavaniravi.com/blog/python/how-to-build-a-testing-library-like-pytest/", "published_at": "2023-07-31T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b1506497", "title": "Pydantic Tips, Tricks and Comparison with Dataclasses and Attrs", "url": "https://bhavaniravi.com/blog/python/advanced-python/pydantic-tips-tricks/", "published_at": "2023-07-02T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b17a186d", "title": "Why Should We Care about Diversity in Tech?", "url": "https://bhavaniravi.com/blog/community/why-should-we-care-about-diversity-in-tech/", "published_at": "2023-06-12T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b1d2f4b3", "title": "Airbyte - First Look", "url": "https://bhavaniravi.com/blog/data-engineering/airbyte-first-look/", "published_at": "2023-05-24T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b2a54359", "title": "How to hunt down a bug or an Issue", "url": "https://bhavaniravi.com/blog/software-engineering/how-to-hunt-down-a-bug-or-an-issue/", "published_at": "2023-04-30T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b360dd57", "title": "Get started with Docker-Compose", "url": "https://bhavaniravi.com/blog/devops/get-started-with-docker-compose/", "published_at": "2023-04-01T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b41e5cec", "title": "Local K8 Cluster With Kind", "url": "https://bhavaniravi.com/blog/devops/local-k8-cluster-with-kind/", "published_at": "2023-03-16T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b50b246f", "title": "Python Position and Keyword Only Arguments", "url": "https://bhavaniravi.com/blog/python/advanced-python/python-position-and-keyword-only-arguments/", "published_at": "2023-03-16T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b6044c0c", "title": "La Vie En Rose", "url": "https://bhavaniravi.com/blog/life/la-vie-en-rose/", "published_at": "2023-03-04T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b60712a1", "title": "UML isn't Dead", "url": "https://bhavaniravi.com/blog/python/uml-isnt-dead/", "published_at": "2023-02-15T00:00:00+00:00" }, { "id": "01a0873e-f767-722c-807a-04c1b64e1461", "title": "Life Lessons After a Depressive Episode", "url": "https://bhavaniravi.com/blog/life/life-lessons-after-a-depressive-episode/", "published_at": "2023-02-14T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512868e0eb6", "title": "Docker CLI Cheatsheet", "url": "https://bhavaniravi.com/blog/devops/docker-cli-cheatsheet/", "published_at": "2023-01-11T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128782b5da", "title": "Are you constantly Distracted? It's not You.", "url": "https://bhavaniravi.com/blog/life/are-you-constantly-distracted-its-not-you/", "published_at": "2022-12-12T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51288552a8f", "title": "\"Just Dump your Thoughts\" is bad advice", "url": "https://bhavaniravi.com/blog/technical-writing/just-dump-your-thoughts-is-bad-advice/", "published_at": "2022-12-12T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51289323740", "title": "How to Copy/Move S3 Files With Apache Airflow", "url": "https://bhavaniravi.com/blog/apache-airflow/how-to-copy-move-s3-files-with-apache-airflow/", "published_at": "2022-11-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512899ebbcd", "title": "Migrating to Flask-SQLAlchemy 3.0", "url": "https://bhavaniravi.com/blog/python/flask/migrating-to-flask-sqlalchemy-3.0", "published_at": "2022-11-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128a416fa2", "title": "AWS IAM Users, Roles, and Policies", "url": "https://bhavaniravi.com/blog/devops/iam-users-roles-and-policies/", "published_at": "2022-11-27T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128a9d43be", "title": "What is __name__ == \"__main__\" in Python?", "url": "https://bhavaniravi.com/blog/python/what-is-__name__-__main__-in-python/", "published_at": "2022-11-16T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128b96cace", "title": "Python Generators vs Iterators", "url": "https://bhavaniravi.com/blog/python/advanced-python/python-generators-vs-iterators/", "published_at": "2022-11-16T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128c08dc89", "title": "Building OwnFlask - A Flask(like) Python Framework", "url": "https://bhavaniravi.com/blog/python/flask/building-ownflask-a-flask-like-python-framework/", "published_at": "2022-11-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128c375002", "title": "Setting Up Apache Airflow For Local Development in Mac M1", "url": "https://bhavaniravi.com/blog/apache-airflow/setting-up-apache-airflow-for-local-development-in-mac-m1/", "published_at": "2022-10-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128d2ed3fa", "title": "Data & Model Versioning", "url": "https://bhavaniravi.com/blog/devops/data-and-model-versioning/", "published_at": "2022-10-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128d47b688", "title": "How to Fast-track Your Learning?", "url": "https://bhavaniravi.com/blog/life/how-to-fast-track-your-learning/", "published_at": "2022-10-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128da22568", "title": "How to Design a Chatbot System Architecture", "url": "https://bhavaniravi.com/blog/software-engineering/how-to-design-a-chatbot-system-architecture/", "published_at": "2022-10-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128da9f384", "title": "Welcome to my Digital Garden", "url": "https://bhavaniravi.com/blog/start-here/how-i-built-my-digital-garden/", "published_at": "2022-10-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128e9d6d81", "title": "ORM in Python Flask", "url": "https://bhavaniravi.com/blog/python/flask/orm-in-python-flask/", "published_at": "2022-10-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128f073a28", "title": "Why I Started Building 100Ideas?", "url": "https://bhavaniravi.com/blog/indie-hacking/why-i-started-building-100ideas/", "published_at": "2022-10-26T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5128fc49683", "title": "Is this Burnout?", "url": "https://bhavaniravi.com/blog/life/is-this-burnout/", "published_at": "2022-10-20T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51290024c1d", "title": "How to Plan and Build a Programming Project", "url": "https://bhavaniravi.com/blog/indie-hacking/how-to-plan-and-build-a-programming-project/", "published_at": "2022-10-07T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512903982dd", "title": "How do you do so many things at the same time?", "url": "https://bhavaniravi.com/blog/life/how-do-you-do-so-many-things-at-the-same-time/", "published_at": "2022-09-28T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512909bddf0", "title": "Atomic Habits Book Summary", "url": "https://bhavaniravi.com/blog/book-notes/atomic-habits-book-summary/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129159f398", "title": "David and Goliath Book Summary", "url": "https://bhavaniravi.com/blog/book-notes/david-and-Goliath-book-summary/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129212e703", "title": "7 Habits of Highly Effective People - Book Summary", "url": "https://bhavaniravi.com/blog/book-notes/seven-habits-book-summary/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512925012cc", "title": "The Beauty of Your Brain", "url": "https://bhavaniravi.com/blog/book-notes/the-beauty-of-your-brain/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512928af427", "title": "Are you an Ideal Team Player?", "url": "https://bhavaniravi.com/blog/book-notes/the-ideal-team-player-book-review/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51292d7d8a5", "title": "Airflow Operators - A Comparison", "url": "https://bhavaniravi.com/blog/apache-airflow/airflow-operators-comparison/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51293299824", "title": "An Introduction to Apache Airflow", "url": "https://bhavaniravi.com/blog/apache-airflow/apache-airflow-introduction/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51293f1dcf8", "title": "How to Send Email Alerts from Airflow?", "url": "https://bhavaniravi.com/blog/apache-airflow/sending-emails-from-airflow/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129402e300", "title": "A World Where WomenInTech Rules", "url": "https://bhavaniravi.com/blog/community/a-world-where-women-in-tech-rules/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51294242dca", "title": "A Go to Guide to Run a Community", "url": "https://bhavaniravi.com/blog/community/go-to-guide-to-run-communities/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51294b78da9", "title": "Why Should you Attend Tech Conferences?", "url": "https://bhavaniravi.com/blog/community/why-should-you-attend-tech-conferences/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51294b83d90", "title": "Introduction to Docker - The What, Why and How", "url": "https://bhavaniravi.com/blog/devops/docker-introduction/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51294b97fe7", "title": "Docker - Virtualization vs Containerization", "url": "https://bhavaniravi.com/blog/devops/docker-virtualization-vs-containerization/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51294ddb1bd", "title": "Deploying Flask Applications in Kubernetes (Digitalocean)", "url": "https://bhavaniravi.com/blog/devops/kubernetes-101-deploy-apps-in-kubernetes/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512952d85aa", "title": "What Happens During Docker Build and Run?", "url": "https://bhavaniravi.com/blog/devops/what-happens-during-docker-build-and-run/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51295ccfd3b", "title": "How I Wrote my 1st 100 Lines of Golang Code", "url": "https://bhavaniravi.com/blog/golang/learning-golang/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512961bdd29", "title": "How to be (more) Productive?", "url": "https://bhavaniravi.com/blog/life/how-to-be-productive/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51296ec5e0d", "title": "End Goal - How to set goals and track them?", "url": "https://bhavaniravi.com/blog/life/how-to-set-goals/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51297106a51", "title": "Shopping Like a Stingy-Minimalist", "url": "https://bhavaniravi.com/blog/life/shopping-like-a-minimalist/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129730994b", "title": "The Magic of Responsibility — A Story", "url": "https://bhavaniravi.com/blog/life/the-magic-of-responsibility/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512975fcceb", "title": "All About Authentication Systems", "url": "https://bhavaniravi.com/blog/software-engineering/authentication-in-python/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51297d2ad28", "title": "Backend Engineer - Behind the Scenes", "url": "https://bhavaniravi.com/blog/software-engineering/backend-engineer-behind-the-scenes/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e51298040798", "title": "How to Connect to Custom Oauth2 Provider Using Auth0?", "url": "https://bhavaniravi.com/blog/software-engineering/custom-oauth2-with-auth0/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512987e4107", "title": "Asynchronous Task Execution In Python", "url": "https://bhavaniravi.com/blog/python/asynchronous-task-execution-in-python/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512996e1e28", "title": "Building OwnFlask - A Flask(like) Python Framework", "url": "https://bhavaniravi.com/blog/python/building-own-flask-1/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129a0bcf5e", "title": "Caching in Python", "url": "https://bhavaniravi.com/blog/python/caching-in-python/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129af36ea8", "title": "How to Generate UML Diagrams from Python Source Code?", "url": "https://bhavaniravi.com/blog/python/generate-uml-diagrams-from-python-code/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129af8076a", "title": "Merging Python Modules", "url": "https://bhavaniravi.com/blog/python/merge-python-module-script/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129b7772f4", "title": "Are your Secrets Safe In Python?", "url": "https://bhavaniravi.com/blog/python/secrets-as-python-file/", "published_at": "2022-09-19T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129c366965", "title": "Challenges In Full-Text-Search Systems", "url": "https://bhavaniravi.com/blog/software-engineering/challenges-in-full-text-search/", "published_at": "2022-09-14T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129c499cd7", "title": "Project GoodVibes - A low-Key Gratitude Journaling", "url": "https://bhavaniravi.com/blog/life/why-we-need-a-low-key-version-of-gratitude-journaling/", "published_at": "2022-09-12T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129ce416a6", "title": "Show Your Work", "url": "https://bhavaniravi.com/blog/book-notes/show-your-work/", "published_at": "2022-09-03T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129d3a226b", "title": "Bound vs Unbound Functions In Python", "url": "https://bhavaniravi.com/blog/python/advanced-python/bound-vs-unbound-functions-in-python/", "published_at": "2022-08-15T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129d6641be", "title": "Itertools Hacks", "url": "https://bhavaniravi.com/blog/python/advanced-python/itertools-hacks/", "published_at": "2022-08-15T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129e4aa3e8", "title": "Unbound Variables in Python", "url": "https://bhavaniravi.com/blog/python/advanced-python/unbound-variables-in-python/", "published_at": "2022-08-15T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129ea7ce88", "title": "JWT Bases Authentication In Python + Flask", "url": "https://bhavaniravi.com/blog/python/web/flask/jwt-bases-authentication-in-python-+-flask/", "published_at": "2022-08-15T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129eb8c341", "title": "Can Next Scheduled Run Automatically Re-Run failed Task?", "url": "https://bhavaniravi.com/blog/apache-airflow/can-next-scheduled-run-automatically-re-run-failed-task/", "published_at": "2022-08-13T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129f76fabd", "title": "Sending Email Alerts in Apache Airflow with Sendgrid", "url": "https://bhavaniravi.com/blog/apache-airflow/emails-alerts-airflow-with-sendgrid/", "published_at": "2022-08-13T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129f8fe7b3", "title": "Dynamic Task Mapping", "url": "https://bhavaniravi.com/blog/apache-airflow/dynamic-task-mapping/", "published_at": "2022-08-13T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129fa68799", "title": "Sending Email Alerts in Apache Airflow with Sendgrid", "url": "https://bhavaniravi.com/blog/apache-airflow/sending-email-alerts-in-apache-airflow-with-sendgrid/", "published_at": "2022-08-13T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e5129ffe4f27", "title": "Types of Databases & When to Use them", "url": "https://bhavaniravi.com/blog/software-engineering/database-101/", "published_at": "2022-08-13T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a0e72d5b", "title": "Open-Closed Principle", "url": "https://bhavaniravi.com/blog/software-engineering/open-closed-principle/", "published_at": "2022-08-13T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a16feb36", "title": "Apache Airflow + MongoDB", "url": "https://bhavaniravi.com/blog/apache-airflow/apache-airflow-+-mongodb/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a1f04b90", "title": "KubernetesPodOperator vs. KubernetesExecutor", "url": "https://bhavaniravi.com/blog/apache-airflow/kubernetespodoperator-vs.-kubernetesexecutor", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a2323a8e", "title": "How to Make Your 1st OpenSource Contribution", "url": "https://bhavaniravi.com/blog/open-source/how-to-make-your-1st-opensource-contributionx/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a3277eca", "title": "How to Do Code Reviews?", "url": "https://bhavaniravi.com/blog/software-engineering/how-to-do-code-reviews/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a41e1b7b", "title": "What are the Best Resources to Learn Python in 2023(or any year)?", "url": "https://bhavaniravi.com/blog/python/what-are-the-best-resources-to-learn-python/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a4fcea86", "title": "Hi 👋🏻, I am Bhavani Ravi", "url": "https://bhavaniravi.com/blog/start-here/about-me/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a56947eb", "title": "How to Start a Technical Blog?", "url": "https://bhavaniravi.com/blog/technical-writing/how-to-start-a-technical-blog/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a58fd6eb", "title": "Why I Don't Recommend Medium as Your Blogging Site", "url": "https://bhavaniravi.com/blog/technical-writing/why-i-dont-recommend-medium-as-your-blogging-site/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a6209969", "title": "GIL", "url": "https://bhavaniravi.com/blog/python/advanced-python/gil/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a632b1ef", "title": "Data Model in Python", "url": "https://bhavaniravi.com/blog/python/advanced-python/data-model-in-python/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a71b028f", "title": "Multi-Processing Vs Multi-Threading", "url": "https://bhavaniravi.com/blog/python/advanced-python/multi-processing-vs-multi-threading/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a0873e-f768-73b4-ae32-e512a77bfbb2", "title": "Python Namespaces & Variable Scope", "url": "https://bhavaniravi.com/blog/python/advanced-python/python-namespaces/", "published_at": "2022-08-04T00:00:00+00:00" } ] posts Claim your blog
Back to bhavaniravi.com
Blog · corpus.blog/blogs/bhavaniravi.com/posts

bhavaniravi.com

bhavaniravi.com

2026

2025

2024

2023

2022

4 Aug 2022