<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ShowMeDo Blogs the World &#187; Showmedo Front-page</title>
	<atom:link href="http://blog.showmedo.com/category/showmedo-front-page/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.showmedo.com</link>
	<description>Building the site, promoting the videos, sharing the knowledge</description>
	<lastBuildDate>Tue, 03 Aug 2010 14:57:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Choosing a Python Web Framework I &#8211; bottling it</title>
		<link>http://blog.showmedo.com/news/choosing-a-python-web-framework-i-bottling-it/</link>
		<comments>http://blog.showmedo.com/news/choosing-a-python-web-framework-i-bottling-it/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 12:27:47 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Open Source Advocacy]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=760</guid>
		<description><![CDATA[<p>A few years ago, when choosing a Python Web-framework with which to build Showmedo, life was a little simpler. The big CMS frameworks like Zope and its relatively user-friendly little bro Plone were reasonably well established and there were a few up and coming lighter frameworks, which promised to take one closer to the Python. [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-series-agile-pythonpylons-to-build-pysvnmanager/' rel='bookmark' title='Permanent Link: New series &#8211; Agile Python+Pylons to build pySvnManager'>New series &#8211; Agile Python+Pylons to build pySvnManager</a></li>
<li><a href='http://blog.showmedo.com/news/learn-google-app-engine-with-showmedo/' rel='bookmark' title='Permanent Link: Learn Google App Engine with ShowMeDo'>Learn Google App Engine with ShowMeDo</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/introduction-to-python-web-programming-cgi/' rel='bookmark' title='Permanent Link: Introduction to Python web-programming: CGI'>Introduction to Python web-programming: CGI</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A few years ago, when choosing a Python Web-framework with which to build Showmedo, life was a little simpler. The big CMS frameworks like Zope and its relatively user-friendly little bro Plone were reasonably well established and there were a few up and coming lighter frameworks, which promised to take one closer to the Python. Standouts here were<a href="http://turbogears.org"> Turbogears</a> and <a href="http://djangoproject.com">Django</a>.  </p>
<p>I tried using Plone, even bought the book, but found it very unwieldy. Like so many frameworks it was perfectly happy until one wanted to do something outside its workflow plan. Then things got icky, really icky. There was also far too much &#8216;magic&#8217; going on, and far too little connection with the underlying Python. After this experience Turbogears was a breath of fresh air. I could build a web-site in Python and leverage all the efficiency and elegance of the language up close and personal. What could be sweeter? I enjoyed the experience so much I didn&#8217;t give Django a fair crack of the whip. Although back then it was in beta and had been postponing a 1.0 release for a very long time. </p>
<p> Well, time moves on, and if there has been anything as intense as a framework war, it&#8217;s fair to conclude that Django has taken the spoils. Which seems fair. It&#8217;s a fantastically managed project, the documentation seems top notch (very important point), and the community is huge, enthusiastic and growing. For a more flexible experience <a href="http://pylonshq.com">Pylons</a> is threatening to steal some of Turbogears thunder, offering a more modular, &#8216;best of breed&#8217; alternative to Django. One of the big advantages here is the possibility of using the superb and acknowledged king of Python ORM database libraries, <a href="http://sqlalchemy.org">SQLAlchemy</a>. </p>
<p>Anyway, today I come to praise something at the other end of the spectrum and newish to the field, namely <a href="http://bottle.paws.de/docs/dev/index.html">Bottle.py</a>. An entire web-framework packaged in a single Python module, which seemed crazy when first I heard of it. Bottle bills itself as a micro-framework, fast, simple and lightweight. Having had a chance to play around with it, I can testify to this. It makes a superb development server, among other things. After previous battles with Zope/Plone it&#8217;s pretty incredible to get a server up and serving pages in a few lines of Python, with one imported module. Here&#8217;s the &#8216;Hello World&#8217; example:</p>
<pre>
from bottle import route, run

@route('/:name')
def index(name='World'):
    return '<b>Hello %s!</b>' % name

run(host='localhost', port=8080)
</pre>
<p>So, if you fancy getting away from the complexity of the bigger frameworks and getting back to basics, Bottle.py is a great option and an amazing achievement.</p>
<p>In the meantime, a little selection of Python web-framework videos from the Showmedo vaults: </p>
<p>Eric Florenzano&#8217;s humungous series, <a href="http://showmedo.com/videotutorials/series?name=PPN7NA155">Django from the Ground Up</a>.</p>
<p>Jiang Xin&#8217;s <a href="http://showmedo.com/videotutorials/series?name=Y7x8NhL6h">Pylons series</a>.</p>
<p>Kevin Dangor&#8217;s <a href="http://showmedo.com/videotutorials/series?name=IadG6S6pR">Ultimate DVD Turbogears</a> set. Note: Turbogears 2 has seen some impressive changes to the framework, but much of Kevin&#8217;s presentations is still applicable.</p>
<p>We don&#8217;t yet have a bottle.py screencast, but there will be one soon. In the meantime, the closest to low-level web-appery we have is John Montgomery&#8217;s <a href="http://showmedo.com/videotutorials/video?name=2170000&#038;fromSeriesID=217">introduction to Python Web Programming CGI<br />
</a>. Note: this is a club series but the linked introductory video is free and gives an overview.</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-series-agile-pythonpylons-to-build-pysvnmanager/' rel='bookmark' title='Permanent Link: New series &#8211; Agile Python+Pylons to build pySvnManager'>New series &#8211; Agile Python+Pylons to build pySvnManager</a></li>
<li><a href='http://blog.showmedo.com/news/learn-google-app-engine-with-showmedo/' rel='bookmark' title='Permanent Link: Learn Google App Engine with ShowMeDo'>Learn Google App Engine with ShowMeDo</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/introduction-to-python-web-programming-cgi/' rel='bookmark' title='Permanent Link: Introduction to Python web-programming: CGI'>Introduction to Python web-programming: CGI</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/choosing-a-python-web-framework-i-bottling-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relaunch, Refresh, Renew</title>
		<link>http://blog.showmedo.com/news/relaunch-refresh-renew/</link>
		<comments>http://blog.showmedo.com/news/relaunch-refresh-renew/#comments</comments>
		<pubDate>Sun, 23 May 2010 00:35:59 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Kyran's thought for the day]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Personal Comment]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>
		<category><![CDATA[Site Relauch]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=749</guid>
		<description><![CDATA[<p>Not sure what it is, but it starts with re. Inspired somewhat by a good friend (thanks Steve!) I galvanised a few galvons and decided to redo Showmedo. Chief among the aims was:</p>

Make navigation to the video-tutorials much easier/more intuitive.
Make the site less visually er weird/fussy/cluttered
Reorganize and refactor the codebase and remove the huge amounts [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/' rel='bookmark' title='Permanent Link: Site Relaunch &#8211; customizing that Twitter Widget'>Site Relaunch &#8211; customizing that Twitter Widget</a></li>
<li><a href='http://blog.showmedo.com/kyrans-thought-for-the-day/a-wing-a-prayer-and-the-ol-big-g/' rel='bookmark' title='Permanent Link: A Wing, a Prayer, and the Ol&#8217; Big G'>A Wing, a Prayer, and the Ol&#8217; Big G</a></li>
<li><a href='http://blog.showmedo.com/news/new-flash-player-being-debuted/' rel='bookmark' title='Permanent Link: New flash-player being debuted'>New flash-player being debuted</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Not sure what it is, but it starts with re. Inspired somewhat by a good friend (thanks Steve!) I galvanised a few galvons and decided to redo Showmedo. Chief among the aims was:</p>
<ul>
<li>Make navigation to the video-tutorials much easier/more intuitive.</li>
<li>Make the site less visually er weird/fussy/cluttered</li>
<li>Reorganize and refactor the codebase and remove the huge amounts of cruft behind the scenes to&#8230;</li>
<li>Free time in the future.</li>
<li>Make things faster. Page-loads, server-load, the works.</li>
<li>Giving the club a <a href='http://showmedo.com/club'>home</a>.</li>
</ul>
<p>I think pretty substantial inroads have been made with regard to these goals. Not perfect by any means, but there is now a reasonably solid base on which to build. I&#8217;ll be documenting the changes a bit in the next week or so, but hope the new site is a much nicer prospect.</p>
<p>Please feel free to direct any feedback <a href='mailto:feedback@showmedo.com'>here</a>.</p>
<p>cheers,<br />
Kyran</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/' rel='bookmark' title='Permanent Link: Site Relaunch &#8211; customizing that Twitter Widget'>Site Relaunch &#8211; customizing that Twitter Widget</a></li>
<li><a href='http://blog.showmedo.com/kyrans-thought-for-the-day/a-wing-a-prayer-and-the-ol-big-g/' rel='bookmark' title='Permanent Link: A Wing, a Prayer, and the Ol&#8217; Big G'>A Wing, a Prayer, and the Ol&#8217; Big G</a></li>
<li><a href='http://blog.showmedo.com/news/new-flash-player-being-debuted/' rel='bookmark' title='Permanent Link: New flash-player being debuted'>New flash-player being debuted</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/relaunch-refresh-renew/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site Relaunch &#8211; customizing that Twitter Widget</title>
		<link>http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/</link>
		<comments>http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/#comments</comments>
		<pubDate>Thu, 13 May 2010 15:47:00 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Building a Website]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>
		<category><![CDATA[Site Relauch]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=738</guid>
		<description><![CDATA[<p>With limited time to post any content to the Blog or Twitter micro-blog, being able to reuse/advartise that content seems like a win-win. Twitter helpfully provide a widget for just this purpose but, out of the box, it&#8217;s not quite right for my purposes. But with a little javascript, jQuery and CSS magic that can [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/news/showmedo-is-on-twitter/' rel='bookmark' title='Permanent Link: ShowMeDo is on Twitter'>ShowMeDo is on Twitter</a></li>
<li><a href='http://blog.showmedo.com/news/relaunch-refresh-renew/' rel='bookmark' title='Permanent Link: Relaunch, Refresh, Renew'>Relaunch, Refresh, Renew</a></li>
<li><a href='http://blog.showmedo.com/showmedoservices/new-services-site-for-professional-screencasts/' rel='bookmark' title='Permanent Link: New Services Site for Professional Screencasts'>New Services Site for Professional Screencasts</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>With limited time to post any content to the Blog or Twitter micro-blog, being able to reuse/advartise that content seems like a win-win. Twitter helpfully provide a widget for just this purpose but, out of the box, it&#8217;s not quite right for my purposes. But with a little javascript, jQuery and CSS magic that can all be put right.</p>
<p>First a little screenshot to show what the vanilla widget looks like, after a bit of customization that you can perform on the Twitter site (you&#8217;ll find the widgets hanging off the &#8216;Goodies&#8217; link at the bottom of your facebook page:</p>
<p><a href="http://blog.showmedo.com/wp-content/uploads/twitter_widget_default.png"><img src="http://blog.showmedo.com/wp-content/uploads/twitter_widget_default-203x300.png" alt="" title="twitter_widget_default" width="203" height="300" class="aligncenter size-medium wp-image-740" /></a></p>
<p>The widget shown is ok but:</p>
<ul>
<li>I don&#8217;t like the header area, with those two Showmedos and a rather redundant Showmedo logo (this is appearing on the Showmedo site).</li>
<li> I&#8217;d also like to remove the padding to left and right of the tweets to align the text with the rest of the column content.</li>
<li>The font-used is lucida-grand but I would prefer to use Verdana, the default font for my site.</li>
<li>The &#8216;twitter&#8217; badge on the bottom left, which is probably most likely to be clicked, takes users to the twitter home page &#8216;http://twitter.com&#8217; but I would like it to direct to my twitter page &#8216;http://twitter.com/ShowMeDo&#8217;.</li>
</ul>
<p>With a few a lines of css and jQuery javascript these problems are easily addressed.</p>
<p>First we remove the header by finding its css class, &#8216;twtr-hd&#8217;, and using jQuery to hide it. This is equivalent to setting its css &#8216;display&#8217; attribute to &#8216;none&#8217;.</p>
<pre>$('.twtr-hd').hide();</pre>
<p>To change the padding and font-family just add some css to your style-file:</p>
<pre>
div#contentRight .twtr-widget{
    font-family:Verdana,Arial,Helvetica,"Trebuchet MS",Trebuchet,sans-serif !important;
}

.twtr-widget .twtr-tweet-wrap {
    padding:6px 0 !important;
}
</pre>
<p>Note the use of the !important flags to override existing settings and escape the css cascade. Now twitter themselves, rather frustratingly, set the widget font-style using an !important tag. This means that in order to override it we need to prioritise our !important using the identity &#8216;contentRight&#8217; of the right column in which the twitter widget appears.</p>
<p>Lastly, in order to direct users clicking the twitter badge to ShowMeDo&#8217;s twitter site we use a little jQuert to change the &#8216;href&#8217; attribute of the twitter link:</p>
<pre>
    $('.twtr-doc a').attr('href', 'http://twitter.com/ShowMeDo');
</pre>
<p>And we have the resulting, pretty satisfactory widget:<br />
<a href="http://blog.showmedo.com/wp-content/uploads/twitter_widget_custom.png"><img src="http://blog.showmedo.com/wp-content/uploads/twitter_widget_custom-242x300.png" alt="Showmedo&#039;s customized twitter widget" title="twitter_widget_custom" width="242" height="300" class="aligncenter size-medium wp-image-744" /></a></p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/news/showmedo-is-on-twitter/' rel='bookmark' title='Permanent Link: ShowMeDo is on Twitter'>ShowMeDo is on Twitter</a></li>
<li><a href='http://blog.showmedo.com/news/relaunch-refresh-renew/' rel='bookmark' title='Permanent Link: Relaunch, Refresh, Renew'>Relaunch, Refresh, Renew</a></li>
<li><a href='http://blog.showmedo.com/showmedoservices/new-services-site-for-professional-screencasts/' rel='bookmark' title='Permanent Link: New Services Site for Professional Screencasts'>New Services Site for Professional Screencasts</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Python  strings and dictionaries to create video embedding templates</title>
		<link>http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/</link>
		<comments>http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 13:31:02 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Building a Website]]></category>
		<category><![CDATA[Python tips and tricks]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/</guid>
		<description><![CDATA[<p>All Pythonistas will recognize the % operator used to format strings:</p>
print "%s world from %s!"%('hello', 'showmedo')
<p>This is similar to its &#8216;C&#8217; antecedent but, as you would expect and probably know, Python allows containers other than tuples (in the case containing the &#8216;hello&#8217; and &#8217;showmedo&#8217; strings) to be used in the string formatting operation.</p>
<p>The use of [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/python-showmedos/testing-flowplayer-embedding-script/' rel='bookmark' title='Permanent Link: Testing Flowplayer embedding script'>Testing Flowplayer embedding script</a></li>
<li><a href='http://blog.showmedo.com/news/new-scribus-video-published/' rel='bookmark' title='Permanent Link: New Scribus Video Published'>New Scribus Video Published</a></li>
<li><a href='http://blog.showmedo.com/news/congratulations-for-dais-40th-scribus-video/' rel='bookmark' title='Permanent Link: Congratulations for Dai&#8217;s 40th Scribus Video!'>Congratulations for Dai&#8217;s 40th Scribus Video!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>All Pythonistas will recognize the % operator used to format strings:</p>
<pre>print "%s world from %s!"%('hello', 'showmedo')</pre>
<p>This is similar to its &#8216;C&#8217; antecedent but, as you would expect and probably know, Python allows containers other than tuples (in the case containing the &#8216;hello&#8217; and &#8217;showmedo&#8217; strings) to be used in the string formatting operation.</p>
<p>The use of a dictionary rather than tuple to format the string provides a very handy little templating mechanism, used recently in the addition of video embedding strings to the site.</p>
<p>We start with our text-file template, one long string with no pesky line-breaks:</p>
<pre>&lt;object width="%(width)d" height="%(height)d" id="%(id)s" data="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" type="application/x-shockwave-flash"&gt;&lt;param name="m    ovie" value="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param  [...]   &amp;quot;%(url)s&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;%(title)s&amp;quot;,&amp;quot;baseUrl&amp;quot;:&amp;quot;http://showmedo.com&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true}],    &amp;quot;plugins&amp;quot;:{&amp;quot;controls&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;http://showmedo.com/static/flowplayer/flowplayer.controls-3.1.5.swf&amp;quot;,&amp;quot;playlist&amp;quot;:true}}}' /&gt;&lt;/object&gt;&lt;br /&gt;</pre>
<p>Note the variables scattered through the string starting with %(width)d. We&#8217;ll be using these, together with a Python dictionary, to create our video-specific embedding string. The method that does the legwork is shown below. It is a member of the &#8216;Video&#8217; class and in this context &#8217;self&#8217; refers to the video instance in question:</p>
<pre>
def get_embed_string(self, width=425, height=344):
    t_dir = os.path.join(os.path.dirname(__file__),'templates/')
    embed_template = open(t_dir + 'embed_video.txt').read()
    embed_str = embed_template%dict(
                                  width=width,
                                  height=height,
                                  url=movieDirectory() + "%s"%self.get_flv_file_name()
                                  title=self.title,
                                  id='_%d'%self.id
                                  )
    return embed_str</pre>
<p>We open the &#8216;embed_video.txt&#8217; file (using a little Python os magic to establish a relative directory path) and read its contents, storing them in the &#8216;embed_template&#8217; string. We then use the &#8216;%&#8217; operator to assign values to the special (of the form %(foo)x) variables in the template, using a Python dictionary.</p>
<p>The resulting &#8216;embed_str&#8217; string defines a flash
<div class="youtube-video"><object> which can be used to embed Showmedo videos in blogs, articles and the like:</p>
<pre>
&lt;object width=&quot;425&quot; height=&quot;344&quot; id=&quot;_672&quot; data=&quot;http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf&quot; /&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;param name=&quot;flashvars&quot; value='config={&amp;quot;key&amp;quot;:&amp;quot;#$824e5316466b69d76dc&amp;quot;,&amp;quot;logo&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;http://showmedo.com/static/images/showmedo_logo_vp.png&amp;quot;,&amp;quot;fullscreenOnly&amp;quot;:false,&amp;quot;top&amp;quot;:20,&amp;quot;right&amp;quot;:20,&amp;quot;opacity&amp;quot;:0.5,&amp;quot;displayTime&amp;quot;:0,&amp;quot;linkUrl&amp;quot;:&amp;quot;http://showmedo.com&amp;quot;},&amp;quot;clip&amp;quot;:{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://showmedo.com&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true},&amp;quot;playlist&amp;quot;:[{&amp;quot;url&amp;quot;:&amp;quot;http://showmedovideos4.com/ShowMeDos/2450010.flv&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;Scientific Computing Using SAGE: Introduction&amp;quot;,&amp;quot;baseUrl&amp;quot;:&amp;quot;http://showmedo.com&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true}],&amp;quot;plugins&amp;quot;:{&amp;quot;controls&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;http://showmedo.com/static/flowplayer/flowplayer.controls-3.1.5.swf&amp;quot;,&amp;quot;playlist&amp;quot;:true}}}' /&gt;&lt;/object&gt;
</pre>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=3597d4cb-7343-8165-8acc-df1eef48b8d4" /></div>
<p></object></div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/python-showmedos/testing-flowplayer-embedding-script/' rel='bookmark' title='Permanent Link: Testing Flowplayer embedding script'>Testing Flowplayer embedding script</a></li>
<li><a href='http://blog.showmedo.com/news/new-scribus-video-published/' rel='bookmark' title='Permanent Link: New Scribus Video Published'>New Scribus Video Published</a></li>
<li><a href='http://blog.showmedo.com/news/congratulations-for-dais-40th-scribus-video/' rel='bookmark' title='Permanent Link: Congratulations for Dai&#8217;s 40th Scribus Video!'>Congratulations for Dai&#8217;s 40th Scribus Video!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python to the Rescue</title>
		<link>http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/</link>
		<comments>http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 14:59:26 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Building a Website]]></category>
		<category><![CDATA[Kyran's thought for the day]]></category>
		<category><![CDATA[Python tips and tricks]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/</guid>
		<description><![CDATA[<p>Showmedo caught some flak from the recent Westhost (our main server-provider) troubles. Catch this pretty interesting thread for the gory details. We were actually pretty lucky as the main site remained standing (not the case for many others) but did manage to lose our cron daemon. As a result some restart scripts which check on [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/a-little-downtime/' rel='bookmark' title='Permanent Link: A Little Downtime :('>A Little Downtime :(</a></li>
<li><a href='http://blog.showmedo.com/news/using-non-python-files-with-py2exe/' rel='bookmark' title='Permanent Link: Using non-Python files with py2exe'>Using non-Python files with py2exe</a></li>
<li><a href='http://blog.showmedo.com/news/optimising-genshi-imports/' rel='bookmark' title='Permanent Link: Optimising Genshi Imports'>Optimising Genshi Imports</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo caught some flak from the recent Westhost (our main server-provider) troubles. Catch <a href="http://www.webhostingtalk.com/showthread.php?t=358323">this</a> pretty interesting thread for the gory details. We were actually pretty lucky as the main site remained standing (not the case for many others) but did manage to lose our <a href="http://en.wikipedia.org/wiki/Cron">cron daemon</a>. As a result some restart scripts which check on the health of, among other things, the Python <a href="http://turbogears.org/">Turbogears</a> process running the site died. Now this script isn&#8217;t needed too often &lt;fingers crossed&gt; but if the site falls down and we&#8217;re literally asleep then it avoids more than a minute or sos downtime. The crontab line in question looks like this:</p>
<pre>*/1 * * * * source /.bashrc &#038;&#038; /usr/local/bin/python2.5 /home/showmedo/showmedo/cron_start_showmedo.py &gt; /var/log/cron_log</pre>
<p>This line tells cron to run cron_start_showmedo.py every minute and the python process will check the health of Showmedo&#8217;s main process, our memcache and mysql servers and a few other things and restart them if anything has fallen over. Having lost cron, I needed a quick hack to perform these duties and found some very cool advice <a href="http://stackoverflow.com/questions/696839/how-do-i-write-a-bash-script-to-restart-a-process-if-it-dies">here</a> at Slashdot. For various reasons the recommended bash-scripts seemed to be dying on me, and lacking the time or will to try debugging on fairly foreign turf, I hacked a little Python substitute to do much the same:</p>
<pre>
  1 import time
  2 import subprocess
  3
  4 while 1:
  5     subprocess.Popen(['/usr/local/bin/python2.5', '/home/showmedo/showmedo/cron_start_showmedo.py'])
  6     time.sleep(60)
</pre>
<p>Not pretty, but at five lines quick and succinct. The line 4 while loop sets things running in perpetuity, line 5 uses Python&#8217;s newish (and pretty powerful) subprocess module call the cron_start_showmedo.py module and line 6 takes a 60 second break before continuing the loop.</p>
<p>The script sat duty while I waited for our cron-daemon to return and I slept sounder in my bed as a result.</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/a-little-downtime/' rel='bookmark' title='Permanent Link: A Little Downtime :('>A Little Downtime :(</a></li>
<li><a href='http://blog.showmedo.com/news/using-non-python-files-with-py2exe/' rel='bookmark' title='Permanent Link: Using non-Python files with py2exe'>Using non-Python files with py2exe</a></li>
<li><a href='http://blog.showmedo.com/news/optimising-genshi-imports/' rel='bookmark' title='Permanent Link: Optimising Genshi Imports'>Optimising Genshi Imports</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Little Downtime :(</title>
		<link>http://blog.showmedo.com/showmedo-front-page/a-little-downtime/</link>
		<comments>http://blog.showmedo.com/showmedo-front-page/a-little-downtime/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 10:34:16 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=706</guid>
		<description><![CDATA[<p>Having to wear my sysadmin hat a little too often this week. I can honestly state that at least one of the bugs wasn&#8217;t my fault. At the moment our cron-jobs (timed unix processes) are failing to engage. So when the site falls down, there&#8217;s no handy cron-restart. Should be easy to track down and [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/' rel='bookmark' title='Permanent Link: Python to the Rescue'>Python to the Rescue</a></li>
<li><a href='http://blog.showmedo.com/news/site-outages-sorry-for-the-downtime/' rel='bookmark' title='Permanent Link: Site outages &#8211; sorry for the downtime'>Site outages &#8211; sorry for the downtime</a></li>
<li><a href='http://blog.showmedo.com/news/christmas-wishes/' rel='bookmark' title='Permanent Link: Christmas wishes'>Christmas wishes</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Having to wear my sysadmin hat a little too often this week. I can honestly state that at least one of the bugs wasn&#8217;t my fault. At the moment our cron-jobs (timed unix processes) are failing to engage. So when the site falls down, there&#8217;s no handy cron-restart. Should be easy to track down and lots of fun :0</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/' rel='bookmark' title='Permanent Link: Python to the Rescue'>Python to the Rescue</a></li>
<li><a href='http://blog.showmedo.com/news/site-outages-sorry-for-the-downtime/' rel='bookmark' title='Permanent Link: Site outages &#8211; sorry for the downtime'>Site outages &#8211; sorry for the downtime</a></li>
<li><a href='http://blog.showmedo.com/news/christmas-wishes/' rel='bookmark' title='Permanent Link: Christmas wishes'>Christmas wishes</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/showmedo-front-page/a-little-downtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New flash-player being debuted</title>
		<link>http://blog.showmedo.com/news/new-flash-player-being-debuted/</link>
		<comments>http://blog.showmedo.com/news/new-flash-player-being-debuted/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 22:24:21 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Kyran's thought for the day]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=612</guid>
		<description><![CDATA[<p>It&#8217;s been much more work than anticipated (a definite screencast or three in there somewhere) but we&#8217;ve finally moved to the open-source flowplayer Chief benefits are:</p>

much cleaner jquery-like API 
far greater control over the video-player area. Which means&#8230;
innovative ways of directing users to new content and&#8230;
with luck much more interactivity with the video-player

<p>p.s. the commenting [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-showmedos-interactive-flash/' rel='bookmark' title='Permanent Link: New ShowMeDos: Interactive Flash'>New ShowMeDos: Interactive Flash</a></li>
<li><a href='http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/' rel='bookmark' title='Permanent Link: Site Relaunch &#8211; customizing that Twitter Widget'>Site Relaunch &#8211; customizing that Twitter Widget</a></li>
<li><a href='http://blog.showmedo.com/news/site-update/' rel='bookmark' title='Permanent Link: Site update'>Site update</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been much more work than anticipated (a definite screencast or three in there somewhere) but we&#8217;ve finally moved to the open-source <a href="http://flowplayer.org">flowplayer</a> Chief benefits are:</p>
<ul>
<li>much cleaner jquery-like API </li>
<li>far greater control over the video-player area. Which means&#8230;</li>
<li>innovative ways of directing users to new content and&#8230;</li>
<li>with luck much more interactivity with the video-player</li>
</ul>
<p>p.s. the commenting on-site is getting a much-needed overhaul. With a bit of cookie-magic we should be able to get some dialogues going and vanquish those nasty anonymous comments (mea culpa).</p>
<p> </p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-showmedos-interactive-flash/' rel='bookmark' title='Permanent Link: New ShowMeDos: Interactive Flash'>New ShowMeDos: Interactive Flash</a></li>
<li><a href='http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/' rel='bookmark' title='Permanent Link: Site Relaunch &#8211; customizing that Twitter Widget'>Site Relaunch &#8211; customizing that Twitter Widget</a></li>
<li><a href='http://blog.showmedo.com/news/site-update/' rel='bookmark' title='Permanent Link: Site update'>Site update</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/new-flash-player-being-debuted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Beginners Completed! &#8211; File Input/Output</title>
		<link>http://blog.showmedo.com/news/python-beginners-completed-file-inputoutput/</link>
		<comments>http://blog.showmedo.com/news/python-beginners-completed-file-inputoutput/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 08:54:56 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Club Videos]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=519</guid>
		<description><![CDATA[<p>Finally we&#8217;ve finished the Python Beginners über-series in our Club.  In total the Club has 118 videos over 15 series all focused on teaching new Python skills.  Now we&#8217;re done with Python beginners we&#8217;ll be expanding our scope.</p>
<p>In just under 30 minutes in the File I/O Tutorial I cover reading text files, writing [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/python-beginners-common-variables-and-containers-series-completed/' rel='bookmark' title='Permanent Link: Python Beginners &#8211; Common Variables and Containers Series Completed'>Python Beginners &#8211; Common Variables and Containers Series Completed</a></li>
<li><a href='http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/' rel='bookmark' title='Permanent Link: 15 New Learning Paths (mostly for Pythonistas)'>15 New Learning Paths (mostly for Pythonistas)</a></li>
<li><a href='http://blog.showmedo.com/news/get-going-with-python-2-python-development-environments-ides-part-1/' rel='bookmark' title='Permanent Link: Get Going with Python 2: Python Development Environments (IDEs) part 1'>Get Going with Python 2: Python Development Environments (IDEs) part 1</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Finally we&#8217;ve finished the Python Beginners über-series in our <a href="http://showmedo.com/joinus?smdc=bgp_fio">Club</a>.  In total the Club has 118 videos over 15 series all focused on teaching new Python skills.  Now we&#8217;re done with Python beginners we&#8217;ll be expanding our scope.</p>
<p>In just under 30 minutes in the <a href="http://showmedo.com/videos/series?name=bPGq5ZZuz">File I/O Tutorial</a> I cover reading text files, writing textfiles, using binary files (with Python Imaging Library as the example) and persisting data with the pickle module.</p>
<p>Now that we&#8217;re finished with the raw episodes and our Learning Paths are usable I&#8217;m tying together all the Python videos (free+Club) into paths-of-learning that teach you about topics including:</p>
<ul>
<li>Starting to Program with Python</li>
<li>Getting Python Installed</li>
<li>Walking through fully-written programs (long step-by-step series)</li>
<li>Python development environments and tools</li>
<li>Python GUI development</li>
<li>Django</li>
<li>Web-application development</li>
</ul>
<p>The learning-paths, and learning how to use them effectively, are very much a work in progress. As ever we welcome any and all constructive feedback.</p>
<p>Once we&#8217;re done with the Python learning paths we&#8217;ll start to tie together all the other topics in ShowMeDo (heck &#8211; we have well over 1000 screencast tutorials now!) to make learning much easier.</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/python-beginners-common-variables-and-containers-series-completed/' rel='bookmark' title='Permanent Link: Python Beginners &#8211; Common Variables and Containers Series Completed'>Python Beginners &#8211; Common Variables and Containers Series Completed</a></li>
<li><a href='http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/' rel='bookmark' title='Permanent Link: 15 New Learning Paths (mostly for Pythonistas)'>15 New Learning Paths (mostly for Pythonistas)</a></li>
<li><a href='http://blog.showmedo.com/news/get-going-with-python-2-python-development-environments-ides-part-1/' rel='bookmark' title='Permanent Link: Get Going with Python 2: Python Development Environments (IDEs) part 1'>Get Going with Python 2: Python Development Environments (IDEs) part 1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/python-beginners-completed-file-inputoutput/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python 411 podcast interview &#8211; thanks Ron!</title>
		<link>http://blog.showmedo.com/python-showmedos/python-411-podcast-interview-thanks-ron/</link>
		<comments>http://blog.showmedo.com/python-showmedos/python-411-podcast-interview-thanks-ron/#comments</comments>
		<pubDate>Thu, 28 May 2009 19:41:16 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Python ShowMeDos]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=494</guid>
		<description><![CDATA[<p>Ron Stephens, creator of the rather excellent Python411 podcast series was good enough to interview Kyran and myself a couple of weeks back: An interview with the founders of ShowMeDo: May 25, 2009</p>
<p>We cover the history of how we started ShowMeDo with Python screencasts, Kyran&#8217;s innovative Learning Paths (which caught MIT&#8217;s eye), the special learn-Python-quickly [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/news/ubuntu-uk-podcast-interviews-showmedo/' rel='bookmark' title='Permanent Link: Ubuntu UK Podcast interviews ShowMeDo'>Ubuntu UK Podcast interviews ShowMeDo</a></li>
<li><a href='http://blog.showmedo.com/python-showmedos/python-advocacy-podcast-python411/' rel='bookmark' title='Permanent Link: Python Advocacy Podcast (Python411)'>Python Advocacy Podcast (Python411)</a></li>
<li><a href='http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/' rel='bookmark' title='Permanent Link: 15 New Learning Paths (mostly for Pythonistas)'>15 New Learning Paths (mostly for Pythonistas)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Ron Stephens, creator of the rather excellent <a href="http://www.awaretek.com/python/index.html">Python411</a> podcast series was good enough to interview Kyran and myself a couple of weeks back: <a href="http://media.libsyn.com/media/awaretek/Python411_20090525_ShowMeDo.mp3">An interview with the founders of ShowMeDo: May 25, 2009</a></p>
<p>We cover the history of how we started <a href="http://showmedo.com/">ShowMeDo</a> with <a href="http://showmedo.com/videotutorials/python">Python</a> screencasts, Kyran&#8217;s innovative <a href="http://showmedo.com/learningpaths/">Learning Paths</a> (which caught MIT&#8217;s eye), the special learn-Python-quickly tutorials in our <a href="http://showmedo.com/joinus">Club</a>, our authors and the 1,000 educational screencasts we&#8217;ve built between us to date.</p>
<p>We also discuss how you can <a href="http://showmedo.com/addVideoInstructions">share your own knowledge</a> with 100,000 global viewers and end with a light chat about Python 3.0.</p>
<p>Ron has a long list of <a href="http://www.awaretek.com/python/index.html">podcast interviews</a>, check them out if you want to know about topics like Django, Python Visualisation and the Python Learning Foundation.  He also lists many <a href="http://www.awaretek.com/tutorials.html">Python tutorials</a> across the web, they are great short-cuts to find what you need.</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/news/ubuntu-uk-podcast-interviews-showmedo/' rel='bookmark' title='Permanent Link: Ubuntu UK Podcast interviews ShowMeDo'>Ubuntu UK Podcast interviews ShowMeDo</a></li>
<li><a href='http://blog.showmedo.com/python-showmedos/python-advocacy-podcast-python411/' rel='bookmark' title='Permanent Link: Python Advocacy Podcast (Python411)'>Python Advocacy Podcast (Python411)</a></li>
<li><a href='http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/' rel='bookmark' title='Permanent Link: 15 New Learning Paths (mostly for Pythonistas)'>15 New Learning Paths (mostly for Pythonistas)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/python-showmedos/python-411-podcast-interview-thanks-ron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://media.libsyn.com/media/awaretek/Python411_20090525_ShowMeDo.mp3" length="52723934" type="audio/mpeg" />
		</item>
		<item>
		<title>Python Beginners &#8211; Club Collection Takes Shape</title>
		<link>http://blog.showmedo.com/new-showmedo-videos/python-club-set-takes-shape/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/python-club-set-takes-shape/#comments</comments>
		<pubDate>Tue, 05 May 2009 01:25:59 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=484</guid>
		<description><![CDATA[<p>Have finally got round to giving the Club videos a bit of presentational structure following Ian&#8217;s last file I/O series in his huge Beginner Programming With Python. </p>
<p>Ian&#8217;s final series in Beginners brings the club total to 118 videos, 15 video-series and over 10 hours of Pythonic video demonstration &#60;phew&#62;.</p>
<p>Ian&#8217;s beginner-sets were conceived as a [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/news/new-club-videos-for-batteries-included-series-on-the-python-standard-library/' rel='bookmark' title='Permanent Link: New Club videos for &#8220;Batteries Included&#8221; series on The Python Standard Library'>New Club videos for &#8220;Batteries Included&#8221; series on The Python Standard Library</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-club-series-for-python-beginners-loops-and-iteration/' rel='bookmark' title='Permanent Link: New Club Series for Python Beginners &#8211; Loops and Iteration'>New Club Series for Python Beginners &#8211; Loops and Iteration</a></li>
<li><a href='http://blog.showmedo.com/news/new-club-series-for-python-beginners-common-variables-and-containers/' rel='bookmark' title='Permanent Link: New Club series for Python Beginners &#8211; Common Variables and Containers'>New Club series for Python Beginners &#8211; Common Variables and Containers</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Have finally got round to giving the <a href='http://showmedo.com/joinus?smdc=clb_st'>Club</a> videos a bit of presentational structure following <a href="http://blog.showmedo.com/2009/04/02/python-beginners-file-inputoutput/">Ian&#8217;s last file I/O series</a> in his huge <i>Beginner Programming With Python</i>. </p>
<p>Ian&#8217;s final series in <i>Beginners</i> brings the club total to 118 videos, 15 video-series and over 10 hours of Pythonic video demonstration &lt;phew&gt;.</p>
<p>Ian&#8217;s beginner-sets were conceived as a whole, from introducing the look and feel of Python to covering, in quite a bit of detail, the general Python programming elements. With Lucas Holland&#8217;s introduction to the Python standard libraries we have a nice round number of 50 videos, setting clubbers up nicely for the other club videos and some of the intermediate/advanced Showmedo Python series.</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/news/new-club-videos-for-batteries-included-series-on-the-python-standard-library/' rel='bookmark' title='Permanent Link: New Club videos for &#8220;Batteries Included&#8221; series on The Python Standard Library'>New Club videos for &#8220;Batteries Included&#8221; series on The Python Standard Library</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-club-series-for-python-beginners-loops-and-iteration/' rel='bookmark' title='Permanent Link: New Club Series for Python Beginners &#8211; Loops and Iteration'>New Club Series for Python Beginners &#8211; Loops and Iteration</a></li>
<li><a href='http://blog.showmedo.com/news/new-club-series-for-python-beginners-common-variables-and-containers/' rel='bookmark' title='Permanent Link: New Club series for Python Beginners &#8211; Common Variables and Containers'>New Club series for Python Beginners &#8211; Common Variables and Containers</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/python-club-set-takes-shape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>15 New Learning Paths (mostly for Pythonistas)</title>
		<link>http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/</link>
		<comments>http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 18:17:47 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=458</guid>
		<description><![CDATA[<p>We&#8217;ve published 15 new Learning Paths to help you build your knowledge of Python, C and Screencasting.  The Paths mix free and Club content in a guided journey, pulling out exactly the right episodes and series to help you complete your knowledge for a particular subject.</p>
<p>Popular Paths include:</p>

Beginner Python Tutorial
Intermediate Python Tutorial
Python Development Environments
Beginning Python [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/python-showmedos/python-tutorials-via-learning-paths/' rel='bookmark' title='Permanent Link: Python Tutorials via Learning Paths'>Python Tutorials via Learning Paths</a></li>
<li><a href='http://blog.showmedo.com/news/python-beginners-completed-file-inputoutput/' rel='bookmark' title='Permanent Link: Python Beginners Completed! &#8211; File Input/Output'>Python Beginners Completed! &#8211; File Input/Output</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/huge-screencast-series-developing-emol-for-new-pythonistas/' rel='bookmark' title='Permanent Link: Huge screencast series &#8216;Developing emol!&#8217; for new Pythonistas'>Huge screencast series &#8216;Developing emol!&#8217; for new Pythonistas</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve published 15 new <a href="http://showmedo.com/learningpaths/">Learning Paths</a> to help you build your knowledge of Python, C and Screencasting.  The Paths mix free and Club content in a guided journey, pulling out exactly the right episodes and series to help you complete your knowledge for a particular subject.</p>
<p>Popular Paths include:</p>
<ul>
<li><a href="http://showmedo.com/learningpaths/11">Beginner Python Tutorial</a></li>
<li><a href="http://showmedo.com/learningpaths/12">Intermediate Python Tutorial</a></li>
<li><a href="http://showmedo.com/learningpaths/21/view">Python Development Environments</a></li>
<li><a href="http://showmedo.com/learningpaths/19">Beginning Python Web-development</a></li>
<li><a href="http://showmedo.com/learningpaths/20">Beginning Django Tutorials</a></li>
<li><a href="http://showmedo.com/learningpaths/16">Python 3.0 Introduction</a></li>
<li><a href="http://showmedo.com/learningpaths/18">Python GUI Building</a></li>
<li><a href="http://showmedo.com/learningpaths/17">Scientific Python Programming</a></li>
<li><a title="screencast tutorial" href="http://showmedo.com/learningpaths/23">Screencasting Tutorial</a></li>
</ul>
<p>If you like the idea of these guided tutorials, please give us feedback and help us to spread the word by blogging and tweeting (<a href="http://twitter.com/showmedo">@showmedo</a>).</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/python-showmedos/python-tutorials-via-learning-paths/' rel='bookmark' title='Permanent Link: Python Tutorials via Learning Paths'>Python Tutorials via Learning Paths</a></li>
<li><a href='http://blog.showmedo.com/news/python-beginners-completed-file-inputoutput/' rel='bookmark' title='Permanent Link: Python Beginners Completed! &#8211; File Input/Output'>Python Beginners Completed! &#8211; File Input/Output</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/huge-screencast-series-developing-emol-for-new-pythonistas/' rel='bookmark' title='Permanent Link: Huge screencast series &#8216;Developing emol!&#8217; for new Pythonistas'>Huge screencast series &#8216;Developing emol!&#8217; for new Pythonistas</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Showmedo Relaunching</title>
		<link>http://blog.showmedo.com/news/showmedo-relaunching/</link>
		<comments>http://blog.showmedo.com/news/showmedo-relaunching/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 02:41:03 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Showmedo Front-page]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=378</guid>
		<description><![CDATA[<p>Frantic scenes aboard the SS Showmedo as we move to a new server and introduce a much-changed site. According to google analytics about one third of our regular audience are currently lost in cyberspace as various DNS caches around the globe send them off to the old site or some weird fusion of old and [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/news/were-moving-to-a-new-host-this-weekend/' rel='bookmark' title='Permanent Link: We&#8217;re moving to a new host this weekend'>We&#8217;re moving to a new host this weekend</a></li>
<li><a href='http://blog.showmedo.com/news/python-beginners-completed-file-inputoutput/' rel='bookmark' title='Permanent Link: Python Beginners Completed! &#8211; File Input/Output'>Python Beginners Completed! &#8211; File Input/Output</a></li>
<li><a href='http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/' rel='bookmark' title='Permanent Link: 15 New Learning Paths (mostly for Pythonistas)'>15 New Learning Paths (mostly for Pythonistas)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Frantic scenes aboard the SS Showmedo as we move to a new server and introduce a much-changed site. According to google analytics about one third of our regular audience are currently lost in cyberspace as various DNS caches around the globe send them off to the old site or some weird fusion of old and new.</p>
<p>Moving server has been as stressful as I imagined, probably the reason for all those &#8216;moving servers is stressful&#8217; blog entries around the web. We&#8217;re currently a little rickety and scared to crank up the engines for fear of shaking the ship apart. But, thanks to some caching magic, we seem to be serving pages and videos.</p>
<p>The new site design is the result of finally having a big chunk of hours to dedicate to Showmedo, rather than cadging them after hours from the day-job. I think things are a deal cleaner and more professional, allowing for my being rather an accidental web-developer. The feedback has been pretty positive, which is always nice.</p>
<p>Our new initiative viz web-education is Learning-paths. I&#8217;ll be blogging a little about this as soon as I manage to get the server software installed. For all you linux users out there used to the simple pleasures of &#8216;apt-get install&#8217; or &#8216;yum&#8217; or &#8216;rpm&#8217; or any one of the new-fangled ways of getting software onto your *buntu, opensuse, fedora, etc. box, be very thankful; I have been plunged back a couple of decades or so to library-dependency hell and it is a head-trip indeed.</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/news/were-moving-to-a-new-host-this-weekend/' rel='bookmark' title='Permanent Link: We&#8217;re moving to a new host this weekend'>We&#8217;re moving to a new host this weekend</a></li>
<li><a href='http://blog.showmedo.com/news/python-beginners-completed-file-inputoutput/' rel='bookmark' title='Permanent Link: Python Beginners Completed! &#8211; File Input/Output'>Python Beginners Completed! &#8211; File Input/Output</a></li>
<li><a href='http://blog.showmedo.com/news/15-new-learning-paths-mostly-for-pythonistas/' rel='bookmark' title='Permanent Link: 15 New Learning Paths (mostly for Pythonistas)'>15 New Learning Paths (mostly for Pythonistas)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/showmedo-relaunching/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

