56,966 blogs · [ { "id": "01a0876e-cd07-71b8-8d31-1731383ebad4", "title": "Using osascript with terminal agents on macOS", "url": "https://donovanpreston.blogspot.com/2026/04/using-osascript-with-terminal-agents-on.html", "published_at": "2026-04-04T13:31:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abce986e99", "title": "\"Start Drag\" and \"Drop\" to select text with macOS Voice Control", "url": "https://donovanpreston.blogspot.com/2026/03/start-drag-and-drop-to-select-text-with.html", "published_at": "2026-03-16T11:04:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abce9919e7", "title": "Wello Horld.", "url": "https://donovanpreston.blogspot.com/2026/02/wello-horld.html", "published_at": "2026-02-19T02:36:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abcecaec7b", "title": "Guido doesn't want non-portable assembly in Python and it's understandable", "url": "https://donovanpreston.blogspot.com/2013/03/guido-doesnt-want-non-portable-assembly.html", "published_at": "2013-03-19T15:28:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abcf4e89c1", "title": "Your giant proprietary (or at least silo) codebase is a huge liability", "url": "https://donovanpreston.blogspot.com/2013/01/your-giant-proprietary-or-at-least-silo.html", "published_at": "2013-01-10T19:37:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abcfad8ff2", "title": "Getting Started Developing for Firefox OS Screencasts", "url": "https://donovanpreston.blogspot.com/2012/10/getting-started-developing-for-firefox.html", "published_at": "2012-10-10T22:29:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abcff94555", "title": "Where are the Peer-to-Peer web apps?", "url": "https://donovanpreston.blogspot.com/2012/03/where-are-peer-to-peer-web-apps.html", "published_at": "2012-03-06T02:55:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd074f3f9", "title": "pyx", "url": "https://donovanpreston.blogspot.com/2011/08/coverage-and-profile-information.html", "published_at": "2011-08-11T21:30:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd09f9178", "title": "pyx", "url": "https://donovanpreston.blogspot.com/2011/08/dumping-bytecode-with-spidermonkey.html", "published_at": "2011-08-08T21:12:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd122d9cb", "title": "pyx", "url": "https://donovanpreston.blogspot.com/2011/08/code-coverage-reporting-in-javascript.html", "published_at": "2011-08-05T02:24:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd1c04e8c", "title": "pyx", "url": "https://donovanpreston.blogspot.com/2011/08/i-started-work-at-mozilla-yesterday.html", "published_at": "2011-08-02T19:09:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd2be777c", "title": null, "url": "https://donovanpreston.blogspot.com/2010/11/simplified-one-wire-transmission-system.html", "published_at": "2010-11-16T17:08:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd2d8ba22", "title": "pyx", "url": "https://donovanpreston.blogspot.com/2010/11/p.html", "published_at": "2010-11-16T16:24:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd3748c04", "title": "Spawning 0.8.8 released", "url": "https://donovanpreston.blogspot.com/2009/01/spawning-088-released.html", "published_at": "2009-01-15T14:11:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd41b06f1", "title": "Python binding for Mongrel's http11 parser", "url": "https://donovanpreston.blogspot.com/2009/01/python-binding-for-mongrel-http11.html", "published_at": "2009-01-14T14:57:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd4d1f620", "title": "Evolution of Codependency in Antagonistic Relationships", "url": "https://donovanpreston.blogspot.com/2008/12/evolution-of-codependency-in.html", "published_at": "2008-12-19T21:40:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd549cc57", "title": "lxml + eventlet mashup", "url": "https://donovanpreston.blogspot.com/2008/12/lxml-eventlet-mashup.html", "published_at": "2008-12-19T21:14:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd5c0ca1c", "title": "ptth (Reverse HTTP) implementation in a browser using Long Poll COMET", "url": "https://donovanpreston.blogspot.com/2008/12/ptth-reverse-http-implementation-in.html", "published_at": "2008-12-07T03:09:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd643b40d", "title": "Eventlet 0.7 and Spawning 0.7 Released", "url": "https://donovanpreston.blogspot.com/2008/07/eventlet-07-and-spawning-07-released.html", "published_at": "2008-07-29T16:33:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd683406a", "title": "Spawning 0.1 Released", "url": "https://donovanpreston.blogspot.com/2008/06/spawning-01-released.html", "published_at": "2008-06-16T19:10:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd717ed6f", "title": "Eventlet 0.5 Released", "url": "https://donovanpreston.blogspot.com/2008/06/eventlet-05-released.html", "published_at": "2008-06-12T11:49:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd7acc471", "title": "REST + Actors", "url": "https://donovanpreston.blogspot.com/2008/06/rest-actors.html", "published_at": "2008-06-02T10:42:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd7fd8cb1", "title": "Template on PUT", "url": "https://donovanpreston.blogspot.com/2008/05/template-on-put.html", "published_at": "2008-05-14T12:55:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd8b458f2", "title": "REST to LSL via Python and Comet", "url": "https://donovanpreston.blogspot.com/2007/09/rest-to-lsl-via-python-and-comet.html", "published_at": "2007-09-30T00:08:00+00:00" }, { "id": "01a0876e-cd08-7170-902b-02abd919ec83", "title": "My blog is growing weeds...", "url": "https://donovanpreston.blogspot.com/2007/06/my-blog-is-growing-weeds.html", "published_at": "2007-06-08T17:17:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548b8d1ea9", "title": "Awesome", "url": "https://donovanpreston.blogspot.com/2006/05/awesome.html", "published_at": "2006-05-01T22:18:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548beea9f8", "title": "Running Ubuntu on Mac OS X", "url": "https://donovanpreston.blogspot.com/2006/04/running-ubuntu-on-mac-os-x.html", "published_at": "2006-04-25T16:59:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548c059895", "title": "Writing your Python REPL history to a file", "url": "https://donovanpreston.blogspot.com/2006/04/writing-your-python-repl-history-to.html", "published_at": "2006-04-03T19:10:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548c2bba53", "title": "New Slide Transitions", "url": "https://donovanpreston.blogspot.com/2006/03/new-slide-transitions.html", "published_at": "2006-03-24T22:59:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548c446591", "title": "Introducing NevowPavel", "url": "https://donovanpreston.blogspot.com/2006/01/introducing-nevowpavel.html", "published_at": "2006-01-29T04:37:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548d3eed86", "title": "Slide Show of Photos from Paradise", "url": "https://donovanpreston.blogspot.com/2005/12/slide-show-of-photos-from-paradise.html", "published_at": "2005-12-17T17:40:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548d5a0bc8", "title": "Virt", "url": "https://donovanpreston.blogspot.com/2005/11/virt.html", "published_at": "2005-11-18T12:09:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548d8ceb56", "title": "JavaScript sucks ass, part one million", "url": "https://donovanpreston.blogspot.com/2005/10/javascript-sucks-ass-part-one-million.html", "published_at": "2005-10-05T20:03:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548de9c764", "title": "From San Francisco to Detroit for MacHack 20", "url": "https://donovanpreston.blogspot.com/2005/07/from-san-francisco-to-detroit-for.html", "published_at": "2005-07-28T17:42:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548e605dfe", "title": "LivePage rules", "url": "https://donovanpreston.blogspot.com/2005/07/livepage-rules.html", "published_at": "2005-07-11T21:08:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548eb6f49b", "title": "Please take this oath", "url": "https://donovanpreston.blogspot.com/2005/06/please-take-this-oath.html", "published_at": "2005-06-16T16:50:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548fa40481", "title": "Multiuser Programming", "url": "https://donovanpreston.blogspot.com/2005/05/multiuser-programming.html", "published_at": "2005-05-19T00:56:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5548fabc768", "title": "SSH authorized_keys problems", "url": "https://donovanpreston.blogspot.com/2005/04/ssh-authorizedkeys-problems.html", "published_at": "2005-04-09T10:27:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e55490756255", "title": "LiveTest", "url": "https://donovanpreston.blogspot.com/2005/03/livetest.html", "published_at": "2005-03-22T15:51:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e554914fd87a", "title": "Using Python to find Type/Creator codes", "url": "https://donovanpreston.blogspot.com/2005/03/using-python-to-find-typecreator-codes.html", "published_at": "2005-03-15T10:43:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e554922f4fbf", "title": "Languages", "url": "https://donovanpreston.blogspot.com/2005/02/languages.html", "published_at": "2005-02-05T12:47:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e55493263859", "title": "Nevow 0.3!", "url": "https://donovanpreston.blogspot.com/2004/09/nevow-03.html", "published_at": "2004-09-27T02:29:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5549399eecf", "title": "Canvas", "url": "https://donovanpreston.blogspot.com/2004/07/canvas.html", "published_at": "2004-07-05T20:45:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e554942024dc", "title": "Weird Weather", "url": "https://donovanpreston.blogspot.com/2004/06/weird-weather.html", "published_at": "2004-06-13T08:28:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e554944a161c", "title": "Mr. Bald Eagle", "url": "https://donovanpreston.blogspot.com/2004/05/mr-bald-eagle.html", "published_at": "2004-05-11T09:46:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e55494d4de90", "title": "Debugging JavaScript", "url": "https://donovanpreston.blogspot.com/2004/05/debugging-javascript.html", "published_at": "2004-05-02T11:40:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5549587faf7", "title": "Dark Castle!", "url": "https://donovanpreston.blogspot.com/2004/04/dark-castle.html", "published_at": "2004-04-27T09:55:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e554962223b8", "title": "Ahh, Dark Castle", "url": "https://donovanpreston.blogspot.com/2004/04/ahh-dark-castle.html", "published_at": "2004-04-25T09:57:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e5549657ffc4", "title": "openit", "url": "https://donovanpreston.blogspot.com/2004/04/openit.html", "published_at": "2004-04-19T13:16:00+00:00" }, { "id": "01a0c519-16cb-7302-8392-e55497330312", "title": "So, how's the weather?", "url": "https://donovanpreston.blogspot.com/2004/04/so-how-weather.html", "published_at": "2004-04-19T07:57:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed35d00ad", "title": "Using TextEdit as your EDITOR", "url": "https://donovanpreston.blogspot.com/2004/03/using-textedit-as-your-editor.html", "published_at": "2004-03-12T08:35:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed3973d61", "title": "Running scripts in pythonw from Xcode", "url": "https://donovanpreston.blogspot.com/2004/02/running-scripts-in-pythonw-from-xcode.html", "published_at": "2004-02-21T10:12:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed3a4fe26", "title": "Running Python scripts inside Xcode", "url": "https://donovanpreston.blogspot.com/2004/02/running-python-scripts-inside-xcode.html", "published_at": "2004-02-20T06:41:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed3c9fb3a", "title": "Have you met my Evil Twin?", "url": "https://donovanpreston.blogspot.com/2004/02/have-you-met-my-evil-twin.html", "published_at": "2004-02-11T20:39:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed3e37c68", "title": "CoreAudio from Python", "url": "https://donovanpreston.blogspot.com/2004/02/coreaudio-from-python.html", "published_at": "2004-02-11T19:41:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed4ab1948", "title": "Python OSA Component", "url": "https://donovanpreston.blogspot.com/2003/12/python-osa-component.html", "published_at": "2003-12-15T08:44:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed4bad446", "title": "Python and AppleEvents Slides", "url": "https://donovanpreston.blogspot.com/2003/09/python-and-appleevents-slides.html", "published_at": "2003-09-04T12:04:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed56c3850", "title": "Apache, ProxyPass and Twisted", "url": "https://donovanpreston.blogspot.com/2003/06/apache-proxypass-and-twisted.html", "published_at": "2003-06-28T11:39:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed5872a23", "title": "Generators and Python/AppleEvents", "url": "https://donovanpreston.blogspot.com/2003/03/generators-and-pythonappleevents.html", "published_at": "2003-03-07T00:08:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed5fe711d", "title": "Scripting Mac OS X with Python using AppleEvents is accepted", "url": "https://donovanpreston.blogspot.com/2003/03/scripting-mac-os-x-with-python-using.html", "published_at": "2003-03-05T23:47:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed659ab20", "title": "Switched to MoveableType", "url": "https://donovanpreston.blogspot.com/2003/03/switched-to-moveabletype.html", "published_at": "2003-03-05T23:43:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed6db2099", "title": "Woven models and the request object", "url": "https://donovanpreston.blogspot.com/2003/02/woven-models-and-request-object.html", "published_at": "2003-02-21T00:07:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed74dc187", "title": "Whoops. I left out a", "url": "https://donovanpreston.blogspot.com/2003/02/whoops-i-left-out.html", "published_at": "2003-02-13T10:06:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed772ebde", "title": "For people who are curious", "url": "https://donovanpreston.blogspot.com/2003/02/for-people-who-are-curious.html", "published_at": "2003-02-10T22:18:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed7a5fc3f", "title": "Learning about the twisted trial unittesting framework", "url": "https://donovanpreston.blogspot.com/2003/01/learning-about-twisted-trial.html", "published_at": "2003-01-11T18:08:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed81ea72b", "title": "Do not read this.", "url": "https://donovanpreston.blogspot.com/2003/01/do-not-read-this.html", "published_at": "2003-01-06T18:01:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed8b95ef6", "title": "Twisted logging", "url": "https://donovanpreston.blogspot.com/2003/01/twisted-logging.html", "published_at": "2003-01-04T14:01:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed91eaf84", "title": "The Saga of Blog", "url": "https://donovanpreston.blogspot.com/2002/12/saga-of-blog.html", "published_at": "2002-12-31T12:20:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed9559e69", "title": "Personal Web Proxy", "url": "https://donovanpreston.blogspot.com/2002/12/personal-web-proxy.html", "published_at": "2002-12-23T19:38:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857ed967d82f", "title": "Twisted.Blog", "url": "https://donovanpreston.blogspot.com/2002/12/twistedblog.html", "published_at": "2002-12-21T02:46:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857eda47f9ef", "title": "PyObjC", "url": "https://donovanpreston.blogspot.com/2002/12/pyobjc.html", "published_at": "2002-12-21T02:42:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857edaa9c85e", "title": "Woven progress", "url": "https://donovanpreston.blogspot.com/2002/12/woven-progress.html", "published_at": "2002-12-17T09:58:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857edae1dd11", "title": "WebConduit: Two-way Live Asynchronous Web Page", "url": "https://donovanpreston.blogspot.com/2002/08/webconduit-two-way-live-asynchronous.html", "published_at": "2002-08-08T23:37:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857edb599506", "title": "Disabling fink", "url": "https://donovanpreston.blogspot.com/2002/08/disabling-fink.html", "published_at": "2002-08-03T16:19:00+00:00" }, { "id": "01a0c524-15b1-70ad-9da8-857edc307d9f", "title": "Linebreaks and Advanced Editor.py in the Mach-O MacPython IDE", "url": "https://donovanpreston.blogspot.com/2002/03/linebreaks-and-advanced-editorpy-in.html", "published_at": "2002-03-27T18:52:00+00:00" }, { "id": "01a0c52f-b751-72e3-8e6f-405faf58ab03", "title": "Mach-O MacPython IDE!!!", "url": "https://donovanpreston.blogspot.com/2001/12/mach-o-macpython-ide.html", "published_at": "2001-12-19T22:47:00+00:00" }, { "id": "01a0c52f-b751-72e3-8e6f-405faf9c3065", "title": "Apple just released AppleScript Studio", "url": "https://donovanpreston.blogspot.com/2001/12/apple-just-released-applescript-studio.html", "published_at": "2001-12-05T12:25:00+00:00" } ] posts Claim your blog
Back to donovanpreston.blogspot.com
Blog · corpus.blog/blogs/donovanpreston.blogspot.com/posts

donovanpreston.blogspot.com

donovanpreston.blogspot.com

2026

2013

2012

2011

11 Aug 2011
8 Aug 2011
5 Aug 2011
2 Aug 2011

2010

16 Nov 2010

2009

2008

2007

2006

2005

18 Nov 2005

2004

2003

2002

2001