<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>ShowMeDo Blogs the World</title>
	
	<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>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ShowmedoBlog" /><feedburner:info uri="showmedoblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Choosing a Python Web Framework I – bottling it</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/hpuLvWYAq4s/</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><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/hpuLvWYAq4s" height="1" width="1"/>]]></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>
		<feedburner:origLink>http://blog.showmedo.com/news/choosing-a-python-web-framework-i-bottling-it/</feedburner:origLink></item>
		<item>
		<title>Congratulations for Dai’s 40th Scribus Video!</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/Or9MJYvIJuA/</link>
		<comments>http://blog.showmedo.com/news/congratulations-for-dais-40th-scribus-video/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 15:32:21 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=754</guid>
		<description><![CDATA[<p>Big kudos to Dai for adding his 40th Scribus Video to Showmedo. Judging from the feedback and Google, these are by some way the most popular Scribus screencasts on the web and a great testimony to Dai&#8217;s teaching skills and the efficacy screencasting.</p>
<p>You can see Dai&#8217;s Scribus collection here, and sample his 40th video below:</p>
<p></p>


<p>Related [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/showmedoservices/new-videos-scribus-inkscape-c-tutorial/' rel='bookmark' title='Permanent Link: New videos: Scribus, Inkscape, C tutorial'>New videos: Scribus, Inkscape, C tutorial</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/showmedo-march-update-python-subscriptions-going-great-voip-conference-tonight/' rel='bookmark' title='Permanent Link: ShowMeDo March Update &#8211; Python Subscriptions going great, VoIP conference tonight'>ShowMeDo March Update &#8211; Python Subscriptions going great, VoIP conference tonight</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Big kudos to Dai for adding his 40th Scribus Video to Showmedo. Judging from the feedback and Google, these are by some way the most popular Scribus screencasts on the web and a great testimony to Dai&#8217;s teaching skills and the efficacy screencasting.</p>
<p>You can see Dai&#8217;s Scribus collection <a href="http://showmedo.com/videotutorials/scribus">here</a>, and sample his 40th video below:</p>
<p><object width="425" height="344" id="_2042" data="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" type="application/x-shockwave-flash"><param name="movie" value="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="flashvars" value='config={&quot;key&quot;:&quot;#$824e5316466b69d76dc&quot;,&quot;logo&quot;:{&quot;url&quot;:&quot;http://showmedo.com/static/images/showmedo_logo_vp.png&quot;,&quot;fullscreenOnly&quot;:false,&quot;top&quot;:20,&quot;right&quot;:20,&quot;opacity&quot;:0.5,&quot;displayTime&quot;:0,&quot;linkUrl&quot;:&quot;http://showmedo.com&quot;},&quot;clip&quot;:{&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true},&quot;playlist&quot;:[{&quot;url&quot;:&quot;http://videos1.showmedo.com/ShowMeDos/1250390.flv&quot;,&quot;title&quot;:&quot;Scribus-Blender-Button-Window&quot;,&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true}],&quot;plugins&quot;:{&quot;controls&quot;:{&quot;url&quot;:&quot;http://showmedo.com/static/flowplayer/flowplayer.controls-3.1.5.swf&quot;,&quot;playlist&quot;:true}}}' /></object></p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/showmedoservices/new-videos-scribus-inkscape-c-tutorial/' rel='bookmark' title='Permanent Link: New videos: Scribus, Inkscape, C tutorial'>New videos: Scribus, Inkscape, C tutorial</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/showmedo-march-update-python-subscriptions-going-great-voip-conference-tonight/' rel='bookmark' title='Permanent Link: ShowMeDo March Update &#8211; Python Subscriptions going great, VoIP conference tonight'>ShowMeDo March Update &#8211; Python Subscriptions going great, VoIP conference tonight</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/Or9MJYvIJuA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/congratulations-for-dais-40th-scribus-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/news/congratulations-for-dais-40th-scribus-video/</feedburner:origLink></item>
		<item>
		<title>New Video Published: C++ Tutorial (1) – Absolute n00b spoonfeed</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/zy5vieZN024/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-1-absolute-n00b-spoonfeed/#comments</comments>
		<pubDate>Thu, 27 May 2010 19:45:18 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Linux ShowMeDos]]></category>
		<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=752</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:C++ Tutorial (1) &#8211; Absolute n00b spoonfeed [ID:1274], a video-tutorial by antiRTFM This video is part of the series C++ Tutorials &#8211; Absolute n00b spoonfeed 

<p>Video tutorials about programming in the C++ programming language.</p>
<p>Forum: http://cpptutorials.freeforums.org/</p>
<p>Part 1:
* Introduction
* Program / Programming
* Programming languages
* C++ Programming language</p>

<p></p>


<p>Related posts:New Video Published: C++ Tutorial (30) [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-30-absolute-n00b-spoonfeed/' rel='bookmark' title='Permanent Link: New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed'>New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/more-c-video-tutorials/' rel='bookmark' title='Permanent Link: More C++ video-tutorials'>More C++ video-tutorials</a></li>
<li><a href='http://blog.showmedo.com/news/c-tutorial-video-series/' rel='bookmark' title='Permanent Link: C tutorial video series.'>C tutorial video series.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=6780000&#038;fromSeriesID=678'><b>C++ Tutorial (1) &#8211; Absolute n00b spoonfeed <small>[ID:1274]</small></b></a>, a video-tutorial by <a class='authorTitle' href='http://localhost:2849/videotutorials/?author=14849'>antiRTFM</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=7Ja4c8YuL'>C++ Tutorials &#8211; Absolute n00b spoonfeed</a><br /> 
<div class="document">
<p>Video tutorials about programming in the C++ programming language.</p>
<p>Forum: <a class="reference external" href="http://cpptutorials.freeforums.org/">http://cpptutorials.freeforums.org/</a></p>
<p>Part 1:<br />
* Introduction<br />
* Program / Programming<br />
* Programming languages<br />
* C++ Programming language</p>
</div>
<p><object width="425" height="344" id="_1274" data="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" type="application/x-shockwave-flash"><param name="movie" value="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="flashvars" value='config={&quot;key&quot;:&quot;#$824e5316466b69d76dc&quot;,&quot;logo&quot;:{&quot;url&quot;:&quot;http://showmedo.com/static/images/showmedo_logo_vp.png&quot;,&quot;fullscreenOnly&quot;:false,&quot;top&quot;:20,&quot;right&quot;:20,&quot;opacity&quot;:0.5,&quot;displayTime&quot;:0,&quot;linkUrl&quot;:&quot;http://showmedo.com&quot;},&quot;clip&quot;:{&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true},&quot;playlist&quot;:[{&quot;url&quot;:&quot;http://videos1.showmedo.com/ShowMeDos/6780000.flv&quot;,&quot;title&quot;:&quot;C++ Tutorial (1) - Absolute n00b spoonfeed&quot;,&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true}],&quot;plugins&quot;:{&quot;controls&quot;:{&quot;url&quot;:&quot;http://showmedo.com/static/flowplayer/flowplayer.controls-3.1.5.swf&quot;,&quot;playlist&quot;:true}}}' /></object></p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-30-absolute-n00b-spoonfeed/' rel='bookmark' title='Permanent Link: New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed'>New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/more-c-video-tutorials/' rel='bookmark' title='Permanent Link: More C++ video-tutorials'>More C++ video-tutorials</a></li>
<li><a href='http://blog.showmedo.com/news/c-tutorial-video-series/' rel='bookmark' title='Permanent Link: C tutorial video series.'>C tutorial video series.</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/zy5vieZN024" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-1-absolute-n00b-spoonfeed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-1-absolute-n00b-spoonfeed/</feedburner:origLink></item>
		<item>
		<title>Relaunch, Refresh, Renew</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/kN_uPF4GI3U/</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/news/new-flash-player-being-debuted/' rel='bookmark' title='Permanent Link: New flash-player being debuted'>New flash-player being debuted</a></li>
<li><a href='http://blog.showmedo.com/news/compiling-lame-on-redhat/' rel='bookmark' title='Permanent Link: Compiling LAME on RedHat'>Compiling LAME on RedHat</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/news/new-flash-player-being-debuted/' rel='bookmark' title='Permanent Link: New flash-player being debuted'>New flash-player being debuted</a></li>
<li><a href='http://blog.showmedo.com/news/compiling-lame-on-redhat/' rel='bookmark' title='Permanent Link: Compiling LAME on RedHat'>Compiling LAME on RedHat</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/kN_uPF4GI3U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/relaunch-refresh-renew/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/news/relaunch-refresh-renew/</feedburner:origLink></item>
		<item>
		<title>Site Relaunch – customizing that Twitter Widget</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/sj4b6cqjpOw/</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><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/sj4b6cqjpOw" height="1" width="1"/>]]></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>
		<feedburner:origLink>http://blog.showmedo.com/showmedo-front-page/site-relaunch-customizing-that-twitter-widget/</feedburner:origLink></item>
		<item>
		<title>New Scribus Video Published</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/soKCoIoDZuY/</link>
		<comments>http://blog.showmedo.com/news/new-scribus-video-published/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 12:23:57 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[OpenOffice]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=734</guid>
		<description><![CDATA[<p>We&#8217;re proud to publish another video in Dai&#8217;s hugely popular Scribus Desktop Publishing set. Entitled Drop Caps Revisited: </p>
<p></p>


<p>Related posts:Congratulations for Dai&#8217;s 40th Scribus Video!
New Video Published: Profiling in IPython
New Video Published: Self-modifying code
</p>


Related posts:<ol><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>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-profiling-in-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Profiling in IPython'>New Video Published: Profiling in IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-self-modifying-code/' rel='bookmark' title='Permanent Link: New Video Published: Self-modifying code'>New Video Published: Self-modifying code</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re proud to publish another video in <a href='http://showmedo.com/videotutorials/?author=1922'>Dai&#8217;s</a> hugely popular <strong>Scribus Desktop Publishing</strong> set. Entitled <strong>Drop Caps Revisited</strong>: </p>
<p><object width="425" height="344" id="_1950" data="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" type="application/x-shockwave-flash"><param name="movie" value="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="flashvars" value='config={&quot;key&quot;:&quot;#$824e5316466b69d76dc&quot;,&quot;logo&quot;:{&quot;url&quot;:&quot;http://showmedo.com/static/images/showmedo_logo_vp.png&quot;,&quot;fullscreenOnly&quot;:false,&quot;top&quot;:20,&quot;right&quot;:20,&quot;opacity&quot;:0.5,&quot;displayTime&quot;:0,&quot;linkUrl&quot;:&quot;http://showmedo.com&quot;},&quot;clip&quot;:{&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true},&quot;playlist&quot;:[{&quot;url&quot;:&quot;http://videos1.showmedo.com/ShowMeDos/1250280.flv&quot;,&quot;title&quot;:&quot;Drop Caps Re-Visited&quot;,&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true}],&quot;plugins&quot;:{&quot;controls&quot;:{&quot;url&quot;:&quot;http://showmedo.com/static/flowplayer/flowplayer.controls-3.1.5.swf&quot;,&quot;playlist&quot;:true}}}' /></object></p>


<p>Related posts:<ol><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>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-profiling-in-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Profiling in IPython'>New Video Published: Profiling in IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-self-modifying-code/' rel='bookmark' title='Permanent Link: New Video Published: Self-modifying code'>New Video Published: Self-modifying code</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/soKCoIoDZuY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/new-scribus-video-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/news/new-scribus-video-published/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Self-modifying code</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/q11VZjnKpyU/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-self-modifying-code/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 01:01:38 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=732</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1483] Self-modifying code, a video-tutorial by David Fung This video is part of the series Self-modifying code 

<p>Using the inspect and re modules, write a piece of code that update itself every time it is run.</p>
<p>The idea is come from the PEAK ez_setup.py script.</p>



<p>Related posts:New Video Published: Pygame tutorial &#8211; Installation
New [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-pygame-tutorial-installation/' rel='bookmark' title='Permanent Link: New Video Published: Pygame tutorial &#8211; Installation'>New Video Published: Pygame tutorial &#8211; Installation</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-profiling-in-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Profiling in IPython'>New Video Published: Profiling in IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-using-the-ipython-library/' rel='bookmark' title='Permanent Link: New Video Published: Using the IPython Library'>New Video Published: Using the IPython Library</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7610000&#038;fromSeriesID=761'><b>[1483] Self-modifying code</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=771'>David Fung</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=vz80inXpo'>Self-modifying code</a><br /> 
<div class="document">
<p>Using the inspect and re modules, write a piece of code that update itself every time it is run.</p>
<p>The idea is come from the PEAK ez_setup.py script.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-pygame-tutorial-installation/' rel='bookmark' title='Permanent Link: New Video Published: Pygame tutorial &#8211; Installation'>New Video Published: Pygame tutorial &#8211; Installation</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-profiling-in-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Profiling in IPython'>New Video Published: Profiling in IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-using-the-ipython-library/' rel='bookmark' title='Permanent Link: New Video Published: Using the IPython Library'>New Video Published: Using the IPython Library</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/q11VZjnKpyU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-self-modifying-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-self-modifying-code/</feedburner:origLink></item>
		<item>
		<title>Using Python  strings and dictionaries to create video embedding templates</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/-df9vPm9HPk/</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><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/-df9vPm9HPk" height="1" width="1"/>]]></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>
		<feedburner:origLink>http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/</feedburner:origLink></item>
		<item>
		<title>Python to the Rescue</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/zMwr_2jYMM4/</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><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/zMwr_2jYMM4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/showmedo-front-page/python-to-the-rescue/</feedburner:origLink></item>
		<item>
		<title>A Little Downtime :(</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/LshJ0Zg5REg/</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><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/LshJ0Zg5REg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/showmedo-front-page/a-little-downtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/showmedo-front-page/a-little-downtime/</feedburner:origLink></item>
		<item>
		<title>New Video Published: PyConPads</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/eqXj1Nvp59A/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-pyconpads/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 16:16:47 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=703</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1829] PyConPads, a video-tutorial by John Graves This video is part of the series PyCon 2010 Slides and Notes 

<p>Video showing how to remotely participate in the PyCon 2010 conference in Atlanta by watching the live note taking of some thoughtful and friendly participants using EtherPad. Go to https://twitter.com/pyconpads to find [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/news/growth-in-python-project-popularity/' rel='bookmark' title='Permanent Link: Growth in Python Project Popularity'>Growth in Python Project Popularity</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-profiling-in-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Profiling in IPython'>New Video Published: Profiling in IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-self-modifying-code/' rel='bookmark' title='Permanent Link: New Video Published: Self-modifying code'>New Video Published: Self-modifying code</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=10050010&#038;fromSeriesID=1005'><b>[1829] PyConPads</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=17764'>John Graves</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=BQYz1Ga8C'>PyCon 2010 Slides and Notes</a><br /> 
<div class="document">
<p>Video showing how to remotely participate in the PyCon 2010 conference in Atlanta by watching the live note taking of some thoughtful and friendly participants using EtherPad. Go to <a class="reference external" href="https://twitter.com/pyconpads">https://twitter.com/pyconpads</a> to find pads. (Author: John Graves from Auckland, New Zealand has other videos at <a class="reference external" href="http://bit.ly/openallure">http://bit.ly/openallure</a> and an Open Source project <a class="reference external" href="http://openallureds.org">http://openallureds.org</a> )</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/news/growth-in-python-project-popularity/' rel='bookmark' title='Permanent Link: Growth in Python Project Popularity'>Growth in Python Project Popularity</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-profiling-in-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Profiling in IPython'>New Video Published: Profiling in IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-self-modifying-code/' rel='bookmark' title='Permanent Link: New Video Published: Self-modifying code'>New Video Published: Self-modifying code</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/eqXj1Nvp59A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-pyconpads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-pyconpads/</feedburner:origLink></item>
		<item>
		<title>Testing Flowplayer embedding script</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/HsYtWGrtpoY/</link>
		<comments>http://blog.showmedo.com/python-showmedos/testing-flowplayer-embedding-script/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 14:20:44 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Building a Website]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=696</guid>
		<description><![CDATA[<p>This little script, appearing below Showmedo&#8217;s video-boxes should allow easy embedding of the videos in blogs, articles and the like. As ever, avoid the WYSIWYG editors or the pristine HTML is likely to be horribly mangled.</p>
<p>If everything goes according to plan, you should be seeing a Showmedo video below (The first part of Chris Perkins&#8217; [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/xmlrpc-and-unit-testing-screencasts-by-florian-mayer/' rel='bookmark' title='Permanent Link: XMLRPC and unit-testing screencasts by Florian Mayer'>XMLRPC and unit-testing screencasts by Florian Mayer</a></li>
<li><a href='http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/' rel='bookmark' title='Permanent Link: Using Python  strings and dictionaries to create video embedding templates'>Using Python  strings and dictionaries to create video embedding templates</a></li>
<li><a href='http://blog.showmedo.com/kyrans-thought-for-the-day/taming-flowplayer-pt-1/' rel='bookmark' title='Permanent Link: Taming Flowplayer Pt. 1'>Taming Flowplayer Pt. 1</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This little script, appearing below Showmedo&#8217;s video-boxes should allow easy embedding of the videos in blogs, articles and the like. As ever, avoid the WYSIWYG editors or the pristine HTML is likely to be horribly mangled.</p>
<p>If everything goes according to plan, you should be seeing a Showmedo video below (The first part of Chris Perkins&#8217; rather wonderful series on <a href="http://showmedo.com/videotutorials/series?name=mcfckfJ4w">Agile Development Tools in Python</a>):</p>
<p><object width="425" height="344" id="_785" data="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf" type="application/x-shockwave-flash"><param name="movie" value="http://showmedo.com/static/flowplayer/flowplayer-3.1.5.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="flashvars" value="config={&quot;clip&quot;:{&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true},&quot;playlist&quot;:[{&quot;url&quot;:&quot;http://showmedovideos4.com/ShowMeDos/2910000.flv&quot;,&quot;title&quot;:&quot;Using Virtualenv and PasteScript&quot;,&quot;baseUrl&quot;:&quot;http://showmedo.com&quot;,&quot;autoPlay&quot;:false,&quot;autoBuffering&quot;:true}],&quot;plugins&quot;:{&quot;controls&quot;:{&quot;url&quot;:&quot;http://showmedo.com/static/flowplayer/flowplayer.controls-3.1.5.swf&quot;,&quot;playlist&quot;:true}}}"/></object></p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/xmlrpc-and-unit-testing-screencasts-by-florian-mayer/' rel='bookmark' title='Permanent Link: XMLRPC and unit-testing screencasts by Florian Mayer'>XMLRPC and unit-testing screencasts by Florian Mayer</a></li>
<li><a href='http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/' rel='bookmark' title='Permanent Link: Using Python  strings and dictionaries to create video embedding templates'>Using Python  strings and dictionaries to create video embedding templates</a></li>
<li><a href='http://blog.showmedo.com/kyrans-thought-for-the-day/taming-flowplayer-pt-1/' rel='bookmark' title='Permanent Link: Taming Flowplayer Pt. 1'>Taming Flowplayer Pt. 1</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/HsYtWGrtpoY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/python-showmedos/testing-flowplayer-embedding-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/python-showmedos/testing-flowplayer-embedding-script/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Pygame tutorial – Installation</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/4U4akZ4ECGg/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-pygame-tutorial-installation/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 00:12:03 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Linux ShowMeDos]]></category>
		<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=642</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1780] Pygame tutorial &#8211; Installation, a video-tutorial by Kenny X This video is part of the series Using Pygame for Games 

<p>In this tutorial screencast you will learn how to install pygame on Linux, Mac, and Windows. I explain what you can find on http://pygame.org/download.shtml and how to find out if [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-1-absolute-n00b-spoonfeed/' rel='bookmark' title='Permanent Link: New Video Published: C++ Tutorial (1) &#8211; Absolute n00b spoonfeed'>New Video Published: C++ Tutorial (1) &#8211; Absolute n00b spoonfeed</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-30-absolute-n00b-spoonfeed/' rel='bookmark' title='Permanent Link: New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed'>New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=9670000&#038;fromSeriesID=967'><b>[1780] Pygame tutorial &#8211; Installation</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=17666'>Kenny X</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=wESAtIvNJ'>Using Pygame for Games</a><br /> 
<div class="document">
<p>In this tutorial screencast you will learn how to install pygame on Linux, Mac, and Windows. I explain what you can find on <a class="reference external" href="http://pygame.org/download.shtml">http://pygame.org/download.shtml</a> and how to find out if pygame wasn&#8217;t installed correctly.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-1-absolute-n00b-spoonfeed/' rel='bookmark' title='Permanent Link: New Video Published: C++ Tutorial (1) &#8211; Absolute n00b spoonfeed'>New Video Published: C++ Tutorial (1) &#8211; Absolute n00b spoonfeed</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-c-tutorial-30-absolute-n00b-spoonfeed/' rel='bookmark' title='Permanent Link: New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed'>New Video Published: C++ Tutorial (30) &#8211; Absolute n00b spoonfeed</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/4U4akZ4ECGg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-pygame-tutorial-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-pygame-tutorial-installation/</feedburner:origLink></item>
		<item>
		<title>The font of knowledge</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/MVs0dXA2CQc/</link>
		<comments>http://blog.showmedo.com/kyrans-thought-for-the-day/the-font-of-knowledge/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 22:51:09 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[Building a Website]]></category>
		<category><![CDATA[Distraction therapy]]></category>
		<category><![CDATA[Kyran's thought for the day]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=626</guid>
		<description><![CDATA[<p>One of the nice things about the web and coding in general is the occasional little distraction thrown up in the space of toolsets, coding-practice and the like. Today those eddies in cyberspace have brought fonts to the fore, after a while in which I really hadn&#8217;t given it too much thought. But the fact [...]


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/taming-flowplayer-pt-1/' rel='bookmark' title='Permanent Link: Taming Flowplayer Pt. 1'>Taming Flowplayer Pt. 1</a></li>
<li><a href='http://blog.showmedo.com/news/welcome-reddit-and-dzone/' rel='bookmark' title='Permanent Link: Welcome Reddit and DZone'>Welcome Reddit and DZone</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>One of the nice things about the web and coding in general is the occasional little distraction thrown up in the space of toolsets, coding-practice and the like. Today those eddies in cyberspace have brought fonts to the fore, after a while in which I really hadn&#8217;t given it too much thought. But the fact is, for someone hacking code all day a good font, while maybe not as critical as a good editor (VIM btw), is important. In the same way as buying a good bed is important, you&#8217;ll have been staring at this font for a good few life years, when time comes to cash in your programming chips.  So is worth some consideration.</p>
<p>I generally go for a good, reliable mono-space default which is less likely to go horribly wrong (VIM sometime gets confused with widths) and is cross-platform and easy. <a href="http://en.wikipedia.org/wiki/Andale_Mono">Andale Mono </a>tends to do the job, without feeling particularly classy. Anyway, the <a href="http://en.wikipedia.org/wiki/Consolas">Consolas</a> font crops up a lot in various programming contexts, e.g. Slashdot, Reddit, Stackoverflow.</p>
<p>So my curiosity has finally been piqued and I&#8217;m going to give it a try.  I certainly don&#8217;t have the balls to try a proportional font, even if readability is improved by 18% or so.  <a href="http://developers.slashdot.org/story/10/01/17/0715219/Programming-With-Proportional-Fonts?art_pos=8">Here</a> is today&#8217;s Slashdot thread, that undoubtedly gets to the heart of the issue.  And a nice post from Hive-Logic about the <a href="http://hivelogic.com/articles/top-10-programming-fonts">top ten programming fonts</a>, which suggests I should give <a href="http://www.levien.com/type/myfonts/inconsolata.html">Inconsolata</a> a go. Which I probably will.  The accompanying <a href="http://www.reddit.com/r/programming/comments/aqmvy/top_10_programming_fonts/">Reddit thread</a>, that undoubtedly gets to the heart of the issue.</p>
<p>I&#8217;ll buzz back with an opinion when I&#8217;ve had time to absorb the changes. Exciting times&#8230;</p>
<p>Oh, and for linux bods such as myself, <a href="http://www.romej.com/archives/571/consolas-font-in-linux-for-code-editing">here&#8217;s a little hack</a> to get them into VIM.</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/taming-flowplayer-pt-1/' rel='bookmark' title='Permanent Link: Taming Flowplayer Pt. 1'>Taming Flowplayer Pt. 1</a></li>
<li><a href='http://blog.showmedo.com/news/welcome-reddit-and-dzone/' rel='bookmark' title='Permanent Link: Welcome Reddit and DZone'>Welcome Reddit and DZone</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/MVs0dXA2CQc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/kyrans-thought-for-the-day/the-font-of-knowledge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/kyrans-thought-for-the-day/the-font-of-knowledge/</feedburner:origLink></item>
		<item>
		<title>Taming Flowplayer Pt. 1</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/WY7hIubQUk8/</link>
		<comments>http://blog.showmedo.com/kyrans-thought-for-the-day/taming-flowplayer-pt-1/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 07:43:14 +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>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=620</guid>
		<description><![CDATA[<p>Getting Flowplayer up and running on the site was not quite as smooth as the nice web-site and clean API suggested. I&#8217;ll be documenting the whole gory process in the &#8216;Building a Website (with Python, jquery etc..)&#8217; series, but in the meantime I&#8217;ll mention the hideous hackery needed to get over the final hurdle that [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/' rel='bookmark' title='Permanent Link: Using Python  strings and dictionaries to create video embedding templates'>Using Python  strings and dictionaries to create video embedding templates</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>
<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>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Getting Flowplayer up and running on the site was not quite as smooth as the nice <a href="http://flowplayer.org">web-site</a> and clean API suggested. I&#8217;ll be documenting the whole gory process in the &#8216;Building a Website (with Python, jquery etc..)&#8217; series, but in the meantime I&#8217;ll mention the hideous hackery needed to get over the final hurdle that is Internet Explorer 7.</p>
<p>Somewhere along the line I was looking to pass a web-address, as part of an html overlay, into the flash-player. This has the standard form:</p>
<p><code>"http://showmedo.com/videotutorials/video?name=1470110&amp;fromSeriesID=147"</code></p>
<p>Now if one tries to pass that string into a flashplayer, all hell will break loose. Some of those symbols are going to be interpreted as controls rather than nice, neutral characters. For this reason they need to be &#8216;escaped&#8217;, and <a href="http://turbogears.org">Turbogears</a> provides a nice little function &#8220;quote_plus&#8221;, via Python&#8217;s urllib, to do just this. The result is this rather scary looking string:</p>
<p><code>"http%3A%2F%2Fshowmedo.com</code>%2Fvideotutorials%2Fvideo%3Fname%3D1470110%26fromSeriesID%3D147&#8243;</p>
<p>This string makes it through the flash-player in all the browsers we&#8217;re interested in at Showmedo and produces a clickable flash-overlay which, strangely enough, takes one through to the page in question. Er, except (and twas ever thus), IE7 (not 8 &lt;sigh&gt;), where, when all the escape-artistry has taken place, we find ourselves directed to this non-existent page:</p>
<p><code>"http://showmedo.com/http://showmedo.com/videotutorials/video?name=1470110&amp;fromSeriesID=147"</code></p>
<p>which is a very poorly URL indeed.</p>
<p>Now I&#8217;m guessing that somewhere at the heart of this is the issue of absolute and relative web-addresses.  The second &#8216;http://&#8230;&#8217; should be interpreted as an absolute address, but those unicode escape-characters have confused the system, making it treat the URL as relative, thus adding another root-url.</p>
<p>If I had time to explore this horror I would probably spend it doing something else, but in these time-starved times I just did a little bit of playing around and added a hack-function which undoes the &#8216;:&#8217; and &#8216;/&#8217; escapes of &#8220;quote_plus&#8221;, producing this:</p>
<p><code>"http://showmedo.com</code>/videotutorials/video%3Fname%3D1470110%26fromSeriesID%3D147&#8243;</p>
<p>Which makes it through the browser minefield, but, as seems so often the case with this messed up web-development world, at the cost of some serious inelegance.</p>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/showmedo-front-page/using-python-strings-and-dictionaries-to-create-video-embedding-templates/' rel='bookmark' title='Permanent Link: Using Python  strings and dictionaries to create video embedding templates'>Using Python  strings and dictionaries to create video embedding templates</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>
<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>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/WY7hIubQUk8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/kyrans-thought-for-the-day/taming-flowplayer-pt-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/kyrans-thought-for-the-day/taming-flowplayer-pt-1/</feedburner:origLink></item>
		<item>
		<title>Testing wordpress-twitter plugin</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/yQ3db3031bY/</link>
		<comments>http://blog.showmedo.com/news/testing-wordpress-twitter-plugin/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 06:02:23 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=617</guid>
		<description><![CDATA[<p>If this gets through, the soon to be awesomeness of this blog will be seeping through to twitter automatically. Or crashing something somewhere. Going to keep on writing to hit the 140 limit &#8211; and see what it does with that.</p>


<p>Related posts:ShowMeDo is on Twitter
Site Relaunch &#8211; customizing that Twitter Widget
New ShowMeDo Video: Introducing WordPress [...]


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/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/new-showmedo-videos/new-showmedo-videos-introducing-wordpress-part-1-of-2/' rel='bookmark' title='Permanent Link: New ShowMeDo Video: Introducing WordPress (part 1 of 2)'>New ShowMeDo Video: Introducing WordPress (part 1 of 2)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If this gets through, the soon to be awesomeness of this blog will be seeping through to twitter automatically. Or crashing something somewhere. Going to keep on writing to hit the 140 limit &#8211; and see what it does with that.</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/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/new-showmedo-videos/new-showmedo-videos-introducing-wordpress-part-1-of-2/' rel='bookmark' title='Permanent Link: New ShowMeDo Video: Introducing WordPress (part 1 of 2)'>New ShowMeDo Video: Introducing WordPress (part 1 of 2)</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/yQ3db3031bY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/testing-wordpress-twitter-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/news/testing-wordpress-twitter-plugin/</feedburner:origLink></item>
		<item>
		<title>New flash-player being debuted</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/yIS6dQXFIhY/</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><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/yIS6dQXFIhY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/news/new-flash-player-being-debuted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/news/new-flash-player-being-debuted/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Closing remarks and using dictionaries effectively for scientific computing</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/1ONoFP5oKjo/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-closing-remarks-and-using-dictionaries-effectively-for-scientific-computing/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:48:21 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=602</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1452] Closing remarks and using dictionaries effectively for scientific computing, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython 

<p>In this final segment, we highlight concepts important for new scientific Python programmers, especially those coming from a Matlab environment. We discuss effective use [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-basic-parallel-computing-using-ipython-2/' rel='bookmark' title='Permanent Link: New Video Published: Basic Parallel Computing Using IPython'>New Video Published: Basic Parallel Computing Using IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-basic-parallel-computing-using-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Basic Parallel Computing Using IPython'>New Video Published: Basic Parallel Computing Using IPython</a></li>
<li><a href='http://blog.showmedo.com/news/scientific-and-parallel-computing-using-ipython/' rel='bookmark' title='Permanent Link: Scientific and Parallel Computing Using IPython'>Scientific and Parallel Computing Using IPython</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7200170&#038;fromSeriesID=720'><b>[1452] Closing remarks and using dictionaries effectively for scientific computing</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=6237'>unpingco</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=N49qyIFOh'>Scientific and parallel computing using IPython</a><br /> 
<div class="document">
<p>In this final segment, we highlight concepts important for new scientific Python programmers, especially those coming from a Matlab environment. We discuss effective use of Python dictionaries and the timeit profiling module. We also discuss the defaultdict object for quick and easy database creation useful for keeping track of data in multiple parameter runs.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-basic-parallel-computing-using-ipython-2/' rel='bookmark' title='Permanent Link: New Video Published: Basic Parallel Computing Using IPython'>New Video Published: Basic Parallel Computing Using IPython</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-basic-parallel-computing-using-ipython/' rel='bookmark' title='Permanent Link: New Video Published: Basic Parallel Computing Using IPython'>New Video Published: Basic Parallel Computing Using IPython</a></li>
<li><a href='http://blog.showmedo.com/news/scientific-and-parallel-computing-using-ipython/' rel='bookmark' title='Permanent Link: Scientific and Parallel Computing Using IPython'>Scientific and Parallel Computing Using IPython</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/1ONoFP5oKjo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-closing-remarks-and-using-dictionaries-effectively-for-scientific-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-closing-remarks-and-using-dictionaries-effectively-for-scientific-computing/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Garbage Collection in Python – Part II -</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/j0Wo0_INyXg/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-garbage-collection-in-python-part-ii/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:48:18 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=600</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1451] Garbage Collection in Python &#8211; Part II -, a video-tutorial by gasto This video is part of the series Python from zero. 

<p>How to instantiate the previously created class ( Foo ) is shown, using IDLE (the Integrated Development Environment , that comes with the standard CPython distribution). 2 referrers [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-garbage-collection-in-python-part-i-2/' rel='bookmark' title='Permanent Link: New Video Published: Garbage Collection in Python &#8211; Part I -'>New Video Published: Garbage Collection in Python &#8211; Part I -</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-garbage-collection-in-python-part-i/' rel='bookmark' title='Permanent Link: New Video Published: Garbage Collection in Python &#8211; Part I -'>New Video Published: Garbage Collection in Python &#8211; Part I -</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python/' rel='bookmark' title='Permanent Link: New Video Published: Case Study: Robust Regression Methods Using Python'>New Video Published: Case Study: Robust Regression Methods Using Python</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=2470030&#038;fromSeriesID=247'><b>[1451] Garbage Collection in Python &#8211; Part II -</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=3253'>gasto</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=cqZALPzt8'>Python from zero.</a><br /> 
<div class="document">
<p>How to instantiate the previously created class ( Foo ) is shown, using IDLE (the Integrated Development Environment , that comes with the standard CPython distribution). 2 referrers are created to understand that up until all referrers are deleted, the Python garbage collector may claim the associated instance (destruct it, deallocate it).</p>
<p>variables in Python are simple names associated to an instance (it could be a value). Examples are shown to enforce this concept.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-garbage-collection-in-python-part-i-2/' rel='bookmark' title='Permanent Link: New Video Published: Garbage Collection in Python &#8211; Part I -'>New Video Published: Garbage Collection in Python &#8211; Part I -</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-garbage-collection-in-python-part-i/' rel='bookmark' title='Permanent Link: New Video Published: Garbage Collection in Python &#8211; Part I -'>New Video Published: Garbage Collection in Python &#8211; Part I -</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python/' rel='bookmark' title='Permanent Link: New Video Published: Case Study: Robust Regression Methods Using Python'>New Video Published: Case Study: Robust Regression Methods Using Python</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/j0Wo0_INyXg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-garbage-collection-in-python-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-garbage-collection-in-python-part-ii/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Help! Manuals, Forums and Mail lists</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/4GIrP9h1Lz0/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-help-manuals-forums-and-mail-lists/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:48:16 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=598</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1444] Help! Manuals, Forums and Mail lists, a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users 

<p>For help, the first place to start is TutorialsForOpenOffice.  The official documentation is complete but a bit heavy.</p>
<p>OpenOffice&#8217;s Support section gives many links which [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7500040&#038;fromSeriesID=750'><b>[1444] Help! Manuals, Forums and Mail lists</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=2'>Ian Ozsvald</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=jeHP2r34E'>OpenOffice Writer 3.1 for Microsoft Word users</a><br /> 
<div class="document">
<p>For help, the first place to start is <a class="reference external" href="http://www.tutorialsforopenoffice.org/category_index/wordprocessing.html">TutorialsForOpenOffice</a>.  The <a class="reference external" href="http://documentation.openoffice.org/">official documentation</a> is complete but a bit heavy.</p>
<p>OpenOffice&#8217;s <a class="reference external" href="http://support.openoffice.org/">Support section</a> gives many links which include free material, courses and books.</p>
<p>If you have questions the most active forum seems to be the independent <a class="reference external" href="http://www.oooforum.org/">OpenOffice Forum</a> and although a little bit less active, the <a class="reference external" href="http://user.services.openoffice.org/en/forum/">official forum</a> should be your other port of call.</p>
<p>If you prefer, there are many <a class="reference external" href="http://www.openoffice.org/mail_list.html">mailing lists</a>.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/4GIrP9h1Lz0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-help-manuals-forums-and-mail-lists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-help-manuals-forums-and-mail-lists/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Working with an OpenDocument Format (.odt) file</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/sjz-zKpcbxQ/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-an-opendocument-format-odt-file/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:48:13 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=597</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1443] Working with an OpenDocument Format (.odt) file, a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users 

<p>Now let&#8217;s look at a native document &#8211; OpenOffice works with .odt files (OpenDocument Text).  Normally these are zipped structures that contain xml [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7500030&#038;fromSeriesID=750'><b>[1443] Working with an OpenDocument Format (.odt) file</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=2'>Ian Ozsvald</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=jeHP2r34E'>OpenOffice Writer 3.1 for Microsoft Word users</a><br /> 
<div class="document">
<p>Now let&#8217;s look at a native document &#8211; OpenOffice works with .odt files (<a class="reference external" href="http://en.wikipedia.org/wiki/OpenDocument">OpenDocument Text</a>).  Normally these are zipped structures that contain xml and binary data &#8211; here we look at what&#8217;s inside an .odt file.<br />
If you&#8217;re curious, you can poke inside your own .odt files using my instructions.<br />
You&#8217;ll find more tips at at <a class="reference external" href="http://3monkeyweb.com/3monkeys/2007/01/12/openoffice-odt-opened-up-part-1/">3monkeyweb</a>.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/sjz-zKpcbxQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-an-opendocument-format-odt-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-an-opendocument-format-odt-file/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Working with Word (.doc) files</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/YsSRbPo8gJg/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:48:10 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=594</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1442] Working with Word (.doc) files, a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users 

<p>An early hurdle when switching to OpenOffice will be the question of whether you can still share documents with MS Office users.  Of course you [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-an-opendocument-format-odt-file/' rel='bookmark' title='Permanent Link: New Video Published: Working with an OpenDocument Format (.odt) file'>New Video Published: Working with an OpenDocument Format (.odt) file</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7500020&#038;fromSeriesID=750'><b>[1442] Working with Word (.doc) files</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=2'>Ian Ozsvald</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=jeHP2r34E'>OpenOffice Writer 3.1 for Microsoft Word users</a><br /> 
<div class="document">
<p>An early hurdle when switching to OpenOffice will be the question of whether you can still share documents with MS Office users.  Of course you can!  Here we edit a document in both MS Word 2003 and OpenOffice 3.1 Writer to show that all formatting is preserved.</p>
<p>You can read a bit more about <a class="reference external" href="http://www.tutorialsforopenoffice.org/tutorial/Microsoft_Office_And_OpenOffice.html">MS Office and OpenOffice</a>.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-an-opendocument-format-odt-file/' rel='bookmark' title='Permanent Link: New Video Published: Working with an OpenDocument Format (.odt) file'>New Video Published: Working with an OpenDocument Format (.odt) file</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/YsSRbPo8gJg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Installing OpenOffice 3.1 on Windows XP</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/rFaXW6RMGis/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:48:09 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=593</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1441] Installing OpenOffice 3.1 on Windows XP (Free), a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users 

<p>In just over 2 minutes we run you through the installation of OpenOffice 3.1 on Windows XP.  We also show you how you [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
<li><a href='http://blog.showmedo.com/open-source-software/openoffice-31-writer-tutorial/' rel='bookmark' title='Permanent Link: OpenOffice 3.1 Writer Tutorial'>OpenOffice 3.1 Writer Tutorial</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7500010&#038;fromSeriesID=750'><b>[1441] Installing OpenOffice 3.1 on Windows XP (Free)</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=2'>Ian Ozsvald</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=jeHP2r34E'>OpenOffice Writer 3.1 for Microsoft Word users</a><br /> 
<div class="document">
<p>In just over 2 minutes we run you through the installation of OpenOffice 3.1 on Windows XP.  We also show you how you can download a version of OpenOffice for Windows, Mac or Linux in different languages.<br />
Visit <a class="reference external" href="http://www.openoffice.org/">OpenOffice.org</a> to get started.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/' rel='bookmark' title='Permanent Link: New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)'>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</a></li>
<li><a href='http://blog.showmedo.com/open-source-software/openoffice-31-writer-tutorial/' rel='bookmark' title='Permanent Link: OpenOffice 3.1 Writer Tutorial'>OpenOffice 3.1 Writer Tutorial</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/rFaXW6RMGis" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Series Overview in 4 minutes (OpenOffice 3.1 for Word users)</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/yOb8xSOa-DI/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 03:14:32 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=591</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1440] Series Overview in 4 minutes (OpenOffice 3.1 for Word users) (Free), a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users 

<p>In this series we help you move from Microsoft Word (2003 is our example) to OpenOffice 3.1.  We show [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-an-opendocument-format-odt-file/' rel='bookmark' title='Permanent Link: New Video Published: Working with an OpenDocument Format (.odt) file'>New Video Published: Working with an OpenDocument Format (.odt) file</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7500000&#038;fromSeriesID=750'><b>[1440] Series Overview in 4 minutes (OpenOffice 3.1 for Word users) (Free)</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=2'>Ian Ozsvald</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=jeHP2r34E'>OpenOffice Writer 3.1 for Microsoft Word users</a><br /> 
<div class="document">
<p>In this series we help you move from Microsoft Word (2003 is our example) to OpenOffice 3.1.  We show you how to use both Word and Office to edit the same document and how to do all the usual functions in OpenOffice, as well as where to go to get your questions answered.<br />
Visit <a class="reference external" href="http://www.openoffice.org/">OpenOffice.org</a> to get started, see the live <a class="reference external" href="http://marketing.openoffice.org/marketing_bouncer.html">download counter</a> and read more background at <a class="reference external" href="http://en.wikipedia.org/wiki/Openoffice">WikiPedia</a>.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-word-doc-files/' rel='bookmark' title='Permanent Link: New Video Published: Working with Word (.doc) files'>New Video Published: Working with Word (.doc) files</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-installing-openoffice-3-1-on-windows-xp/' rel='bookmark' title='Permanent Link: New Video Published: Installing OpenOffice 3.1 on Windows XP'>New Video Published: Installing OpenOffice 3.1 on Windows XP</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-working-with-an-opendocument-format-odt-file/' rel='bookmark' title='Permanent Link: New Video Published: Working with an OpenDocument Format (.odt) file'>New Video Published: Working with an OpenDocument Format (.odt) file</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/yOb8xSOa-DI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-series-overview-in-4-minutes-openoffice-3-1-for-word-users/</feedburner:origLink></item>
		<item>
		<title>New Video Published: Case Study: Robust Regression Methods Using Python and Parallel IPython</title>
		<link>http://feedproxy.google.com/~r/ShowmedoBlog/~3/Y9ad-PMKStM/</link>
		<comments>http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python-and-parallel-ipython/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 03:14:26 +0000</pubDate>
		<dc:creator>wizzy</dc:creator>
				<category><![CDATA[New ShowMeDo Videos]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Python ShowMeDos]]></category>

		<guid isPermaLink="false">http://blog.showmedo.com/?p=587</guid>
		<description><![CDATA[<p>Showmedo is proud to publish:[1439] Case Study: Robust Regression Methods Using Python and Parallel IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython 

<p>In this segment, we continue with the case study of robust regression methods, but here we show how to use generators and the [...]


Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python-continued/' rel='bookmark' title='Permanent Link: New Video Published: Case Study: Robust Regression Methods Using Python continued'>New Video Published: Case Study: Robust Regression Methods Using Python continued</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python/' rel='bookmark' title='Permanent Link: New Video Published: Case Study: Robust Regression Methods Using Python'>New Video Published: Case Study: Robust Regression Methods Using Python</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-getting-started-with-parallel-ipython-2/' rel='bookmark' title='Permanent Link: New Video Published: Getting Started with Parallel IPython'>New Video Published: Getting Started with Parallel IPython</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Showmedo is proud to publish:<a href='http://showmedo.com/videotutorials/video?name=7200160&#038;fromSeriesID=720'><b>[1439] Case Study: Robust Regression Methods Using Python and Parallel IPython</b></a>, a video-tutorial by <a class='authorTitle' href='http://showmedo.com/videotutorials/?author=6237'>unpingco</a><br /> This video is part of the series <a href='http://showmedo.com/videotutorials/series?name=N49qyIFOh'>Scientific and parallel computing using IPython</a><br /> 
<div class="document">
<p>In this segment, we continue with the case study of robust regression methods, but here we show how to use generators and the parallel computing features of IPython to accelerate the computation.</p>
</div>


<p>Related posts:<ol><li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python-continued/' rel='bookmark' title='Permanent Link: New Video Published: Case Study: Robust Regression Methods Using Python continued'>New Video Published: Case Study: Robust Regression Methods Using Python continued</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python/' rel='bookmark' title='Permanent Link: New Video Published: Case Study: Robust Regression Methods Using Python'>New Video Published: Case Study: Robust Regression Methods Using Python</a></li>
<li><a href='http://blog.showmedo.com/new-showmedo-videos/new-video-published-getting-started-with-parallel-ipython-2/' rel='bookmark' title='Permanent Link: New Video Published: Getting Started with Parallel IPython'>New Video Published: Getting Started with Parallel IPython</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/ShowmedoBlog/~4/Y9ad-PMKStM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python-and-parallel-ipython/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.showmedo.com/new-showmedo-videos/new-video-published-case-study-robust-regression-methods-using-python-and-parallel-ipython/</feedburner:origLink></item>
	</channel>
</rss>
