Ian Bicking: a blog
- Posts
- 287 from 2 Aug 2007 to 6 Oct 2025
- Posting
- now and then
- Kind
- personal blog
- Feed
- https://ianbicking.org/feeds/atom.xml
2025 18
- Negative memories in both human and LLMs
- New Blog Software
- On The Subject Of AI Poetry
- Negative memories in both human and LLMs
- On The Subject Of AI Poetry
- Hidden Door At Launch: Design Review of an LLM-Driven Story Game
- New Blog Software (Previous)
- Hidden Door At Launch: Design Review of an LLM-Driven Story Game
- Intra: design notes on an LLM-driven text adventure
- Intra: design notes on an LLM-driven text adventure
- Old Archives
- Roundup: Creating Worlds with LLMs
- Atom Models
- Roundup: Creating Worlds with LLMs
- The Hungry Ghost
- Environmental Theater
- The Hungry Ghost
- Creating worlds with …
2024 6
2023 10
2020 8
2019 10
- Kling’s Axes of Politics, and the Technocrats
- Reflection and Description Of Meaning
- “Users want control” is a shoulder shrug
- DictMixin
- Open Source Doesn’t Make Money Because It Isn’t Designed To Make Money
- Webob
- The Firefox Experiments I Would Have Liked To Try
- The Shrinking Python Web Framework World
- Doctest for Ruby
- Re-raising Exceptions
2018 4
2016 3
2015 16
- What PHP Deployment Gets Right
- Documents vs. Objects
- A Simple CMS
- Runtime vs. Test time
- PyCon Talks
- Monkeypatching and dead ends
- HTML Accessibility
- Python HTML Parser Performance
- Environmental Guilt
- JSON-RPC WebOb Example
- App Engine and Open Source
- App Engine: Commodity vs. Proprietary
- The Mundane Nature Of Programming
- App Engine and Pylons
- WebOb Do-It-Yourself Framework
- “Something Must Be Done”
2014 8
2013 8
2012 6
2011 6
2010 38
- lxml: an underappreciated web scraping library
- Doctest.js & Callbacks
- A Few Corrections To “On Packaging”
- Net Neutrality: forcing companies to pay attention to their networks
- Using pip Requirements
- Surveillance, Security, Privacy, Politics
- Javascript Status Message Display
- The Browser Desktop, developer tools
- Avoiding Silos: “link” as a first-class object
- Silver Lining: More People!
- Atompub as an alternative to WebDAV
- Core Competencies, Silver Lining, Packaging
- Cultural Imperialism, Technology, and OLPC
- Modern Web Design, I Renounce Thee!
- More Sentinels
- WebTest HTTP testing
- Woonerf and Python
- The Web Server Benchmarking We Need
- Treating configuration values as templates
- What Does A WebOb App Look Like?
- Toward a new self-definition for open source
- WebOb decorator
- Configuration management: push vs. pull
- Joining Mozilla
- A new way to deploy web applications
- toppcloud renamed to Silver Lining
- toppcloud (Silver Lining) and Django
- Throw out your frameworks! (forms included)
- Weave: valuable client-side data
- Why toppcloud (Silver Lining) will not be agnostic
- Leaving TOPP
- Leaving TOPP
- Why toppcloud (Silver Lining) will not be agnostic
- Weave: valuable client-side data
- Throw out your frameworks! (forms included)
- toppcloud (Silver Lining) and Django
- toppcloud renamed to Silver Lining
- A new way to deploy web applications
2009 14
- Joining Mozilla
- Toward a new self-definition for open source
- Configuration management: push vs. pull
- WebOb decorator
- What Does A WebOb App Look Like?
- Treating configuration values as templates
- The Web Server Benchmarking We Need
- Woonerf and Python
- WebTest HTTP testing
- More Sentinels
- Cultural Imperialism, Technology, and OLPC
- Modern Web Design, I Renounce Thee!
- Core Competencies, Silver Lining, Packaging
- Atompub as an alternative to WebDAV
2008 86
- Silver Lining: More People!
- Avoiding Silos: "link" as a first-class object
- The Browser Desktop, developer tools
- Javascript Status Message Display
- Surveillance, Security, Privacy, Politics
- Using pip Requirements
- Net Neutrality: forcing companies to pay attention to their networks
- A Few Corrections To "On Packaging"
- Doctest.js & Callbacks
- lxml: an underappreciated web scraping library
- Javascript on the server AND the client is not a big deal
- The Magic Sentinel
- A Python Web Application Package and Format (we should make one)
- Where Next For Plone Development?
- My Unsolicited Advice For PyPy
- pyinstall is dead, long live pip!
- Python Application Package
- Git-as-sync, not source-control-as-deployment
- Decorators and Descriptors
- Hypertext-driven URLs
- Why doctest.js is better than Python’s doctest
- The Philosophy of Deliverance
- New Blog Software
- The Poverty Of Our National Debate
- “new” Only Makes Javascript OO Harder
- pyinstall pybundles
- The overuse of functions
- pyinstall: A New Hope
- Why Isn’t Programming Futuristic
- Inverted Partials
- TogetherJS as a Postmodern Programming Tool
- On the RNC, Monica Bicking, Eryn Trimmer, and Protest
- The Order of Payment And Consumption Drives Content
- Happy Birthday PotteryBlog
- Nouning the Verb of Browsing
- A Doctest Wishlist
- Live Programming, Walkabout.js
- Making a proxy with WSGI and lxml
- Saying Goodbye To Python
- Me In Berlin & Amsterdam
- Hubot, Chat, The Web, and Working in the Open
- My Experience Writing a Build System
- Defaulting To Together
- Thoughts About the Erlang Runtime
- Collaboration as a Skeuomorphism for Agents
- Which way?
- Towards a Next Level of Collaboration
- pdb in the browser
- How We Use GitHub Issues To Organize a Project
- The GPL and Principles
- Middleage
- Professional Transitions (or: the shutting down of Mozilla Labs)
- Choosing a License
- Governance
- Being A Manager Is Lonely
- "Something Must Be Done"
- A Product Journal: Conception
- WebOb Do-It-Yourself Framework
- A Product Journal: The Technology Demo
- App Engine and Pylons
- A Product Journal: To MVP Or Not To MVP
- The Mundane Nature Of Programming
- A Product Journal: Building for a Demo
- Encouraging Positive Engagement
- App Engine and Open Source
- App Engine: Commodity vs. Proprietary
- A Product Journal: As A Working Manager
- JSON-RPC WebOb Example
- A Product Journal: The Evolutionary Prototype
- Environmental Guilt
- A Product Journal: What Are We Making?
- Python HTML Parser Performance
- A Product Journal: As A Building Block
- HTML Accessibility
- A Product Journal: Community Participation
- A Product Journal: As We May Discuss
- PyCon Talks
- Monkeypatching and dead ends
- A Product Journal: Objects
- Runtime vs. Test time
- Conway’s Corollary
- A Simple CMS
- Don’t Invest More Emotion Than You Are Willing To Sacrifice
- Documents vs. Objects
- A Product Journal: CSS Object Model
- What PHP Deployment Gets Right
2007 46
- A Product Journal: Data Up and Data Down
- Java BDD
- To All The Mothers
- Prism
- A Product Journal: Oops We Made A Scraper
- Logo
- Improving the web with small, composable tools
- Workingenv is dead, long live Virtualenv!
- My Lunch With A White Supremacist
- lxml.html
- Thoughts on the Firefox Email Tabs experiment
- 2 Python Environment Experiments
- We Need Open Hosting Platforms
- Viewing Python execution with source code rewriting
- Re-raising Exceptions
- FlatAtompub
- 9/11/2007
- 9/11/2007
- The Over-engaged Knowledge Worker
- The Firefox Experiments I Would Have Liked To Try
- Doctest for Ruby
- Open Source Doesn’t Make Money Because It Isn’t Designed To Make Money
- The Shrinking Python Web Framework World
- “Users want control” is a shoulder shrug
- Webob
- Kling’s Axes of Politics, and the Technocrats
- DictMixin
- A History Of Projects
- Thoughts on Voice Interfaces
- Of Microformats and the Semantic Web
- Reflection and Description Of Meaning
- Project ideas for (what’s left of) 2020
- Atom Publishing Protocol: Atompub
- Firefox Was Always Enough
- Defaults & Inheritance
- Infinite AI Array
- Opening Python Classes
- Thoughts On Voice Interfaces 2 years later: LLMs
- XO B4
- Atompub & OpenID
- Tempita
- Zonbu & S3
- Fast CGI that isn't FastCGI
- Atom Models
- Environmental Theater
- Pronouncing "Django"