pamela fox's blog posts
Here are the posts I've written on my personal blog. You can also filter by these tags: python, javascript, azure, eatdifferent, coursera, openai, socialanxiety, css, developerexperience, anxiety, apis, teaching, bootstrap, buddhism, flask, phonegap, girldevelopit, motherhood, jquery, performance, devcontainer, django, github, vscode, zepto, accessibility, appengine, backbone, fastapi, google, khanacademy, php, rag, gmaps, pytest, workflow, apidesign, bicep, diy, gears, gwt, language, mcp, musicvideo, social.
- Filter the tools from MCP servers
 - How I learn about generative AI
 - GPT-5: Will it RAG?
 - Red-teaming a RAG app: gpt-4o-mini v. llama3.1 v. hermes3
 - Automated repo maintenance via GitHub Copilot coding agent
 - To MCP or not to MCP?
 - MCP: Bringing mashups back!
 - Getting a hysterectomy: My reasons and recovery
 - Proficient Python: A free interactive online course
 - Teaching Python with Codespaces
 - A visual introduction to vector embeddings
 - Using DefaultAzureCredential across multiple tenants
 - Use any Python AI agent framework with free GitHub Models
 - Building a streaming DeepSeek-R1 app on Azure
 - Evaluating gpt-4o-mini vs. gpt-3.5-turbo for RAG applications
 - Safety evaluations for LLM-powered apps
 - Observations: Using Python with DeepSeek-R1
 - Add browser speech input & output to your app
 - Running Azurite inside a Dev Container
 - Making a dev container with multiple data services
 - My first PyBay: Playing improv with Python
 - Entity extraction using OpenAI structured outputs mode
 - My parenting strategy: earn enough $ to outsource
 - Integrating vision into RAG applications
 - Making an Ollama-compatible RAG app
 - Playwright and Pytest parametrization for responsive E2E tests
 - Should you use Quart or FastAPI for an AI app?
 - pgvector for Python developers
 - Using SLMs in GitHub Codespaces
 - RAG on a database table with PostgreSQL
 - Doing RAG? Vector search is *not* enough
 - Truncating conversation history for OpenAI chat completions
 - Evaluating RAG chat apps: Can your app say "I don't know"?
 - RAG techniques: Function calling for more structured retrieval
 - RAG techniques: Cleaning user questions with an LLM
 - Converting HTML pages to PDFs with Playwright
 - Evaluating a RAG chat app: Approach, SDKs, and Tools
 - Developer relations & motherhood: Will they blend?
 - Using FastAPI for an OpenAI chat backend
 - Using llamafile for local dev for an OpenAI Python web app
 - Santa Tracker Tales: Nearly crashing Google's servers, Leaking Santa's data, and Angering an entire country
 - How to document a native California garden
 - My failed attempt at using a closet as an office
 - Strategies for managing dependencies for Python samples
 - Using SQLAlchemy 2.0 in Flask
 - Best practices for OpenAI Chat apps: Go Keyless
 - Best practices for OpenAI Chat apps: Streaming UI
 - Best practices for OpenAI Chat apps: Concurrency
 - Mocking async openai package calls with pytest
 - Fetching JSON over streaming HTTP
 - Accessibility snapshot testing for Python web apps (Part 2)
 - Automated accessibility audits for Python web apps (Part 1)
 - Tips for debugging Flask deployments to Azure App Service
 - Best practices for prompting GitHub Copilot in VS Code
 - Providing feedback on the VS Code Python experience
 - Streaming ChatGPT with server-sent events in Flask
 - A Dev Container for SQLAlchemy with SQLTools
 - Deploying to App Service free tier with Bicep
 - Deploying PostgreSQL servers with Bicep
 - Converting a Spreadsheet to JSON with Neptyne
 - Adding Microsoft Graph authentication as a Flask Blueprint
 - Deploying a containerized FastAPI app to Azure Container Apps
 - Rendering matplotlib charts in Flask
 - Fast-loading Python Dev Containers
 - Hosting Python Web Apps on Azure: A Price-Off
 - Testing APIFlask with schemathesis
 - Managing Python dependency versions for web projects
 - Loading multiple Python versions with Pyodide
 - Dis This: Disassemble Python code online
 - Writing a static maps API with FastAPI and Azure
 - Using Copilot with Python apps
 - Tips for writing Bicep files for Azure deployment
 - Tips for debugging Django deployments to Azure App Service
 - FastAPI on Azure Functions with Azure API Management
 - Running PostgreSQL in a Dev Container with Flask/Django
 - Deploying a Django app to Azure with the Azure Developer CLI
 - A template for new Python projects with Dev Container support
 - Happy Hacktoberfest!
 - Deploying a containerized Flask app to Azure Container Apps
 - Returning an image from an Azure Function App in Python
 - Preparing a Django app for deployment on Azure App Service
 - How I setup a Python project
 - CS content inclusivity guide
 - A browser-based runner for Faded Parsons Problems
 - My bed-sharing setup
 - Porting a project from spaces to tabs
 - Tips for planting milkweeds in the Bay area
 - Line highlighting extension for Code Mirror 6
 - Inactivity timer for Chrome extensions
 - Diversifying historical references in CS classes
 - How to audit CS61A
 - How accessibility helps a nursing mother
 - My experience as a Unit-18 Berkeley Lecturer
 - New online class: Python Crash Course on Co:rise
 - How and why I co-sleep with my baby
 - What is “creative” coding, anyway?
 - The harms of assuming cultural knowledge in coding assignments