Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://www.rossp.org/feeds/latest/index.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <rss version="2.0"><channel><title>Ross Poulton</title><link>https://www.rossp.org/</link><description></description><lastBuildDate>Thu, 04 Apr 2024 22:10:00 +1100</lastBuildDate><item><title>Our energy-efficient all-electric home</title><link>https://www.rossp.org/blog/all-electric-home/</link><description>&lt;p&gt;Let's get something out of the way first: Our planet is burning, driven especially hard by our reliance on fossil fuels. Where I live in Victoria, Australia, &lt;a href="https://en.wikipedia.org/wiki/Electricity_sector_in_Australia?utm_source=rossp.org&amp;amp;utm_medium=blogs"&gt;we have historically relied on burning black and brown coal to power our state electricity grid&lt;/a&gt;. This is certainly a Bad Thing&lt;small&gt;&lt;sup&gt;TM …&lt;/sup&gt;&lt;/small&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 04 Apr 2024 22:10:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2024-04-04:/blog/all-electric-home/</guid><category>misc</category></item><item><title>Happy 21st, rossp.org!</title><link>https://www.rossp.org/blog/21-years-of-blogging/</link><description>&lt;p&gt;On Thursday 20th March 2003, for reasons that have been lost to the sands of time, I registered the domain rossp.org and started to build a new personal website for myself.&lt;/p&gt;
  3. &lt;p&gt;This wasn’t my first personal site, but it was the one where I shed my younger, grungier …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 20 Mar 2024 12:17:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2024-03-20:/blog/21-years-of-blogging/</guid><category>misc</category><category>meta</category><category>blogging</category><category>anniversaries</category></item><item><title>Picking up a Vinyl hobby in 2024</title><link>https://www.rossp.org/blog/vinyl-records/</link><description>&lt;p&gt;We listen to a fair bit of music in our household. Standing in the middle of my living room I can play almost any song ever released by just yelling into the open air, &lt;em&gt;"Alexa, play me Queen's Greatest Hits"&lt;/em&gt;. The little black fabric cylinder on the side table starts …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 13 Mar 2024 22:12:57 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2024-03-13:/blog/vinyl-records/</guid><category>misc</category></item><item><title>2023 - My Year in Running</title><link>https://www.rossp.org/blog/2023-review-running/</link><description>&lt;p&gt;As I’ve done in the past (&lt;a href="https://www.rossp.org/blog/2016-review-running/"&gt;2016&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2017-review-running/"&gt;2017&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2018-review-running/"&gt;2018&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2019-review-running/"&gt;2019&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2020-review-running/"&gt;2020&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2021-review-running/"&gt;2021&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2022-review-running/"&gt;2022&lt;/a&gt;) I have put together a rear-vision-mirror view on my year in running.&lt;/p&gt;
  4. &lt;p&gt;In a nutshell, my running in 2023 was quieter than I had hoped or planned. I had a few great running blocks, ran a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 23 Jan 2024 20:42:09 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2024-01-23:/blog/2023-review-running/</guid><category>misc</category></item><item><title>Farewell, Djangosites</title><link>https://www.rossp.org/blog/farewell-djangosites/</link><description>&lt;p&gt;The time has come for me to shut down Djangosites.org. This will happen in late January, 2024.&lt;/p&gt;
  5. &lt;p&gt;When I started Djangosites back in 2007, Django was still a relatively young platform (having been an open-source project for only a few years) and besides the Lawrence Journal-World there were few …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 23 Jan 2024 08:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2024-01-23:/blog/farewell-djangosites/</guid><category>misc</category><category>django</category><category>djangosites</category></item><item><title>What I Read in 2023</title><link>https://www.rossp.org/blog/2023-reading-review/</link><description>&lt;p&gt;In the past couple of years I’ve made a conscious effort to read more books and it’s been rewarding. I set a modest goal of 10 books in 2023; I ended up reading 13. As a “non reader” I’m pretty happy with that! &lt;/p&gt;
  6. &lt;p&gt;I’ve been using …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 03 Jan 2024 09:55:46 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2024-01-03:/blog/2023-reading-review/</guid><category>misc</category><category>year-in-review</category><category>reading</category></item><item><title>2022 - My Year in Running</title><link>https://www.rossp.org/blog/2022-review-running/</link><description>&lt;p&gt;As I've done in the past (&lt;a href="https://www.rossp.org/blog/2016-review-running/"&gt;2016&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2017-review-running/"&gt;2017&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2018-review-running/"&gt;2018&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2019-review-running/"&gt;2019&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2020-review-running/"&gt;2020&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2021-review-running/"&gt;2021&lt;/a&gt;) I have put together a rear-vision-mirror view on my year in running.&lt;/p&gt;
  7. &lt;p&gt;I think, like many people, I was hoping that 2022 would be a bit of a refreshing year after two years of Covid-related lockdowns and general …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 28 Jan 2023 01:06:28 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2023-01-28:/blog/2022-review-running/</guid><category>misc</category></item><item><title>2021 - My Year in Running</title><link>https://www.rossp.org/blog/2021-review-running/</link><description>&lt;p&gt;As I've done in the past few years (&lt;a href="https://www.rossp.org/blog/2016-review-running/"&gt;2016&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2017-review-running/"&gt;2017&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2018-review-running/"&gt;2018&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2019-review-running/"&gt;2019&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2020-review-running/"&gt;2020&lt;/a&gt;) I have put together a rear-vision-mirror view on my year in running.&lt;/p&gt;
  8. &lt;p&gt;After the shitstorm that was 2020, 2021 wasn't that much better in a lot of ways. The one positive was that we started to get …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 21 Feb 2022 10:17:46 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2022-02-21:/blog/2021-review-running/</guid><category>misc</category></item><item><title>We need to change our mind more readily.</title><link>https://www.rossp.org/blog/good-consulting-changing-mind/</link><description>&lt;p&gt;Because us consultants are often bought in as experts in our field, it's easy to fall into the trap of assuming we know early what solution we will be putting in place for a client. However it's just that: a trap. It's fine to make a decision quickly, but you …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 10 Oct 2021 14:18:22 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2021-10-10:/blog/good-consulting-changing-mind/</guid><category>misc</category><category>consulting</category><category>professional</category></item><item><title>Why compassion is non-negotiable for good consultants</title><link>https://www.rossp.org/blog/good-consulting-compassion/</link><description>&lt;p&gt;If you’re going to help a client solve a problem, it’s not enough to be &lt;a href="/blog/good-consulting-curiosity/"&gt;curious&lt;/a&gt;. In most cases you’ll need to understand the problem &lt;em&gt;and&lt;/em&gt; have compassion for the person who faces that problem each day.&lt;/p&gt;
  9. &lt;blockquote&gt;
  10. &lt;p&gt;&lt;em&gt;Note: In this post I am referring to software consulting …&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 16 Sep 2021 08:42:46 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2021-09-16:/blog/good-consulting-compassion/</guid><category>misc</category><category>consulting</category><category>professional</category></item><item><title>Why curiosity and inquisitiveness make for a good consultant</title><link>https://www.rossp.org/blog/good-consulting-curiosity/</link><description>&lt;p&gt;There are many attributes that make good consultants &lt;em&gt;good&lt;/em&gt;, but one of my favourites is &lt;strong&gt;curiosity&lt;/strong&gt;. A good consultant is genuinely curious about their client's business, and they to understand not only &lt;em&gt;what&lt;/em&gt; is being done by the business but &lt;em&gt;why&lt;/em&gt;.&lt;/p&gt;
  11. &lt;blockquote&gt;
  12. &lt;p&gt;&lt;em&gt;Note: In this post I am referring to software …&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 13 Sep 2021 17:42:46 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2021-09-13:/blog/good-consulting-curiosity/</guid><category>misc</category><category>consulting</category><category>professional</category></item><item><title>Lockdown Joy - Saturday Quiz</title><link>https://www.rossp.org/blog/saturday-quiz/</link><description>&lt;p&gt;One of the unexpected joys of these Covid-induced lockdowns has been sitting down with my family each weekend to do &lt;a href="https://www.thesaturdayquiz.com.au"&gt;The Saturday Quiz&lt;/a&gt;. &lt;/p&gt;
  13. &lt;p&gt;Sometime during the long lockdowns here in Melbourne last year, a couple of unknown-to-me Melburnites put together a little weekly quiz. 25 questions, once a week, sent …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 06 Sep 2021 18:21:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2021-09-06:/blog/saturday-quiz/</guid><category>misc</category><category>fun</category><category>family</category></item><item><title>2020 - My Year in Running</title><link>https://www.rossp.org/blog/2020-review-running/</link><description>&lt;p&gt;As I’ve done in the past few years (&lt;a href="https://www.rossp.org/blog/2016-review-running/"&gt;2016&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2017-review-running/"&gt;2017&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2018-review-running/"&gt;2018&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2019-review-running/"&gt;2019&lt;/a&gt;) I have put together a rear-vision-mirror view on my year in running.&lt;/p&gt;
  14. &lt;p&gt;There honestly isn’t that much to report from last year. Things were a little... messy. Although my friends and family weren’t directly impacted …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 11 Mar 2021 10:17:46 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2021-03-11:/blog/2020-review-running/</guid><category>misc</category></item><item><title>Amber Electricity Real-time price widget for iOS 14</title><link>https://www.rossp.org/blog/amber-widget/</link><description>&lt;p&gt;&lt;strong&gt;UPDATED MAY 2023&lt;/strong&gt; &lt;em&gt;The code in this post is no longer usable&lt;/em&gt;, as we no longer personally use Amber and &lt;a href="https://app.amber.com.au/developers/"&gt;their API has since changed&lt;/a&gt;. Thank you to Brad Thomson, who got in touch with &lt;a href="https://gist.github.com/bthompson00/6e4dd82cb935715dfd77b36cf41dc5af"&gt;an updated Amber Electric widget&lt;/a&gt; that uses this new API. I can't vouch for how …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 15 Oct 2020 11:19:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2020-10-15:/blog/amber-widget/</guid><category>misc</category></item><item><title>Why Are Runners Obsessed with the Pain Cave?</title><link>https://www.rossp.org/blog/pain-cave-obsession/</link><description>&lt;p&gt;From Outside Magazine, &lt;a href="https://www.outsideonline.com/2192176/why-are-runners-obsessed-with-pain-cave"&gt;Why Are Runners Obsessed with the Pain Cave?&lt;/a&gt; &lt;/p&gt;
  15. &lt;blockquote&gt;
  16. &lt;p&gt;After years of subjecting myself to this masochism, my sense is that runners gravitate toward painful activities because they provide us with opportunities for knowledge. We think pain will reveal something, some evidence of value or commitment to self-improvement …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 03 Jun 2020 03:46:05 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2020-06-03:/blog/pain-cave-obsession/</guid><category>misc</category></item><item><title>2019 - My Year in Running</title><link>https://www.rossp.org/blog/2019-review-running/</link><description>&lt;p&gt;As I’ve done in the past few years (&lt;a href="https://www.rossp.org/blog/2016-review-running/"&gt;2016&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2017-review-running/"&gt;2017&lt;/a&gt;, &lt;a href="https://www.rossp.org/blog/2018-review-running/"&gt;2018&lt;/a&gt;) I have put together a rear-vision-mirror view on my year in running.&lt;/p&gt;
  17. &lt;p&gt;Overall I had a very successful year, but only if you end it in August. I ran a couple of Ultramarathons, set a 5k personal best …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 17 Jan 2020 10:17:46 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2020-01-17:/blog/2019-review-running/</guid><category>misc</category></item><item><title>You should volunteer at your kids school</title><link>https://www.rossp.org/blog/volunteer-reading/</link><description>&lt;p&gt;This morning I &lt;a href="https://twitter.com/RossPoulton/status/1192585669664600065"&gt;wrote up a little series of tweets about volunteering&lt;/a&gt; my time to read at my 8-year-old son's school class. I've had some thoughts bubbling away about this for a while, so instead of yelling them into the void that is Twitter I thought I'd expand a little …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 08 Nov 2019 06:30:00 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2019-11-08:/blog/volunteer-reading/</guid><category>misc</category></item><item><title>Wilsons Prom 60k, 2019</title><link>https://www.rossp.org/blog/wilsons-prom-2019/</link><description>&lt;p&gt;Just about every endurance runner has, at some time or another, been informed by a colleague that said colleague "doesn't even like to drive 30 kilometres, let alone run that far!" What's the threshold for the driving refrain being swapped out for, simply, "you're crazy!"?&lt;/p&gt;
  18. &lt;p&gt;The threshold is, I think …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 02 Jul 2019 04:00:00 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2019-07-02:/blog/wilsons-prom-2019/</guid><category>misc</category></item><item><title>Mount Buller Skyrun 45km, 2019</title><link>https://www.rossp.org/blog/mt-buller-45k-2019/</link><description>&lt;p&gt;&lt;em&gt;"Who is running the 45km course tomorrow?"&lt;/em&gt; asked Paul Ashton, Running Wild race director. From our dinner table in the corner of the Abom bistro our hands nervously went up. &lt;em&gt;"It's a brutal course!"&lt;/em&gt; he continued agrin. Paul's mandatory gear lists are known for being overy thorough (or onerous, depending …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 20 May 2019 09:47:53 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2019-05-20:/blog/mt-buller-45k-2019/</guid><category>misc</category></item><item><title>Two Bays Trail Run 2019 - a few KM too far</title><link>https://www.rossp.org/blog/two-bays-2019/</link><description>&lt;p&gt;The first race I had on my 2019 running calendar was the Two Bays Trail Race, a 56km ultramarathon across the Mornington Peninsula in the peak of the Melbourne summer. In 2017 and 2018 I ran the 28km version of the race, from Dromana to Cape Schanck Lighthouse, and I'd …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 07 May 2019 22:59:59 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2019-05-07:/blog/two-bays-2019/</guid><category>misc</category></item><item><title>2018 - My Year in Running</title><link>https://www.rossp.org/blog/2018-review-running/</link><description>&lt;p&gt;As far as running goes, 2018 was my biggest and best year yet.&lt;/p&gt;
  19. &lt;p&gt;Earlier this year I &lt;a href="/blog/2017-review-running/"&gt;set myself some goals&lt;/a&gt; so now that we've survived another trip around the sun it's time to check in and see how I'm progressing. Just as in earlier years this post is really …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 03 Jan 2019 05:15:45 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2019-01-03:/blog/2018-review-running/</guid><category>misc</category></item><item><title>Ultra-Trail Australia 50km - My First Ultramarathon</title><link>https://www.rossp.org/blog/uta50/</link><description>&lt;p&gt;As the hot water hit my sweaty and salt-crusted hair, I started sobbing. I had no idea finishing my first 50k run would be so emotional, but as the warmth of the shower reached my neck, my back, and finally my tired legs, I realised I was no longer in …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 21 Sep 2018 10:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2018-09-21:/blog/uta50/</guid><category>misc</category><category>running</category></item><item><title>Netlify and Netlify CMS</title><link>https://www.rossp.org/blog/netlify/</link><description>&lt;p&gt;To reduce the number of VMs I pay for each month I've shifted this blog over to &lt;a href="https://www.netlify.com"&gt;Netlify&lt;/a&gt;, powered by &lt;a href="https://getpelican.com"&gt;Pelican&lt;/a&gt; and &lt;a href="https://www.netlifycms.org/"&gt;Netlify CMS&lt;/a&gt;.  After getting a sample blog up and running using an existing template, I exported my existing posts as .md files with some frontmatter and commited it …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 17 Sep 2018 19:58:20 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2018-09-17:/blog/netlify/</guid><category>misc</category></item><item><title>2017 - My Year in Running</title><link>https://www.rossp.org/blog/2017-review-running/</link><description>&lt;p&gt;As is now customary, I'm reviewing last year by waiting until I'm a third of the way through this year. This time in 2017 I &lt;a href="/blog/2016-review-running/"&gt;set myself some goals&lt;/a&gt; and it's worth revisiting the list and setting some new ones. &lt;/p&gt;
  20. &lt;p&gt;2017 was a really good year for my running. I …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 01 May 2018 04:30:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2018-05-01:/blog/2017-review-running/</guid><category>misc</category><category>running</category><category>reviews</category></item><item><title>The Long Way Round - The Plane that Accidentally Circumnavigated the World</title><link>https://www.rossp.org/blog/long-way-round-clipper/</link><description>&lt;p&gt;During World War II, a Pan Am flying boat found itself stranded in Auckland, New Zealand, unable to return to San Francisco due to Pearl Harbour's bombing turning the Pacific into a theatre of war. &lt;/p&gt;
  21. &lt;p&gt;From &lt;a href="https://medium.com/lapsed-historian/the-long-way-round-the-plane-that-accidentally-circumnavigated-the-world-c04ca734c6bb"&gt;John Bull, The Lapsed Historian&lt;/a&gt;:&lt;/p&gt;
  22. &lt;blockquote&gt;
  23. &lt;p&gt;After the Japanese attack on Pearl Harbour, the crew …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 30 Apr 2018 08:54:48 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2018-04-30:/blog/long-way-round-clipper/</guid><category>misc</category><category>flight</category><category>longreads</category></item><item><title>2016 - My Year in Running</title><link>https://www.rossp.org/blog/2016-review-running/</link><description>&lt;blockquote class="instagram-media" data-instgrm-captioned data-instgrm-version="7" style=" float:right;background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:400px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"&gt;&lt;div style="padding:8px;"&gt; &lt;div style=" background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:50%;"&gt; &lt;div style=" background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;"&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=" margin:8px 0 0 0; padding:0 4px;"&gt; &lt;a href="https://www.instagram.com/p/BOq2Uj2hZwg/" style=" color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;" target="_blank"&gt;#2016 in running bibs and bling. More trails than road - didn&amp;#39;t see that coming a year ago. A couple 10k &amp;amp; 21.1k PBs amongst this lot, too.&lt;/a&gt;&lt;/p&gt; &lt;p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;"&gt;A post shared by Ross Poulton (@ross_poulton) on &lt;time style=" font-family:Arial,sans-serif; font-size:14px; line-height:17px;" datetime="2016-12-31T05:18:32+00:00"&gt;Dec 30, 2016 at 9:18pm PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;
  24. &lt;script async defer src="//platform.instagram.com/en_US/embeds.js"&gt;&lt;/script&gt;
  25.  
  26. &lt;p&gt;At the start  of 2016, I &lt;a href="/blog/2015-review/"&gt;set …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 26 May 2017 18:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2017-05-26:/blog/2016-review-running/</guid><category>misc</category><category>running</category><category>personal</category><category>review</category></item><item><title>Why I Hate Running (Hint... it's pizza)</title><link>https://www.rossp.org/blog/why-i-hate-running/</link><description>&lt;p&gt;&lt;a href="http://semi-rad.com/2017/01/i-hate-running/"&gt;Why I Hate Running&lt;/a&gt; by Brendan Leonard at Semi-Rad.com:&lt;/p&gt;
  27. &lt;blockquote&gt;
  28. &lt;p&gt;I hate running, three to four times a week if I have time. I hated it yesterday for a little over an hour.&lt;/p&gt;
  29. &lt;p&gt;Maybe the sickest thing about the whole idea of running is when you sign up for an …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 31 Jan 2017 18:00:00 +0000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2017-01-31:/blog/why-i-hate-running/</guid><category>misc</category></item><item><title>Using Strava to plan your trail run, and hopefully not get too lost</title><link>https://www.rossp.org/blog/trail-run-maps-strava/</link><description>&lt;p&gt;Since starting to run a few years ago, nearly all of my mileage has been on paved roads. My &lt;a href="http://www.parkrun.com.au/diamondcreek/"&gt;local parkrun course&lt;/a&gt; is on concrete, and most big running races are on the road.&lt;/p&gt;
  30. &lt;p&gt;A few months ago, on a whim, I ventured out to &lt;a href="http://parkweb.vic.gov.au/explore/parks/plenty-gorge-park/things-to-do/plenty-gorge-parklands-yellow-gum-park"&gt;Plenty Gorge Park&lt;/a&gt; and had …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 15 Sep 2016 08:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2016-09-15:/blog/trail-run-maps-strava/</guid><category>misc</category><category>running</category></item><item><title>2015 In Review</title><link>https://www.rossp.org/blog/2015-review/</link><description>&lt;p&gt;It doesn't seem that long ago that I wrote up &lt;a href="/blog/2014-review/"&gt;my 2014 list&lt;/a&gt; - but it's obviously far enough in the past that I don't really remember what I was trying to achieve this year, but it's worth a review - even if we &lt;em&gt;are&lt;/em&gt; already six weeks into the new year …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 17 Feb 2016 08:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2016-02-17:/blog/2015-review/</guid><category>misc</category><category>running</category><category>work</category><category>personal</category><category>review</category><category>family</category></item><item><title>Run Melbourne 2015 - My First Half Marathon</title><link>https://www.rossp.org/blog/first-half-marathon/</link><description>&lt;p&gt;&lt;em&gt;Half Marathon&lt;/em&gt; is a pretty stupid name for an event. Those in the know are suitably impressed at the ability of the athlete&lt;sup id="fnref:athlete"&gt;&lt;a class="footnote-ref" href="#fn:athlete"&gt;1&lt;/a&gt;&lt;/sup&gt; to run for 21.1km (13.1 freedom kilometers&lt;sup id="fnref:freedom-kilometers"&gt;&lt;a class="footnote-ref" href="#fn:freedom-kilometers"&gt;2&lt;/a&gt;&lt;/sup&gt;), but everyone else wants to know why you're only running half a race.&lt;/p&gt;
  31. &lt;p&gt;I started running …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 12 Aug 2015 09:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-08-12:/blog/first-half-marathon/</guid><category>misc</category><category>running</category><category>personal</category></item><item><title>Nice UX Touch from Dropbox</title><link>https://www.rossp.org/blog/dropbox-ux/</link><description>&lt;p&gt;This afternoon I tidied up my Dropbox account a little bit - I removed a folder with 80gb of photos I no longer needed stored there (they're backed up in a few other locations) and disconnected some old computers and phones that should no longer have access to my Dropbox.&lt;/p&gt;
  32. &lt;p&gt;When …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 13 Feb 2015 17:07:37 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-02-13:/blog/dropbox-ux/</guid><category>misc</category><category>dropbox</category><category>software</category></item><item><title>Song Exploder - The story of "The Commander Thinks Aloud", by The Long Winters</title><link>https://www.rossp.org/blog/commander-thinks-aloud/</link><description>&lt;p&gt;From &lt;a href="http://songexploder.net/episode-28-the-long-winters/"&gt;Episode 28 of the Song Exploder podcast - &lt;em&gt;The Commander Thinks Aloud&lt;/em&gt; by The Long Winters&lt;/a&gt;:&lt;/p&gt;
  33. &lt;blockquote&gt;
  34. &lt;p&gt;On February 1st, 2003, the Space Shuttle Columbia broke apart while reentering the earth’s atmosphere. John Roderick, singer and songwriter of The Long Winters, wrote “The Commander Thinks Aloud” about that fateful moment …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 10 Feb 2015 21:51:22 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-02-10:/blog/commander-thinks-aloud/</guid><category>misc</category><category>podcasts</category><category>music</category></item><item><title>Move-O-Scope</title><link>https://www.rossp.org/blog/move-o-scope/</link><description>&lt;p&gt;I've been using the &lt;a href="https://moves-app.com/"&gt;Moves app&lt;/a&gt; for a little while to have a bit of fun with recording where I visit, when, and how I get around. At this stage I don't know exactly what I'll do with the data, but I've just come accross the &lt;a href="http://move-o-scope.halftone.co/"&gt;Hello-O-Scope&lt;/a&gt;, a project of …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 04 Feb 2015 19:59:39 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-02-04:/blog/move-o-scope/</guid><category>misc</category><category>applications</category><category>fitness</category></item><item><title>The Benefits of a Lunch Hour Walk</title><link>https://www.rossp.org/blog/lunchtime-walk/</link><description>&lt;p&gt;The New York Times, on &lt;a href="http://well.blogs.nytimes.com/2015/01/21/stressed-at-work-try-a-lunchtime-walk/"&gt;The Benefits of a Lunch Hour Walk&lt;/a&gt;:&lt;/p&gt;
  35. &lt;blockquote&gt;
  36. &lt;p&gt;A new study finds that even gentle lunchtime strolls can perceptibly — and immediately — buoy people’s moods and ability to handle stress at work.&lt;/p&gt;
  37. &lt;p&gt;[...]&lt;/p&gt;
  38. &lt;p&gt;On the afternoons after a lunchtime stroll, walkers said they felt considerably more enthusiastic …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 02 Feb 2015 18:40:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-02-02:/blog/lunchtime-walk/</guid><category>misc</category><category>fitness</category><category>walking</category><category>exercise</category></item><item><title>Self-Hosted Server Status Page with Uptime Robot, S3, and Upscuits</title><link>https://www.rossp.org/blog/uptime-robot-s3/</link><description>&lt;p&gt;For quite a while I've had a public "Status" page online for &lt;a href="http://pingdom.com/"&gt;WhisperGifts&lt;/a&gt; via Pingdom. It basically just shows uptime over the past few days, but given my site is relatively low-volume and not ovely critical to my customers, the $10/month for Pingdom was actually one of my largest …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 20 Jan 2015 21:01:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-01-20:/blog/uptime-robot-s3/</guid><category>misc</category><category>geeky</category><category>code</category><category>servers</category><category>django</category></item><item><title>How I use HuffDuffer as "Instapaper for Audio"</title><link>https://www.rossp.org/blog/huffduffer/</link><description>&lt;p&gt;I like to listen to podcasts. There's the big names I listen to such as This American Life, their spinoff &lt;a href="/blog/serial/"&gt;Serial&lt;/a&gt;, and Radiolab - but I also like listening to ad-hoc pieces of audio that I come across without subscribing to a whole podcast feed.&lt;/p&gt;
  39. &lt;p&gt;For a while now I've been …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 08 Jan 2015 08:18:43 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-01-08:/blog/huffduffer/</guid><category>misc</category><category>geeky</category><category>podcasts</category></item><item><title>2014 In Review</title><link>https://www.rossp.org/blog/2014-review/</link><description>&lt;p&gt;What a year 2014 was. I know we're already a week into the new year, but there's a few things I wanted to list out - however terse some items are - so at least &lt;em&gt;I&lt;/em&gt; can tell in the future what happened, when.&lt;/p&gt;
  40. &lt;p&gt;I won't go into details for most of …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 06 Jan 2015 18:38:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2015-01-06:/blog/2014-review/</guid><category>misc</category><category>running</category><category>meditation</category><category>work</category><category>personal</category><category>family</category></item><item><title>Being a Problem Solver</title><link>https://www.rossp.org/blog/problem-solver/</link><description>&lt;p&gt;David Cramer, in &lt;a href="http://cramer.io/2014/11/17/be-a-problem-solver/"&gt;Be a Problem Solver&lt;/a&gt;&lt;/p&gt;
  41. &lt;blockquote&gt;
  42. &lt;p&gt;For me the best thing that happened to our generation was Google. Not necessarily Google itself, but the idea of search. The Internet is a sprawling amount of unstructured information, and products like Google Search empower people like myself to solve problems they …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 19 Dec 2014 19:59:11 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2014-12-19:/blog/problem-solver/</guid><category>misc</category><category>troubleshooting</category><category>people</category></item><item><title>Serial - We're listeners, not detectives</title><link>https://www.rossp.org/blog/serial/</link><description>&lt;p&gt;I love listening to &lt;em&gt;&lt;a href="http://serialpodcast.org/"&gt;Serial&lt;/a&gt;&lt;/em&gt;, the podcast you've already heard about where &lt;em&gt;This American Life&lt;/em&gt; journalist Sarah Koenig revisits the 15-year-old murder case of Hae Min Lee, uncovering details week by week. Today in The Guardian, Jon Ronson, published an exclusive interview with the family of Adnan Syed, the man …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 08 Dec 2014 17:38:35 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2014-12-08:/blog/serial/</guid><category>misc</category><category>podcasts</category><category>serial</category></item><item><title>Please Offer An Excel Export Option</title><link>https://www.rossp.org/blog/excel/</link><description>&lt;p&gt;Evan Miller, writing in &lt;em&gt;&lt;a href="http://www.evanmiller.org/please-offer-an-excel-export-option.html"&gt;Please Offer An Excel Export Option&lt;/a&gt;&lt;/em&gt;:&lt;/p&gt;
  43. &lt;blockquote&gt;
  44. &lt;p&gt;Data is ultimately meant to be consumed by people. This may come as a shock, but most people are not computer programmers. They are not going to read your CSV with Python and process it with Pandas or Numpy. They …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 08 Dec 2014 09:30:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2014-12-08:/blog/excel/</guid><category>misc</category><category>data</category><category>excel</category><category>csv</category></item><item><title>Kano - Make a Computer</title><link>https://www.rossp.org/blog/kano/</link><description>&lt;p&gt;&lt;a href="http://kano.me/"&gt;Kano&lt;/a&gt;:&lt;/p&gt;
  45. &lt;blockquote&gt;
  46. &lt;p&gt;Kano is a computer you build and code yourself. Lego simple, Raspberry Pi powerful, and hugely fun.&lt;/p&gt;
  47. &lt;/blockquote&gt;
  48. &lt;p&gt;US$149.99, free shipping worldwide.&lt;/p&gt;
  49. &lt;p&gt;I really wish my kids were a bit older - this is exactly the sort of thing I cannot wait to use to introduce them to computers …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 07 Nov 2014 15:57:32 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2014-11-07:/blog/kano/</guid><category>misc</category><category>parenting</category><category>computers</category></item><item><title>What's New With WhisperGifts</title><link>https://www.rossp.org/blog/whispergifts-aug-2014/</link><description>&lt;p&gt;In the past couple of months I've done some fun and interesting stuff over at &lt;a href="https://www.whispergifts.com/"&gt;WhisperGifts&lt;/a&gt;, my side project that lets couples put their bridal gift registry online. It's all built with Django, so I thought I'd share a few neat things I've come across along the way.&lt;/p&gt;
  50. &lt;h3&gt;Bookmarket and …&lt;/h3&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 24 Aug 2014 13:10:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2014-08-24:/blog/whispergifts-aug-2014/</guid><category>misc</category><category>django</category><category>whispergifts</category></item><item><title>Clothes For Tall Men</title><link>https://www.rossp.org/blog/tall-clothes/</link><description>&lt;p&gt;I'm a tall guy. I don't have great fashion sense, but I'm aware that most mens clothes in most stores do not fit me at all. Over the years I have struggled to find clothes that fit me well, so I thought I'd chronicle some recent discoveries in the hope …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 21 Aug 2014 21:06:32 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2014-08-21:/blog/tall-clothes/</guid><category>misc</category><category>tall</category><category>retail</category><category>clothes</category></item><item><title>Payments for Australian Startups - Update regarding Pin Payments requirements</title><link>https://www.rossp.org/blog/payments-pin-update/</link><description>&lt;p&gt;In October last year I &lt;a href="http://www.rossp.org/blog/2013/oct/30/payments/"&gt;put together a summary of payment processing options for Australian startups&lt;/a&gt;, as it was at that point in time.&lt;/p&gt;
  51. &lt;p&gt;One of my favourite providers was &lt;a href="https://pin.net.au"&gt;Pin Payments&lt;/a&gt;, who were the only Australian company in the lineup, however they had two requirements that bugged me: They …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 13 Jan 2014 19:27:42 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2014-01-13:/blog/payments-pin-update/</guid><category>misc</category><category>startups</category><category>payments</category></item><item><title>Djangosites Open Sourced</title><link>https://www.rossp.org/blog/djangosites-code/</link><description>&lt;p&gt;Back in 2008 I started &lt;a href="http://www.djangosites.org/"&gt;djangosites.org&lt;/a&gt; as a listing of websites powered by Django. Prior to that, we relied on a wiki page to see who was using Django, so an image-based website felt like a big improvement.&lt;/p&gt;
  52. &lt;p&gt;Since day one I've promised to release the source code that …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 04 Dec 2013 22:43:37 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-12-04:/blog/djangosites-code/</guid><category>misc</category><category>djangosites</category><category>programming</category><category>code</category><category>django</category><category>opensource</category></item><item><title>Payment processing options for Australian startups - 2013 Edition</title><link>https://www.rossp.org/blog/payments/</link><description>&lt;p&gt;Not that long ago, startups and hobby businesses had very few options for accepting online payments here in Australia. We could sign up with a merchant facility with a bank (with minimum fees over $100/month) and then pay to use eWay or similar gateways (again, for a few hundred …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 30 Oct 2013 20:17:58 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-10-30:/blog/payments/</guid><category>misc</category><category>startups</category><category>payments</category></item><item><title>Eulogy for my father</title><link>https://www.rossp.org/blog/dad/</link><description>&lt;p&gt;Three weeks ago, on September 4th, my father Phillip Harry Poulton passed away at age 58 after a brief battle with cancer of the gall bladder. The toughest thing I've ever done was read part of his eulogy along with my siblings, mum, and Dad's friends.&lt;/p&gt;
  53. &lt;p&gt;I'm very proud of …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 09 Sep 2013 10:38:17 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-09-09:/blog/dad/</guid><category>misc</category><category>family</category><category>dad</category><category>personal</category></item><item><title>Tracking CPC Results in Django</title><link>https://www.rossp.org/blog/cpc/</link><description>&lt;p&gt;Like many startups, I use CPC ads to attract attention to WhisperGifts. I bid a set fee per click for particular search words on Google, and for ads shown to my target demographic on Facebook. I wanted to track an individual signup to their source CPC campaign, so put together …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 01 Aug 2013 08:52:52 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-08-01:/blog/cpc/</guid><category>misc</category><category>advertising</category><category>code</category><category>django</category><category>programming</category></item><item><title>Moving to FastMail</title><link>https://www.rossp.org/blog/fastmail/</link><description>&lt;p&gt;I've been a long-time FastMail user, and they make me happy. For various reasons I never liked using Gmail, although I never tried Google Apps for Domains. Max Masnick recently wrote &lt;a href="http://www.maxmasnick.com/2013/07/19/fastmail/"&gt;a post on his move from Gmail to FastMail&lt;/a&gt; and experience is close to mine - and his migration tips …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 24 Jul 2013 08:53:28 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-07-24:/blog/fastmail/</guid><category>misc</category><category>technology</category><category>gmail</category><category>email</category><category>fastmail</category></item><item><title>New Podcast - Django Roundup</title><link>https://www.rossp.org/blog/roundup/</link><description>&lt;p&gt;&lt;a href="http://lincolnloop.com/"&gt;Lincoln Loop&lt;/a&gt; are one of the earlier Django-based development shops, and their various employees contribute in many ways to the open-source community. One new addition they've just made is the launch of &lt;a href="http://lincolnloop.github.io/round-up/"&gt;Django Round-Up&lt;/a&gt;, a podcast covering the news in the Django community.&lt;/p&gt;
  54. &lt;blockquote&gt;
  55. &lt;p&gt;This is a podcast hosted by &lt;a href="https://github.com/kennethlove"&gt;@kennethlove …&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 19 Jul 2013 21:17:19 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-07-19:/blog/roundup/</guid><category>misc</category><category>programming</category><category>django-readonly-site</category><category>code</category><category>flattery</category><category>django</category><category>podcasts</category></item><item><title>Day &amp; Night Phones (Or - Why I Carry Two Mobile Phones)</title><link>https://www.rossp.org/blog/phones/</link><description>&lt;p&gt;I carry two mobile phones, for most of the week. I have a personal phone which I use to call friends and family, to read my personal e-mail, access social media, and play games. My personal phone is almost always in my pocket, unless I'm in a work meeting or …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 15 Jul 2013 21:57:48 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-07-15:/blog/phones/</guid><category>misc</category><category>technology</category><category>communications</category><category>phones</category></item><item><title>Tools I Can't Live Without (2013 Edition)</title><link>https://www.rossp.org/blog/tools/</link><description>&lt;p&gt;I'm not one to jump from productivity tool to tool to try and become 5% better. In fact I use very few such tools, preferring to keep things simple instead. However over the past few years I've collected a short list of extremely valuable tools that I think it's safe …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 13 Jul 2013 14:00:59 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-07-13:/blog/tools/</guid><category>misc</category><category>software</category><category>useful tools</category></item><item><title>django-readonly-site</title><link>https://www.rossp.org/blog/django-readonly-site/</link><description>&lt;p&gt;Occasionally I need to take WhisperGifts offline, but still show some parts of the site to users. This has included some system changes that require the site to be non-functional for a little while (such as doing a deployment with a bunch of backwards-incompatible changes, or large database migrations) and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 02 Jul 2013 18:29:40 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-07-02:/blog/django-readonly-site/</guid><category>misc</category><category>django-readonly-site</category><category>code</category><category>django</category><category>programming</category></item><item><title>Pure CSS Image Accordian</title><link>https://www.rossp.org/blog/css-image-accordian/</link><description>&lt;p&gt;A little while ago I rebuilt my homepage. The &lt;a href="http://www.rossp.org/"&gt;homepage&lt;/a&gt; became an 'About Me' page; more of a landing page than a blog archive. The blog URLs haven't changed, and it's still there - however the move to a landing page is an acknowledgement that I just don't write blog posts …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 19 Jun 2013 20:17:48 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-06-19:/blog/css-image-accordian/</guid><category>misc</category><category>html</category><category>code</category><category>css</category></item><item><title>Getting Paid in Django with Pin Payments</title><link>https://www.rossp.org/blog/django-pinpayments/</link><description>&lt;p&gt;Payments in Australia are controlled by the &lt;a href="http://en.wikipedia.org/wiki/Big_Four_(banking)#Australia"&gt;so-called "big four" banks&lt;/a&gt;, and it's been difficult for a long time for startups to get merchant facilities to process credit cards online. Accounts cost hundreds of dollars per month, with high transaction costs and minimum transaction volumes thrown in.&lt;/p&gt;
  56. &lt;p&gt;We watched with …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 18 Jun 2013 17:59:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-06-18:/blog/django-pinpayments/</guid><category>misc</category><category>code</category><category>django</category><category>programming</category></item><item><title>I've Screwed My Kid's Identity</title><link>https://www.rossp.org/blog/identity/</link><description>&lt;p&gt;Last month, this website passed it's ten-year anniversary. It's a quiet milestone, but it's humbling to know that my website has been online for more than half of the age of the "Commercial Internet" &lt;a href='#footnote-1' id='footnote-1-ref'&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;. I was online for a long time before 2002, but always in a less organised …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 09 Apr 2013 19:31:19 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-04-09:/blog/identity/</guid><category>misc</category><category>online security</category><category>parenthood</category><category>identity</category></item><item><title>The Definitive Answer, Explained</title><link>https://www.rossp.org/blog/definitive-django-explained/</link><description>&lt;p&gt;Yesterday &lt;a href="http://www.rossp.org/blog/2013/jan/10/definitive-django/"&gt;I posted that Django was almost certainly suitable to use for your project&lt;/a&gt;. I've had some minor push-back, so I thought I'd explain a little.&lt;/p&gt;
  57. &lt;p&gt;When beginning a project, many businesses appear to spend an inordinate amount of time making technical decisions that are often outside their area of …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 11 Jan 2013 07:01:31 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-01-11:/blog/definitive-django-explained/</guid><category>misc</category><category>technical decisions</category><category>business</category><category>django</category></item><item><title>The Definitive Answer To "Can I Use Django For This Project?"</title><link>https://www.rossp.org/blog/definitive-django/</link><description>&lt;p&gt;&lt;em&gt;Short&lt;/em&gt;: Yes.&lt;/p&gt;
  58. &lt;p&gt;&lt;em&gt;Longer&lt;/em&gt;: Almost certainly. If you don't know any technical reason &lt;em&gt;why&lt;/em&gt; Django isn't a good fit, then Django is probably a good fit.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 10 Jan 2013 21:11:09 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2013-01-10:/blog/definitive-django/</guid><category>misc</category><category>technical decisions</category><category>django</category><category>programming</category></item><item><title>WhisperGifts - The Tech That Let Me Launch</title><link>https://www.rossp.org/blog/whispergifts-tech/</link><description>&lt;p&gt;The &lt;a href="https://www.whispergifts.com/"&gt;WhisperGifts re-launch&lt;/a&gt; recently went very well! I promised a more technical follow-up with some details about what's new and what's changed, so if you want to know more about what makes WhisperGifts tick then you'll want to read on. Hint: It's a dash of Django, a pinch of Python …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 05 Jul 2012 08:42:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2012-07-05:/blog/whispergifts-tech/</guid><category>misc</category><category>django</category><category>whispergifts</category><category>tech</category></item><item><title>WhisperGifts Re-Launch</title><link>https://www.rossp.org/blog/whispergifts/</link><description>&lt;p&gt;Way back in 2007, my wife Lauren and I got married and went looking for a good bridal gift registry service. We didn't find one, so we built our own - &lt;a href="https://www.whispergifts.com/"&gt;WhisperGifts&lt;/a&gt; was born. It's now 5 years later, and today we are re-launching with a completely new look &amp;amp; feel and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 23 Jun 2012 20:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2012-06-23:/blog/whispergifts/</guid><category>misc</category><category>whispergifts</category></item><item><title>Why you shouldn't buy cheap watches, and investigate odd sleeping patterns in kids.</title><link>https://www.rossp.org/blog/watch/</link><description>&lt;p&gt;A fun anecdote, showing why you should investigate issues that occur too regularly to be co-incidence.&lt;/p&gt;
  59. &lt;h3&gt;December, 2009 - Tasmania, Australia&lt;/h3&gt;
  60. &lt;p&gt;A few years ago, my wife and I went to Tasmania and walked the stunningly gorgeous &lt;a href="https://en.wikipedia.org/wiki/Overland_Track"&gt;Overland Track&lt;/a&gt;, a 65 kilometer (5-day) walk through isolated north-west-central Tasmania. If you're into …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 18 Jun 2012 16:24:17 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2012-06-18:/blog/watch/</guid><category>misc</category><category>fatherhood</category><category>cheap watches</category><category>hiking</category><category>personal</category></item><item><title>Domain Names For Sale</title><link>https://www.rossp.org/blog/domain-sale/</link><description>&lt;p&gt;I'm cleaning out my servers and have a few domains I want to sell or give away, including opocket.com (and .net, .org); twolines.com.au and thesecretsanta.com.au. E-mail me at ross@rossp.org if you're interested in any of these. (Note: the .com.au domains will require …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 15 Jun 2012 19:24:50 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2012-06-15:/blog/domain-sale/</guid><category>misc</category><category>domains</category><category>tech</category></item><item><title>DjangoSites Move Complete</title><link>https://www.rossp.org/blog/djangosites-moved/</link><description>&lt;p&gt;For the past few years I've hosted all of my projects on a single RimuHosting VPS. It's old, running Debian 5.0, and maintenance and upgrades have become headachy. It isn't easy to run Python 2.7 on old Debian versions, and since I only started using &lt;code&gt;virtualenv&lt;/code&gt; relatively recently …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 15 Jun 2012 19:21:41 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2012-06-15:/blog/djangosites-moved/</guid><category>misc</category><category>djangosites</category><category>devops</category><category>servers</category><category>django</category><category>tech</category></item><item><title>DjangoSites Downtime - Server Move</title><link>https://www.rossp.org/blog/djangosites-move/</link><description>&lt;p&gt;Heads-up: DjangoSites.org will be down, at some point in the next week, while I move it to a new server. Expected downtime is approximately 1 hour to transfer files &amp;amp; database; if your ISP has DNS servers that don't observe TTL then you might not see updates for a while …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 11 Jun 2012 15:47:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2012-06-11:/blog/djangosites-move/</guid><category>misc</category><category>djangosites</category><category>django</category></item><item><title>Key-based cache expiration with Django</title><link>https://www.rossp.org/blog/fragment-caching/</link><description>&lt;p&gt;Last week, the team over at 37Signals wrote up an article on their newly implemented &lt;a href="http://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works"&gt;Key-based cache expiration&lt;/a&gt; system and it hit me: It's such a simple idea with obvious benefits, why hadn't I implemented a similar caching mechanism before?  Being a Django user, the Rails code didn't make much …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 29 Feb 2012 22:05:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2012-02-29:/blog/fragment-caching/</guid><category>misc</category><category>django</category><category>caching</category></item><item><title>Enabling your sales team with Mobile CRM</title><link>https://www.rossp.org/blog/mobile-crm/</link><description>&lt;p&gt;My day job is as a CRM consultant for &lt;a href="http://www.pa.com.au/microsoft/"&gt;Professional Advantage&lt;/a&gt;. I help companies implement the Microsoft Dynamics CRM platform so that they can streamline their business processes such as sales pipeline management, helpdesk / service management, and marketing automation.&lt;/p&gt;
  61. &lt;p&gt;I've just written a  post over on the &lt;a href="http://blog.pa.com.au/"&gt;PA Blog&lt;/a&gt; about …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 23 Dec 2011 09:40:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2011-12-23:/blog/mobile-crm/</guid><category>misc</category><category>crm</category><category>work</category><category>pa</category><category>mobility</category></item><item><title>2011 In Review</title><link>https://www.rossp.org/blog/2011-review/</link><description>&lt;p&gt;I'm not one to blog about personal topics, but I have to make an exception as 2011 has been a heck of a year on a number of fronts.&lt;/p&gt;
  62. &lt;p&gt;This is a pretty long post, so bookmark it if you're on an iPhone or just skip it entirely if you're …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 21 Dec 2011 08:40:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2011-12-21:/blog/2011-review/</guid><category>misc</category><category>travel</category><category>work</category><category>personal</category></item><item><title>Small open-source release - django-menu</title><link>https://www.rossp.org/blog/django-menu/</link><description>&lt;p&gt;Many moons ago on this blog I wrote about a simple &lt;a href="/blog/2007/nov/27/menus/"&gt;menuing system for Django&lt;/a&gt;. For the sake of convenience, I've just packaged up that code (plus a few minor improvements) into a package named &lt;a href="https://github.com/RossP/django-menu"&gt;django-menu&lt;/a&gt; which is also available via PyPi with &lt;code&gt;pip install django-menu&lt;/code&gt;. Basic documentation is included …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 06 Nov 2011 10:50:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2011-11-06:/blog/django-menu/</guid><category>misc</category><category>menus</category><category>open-source</category><category>code</category><category>github</category><category>django</category></item><item><title>django-helpdesk</title><link>https://www.rossp.org/blog/django-helpdesk/</link><description>&lt;p&gt;A while ago I released a helpdesk tool that I use to manage support requests, under the name of Jutda Helpdesk (named after my &lt;a href="http://www.jutda.com.au/"&gt;small consulting company&lt;/a&gt;). The project has received a slow but steady stream of patches and bug fixes, however it's always been a little tricky to manage …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 27 Jan 2011 21:31:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2011-01-27:/blog/django-helpdesk/</guid><category>misc</category><category>jutda</category><category>django-helpdesk</category><category>open-source</category><category>django</category></item><item><title>DjangoSites Deployment Statistics</title><link>https://www.rossp.org/blog/stats/</link><description>&lt;p&gt;Every person that submits a site to &lt;a href="http://www.djangosites.org/"&gt;DjangoSites&lt;/a&gt; gets a chance to include details about how they deployed their website: what database they use, what version of Django they use, and so on.&lt;/p&gt;
  63. &lt;p&gt;The aggregated statistics are now online for all to see. The deployment details for individual websites are …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 23 Jan 2011 15:39:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2011-01-23:/blog/stats/</guid><category>misc</category><category>djangosites</category><category>django</category><category>stats</category></item><item><title>Gracious E-Mail Bounce Handling in Django with Postmark</title><link>https://www.rossp.org/blog/django-bounces-postmark/</link><description>&lt;p&gt;Recently I've been on a quest to simplify the way I deliver my websites to my customers. Not that my customers know: the primary changes are relating to server monitoring, being proactive about a few things, and getting rid of elements that I don't understand.&lt;/p&gt;
  64. &lt;p&gt;One of the things I …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 11 Jun 2010 18:25:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2010-06-11:/blog/django-bounces-postmark/</guid><category>misc</category><category>email</category><category>django</category><category>postmark</category></item><item><title>Update Your DjangoSites Screenshots When You Want</title><link>https://www.rossp.org/blog/djangosites-screenshots/</link><description>&lt;p&gt;You can now update your &lt;a href="http://www.djangosites.org/"&gt;DjangoSites&lt;/a&gt; website screenshot by simply editing your listing and ticking the box that says "Re-do Screenshot".&lt;/p&gt;
  65. &lt;p&gt;To edit a website, first log in to DjangoSites using your username or OpenID. Once logged in, click 'My Sites' in the navigation bar, then click on the website …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 01 Jun 2009 19:24:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-06-01:/blog/djangosites-screenshots/</guid><category>misc</category><category>djangosites</category><category>django</category></item><item><title>Django Site of the Week - The A.V. Club</title><link>https://www.rossp.org/blog/sotw-av-club/</link><description>&lt;p&gt;For various reasons I haven't been able to post a Django Site of the Week for quite a while now, which is a little embarrassing. I've had this little interview sitting in my inbox for over a month, and I've only just been able to write it up and get …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 08 Apr 2009 19:04:03 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-04-08:/blog/sotw-av-club/</guid><category>misc</category><category>sotw</category><category>django</category></item><item><title>The Django Deployment Survey - How Are You Hosting Django Websites?</title><link>https://www.rossp.org/blog/django-deployment/</link><description>&lt;p&gt;According to the official Django Documentation, there are around a half-dozen documented and supported ways of deploying Django in production environments. The recommended way these days is with Apache and mod_wsgi, but there are still a whole bunch of decisions that one must make when it comes to making their …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 06 Apr 2009 19:27:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-04-06:/blog/django-deployment/</guid><category>misc</category><category>djangosites</category><category>deployment</category><category>survey</category><category>django</category></item><item><title>Django Site of the Week - Deskography</title><link>https://www.rossp.org/blog/sotw-deskography/</link><description>&lt;p&gt;Seeing how other people work is something that seems to be of interest to most developers. Whether it's because they want to become better workers themselves or because they're somewhat voyeuristic is open to debate - either way, Django-powered website &lt;a href="http://www.deskography.org/"&gt;Deskography&lt;/a&gt; is a well-designed social desk-sharing website. This week, I spoke …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 02 Feb 2009 20:02:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-02-02:/blog/sotw-deskography/</guid><category>misc</category><category>sotw</category><category>django</category></item><item><title>Full-text searching in Django with PostgreSQL and tsearch2</title><link>https://www.rossp.org/blog/django-postgresql-fulltext/</link><description>&lt;p&gt;Recently, I have wanted to improve the searching ability in a number of my projects. I've often added a search box that simply does an &lt;code&gt;icontains&lt;/code&gt; filter, which works fine for small sites but doesn't scale due to the inefficiency of matching text with basic SQL queries. The plus side …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 28 Jan 2009 19:01:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-01-28:/blog/django-postgresql-fulltext/</guid><category>misc</category><category>fulltext</category><category>searching</category><category>django</category><category>tutorial</category></item><item><title>Django Site of the Week - ForecastWatch</title><link>https://www.rossp.org/blog/sotw-forecastwatch/</link><description>&lt;p&gt;Eric Floehr is the man behind &lt;a href="http://forecastwatch.com/"&gt;ForecastWatch&lt;/a&gt; and &lt;a href="http://forecastadvisor/"&gt;ForecastAdvisor&lt;/a&gt;, two Django-powered weather websites that aggregate and analyse weather forecasts to compare their accuracy on an ongoing basis. This week, I spoke to Eric about the history behind his sites, how he handles massive data sets, and his conversion from Ruby …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 27 Jan 2009 21:24:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-01-27:/blog/sotw-forecastwatch/</guid><category>misc</category><category>sotw</category><category>djangosotw</category><category>django</category></item><item><title>Django Site of the Week - ShutterCal</title><link>https://www.rossp.org/blog/sotw-shuttercal/</link><description>&lt;p&gt;&lt;a href="http://shuttercal.com/"&gt;ShutterCal&lt;/a&gt; is a photo sharing site with a difference - it encourages contributors to upload one photo every day to help people reach a goal: whether that may be to improve their photography, watch themselves evolve over a year, or remember people and places they visit. ShutterCal started in 2007, and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 19 Jan 2009 22:55:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-01-19:/blog/sotw-shuttercal/</guid><category>misc</category><category>sotw</category><category>django</category></item><item><title>Django SOTW Moving to Mondays</title><link>https://www.rossp.org/blog/sotw-monday/</link><description>&lt;p&gt;To better fit with both my own way of doing things and with general web browsing patterns of the Django SOTW public, I'm moving the SOTW to Mondays rather than Saturdays.&lt;/p&gt;
  66. &lt;p&gt;You can expect new interviews to go live on Monday evenings (Australian EST) which means our US visitors should …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 17 Jan 2009 11:46:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-01-17:/blog/sotw-monday/</guid><category>misc</category><category>sotw</category><category>twitter</category><category>django</category></item><item><title>Django Site of the Week - Represent</title><link>https://www.rossp.org/blog/sotw-represent/</link><description>&lt;p&gt;&lt;a href="http://prototype.nytimes.com/represent/"&gt;Represent&lt;/a&gt; is a new website prototype from the New York Times that provides New York residents with information about the whereabouts of their elected representatives. What's interesting about this website is that it's one of the first large-scale sites to implement &lt;a href="http://geodjango.org/"&gt;GeoDjango&lt;/a&gt; for spatially-aware applications. This week, &lt;a href="http://djangositeoftheweek.com/represent/"&gt;I spoke with …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 10 Jan 2009 12:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-01-10:/blog/sotw-represent/</guid><category>misc</category><category>sotw</category><category>django</category></item><item><title>Django Site of the Week - EveryBlock</title><link>https://www.rossp.org/blog/sotw-everyblock/</link><description>&lt;p&gt;The &lt;a href="http://djangositeoftheweek.com/"&gt;Django Site of the Week&lt;/a&gt; is back after a Christmas-induced break with an interview with &lt;a href="http://holovaty.com/"&gt;Adrian Holovaty&lt;/a&gt;. Adrian is no stranger to Django, and his name is known throughout the community as one of the brains behind Django's birth and subsequent open-source release. His latest project &lt;a href="http://www.everyblock.com/"&gt;&lt;em&gt;EveryBlock&lt;/em&gt;&lt;/a&gt; is the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 03 Jan 2009 12:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2009-01-03:/blog/sotw-everyblock/</guid><category>misc</category><category>sotw</category><category>djangosotw</category><category>django</category><category>community</category></item><item><title>Django Site of the Week - Ooh-Ga-Boo-Ga</title><link>https://www.rossp.org/blog/sotw-oohgabooga/</link><description>&lt;p&gt;For the second Django SOTW, I had a chat to Bruce Kroeze about one of his &lt;a href="http://www.satchmoproject.com/"&gt;Satchmo&lt;/a&gt; projects, &lt;a href="http://djangositeoftheweek.com/oohgabooga/"&gt;Ooh-Ga-Boo-Gah&lt;/a&gt;. It's a great match of cool design and technical wizardry.&lt;/p&gt;
  67. &lt;p&gt;For the un-initiated, Satchmo is one of Django's 'killer apps', providing an e-commerce platform that enables Django-powered shopping sites to be …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 20 Dec 2008 12:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-12-20:/blog/sotw-oohgabooga/</guid><category>misc</category><category>djangosites</category><category>djangosotw</category><category>satchmo</category><category>django</category></item><item><title>Dynamic ModelForms in Django</title><link>https://www.rossp.org/blog/modelforms/</link><description>&lt;p&gt;For an ongoing project I am implementing basic advertising functionality, where I define a number of positions in the page and advertisers can self-serve to create an advertisement to fit those positions.&lt;/p&gt;
  68. &lt;p&gt;Each 'Position' can have different attributes turned on or off. For example, a 'sidebar' ad may permit an …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 15 Dec 2008 19:22:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-12-15:/blog/modelforms/</guid><category>misc</category><category>django</category><category>forms</category><category>modelform</category><category>newforms</category></item><item><title>Django Site of the Week</title><link>https://www.rossp.org/blog/djangosotw/</link><description>&lt;p&gt;Since I started DjangoSites over a year ago, the response has been fantastic. I used to approve a handful of websites a week, recently it's more like a half-dozen a day.&lt;/p&gt;
  69. &lt;p&gt;I've decided that a bunch of those websites are just awesome, and I wanted to have a chat with …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 14 Dec 2008 11:15:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-12-14:/blog/djangosotw/</guid><category>misc</category><category>djangosites</category><category>djangosotw</category><category>django</category></item><item><title>Business Cards!</title><link>https://www.rossp.org/blog/business-cards/</link><description>&lt;p&gt;I've had a few meetings recently relating to &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt;, so I figured I should have some of my own business cards. I went with a nice simple design with sparse information, although these ones are straight off a digital printer so colour quality isn't quite what I wanted. For the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 13 Dec 2008 11:26:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-12-13:/blog/business-cards/</guid><category>misc</category><category>business cards</category><category>moleskine</category></item><item><title>Django Site of the Week - Suggestions Wanted</title><link>https://www.rossp.org/blog/django-sotw/</link><description>&lt;p&gt;Over at &lt;a href="http://www.djangosites.org/"&gt;DjangoSites&lt;/a&gt; there is a steady flow of new websites, with a handful showing up every single day. Something really cool is that a growing number of these are either commercial websites that are using Django to make money, or they are very serious in terms of code-base, development …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 28 Oct 2008 18:25:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-10-28:/blog/django-sotw/</guid><category>misc</category><category>djangosites</category><category>djangosotw</category><category>django</category></item><item><title>Jutda Helpdesk - A Django-Powered Ticket Tracker for Small Enterprise</title><link>https://www.rossp.org/blog/open-source-django-helpdesk/</link><description>&lt;p&gt;I'm a firm believer in providing a great customer support experience to your customers, so when I needed a way to manage customer requests for &lt;a href="http://www.whispergifts.com/"&gt;WhisperGifts&lt;/a&gt;, I began putting together an in-house solution.&lt;/p&gt;
  70. &lt;p&gt;There are a number of great open-source helpdesk packages available, however most of them are written in …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 19 Oct 2008 13:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-10-19:/blog/open-source-django-helpdesk/</guid><category>misc</category><category>jutda</category><category>helpdesk</category><category>tickets</category><category>django</category></item><item><title>How I Moved My Commercial Projects to Newforms-Admin</title><link>https://www.rossp.org/blog/newforms/</link><description>&lt;p&gt;My projects were all running on an SVN checkout from late April 2007, after the Queryset-refactor branch was merged into trunk. This meant that I had to make a number of changes, on a public server, to incorporate modifications to file uploads, generic create/update views, and more.&lt;/p&gt;
  71. &lt;p&gt;In this …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 23 Jul 2008 21:12:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-07-23:/blog/newforms/</guid><category>misc</category><category>django</category><category>programming</category><category>newforms</category></item><item><title>DjangoSites is 1337</title><link>https://www.rossp.org/blog/djangosites-1337/</link><description>&lt;p&gt;It's kind of nerdy and geeky, but we've just passed the 1337th approved site on &lt;a href="http://www.djangosites.org/"&gt;DjangoSites&lt;/a&gt;.&lt;/p&gt;
  72. &lt;p&gt;The lucky submission was &lt;a href="http://www.djangosites.org/s/www-mychinet-com/"&gt;Chinet&lt;/a&gt;, the website for a set of environmentally friendly disposable tableware.&lt;/p&gt;
  73. &lt;p&gt;From glancing at the websites as they're approved, I'm noticing the quality of design of many websites improving compared …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 01 Jun 2008 12:07:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-06-01:/blog/djangosites-1337/</guid><category>misc</category><category>djangosites</category><category>django</category></item><item><title>DjangoSites Gets New Shoes</title><link>https://www.rossp.org/blog/djangosites-design/</link><description>&lt;p&gt;I &lt;a href="/blog/2007/jun/20/introducing-djangosites/"&gt;launched DjangoSites publicly&lt;/a&gt; last June, and since then we've had over 1,250 websites submitted to what has become the ultimate directory of Django-powered websites.&lt;/p&gt;
  74. &lt;p&gt;The look and feel of the site didn't seem to have the same &lt;em&gt;zing&lt;/em&gt; that many of the listed sites had though, so after …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 30 Apr 2008 19:22:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-04-30:/blog/djangosites-design/</guid><category>misc</category><category>design</category><category>djangosites</category><category>hosting</category><category>django</category><category>openid</category></item><item><title>DjangoSites Gets OpenID Support</title><link>https://www.rossp.org/blog/djangosites-openid/</link><description>&lt;p&gt;OpenID is, in my opinion, critical in the success of an open web. It allows an individual to access websites without providing that website with a password, and it provides a single identity across non-homogeneous websites.&lt;/p&gt;
  75. &lt;p&gt;Generally speaking, it also makes the signup process for a website much simpler. Rather …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 17 Apr 2008 17:44:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-04-17:/blog/djangosites-openid/</guid><category>misc</category><category>djangosites</category><category>django</category><category>openid</category></item><item><title>Weblog Updates</title><link>https://www.rossp.org/blog/tumblog/</link><description>&lt;p&gt;My previous blog was my first ever Django application. It worked well, but it was beginning to feel a little &lt;em&gt;clumsy&lt;/em&gt;.&lt;/p&gt;
  76. &lt;p&gt;For example, I had to write posts in HTML. Markdown would be &lt;em&gt;much&lt;/em&gt; nicer. I also had separate applications to syndicate links, blog posts, photos, and more. It all …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 10 Apr 2008 17:25:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-04-10:/blog/tumblog/</guid><category>misc</category><category>tumblog</category><category>meta</category><category>django</category></item><item><title>WhisperGifts Sees the Light of Day</title><link>https://www.rossp.org/blog/whispergifts-launch/</link><description>&lt;p&gt;I got married in March 2007, within a few months of a number of friends. We all shared our trials and tribulations as we each prepared for our big events, and a number of common issues arose. One of these common points of confusion was the preparation of a bridal …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 16 Mar 2008 22:10:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-03-16:/blog/whispergifts-launch/</guid><category>misc</category><category>jutda</category><category>django</category><category>wedding</category><category>whispergifts</category></item><item><title>Jutda - Django-powered Solution Provider</title><link>https://www.rossp.org/blog/jutda/</link><description>&lt;p&gt;In my recent &lt;a href="/blog/2008/feb/11/catchup/"&gt;catchup blog post&lt;/a&gt; I mentioned in passing a few projects including Jutda and WhisperGifts. Now, I'd like to formally introduce the former of these (with the latter coming &lt;em&gt;very soon now&lt;/em&gt;)&lt;/p&gt;
  77. &lt;p&gt;When I'm not 'at work', I spend a significant amount of time working on other projects …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 16 Mar 2008 14:59:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-03-16:/blog/jutda/</guid><category>misc</category><category>jutda</category><category>geeky</category><category>programming</category><category>personal</category><category>django</category></item><item><title>Overdue Catchup</title><link>https://www.rossp.org/blog/catchup/</link><description>&lt;p&gt;I've had a very busy few months in every way conceivable - everything from my Django projects, to my day job, to life as a whole has been running in fast-forward. Here's a quick summary of the &lt;/p&gt;
  78. &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.djangosites.org/"&gt;DjangoSites&lt;/a&gt;&lt;/strong&gt; is coming along very well, with 1040 sites listed as of this evening …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 11 Feb 2008 20:49:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2008-02-11:/blog/catchup/</guid><category>misc</category><category>djangosites</category><category>geeky</category><category>whispergifts</category><category>programming</category><category>django</category><category>openid</category></item><item><title>Django Menuing System</title><link>https://www.rossp.org/blog/menus/</link><description>&lt;p&gt;On most of the websites that I've built with Django, I have had a desire to be able to manage little elements of the website from the Django administration screen without having to touch my templates. My intent is for the templates to become the presentation vehicle, with anything that …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 27 Nov 2007 21:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-11-27:/blog/menus/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Wanted - Engaged Djangonauts</title><link>https://www.rossp.org/blog/wanted-engaged-djangonauts/</link><description>&lt;p&gt;I've spent the last year or so building a Django-powered bridal gift registry service. It allows you to easily list desired gifts in a simple online format, for your guests to select and purchase for you.&lt;/p&gt;
  79. &lt;p&gt;It works pretty well - my wife let me use it for our own wedding …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 04 Nov 2007 23:27:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-11-04:/blog/wanted-engaged-djangonauts/</guid><category>misc</category><category>django</category><category>wedding</category></item><item><title>DjangoPoweredSites Grows Up</title><link>https://www.rossp.org/blog/djangopoweredsites-grows-up/</link><description>&lt;p&gt;After some e-mail discussions with &lt;a href="http://www.jacobian.org/"&gt;Jacob Kaplan-Moss&lt;/a&gt; from the &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; team, I've moved all of the sites listed on the old DjangoPoweredSites wiki page to &lt;a href="http://www.djangosites.org/"&gt;Djangosites.org&lt;/a&gt;.&lt;/p&gt;
  80. &lt;p&gt;It took a fair bit of time to weed out some not-working pages and expired domains (which have, of course, been purchased by …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 04 Nov 2007 19:37:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-11-04:/blog/djangopoweredsites-grows-up/</guid><category>misc</category><category>djangosites</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Easy Multi-Part E-Mails with Django</title><link>https://www.rossp.org/blog/easy-multi-part-e-mails-django/</link><description>&lt;p&gt;Every time I send e-mail with Django I seem to do it slightly differently, especially when it comes to sending HTML-based emails.&lt;/p&gt;
  81. &lt;p&gt;So, I did what any good Djangonaut does and wrote a quick function that wraps up sending of a multi-part HTML / Text e-mail from templates you create.&lt;/p&gt;
  82. &lt;p&gt;Firstly …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 25 Oct 2007 15:30:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-10-25:/blog/easy-multi-part-e-mails-django/</guid><category>misc</category><category>geeky</category><category>email</category><category>django</category><category>programming</category></item><item><title>Django - Multiple Aliases for a Single Website</title><link>https://www.rossp.org/blog/django-multiple-aliases-single-website/</link><description>&lt;p&gt;In these days of cheap domains, it's often desirable to own multiple domains for a single website. You've probably got each of the .com, .net and .org domain names, along with a country-specific domain. You want each of these to present exactly the same website to the world, but good …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 03 Oct 2007 07:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-10-03:/blog/django-multiple-aliases-single-website/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Django - A Diverse Community</title><link>https://www.rossp.org/blog/django-diverse-community/</link><description>&lt;p&gt;Scott Barnham, one of the guys behind the recently-launched &lt;a href="http://www.djangogigs.com/"&gt;Django Gigs&lt;/a&gt; website, has posted some &lt;a href="http://scottbarnham.com/blog/2007/09/29/django-developers-we-are-the-world/"&gt;statistics from visitors to the Gigs website&lt;/a&gt; over the past few days. I've put together some similar stats for the &lt;a href="http://www.djangosites.org/latest/"&gt;Django Sites&lt;/a&gt; website, which has been online for a few months now.&lt;/p&gt;
  83. &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; All figures …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 01 Oct 2007 11:49:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-10-01:/blog/django-diverse-community/</guid><category>misc</category><category>djangosites</category><category>geeky</category><category>django</category></item><item><title>Mixing OpenID into Django's authentication system</title><link>https://www.rossp.org/blog/mixing-openid-django-auth/</link><description>&lt;blockquote&gt;
  84. &lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: This code is now outdated, and it's certainly not the best way to do OpenID in Django. I recommend you take a look at &lt;a href="http://code.google.com/p/django-authopenid"&gt;django-authopenid&lt;/a&gt;, a fantastic registration system that combines Django's authentication framework with OpenID sign-in. &lt;em&gt;Ross, 17th April 2008&lt;/em&gt;&lt;/p&gt;
  85. &lt;/blockquote&gt;
  86. &lt;p&gt;According to the &lt;a href="http://www.openid.net/"&gt;OpenID website&lt;/a&gt;, from a consumers …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 20 Aug 2007 07:30:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-08-20:/blog/mixing-openid-django-auth/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category><category>openid</category></item><item><title>Validating a Username via jQuery with Ajax</title><link>https://www.rossp.org/blog/django-ajax-username-validation/</link><description>&lt;p&gt;It all starts when John hits your website and clicks the big 'Register' link. John types his name, '&lt;em&gt;John&lt;/em&gt;' into the username box, and hands over his e-mail address and password (unless you're cool and hip, and you let him &lt;a href="/blog/2007/aug/20/mixing-openid-django-auth/"&gt;sign up using his OpenID&lt;/a&gt;) and hit 'Submit', just like …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 20 Aug 2007 07:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-08-20:/blog/django-ajax-username-validation/</guid><category>misc</category><category>design</category><category>geeky</category><category>ajax</category><category>programming</category><category>javascript</category><category>django</category><category>jquery</category></item><item><title>DjangoSites - We Want YOU!</title><link>https://www.rossp.org/blog/djangosites-we-want-you/</link><description>&lt;p&gt;I've just approved another batch of sites bringing the total to &lt;strong&gt;260&lt;/strong&gt;. I've also had to delete a few sites that were submitted due to a number of reasons: A handful were submitted that are obviously not Django (providing your link as /index.php is a give away) and a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 13 Aug 2007 10:04:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-08-13:/blog/djangosites-we-want-you/</guid><category>misc</category><category>djangosites</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Djangosites Updates</title><link>https://www.rossp.org/blog/djangosites-updates/</link><description>&lt;p&gt;Last week I &lt;a href="http://www.rossp.org/blog/2007/jun/20/introducing-djangosites/"&gt;launched djangosites.org&lt;/a&gt;, a new website to show off other websites built with &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt;. Uptake has been great (as I write this there are 125 websites listed) and feedback has been even better.&lt;/p&gt;
  87. &lt;p&gt;Firstly there are more RSS feeds. You can view RSS feeds for &lt;a href="http://www.djangosites.org/rss/latest/"&gt;latest entries …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 26 Jun 2007 12:11:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-06-26:/blog/djangosites-updates/</guid><category>misc</category><category>djangosites</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Introducing Djangosites.org</title><link>https://www.rossp.org/blog/introducing-djangosites/</link><description>&lt;p&gt;Until now, if you wanted to see a few sites that were built with Django you had to wade through a list of a few hundred links on a &lt;a href="http://code.djangoproject.com/wiki/DjangoPoweredSites"&gt;wiki page&lt;/a&gt;. The links were somewhat organised into categories, but no matter who you ask that's a boring job.&lt;/p&gt;
  88. &lt;p&gt;&lt;a href="http://www.djangosites.org/"&gt;Djangosites.org …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 20 Jun 2007 20:05:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-06-20:/blog/introducing-djangosites/</guid><category>misc</category><category>djangosites</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Using The WebThumb API with Python</title><link>https://www.rossp.org/blog/using-webthumb-api-python/</link><description>&lt;p&gt;First things first: Get an API key from &lt;a href="http://bluga.net/webthumb/"&gt;bluga.net&lt;/a&gt; by signing up for an account.&lt;/p&gt;
  89. &lt;p&gt;Next, drop the following code into webthumb.py and enter your API key.&lt;/p&gt;
  90. &lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="sd"&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
  91. &lt;span class="sd"&gt;Python interface to Webthumb API (see http://bluga.net/webthumb/)&lt;/span&gt;
  92.  
  93. &lt;span class="sd"&gt;By Ross Poulton - www.rossp.org&lt;/span&gt;
  94.  
  95. &lt;span class="sd"&gt;License: Use this how you …&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 13 Jun 2007 09:00:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-06-13:/blog/using-webthumb-api-python/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Wedding Registry Post Mortem</title><link>https://www.rossp.org/blog/wedding-registry-post-mortem/</link><description>&lt;p&gt;I married by lovely wife on March 31st of this year. To handle our gift registry, I used my new Registry website (which I've &lt;a href="/blog/2007/feb/14/whats-wrong-with-bridal-registries/"&gt;spoken about in the past&lt;/a&gt;). Although I'm not quite ready to go live, I've analysed some of the data from our usage of the Registry system …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 14 May 2007 07:01:41 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-05-14:/blog/wedding-registry-post-mortem/</guid><category>misc</category><category>wedding</category><category>personal</category></item><item><title>Using Subdomains with Django</title><link>https://www.rossp.org/blog/using-subdomains-django/</link><description>&lt;p&gt;As a part of my &lt;a href="/blog/2007/feb/14/whats-wrong-with-bridal-registries/"&gt;previously mentioned upcoming bridal gift registry project&lt;/a&gt; (which, by the way, performed outstandingly in it's most important private beta ever - my own wedding) I'm giving each user (in this sense, a user is a couple close to getting married) their own subdomain off of the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 28 Apr 2007 11:30:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-04-28:/blog/using-subdomains-django/</guid><category>misc</category><category>javascript</category><category>geeky</category><category>programming</category></item><item><title>Helping Sort Django's Error Emails</title><link>https://www.rossp.org/blog/helping-sort-djangos-error-emails/</link><description>&lt;p&gt;When you run a &lt;a href="http://www.djangoproject.com/"&gt;Django powered website&lt;/a&gt; with debugging turned off, whenever a condition happens that would cause a HTTP 500 Error (such as an uncaught exception), the administrators receive an e-mail with a traceback and other relevant details to help debug the issue. These e-mails are really, &lt;strong&gt;really&lt;/strong&gt; handy …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 28 Feb 2007 19:43:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-02-28:/blog/helping-sort-djangos-error-emails/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>What's Wrong with Bridal Registries</title><link>https://www.rossp.org/blog/whats-wrong-with-bridal-registries/</link><description>&lt;p&gt;Next month, I'm getting married. For reasons unknown to me, getting married costs money. &lt;strong&gt;Lots&lt;/strong&gt; of money.&lt;/p&gt;
  96. &lt;p&gt;That's not a huge problem, and to be honest it's not overly surprising. It just strikes me as odd that an entire industry is built around charging exhorbitant amounts of cash for services …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 14 Feb 2007 08:04:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-02-14:/blog/whats-wrong-with-bridal-registries/</guid><category>misc</category><category>wedding</category><category>personal</category></item><item><title>Blog Spam Protection</title><link>https://www.rossp.org/blog/blog-spam-protection/</link><description>&lt;p&gt;I currently manually review and delete comment spam every few days. It doesn't take long, it's just frustrating.&lt;/p&gt;
  97. &lt;p&gt;When you regularly repeat an action over a long period of time, you begin to notice patterns of action. What I've noticed is that most comment spam is being posted to older …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sat, 13 Jan 2007 14:38:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2007-01-13:/blog/blog-spam-protection/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Simple Javascript Spell Checking</title><link>https://www.rossp.org/blog/simple-javascript-spell-checking/</link><description>&lt;p&gt;The solution I chose in the end was &lt;a href="http://spellerpages.sourceforge.net/"&gt;Speller Pages&lt;/a&gt;, a very simple javascript-driven user interface with a number of different server-side options, each using the &lt;a href="http://aspell.net/"&gt;GNU Aspell&lt;/a&gt; application to do the actual spell checking.&lt;/p&gt;
  98. &lt;p&gt;Installation is extremely simple. Download the archive, place it on your web server (under /speller …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Sun, 10 Dec 2006 11:41:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-12-10:/blog/simple-javascript-spell-checking/</guid><category>misc</category><category>javascript</category><category>geeky</category><category>programming</category></item><item><title>The Pareto principle (Or, why the 80/20 rule always bites us in the ass)</title><link>https://www.rossp.org/blog/pareto-principle-or-why-8020-rule-always-bites-us-/</link><description>&lt;p&gt;&lt;em&gt;This rant bought to you by yet another unfinished project.&lt;/em&gt;&lt;/p&gt;
  99. &lt;p&gt;As hard as you work to avoid it, there seems to be no way to avoid the good old 80/20 rule. It seems that no matter what you're working on, 80% of the work takes 20% of the time …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 13 Nov 2006 11:57:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-11-13:/blog/pareto-principle-or-why-8020-rule-always-bites-us-/</guid><category>misc</category><category>rants</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>ChangeManipulators on only part of a model</title><link>https://www.rossp.org/blog/changemanipulators-only-part-model/</link><description>&lt;p&gt;Django has some cool &lt;a href="http://www.djangoproject.com/documentation/forms/"&gt;forms management&lt;/a&gt; functionality that takes the hard work out of displaying forms and managing the users input. Unfortunately, the ChangeManipulator expects that &lt;strong&gt;all&lt;/strong&gt; fields in a model will be updated by the ChangeManipulator, and cries about any required/not-null fields that you don't display to the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 23 Aug 2006 13:02:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-08-23:/blog/changemanipulators-only-part-model/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Housekeeping</title><link>https://www.rossp.org/blog/housekeeping/</link><description>&lt;p&gt;I've made some minor changes to my website over the past few days in an effort to make life easier:&lt;/p&gt;
  100. &lt;ul&gt;
  101. &lt;li&gt;Added a 'summary' to each blog item, meaning the RSS feed doesn't fill up the Django website, and my front page stays clean&lt;/li&gt;
  102. &lt;li&gt;Changed to a template sourced from &lt;a href="http://www.openwebdesign.org"&gt;Open …&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 11 Aug 2006 08:02:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-08-11:/blog/housekeeping/</guid><category>misc</category><category>programming</category></item><item><title>Sending E-Mails via Templates</title><link>https://www.rossp.org/blog/sending-e-mails-templates/</link><description>&lt;p&gt;So you've got an application written in Django that needs to send large bodies of e-mail, but you don't want the e-mail message itself to be in your Python code. Fair enough, I'd say - you should be separating form from function, and in this case, the e-mail output is still …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 11 Jul 2006 08:30:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-07-11:/blog/sending-e-mails-templates/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Using Django's TemplateTags</title><link>https://www.rossp.org/blog/building-blog-django-4/</link><description>&lt;p&gt;I've had a number of e-mails about how I include the listing of blog tags and archives by month on the side of my website from people who have obviously built up a blog and now want further integration with their website.&lt;/p&gt;
  103. &lt;p&gt;Well, it's ultra-simple thanks to a nifty &lt;a href="http://www.djangoproject.com/"&gt;Django …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 23 Jun 2006 07:30:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-06-23:/blog/building-blog-django-4/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>A Django Blog - Redux</title><link>https://www.rossp.org/blog/django-blog-redux/</link><description>&lt;p&gt;At the start of May, the Django &lt;a href="http://code.djangoproject.com/wiki/RemovingTheMagic"&gt;magic-removal&lt;/a&gt; branch &lt;a href="http://www.djangoproject.com/weblog/2006/may/01/magicremoval/"&gt;was merged with 'trunk'&lt;/a&gt; - the mainstream Django code base. While this branch isn't yet available for download by the lay user, it's there in svn ready to be checked out and used, and it seems quite stable - the djangoproject.com website …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 08 Jun 2006 10:28:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-06-08:/blog/django-blog-redux/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>XSS Vulnerability</title><link>https://www.rossp.org/blog/xss-vulnerability/</link><description>&lt;p&gt;A week or so ago I received an e-mail from a nice new zealander, &lt;a href="http://simon.net.nz"&gt;Simon Greenhill&lt;/a&gt;, alerting me to a cross-site scripting vulnerability in the comments portion of my blog. The vulnerability will actually probably be of concern to anybody using the comments module from Django - I haven't dug far …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 08 Jun 2006 10:13:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-06-08:/blog/xss-vulnerability/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Django - Magic-Removal Upgrade</title><link>https://www.rossp.org/blog/django-magic-removal-upgrade/</link><description>&lt;p&gt;I've just upgraded &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; to the new &lt;a href="http://code.djangoproject.com/wiki/RemovingTheMagic"&gt;Magic-Removal code base&lt;/a&gt; which is now a part of the core Django distribution.&lt;/p&gt;
  104. &lt;p&gt;I broke a few things (such as the &lt;a href="/gallery/"&gt;Photo Gallery&lt;/a&gt;) for a few days while I ironed out a few little bugs, but all seems OK now.&lt;/p&gt;
  105. &lt;p&gt;Soon enough I'll …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 15 May 2006 07:55:00 +1000</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-05-15:/blog/django-magic-removal-upgrade/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Building A Blog with Django #3</title><link>https://www.rossp.org/blog/building-blog-django-3/</link><description>&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; The Python code in this tutorial no longer works with Django! Please read my new article, &lt;a href="http://www.rossp.org/blog/2006/jun/08/django-blog-redux/"&gt;a Django Blog Redux&lt;/a&gt;, for code that works on newer versions of Django. The rest of this article, such as the theory, is still very much applicable and should be read alongside my …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Fri, 17 Feb 2006 10:28:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-02-17:/blog/building-blog-django-3/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Engagement Party Photos Done</title><link>https://www.rossp.org/blog/engagement-party-photos-done/</link><description>&lt;p&gt;I've just put the rest of the &lt;a href="/gallery/engagement-party/"&gt;Engagement Party&lt;/a&gt; photos online. Some are a bit dark &amp;amp; blurry, but we'll remove those later. Captions will also come later.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 02 Feb 2006 13:05:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-02-02:/blog/engagement-party-photos-done/</guid><category>misc</category><category>photography</category><category>wedding</category><category>personal</category></item><item><title>Building a Blog with Django #2</title><link>https://www.rossp.org/blog/building-blog-django-2/</link><description>&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; The Python code in this tutorial no longer works with Django! Please read my new article, &lt;a href="http://www.rossp.org/blog/2006/jun/08/django-blog-redux/"&gt;a Django Blog Redux&lt;/a&gt;, for code that works on newer versions of Django. The rest of this article, such as the theory, is still very much applicable and should be read alongside my …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 02 Feb 2006 12:21:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-02-02:/blog/building-blog-django-2/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Engagement Party Photos</title><link>https://www.rossp.org/blog/engagement-party-photos/</link><description>&lt;p&gt;On Sunday afternoon Lauren and I had our Engagement party to celebrate with friends &amp;amp; family our recent engagement. Not all of the photos are up yet, but the first batch are ready to look at.&lt;/p&gt;
  106. &lt;p&gt;The photos can be found &lt;a href="/gallery/engagement-party/"&gt;in my gallery&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 31 Jan 2006 12:12:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-01-31:/blog/engagement-party-photos/</guid><category>misc</category><category>photography</category><category>wedding</category><category>personal</category></item><item><title>Gallery is Online Again</title><link>https://www.rossp.org/blog/gallery-online-again/</link><description>&lt;p&gt;I've just put parts of my &lt;a href="/gallery/"&gt;photo gallery&lt;/a&gt; back online, using a new gallery application I wrote in Django. I've only got a few sets of photos online right now, the rest should be ready to go shortly.&lt;/p&gt;
  107. &lt;p&gt;You'll see with the sets I have there so far, the locations …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Wed, 25 Jan 2006 11:55:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-01-25:/blog/gallery-online-again/</guid><category>misc</category><category>photography</category><category>personal</category></item><item><title>Building a Blog with Django</title><link>https://www.rossp.org/blog/building-blog-django-1/</link><description>&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt; The Python code in this tutorial no longer works with Django! Please read my new article, &lt;a href="http://www.rossp.org/blog/2006/jun/08/django-blog-redux/"&gt;a Django Blog Redux&lt;/a&gt;, for code that works on newer versions of Django. The rest of this article, such as the theory, is still very much applicable and should be read alongside my …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 23 Jan 2006 15:31:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-01-23:/blog/building-blog-django-1/</guid><category>misc</category><category>geeky</category><category>django</category></item><item><title>Stock Photos &amp; Web Templates</title><link>https://www.rossp.org/blog/stock-photos-web-templates/</link><description>&lt;p&gt;Two links I try and use regularly are sources of free web templates, and free stock photography.&lt;/p&gt;
  108. &lt;p&gt;&lt;a href="http://www.sxc.hu/"&gt;stock.xchng&lt;/a&gt; is a website that has over 180000 photos, of everything you could imagine. Most of them are free for various uses, worth signing up for and looking around. You can easily …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Thu, 12 Jan 2006 16:28:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-01-12:/blog/stock-photos-web-templates/</guid><category>misc</category><category>design</category><category>links</category></item><item><title>Django - My First Impressions</title><link>https://www.rossp.org/blog/django-my-first-impressions/</link><description>&lt;p&gt;Until last week I had never heard of &lt;a href="http://www.djangoproject.com"&gt;Django&lt;/a&gt;, a web framework written in &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;. I'd seen python before, but had never really tried it out - I could do everything I wanted to do in &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt;, and having libraries such as &lt;a href="http://smarty.php.net/"&gt;Smarty&lt;/a&gt; available to me solved all my problems.&lt;/p&gt;
  109. &lt;p&gt;Or …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Tue, 10 Jan 2006 09:00:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-01-10:/blog/django-my-first-impressions/</guid><category>misc</category><category>geeky</category><category>django</category><category>programming</category></item><item><title>Getting Started With Django</title><link>https://www.rossp.org/blog/getting-started-django/</link><description>&lt;p&gt;I've just written this quick weblog app using &lt;a href="http://www.djangoproject.com"&gt;Django&lt;/a&gt; - a new(ish) web framework written in Python.&lt;/p&gt;
  110. &lt;p&gt;So far it seems pretty damn good - I've also written an article management system for a new website I'm starting, and it only took a lunchbreak to get going. Amazing. I'll post some …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ross Poulton</dc:creator><pubDate>Mon, 09 Jan 2006 13:11:00 +1100</pubDate><guid isPermaLink="false">tag:www.rossp.org,2006-01-09:/blog/getting-started-django/</guid><category>misc</category><category>geeky</category><category>django</category></item></channel></rss>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//www.rossp.org/feeds/latest/index.xml

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda