41554 blogs · [ { "id": "01a0d865-e12a-7304-b371-abbaad853f52", "title": "Inside SeaHack: 24 Hours to Build an AI Startup", "url": "https://www.freecodecamp.org/news/inside-seahack-24-hours-to-build-an-ai-startup/", "published_at": "2026-09-24T18:53:36+00:00" }, { "id": "01a0d865-e12a-7304-b371-abbaae71950c", "title": "How Executable Operational Specifications Can Make Software Automation Verifiable", "url": "https://www.freecodecamp.org/news/executable-operational-specifications-software-automation/", "published_at": "2026-09-24T16:08:52+00:00" }, { "id": "01a0d865-e12a-7304-b371-abbaaf6b0889", "title": "TimescaleDB Course – PostgreSQL for Time-Series Data", "url": "https://www.freecodecamp.org/news/timescaledb-course-postgresql-for-time-series-data/", "published_at": "2026-09-24T02:04:53+00:00" }, { "id": "01a0d865-e12a-7304-b371-abbaaf729d87", "title": "Unlock the Power of AI Agents with the New Claude Certified Developer Foundations Course", "url": "https://www.freecodecamp.org/news/unlock-the-power-of-ai-agents-with-the-new-claude-certified-developer-foundations-course/", "published_at": "2026-09-24T01:57:44+00:00" }, { "id": "01a0d865-e12a-7304-b371-abbaafa5f1e3", "title": "How to Build a Dart Package Analytics Tool with the pub.dev API: Beyond the 30-Day Window", "url": "https://www.freecodecamp.org/news/build-a-dart-package-analytics-tool-with-the-pub-dev-api/", "published_at": "2026-09-23T21:01:32+00:00" }, { "id": "01a0d865-e12a-7304-b371-abbab08f0baf", "title": "How to Port a Jekyll Blog Theme to Python: Lessons From Actually Doing It", "url": "https://www.freecodecamp.org/news/how-to-build-a-reading-focused-blog-with-python-markdown-and-github-pages-for-free/", "published_at": "2026-09-21T20:57:10+00:00" }, { "id": "01a0c50d-cb97-7125-92c8-1a53d10df972", "title": "Why You Should Never Embed Your Gemini API Key in Client Code (And How Firebase AI Logic Fixes It)", "url": "https://www.freecodecamp.org/news/why-you-should-never-embed-your-gemini-api-key-in-client-code-and-how-firebase-ai-logic-fixes-it/", "published_at": "2026-09-21T11:58:11+00:00" }, { "id": "01a0c50d-cb97-7125-92c8-1a53d1c29c0a", "title": "How to Build a GraphRAG System with Python, Neo4j and ServiceNow [Full Book]", "url": "https://www.freecodecamp.org/news/how-to-build-a-graphrag-system-with-python-neo4j-and-servicenow/", "published_at": "2026-09-19T17:30:12+00:00" }, { "id": "01a0c50d-cb97-7125-92c8-1a53d28a677d", "title": "How to Detect Hidden Target Leakage in Public Datasets with Python and a Dependency Graph", "url": "https://www.freecodecamp.org/news/how-to-detect-hidden-target-leakage-in-public-datasets-with-python-and-a-dependency-graph/", "published_at": "2026-09-19T17:27:39+00:00" }, { "id": "01a0c50d-cb97-7125-92c8-1a53d36d8013", "title": "The iOS NFC Handbook: How to Read, Write and Lock NFC Tags with React Native", "url": "https://www.freecodecamp.org/news/the-ios-nfc-handbook-how-to-read-write-and-lock-nfc-tags-with-react-native/", "published_at": "2026-09-19T17:15:45+00:00" }, { "id": "01a0c50d-cb97-7125-92c8-1a53d3f0e5c7", "title": "How to Turn a RECIST Line into a 3D Tumor Segmentation Mask", "url": "https://www.freecodecamp.org/news/how-to-turn-a-recist-line-into-a-3d-tumor-segmentation-mask/", "published_at": "2026-09-18T21:32:56+00:00" }, { "id": "01a0c50d-cb97-7125-92c8-1a53d4c851aa", "title": "How AI Coding Assistants Can Help You Debug Without Writing the Code for You", "url": "https://www.freecodecamp.org/news/how-ai-coding-assistants-can-help-you-debug-without-writing-the-code-for-you/", "published_at": "2026-09-18T21:31:44+00:00" }, { "id": "01a0b654-fc36-7221-887a-c8ab2b9eb84e", "title": "How to Prevent Poisoned GitHub Actions Dependencies", "url": "https://www.freecodecamp.org/news/how-to-prevent-poisoned-github-actions-dependencies/", "published_at": "2026-09-18T16:03:13+00:00" }, { "id": "01a0b654-fc37-73cb-bee8-681ffc7f8a50", "title": "How to Build a Bulk Image Compressor Tool with HTML, CSS, and JavaScript", "url": "https://www.freecodecamp.org/news/how-to-build-a-bulk-image-compressor-tool-with-html-css-and-javascript/", "published_at": "2026-09-18T15:47:01+00:00" }, { "id": "01a0b654-fc37-73cb-bee8-681ffca43788", "title": "How to Migrate a Legacy Monolith Incrementally Without a Big-Bang Rewrite", "url": "https://www.freecodecamp.org/news/migrate-legacy-monolith-incrementally/", "published_at": "2026-09-17T23:27:03+00:00" }, { "id": "01a0b654-fc37-73cb-bee8-681ffd304c7b", "title": "Hands-On Evolution of Deep Learning – Geoffrey Hinton’s AI Legacy", "url": "https://www.freecodecamp.org/news/hands-on-evolution-of-deep-learning-geoffrey-hinton-s-ai-legacy/", "published_at": "2026-09-17T18:00:11+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1b4617b1", "title": "Learn How to Deploy, Secure, and Automate Full-Stack Web Apps", "url": "https://www.freecodecamp.org/news/learn-how-to-deploy-secure-and-automate-full-stack-web-apps/", "published_at": "2026-09-16T15:28:18+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1b766241", "title": "How to Write a Linux Kernel Module That Actually Builds", "url": "https://www.freecodecamp.org/news/how-to-write-a-linux-kernel-module-that-actually-builds/", "published_at": "2026-09-15T21:10:57+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1be4f83b", "title": "The 7 Essential Parts of Your Online Presence", "url": "https://www.freecodecamp.org/news/the-7-essential-parts-of-your-online-presence/", "published_at": "2026-09-15T21:07:31+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1ca048e1", "title": "How to Build an Endpoint Data Loss Prevention Strategy for Your Development Team", "url": "https://www.freecodecamp.org/news/build-an-endpoint-data-loss-prevention-strategy-for-your-dev-team/", "published_at": "2026-09-15T21:03:09+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1cae9b45", "title": "What's New in macOS 27 for Developers?", "url": "https://www.freecodecamp.org/news/whats-new-in-macos-27-for-developers/", "published_at": "2026-09-15T21:01:18+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1d3c75c7", "title": "How WebRTC Scales: Signaling, NAT Traversal, and the Mesh/SFU/MCU Tradeoff", "url": "https://www.freecodecamp.org/news/how-webrtc-scales-signaling-nat-traversal-and-the-mesh-sfu-mcu-tradeoff/", "published_at": "2026-09-15T15:57:39+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1dc958fc", "title": "How to Catch Security Vulnerabilities in Code Before They Reach Your Pull Requests", "url": "https://www.freecodecamp.org/news/catch-security-vulnerabilities-code-pull-requests/", "published_at": "2026-09-14T22:23:01+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1e980b3a", "title": "How to Use Differential Testing During a Legacy Migration", "url": "https://www.freecodecamp.org/news/differential-testing-legacy-migration/", "published_at": "2026-09-14T16:25:50+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f1f7327b3", "title": "How to Implement Feature Flags for Safe and Gradual Rollouts", "url": "https://www.freecodecamp.org/news/how-to-implement-feature-flags-for-safe-and-gradual-rollouts/", "published_at": "2026-09-14T14:58:55+00:00" }, { "id": "01a0b0d0-c751-71b6-b072-bf7f206aab15", "title": "How to Design Gifting Features People Actually Use: Evidence from 58 Apps", "url": "https://www.freecodecamp.org/news/how-to-design-gifting-features-people-actually-use-evidence-from-58-apps/", "published_at": "2026-09-14T13:58:38+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c2886437", "title": "How to Connect to HMRC's Making Tax Digital API: A Beginner's Guide", "url": "https://www.freecodecamp.org/news/how-to-connect-to-hmrc-making-tax-digital-api/", "published_at": "2026-09-11T22:10:33+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c31f2cd8", "title": "How to Prevent Race Conditions in Django", "url": "https://www.freecodecamp.org/news/how-to-prevent-race-conditions-in-django/", "published_at": "2026-09-11T21:50:46+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c34af2c1", "title": "Apple Watch’s New VO2 Max Test: How It Measures Your Cardiorespiratory Fitness", "url": "https://www.freecodecamp.org/news/apple-watch-vo2-max-test-cardiorespiratory-fitness/", "published_at": "2026-09-11T21:46:51+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c3cc9186", "title": "How to Sandbox a Linux Process with Landlock, No Root Required", "url": "https://www.freecodecamp.org/news/how-to-sandbox-a-linux-process-with-landlock-no-root-required/", "published_at": "2026-09-11T21:42:27+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c469d6fb", "title": "How to Build an AI Chat App Interface With the Vercel AI SDK and Shadcn/ui", "url": "https://www.freecodecamp.org/news/how-to-build-an-ai-chat-app-interface-with-the-ai-sdk/", "published_at": "2026-09-11T16:21:29+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c568cde1", "title": "How to Build a Self-Evaluating AI System: Automated Testing and Evaluation Pipelines for LLM Applications", "url": "https://www.freecodecamp.org/news/build-a-self-evaluating-ai-system-automated-testing-and-evaluation-pipelines-for-llm-apps/", "published_at": "2026-09-11T15:24:04+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c5897b06", "title": "How AI Is Changing Malware Detection: From Traditional Antivirus to Next-Gen Protection", "url": "https://www.freecodecamp.org/news/how-ai-is-changing-malware-detection/", "published_at": "2026-09-11T15:22:46+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c648c872", "title": "Apple Watch Can Now Estimate Your Health Age, But What's It Actually Measuring? ", "url": "https://www.freecodecamp.org/news/apple-watch-health-age-whats-it-actually-measuring/", "published_at": "2026-09-11T15:15:57+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c66add91", "title": "How to Implement LEGO Architecture in Flutter [Full Handbook]", "url": "https://www.freecodecamp.org/news/how-to-implement-lego-architecture-in-flutter-handbook/", "published_at": "2026-09-11T15:08:19+00:00" }, { "id": "01a094fc-e8ce-7096-a3b7-a515c6dd4efb", "title": "What Is an Agent Harness? The Architecture Behind Claude Code, DeepSeek Harness, and Hermes Agent", "url": "https://www.freecodecamp.org/news/what-is-an-agent-harness/", "published_at": "2026-09-11T15:07:18+00:00" }, { "id": "01a08ca0-f8ef-728e-95a6-bbb9439cad32", "title": "How to Use Lovable Responsibly", "url": "https://www.freecodecamp.org/news/how-to-use-lovable-responsibly/", "published_at": "2026-09-10T16:08:33+00:00" }, { "id": "01a08ca0-f8ef-728e-95a6-bbb9446d57c9", "title": "OpenAI Codex Crash Course", "url": "https://www.freecodecamp.org/news/openai-codex-crash-course/", "published_at": "2026-09-10T15:10:19+00:00" }, { "id": "01a08ca0-f8ef-728e-95a6-bbb94492c7af", "title": "How Linux Actually Boots: From Firmware to the Login Screen", "url": "https://www.freecodecamp.org/news/how-linux-actually-boots-from-firmware-to-the-login-screen/", "published_at": "2026-09-09T23:30:03+00:00" }, { "id": "01a08ca0-f8ef-728e-95a6-bbb944f620f2", "title": "What a Machine Learning Model is and How to Make One", "url": "https://www.freecodecamp.org/news/what-a-machine-learning-model-is-and-how-to-make-one/", "published_at": "2026-09-09T19:46:10+00:00" }, { "id": "01a08ca0-f8ef-728e-95a6-bbb945acc71e", "title": "How to Build a Deployment Checklist That Actually Prevents Production Incidents", "url": "https://www.freecodecamp.org/news/how-to-build-a-deployment-checklist-that-actually-prevents-production-incidents/", "published_at": "2026-09-09T18:39:41+00:00" }, { "id": "01a08ca0-f8ef-728e-95a6-bbb945e2db23", "title": "The Composite Design Pattern: How to Work with Individual Objects and Groups Through the Same Interface", "url": "https://www.freecodecamp.org/news/the-composite-design-pattern-work-with-individual-objects-and-groups-through-the-same-interface/", "published_at": "2026-09-09T18:10:26+00:00" }, { "id": "01a08ca0-f8ef-728e-95a6-bbb946385937", "title": "How to Use Gradio with Python: A Complete Beginner-to-Advanced Book", "url": "https://www.freecodecamp.org/news/how-to-use-gradio-with-python-beginner-to-advanced-book/", "published_at": "2026-09-09T18:09:51+00:00" }, { "id": "01a08779-e771-70dc-a3be-01b2ed7ea2d3", "title": "Learn Python Interactively", "url": "https://www.freecodecamp.org/news/learn-python-interactively/", "published_at": "2026-09-09T13:56:17+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b0fecb05", "title": "The Gamepad API Lies to You: A Practical Guide to Reading Controller Input in JavaScript", "url": "https://www.freecodecamp.org/news/gamepad-api-javascript-guide/", "published_at": "2026-09-07T22:39:45+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b18f86fd", "title": "How to Build an AI Chatbot with Gemini and Vercel Serverless Functions 🚀", "url": "https://www.freecodecamp.org/news/how-to-build-an-ai-chatbot-with-gemini-and-vercel-serverless-functions/", "published_at": "2026-09-07T22:35:39+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b1a70100", "title": "How a System Call Actually Works in Linux", "url": "https://www.freecodecamp.org/news/how-a-system-call-actually-works-in-linux/", "published_at": "2026-09-07T22:07:56+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b23618b2", "title": "How to Refactor a Legacy Application Before Migrating It", "url": "https://www.freecodecamp.org/news/refactor-legacy-application-before-migration/", "published_at": "2026-09-07T22:04:51+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b32f5e4c", "title": "The Design Patterns Handbook: Learn Popular Design Patterns with C# Code Examples", "url": "https://www.freecodecamp.org/news/the-design-patterns-handbook-learn-popular-design-patterns-with-c-code-examples/", "published_at": "2026-09-07T16:55:04+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b40d2f31", "title": "AWS Cloud Cost Monitoring, Alerting, and Optimization: A Guide for Devs", "url": "https://www.freecodecamp.org/news/aws-cloud-cost-monitoring-alerting-and-optimization-a-guide-for-devs/", "published_at": "2026-09-07T16:41:30+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b4594eca", "title": "How to Build a Scholarship Research MCP Server with Node.js, Express, and MongoDB", "url": "https://www.freecodecamp.org/news/how-to-build-a-scholarship-research-mcp-server-with-node-js-express-and-mongodb/", "published_at": "2026-09-04T20:44:35+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b474de32", "title": "How AI Receptionists Work: The Architecture Behind AI Phone Agents", "url": "https://www.freecodecamp.org/news/how-ai-receptionists-work-the-architecture-behind-ai-phone-agents/", "published_at": "2026-09-04T20:07:46+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b49d1866", "title": "How to Use Discord with a Screen Reader: A Quick Guide", "url": "https://www.freecodecamp.org/news/using-discord-with-a-screen-reader/", "published_at": "2026-09-04T16:25:38+00:00" }, { "id": "01a08216-a8d5-70fd-ae57-6c78b4c6effd", "title": "How AI Is Changing Patching and What Devs Need to Know About Exposure Management", "url": "https://www.freecodecamp.org/news/how-ai-is-breaking-traditional-patch-management/", "published_at": "2026-09-04T16:19:46+00:00" }, { "id": "01a0e2c2-7fdb-7165-9491-ac465b94de77", "title": "freeCodeCamp", "url": "https://www.freecodecamp.org/", "published_at": "2025-08-03T09:06:13+00:00" }, { "id": "01a08765-3895-7021-9fef-37822e5e1d63", "title": "How to Create Zig-Zag CSS Loaders Using One Element", "url": "https://www.freecodecamp.org/news/zig-zag-css-loaders/", "published_at": "2024-11-20T00:00:00+00:00" }, { "id": "01a08765-3895-7021-9fef-37822f66f1ef", "title": "How to Create Filling CSS Loaders Using One Element", "url": "https://www.freecodecamp.org/news/filling-css-loaders/", "published_at": "2024-10-23T00:00:00+00:00" }, { "id": "01a08765-3895-7021-9fef-37822f92b98d", "title": "How to Create Curved-Edge and Rounded-Edge Shapes Using CSS", "url": "https://www.freecodecamp.org/news/rounded-and-curved-edge-css-shapes/", "published_at": "2024-10-14T00:00:00+00:00" }, { "id": "01a08765-3896-7048-8206-f381465765ab", "title": "Learn CSS radial-gradient by Building Background Patterns", "url": "https://www.freecodecamp.org/news/css-radial-gradient/", "published_at": "2022-04-19T00:00:00+00:00" }, { "id": "01a08765-3896-7048-8206-f381483963a7", "title": "How to Create a Section Divider Using CSS", "url": "https://www.freecodecamp.org/news/section-divider-using-css/", "published_at": "2022-02-25T00:00:00+00:00" }, { "id": "01a08765-3896-7048-8206-f381492663a8", "title": "How to Create a CSS-Only Ribbon for Your Website", "url": "https://www.freecodecamp.org/news/make-a-css-only-ribbon/", "published_at": "2022-02-08T00:00:00+00:00" }, { "id": "01a08765-3896-7048-8206-f3814a61df6b", "title": "How to Create a CSS-Only Loader Using One Element", "url": "https://www.freecodecamp.org/news/how-to-create-a-css-only-loader/", "published_at": "2022-01-14T00:00:00+00:00" }, { "id": "01a08765-3896-7048-8206-f3814a8e78fc", "title": "How to Create a Pie Chart Using Only CSS", "url": "https://www.freecodecamp.org/news/css-only-pie-chart/", "published_at": "2022-01-06T00:00:00+00:00" }, { "id": "01a08765-3896-7048-8206-f3814ab3eb61", "title": "How to Make an Animated Back to Top Button Using Only CSS", "url": "https://www.freecodecamp.org/news/css-only-back-to-top-button/", "published_at": "2022-01-03T00:00:00+00:00" } ] posts Claim your blog
Back to freeCodeCamp
Blog · corpus.blog/blogs/freecodecamp.org/posts

freeCodeCamp

freecodecamp.org

2026

2025

2024

2022