<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6295167997046485177</atom:id><lastBuildDate>Mon, 07 Oct 2024 06:00:28 +0000</lastBuildDate><category>energy</category><category>future</category><category>economics</category><category>horses</category><category>transport</category><category>economy</category><category>electric car</category><category>ireland</category><category>cars</category><category>irish sport horse</category><category>life</category><category>python</category><category>rant</category><category>recipe</category><category>django</category><category>electricity</category><category>language</category><category>scenario planning</category><category>tech</category><category>uk</category><category>barclays</category><category>centos</category><category>fun</category><category>godaddy</category><category>hydrogen</category><category>idea</category><category>linux</category><category>london</category><category>scenarios</category><category>show jumping</category><category>ted</category><category>wind</category><category>behavior</category><category>biofuels</category><category>books</category><category>car</category><category>chocolate</category><category>choice</category><category>climatechange</category><category>cork</category><category>dataviz</category><category>demand response</category><category>drugs</category><category>food security</category><category>git</category><category>ideas</category><category>images</category><category>internet</category><category>it</category><category>nama</category><category>past</category><category>peak oil</category><category>pinax</category><category>politics</category><category>pudding</category><category>pyparsing</category><category>review</category><category>software</category><category>sustainability</category><category>tax</category><category>troubleshooting</category><category>tv</category><category>weather</category><category>agrofuels</category><category>airships</category><category>alexander</category><category>apache2</category><category>apple</category><category>art</category><category>aviation</category><category>banana</category><category>banking</category><category>banks</category><category>barefoot</category><category>beef</category><category>bicycle</category><category>biomass</category><category>blogging</category><category>budget</category><category>bugs</category><category>building</category><category>buildings</category><category>business</category><category>cap and share</category><category>car pool</category><category>carbon footprint</category><category>casserole</category><category>cats</category><category>cattle</category><category>change</category><category>children</category><category>china</category><category>chp</category><category>climate change</category><category>codesprint</category><category>complexity</category><category>cork airport</category><category>cork environmental forum</category><category>d3</category><category>darwin</category><category>decarbonisation</category><category>dns</category><category>domains</category><category>dragons den</category><category>dunmanway</category><category>eating</category><category>ebooks</category><category>economists</category><category>education</category><category>efficiency</category><category>election</category><category>electric</category><category>electric motorbike</category><category>email</category><category>energy demand</category><category>energy meter</category><category>energy scenarios</category><category>energy usage</category><category>evolution</category><category>fablab</category><category>facebook</category><category>family</category><category>farming</category><category>fate</category><category>fdr</category><category>fixing</category><category>flooding</category><category>foal</category><category>forecasting</category><category>ft</category><category>funding</category><category>future architecture</category><category>g-wiz</category><category>games</category><category>gandhi</category><category>gwiz</category><category>habits</category><category>heating</category><category>home</category><category>home automation</category><category>homecamp</category><category>house</category><category>imaging</category><category>instal</category><category>invention</category><category>investment</category><category>irishblog</category><category>japan</category><category>jimmy wales</category><category>jpeg</category><category>knots</category><category>local government</category><category>localisation</category><category>make ideas</category><category>media</category><category>men</category><category>methane</category><category>mind mapping</category><category>mit</category><category>music</category><category>myhost.ie</category><category>ngo</category><category>nuclear</category><category>open coffee</category><category>open government</category><category>opencv</category><category>opportunities</category><category>osx</category><category>personal brain</category><category>phones</category><category>photos</category><category>php</category><category>pil</category><category>pitts special</category><category>population</category><category>pricing</category><category>prince charles</category><category>principal voices</category><category>projects</category><category>pump</category><category>pyschology</category><category>racehorse</category><category>real time pricing</category><category>recession</category><category>registration</category><category>risk</category><category>server</category><category>silly</category><category>smart homes</category><category>snow</category><category>social networking</category><category>solar</category><category>statistics</category><category>submission</category><category>support</category><category>surveillance</category><category>technology</category><category>terrapreta agriculture</category><category>thought</category><category>tidy towns</category><category>top gear</category><category>toys</category><category>training</category><category>transition towns</category><category>twitter</category><category>uncertainty</category><category>unix</category><category>vps</category><category>war</category><category>washing</category><category>wave</category><category>web</category><category>windows</category><category>women</category><category>world</category><category>yum</category><category>zeri</category><title>Phoebe&#39;s Jottings</title><description>Phoebe Bright&#xa;Dunmanway, Co. Cork, Ireland&#xa;I&#39;ve been meaning to start blogging for ages, but blog on what? Energy, new technology, horses, computer vision, cctv systems, internet stuff .... So rather than try and choose and do a &#39;proper&#39; blog, I&#39;m just putting in random jottings from my daily trawl of online news or any other thought that comes into my head. This is not intended to impress anyone, but is more a place where I can note things of interest to me somewhere I can find it later!</description><link>http://pbjots.blogspot.com/</link><managingEditor>noreply@blogger.com (Phoebe Bright)</managingEditor><generator>Blogger</generator><openSearch:totalResults>209</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-2291802467447274968</guid><pubDate>Wed, 03 Apr 2013 12:30:00 +0000</pubDate><atom:updated>2013-04-03T05:32:02.412-07:00</atom:updated><title>Using MongoDb and Sleepy Mongoose and jQuery to save data for a D3 js dataviz</title><description>It took me a while to put all these pieces together, so in case anyone else is in the same position, here is what I did. &amp;nbsp;The code is a bit rough with very little validation...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I wanted to be able to save save different datasets for a d3 dataviz I was working on. &amp;nbsp;I could have done this in MySQL but as the data was in json already, I thought it a good opportunity to experiment with MongoDB and an HTTP interface.&lt;br /&gt;
&lt;br /&gt;
Having installed from instructions here:&amp;nbsp;&lt;a href=&quot;http://www.kchodorow.com/blog/2010/02/22/sleepy-mongoose-a-mongodb-rest-interface/&quot;&gt;http://www.kchodorow.com/blog/2010/02/22/sleepy-mongoose-a-mongodb-rest-interface/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Saving Data&lt;/h3&gt;
I first tried saving data I already had in javascript:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;           &lt;/span&gt;&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;=&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;$&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;ajax&lt;/span&gt;({&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;url&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;DB&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;_insert&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;type&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;POST&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;data&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&#39;docs=[{&quot;dataset&quot; : &quot;&#39;&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;dataset&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&#39;&quot;, &quot;links&quot;: &#39;&lt;/span&gt;+&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;JSON&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;stringify&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;dataitems&lt;/span&gt;)+&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&#39;}]&#39;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;dataType&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;json&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;done&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;msg&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                alert(&quot;success&quot;);&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;fail&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;jqXHR&lt;/span&gt;,&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;textStatus&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;alert&lt;/span&gt;(&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;Request failed: &quot;&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;textStatus&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;);&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I had a couple of issues here. &amp;nbsp;The first was trying to use jsonp to avoid cross domain problems. &amp;nbsp;I was getting this error:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;white-space: pre-wrap;&quot;&gt;jQuery191001886391662992537_1364976848482({&quot;ok&quot; : 0, &quot;errmsg&quot; : &quot;_insert must be a POST request&quot;})&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Jsonp converts the post to a get and Mongoose does not support jsonp, so you have to use dataType json. &amp;nbsp;There are a number of ways to avoid the problem and the comments on the installation page are helpful. &amp;nbsp;I chose &amp;nbsp;to start Mongoose using --xorigin parameter:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;python httpd.py --xorigin&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
The second problem was formatting the data. &amp;nbsp;There needs to be a docs= or you get&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&quot;ok&quot; : 0, &quot;errmsg&quot; : &quot;missing docs&quot;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And it needs to be stringified or encodeURI to avoid a parse error. &amp;nbsp;In the above example, dataset is a string variable and links is an array.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So now my data was saving and I could check by doing:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: black; font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;http://test.com:27080/sanky/dataset/_find&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: black; font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: black; font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;h3&gt;
Listing Data&lt;/h3&gt;
&lt;br /&gt;
So now I wanted to pull back a list of the datasets I had saved so the user could choose which dataset to use. &amp;nbsp;Ideally I want to only pull back the list of dataset fields, it&#39;s currently pulling back all the data for each record.&lt;br /&gt;
&lt;br /&gt;
The html has:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-html-attribute-name&quot; style=&quot;background-color: white; box-sizing: border-box; color: #994500; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;webkit-html-attribute-value&quot; style=&quot;background-color: white; box-sizing: border-box; color: #1a1aa6; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&quot;datasets&quot;&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;button&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-html-attribute-name&quot; style=&quot;background-color: white; box-sizing: border-box; color: #994500; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;webkit-html-attribute-value&quot; style=&quot;background-color: white; box-sizing: border-box; color: #1a1aa6; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&quot;load&quot;&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;Load&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;button&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class=&quot;webkit-html-tag&quot; style=&quot;background-color: white; box-sizing: border-box; color: #881280; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
The javascript to populate:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;=&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;$&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;ajax&lt;/span&gt;({&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;url&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;DB&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;_find&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;type&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;GET&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;dataType&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;json&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;done&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;               &lt;/span&gt;&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;results&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;=&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;data&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;results&lt;/span&gt;;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;               &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;               &lt;/span&gt;&lt;span class=&quot;webkit-javascript-comment&quot; style=&quot;box-sizing: border-box; color: #007400;&quot;&gt;// build a select list from the data&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;=&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;d3&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;select&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;#datasets&quot;&lt;/span&gt;).&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;append&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;select&quot;&lt;/span&gt;)&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                    &lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;attr&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;id&quot;&lt;/span&gt;,&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;dataset&quot;&lt;/span&gt;);&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;     &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;list&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;selectAll&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;option&quot;&lt;/span&gt;)&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                    &lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;data&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;results&lt;/span&gt;)&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                    &lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;enter&lt;/span&gt;()&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                    &lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;append&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;option&quot;&lt;/span&gt;)&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                    &lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;attr&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;value&quot;&lt;/span&gt;,&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;d&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;d&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;dataset&lt;/span&gt;;})&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                    &lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;text&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;d&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                        &lt;/span&gt;&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;d&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;dataset&lt;/span&gt;;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;fail&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;jqXHR&lt;/span&gt;,&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;textStatus&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;alert&lt;/span&gt;(&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;Request failed: &quot;&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;textStatus&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;);&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Getting a specific Dataset&lt;/h3&gt;
&lt;div&gt;
And finally, when the user has selected a dataset, retrieving the values:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;$&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;#load&quot;&lt;/span&gt;).&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;click&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;()&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;webkit-javascript-comment&quot; style=&quot;box-sizing: border-box; color: #007400;&quot;&gt;// load selected dataset&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;=&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;$&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;ajax&lt;/span&gt;({&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;url&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;DB&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;_find&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;type&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;GET&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;data&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;encodeURI&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&#39;criteria={&quot;dataset&quot; : &quot;&#39;&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;$&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;#dataset&quot;&lt;/span&gt;).&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;val&lt;/span&gt;()&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&#39;&quot;}&#39;&lt;/span&gt;),&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;dataType&lt;/span&gt;:&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;json&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;done&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;data&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                 // needs some error checking here&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                 &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;links&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;=&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;data&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;results&lt;/span&gt;[&lt;span class=&quot;webkit-javascript-number&quot; style=&quot;box-sizing: border-box; color: #1c00cf;&quot;&gt;0&lt;/span&gt;].&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;links&lt;/span&gt;;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;               &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                 &lt;span style=&quot;color: #007400;&quot;&gt;// redraw diagram here&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;request&lt;/span&gt;.&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;fail&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-keyword&quot; style=&quot;box-sizing: border-box; color: #aa0d91;&quot;&gt;function&lt;/span&gt;(&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;jqXHR&lt;/span&gt;,&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;textStatus&lt;/span&gt;)&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;{&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;alert&lt;/span&gt;(&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-string&quot; style=&quot;box-sizing: border-box; color: #c41a16;&quot;&gt;&quot;Request failed: &quot;&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;+&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;webkit-javascript-ident&quot; style=&quot;box-sizing: border-box;&quot;&gt;textStatus&lt;/span&gt;&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt; &lt;/span&gt;);&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;            &lt;/span&gt;});&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;webkit-line-content&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: Menlo, monospace; font-size: 11px; line-height: 13px; white-space: pre;&quot;&gt;
&lt;span class=&quot;webkit-whitespace&quot; style=&quot;box-sizing: border-box;&quot;&gt;    &lt;/span&gt;});&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The page where this was used:&amp;nbsp;&lt;a href=&quot;http://beautifuldata.eu/sankey/experiment.html&quot;&gt;http://beautifuldata.eu/sankey/experiment.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://pbjots.blogspot.com/2013/04/using-mongodb-and-sleepy-mongoose-and.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-2641683765113255933</guid><pubDate>Fri, 05 Oct 2012 21:34:00 +0000</pubDate><atom:updated>2012-10-05T14:34:28.845-07:00</atom:updated><title>A Cheesy Adventure</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://lakelandcamel.scene7.com/is/image/LakelandCamel/16737_1?$380$&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://lakelandcamel.scene7.com/is/image/LakelandCamel/16737_1?$380$&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I made my first cheese. &amp;nbsp;It was creamy and tasty and so easy, so now I&#39;m trying Mozzarella! &amp;nbsp;This was all thanks to the really excellent marketing of Lakeland. &amp;nbsp;If you don&#39;t already get their catalogues full or useful and thought provoking products (who has room for a special plastic dish just for soaking oven racks, and a special brush for cleaning your electric grill and panini maker! ) you can browse their shop here http://www.lakeland.co.uk. &amp;nbsp;So the catalogue with the picture of cheese on the front cover and the cheese kit on the first page caught my eye and I duly purchased the moulds and book. &lt;br /&gt;
&lt;br /&gt;
I tried to find some non-homogenized goats milk but in the end used Glenisk goat&#39;s milk which worked just fine. &amp;nbsp;Here are the instructions:&lt;br /&gt;
&lt;br /&gt;
1 litre Glenisk goat&#39;s milk - heat gently to 24 degrees (watch out, that doesn&#39;t take long) the remove from the heat and add&amp;nbsp;2 tubs of Glenisk goat&#39;s plain yoghurt (100ml total) the mix in&amp;nbsp;1/8tsp (a few drops) of rennet.&lt;br /&gt;
&lt;br /&gt;
Leave to stand overnight and in the morning cut into 2cm blocks with a knife and pour into the foot of a pair of tights. &amp;nbsp;You won&#39;t find the tights in the usual recipe but I&#39;d lost the muslin I&#39;d bought and the tights worked just fine. &amp;nbsp;Save the liquid Whey that comes off. &amp;nbsp;The cats loved it or you can use it in the bread machine. &amp;nbsp;After a couple of hours mix the curds gently with a large teaspoon of sea salt and pour into the cheese moulds and put in the fridge to drain further. &amp;nbsp;By the evening the cheese was ready, about a quarter of a litre. &amp;nbsp;I scoffed it all within 24 hours! &amp;nbsp;It&#39;s quite bland so I&#39;m going to try adding crushed garlic and chives to the next batch.&lt;br /&gt;
&lt;br /&gt;
Now must go see how the Mozzarella is getting on!&lt;br /&gt;
&lt;br /&gt;</description><link>http://pbjots.blogspot.com/2012/10/a-cheesy-adventure.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-3607071326904509976</guid><pubDate>Mon, 30 Jul 2012 17:28:00 +0000</pubDate><atom:updated>2012-07-30T10:28:00.117-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Handy trick for using django runserver/testmaker on remote server</title><description>Thanks Bart for showing me how to have a local version of django running on my VPS.&lt;br /&gt;
&lt;br /&gt;
On the VPS start django as required, eg&lt;br /&gt;
&lt;br /&gt;
python manage.py runserver&lt;br /&gt;
python manage.py testmaker -a web&lt;br /&gt;
&lt;br /&gt;
Now do this from a command line where 1.2.3.4 is your vps ip:&lt;br /&gt;
&lt;br /&gt;
ssh root@1.2.3.4 -L 5984:localhost:8000 -N&lt;br /&gt;
&lt;br /&gt;
enter the password and it should not come back with anything.&lt;br /&gt;
&lt;br /&gt;
Now go to this URL and your website should start&lt;br /&gt;
&lt;br /&gt;
http://localhost:5984/</description><link>http://pbjots.blogspot.com/2012/07/handy-trick-for-using-django.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-1015600880191292041</guid><pubDate>Wed, 25 Jul 2012 19:08:00 +0000</pubDate><atom:updated>2012-07-25T12:08:00.770-07:00</atom:updated><title>What to do with a 17lb turnkey when there are only three of you for Christmas?</title><description>Due to unforeseen circumstances, we had less people and a bigger turnkey than planned.  And we are not big eaters.  So father butchered the monster into breasts, legs and carcass and we cut a small piece of one of the breasts and roasted that.  Very tasty is was too and we split the leftovers between us to make at least a further mean each.  So what was I going to do with the huge bowl of left over bits?  After a bit of googling I came up with this recipe and am very pleased with it.&lt;br /&gt;
&lt;br /&gt;
Turkey Burgers for the Freezer&lt;br /&gt;
&lt;br /&gt;
Amounts approximate!&lt;br /&gt;
&lt;br /&gt;
Cut up the raw turkey into chunks and whizz in the food processor to turn it into turkey mince.&lt;br /&gt;
20% (5 biggish onions) of turnkey mass in onions.  Chop in food processor and fry gently and leave to cool.&lt;br /&gt;
10% (10 pieces) smoke streaky bacon add to onions and cook quickly.  Didn&#39;t brown.&lt;br /&gt;
10% (1 large) cooking apple chopped.&lt;br /&gt;
1 clove of garlic, chopped finely.&lt;br /&gt;
1 inch cubed of ginger chopped finely.&lt;br /&gt;
&lt;br /&gt;
Let the cooked ingrediants cool down and then mix all together.&lt;br /&gt;
Using polenta meal to coat the burgers, (Was going to use semolina, as recommended by Nigella for roast potatoes, but none in the shop.  Polenta worked very well as an alternative.)  I used a burger making device to form the burger and put on a baking tray coated with polenta.  Freeze then take off the baking tray and put into plastic bags, ready for that need for a quick wholesome meal.  </description><link>http://pbjots.blogspot.com/2012/07/what-to-do-with-17lb-turnkey-when-there.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-722485763226028033</guid><pubDate>Wed, 25 Jul 2012 19:07:00 +0000</pubDate><atom:updated>2012-07-25T12:07:21.407-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dataviz</category><category domain="http://www.blogger.com/atom/ns#">tech</category><title>D3 Nest function - converting csv data to nested data for treemaps etc.</title><description>Just finished 8 examples of how to use the javascript visualisation library D3 nest function - notes to self really, but shared in case they are useful for others.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/%20http://bl.ocks.org/3176159&quot;&gt;&amp;nbsp;http://bl.ocks.org/3176159&lt;/a&gt; to see the code&lt;br /&gt;
&amp;nbsp;&lt;a href=&quot;http://bl.ocks.org/d/3176159/&quot;&gt;http://bl.ocks.org/d/3176159/&lt;/a&gt; to see all the examples run.


</description><link>http://pbjots.blogspot.com/2012/07/d3-nest-function-converting-csv-data-to.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-7703393425397891166</guid><pubDate>Thu, 12 Jul 2012 15:01:00 +0000</pubDate><atom:updated>2012-07-12T08:01:26.083-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">d3</category><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Simple D3 examples to try</title><description>I learn by looking at examples and then trying to modify them to do what I want.  I&#39;ve started creating little gists to record how use different features of d3.  In case they help others, here is a start.  They can all be run in bl.ocks&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Processing CSV strings and files and grouping with nest:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;https://gist.github.com/3053667 - processing csv string&amp;nbsp;&lt;/li&gt;
&lt;li&gt;https://gist.github.com/3053705 - processing csv file&amp;nbsp;&lt;/li&gt;
&lt;li&gt;https://gist.github.com/3096857 - nesting/grouping to two levels&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
Drawing Axes:&lt;/div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;https://gist.github.com/3053419 - simplest possible&lt;/li&gt;
&lt;li&gt;https://gist.github.com/3059392 - date axis&lt;/li&gt;
&lt;li&gt;https://gist.github.com/3061203 - prettified, angled date labels and uses extent&lt;/li&gt;
&lt;li&gt;https://gist.github.com/3098488 - rescale an axis using a transition&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://pbjots.blogspot.com/2012/07/simple-d3-examples-to-try.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-6583229438776522777</guid><pubDate>Mon, 20 Feb 2012 11:47:00 +0000</pubDate><atom:updated>2012-02-20T04:03:17.638-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dataviz</category><title>Getting to grips with D3 Visualisations</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOn7JTlb9CPFf3q0wm2vYEk9qv1pICGgprc0XLSnzVYrjQ6HiqFpInPyY4Kq1c5ZXUoJfJdqlOeq-Kfiq949gf3ve9K-iAIs92QyywJQGL2F3sVXttdRz_TDMD1zb6o-YIz83BDtG4bIU/s1600/Screen+Shot+2012-02-20+at+11.59.35.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOn7JTlb9CPFf3q0wm2vYEk9qv1pICGgprc0XLSnzVYrjQ6HiqFpInPyY4Kq1c5ZXUoJfJdqlOeq-Kfiq949gf3ve9K-iAIs92QyywJQGL2F3sVXttdRz_TDMD1zb6o-YIz83BDtG4bIU/s200/Screen+Shot+2012-02-20+at+11.59.35.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5711186743574547874&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://mbostock.github.com/d3/&quot;&gt;D3&lt;/a&gt; is a great library for creating all kinds of data visualisations written by Mike Bostock, but until recently I just couldn&#39;t get to grips with it.  But then I discovered Scott Murray&#39;s great&lt;a href=&quot;http://alignedleft.com/tutorials/d3/&quot;&gt; series of tutorials&lt;/a&gt; that start with the basics and build up and Luke Francl&#39;s appropriately named &lt;a href=&quot;http://www.recursion.org/d3-for-mere-mortals/&quot;&gt;D3 for Mere Mortals&lt;/a&gt;.  I&#39;ve done some basic charts and am now rewriting the Protembla project management visualisations in D3.  A big thank you to Mike, Scott and Luke.</description><link>http://pbjots.blogspot.com/2012/02/getting-to-grips-with-d3-visualisations.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOn7JTlb9CPFf3q0wm2vYEk9qv1pICGgprc0XLSnzVYrjQ6HiqFpInPyY4Kq1c5ZXUoJfJdqlOeq-Kfiq949gf3ve9K-iAIs92QyywJQGL2F3sVXttdRz_TDMD1zb6o-YIz83BDtG4bIU/s72-c/Screen+Shot+2012-02-20+at+11.59.35.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-402568749209629534</guid><pubDate>Wed, 15 Feb 2012 20:47:00 +0000</pubDate><atom:updated>2012-02-15T13:51:38.087-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">economy</category><title>What is the US of A?</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn242Q-rGzZspi-Y6vjVrrbvYznHu546V5EJQGGkUtSquerdWx1YhIp1DivVQ6gT8K3uBao46iiVvwtmwSCk9tEv2b97StF9GAO5wBJMbIJoaHCbXjDuDWsACxoR4mDPI7Roo_gLaIgE4/s1600/images-2.jpeg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 210px; &quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn242Q-rGzZspi-Y6vjVrrbvYznHu546V5EJQGGkUtSquerdWx1YhIp1DivVQ6gT8K3uBao46iiVvwtmwSCk9tEv2b97StF9GAO5wBJMbIJoaHCbXjDuDWsACxoR4mDPI7Roo_gLaIgE4/s320/images-2.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5709474102074644882&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Watching the BBC&#39;s Panorama program on poverty in the USA lately I was shocked at the levels of homelessness, hunger and lack of healthcare in the US, still the richest country in world and still pushing their way of life on the rest of us.  Even more shocking to me was the attitudes of the Republican politicians, it&#39;s your life, it&#39;s your responsibility and if you can&#39;t afford to go to the doctor, well that&#39;s your problem.  &lt;br /&gt;&lt;br /&gt;To me that is not civilized.  I think one of the measures of a civilization is how it treats its weak and how it treats its animals.  Even the more sophisticated animals look after their sick, their younge and their old.  &lt;br /&gt;&lt;br /&gt;But then I realised America is not a civilisation, it&#39;s not a culture, it&#39;s an economy.  As an economy the measure of their success is how strong their economy is and weeding out the weak is a necessary part of maintaining that success.  But has that always been so?  &lt;br /&gt;&lt;br /&gt;I don&#39;t think so.  American is given us much to experiment with, some of it we love, so we don&#39;t and much we absorb without question and I think the love of money and this concept that the economy is our lord and master that cares only for sort term profit, falls in that latter category.  Where that came from I don&#39;t know, but I don&#39;t think it was part of the plan of any of the cultures that found themselves there over the centuries.  &lt;br /&gt;&lt;br /&gt;Personally I am happy to live in less affluent Ireland, despite it&#39;s many problems, where we care for each other, are embarrassed to hear of people falling through the net and ashamed of our greed getting the better of us in the last years.  I&#39;d much rather be poor and part of caring community than rich and living behind locked gates.</description><link>http://pbjots.blogspot.com/2012/02/what-is-us-of.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn242Q-rGzZspi-Y6vjVrrbvYznHu546V5EJQGGkUtSquerdWx1YhIp1DivVQ6gT8K3uBao46iiVvwtmwSCk9tEv2b97StF9GAO5wBJMbIJoaHCbXjDuDWsACxoR4mDPI7Roo_gLaIgE4/s72-c/images-2.jpeg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-4800588361991581888</guid><pubDate>Sat, 04 Feb 2012 22:22:00 +0000</pubDate><atom:updated>2012-02-07T13:39:17.714-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">recipe</category><title>Panic! - Beef stew without onions</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgONAcoPiu3jFIBJd68KwZZf_Ta_0svjIVcRBFUjkKQDlqXywkdmS0gC3RYznKMRxGYAtWl2z37LokKTzIg-vhDEZrYXzR2tIY_GeFUN1seGO_qIT3wFYg6e5GzMVaHFJdcgkwL3sxVR0I/s1600/hestons-victorian-feast_145x82.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 145px; height: 82px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgONAcoPiu3jFIBJd68KwZZf_Ta_0svjIVcRBFUjkKQDlqXywkdmS0gC3RYznKMRxGYAtWl2z37LokKTzIg-vhDEZrYXzR2tIY_GeFUN1seGO_qIT3wFYg6e5GzMVaHFJdcgkwL3sxVR0I/s400/hestons-victorian-feast_145x82.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5705413197121358242&quot; /&gt;&lt;/a&gt;&lt;br /&gt;I don&#39;t think I have ever made beef stew without an onion but I&#39;d defrosted the beef and wasn&#39;t going to drive all the way into town for an onion so it was time to improvise.  &lt;br /&gt;&lt;br /&gt;I&#39;m going through a ginger and, separately, an apple phase at the moment and also watching  &lt;a href=&quot;http://www.channel4.com/programmes/how-to-cook-like-heston/4od#3282957&quot;&gt;How to Cook like Heston &lt;/a&gt;- cheese programme was the latest.  So having just finished a rich and satisfying beef stew, here is a rough and ready recipe:&lt;br /&gt;&lt;br /&gt;Brown the beef chunks in hot oil then added glass (or two) of red wine to deglaze.&lt;br /&gt;Add tins of chopped tomatoes in roughly equal quantity to the beef - in my case two tins, plus a bit of extra water to wash the tins out.&lt;br /&gt;Add roughly copped garlic - three big cloves &lt;br /&gt;Add roughly chopped ginger - two tables spoons&lt;br /&gt;Oyster Sauce - two tablespoons &lt;br /&gt;Rind or a large piece of hard goats cheese (thanks Heston)&lt;br /&gt;&lt;br /&gt;Brought to the boil and then simmered for an hour with the lid on as didn&#39;t want to reduce.&lt;br /&gt;&lt;br /&gt;Added one large cooking apple chopped in large chunks without skins and simmered for another 10 mins.  You want the apple to be cooked but not disintegrated.&lt;br /&gt;&lt;br /&gt;Was planning to add some cous cous but the larder was bare of cous cous so had wholemeal fusili cooked in the juice of the stew instead.&lt;br /&gt;&lt;br /&gt;Really rich an filling and the chunks of apple were a nice surprise.  The cheese rind really worked and easy to identify and pull out before eating.  Mmmmmm.</description><link>http://pbjots.blogspot.com/2012/02/panic-beef-stew-without-onions.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgONAcoPiu3jFIBJd68KwZZf_Ta_0svjIVcRBFUjkKQDlqXywkdmS0gC3RYznKMRxGYAtWl2z37LokKTzIg-vhDEZrYXzR2tIY_GeFUN1seGO_qIT3wFYg6e5GzMVaHFJdcgkwL3sxVR0I/s72-c/hestons-victorian-feast_145x82.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-1201723661242168750</guid><pubDate>Tue, 31 Jan 2012 11:07:00 +0000</pubDate><atom:updated>2012-01-31T03:31:07.109-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">registration</category><title>Customising django registration - no activation email or just a username</title><description>A client had a need for removing the email activation from the standard django registration process and a prototype system I am working on needed the ability to create a user from just a username, so I was delighted to find that the current django-registration development version makes this kind of customisation easy.&lt;br /&gt;&lt;br /&gt;Here&#39;s how:&lt;br /&gt;&lt;br /&gt;In the registration folder, there is a new folder called backends.  Create a new folder, for example myreg, and put two files in it.&lt;br /&gt;&lt;br /&gt;The __init__.py does the main work:&lt;br /&gt;&lt;br /&gt;In this example there are two changes from the default, there is no email activation required and the registration form also asks for the users first and last names.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;__init__.py&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;from django.conf import settings&lt;br /&gt;from django.contrib.auth import authenticate&lt;br /&gt;from django.contrib.auth import login&lt;br /&gt;from django.contrib.auth.models import User&lt;br /&gt;from django import forms&lt;br /&gt;&lt;br /&gt;from registration import signals&lt;br /&gt;from registration.forms import RegistrationForm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class MyRegBackend(object):&lt;br /&gt;    &quot;&quot;&quot;&lt;br /&gt;    A registration backend which implements the simplest possible&lt;br /&gt;    workflow: a user supplies a username, email address and password&lt;br /&gt;    (the bare minimum for a useful account), and is immediately signed&lt;br /&gt;    up and logged in.&lt;br /&gt;    &lt;br /&gt;    &quot;&quot;&quot;&lt;br /&gt;    def register(self, request, **kwargs):&lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        Create and immediately log in a new user.&lt;br /&gt;        &lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        username, email, password, first_name, last_name = kwargs[&#39;username&#39;], kwargs[&#39;email&#39;], kwargs[&#39;password1&#39;], kwargs[&#39;first_name&#39;], kwargs[&#39;last_name&#39;]&lt;br /&gt;        &lt;br /&gt;        u = User.objects.create_user(username, email, password)&lt;br /&gt;        u.first_name = first_name&lt;br /&gt;        u.last_name = last_name&lt;br /&gt;        u.save()&lt;br /&gt;&lt;br /&gt;        new_user = authenticate(username=username, password=password)&lt;br /&gt; &lt;br /&gt;        login(request, new_user)&lt;br /&gt;        signals.user_registered.send(sender=self.__class__,&lt;br /&gt;                                     user=new_user,&lt;br /&gt;                                     request=request)&lt;br /&gt;        return new_user&lt;br /&gt;&lt;br /&gt;    def activate(self, **kwargs):&lt;br /&gt;        raise NotImplementedError&lt;br /&gt;&lt;br /&gt;    def registration_allowed(self, request):&lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        Indicate whether account registration is currently permitted,&lt;br /&gt;        based on the value of the setting ``REGISTRATION_OPEN``. This&lt;br /&gt;        is determined as follows:&lt;br /&gt;&lt;br /&gt;        * If ``REGISTRATION_OPEN`` is not specified in settings, or is&lt;br /&gt;          set to ``True``, registration is permitted.&lt;br /&gt;&lt;br /&gt;        * If ``REGISTRATION_OPEN`` is both specified and set to&lt;br /&gt;          ``False``, registration is not permitted.&lt;br /&gt;        &lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        return getattr(settings, &#39;REGISTRATION_OPEN&#39;, True)&lt;br /&gt;&lt;br /&gt;    def get_form_class(self, request):&lt;br /&gt;    &lt;br /&gt;        class MyRegForm(RegistrationForm):&lt;br /&gt;            &lt;br /&gt;            &quot;&quot;&quot;&lt;br /&gt;            add first and last names to the form&lt;br /&gt;            &quot;&quot;&quot;&lt;br /&gt;            first_name = forms.CharField(&lt;br /&gt;                label=&#39;First name&#39;,&lt;br /&gt;                max_length=30,&lt;br /&gt;                required=True)&lt;br /&gt;            last_name = forms.CharField(&lt;br /&gt;                label=&#39;Last name&#39;,&lt;br /&gt;                max_length=30,&lt;br /&gt;                required=True)&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        return MyRegForm&lt;br /&gt;&lt;br /&gt;    def post_registration_redirect(self, request, user):&lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        After registration, redirect to the home page&lt;br /&gt;        &lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        &lt;br /&gt;        return (&quot;/&quot;, (), {})&lt;br /&gt;&lt;br /&gt;    def post_activation_redirect(self, request, user):&lt;br /&gt;        raise NotImplementedError&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The second file is urls.py where you need to point to  your new backend&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;urls.py&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;from django.conf.urls.defaults import *&lt;br /&gt;from django.views.generic.simple import direct_to_template&lt;br /&gt;&lt;br /&gt;from registration.views import activate&lt;br /&gt;from registration.views import register&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;urlpatterns = patterns(&#39;&#39;,&lt;br /&gt;                       url(r&#39;^register/$&#39;,&lt;br /&gt;                           register,&lt;br /&gt;                           {&#39;backend&#39;: &#39;registration.backends.myreg.MyRegBackend&#39;},&lt;br /&gt;                           name=&#39;registration_register&#39;),&lt;br /&gt;                       url(r&#39;^register/closed/$&#39;,&lt;br /&gt;                           direct_to_template,&lt;br /&gt;                           {&#39;template&#39;: &#39;registration/registration_closed.html&#39;},&lt;br /&gt;                           name=&#39;registration_disallowed&#39;),&lt;br /&gt;                       (r&#39;&#39;, include(&#39;registration.auth_urls&#39;)),&lt;br /&gt;                       )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now an even simpler version.  Just enter a username and the user is created and you are logged in.  Note that I wanted a default password so I made password1 a hidden field on the form with the value I wanted so that is how it is able to create the user.  I could also have hard coded it into the register method below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;__init__.py&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;from django.conf import settings&lt;br /&gt;from django.contrib.auth import authenticate&lt;br /&gt;from django.contrib.auth import login&lt;br /&gt;from django.contrib.auth.models import User&lt;br /&gt;&lt;br /&gt;from registration import signals&lt;br /&gt;from registration.forms import RegistrationForm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class MyReg2Backend(object):&lt;br /&gt;    &quot;&quot;&quot;&lt;br /&gt;    A registration backend which implements the simplest possible&lt;br /&gt;    workflow: a user supplies a username, email address and password&lt;br /&gt;    (the bare minimum for a useful account), and is immediately signed&lt;br /&gt;    up and logged in.&lt;br /&gt;    &lt;br /&gt;    &quot;&quot;&quot;&lt;br /&gt;    def register(self, request, **kwargs):&lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        Create and immediately log in a new user.&lt;br /&gt;        &lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        username, email, password = kwargs[&#39;username&#39;], kwargs[&#39;email&#39;], kwargs[&#39;password1&#39;]&lt;br /&gt;        User.objects.create_user(username, email, password)&lt;br /&gt; &lt;br /&gt;        # authenticate() always has to be called before login(), and&lt;br /&gt;        # will return the user we just created.&lt;br /&gt;        new_user = authenticate(username=username, password=password)&lt;br /&gt;        login(request, new_user)&lt;br /&gt;        signals.user_registered.send(sender=self.__class__,&lt;br /&gt;                                     user=new_user,&lt;br /&gt;                                     request=request)&lt;br /&gt;        return new_user&lt;br /&gt;&lt;br /&gt;    def activate(self, **kwargs):&lt;br /&gt;        raise NotImplementedError&lt;br /&gt;&lt;br /&gt;    def registration_allowed(self, request):&lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        Indicate whether account registration is currently permitted,&lt;br /&gt;        based on the value of the setting ``REGISTRATION_OPEN``. This&lt;br /&gt;        is determined as follows:&lt;br /&gt;&lt;br /&gt;        * If ``REGISTRATION_OPEN`` is not specified in settings, or is&lt;br /&gt;          set to ``True``, registration is permitted.&lt;br /&gt;&lt;br /&gt;        * If ``REGISTRATION_OPEN`` is both specified and set to&lt;br /&gt;          ``False``, registration is not permitted.&lt;br /&gt;        &lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        return getattr(settings, &#39;REGISTRATION_OPEN&#39;, True)&lt;br /&gt;&lt;br /&gt;    def get_form_class(self, request):&lt;br /&gt;        return RegistrationForm&lt;br /&gt;&lt;br /&gt;    def post_registration_redirect(self, request, user):&lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        After registration, redirect to the user&#39;s account page.&lt;br /&gt;        &lt;br /&gt;        &quot;&quot;&quot;&lt;br /&gt;        return (user.get_absolute_url(), (), {})&lt;br /&gt;&lt;br /&gt;    def post_activation_redirect(self, request, user):&lt;br /&gt;        raise NotImplementedError&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now in urls.py you just need to call your new backend&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;urls.py&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;from django.conf.urls.defaults import *&lt;br /&gt;from django.views.generic.simple import direct_to_template&lt;br /&gt;&lt;br /&gt;from registration.views import activate&lt;br /&gt;from registration.views import register&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;urlpatterns = patterns(&#39;&#39;,&lt;br /&gt;                       url(r&#39;^register/$&#39;,&lt;br /&gt;                           register,&lt;br /&gt;                           {&#39;backend&#39;: &#39;registration.backends.myreg2.MyReg2Backend&#39;, &#39;template_name&#39;: &#39;registration/registration_form_quick.html&#39;},&lt;br /&gt;                           name=&#39;registration_register&#39;),&lt;br /&gt;                       url(r&#39;^register/closed/$&#39;,&lt;br /&gt;                           direct_to_template,&lt;br /&gt;                           {&#39;template&#39;: &#39;registration/registration_closed.html&#39;},&lt;br /&gt;                           name=&#39;registration_disallowed&#39;),&lt;br /&gt;                       (r&#39;&#39;, include(&#39;registration.auth_urls&#39;)),&lt;br /&gt;                       )&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</description><link>http://pbjots.blogspot.com/2012/01/customising-django-registration-no.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-3585957590136836891</guid><pubDate>Sun, 04 Dec 2011 13:51:00 +0000</pubDate><atom:updated>2011-12-05T04:39:01.846-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cats</category><title>Is cat food addictive (for cats!)</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK_YXqvuoRZtr7S3ovc7YUBUORO37TiL2RCx8WzCaiAiMy3T4agMIeZam1PlHNm7zBHO4cmETlbphsJlAVXcF0dyKdXaibekXuvrjzCsskqdb038gqfsLfmKLCysj6y49bfN8rPHGj2wQ/s1600/IMG_0114.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK_YXqvuoRZtr7S3ovc7YUBUORO37TiL2RCx8WzCaiAiMy3T4agMIeZam1PlHNm7zBHO4cmETlbphsJlAVXcF0dyKdXaibekXuvrjzCsskqdb038gqfsLfmKLCysj6y49bfN8rPHGj2wQ/s400/IMG_0114.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5682622831341770722&quot; /&gt;&lt;/a&gt;&lt;br /&gt;A friend brought some fancy Felix cat food in sachets when I asked her to pick up a bit of cat food on her way here.  My cats are outside cats.  Their normal diet is dried cat food once a day with small beasties as they catch them.  Just occasionally they get a tin of cat food for a treat.  They do well on this diet always looking sleek and shiney.&lt;br /&gt;&lt;br /&gt;Anyway they wolfed down the Felix that night and I thought no more about it.  Next morning I was mobbed at the door as though they hadn&#39;t been fed for days.  They spent the whole day at this and finally got their fix in the evening.  Next day the same.  Thankfully the Felix sachets are finished and their behaviour is returning to normal.  What was that about?</description><link>http://pbjots.blogspot.com/2011/12/is-cat-food-addictive-for-cats.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK_YXqvuoRZtr7S3ovc7YUBUORO37TiL2RCx8WzCaiAiMy3T4agMIeZam1PlHNm7zBHO4cmETlbphsJlAVXcF0dyKdXaibekXuvrjzCsskqdb038gqfsLfmKLCysj6y49bfN8rPHGj2wQ/s72-c/IMG_0114.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-3269024824378487031</guid><pubDate>Fri, 15 Apr 2011 09:44:00 +0000</pubDate><atom:updated>2011-04-15T02:58:53.464-07:00</atom:updated><title>Green shoots and old scaffolding boards</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4DSJ26YAo-5Zn9uQ-74_F-civf3PXhgTYYcRHHPxi5mvpwn1iWVr1P1nymkgd2oNBbZGSkECkHzQscv03pNXlueBGZM8rRPUIAuW1U-GfAY-RTBIT9B2tVjxDfBKAUOW0xPH9tx_yPMQ/s1600/sean_eps3.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 191px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4DSJ26YAo-5Zn9uQ-74_F-civf3PXhgTYYcRHHPxi5mvpwn1iWVr1P1nymkgd2oNBbZGSkECkHzQscv03pNXlueBGZM8rRPUIAuW1U-GfAY-RTBIT9B2tVjxDfBKAUOW0xPH9tx_yPMQ/s400/sean_eps3.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5595747345721333362&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Long, long ago I was a great fan of Geoff Hamilton&#39;s Gardener&#39;s World on the BBC.  Geoff was a great man for showing us how to knock up useful garden items from a few old boards and some nails.  With the untimely loss of Geoff we moved on to a new generation of presenters who reviewed the range of products we could purchase from our local garden centre and I rather lost interest in the program.  Two bits of great news.  Monty Don is back presenting &lt;a href=&quot;http://www.gardenersworld.com/monty-don/&quot;&gt;Gardener&#39;s World&lt;/a&gt;, a real gardener and not a bit of garden centre tat in sight.  Then, fired with a renewed enthusiasm for gardening programs, I tried RTE&#39;s &lt;a href=&quot;http://www.rte.ie/tv/howtocreateagarden&quot;&gt;How to Create a Garden&lt;/a&gt; and there were the good old scaffolding boards and how to make your own cold frame.  Isn&#39;t it great to seem some attention given to build your own instead of buy your own!</description><link>http://pbjots.blogspot.com/2011/04/green-shoots-and-old-scaffolding-boards.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4DSJ26YAo-5Zn9uQ-74_F-civf3PXhgTYYcRHHPxi5mvpwn1iWVr1P1nymkgd2oNBbZGSkECkHzQscv03pNXlueBGZM8rRPUIAuW1U-GfAY-RTBIT9B2tVjxDfBKAUOW0xPH9tx_yPMQ/s72-c/sean_eps3.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-8613771582251898521</guid><pubDate>Mon, 21 Feb 2011 17:07:00 +0000</pubDate><atom:updated>2011-02-21T09:28:55.088-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">election</category><title>How I&#39;m going to vote in General Election 2011</title><description>I&#39;ve been struggling with how to vote as I don&#39;t feel any of the main parties are looking much beyond the end of their noses in their plans to fix things - or return to a sustainable economy as Fianne Fail puts it!  &lt;br /&gt;&lt;br /&gt;I want to see fundamental change in how we view the economy, in our use of non-renewable resources and a more imaginative and long term approach to planning for the future.  I want to see more power at the local level along with people getting more involved in our own government.  I want to a split in the political system between politicians how look after local and individual issues and those that are minding the country.  I could go on....&lt;br /&gt;&lt;br /&gt;No fundamental change is going to come with the current, well established people and systems of government so I will vote for whichever party will make the most fundamental changes in the way we govern ourselves that give a chance for change to happen AND for the party which makes the most effort to involve women.&lt;br /&gt;&lt;br /&gt;I don&#39;t believe women make better decisions than men, or that men make better decisions than women, but I do believe that men and women &lt;span style=&quot;font-weight:bold;&quot;&gt;together&lt;/span&gt; make better decisions.  But for this to happen women must be allowed to be women and not feel we have to play the men&#39;s games better than them.  Apparently men tend to make decisions that take advantage of the current situation whereas women are more likely to look at the long terms consequences of a decision and judge according.  This make perfect sense to me and shows how men and women working together make better balanced decisions.  This TED talk makes a similar point:&lt;iframe title=&quot;YouTube video player&quot; width=&quot;560&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/dsmgvrcH94U&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now to the research.  Any comments on who you think is doing best in this area very welcome!</description><link>http://pbjots.blogspot.com/2011/02/how-im-going-to-vote-in-general.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/dsmgvrcH94U/default.jpg" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-2927927064568713776</guid><pubDate>Mon, 13 Dec 2010 10:51:00 +0000</pubDate><atom:updated>2010-12-13T03:01:00.814-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">centos</category><category domain="http://www.blogger.com/atom/ns#">jpeg</category><category domain="http://www.blogger.com/atom/ns#">pil</category><title>Including Jpeg support in PIL on centos box</title><description>There are a lot of posts out that say to install the libraries jpeg and jpeg-devel prior to installing PIL, but this did not work for me on  Cento.  For example this site http://www.jroller.com/RickHigh/entry/installing_pil_python_image_library suggests using the command:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo yum install freetype freetype-devel jpeg jpeg-devel libpng libpng-devel&lt;br /&gt;Setting up Install Process&lt;br /&gt;Setting up repositories&lt;br /&gt;Reading repository metadata in from local files&lt;br /&gt;Parsing package install arguments&lt;br /&gt;No Match for argument: jpeg                             &lt;&lt;----- note the error here&lt;br /&gt;No Match for argument: jpeg-devel                 &lt;&lt;----- and here&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Populating transaction set with selected packages. Please wait.&lt;br /&gt;---&gt; Downloading header for libpng to pack into transaction set.&lt;br /&gt;......&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Instead use:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo yum install freetype freetype-devel  libpng libpng-devel libjpeg  libjpeg-devel&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you have already got as far as installing PIL, delete it from the site-packages directory and reinstall, I use easy_install PIL, and this will rebuild PIL, this time with jpeg support.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;*** TKINTER support not available&lt;br /&gt;--- JPEG support available&lt;br /&gt;--- ZLIB (PNG/ZIP) support available&lt;br /&gt;--- FREETYPE2 support available&lt;br /&gt;*** LITTLECMS support not available&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;&lt;/blockquote&gt;</description><link>http://pbjots.blogspot.com/2010/12/including-jpeg-support-in-pil-on-centos.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-5326234338815779746</guid><pubDate>Sun, 03 Oct 2010 18:14:00 +0000</pubDate><atom:updated>2010-10-03T11:14:00.360-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">horses</category><title>Training Horses like learning a Language?</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi398iXrgVzqlDQlgjXlh5v-VbnNCzCR1ty6huZgJUIhyphenhyphenjKMvkH_GvAMcwxj3tpZXtU1km_qnvgrTTP-pyZ3T3fVcYsw3otKH2CTWaPioUH8BIga8MG7mpXcMdAUWpIJUJjBrqM857JyoE/s1600/foreign-language-teacher-degrees.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px; height: 119px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi398iXrgVzqlDQlgjXlh5v-VbnNCzCR1ty6huZgJUIhyphenhyphenjKMvkH_GvAMcwxj3tpZXtU1km_qnvgrTTP-pyZ3T3fVcYsw3otKH2CTWaPioUH8BIga8MG7mpXcMdAUWpIJUJjBrqM857JyoE/s400/foreign-language-teacher-degrees.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5523519426850465250&quot; /&gt;&lt;/a&gt;&lt;br /&gt;I&#39;ve been trying to articulate how my methods of training horses have changed over the last couple of years, thanks to a number of books and in particular Clinton Anderson.  It&#39;s about teach that when a give a certain aid, this is what I want the horse to do.  But isn&#39;t that what I&#39;ve always done?  Take for example teach a rein back.  I would apply some pressure on the reins and a bit of leg and keep increasing the pressure until the horse would step back, then I would reward him.  Over time I would hope to reduce the amount of pressure I&#39;d require to get the rein back.&lt;br /&gt;&lt;br /&gt;The new method is only subtly different. First I will teach the reinback from the ground, light pressure on the chest means go back, then when I&#39;m on board apply gentle pressure with the reins at the same time a pulling a rope around the horses neck. The instant the horse makes any attempt to go back, I drop the reins to indicate that was the right thing to do.  After a bit I&#39;ll stop using the rope and include moving my weight back and finally add use of the legs.  This way I&#39;ve broken down the problem into steps and never had to apply a lot of pressure to show what I want.  This second approach has meant my horses have become much lighter and stop and reinback with much less resistance because they have learnt the language of the aids.&lt;br /&gt;&lt;br /&gt;So I would say my old method was like arriving in a new country where nobody speaks my language and beyond speaking a bit slower and louder, I don&#39;t get any help in learning this language.  It is a slow and painful process!  The second method is like having a teacher coming with you a helping gain fluency step by step at a pace that suits you.  So as a horse trainer, I am focusing more on my skills as a teacher than my skills as a rider.</description><link>http://pbjots.blogspot.com/2010/10/training-horses-like-learning-language.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi398iXrgVzqlDQlgjXlh5v-VbnNCzCR1ty6huZgJUIhyphenhyphenjKMvkH_GvAMcwxj3tpZXtU1km_qnvgrTTP-pyZ3T3fVcYsw3otKH2CTWaPioUH8BIga8MG7mpXcMdAUWpIJUJjBrqM857JyoE/s72-c/foreign-language-teacher-degrees.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-6483558142367736467</guid><pubDate>Tue, 04 May 2010 10:07:00 +0000</pubDate><atom:updated>2010-05-04T03:18:37.778-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">horses</category><title>Mad Dog the Superstar</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisVFo52e2lM80wflh3kPe2uUcCz51k91Xhh_IFbBTIYstNH_0nMqBwAzJN_qkQMxblpF4x_kXFflNyltPcUgUQCliy6mAKA5jSSKXv2CAP0fyzfwhpJFc7GmK__hiVSrBuWVZFFRIAjFE/s1600/WA2_6068.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisVFo52e2lM80wflh3kPe2uUcCz51k91Xhh_IFbBTIYstNH_0nMqBwAzJN_qkQMxblpF4x_kXFflNyltPcUgUQCliy6mAKA5jSSKXv2CAP0fyzfwhpJFc7GmK__hiVSrBuWVZFFRIAjFE/s400/WA2_6068.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5467355965875586450&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Travelled up to Kilkenny yesterday (3.5 hours each way) for the excellent Amateur show that is held there on May Bank Holiday each year.  It&#39;s been lucky for me in the past, but with no show since last October and straight into one of the toughest competitions of the year, I was stomach churningly nervous as I wait for the class to get under way.  I needn&#39;t have worried, Mad Dog shook off the winter blues and returned to form to win the class in fine style,  loving all the excitement and attention. Supercub finished fourth in the later speed class so very tired but happy horses and rider arrived home late last night.&lt;br /&gt;&lt;br /&gt;http://stabletostable.com/en/2010/05/kilkenny-sji-amateurs-warrington-ec-03052010/</description><link>http://pbjots.blogspot.com/2010/05/mad-dog-superstar.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisVFo52e2lM80wflh3kPe2uUcCz51k91Xhh_IFbBTIYstNH_0nMqBwAzJN_qkQMxblpF4x_kXFflNyltPcUgUQCliy6mAKA5jSSKXv2CAP0fyzfwhpJFc7GmK__hiVSrBuWVZFFRIAjFE/s72-c/WA2_6068.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-3777880702338359289</guid><pubDate>Sat, 01 May 2010 19:57:00 +0000</pubDate><atom:updated>2010-05-02T01:16:38.590-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">horses</category><category domain="http://www.blogger.com/atom/ns#">irish sport horse</category><title>Dolores has healthy French Buffet Foal - the waiting is over</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge7rxSsRZzA8TE9rX5IWwGBYkBqrIFmzzDUWixATnYIfCdsEzZ39da2SiHOwlZhyfM9gJJOpV9gl1zHz_5jj5JXNKY0H3tVgYLMZj9J1n_5qRV50mfg8Kg0OHeJRCKKmnxGez1C9lrRZY/s1600/P1010527_2.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge7rxSsRZzA8TE9rX5IWwGBYkBqrIFmzzDUWixATnYIfCdsEzZ39da2SiHOwlZhyfM9gJJOpV9gl1zHz_5jj5JXNKY0H3tVgYLMZj9J1n_5qRV50mfg8Kg0OHeJRCKKmnxGez1C9lrRZY/s400/P1010527_2.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5466393529407654786&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Phew, the waiting is over!  Dolores broke her pelvis when she was 1 year old and nobody except me and the vet thought she had a chance.  But after waiting for 6 month,  minding her day and night, neighbours all being called on more than once to help me get her on her feet again in the middle of the night, waiting for the scan at 3 years old to see if I could put in her in foal, waiting to see if she would go in foal, waiting to see if she would carry the foal full term, waiting for her to foal, the waiting is over and the horse count has gone up once more.&lt;br /&gt;&lt;br /&gt;In the early hours of the 1st of May, out in the field because I thought I had more waiting to do, Dolores gave birth to a health filly foal.   She is proving a calm and competent mother and is delighted with her foal.  More photos to follow!</description><link>http://pbjots.blogspot.com/2010/05/dolores-has-health-french-buffet-foal.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge7rxSsRZzA8TE9rX5IWwGBYkBqrIFmzzDUWixATnYIfCdsEzZ39da2SiHOwlZhyfM9gJJOpV9gl1zHz_5jj5JXNKY0H3tVgYLMZj9J1n_5qRV50mfg8Kg0OHeJRCKKmnxGez1C9lrRZY/s72-c/P1010527_2.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-8155620031395590206</guid><pubDate>Sat, 24 Apr 2010 07:44:00 +0000</pubDate><atom:updated>2010-04-24T02:38:15.201-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">future</category><category domain="http://www.blogger.com/atom/ns#">local government</category><category domain="http://www.blogger.com/atom/ns#">open government</category><title>SPCs Talk at Labour Party Environment Forum</title><description>Here is what I plan to say - but there is an hours journey to get there - it could all change!&lt;br /&gt;&lt;br /&gt;Hello, my name is Phoebe Bright and I&#39;m a member of Cork Environmental Forum, on the executive of Feasta (an Economics think tank), a Long Term Thinker, a Techie and a horse addict.  I&#39;m going to speak very briefly, only the role of SPCs, my experience of sitting on one of the Cork County SPCs and a couple of suggestions for how we can make them more effective.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Each County and City Council has a number Strategic Policy Committees made up roughly equal numbers of councillors and external representatives from organisations representing the environment, economic and social pillars.  The expectation for SPCs was that they could provide a different perspective during policy development.  For example, the policy planning unit might feel they don&#39;t more input into the farmer&#39;s market&#39;s.  Should there be provisions in the upcoming Development Plans and if so what?  A good question for an SPC.  Or, are there enough provisions for dogs in the City?  If not, what changes to policy should we consider?  &lt;br /&gt;&lt;br /&gt;That, as far as I can see from the documentation, was the expectation.  The reality for me, and many of my fellow external representatives, was that the SPC had become another tick box on the road to policy implementation.  Typically, we would receive documents for the next meeting a few days before the meeting, or at the meeting and we would spend 20 mins reviewing the Retail Policy for the City.  As the councillors had already participated in discussion on this policy during it&#39;s development, they had nothing more to say other than to repeat their position on this policy and the external representatives were desperately looking to find something intelligent to contribute from a hasty reading of the document.  As we saw these documents near the end of their progress from idea to publication, there was little chance of our input having any impact, even when we were able to make useful contributions.  There was an understandable air of frustration from many of those involved.&lt;br /&gt;&lt;br /&gt;The SPCs have lately been disbanded and reformed and we hope for better things going forward.  I certainly feel the idea of the SPC is valid and could of great benefit in widening the discussion on policy and helping the external representatives and their organisations to better understand the thinking behind policy development and to challenge the mindset of the of the elected councillors. &lt;br /&gt;&lt;br /&gt;I would ask you to consider two thoughts going forward, first the questions we ask and second the language we use.&lt;br /&gt;&lt;br /&gt;Beth Novak did a talk on for the Long Now Foundation on what Obama&#39;s administration has done on Open Government in the last year, what they have learned and their plans for the future.  On President Obama&#39;s first day in office he signed a memorandum on Open Government, committing all the departments and agencies to &quot;transparency, participation, and collaboration.  One of the lessons they have learnt to successfully encourage participation and collaboration  is to ask good questions.  In this case, good questions are SMART questions  (Specific, Measurable, Achievable, Relavent and Time bound) http://en.wikipedia.org/wiki/SMART_criteria.  So if you are an elected  member and an issue arises during the development of policy, why not suggest that this be brought before an SPC?  If you are on an SPC, try to get these types of questions on the agenda.&lt;br /&gt;&lt;br /&gt;Beth Novak&#39;s talk on Open Government: &lt;a href=&quot;http://www.longnow.org/seminars/02010/mar/04/transparent-government/&quot;&gt;http://www.longnow.org/seminars/02010/mar/04/transparent-government/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The second suggestion comes from a gem in the book The Intelligence Advantage .  The book talks about how culture is about language, the way we talk about our problems, the way we listen and the way we discuss.  If we want to test whether change is happening, then all we have to do is listen to the way that language is used.  If that has not changed, the culture is not changing either.  &lt;br /&gt;&lt;br /&gt;So if we want a different discussion in our SPCs, a different perspective and viewpoint, then we need to change the balance so that the councillors are drawn into a different conversation.  At present the Chair of each SPC is part of the council, so my suggestion is to have the meetings chaired or facilitated by an external representative.  &lt;br /&gt;&lt;br /&gt;I could am happy to share further experiences and ideas for SPCs and open government, so please feel free to catch me in the next break or contact me later.</description><link>http://pbjots.blogspot.com/2010/04/spcs-talk-at-labour-party-environment.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-1822342212292455179</guid><pubDate>Thu, 22 Apr 2010 10:38:00 +0000</pubDate><atom:updated>2010-04-22T03:58:36.672-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">complexity</category><category domain="http://www.blogger.com/atom/ns#">language</category><title>The Language of Change</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY5NfgwNjprT6Ol5wA2m0PeAfHBETOpO8-7b7U95LAY6ZU5BFynsFCI9kaoGsa2sjxGAquWCLAOwG6YAe8LzyRsnza2dg8580obGlVl9434kGfve2Nxq6Rnk7i_6NDFVKWFW66hkYtpW0/s1600/51XAGSRC4CL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU02_.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY5NfgwNjprT6Ol5wA2m0PeAfHBETOpO8-7b7U95LAY6ZU5BFynsFCI9kaoGsa2sjxGAquWCLAOwG6YAe8LzyRsnza2dg8580obGlVl9434kGfve2Nxq6Rnk7i_6NDFVKWFW66hkYtpW0/s200/51XAGSRC4CL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU02_.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5462914175972471602&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Dipping into &lt;a href=&quot;http://www.amazon.co.uk/Intelligence-Advantage-Organizing-Complexity/dp/075069792X/ref=sr_1_4?ie=UTF8&amp;s=books&amp;qid=1271933616&amp;sr=8-4&quot;&gt;The Intelligence Advantage - Organizing for Complexity&lt;/a&gt; by Michael D McMaster a gem of a book, I came across this section, which seems particularly pertinent to our situation in Ireland.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Organisations first appear in Language&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Language is at the center of society, cooperation and the coordination of action.  All social organization occurs in language.  Community is a function of language.  How we distinguish those who &quot;belong&quot; from those who do not is by the way they speak.  Even when the distinction is based on common practices, these practices emerge from a society where language was the fundamental organizing medium.&lt;br /&gt;&lt;br /&gt;A corporation, like a community, is held together by it&#39;s language, given meaning by its language, and is distinguished from other corporations by its language. IBM, Apple and NEC (that dates it!) all have unique language, unique stories and unique ways of speaking.  Equally important, their unique ways of understanding things and listening.  These ways of speaking, listening and understanding not only constitute the culture of a company, but they also constitute a company&#39;s unique way of organizing, managing and relating to the marketplace....&lt;br /&gt;&lt;br /&gt;and further on...&lt;br /&gt;&lt;br /&gt;If there is no change in the way that problems are described, the way challenges are spoken about, or the way values are stated, then it is very unlikely that any major change is occurring in that corporation.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I think there is a groundswell of opinion in Ireland that significant change is required in the culture of our public organisations.  We will know that our decision makers and politicians also want change when we here a change in the language they use to describe our problems and how they talk about the future.</description><link>http://pbjots.blogspot.com/2010/04/language-of-change.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY5NfgwNjprT6Ol5wA2m0PeAfHBETOpO8-7b7U95LAY6ZU5BFynsFCI9kaoGsa2sjxGAquWCLAOwG6YAe8LzyRsnza2dg8580obGlVl9434kGfve2Nxq6Rnk7i_6NDFVKWFW66hkYtpW0/s72-c/51XAGSRC4CL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU02_.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-1572874707520887366</guid><pubDate>Fri, 26 Mar 2010 11:05:00 +0000</pubDate><atom:updated>2010-03-26T06:58:24.835-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">centos</category><category domain="http://www.blogger.com/atom/ns#">git</category><category domain="http://www.blogger.com/atom/ns#">linux</category><title>Installing GIT on Centos 5.4</title><description>Following directions from this site:&lt;a href=&quot;http://www.how-to-linux.com/2009/01/install-git-161-on-centos-52/&quot;&gt;http://www.how-to-linux.com/2009/01/install-git-161-on-centos-52/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I got the error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;[root@tricostar-nwlc git-1.7.0.3]# make prefix=/usr/local all&lt;br /&gt;/bin/sh: curl-config: command not found&lt;br /&gt;GIT_VERSION = 1.7.0.3&lt;br /&gt;/bin/sh: curl-config: command not found&lt;br /&gt;    * new build flags or prefix&lt;br /&gt;    CC fast-import.o&lt;br /&gt; ....&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;When trying to make GIT.  After a bit of googling, found that I needed to include curl-devel as a dependancy so the following instructions worked for me:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;yum install zlib-devel openssl-devel perl cpio expat-devel gettext-devel&lt;br /&gt;yum install  libcurl3-openssl-dev&lt;br /&gt;wget http://kernel.org/pub/software/scm/git/git-1.7.0.3.tar.gz&lt;br /&gt;tar xvfz git-1.7.0.3.tar.gz&lt;br /&gt;cd git-1.7.0.3&lt;br /&gt;make prefix=/usr/local all&lt;br /&gt;make prefix=/usr/local install&lt;/span&gt;</description><link>http://pbjots.blogspot.com/2010/03/installing-git-on-centos-54.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-5376519642399700866</guid><pubDate>Fri, 19 Feb 2010 10:06:00 +0000</pubDate><atom:updated>2010-02-19T02:19:05.556-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">behavior</category><category domain="http://www.blogger.com/atom/ns#">electricity</category><title>Lessons learnt on Smart Meter rollout</title><description>Just reading an interesting post on Greenmonks Blog &lt;a href=&quot;http://greenmonk.net/pge-smart-meter-communication-failure/&quot;&gt;http://greenmonk.net/pge-smart-meter-communication-failure/&lt;/a&gt; on how not to roll out a smart meter system.&lt;br /&gt;&lt;br /&gt;The crux of it is that if you want people to change their behavior, you have to make the information they need to adapt highly visible.  In this rollout, the company was expecting customers to shift their loads from peak (high cost) periods to off peak (low cost) periods and thereby reduce their overall bills.  But there were no displays on the meters giving the current cost of electricity, no way of seeing current consumption or current spend.   I previously suggested in this blog, that to reduce our car driving we have the current cost of our journeys displayed in real-time on the car dashboard to keep reminding us how much we have spent.  As it stands, we only have the short pain of filling up our tanks followed by a long period of driving for free, and judging from our steadfast reluctance to reducing the time we spend in our cars, fuel price increases don&#39;t lead to behaviour change.</description><link>http://pbjots.blogspot.com/2010/02/lessons-learnt-on-smart-meter-rollout.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-2451318881339219069</guid><pubDate>Sun, 14 Feb 2010 17:07:00 +0000</pubDate><atom:updated>2010-02-14T01:28:14.567-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">chocolate</category><category domain="http://www.blogger.com/atom/ns#">recipe</category><title>Very chocolatey Cookies/Brownies</title><description>400g of Lidl 40% chocolate grated&lt;div&gt;115g butter&lt;/div&gt;&lt;div&gt;-- melt together --&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2 eggs, wisk with &lt;/div&gt;&lt;div&gt;140g demarara sugar&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Add melted chocolate/butter&lt;/div&gt;&lt;div&gt;Add 1 tsp cinnamon&lt;/div&gt;&lt;div&gt;Add chocolate chips&lt;/div&gt;&lt;div&gt;Add about 40g cup of flour pending on whether you want cookies or brownies.  For brownies add flour until just pourable, for cookies add flour until they can be shaped.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bake for about 12 mins in 170/180 oven until just cooked.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Keep eating one more but try and stop before you feel sick!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://pbjots.blogspot.com/2009/12/very-chocolatey-cookiesbrownies.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-94515388430626790</guid><pubDate>Sun, 14 Feb 2010 09:28:00 +0000</pubDate><atom:updated>2010-02-14T04:35:32.820-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">economics</category><category domain="http://www.blogger.com/atom/ns#">sustainability</category><title>Banning the use of the word Sustainable</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT_lMC3H2ozXCYqOejiCxrssMm9MBEk3NKb7pdUvdWtHiReTsIiYHbYFVkCunQ8yxTxPXy-_idUyBB1KYeVP-ldU0x3_2MBNj6fnEeHtAZmzz9xUegCrjxp79aVD0eHnr8FNl1c0sCcNI/s1600-h/earth.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT_lMC3H2ozXCYqOejiCxrssMm9MBEk3NKb7pdUvdWtHiReTsIiYHbYFVkCunQ8yxTxPXy-_idUyBB1KYeVP-ldU0x3_2MBNj6fnEeHtAZmzz9xUegCrjxp79aVD0eHnr8FNl1c0sCcNI/s200/earth.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5438037038764542146&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In a finite world due to be sucked into the sun in only 7.5billion years, nothing is truly sustainable.  &quot;Sustainable&quot; has become so meaningless that the local chamber of commerce referred to a &quot;return to a sustainable economy&quot; recently, so would we be lost for words if we banned the use of &quot;Sustainable&quot;?&lt;br /&gt;&lt;br /&gt;I&#39;m going to try very hard to remove the word from my vocabulary from now on and use some of these instead:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Resilience&lt;/span&gt; - the ability to bounce back, and often the opposite of efficiency.  A highly efficient system is designed for the highest gain in the short term.   It is tuned to current circumstances and as soon as those circumstances change it is no longer efficient.  The more efficient and specialised a system, business or organism becomes the less adaptable and resilient.  Resillience is about the boring stuff.  The boring banks were more resillient, the boring businesses producing essential goods and services for local markets - funeral directors, tyre sales, food markets are all ticking away.  Resillience is about reliability and repairability.  Resillience is about having an infrastructure we can trust - energy, transport, broadband, water.&lt;br /&gt;&lt;br /&gt;Continuity - the value in keeping some things the same while others change.  The loss of a business is not simply a monetary loss for the economy but the loss of intelligence.  An established company has an intelligence and learning of it&#39;s own which is held by it&#39;s staff.  While some of that intelligence may be written down, breaking up the people means losing that intelligence. Continuity is about keeping and using that collective intelligence, even if the original purpose has changed.   &lt;br /&gt;&lt;br /&gt;Balanced Portfolio - In the old days, a couple of decades ago, financial advisors talked about a balanced portfolio.  You had your safe (!) bonds and blue chip stocks, your more risky stocks and shares and a few high risk investments.  If our economy was a balanced portfolio, the safe investments would be investing in our own elf-sufficiency, making goods and services that are needed in our own economy.  The medium risk would be making goods for export markets, attracting multinational FDR  and investing in foreign businesses.  High risk would be relying on cycles that are likely to be short lived - housing booms have historically been followed by housing busts and there seems to escape from that cycle.&lt;br /&gt;&lt;br /&gt;Natural Lifespan - while long term thinking, continuity and resilience have their place, being able to exploit short term opportunities, the high risk element of the balanced portfolio, is also of great benefit and the trick here is to build in the demise as well as the creation and the skill is in knowing when to change.&lt;br /&gt;&lt;br /&gt;What all of these words have in common is a longer term view of success than we have become used to, so rather than asking for the speaker&#39;s or author&#39;s definition of &quot;Sustainable&quot; as I have in the past, I will ask &quot;Do you mean continue indefinitely, or do you have a more realistic timeframe in mind?&quot;.</description><link>http://pbjots.blogspot.com/2010/02/banning-use-of-word-sustainable.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT_lMC3H2ozXCYqOejiCxrssMm9MBEk3NKb7pdUvdWtHiReTsIiYHbYFVkCunQ8yxTxPXy-_idUyBB1KYeVP-ldU0x3_2MBNj6fnEeHtAZmzz9xUegCrjxp79aVD0eHnr8FNl1c0sCcNI/s72-c/earth.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-2051574269031749649</guid><pubDate>Sun, 07 Feb 2010 12:11:00 +0000</pubDate><atom:updated>2010-02-07T12:01:41.806-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">opencv</category><category domain="http://www.blogger.com/atom/ns#">osx</category><category domain="http://www.blogger.com/atom/ns#">python</category><title>Installing OpenCV 2 on OSX with Python</title><description>Starting with instructions on the &lt;a href=&quot;http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port&quot;&gt;Willow Garage site&lt;/a&gt;, I fell at the first hurdle because thought I didn&#39;t need to install svn.  Briefly, this is what I did and the more detailed explanation follows.&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The short route:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. sudo fink install svn-ssl   (which takes a long time!)&lt;/div&gt;&lt;div&gt;2. sudo port install cmake&lt;/div&gt;&lt;div&gt;3. svn co https://code.ros.org/svn/opencv/trunk opencv&lt;/div&gt;&lt;div&gt;4. cd opencv&lt;/div&gt;&lt;div&gt;&lt;div&gt;5. mkdir opencv/build&lt;/div&gt;&lt;div&gt;6. cd opencv/build&lt;/div&gt;&lt;div&gt;7. cmake ..&lt;/div&gt;&lt;div&gt;8. ccmake .  (option c then option g)&lt;/div&gt;&lt;div&gt;9. make&lt;/div&gt;&lt;div&gt;10. sudo make install&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Helvetica, fantasy;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, fantasy;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, -webkit-fantasy;&quot;&gt;On my osx 10.5 it copied the shared objects file to:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, -webkit-fantasy;&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/usr/local/lib/python2.5/site-packages/cv.so&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, -webkit-fantasy;&quot;&gt;so I needed to move it to the site-packages I was using &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, -webkit-fantasy;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, -webkit-fantasy;&quot;&gt;&lt;div&gt;11. cp /usr/local/lib/python2.5/site-packages/cv.so /Users/phoebebr/Development/site-packages&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I can do:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;python&lt;/div&gt;&lt;div&gt;&gt;&gt;&gt; import cv&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;no error &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and I can run the tests in my downloaded opencv folder, &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;cd  opencv/opencv/tests/python&lt;/div&gt;&lt;div&gt;python test.py&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This did report a few problems but most stuff seemed to run.  Tried to run some tests calling opencv from Aptana but this caused the following error: &quot; cp /usr/local/lib/python2.5/site-packages/cv.so /Users/phoebebr/Development/site-packages&quot;.  Having installed successfully (I hope!) will have a go a writing a few programs next week....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, -webkit-fantasy;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, -webkit-fantasy;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:Helvetica;font-size:medium;&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The long route:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Already had svn so did:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;svn co https://code.ros.org/svn/opencv/trunk opencv&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;and got&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;blockquote&gt;svn: SSL is not supported&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;so thought, I don&#39;t need https&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;svn co http://code.ros.org/svn/opencv/trunk opencv&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and got&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;svn: PROPFIND request failed on &#39;/svn/opencv/trunk&#39;&lt;/div&gt;&lt;div&gt;svn: PROPFIND of &#39;/svn/opencv/trunk&#39;: 301 Moved Permanently (http://code.ros.org)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So tried the instructions from the top:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The-Black-Book-2:site-packages phoebebr$ sudo port install subversion&lt;/div&gt;&lt;div&gt;Password:&lt;/div&gt;&lt;div&gt;---&gt;  Fetching apr&lt;/div&gt;&lt;div&gt;---&gt;  Attempting to fetch apr-1.3.5.tar.bz2 from http://www.mirrorservice.org/sites/ftp.apache.org/apr&lt;/div&gt;&lt;div&gt;---&gt;  Attempting to fetch apr-1.3.5.tar.bz2 from http://apache.multidist.com/apr&lt;/div&gt;&lt;div&gt;---&gt;  Attempting to fetch apr-1.3.5.tar.bz2 from http://apache.mirroring.de/apr&lt;/div&gt;&lt;div&gt;---&gt;  Attempting to fetch apr-1.3.5.tar.bz2 from http://archive.apache.org/dist/apr&lt;/div&gt;&lt;div&gt;---&gt;  Verifying checksum(s) for apr&lt;/div&gt;&lt;div&gt;---&gt;  Extracting apr&lt;/div&gt;&lt;div&gt;---&gt;  Configuring apr&lt;/div&gt;&lt;div&gt;---&gt;  Building apr&lt;/div&gt;&lt;div&gt;---&gt;  Staging apr into destroot&lt;/div&gt;&lt;div&gt;---&gt;  Installing apr @1.3.5_0&lt;/div&gt;&lt;div&gt;---&gt;  Activating apr @1.3.5_0&lt;/div&gt;&lt;div&gt;Error: Target org.macports.activate returned: Image error: /opt/local/bin/apr-1-config already exists and does not belong to a registered port.  Unable to activate port apr.&lt;/div&gt;&lt;div&gt;Error: The following dependencies failed to build: apr apr-util expat libiconv gperf sqlite3 ncurses ncursesw readline cyrus-sasl2 openssl zlib gettext neon serf&lt;/div&gt;&lt;div&gt;Error: Status 1 encountered during processing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So found this URL:&lt;/div&gt;&lt;div&gt;http://project-tigershark.com/people/rob/blog/2006/08/21/svn-on-os-x-with-fink-part-i-installation/&lt;/div&gt;&lt;div&gt;which explained that I needed the server version of svn and I only had the client version installed. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and did&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;sudo fink install svn-ssl&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Helvetica, -webkit-fantasy;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Helvetica, fantasy;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Helvetica, -webkit-fantasy;&quot;&gt;and that install svn so could continue with instructions above, missing the first step.  Phew....&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://pbjots.blogspot.com/2010/02/installing-opencv-2-on-osx-with-python.html</link><author>noreply@blogger.com (Phoebe Bright)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6295167997046485177.post-7933352263778494371</guid><pubDate>Thu, 28 Jan 2010 09:28:00 +0000</pubDate><atom:updated>2010-01-28T01:33:03.157-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">apple</category><category domain="http://www.blogger.com/atom/ns#">ebooks</category><title>I want an iPad</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqzyRKdJO8m_wZ0qRw5uSyWRTAN3GajXAAwnQQ0z4mVGSC4MgY3SBFW2ZgCiQOez4HKCna2grDQFWaw6yrMjN71d8_wUc4N_5dmwTWfnFGtITM76tiWi0zCeFwdgvKbsPooyB5Z-sWAGI/s1600-h/ibooks_20100127.jpg&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 395px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqzyRKdJO8m_wZ0qRw5uSyWRTAN3GajXAAwnQQ0z4mVGSC4MgY3SBFW2ZgCiQOez4HKCna2grDQFWaw6yrMjN71d8_wUc4N_5dmwTWfnFGtITM76tiWi0zCeFwdgvKbsPooyB5Z-sWAGI/s400/ibooks_20100127.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5431720518507885618&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Apple have done it again, leapt ahead of the competition with the new iPad.  Now I just have to find a business reason to justify buying one. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I can see a whole new market with the oldies and the computer phobes.  This isn&#39;t a computer, just a simple of doing the essentials.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Want, want, want...&lt;/div&gt;</description><link>http://pbjots.blogspot.com/2010/01/i-want-ipad.html</link><author>noreply@blogger.com (Phoebe Bright)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqzyRKdJO8m_wZ0qRw5uSyWRTAN3GajXAAwnQQ0z4mVGSC4MgY3SBFW2ZgCiQOez4HKCna2grDQFWaw6yrMjN71d8_wUc4N_5dmwTWfnFGtITM76tiWi0zCeFwdgvKbsPooyB5Z-sWAGI/s72-c/ibooks_20100127.jpg" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>