41554 blogs · [ { "id": "01a0821d-773e-73cd-be94-0d5f2bca6e88", "title": "Improving Firefox Startup Time With The about:home Startup Cache", "url": "https://mikeconley.ca/blog/2020/07/13/improving-firefox-startup-time-with-the-abouthome-startup-cache/", "published_at": "2020-07-13T19:14:55+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2cbdd545", "title": "A few words on main thread disk access for general audiences", "url": "https://mikeconley.ca/blog/2019/05/16/a-few-words-on-main-thread-disk-access-for-general-audiences/", "published_at": "2019-05-16T14:49:47+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2d94b604", "title": "Firefox Front-End Performance Update #17", "url": "https://mikeconley.ca/blog/2019/04/24/firefox-front-end-performance-update-17/", "published_at": "2019-04-24T21:52:52+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2e1c1259", "title": "Firefox Front-End Performance Update #16", "url": "https://mikeconley.ca/blog/2019/04/08/firefox-front-end-performance-update-16/", "published_at": "2019-04-08T23:41:02+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2e26f47e", "title": "Firefox Front-End Performance Update #15", "url": "https://mikeconley.ca/blog/2019/03/22/firefox-front-end-performance-update-15/", "published_at": "2019-03-23T00:31:23+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2ed504c9", "title": "Firefox Front-End Performance Update #14", "url": "https://mikeconley.ca/blog/2019/03/08/firefox-front-end-performance-update-14/", "published_at": "2019-03-09T02:27:48+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2f56bd8a", "title": "Firefox Front-End Performance Update #13", "url": "https://mikeconley.ca/blog/2019/02/25/firefox-front-end-performance-update-13/", "published_at": "2019-02-25T21:55:07+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2f90b52c", "title": "Firefox Front-End Performance Update #12", "url": "https://mikeconley.ca/blog/2019/02/06/firefox-front-end-performance-update-12/", "published_at": "2019-02-06T17:02:58+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f2fbd83b3", "title": "Firefox Performance Update #10", "url": "https://mikeconley.ca/blog/2018/07/24/firefox-performance-update-10/", "published_at": "2018-07-24T15:07:42+00:00" }, { "id": "01a0821d-773e-73cd-be94-0d5f301b4d94", "title": "Firefox Performance Update #9", "url": "https://mikeconley.ca/blog/2018/05/30/firefox-performance-update-9/", "published_at": "2018-05-30T14:38:35+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d279682d", "title": "Firefox Performance Update #8", "url": "https://mikeconley.ca/blog/2018/05/15/firefox-performance-update-8/", "published_at": "2018-05-15T22:35:45+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d371dc16", "title": "Firefox Performance Update #7", "url": "https://mikeconley.ca/blog/2018/05/01/firefox-performance-update-7/", "published_at": "2018-05-01T17:55:18+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d37210b7", "title": "Firefox Performance Update #6", "url": "https://mikeconley.ca/blog/2018/04/18/firefox-performance-update-6/", "published_at": "2018-04-18T21:47:35+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d394fd7e", "title": "Firefox Performance Update #5", "url": "https://mikeconley.ca/blog/2018/04/06/firefox-performance-update-5/", "published_at": "2018-04-06T15:27:16+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d46a6bcb", "title": "Firefox Performance Update #4", "url": "https://mikeconley.ca/blog/2018/03/22/firefox-performance-update-4/", "published_at": "2018-03-22T15:38:09+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d5329208", "title": "Firefox Performance Update #3", "url": "https://mikeconley.ca/blog/2018/03/13/firefox-performance-update-3/", "published_at": "2018-03-13T20:06:25+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d53aef15", "title": "Firefox Performance Update #2", "url": "https://mikeconley.ca/blog/2018/03/01/firefox-performance-update-2/", "published_at": "2018-03-01T18:10:59+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d54898bb", "title": "Firefox Performance Update #1", "url": "https://mikeconley.ca/blog/2018/02/14/firefox-performance-update-1/", "published_at": "2018-02-14T21:34:37+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d5870adf", "title": "Making tab switching faster in Firefox with tab warming", "url": "https://mikeconley.ca/blog/2018/01/11/making-tab-switching-faster-in-firefox-with-tab-warming/", "published_at": "2018-01-11T20:00:36+00:00" }, { "id": "01a0bb94-a092-7082-b418-f6e7d5e3122e", "title": "Photon Engineering Newsletter #14", "url": "https://mikeconley.ca/blog/2017/08/24/photon-engineering-newsletter-14/", "published_at": "2017-08-24T17:04:24+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c25f35eaba", "title": "Making tabs close faster in multi-process Firefox", "url": "https://mikeconley.ca/blog/2017/05/01/making-tabs-close-faster-in-multi-process-firefox/", "published_at": "2017-05-01T17:05:46+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c25f8c0e5e", "title": "A printing story and a PSA: outparams over the IPC layer might not behave like you’d expect", "url": "https://mikeconley.ca/blog/2015/10/30/a-printing-story-and-a-psa-outparams-over-the-ipc-layer-might-not-behave-like-youd-expect/", "published_at": "2015-10-30T15:37:36+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c2605e332a", "title": "The Joy of Coding – Ep’s 23 – 29", "url": "https://mikeconley.ca/blog/2015/10/04/the-joy-of-coding-eps-23-29/", "published_at": "2015-10-04T16:43:03+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c26141875a", "title": "The Joy of Coding (Ep. 20): Reviewin’ and Mystery Solvin’", "url": "https://mikeconley.ca/blog/2015/07/11/the-joy-of-coding-ep-20-reviewin-and-mystery-solvin/", "published_at": "2015-07-11T16:29:49+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c2618f35c7", "title": "The Joy of Coding (Ep. 19): Cleaning up a patch", "url": "https://mikeconley.ca/blog/2015/07/11/the-joy-of-coding-ep-19-cleaning-up-a-patch/", "published_at": "2015-07-11T16:19:23+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c2627de136", "title": "The Joy of Coding (Ep. 18): New Theme Song!", "url": "https://mikeconley.ca/blog/2015/06/14/the-joy-of-coding-ep-18-new-theme-song/", "published_at": "2015-06-14T20:07:25+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c26311aca6", "title": "Things I’ve Learned This Week (June 1 – June 5, 2015)", "url": "https://mikeconley.ca/blog/2015/06/08/things-ive-learned-this-week-june-1-june-5-2015/", "published_at": "2015-06-09T01:55:26+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c2640bddef", "title": "The Joy of Coding (Ep. 17): Frustrations in the Key of C++", "url": "https://mikeconley.ca/blog/2015/06/06/the-joy-of-coding-ep-17-frustrations-in-the-key-of-c-plus-plus/", "published_at": "2015-06-06T16:14:01+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c26423fd8e", "title": "Things I’ve Learned This Week (May 25 – May 29, 2015)", "url": "https://mikeconley.ca/blog/2015/06/01/things-ive-learned-this-week-may-25-may-29-2015/", "published_at": "2015-06-01T05:49:07+00:00" }, { "id": "01a0bb9e-e554-721c-889e-e7c2650c379b", "title": "The Joy of Coding (Ep. 16): Wacky Morning DJ", "url": "https://mikeconley.ca/blog/2015/05/27/the-joy-of-coding-ep-16-wacky-morning-dj/", "published_at": "2015-05-28T02:12:45+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e42257b884", "title": "Things I’ve Learned This Week (May 18 – May 22, 2015)", "url": "https://mikeconley.ca/blog/2015/05/23/things-ive-learned-this-week-may-18-may-22-2015/", "published_at": "2015-05-23T21:54:57+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e4226eb062", "title": "The Joy of Coding (Ep. 15): OS X Printing Returns", "url": "https://mikeconley.ca/blog/2015/05/23/the-joy-of-coding-ep-15-osx-printing-returns/", "published_at": "2015-05-23T15:26:06+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e422cd1f2b", "title": "Lost in Data!", "url": "https://mikeconley.ca/blog/2015/05/19/lost-in-data/", "published_at": "2015-05-20T01:36:32+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e4234a864c", "title": "The Joy of Coding (Ep. 14): More OS X Printing", "url": "https://mikeconley.ca/blog/2015/05/17/the-joy-of-coding-ep-14-more-osx-printing/", "published_at": "2015-05-17T23:09:02+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e423df76ce", "title": "The Joy of Coding (Ep. 13): Printing. Again!", "url": "https://mikeconley.ca/blog/2015/05/11/the-joy-of-coding-ep-13-printing-again/", "published_at": "2015-05-11T19:10:02+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e42451c3cc", "title": "Things I’ve Learned This Week (May 4 – May 8, 2015)", "url": "https://mikeconley.ca/blog/2015/05/10/things-ive-learned-this-week-may-4-may-8-2015/", "published_at": "2015-05-10T20:00:48+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e4248986d0", "title": "Electrolysis and the Big Tab Spinner of Doom", "url": "https://mikeconley.ca/blog/2015/05/04/electrolysis-and-the-big-tab-spinner-of-doom/", "published_at": "2015-05-04T14:28:06+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e424d8f23c", "title": "Things I’ve Learned This Week (April 27 – May 1, 2015)", "url": "https://mikeconley.ca/blog/2015/05/02/things-ive-learned-this-week-april-27-may-1-2015/", "published_at": "2015-05-02T17:09:20+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e4251d5d45", "title": "The Joy of Coding (Ep. 12): Making “Save Page As” Work", "url": "https://mikeconley.ca/blog/2015/05/02/the-joy-of-coding-ep-12-making-save-page-as-work/", "published_at": "2015-05-02T16:42:50+00:00" }, { "id": "01a0bba4-c21c-7185-b895-01e4257741ba", "title": "Things I’ve Learned This Week (April 20 – April 24, 2015)", "url": "https://mikeconley.ca/blog/2015/04/25/things-ive-learned-this-week-april-20-april-24-2015/", "published_at": "2015-04-25T21:40:58+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a3303fcb2320", "title": "The Joy of Coding (Ep. 11): Cleaning up the View Source Patch", "url": "https://mikeconley.ca/blog/2015/04/25/the-joy-of-coding-ep-11-cleaning-up-the-view-source-patch/", "published_at": "2015-04-25T21:22:21+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a330403fbc36", "title": "Things I’ve Learned This Week (April 13 – April 17, 2015)", "url": "https://mikeconley.ca/blog/2015/04/18/things-ive-learned-this-week-april-13-april-17-2015/", "published_at": "2015-04-18T22:33:11+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a3304045de88", "title": "The Joy of Coding (Ep. 10): The Mystery of the Cache Key", "url": "https://mikeconley.ca/blog/2015/04/18/the-joy-of-coding-ep-9-more-view-source-hacking-2/", "published_at": "2015-04-18T21:40:07+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a330408db78c", "title": "Things I’ve Learned This Week (April 6 – April 10, 2015)", "url": "https://mikeconley.ca/blog/2015/04/12/things-ive-learned-this-week-april-6-april-10-2015/", "published_at": "2015-04-12T14:50:48+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a330408e0bf2", "title": "The Joy of Coding (Ep. 9): More View Source Hacking!", "url": "https://mikeconley.ca/blog/2015/04/10/the-joy-of-coding-ep-9-more-view-source-hacking/", "published_at": "2015-04-10T17:00:54+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a3304129c5d8", "title": "Things I’ve Learned This Week (March 30 – April 3, 2015)", "url": "https://mikeconley.ca/blog/2015/04/04/things-ive-learned-this-week-march-30-april-3-2015/", "published_at": "2015-04-04T16:00:01+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a33041d71961", "title": "The Joy of Coding (Ep. 8): View Source Hacking", "url": "https://mikeconley.ca/blog/2015/04/02/the-joy-of-coding-ep-8-view-source-hacking/", "published_at": "2015-04-03T02:17:17+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a33041f45846", "title": "Things I’ve Learned This Week (March 23 – 27, 2015)", "url": "https://mikeconley.ca/blog/2015/03/27/things-ive-learned-this-week-march-23-27-2015/", "published_at": "2015-03-27T15:15:28+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a3304287bad5", "title": "The Joy of Coding (Episode 7): Code review, and a Regression", "url": "https://mikeconley.ca/blog/2015/03/27/the-joy-of-coding-episode-7-code-review-and-a-regression/", "published_at": "2015-03-27T15:03:12+00:00" }, { "id": "01a0bba9-eb41-7146-95b9-a33043694493", "title": "The Joy of Coding (Episode 6): Plugins!", "url": "https://mikeconley.ca/blog/2015/03/19/the-joy-of-coding-episode-6-plugins/", "published_at": "2015-03-19T15:13:27+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8b69bf5e8", "title": "The Joy of Coding (Episode 5): Much Code Review", "url": "https://mikeconley.ca/blog/2015/03/11/the-joy-of-coding-episode-5-much-code-review/", "published_at": "2015-03-12T01:36:18+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8b74e7570", "title": "The Joy of Coding (Episode 4)", "url": "https://mikeconley.ca/blog/2015/03/05/the-joy-of-coding-episode-4/", "published_at": "2015-03-05T15:19:40+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8b74f5e0b", "title": "The Joy of Coding (Episode 3)", "url": "https://mikeconley.ca/blog/2015/02/27/the-joy-of-coding-episode-3/", "published_at": "2015-02-27T15:27:52+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8b7d437ba", "title": "The Joy of Coding (Episode 2)", "url": "https://mikeconley.ca/blog/2015/02/18/the-joy-of-coding-episode-2/", "published_at": "2015-02-19T03:54:43+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8b8b873a3", "title": "On unsafe CPOW usage, and “why is my Nightly so sluggish with e10s enabled?”", "url": "https://mikeconley.ca/blog/2015/02/17/on-unsafe-cpow-usage-in-firefox-desktop-and-why-is-my-nightly-so-sluggish-with-e10s-enabled/", "published_at": "2015-02-17T16:47:24+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8b9369b0a", "title": "The Joy of Coding (Episode 1)", "url": "https://mikeconley.ca/blog/2015/02/16/the-joy-of-coding-episode-1/", "published_at": "2015-02-16T19:29:35+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8b9eb0629", "title": "The Joy of Coding (or, Firefox Hacking Live!)", "url": "https://mikeconley.ca/blog/2015/02/08/the-joy-of-coding-or-firefox-hacking-live/", "published_at": "2015-02-08T19:58:38+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8ba271b86", "title": "DocShell in a Nutshell – Part 3: Maturation (2005 – 2010)", "url": "https://mikeconley.ca/blog/2015/01/03/docshell-in-a-nutshell-part-3-maturation-2005-2010/", "published_at": "2015-01-03T20:34:20+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8ba7d3bba", "title": "DocShell in a Nutshell – Part 2: The Wonder Years (1999 – 2004)", "url": "https://mikeconley.ca/blog/2014/08/10/docshell-in-a-nutshell-part-2-the-wonder-years-1999-2004/", "published_at": "2014-08-10T23:04:59+00:00" }, { "id": "01a0bbae-e99d-717c-878a-c4b8bad908df", "title": "Bugnotes", "url": "https://mikeconley.ca/blog/2014/08/06/bugnotes/", "published_at": "2014-08-06T17:33:42+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d816a5fac1", "title": "DocShell in a Nutshell – Part 1: Original Intents", "url": "https://mikeconley.ca/blog/2014/07/07/docshell-in-a-nutshell-part-1-original-intents/", "published_at": "2014-07-07T17:12:34+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d81718dee7", "title": "Alice in DocShell Land", "url": "https://mikeconley.ca/blog/2014/06/29/alice-in-docshell-land/", "published_at": "2014-06-30T02:41:31+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d817d2498b", "title": "Australis Performance Post-mortem Summary", "url": "https://mikeconley.ca/blog/2014/06/28/australis-performance-post-mortem-summary/", "published_at": "2014-06-29T02:26:26+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d8189bcdd0", "title": "Australis Performance Post-mortem Part 5: The Customize Mode Transition", "url": "https://mikeconley.ca/blog/2014/06/19/australis-performance-post-mortem-part-5-the-customize-mode-transition/", "published_at": "2014-06-19T17:51:02+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d818e7d900", "title": "Australis Performance Post-mortem Part 4: On Tab Animation", "url": "https://mikeconley.ca/blog/2014/05/14/australis-performance-post-mortem-part-4-on-tab-animation/", "published_at": "2014-05-15T01:46:31+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d819b103cc", "title": "Electrolysis Code Spelunking: How links open new windows in Firefox", "url": "https://mikeconley.ca/blog/2014/04/30/electrolysis-code-spelunking-how-links-open-new-windows-in-firefox/", "published_at": "2014-04-30T20:14:49+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d81a60429b", "title": "Electrolysis: Debugging Child Processes of Content for Make Benefit Glorious Browser of Firefox", "url": "https://mikeconley.ca/blog/2014/04/25/electrolysis-debugging-child-processes-of-content-for-make-benefit-glorious-browser-of-firefox/", "published_at": "2014-04-25T19:26:07+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d81ad0f469", "title": "Much Ado About Brendan (or As I’ve Seen It)", "url": "https://mikeconley.ca/blog/2014/04/07/much-ado-about-brendan-or-as-ive-seen-it/", "published_at": "2014-04-07T08:30:19+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d81b207cba", "title": "Australis Performance Post-mortem Part 3: As Good As Our Tools", "url": "https://mikeconley.ca/blog/2013/12/14/australis-performance-post-mortem-part-3-as-good-as-our-tools/", "published_at": "2013-12-14T17:00:56+00:00" }, { "id": "01a0bbb3-dc88-721b-a6c5-65d81b470edd", "title": "Australis Performance Post-mortem Part 2: ts_paint and t_paint", "url": "https://mikeconley.ca/blog/2013/12/01/australis-performance-post-mortem-part-2-ts_paint-and-t_paint/", "published_at": "2013-12-01T20:24:27+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b67642e9550", "title": "Australis Performance Post-mortem Part 1: Where We Started", "url": "https://mikeconley.ca/blog/2013/11/21/australis-performance-post-mortem-part-1/", "published_at": "2013-11-21T18:13:47+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b67651fcaa8", "title": "ScummVM ported to HTML5?", "url": "https://mikeconley.ca/blog/2013/06/11/scummvm-ported-to-html5/", "published_at": "2013-06-11T21:46:15+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b67661a4511", "title": "Downloading Stuff in Firefox – It’s Better Now", "url": "https://mikeconley.ca/blog/2013/04/02/downloading-stuff-in-firefox-its-better-now/", "published_at": "2013-04-02T06:00:31+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b6766d23590", "title": "Code Spelunking – Australis Customization", "url": "https://mikeconley.ca/blog/2013/03/06/code-spelunking-australis-customization/", "published_at": "2013-03-06T20:08:33+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b67674e7975", "title": "Australis Curvy Tabs: More Progress!", "url": "https://mikeconley.ca/blog/2013/03/01/australis-curvy-tabs-more-progress/", "published_at": "2013-03-01T19:07:18+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b67682dbc08", "title": "Making Australis Tab Animations Faster", "url": "https://mikeconley.ca/blog/2013/02/12/making-australis-tab-animations-faster/", "published_at": "2013-02-13T03:14:33+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b6768d7d695", "title": "Contact Service Connector Interface Proposal Draft", "url": "https://mikeconley.ca/blog/2012/10/22/contact-service-connector-interface-proposal-draft/", "published_at": "2012-10-22T21:23:15+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b676945b72a", "title": "Another update to the Ensemble UI Mockup", "url": "https://mikeconley.ca/blog/2012/10/11/another-update-to-the-ensemble-ui-mock/", "published_at": "2012-10-11T20:40:12+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b6769c54b0e", "title": "Answering some questions about Ensemble", "url": "https://mikeconley.ca/blog/2012/10/05/answering-some-questions-about-ensemble/", "published_at": "2012-10-06T00:40:15+00:00" }, { "id": "01a0bbb9-67fd-7069-98a5-1b676abe7f06", "title": "Update to my address book mock-up", "url": "https://mikeconley.ca/blog/2012/10/02/update-to-my-address-book-mock-up/", "published_at": "2012-10-02T18:52:49+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564925a32c", "title": "I hear you.", "url": "https://mikeconley.ca/blog/2012/09/27/i-hear-you/", "published_at": "2012-09-27T18:37:02+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e56492bae2f", "title": "A glimpse of a new address book for Thunderbird", "url": "https://mikeconley.ca/blog/2012/09/26/a-glimpse-of-a-new-address-book-for-thunderbird/", "published_at": "2012-09-26T18:55:03+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e5649f9ee99", "title": "Rambling about a new Address Book for Thunderbird", "url": "https://mikeconley.ca/blog/2012/08/23/rambling-about-a-new-address-book-for-thunderbird/", "published_at": "2012-08-23T17:20:01+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564ae0aef4", "title": "No, that’s not “it” for Thunderbird…", "url": "https://mikeconley.ca/blog/2012/07/06/no-thats-not-it-for-thunderbird/", "published_at": "2012-07-06T23:03:07+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564ba70753", "title": "Gecko Profiler now works in Thunderbird Daily", "url": "https://mikeconley.ca/blog/2012/06/15/gecko-profiler-now-works-in-thunderbird-daily/", "published_at": "2012-06-15T19:36:27+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564bc3fc72", "title": "Scratchpad ported to Thunderbird. Kinda.", "url": "https://mikeconley.ca/blog/2012/05/11/scratchpad-ported-to-thunderbird-kinda/", "published_at": "2012-05-11T15:20:51+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564c57e322", "title": "A Slight Redirection", "url": "https://mikeconley.ca/blog/2012/05/07/a-slight-redirection/", "published_at": "2012-05-07T19:51:52+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564c8e6c0f", "title": "Hey, what about Thunderbird’s new address book?", "url": "https://mikeconley.ca/blog/2012/05/01/hey-what-about-thunderbirds-new-address-book/", "published_at": "2012-05-01T20:26:30+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564cff02cc", "title": "Cut the Rope in HTML5 and Javascript", "url": "https://mikeconley.ca/blog/2012/01/10/cut-the-rope-in-html5-and-javascript/", "published_at": "2012-01-10T13:58:35+00:00" }, { "id": "01a0bbbd-c2ef-73bd-acf9-4e564db682c7", "title": "Monkey Island 1: The Secret of Monkey Island running via Javascript", "url": "https://mikeconley.ca/blog/2012/01/08/monkey-island-1-the-secret-of-monkey-island-running-via-javascript/", "published_at": "2012-01-08T21:28:09+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2b291cd1", "title": "Sync Thunderbird with your Google Contacts", "url": "https://mikeconley.ca/blog/2012/01/05/sync-thunderbird-with-your-google-contacts/", "published_at": "2012-01-06T04:21:58+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2c20f1cd", "title": "My Thunderbird / Firefox wallet – one of a kind", "url": "https://mikeconley.ca/blog/2011/12/11/my-thunderbird-firefox-wallet-one-of-a-kind/", "published_at": "2011-12-11T18:45:35+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2c954fe4", "title": "Build Thunderbird Faster on Windows", "url": "https://mikeconley.ca/blog/2011/11/30/build-thunderbird-faster-on-windows/", "published_at": "2011-11-30T15:27:13+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2ce9df89", "title": "Still Alive", "url": "https://mikeconley.ca/blog/2011/11/30/still-alive-2/", "published_at": "2011-11-30T14:54:24+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2cf963a6", "title": "Creating a new Thunderbird Address Book: the feature page, and some literature…", "url": "https://mikeconley.ca/blog/2011/09/07/creating-a-new-thunderbird-address-book-the-feature-page-and-some-literature/", "published_at": "2011-09-07T18:25:24+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2d8c7028", "title": "Whoops – I forgot I was a scientist", "url": "https://mikeconley.ca/blog/2011/08/26/whoops-i-forgot-i-was-a-scientist/", "published_at": "2011-08-26T15:26:23+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2d9eda25", "title": "Fiddling with designs for a future Thunderbird address book", "url": "https://mikeconley.ca/blog/2011/08/25/fidding-with-designs-for-a-future-thunderbird-address-book/", "published_at": "2011-08-25T20:32:40+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2dc06041", "title": "This Pretty Much Made My Day", "url": "https://mikeconley.ca/blog/2011/08/12/this-pretty-much-made-my-day/", "published_at": "2011-08-12T19:09:07+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2e8746ff", "title": "Fiddling with an EDS Provider for Lightning (Calendar)", "url": "https://mikeconley.ca/blog/2011/08/11/fiddling-with-an-eds-provider-for-lightning-calendar/", "published_at": "2011-08-11T15:24:55+00:00" }, { "id": "01a0bbc2-4ab7-71d7-b5c8-886f2f37e687", "title": "It’s Official: Thunderbird will be the default e-mail client for Ubuntu Oneiric", "url": "https://mikeconley.ca/blog/2011/08/10/its-official-thunderbird-will-be-the-default-e-mail-client-for-ubuntu-oneiric/", "published_at": "2011-08-10T18:08:34+00:00" } ] posts Claim your blog
Back to Mozilla – A Blog by Mike Conley
Blog · corpus.blog/blogs/mikeconley.ca/posts

Mozilla – A Blog by Mike Conley

mikeconley.ca

2020

2019

2018

2017

2015

2014

2013

2012

2011