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

<channel>
	<title>talino.org</title>
	<atom:link href="http://www.talino.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.talino.org</link>
	<description>Permanently under construction</description>
	<lastBuildDate>Sat, 24 Sep 2011 07:42:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Shirts and boots</title>
		<link>http://www.talino.org/blog/shirts-and-boots/</link>
		<comments>http://www.talino.org/blog/shirts-and-boots/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 08:08:12 +0000</pubDate>
		<dc:creator>Tal</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.talino.org/?p=435</guid>
		<description><![CDATA[The use of National Socialist iconography in the admittedly more and more unsettling political debate in Israel seems to have conquered new grounds today, with the publication in Haaretz of this cartoon by Amos Biederman, depicting MK Ze&#8217;ev Elkin shining his boots after passing the vote outlawing calls for boycott of settlements. Although I subscribe [...]]]></description>
			<content:encoded><![CDATA[<p>The use of National Socialist iconography in the admittedly more and more unsettling political debate in Israel seems to have conquered new grounds today, with the publication in Haaretz of this cartoon by Amos Biederman, depicting MK Ze&#8217;ev Elkin shining his boots after passing the vote outlawing calls for boycott of settlements.</p>
<p><a href="http://www.haaretz.co.il/hasite/spages/1234692.html"><img class="size-medium wp-image-436 alignleft" title="biderman-boots" src="http://www.talino.org/wp/wp-content/uploads/2011/07/biderman-boots-300x190.jpg" alt="" width="300" height="190" /></a></p>
<p style="clear: both;">Although I subscribe to M. Biederman&#8217;s view of M. Elkin, it&#8217;s nevertheless interesting to note that this cartoon was published in the same newspaper that was outraged by the depiction of late M. Rabin in S.S. uniform.</p>
<p><a href="http://www.talino.org/wp/wp-content/uploads/2011/07/rabin-shirt.jpg" rel="lightbox[435]"><img class="size-full wp-image-437 alignnone" title="rabin-shirt" src="http://www.talino.org/wp/wp-content/uploads/2011/07/rabin-shirt.jpg" alt="" width="200" height="270" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.talino.org/blog/shirts-and-boots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turning an iPhone/iPad into a studio recording light</title>
		<link>http://www.talino.org/tutorials/turning-an-iphoneipad-into-a-studio-recording-light/</link>
		<comments>http://www.talino.org/tutorials/turning-an-iphoneipad-into-a-studio-recording-light/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 21:19:07 +0000</pubDate>
		<dc:creator>Tal</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[OSC]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[recording]]></category>

		<guid isPermaLink="false">http://www.talino.org/?p=396</guid>
		<description><![CDATA[<a href="/tutorials/turning-an-iphoneipad-into-a-studio-recording-light/"><img class="alignleft" src="/resources/images/tutorials/OSC/OSC-thumb.PNG" alt="" /></a>A functional example of OSC address rewrites: using TouchOSC and OSCulator to add a Recording Light behavior to an iOS device.]]></description>
			<content:encoded><![CDATA[<p>In the last couple of years, two ingenious pieces of software — Camille Troillard&#8217;s <a href="http://www.osculator.net/">OSCulator</a> and Hexler&#8217;s <a href="http://hexler.net/software/touchosc">TouchOSC</a> — have had a tremendous influence on the way musicians, composers and performers can interact with computers. Gone are the days of dedicated hardware controllers, which always seem to either have flimsy knobs, not enough pixels on their LCDs or two or three faders less than the amount you&#8217;d be comfortable with (when they don&#8217;t, they cost <a href="http://www.jazzmutant.com/lemur_overview.php">a couple of thousands of dollars</a>). As with any new and experimental technology, the whole thing is in active development and many concepts are either hard to grasp or difficult to implement. Surprisingly, most of the stuff you&#8217;re likely to need is already working perfectly well and very easy to set up.<br />
<span id="more-396"></span><br />
If you&#8217;ve never tried any of this fancy OSC stuff, please have a look at the official OSCulator and TouchOSC documentation (which are pretty basic and incomplete at this stage). Then experiment with some of your own inventions. Then come back.</p>
<p>One of the difficult things to handle, for me at least, has been bidirectional communication between the interface (TouchOSC) and the sound generator (Logic Pro, in my case). Translating OSC events from TouchOSC to MIDI messages that Logic Pro can understand is fairly easy, thanks to OSCulator. However, getting things such as toggle buttons to work properly and reliably is something that has proven to be somewhat intellectually challenging (in a <a href="http://en.wikipedia.org/wiki/Riemann_hypothesis">relative way</a>, of course). I was therefore quite happy when I discovered I could find still another use for an iPhone, iPod Touch or – better still – iPad: a fully-functional recording light. You&#8217;ve seen it all over the place: the kind of luminescent fixture which says &#8220;ON AIR&#8221; or &#8220;RECORDING&#8221; or something to that effect, and which essentially warns the person about to open the door to the studio that the tape (or what&#8217;s left of it these days) is currently running. This tutorial will show how you can turn your $200-$700 iOS device into a recording light, saving you <a href="http://www.markertek.com/Studio-Gear/Studio-Warning-Lights-Signs/340-ON-AIR.xhtml?MWL-2">at least $111</a> in the process (and helping you show your clientèle how hip, classy or frivolous you are by hanging iPads and iPhones all over your studio).</p>
<p>I&#8217;d also like to point out that TouchOSC is $4,99 and OSCulator is around $20. Plus you get to pick up your recording light at the end of the day to check your mail.</p>
<p><a href="http://www.talino.org/wp/wp-content/uploads/2010/09/OSC-TouchOSC.png" rel="lightbox[396]"><img class="aligncenter size-medium wp-image-398" title="OSC-TouchOSC" src="http://www.talino.org/wp/wp-content/uploads/2010/09/OSC-TouchOSC-300x203.png" alt="" width="300" height="203" /></a></p>
<p>Start by designing your recording light. With the free TouchOSC Editor, this is easy. I named the page &#8220;RecordingLight&#8221;, added a couple of Toggle Buttons (called, surprisingly, &#8220;toggle1&#8243; and &#8220;toggle2&#8243; in my setup). They won&#8217;t be used for input — obviously the recording light will be protected behind a glass fixture. I&#8217;ve also created a &#8220;Label V&#8221; object which will, soon enough, hold a &#8220;RECORDING&#8221; text string (it&#8217;s a V object rather than an H because the entire Layout Orientation is horizontal, a quirk which should someday be fixed). The label&#8217;s text size has been set to 70, but the text string itself is empty, so that nothing is displayed unless recording is taking place. Upload the TouchOSC file into the iOS device as usual.</p>
<p>Now, in Logic Pro, add a Recording Light control surface device (Logic Pro &gt; Preferences &gt; Control Surfaces &gt; Setup&#8230;, then go through New &gt; Install &gt; (other) Recording Light). Set the device&#8217;s Out Port to &#8220;OSCulator In (8000)&#8221; (presuming you&#8217;re using the defaults) and the Input to &#8220;OSCulator Out&#8221;. This makes sure the device&#8217;s bidirectional communication is going through OSCulator.</p>
<p><a href="http://www.talino.org/wp/wp-content/uploads/2010/09/OSC-RecodringLight.png" rel="lightbox[396]"><img class="aligncenter size-medium wp-image-399" title="OSC-RecodringLight" src="http://www.talino.org/wp/wp-content/uploads/2010/09/OSC-RecodringLight-300x103.png" alt="" width="300" height="103" /></a></p>
<p>With this basic setup out of the way, start recording in Logic. If everything is working properly, OSCulator will add a new event based on what it received from Logic. It should be something akin to &#8220;/midi/note/2&#8243; with three parameters (pitch, velocity and trigger). Click on &#8220;0: pitch&#8221; and select Edit &gt; Demux. Then start recording in Logic again. The event in OSCulator will change to the specific note sent by the Recording Light device: &#8220;/midi/note/2 &gt; 25&#8243;.</p>
<p>If you&#8217;d like to know what&#8217;s happening in more detail, use Kurt Revis&#8217; excellent (and free) <a href="http://www.snoize.com/MIDIMonitor/">MIDI Monitor</a> software. This will show you that the &#8220;Recording Light&#8221; control surface in Logic simply sends a C#0 Note On message when recording, and a corresponding Note Off message when recording stops.</p>
<p>Now we need to tell OSCulator to send these events to the two toggle buttons we&#8217;ve created in TouchOSC so that they light up at the proper time. On the &#8220;1: trigger&#8221; line, select the Event Type &#8220;OSC Routing&#8221;. This means we&#8217;ll be translating the MIDI event into a custom address (or destination). Under &#8220;Value&#8221; select New and create a new Rewrite address called &#8220;/RecordingLight/toggle1&#8243; (remember, this is the name we gave to the first toggle button in TouchOSC). Then duplicate the &#8220;1: trigger&#8221; event by pressing Command-D. This allows us to send the trigger to another control, the &#8220;toggle2&#8243; button. Under &#8220;Value&#8221;, select New and add a Rewrite address called &#8220;/RecordingLight/toggle2&#8243;. The toggle buttons in TouchOSC will automatically react properly to Note On and Note Off messages.</p>
<p>Finally, when recording takes place, we&#8217;d want the (initially) empty label we created to say &#8220;RECORDING&#8221;. This should be replaced by an empty string when recording stops and needs to be set up manually. The two different message rewrites will be defined using an option in OSCulator&#8217;s Route Editor. Duplicate the &#8220;1: trigger&#8221; once more and set its Rewrite address to &#8220;/RecordingLight/label1&#8243;. Double-click on the &#8220;Arguments&#8221; cell, delete everything in the Arguments field that pops up and type RECORDING followed by a space. This will have the effect of setting the label1 control to the string &#8220;RECORDING&#8221; whenever recording in engaged in Logic. At the bottom of the window, set &#8220;Route when&#8221; to &#8220;The value goes from 0 to positive&#8221;.</p>
<p>Duplicate the &#8220;1: trigger&#8221; event one last time and set its Value to the new Rewrite address &#8220;/RecordingLight/label1&#8243; with a new argument: Alt-Space (the only way I could figure out of sending an empty string to TouchOSC – it will look a bit funny in OSCulator but it works). Set the options to Route when &#8220;The value goes from positive to 0&#8243;. This will make sure the empty string is set when recording is stopped.</p>
<p>The above setup works flawlessly in Logic. The on/off states of the recording look like this, assuming you&#8217;ve hanged your iOS device somewhere in sight:</p>
<div id="attachment_404" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.talino.org/wp/wp-content/uploads/2010/09/recording0.jpg" rel="lightbox[396]"><img class="size-medium wp-image-404 " title="recording0" src="http://www.talino.org/wp/wp-content/uploads/2010/09/recording0-300x182.jpg" alt="" width="300" height="182" /></a><p class="wp-caption-text">Off</p></div>
<div id="attachment_406" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.talino.org/wp/wp-content/uploads/2010/09/recording11.jpg" rel="lightbox[396]"><img class="size-medium wp-image-406" title="recording1" src="http://www.talino.org/wp/wp-content/uploads/2010/09/recording11-300x210.jpg" alt="" width="300" height="210" /></a><p class="wp-caption-text">On</p></div>
<p>This is a pretty basic application of using TouchOSC to fake an &#8220;official&#8221; control surface in Logic. I was trying to do the same thing with more complex devices, hoping to remote control Logic with a customized interface. By that I mean, of course, proper bidirectional communication (such as getting Cycle, Metronome &amp; Record buttons to stay lit and mirror the state of the sequencer, or displaying SMPTE timecode). Remote controlling Logic with simple one-way messages in TouchOSC is another story, is very easy to do and has been done many times.</p>
<div id="attachment_410" class="wp-caption aligncenter" style="width: 210px"><a href="http://www.talino.org/wp/wp-content/uploads/2010/09/LogicRemote1.png" rel="lightbox[396]"><img class="size-medium wp-image-410" title="LogicRemote" src="http://www.talino.org/wp/wp-content/uploads/2010/09/LogicRemote1-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">A one-way remote controller</p></div>
<p>The devices I&#8217;ve tried to analyze — Mackie Control, Logic Control, iControl and TranzPort — all proved difficult to emulate with the current state of OSCulator and TouchOSC documentation. Whether using SysEx or Continuous Controller events, the above devices&#8217; messaging schemes are a pain to figure out and translate both ways properly (at least in the limited time I have for such experiments). If anyone cares to study further I&#8217;d be glad to hear about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talino.org/tutorials/turning-an-iphoneipad-into-a-studio-recording-light/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New music showcase</title>
		<link>http://www.talino.org/music/new-music-showcase/</link>
		<comments>http://www.talino.org/music/new-music-showcase/#comments</comments>
		<pubDate>Sun, 23 May 2010 13:28:12 +0000</pubDate>
		<dc:creator>Tal</dc:creator>
				<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://www.talino.org/?p=392</guid>
		<description><![CDATA[There is now a separate website showcasing music I&#8217;ve composed for television, as well as some personal projects: www.talzana.com (in French).]]></description>
			<content:encoded><![CDATA[<p>There is now a separate website showcasing music I&#8217;ve composed for television, as well as some personal projects: <a href="http://www.talzana.com">www.talzana.com</a> (in French).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talino.org/music/new-music-showcase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using timecode in Excel</title>
		<link>http://www.talino.org/blog/using-timecode-in-excel/</link>
		<comments>http://www.talino.org/blog/using-timecode-in-excel/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 15:30:42 +0000</pubDate>
		<dc:creator>Tal</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[editing]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[timecode]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.talino.org/?p=213</guid>
		<description><![CDATA[A extremely useful 20-kilobyte Excel macro, programmed in 1996, allows video editors to easily edit timecode spreadsheets.
TC.XLA adds a dozen of new and handy functions that are very simple to use. You can now easily add and subtract timecodes, convert between frame rates and even find the value of a timecode in feet for 16mm or 35mm film. The macro seems to support all standard drop and non-drop frame rates.]]></description>
			<content:encoded><![CDATA[<p>In the mad technological rat race for high-definition, video compression and desktop compositing with infinite layers and undo levels, it&#8217;s not very often that you stumble upon a 20-kilobyte file from 1996 that can change the way you work. In the process of editing documentary films, I spent a while looking for the right way to enter timecode values in an Excel spreadsheet. This can be extremely valuable when working with historical archive footage. Most of the time the editor will be working with files which have &#8220;hard&#8221; timecode (numbers burned-in on top of the image to prevent illegal broadcast). When the film is done, it is usually up to the editor to dress up a list of all the shots he or she has actually used, so that the final footage – a &#8220;clean&#8221; frame, free of timecode – can be ordered from the appropriate footage agency.</p>
<p>If you&#8217;re the organized type, dressing such a list in Excel can be a pain. For each timecode value entered, you have to type three separate colons so as to obtain, e.g. 10:00:00:00 (asking for a clip that starts at 10000000 will usually get you nowhere). Moreover, if you want to do a few basic calculations (e.g. finding the total duration of all footage coming from a particular agency), you have to go through them with a separate timecode calculator and then waste half a day copying and pasting. I&#8217;ve tried to create a formula which would handle all of that but I got lost, quickly, in Excel&#8217;s cryptic syntax. And I didn&#8217;t feel like learning how to program Excel.</p>
<p>Luckily, as often happens on the third paragraph, an easy and effortless solution exists. A Swiss company, <a href="http://www.belle-nuit.com">Belle Nuit Montage</a>, has posted on its website an invaluable little macro which goes by the positively baroque name of <a href="http://www.belle-nuit.com/timecode/index.html">TC.XLA 1.1. (with Drop-Frame)</a>. This little marvel was written more than a decade ago by Matthias Bürcher and will take all timecode formatting and calculating tasks in Excel off your hands. There are versions for Macintosh Excel 4 &amp; 5 – and even DOS! – however the version called &#8220;Macintosh Excel 5, downloadable for OSX&#8221; is working perfectly well in a more up-to-date environment (in my case, Excel 2004 running on OSX Leopard).</p>
<p>Unfortunately, the English version of the webpage comes with very few instructions (the <a href="http://www.belle-nuit.com/timecode/f.html">French version</a> is much more explicit). The idea is very simple: you have to launch the XLA file (either by opening it or by adding it to your default macros). This adds two new styles (which can be found using Format &gt; Styles&#8230;), called <em>Time Code</em> and <em>Time Code DF</em> (for Drop-Frame). All you have to do once you&#8217;ve applied these styles to your cells is to type the timecode without the colons – much like you would do in Final Cut Pro or Avid – i.e. typing 10000000 will result in 10:00:00:00 being displayed. This isn&#8217;t half the story, though.</p>
<div id="attachment_214" class="wp-caption aligncenter" style="width: 348px"><img class="size-full wp-image-214" title="timecode-excel" src="http://www.talino.org/wp/wp-content/uploads/2009/04/timecode-excel.jpg" alt="TC.XLA running in Excel 2004" width="338" height="162" /><p class="wp-caption-text">TC.XLA running in Excel 2004</p></div>
<p>TC.XLA adds a dozen of new and handy functions that are very simple to use. You can now easily add and subtract timecodes, convert between frame rates and even find the value of a timecode in feet for 16mm or 35mm film. The macro seems to support all standard drop and non-drop frame rates, although I&#8217;ve only worked with it in 25fps (which is the rate the code defaults to if you don&#8217;t specify another one).</p>
<p>The syntax for the functions is very simple and is described on the Belle Nuit Montage website. As an example, entering &#8220;TCminus(E4;D4)&#8221; into a cell will give you the timecode difference between the values in E4 and D4. Presuming the two cells represent IN and OUT points, the result is obviously the duration of the shot. You can then easily add up a list of those durations with TCsum. This last function doesn&#8217;t seem to refresh properly when changing values upstream, but forcing a recalculation (Command-=) solves the problem. This is a minor niggle, though, compared to the ease of use and practical value of this tiny piece of free software.</p>
<p>Update: The above works fine for Excel 2008 as well, however you must press Command-Option-T after creating your workbook in order to enable the macro. The status line should respond with &#8220;TC-XLA 1.1&#8243; followed by a URL to confirm this.</p>
<p>Update II (May 21st, 2010): To all current and future commenters, please understand that <em><strong>I cannot offer support</strong></em> for this plugin because <em><strong>I haven&#8217;t programmed it</strong></em>. It is apparently a hit and miss affair, some people having lots of luck with it and others getting quite frustrated with the whole thing. I myself can&#8217;t understand why the macro behaves the way it does. I&#8217;ve emailed the author, suggesting to upgrade the plugin, but apparently <em><strong>it cannot be upgraded</strong></em> and &#8220;somebody would need to write it from scratch using VBA&#8221;. There is, honestly, nothing more I can do about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talino.org/blog/using-timecode-in-excel/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Install Python 2.6.1 without trashing Ubuntu</title>
		<link>http://www.talino.org/tutorials/install-python-261-without-trashing-ubuntu/</link>
		<comments>http://www.talino.org/tutorials/install-python-261-without-trashing-ubuntu/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 20:33:01 +0000</pubDate>
		<dc:creator>Tal</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.talino.org/?p=105</guid>
		<description><![CDATA[<a href="/tutorials/install-python-261-without-trashing-ubuntu/"><img class="alignleft" src="/resources/images/tutorials/python261-ubuntu/thumbs/python261-ubuntu.jpg" alt="" /></a>Getting an independent Python 2.6.1 version running smoothly on <a href="http://www.ubuntu.com/">Ubuntu 8.10 ("Intrepid")</a>, without interfering with the system's reliance on Python 2.5 and without breaking the entire package dependency system.]]></description>
			<content:encoded><![CDATA[<p><a href="/tutorials/install-python-261-without-trashing-ubuntu/"><img class="alignleft" src="/resources/images/tutorials/python261-ubuntu/thumbs/python261-ubuntu.jpg" alt="" /></a>After <a href="http://python-forum.org/pythonforum/viewtopic.php?f=1&amp;t=10870&amp;start=0&amp;sid=a3a82a1171e4cd15e6544735d79d9f56">several</a> <a href="http://python-forum.org/pythonforum/viewtopic.php?f=1&amp;t=10924&amp;start=0&amp;sid=a3a82a1171e4cd15e6544735d79d9f56">trials</a> and <a href="http://python-forum.org/pythonforum/viewtopic.php?f=1&amp;t=10958&amp;start=0&amp;sid=a3a82a1171e4cd15e6544735d79d9f56">tribulations</a>, I finally managed to get an independent Python 2.6.1 version running smoothly on <a href="http://www.ubuntu.com/">Ubuntu 8.10 (&#8220;Intrepid&#8221;)</a>, without interfering with the system&#8217;s reliance on Python 2.5 and without breaking the entire package dependency system. The procedure described here has been successfully carried out on the <a href="http://www.geteasypeasy.com/">Easy Peasy</a> distribution of Ubuntu (ex-&#8221;Ubuntu-eee&#8221;), specifically tailored for the <a href="http://eeepc.asus.com/">Asus EEE-PC</a>. It should work, though, with any other 8.10 version of Ubuntu. It has also been tested successfully on Ubuntu 8.04 (&#8220;Hardy&#8221;).<br />
<span id="more-105"></span><br />
A lot of the following information will be obvious to people with a thorough knowledge of both Linux and Python. However, coming from Mac OSX, things haven&#8217;t been that obvious. For the poor souls who will be frantically googling for &#8220;zlib&#8221;, &#8220;zipimport.ZipImportError&#8221;, &#8220;setuptools&#8221;, &#8220;ipython&#8221;, &#8220;readline&#8221; and &#8220;ubuntu&#8221;, I offer a series of steps which, so far, haven&#8217;t disturbed the operating system and allow one to run the essential <a href="http://ipython.scipy.org/moin/">IPython</a> environment (and a lot more) without pulling one&#8217;s hair out. It&#8217;s actually quick and easy and involves no hacking whatsoever (I wouldn&#8217;t know how to hack either Python or Linux anyhow).</p>
<p>DISCLAIMER: My knowledge of linux is superficial. I write the following with the intent of helping out newbies such as myself. Do not hold me reponsible if you follow my method and end up with a system that&#8217;s pushing up the daisies.</p>
<p>NOTE: This method has been tested on <a href="http://www.gnome.org/">GNOME</a>, the default desktop environment for my distribution. I haven&#8217;t tried it with <a href="http://www.kde.org/">KDE</a> and, now that it&#8217;s finally working, I don&#8217;t think I will.</p>
<p>ACKNOWLEDGEMENT: I would never have gotten Python 2.6.1 and Ubuntu to work together if it hadn&#8217;t been for the precious help of wacky, a member of the <a href="http://www.python-forum.org/pythonforum/index.php">Python forum</a>, who saw me through several nightmarish reinstallations of both Ubuntu and Python. Several of his suggestions have been incorporated into the steps below.</p>
<p>I suggest you read through the entire list of steps so that you have an idea of what&#8217;s going to happen before actually running any command.</p>
<ol>
<li>Install a fresh copy of Ubuntu 8.10 if your system has been hopelessly pulverized by repeated tests, errors and packages scattered in the wrong places.</li>
<li>Before doing anything directly related to Python, you need to install the packages listed below. The list is an amalgam of several suggestions I found around the web, so one package or more might not be absolutely essential. But since it works, here&#8217;s the list:
<ul>
<li>build-essential</li>
<li>libncursesw5-dev</li>
<li>libreadline5-dev</li>
<li>libssl-dev</li>
<li>libgdbm-dev</li>
<li>libbz2-dev</li>
<li>libc6-dev</li>
<li>libsqlite3-dev</li>
<li>libdb-dev</li>
<li>tk-dev</li>
</ul>
<p>The easiest way to install a package is to use the <em>aptitude</em> command. Make sure you&#8217;re connected to the internet, open a terminal session and type the following: <code>sudo aptitude install package-name</code> You will be prompted for your password the first time you invoke the <em>sudo</em> command, which executes everything typed after it as a &#8220;superuser&#8221; (or &#8220;root&#8221; user). Instead of entering the command for each and every package, you can may prefer to enter them all at once (all of the following should be typed on a single line): <code>sudo aptitude install build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdbm-dev libbz2-dev libc6-dev libsqlite3-dev libdb-dev tk-dev</code></li>
<li>Download and extract the <a href="http://www.python.org/download/">Python 2.6.1 source</a>. From inside the source directory, enter (still and always, one single line):<br />
<code>./configure --prefix=/home/yourusername/python/2.6</code>This will setup Python to install into a &#8216;python/2.6&#8242; directory inside your home directory, far away from anything system-like. You may choose to simply name the directory &#8216;python&#8217;, but the &#8217;2.6&#8242; subdirectory will help separate the installation from yet another custom setup, such as version 3.0, if you ever need to install one. Note, though, that this doesn&#8217;t mean I&#8217;ve tested the steps described in this tutorial with Python 3.0.</li>
<li>Compile Python with the standard command:<code>make</code>When the compile process finishes, read the few last lines it printed: you might get a couple of modules which can&#8217;t be found. I don&#8217;t remember their names but from searching around I gather that a lot of people can&#8217;t seem to find them and that nobody really cares. Most importantly, make sure that you don&#8217;t get a module missing error for <em>zlib</em> or <em>readline</em>, which are essential for the following steps. The packages installed previously will have taken care of that, though.</li>
<li>Install Python. I tried to do a <em>make altinstall</em> (after going through the Python source readme file), but for some reason I ended up without an executable. So just go through a regular install. Since you&#8217;re installing the Python files into your home directory, you don&#8217;t need to use <em>sudo</em>:<br />
<code>make install</code></li>
<li>Now, if you enter <em>python</em> in the terminal you should get the default Python version that comes with Ubuntu (currently 2.5.2). Typing <em>which python</em> should point to /usr/bin/python, not to the directory you just installed 2.6.1 into. All of this is normal and is actually what you&#8217;re looking for.</li>
<li>Optional: if you need an additional Python module (such as <a href="http://numpy.scipy.org/">Numpy</a>), install it from its source directory by typing: <code>/home/yourusername/python/2.6/bin/python setup.py install --prefix=/home/yourusername/python/2.6</code> This runs the setup script using the 2.6.1 interpreter and installs the module into the 2.6.1 directory structure (since we&#8217;re using the same prefix we specified when installing Python itself).</li>
<li>Create a symbolic link to the 2.6.1 interpreter so that the next step doesn&#8217;t blow up in your face: <code>sudo ln -s /home/yourusername/python/2.6/bin/python /usr/local/bin/python2.6</code> It is important that you <strong>do not</strong> use a different name of your fancy for the link. Now, if you enter <em>python</em> you&#8217;ll still have 2.5.2, whereas entering <em>python2.6</em> will launch, well, 2.6.1. This will also make sure that non-system versions of Python have to be run explicitly. Keeping the &#8216;python&#8217; command reserved for the exclusive use of the system&#8217;s Python version is likely to avoid headaches in the future.</li>
<li>In order to use the <em>easy_install</em> command which facilitates the installation of additional modules, you first need to install <a href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools</a>: download the <a href="http://pypi.python.org/pypi/setuptools#downloads">egg file</a> for Python 2.6 and enter: <code>sh setuptools-0.6c9-py2.6.egg</code> This is the reason why the symbolic link created in the previous step must be called &#8216;python2.6&#8242; (the setuptools script runs a <em>python2.6 exec</em> command and will complain about a missing 2.6 version if it&#8217;s not linked with &#8216;python2.6&#8242;).</li>
<li>Optional but highly recommended: install <a href="http://ipython.scipy.org/moin/">IPython</a>, an enhanced command-line environment for Python. Do not download anything manually. With <em>setuptools</em> installed, you can simply go into your Python <em>bin</em> directory (with <em>cd /home/yourusername/python/2.6/bin</em>) and type: <code>./easy_install IPython</code>Apparently you may also enter the following directly, which saves you the directory switching part: <code>easy_install-2.6 IPython</code> I haven&#8217;t tried it myself, though. Anyway, download and install will be automatic.</li>
<li>You have to add the path to IPython to your terminal environment, so that the executable can be launched from any directory. Add the following line to the end of the <em>.bashrc</em> file which is located in your home directory. <code>PATH=$PATH:/home/yourusername/python/2.6/bin</code> I suppose you could create a symbolic link instead but i haven&#8217;t tried it.</li>
<li>If you use <a href="http://www.geany.org/">Geany</a> for Python development, you need to edit one of its configuration files so that the application&#8217;s <em>Run</em> command executes the proper interpreter: <code>sudo gedit /usr/share/geany/filetypes.python</code> Modify the <em>run_cmd</em> line to read: <code>run_cmd=python2.6 "%f"</code> This will use the symbolic link you created earlier.</li>
</ol>
<p>You can now run IPython, develop in the Geany IDE, and still install packages through aptitude or the Synaptic Package Manager without all hell breaking loose. If you&#8217;re using a tiny screen and touchpad I strongly recommend installing <a href="http://do.davebsd.com/">GNOME Do</a> to avoid mousing around too much. Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talino.org/tutorials/install-python-261-without-trashing-ubuntu/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

