<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>paignton &amp;mdash; Paul Sutton</title>
    <link>https://personaljournal.ca/paulsutton/tag:paignton</link>
    <description>Personal Blog</description>
    <pubDate>Tue, 05 May 2026 15:02:31 +0000</pubDate>
    <item>
      <title>Stover 29th August</title>
      <link>https://personaljournal.ca/paulsutton/stover-29th-august</link>
      <description>&lt;![CDATA[Stover 29th August&#xA;&#xA;A few photos taken at Stover Park.&#xA;&#xA;stover&#xA;&#xA;stover&#xA;&#xA;stover&#xA;&#xA;stover&#xA;&#xA;stover&#xA;&#xA;cc-logo&#xA;  &#xA;Tags&#xA;&#xA;#Paignton,#Events,#Fair,#Entertainment,#Amusements&#xA;  &#xA;  &#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Stover 29th August</p>

<p>A few photos taken at Stover Park.</p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/stover1.JPG" alt="stover"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/stover2.JPG" alt="stover"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/stover3.JPG" alt="stover"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/stover4.JPG" alt="stover"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/stover5.JPG" alt="stover"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/88x31.png" alt="cc-logo"></p>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:Paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Paignton</span></a>,<a href="/paulsutton/tag:Events" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Events</span></a>,<a href="/paulsutton/tag:Fair" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Fair</span></a>,<a href="/paulsutton/tag:Entertainment" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Entertainment</span></a>,<a href="/paulsutton/tag:Amusements" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Amusements</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/stover-29th-august</guid>
      <pubDate>Mon, 02 Sep 2024 06:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Fair on Paignton Seafront 27th August</title>
      <link>https://personaljournal.ca/paulsutton/fair-on-paignton-seafront-27th-august</link>
      <description>&lt;![CDATA[Fair on Paignton Seafront 27th August &#xA;&#xA;A few photos from the fair on Paignton Seafront.  &#xA;&#xA;fair&#xA;&#xA;fair&#xA;&#xA;fair&#xA;&#xA;fair&#xA;&#xA;fair&#xA;&#xA;cc-logo&#xA;  &#xA;Tags&#xA;&#xA;#Paignton,#Events,#Fair,#Entertainment,#Amusements&#xA;  &#xA;  &#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Fair on Paignton Seafront 27th August</p>

<p>A few photos from the fair on Paignton Seafront.</p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/fair1.JPG" alt="fair"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/fair2.JPG" alt="fair"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/fair3.JPG" alt="fair"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/fair4.JPG" alt="fair"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/fair5.JPG" alt="fair"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/88x31.png" alt="cc-logo"></p>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:Paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Paignton</span></a>,<a href="/paulsutton/tag:Events" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Events</span></a>,<a href="/paulsutton/tag:Fair" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Fair</span></a>,<a href="/paulsutton/tag:Entertainment" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Entertainment</span></a>,<a href="/paulsutton/tag:Amusements" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Amusements</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/fair-on-paignton-seafront-27th-august</guid>
      <pubDate>Sat, 31 Aug 2024 06:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Paignton Bike night 27th August</title>
      <link>https://personaljournal.ca/paulsutton/paignton-bike-night-27th-august</link>
      <description>&lt;![CDATA[Paignton Bike night 27th August &#xA;&#xA;A few photos from last night&#39;s bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;cc-logo&#xA;  &#xA;Tags&#xA;&#xA;#Paignton,#Events,#BikeNight,#Motocycles,#Bikers&#xA;  &#xA;  &#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Paignton Bike night 27th August</p>

<p>A few photos from last night&#39;s bike night</p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite27aug1.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite27aug2.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/88x31.png" alt="cc-logo"></p>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:Paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Paignton</span></a>,<a href="/paulsutton/tag:Events" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Events</span></a>,<a href="/paulsutton/tag:BikeNight" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">BikeNight</span></a>,<a href="/paulsutton/tag:Motocycles" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Motocycles</span></a>,<a href="/paulsutton/tag:Bikers" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Bikers</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/paignton-bike-night-27th-august</guid>
      <pubDate>Fri, 30 Aug 2024 06:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Paignton Bike night 14th August</title>
      <link>https://personaljournal.ca/paulsutton/paignton-bike-night-14th-august</link>
      <description>&lt;![CDATA[Paignton Bike night 14th August &#xA;&#xA;A few photos from last night&#39;s bike nite&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;bike night&#xA;&#xA;gigrace&#xA;  &#xA;Tags&#xA;&#xA;#Paignton,#Events,#BikeNight,#Motocycles,#Bikers&#xA;  &#xA;  &#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Paignton Bike night 14th August</p>

<p>A few photos from last night&#39;s bike nite</p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite2.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite5.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenitea1.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenitea4.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite3.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite6.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenitea2.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenitea5.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite4.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenite7.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/bikenitea3.JPG" alt="bike night"></p>

<p><img src="https://salsa.debian.org/zleap-guest/blog-media/-/raw/master/88x31.png" alt="gigrace"></p>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:Paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Paignton</span></a>,<a href="/paulsutton/tag:Events" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Events</span></a>,<a href="/paulsutton/tag:BikeNight" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">BikeNight</span></a>,<a href="/paulsutton/tag:Motocycles" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Motocycles</span></a>,<a href="/paulsutton/tag:Bikers" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Bikers</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/paignton-bike-night-14th-august</guid>
      <pubDate>Thu, 15 Aug 2024 10:34:53 +0000</pubDate>
    </item>
    <item>
      <title>English Riviera Bike Nights</title>
      <link>https://personaljournal.ca/paulsutton/english-riviera-bike-nights</link>
      <description>&lt;![CDATA[English Riviera Bike Nights&#xA;&#xA;English Riviera Bike Nights&#xA;&#xA; Paignton Seafront, The Esplanade, Paignton, Devon, TQ4 6ED &#xA;&#xA;Opening Dates and Times&#xA;&#xA;English Riviera Bike Nights &#xA;Dates 1 May 2024 - 25 Sept 2024&#xA;Wednesday evenings&#xA;&#xA;Tags&#xA;&#xA;#Event,#Paignton,#Motocycle,#BikeNight&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>English Riviera Bike Nights</p>

<p><strong>English Riviera Bike Nights</strong></p>

<p> Paignton Seafront, The Esplanade, Paignton, Devon, TQ4 6ED</p>

<p>Opening Dates and Times</p>
<ul><li>English Riviera Bike Nights</li>
<li>Dates 1 May 2024 – 25 Sept 2024</li>
<li>Wednesday evenings</li></ul>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:Event" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Event</span></a>,<a href="/paulsutton/tag:Paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Paignton</span></a>,<a href="/paulsutton/tag:Motocycle" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Motocycle</span></a>,<a href="/paulsutton/tag:BikeNight" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">BikeNight</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/english-riviera-bike-nights</guid>
      <pubDate>Tue, 16 Jul 2024 15:21:20 +0000</pubDate>
    </item>
    <item>
      <title>Code Club Saturday 6th November part 2</title>
      <link>https://personaljournal.ca/paulsutton/code-club-saturday-6th-november-part-2</link>
      <description>&lt;![CDATA[Code Club Saturday 6th November part 2&#xA;&#xA;I spent about 1/2 an hour on Friday setting up and preparing for Code Club, here are a few photos of the room all set up and ready to go.&#xA;&#xA;Photo 1&#xA;&#xA;Photo 2&#xA;&#xA;Photo 3&#xA;&#xA;Links&#xA;&#xA;Paignton Library&#xA;   Projects page&#xA;Code Club&#xA;&#xA;Tags&#xA;&#xA;#Paignton,#Library,#CodeClub,#Coding,#Programming,#Scratch,#HTML,#Python,#More,#Tech&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Code Club Saturday 6th November part 2</p>

<p>I spent about ½ an hour on Friday setting up and preparing for Code Club, here are a few photos of the room all set up and ready to go.</p>

<p><img src="https://git.qoto.org/zleap/documents/-/raw/master/codeclub/codeclub000271.JPG" alt="Photo 1"></p>

<p><img src="https://git.qoto.org/zleap/documents/-/raw/master/codeclub/codeclub000272.JPG" alt="Photo 2"></p>

<p><img src="https://git.qoto.org/zleap/documents/-/raw/master/codeclub/codeclub000273.JPG" alt="Photo 3"></p>

<p><strong>Links</strong></p>
<ul><li><a href="https://www.torbaylibraries.org.uk/web/arena/paigntonlibrary" rel="nofollow">Paignton Library</a>
<ul><li><a href="https://personaljournal.ca/torbaycoderdojo/projects-9714" rel="nofollow">Projects page</a></li></ul></li>
<li><a href="https://codeclub.org/en/" rel="nofollow">Code Club</a></li></ul>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:Paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Paignton</span></a>,<a href="/paulsutton/tag:Library" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Library</span></a>,<a href="/paulsutton/tag:CodeClub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">CodeClub</span></a>,<a href="/paulsutton/tag:Coding" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Coding</span></a>,<a href="/paulsutton/tag:Programming" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Programming</span></a>,<a href="/paulsutton/tag:Scratch" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Scratch</span></a>,<a href="/paulsutton/tag:HTML" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">HTML</span></a>,<a href="/paulsutton/tag:Python" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Python</span></a>,<a href="/paulsutton/tag:More" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">More</span></a>,<a href="/paulsutton/tag:Tech" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Tech</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/code-club-saturday-6th-november-part-2</guid>
      <pubDate>Sat, 06 Nov 2021 09:50:00 +0000</pubDate>
    </item>
    <item>
      <title>Code Club Saturday 6th November</title>
      <link>https://personaljournal.ca/paulsutton/code-club-saturday-6th-november</link>
      <description>&lt;![CDATA[Code Club Saturday 6th November&#xA;&#xA;The next Paignton Library Code Club is Saturday 6th November 2021.  Usual time.&#xA;&#xA;We will just carry on from where we left off last time, catch up on what has been undertaken since the last code club.&#xA;&#xA;Links&#xA;&#xA;Paignton Library&#xA;   Projects page&#xA;Code Club&#xA;&#xA;Tags&#xA;&#xA;#Paignton,#Library,#CodeClub,#Coding,#Programming,#Scratch,#HTML,#Python,#More,#Tech&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Code Club Saturday 6th November</p>

<p>The next Paignton Library Code Club is Saturday 6th November 2021.  Usual time.</p>

<p>We will just carry on from where we left off last time, catch up on what has been undertaken since the last code club.</p>

<p><strong>Links</strong></p>
<ul><li><a href="https://www.torbaylibraries.org.uk/web/arena/paigntonlibrary" rel="nofollow">Paignton Library</a>
<ul><li><a href="https://personaljournal.ca/torbaycoderdojo/projects-9714" rel="nofollow">Projects page</a></li></ul></li>
<li><a href="https://codeclub.org/en/" rel="nofollow">Code Club</a></li></ul>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:Paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Paignton</span></a>,<a href="/paulsutton/tag:Library" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Library</span></a>,<a href="/paulsutton/tag:CodeClub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">CodeClub</span></a>,<a href="/paulsutton/tag:Coding" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Coding</span></a>,<a href="/paulsutton/tag:Programming" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Programming</span></a>,<a href="/paulsutton/tag:Scratch" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Scratch</span></a>,<a href="/paulsutton/tag:HTML" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">HTML</span></a>,<a href="/paulsutton/tag:Python" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Python</span></a>,<a href="/paulsutton/tag:More" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">More</span></a>,<a href="/paulsutton/tag:Tech" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Tech</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/code-club-saturday-6th-november</guid>
      <pubDate>Fri, 05 Nov 2021 10:13:53 +0000</pubDate>
    </item>
    <item>
      <title>Add  more functions</title>
      <link>https://personaljournal.ca/paulsutton/add-more-functions</link>
      <description>&lt;![CDATA[Add  more functions&#xA;&#xA;I have added a few more maths functions to the application and also provided a clear function.  There are still a few items to add to help improve debugging but the application is starting to take shape. &#xA;&#xA;Notes &#xA; &#xA;window = Tk()&#xA;window.title(&#39;Maths Application&#39;)&#xA;window.geometry(&#34;570x150&#34;) # w x h&#xA;window.resizable(0,0)&#xA;&#xA;The above code is being modified as I go. So I am changing the window size depending on what is being displayed.&#xA;&#xA;I have also made the Window title reflect the purpose of the application.&#xA;&#xA;That the source code now has &#39;result&#39; as a label rather than output.  This will show up future screenshots. &#xA;&#xA;addition app&#xA;&#xA;The code for the above is as follows. &#xA;&#xA;!/usr/bin/env python&#xA;import Tkinter # note use of caps&#xA;from Tkinter import &#xA;&#xA;window = Tk()&#xA;window.title(&#39;Maths Application&#39;)&#xA;window.geometry(&#34;570x150&#34;) # w x h&#xA;window.resizable(0,0)&#xA;&#xA;define button actions&#xA;def btn1():&#xA;&#x9;#convert box text in to integers&#x9;&#xA;&#x9;ent1 = int(entrytext.get())&#xA;&#x9;ent2 = int(entrytext2.get())&#xA;&#x9;&#xA;&#x9;#add the 2 integers and store in variable add&#xA;&#x9;add = (ent1 + ent2)&#xA;&#x9;print (add)&#xA;&#x9;&#xA;&#x9;#insert value of variable add in&#x9;to box outtext &#xA;&#x9;outtext1.insert(0,str(add)) # insert response&#xA;&#xA;def btn2():&#xA;&#x9;#print(&#34;subtraction&#34;)&#xA;&#x9;ent1 = int(entrytext.get())&#xA;&#x9;ent2 = int(entrytext2.get())&#xA;&#x9;&#xA;&#x9;#subtract the 2 integers and store in variable sub&#xA;&#x9;sub = (ent1 - ent2)&#xA;&#x9;&#xA;&#x9;&#xA;&#x9;#insert value of variable sub in&#x9;to box outtext &#xA;&#x9;outtext1.insert(0,str(sub)) # insert response&#x9;&#xA;&#x9;&#xA;def btn3():&#xA;&#x9;#print(&#34;multiply&#34;)&#xA;&#x9;ent1 = int(entrytext.get())&#xA;&#x9;ent2 = int(entrytext2.get())&#xA;&#x9;&#xA;&#x9;#multiply the 2 integers and store in variable mul&#xA;&#x9;mul = (ent1  ent2)&#xA;&#x9;&#x9;&#xA;&#x9;#insert value of variable mul in&#x9;to box outtext &#xA;&#x9;outtext1.insert(0,str(mul)) # insert response&#x9;&#x9;&#xA;&#xA;def btn4():&#xA;&#x9;#print(&#34;divide&#34;)&#xA;&#x9;ent1 = int(entrytext.get())&#xA;&#x9;ent2 = int(entrytext2.get())&#xA;&#x9;&#xA;&#x9;#multiply the 2 integers and store in variable div&#xA;&#x9;div = (ent1 / ent2)&#xA;&#x9;&#x9;&#xA;&#x9;#insert value of variable mul in&#x9;to box outtext &#xA;&#x9;outtext1.insert(0,str(div)) # insert response&#x9;&#xA;&#x9;&#xA;clear boxes&#xA;def clear():&#xA;&#x9;#print(&#34;clear boxes&#34;) # leave in for legacy testing&#xA;&#x9;entrytext.delete(0, END) # clear input box&#xA;&#x9;entrytext2.delete(0, END) # clear input box2&#xA;&#x9;outtext1.delete(0, END) # clear output box&#xA;&#x9;&#xA;btntog2 = Button( window, text =&#39;+&#39;, command=btn1) # add&#xA;btntog3 = Button( window, text =&#39;-&#39;, command=btn2)  # subtract&#xA;btntog4 = Button( window, text =&#39;x&#39;, command=btn3) #multiply&#xA;btntog5 = Button( window, text =&#39;/&#39;, command=btn4) #divide&#xA;btntog6 = Button( window, text =&#39;Clear&#39;, command=clear) #clear&#xA;btnexit = Button( window, text =&#39;Exit&#39;,command=exit)&#x9; #exit&#xA;&#xA;define some labels&#xA;box1 = Label(window, text=&#34;1st Value&#34;)&#xA;box2 = Label(window, text=&#34;2nd Value&#34;)&#xA;box3 = Label(window, text=&#34;Result&#34;)&#xA;&#xA;define entry box &#xA;entry1 = StringVar() # this is our entry box&#xA;entry2 = StringVar()&#xA;entrytext = Entry(window, textvariable=entry1) # this is our entry box&#xA;entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box&#xA;&#xA;define out box &#xA;&#xA;entry2 = StringVar() # this is our output box&#xA;outtext1 = Entry(window, textvariable=entry2) # this is our output box&#xA;&#xA;display boxes&#xA;entrytext.grid(row = 3, column = 2,)  #display entry box&#xA;entrytext2.grid(row = 3, column = 3,)  #display entry box&#xA;outtext1.grid(row = 3, column = 4,) #display output box&#xA;&#xA;place labels&#xA;box1.grid(row = 1&#x9;, column = 2, padx = 5, pady = 5)&#xA;box2.grid(row = 1&#x9;, column = 3, padx = 5, pady = 5)&#xA;box3.grid(row = 1&#x9;, column = 4, padx = 5, pady = 5)&#xA;&#xA;buttons&#xA;btntog2.grid(row = 4, column = 2, padx = 1, pady = 1) # addition button&#xA;btntog3.grid(row = 4, column = 3, padx = 1, pady = 1) # subtraction button&#xA;btntog4.grid(row = 5, column = 2, padx = 1, pady = 1) # multiply button&#xA;btntog5.grid(row = 5, column = 3, padx = 1, pady = 1) # divide button&#xA;btntog6.grid(row = 4, column = 6, padx = 1, pady = 1) # clear button&#xA;btnexit.grid(row = 3, column = 6, padx = 1, pady = 1) # exit button&#xA;&#xA;window.mainloop()&#xA;&#xA;The code that I used for a previous application to detect if numerical values have been used is below but provided &#39;as is&#39; for now.&#xA;&#xA;def response():&#xA;&#x9;&#x9;&#xA;&#x9;msg = &#34;error : must be a text value&#34;&#xA;&#xA;&#x9;i = circletext.get()&#xA;&#x9;y = i.isdigit()&#xA;&#x9;l = len(circletext.get())&#xA;&#x9;#print l&#xA;&#x9;if y == True or l == 0:&#xA;&#x9;&#x9;circletext.insert(0,(msg))&#xA;&#x9;&#x9;&#xA;&#x9;else:&#x9;&#xA;&#x9;&#x9;x = random.choice(RESPONSES)&#xA;&#x9;&#x9;circletext2.delete(0, END) # clear prev output&#xA;&#x9;&#x9;circletext2.insert(0,str(x)) # insert response&#xA;&#xA;I will integrate a version of this in to the main code. &#xA;&#xA;#python, #tkinter, #programming, #python, #graphic, #applications, #bugs, #troubleshooting, #howto, #paignton, #library, #virtual, #codeclub&#xA;&#xA;Happy to provide help and support via decentralised social media.  I can be contacted on Mastodon here. You can get a free account on the http://qoto.org instance by following this link.&#xA;&#xA;cc-by logo&#xA;&#xA;Licenced under Attribution 4.0 International (CC BY 4.0)&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Add  more functions</p>

<p>I have added a few more maths functions to the application and also provided a clear function.  There are still a few items to add to help improve debugging but the application is starting to take shape.</p>

<p><strong>Notes</strong></p>

<pre><code>window = Tk()
window.title(&#39;Maths Application&#39;)
window.geometry(&#34;570x150&#34;) # w x h
window.resizable(0,0)
</code></pre>
<ol><li><p>The above code is being modified as I go. So I am changing the window size depending on what is being displayed.</p></li>

<li><p>I have also made the Window title reflect the purpose of the application.</p></li>

<li><p>That the source code now has &#39;result&#39; as a label rather than output.  This will show up future screenshots.</p></li></ol>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/tkinter/AdditionApp2.png" alt="addition app"></p>

<p>The code for the above is as follows.</p>

<pre><code>#!/usr/bin/env python
import Tkinter # note use of caps
from Tkinter import *

window = Tk()
window.title(&#39;Maths Application&#39;)
window.geometry(&#34;570x150&#34;) # w x h
window.resizable(0,0)

#define button actions
def btn1():
	#convert box text in to integers	
	ent1 = int(entrytext.get())
	ent2 = int(entrytext2.get())
	
	#add the 2 integers and store in variable add
	add = (ent1 + ent2)
	print (add)
	
	#insert value of variable add in	to box outtext 
	outtext1.insert(0,str(add)) # insert response

def btn2():
	#print(&#34;subtraction&#34;)
	ent1 = int(entrytext.get())
	ent2 = int(entrytext2.get())
	
	#subtract the 2 integers and store in variable sub
	sub = (ent1 - ent2)
	
	
	#insert value of variable sub in	to box outtext 
	outtext1.insert(0,str(sub)) # insert response	
	
def btn3():
	#print(&#34;multiply&#34;)
	ent1 = int(entrytext.get())
	ent2 = int(entrytext2.get())
	
	#multiply the 2 integers and store in variable mul
	mul = (ent1 * ent2)
		
	#insert value of variable mul in	to box outtext 
	outtext1.insert(0,str(mul)) # insert response		

def btn4():
	#print(&#34;divide&#34;)
	ent1 = int(entrytext.get())
	ent2 = int(entrytext2.get())
	
	#multiply the 2 integers and store in variable div
	div = (ent1 / ent2)
		
	#insert value of variable mul in	to box outtext 
	outtext1.insert(0,str(div)) # insert response	
	
#clear boxes
def clear():
	#print(&#34;clear boxes&#34;) # leave in for legacy testing
	entrytext.delete(0, END) # clear input box
	entrytext2.delete(0, END) # clear input box2
	outtext1.delete(0, END) # clear output box
	
btn_tog2 = Button( window, text =&#39;+&#39;, command=btn1) # add
btn_tog3 = Button( window, text =&#39;-&#39;, command=btn2)  # subtract
btn_tog4 = Button( window, text =&#39;x&#39;, command=btn3) #multiply
btn_tog5 = Button( window, text =&#39;/&#39;, command=btn4) #divide
btn_tog6 = Button( window, text =&#39;Clear&#39;, command=clear) #clear
btn_exit = Button( window, text =&#39;Exit&#39;,command=exit)	 #exit

# define some labels
box1 = Label(window, text=&#34;1st Value&#34;)
box2 = Label(window, text=&#34;2nd Value&#34;)
box3 = Label(window, text=&#34;Result&#34;)

#define entry box 
entry1 = StringVar() # this is our entry box
entry2 = StringVar()
entrytext = Entry(window, textvariable=entry1) # this is our entry box
entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box

#define out box 

entry2 = StringVar() # this is our output box
outtext1 = Entry(window, textvariable=entry2) # this is our output box

#display boxes
entrytext.grid(row = 3, column = 2,)  #display entry box
entrytext2.grid(row = 3, column = 3,)  #display entry box
outtext1.grid(row = 3, column = 4,) #display output box

#place labels
box1.grid(row = 1	, column = 2, padx = 5, pady = 5)
box2.grid(row = 1	, column = 3, padx = 5, pady = 5)
box3.grid(row = 1	, column = 4, padx = 5, pady = 5)

#buttons
btn_tog2.grid(row = 4, column = 2, padx = 1, pady = 1) # addition button
btn_tog3.grid(row = 4, column = 3, padx = 1, pady = 1) # subtraction button
btn_tog4.grid(row = 5, column = 2, padx = 1, pady = 1) # multiply button
btn_tog5.grid(row = 5, column = 3, padx = 1, pady = 1) # divide button
btn_tog6.grid(row = 4, column = 6, padx = 1, pady = 1) # clear button
btn_exit.grid(row = 3, column = 6, padx = 1, pady = 1) # exit button

window.mainloop()


</code></pre>

<p>The code that I used for a previous application to detect if numerical values have been used is below but provided &#39;as is&#39; for now.</p>

<pre><code>def response():
		
	msg = &#34;error : must be a text value&#34;

	i = circletext.get()
	y = i.isdigit()
	l = len(circletext.get())
	#print l
	if y == True or l == 0:
		circletext.insert(0,(msg))
		
	else:	
		x = random.choice(RESPONSES)
		circletext2.delete(0, END) # clear prev output
		circletext2.insert(0,str(x)) # insert response
</code></pre>

<p>I will integrate a version of this in to the main code.</p>

<p><a href="/paulsutton/tag:python" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">python</span></a>, <a href="/paulsutton/tag:tkinter" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">tkinter</span></a>, <a href="/paulsutton/tag:programming" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">programming</span></a>, <a href="/paulsutton/tag:python" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">python</span></a>, <a href="/paulsutton/tag:graphic" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">graphic</span></a>, <a href="/paulsutton/tag:applications" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">applications</span></a>, <a href="/paulsutton/tag:bugs" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bugs</span></a>, <a href="/paulsutton/tag:troubleshooting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">troubleshooting</span></a>, <a href="/paulsutton/tag:howto" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">howto</span></a>, <a href="/paulsutton/tag:paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">paignton</span></a>, <a href="/paulsutton/tag:library" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">library</span></a>, <a href="/paulsutton/tag:virtual" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">virtual</span></a>, <a href="/paulsutton/tag:codeclub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">codeclub</span></a></p>

<p>Happy to provide help and support via decentralised social media.  I can be contacted on Mastodon <a href="https://qoto.org/@zleap/" rel="nofollow">here</a>. You can get a free account on the <a href="http://qoto.org" rel="nofollow">http://qoto.org</a> instance by following <a href="https://qoto.org/invite/pN8gdTzi" rel="nofollow">this link</a>.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/88x31.png" alt="cc-by logo"></p>

<p><a href="https://creativecommons.org/licenses/by/4.0/" rel="nofollow">Licenced under Attribution 4.0 International (CC BY 4.0)</a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/add-more-functions</guid>
      <pubDate>Thu, 21 May 2020 06:44:22 +0000</pubDate>
    </item>
    <item>
      <title>Addition Application</title>
      <link>https://personaljournal.ca/paulsutton/addition-application</link>
      <description>&lt;![CDATA[Addition Application&#xA;&#xA;So following on from the previous posts, I am how sharing a small application, that makes use of what we have been learning. &#xA;&#xA;This presents 2 input boxes and an output box,  any values entered in to the first two,  the sum is placed in to the last box.&#xA;&#xA;addition app&#xA;&#xA;This is not perfect, but getting there slowly.&#xA;&#xA;We need to:-&#xA;&#xA;Fix the name of the button from button1&#xA;Detect if the user has entered numerical values&#xA;Detect for empty boxes&#xA;Make labels more useful&#xA;Fix spelling in comments&#xA;Fix clarity of comments&#xA;&#xA;The code for the above is as follows. &#xA;&#xA;!/usr/bin/env python&#xA;import Tkinter # note use of caps&#xA;from Tkinter import *&#xA;&#xA;window = Tk()&#xA;window.title(&#39;App 1&#39;)&#xA;window.geometry(&#34;650x125&#34;) # w x h&#xA;window.resizable(0,0)&#xA;&#xA;define button actions&#xA;def btn1():&#xA;&#x9;#convert box text in to integers&#x9;&#xA;&#x9;ent1 = int(entrytext.get())&#xA;&#x9;ent2 = int(entrytext2.get())&#xA;&#x9;&#xA;&#x9;#add the 2 integers and store in variable add&#xA;&#x9;add = (ent1 + ent2)&#xA;&#x9;print add&#xA;&#x9;&#xA;&#x9;#instert value add in&#x9;to box outtext &#xA;&#x9;outtext1.insert(0,str(add)) # insert response&#xA;&#x9;&#xA;btntog2 = Button( window, text =&#39;button1&#39;, command=btn1)&#xA;btnexit = Button( window, text =&#39;exit&#39;,command=exit)&#x9;&#xA;&#xA;define some labels&#xA;box1 = Label(window, text=&#34;Entry 1: &#34;)&#xA;box2 = Label(window, text=&#34;Entry 2: &#34;)&#xA;box3 = Label(window, text=&#34;Ouput1: &#34;)&#xA;&#xA;define entry box &#xA;entry1 = StringVar() # this is our entry box&#xA;entry2 = StringVar()&#xA;entrytext = Entry(window, textvariable=entry1) # this is our entry box&#xA;entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box&#xA;&#xA;define out box &#xA;&#xA;entry2 = StringVar() # this is our output box&#xA;outtext1 = Entry(window, textvariable=entry2) # this is our output box&#xA;&#xA;display boxes&#xA;entrytext.grid(row = 3, column = 2,)  #display entry box&#xA;entrytext2.grid(row = 3, column = 3,)  #display entry box&#xA;outtext1.grid(row = 3, column = 4,) #display output box&#xA;&#xA;place labels&#xA;box1.grid(row = 1&#x9;, column = 2, padx = 5, pady = 5)&#xA;box2.grid(row = 1&#x9;, column = 3, padx = 5, pady = 5)&#xA;box3.grid(row = 1&#x9;, column = 4, padx = 5, pady = 5)&#xA;&#xA;buttons&#xA;btntog2.grid(row = 3, column = 5, padx = 5, pady = 5)&#xA;btnexit.grid(row = 3, column = 6, padx = 5, pady = 5)&#xA;&#xA;window.mainloop()&#xA;&#xA;#python, #tkinter, #programming, #python, #graphic, #applications, #bugs, #troubleshooting, #howto, #paignton, #library, #virtual, #codeclub&#xA;&#xA;Happy to provide help and support via decentralised social media.  I can be contacted on Mastodon here. You can get a free account on the http://qoto.org instance by following this link.&#xA;&#xA;cc-by logo&#xA;&#xA;Licenced under Attribution 4.0 International (CC BY 4.0)&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Addition Application</p>

<p>So following on from the previous posts, I am how sharing a small application, that makes use of what we have been learning.</p>

<p>This presents 2 input boxes and an output box,  any values entered in to the first two,  the sum is placed in to the last box.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/tkinter/AdditionApp.png" alt="addition app"></p>

<p>This is not perfect, but getting there slowly.</p>

<p>We need to:-</p>
<ul><li>Fix the name of the button from button1</li>
<li>Detect if the user has entered numerical values</li>
<li>Detect for empty boxes</li>
<li>Make labels more useful</li>
<li>Fix spelling in comments</li>
<li>Fix clarity of comments</li></ul>

<p>The code for the above is as follows.</p>

<pre><code>#!/usr/bin/env python
import Tkinter # note use of caps
from Tkinter import *

window = Tk()
window.title(&#39;App 1&#39;)
window.geometry(&#34;650x125&#34;) # w x h
window.resizable(0,0)

#define button actions
def btn1():
	#convert box text in to integers	
	ent1 = int(entrytext.get())
	ent2 = int(entrytext2.get())
	
	#add the 2 integers and store in variable add
	add = (ent1 + ent2)
	print add
	
	#instert value add in	to box outtext 
	outtext1.insert(0,str(add)) # insert response
	
btn_tog2 = Button( window, text =&#39;button1&#39;, command=btn1)
btn_exit = Button( window, text =&#39;exit&#39;,command=exit)	

# define some labels
box1 = Label(window, text=&#34;Entry 1: &#34;)
box2 = Label(window, text=&#34;Entry 2: &#34;)
box3 = Label(window, text=&#34;Ouput1: &#34;)

#define entry box 
entry1 = StringVar() # this is our entry box
entry2 = StringVar()
entrytext = Entry(window, textvariable=entry1) # this is our entry box
entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box

#define out box 

entry2 = StringVar() # this is our output box
outtext1 = Entry(window, textvariable=entry2) # this is our output box

#display boxes
entrytext.grid(row = 3, column = 2,)  #display entry box
entrytext2.grid(row = 3, column = 3,)  #display entry box
outtext1.grid(row = 3, column = 4,) #display output box

#place labels
box1.grid(row = 1	, column = 2, padx = 5, pady = 5)
box2.grid(row = 1	, column = 3, padx = 5, pady = 5)
box3.grid(row = 1	, column = 4, padx = 5, pady = 5)

#buttons
btn_tog2.grid(row = 3, column = 5, padx = 5, pady = 5)
btn_exit.grid(row = 3, column = 6, padx = 5, pady = 5)

window.mainloop()

</code></pre>

<p><a href="/paulsutton/tag:python" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">python</span></a>, <a href="/paulsutton/tag:tkinter" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">tkinter</span></a>, <a href="/paulsutton/tag:programming" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">programming</span></a>, <a href="/paulsutton/tag:python" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">python</span></a>, <a href="/paulsutton/tag:graphic" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">graphic</span></a>, <a href="/paulsutton/tag:applications" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">applications</span></a>, <a href="/paulsutton/tag:bugs" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bugs</span></a>, <a href="/paulsutton/tag:troubleshooting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">troubleshooting</span></a>, <a href="/paulsutton/tag:howto" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">howto</span></a>, <a href="/paulsutton/tag:paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">paignton</span></a>, <a href="/paulsutton/tag:library" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">library</span></a>, <a href="/paulsutton/tag:virtual" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">virtual</span></a>, <a href="/paulsutton/tag:codeclub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">codeclub</span></a></p>

<p>Happy to provide help and support via decentralised social media.  I can be contacted on Mastodon <a href="https://qoto.org/@zleap/" rel="nofollow">here</a>. You can get a free account on the <a href="http://qoto.org" rel="nofollow">http://qoto.org</a> instance by following <a href="https://qoto.org/invite/pN8gdTzi" rel="nofollow">this link</a>.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/88x31.png" alt="cc-by logo"></p>

<p><a href="https://creativecommons.org/licenses/by/4.0/" rel="nofollow">Licenced under Attribution 4.0 International (CC BY 4.0)</a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/addition-application</guid>
      <pubDate>Wed, 20 May 2020 06:30:00 +0000</pubDate>
    </item>
    <item>
      <title>Coding with Trinket and Blocks</title>
      <link>https://personaljournal.ca/paulsutton/coding-with-trinket-and-blocks</link>
      <description>&lt;![CDATA[At Paignton virtual Code Club, we are now approaching the end of the Scratch modules. Well done to everyone.  The next step is probably to progress to Python 2. &#xA;&#xA;If you don&#39;t feel ready to do lots of typing, you may want to look at Trinket and blocks.    Then perhaps move to the Code Club modules [3].&#xA;&#xA;Blocks, as the name suggests, is a block based system. The difference here is, that the blocks are all Python statements and code.  So combining these allow you to easily start coding in Python.&#xA;&#xA;To get started you need to sign up for an account on the Trinket website [1]&#xA;&#xA;trinket&#xA;&#xA;Click you user name and select new trinket and then select blocks&#xA;&#xA;select blocks&#xA;&#xA;You are now presented with your development area.&#xA;&#xA;dev area&#xA;&#xA;You may want to change your project title to something meaningful.&#xA;&#xA;change title&#xA;&#xA;You can select the category of block, then simply use click / drag in similar way as you would with Scratch.&#xA;&#xA;So in this example I am just going to draw a square.&#xA;&#xA;draw square&#xA;&#xA;As we are using turtle, you will need to change the pen up, block so that it says pen down.&#xA;&#xA;change command&#xA;&#xA;Adding comments to your code is important, as it helps you keep track of what the code is doing and helps with debugging also helps others understand your code.&#xA;&#xA;add comment&#xA;&#xA;You can also view the Python code that is produced,  this can be copy / pasted to IDE so you can just run the Python code on its own.&#xA;&#xA;![View Python]&#xA;&#xA;https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/square-python-code.png&#xA;&#xA;Finally you can share your project with others.&#xA;&#xA;share&#xA;&#xA;Hopefully this is helpful.&#xA;&#xA;Resources&#xA;&#xA;1 Trinket&#xA;2 Python&#xA;3 Code Club python Modules&#xA;&#xA;#codeclub,#paignton,#trinket,#python,#coding,#skills,#technology&#xA;&#xA;cc-by logo&#xA;&#xA;Licenced under Attribution 4.0 International (CC BY 4.0)&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>At Paignton virtual Code Club, we are now approaching the end of the Scratch modules. Well done to everyone.  The next step is probably to progress to Python [2][3].</p>

<p>If you don&#39;t feel ready to do lots of typing, you may want to look at Trinket and blocks.    Then perhaps move to the Code Club modules [3].</p>

<p>Blocks, as the name suggests, is a block based system. The difference here is, that the blocks are all Python statements and code.  So combining these allow you to easily start coding in Python.</p>

<p>To get started you need to sign up for an account on the Trinket website [1]</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/trinket1.png" alt="trinket"></p>

<p>Click you user name and select new trinket and then select blocks</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/select-blocks.png" alt="select blocks"></p>

<p>You are now presented with your development area.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/turtle-blocks.png" alt="dev area"></p>

<p>You may want to change your project title to something meaningful.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/addprojecttitle.png" alt="change title"></p>

<p>You can select the category of block, then simply use click / drag in similar way as you would with Scratch.</p>

<p>So in this example I am just going to draw a square.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/square.png" alt="draw square"></p>

<p>As we are using turtle, you will need to change the pen up, block so that it says pen down.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/change-command.png" alt="change command"></p>

<p>Adding comments to your code is important, as it helps you keep track of what the code is doing and helps with debugging also helps others understand your code.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/comments.png" alt="add comment"></p>

<p>You can also view the Python code that is produced,  this can be copy / pasted to IDE so you can just run the Python code on its own.</p>

<p>![View Python]</p>

<p><a href="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/square-python-code.png" rel="nofollow">https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/square-python-code.png</a></p>

<p>Finally you can share your project with others.</p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/trinket/share-menu.png" alt="share"></p>

<p>Hopefully this is helpful.</p>

<p><strong>Resources</strong></p>

<p>1 <a href="https://trinket.io/" rel="nofollow">Trinket</a>
2 <a href="https://www.python.org/about/gettingstarted/" rel="nofollow">Python</a>
3 <a href="https://projects.raspberrypi.org/en/codeclub/python-module-1" rel="nofollow">Code Club python Modules</a></p>

<p><a href="/paulsutton/tag:codeclub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">codeclub</span></a>,<a href="/paulsutton/tag:paignton" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">paignton</span></a>,<a href="/paulsutton/tag:trinket" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">trinket</span></a>,<a href="/paulsutton/tag:python" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">python</span></a>,<a href="/paulsutton/tag:coding" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">coding</span></a>,<a href="/paulsutton/tag:skills" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">skills</span></a>,<a href="/paulsutton/tag:technology" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">technology</span></a></p>

<p><img src="https://raw.githubusercontent.com/zleap/blogmedia/master/88x31.png" alt="cc-by logo"></p>

<p><a href="https://creativecommons.org/licenses/by/4.0/" rel="nofollow">Licenced under Attribution 4.0 International (CC BY 4.0)</a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/coding-with-trinket-and-blocks</guid>
      <pubDate>Thu, 23 Apr 2020 10:36:53 +0000</pubDate>
    </item>
  </channel>
</rss>