pamela fox's blog posts
Here are the posts I've written on my personal blog. You can also filter by these tags: khanacademy, eatdifferent, musicvideo, developerexperience, phonegap, gwt, github, django, php, bootstrap, apidesign, bicep, motherhood, diy, anxiety, flask, backbone, social, girldevelopit, gmaps, css, language, workflow, pytest, apis, performance, zepto, teaching, socialanxiety, buddhism, devcontainer, appengine, coursera, gears, python, accessibility, google, vscode, javascript, jquery, azure, fastapi.
- 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
- My spring in a high school CS classroom
- DateNight: An Activity Book for Couples
- Company Crafty Hour: Why & How
- Dear Universe: A Mealtime Blessing
- Sleep strategies for a racing mind
- Beware the Near Enemies (In Life & Tech)
- Oops, I forgot to have kids
- Coding: A Hobby for the Waste-Adverse
- My Morning Practice
- What is the difference between ambition and discontent?
- I stopped listening to music
- Avoiding concept overload on the BART
- Drying out my thought loops
- Learning the Ursonate: the mind-clearing benefits of non-conceptual sound poetry
- My Nightly Gratitude Journal
- Operation Calm the Mind Down
- Project IceBreak: Let’s make networking easier
- Learning new skills in SF
- My "touchy-feely" takeaways
- Voice coaching: What I learned
- What I learned from Burning Man
- Will I speak at your conference?
- I don't always have to be The Entertainer
- Why am I so afraid of mingling?
- Towards more "Yes, and"s and less "but"s
- Simplifying the Terms of Service
- The Long Lunch Table
- Improving front page performance: removing images, 5 ways
- Networking at events: It should be easy, not scary
- Digital Learning Apps in Guatemala
- 1 Day in Antigua, Guatemala: Where to Go, What to Eat
- Shyness Hacks for Conferences
- On the Arbitrariness of Swear Words
- JSConf 2013: My Favorite Talks
- Technical Interviews Make Me Cry
- Communication at Khan Academy: Open By Default
- Why Do I Speak at Conferences?
- My Next Adventure: Khan Academy CS
- JavaScript UI Library Design
- The JavaScript Rap
- My Year at Coursera
- Rewriting Django Admin in Backbone
- A Guide to Writing Backbone Apps at Coursera
- What to look for in a software engineering culture
- Which JavaScript Library Should I Pick?
- Testing Backbone Frontends
- Increasing Diverse Engineers in the Workplace: A Call for Studies and Stories
- Our Backbone Stack
- Referencing DOM from JS: there must be a DRYer, safer way
- Exporting a Google Spreadsheet as JSON
- Improving Backbone App Performance
- Google I/O Talk: Online Learning Made Social
- Managing history in Backbone widgets with jQuery BBQ
- Server-side HTML vs. JS Widgets vs. Single-Page Web Apps
- Attracting women to developer events
- Making newbie-friendly developer events
- Outputting iCal with PHP
- Source "Snapshots"
- Rewriting our Forums with Backbone
- Keeping a Product Alive: On-Call & Maintenance
- I'm Bad At Recruiting
- Why I Hate Vanity Tweets
- 5 days in SoCal: Catalina Island, Joshua Tree, and LA
- Co-Learning Spaces
- Checking for Technical Requirements in a Sign-up Process
- Why isn't our warning banner based on feature detection?
- Warning Users on Older Browsers
- My Lasik Journey
- GirlDevelopIt SF: Help us grow in 2013!
- GirlDevelopIt SF: Thanks for a great 2012!
- Xtreme Makeover: Legacy Codebase Edition
- Getting Kids into Programming
- My End of Year Donations
- A Tale of Two Bootstraps: Lessons Learned in Maintainable CSS
- Unit Testing our PHP Templates with Selector
- Proving Your Worth as a Self-Taught Developer
- RemixSouth: My Talk and My Favs
- Using Transloadit with Bootstrap
- Creating our Coursera Starter Culture
- Teaching Web Development in Africa
- Donating to Reduce the Birth Rate
- Using the Maps API Autocomplete for User Profile Location
- Geo-Targeted House Ads
- Porting to the Paid Google Translate API v2
- My Next Step: Coursera and The World of Online Education
- A Year of Hermit Hacking
- Alternatives for After-Parties at Conferences
- Client-Side Storage Article Series
- Using Grunt.js with CSS
- The Best Online Editors for Teaching HTML/CSS/JS
- Triggering Numeric Keyboards with HTML5
- Learning to Code in SF
- Learning to Code Online
- Theming Tumblr with Twitter Bootstrap
- Using the Instagram API from a Python Flask App
- Horsing Around Arizona
- Converting Addresses to Timezones in Python
- API Usability Testing
- Working around Android Webkit
- Porting jQuery Plugins to Zepto: Tips & Tricks
- Using FancyBox with Zepto