<?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>biotext.org.uk &#187; Andrew</title>
	<atom:link href="http://biotext.org.uk/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://biotext.org.uk</link>
	<description>Not a typewriter</description>
	<lastBuildDate>Wed, 08 Sep 2010 17:47:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Posting to Twitter automatically using OAuth</title>
		<link>http://biotext.org.uk/posting-to-twitter-automatically-using-oauth/</link>
		<comments>http://biotext.org.uk/posting-to-twitter-automatically-using-oauth/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 12:44:30 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=502</guid>
		<description><![CDATA[Twitter recently switched off basic HTTP authentication, forcing developers to use the more complex (but hopefully safer) OAuth. There are lots of OAuth examples out there, but they all seem to focus on interactive apps, where the user is sent to Twitter to authenticate, and then the app uses the resulting access token to post [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter <a href="http://blog.twitter.com/2010/06/switching-to-oauth.html">recently switched off basic HTTP authentication</a>, forcing developers to use the more complex (but hopefully safer) OAuth. There are lots of OAuth examples out there, but they all seem to focus on interactive apps, where the user is sent to Twitter to authenticate, and then the app uses the resulting <strong>access token</strong> to post on the user&#8217;s behalf.</p>
<p>However, for <a href="http://funcnet.eu/">FuncNet</a> we have a simple script running in a cron job, which posts a status message to <a href="http://twitter.com/FuncNet">@FuncNet</a> every so often. This runs without any supervision, so I was left scratching my head as to how I could obtain the access token and <strong>access token secret</strong> required to post. The app registration page at http://twitter.com/oauth_clients/details/<em>NNNNNN</em> for each app only shows its <strong>consumer key</strong> and <strong>consumer secret</strong> which are something different.</p>
<p>Eventually, thanks to <a href="http://search.cpan.org/dist/Net-Twitter/">Net::Twitter</a> developer Marc Mims on <a href="http://groups.google.com/group/twitter-development-talk/browse_thread/thread/160cb4d3f20ef61">this thread</a>, I discovered that there&#8217;s a whole separate page for each app at http://dev.twitter.com/apps/<em>NNNNNN</em>/my_token which has the access token and access token secret required for the app to post to its own account.</p>
<p>N.B. In the URLs above, <em>NNNNNN</em> corresponds to the numeric ID for your application. If you don&#8217;t know what this is, just go to http://dev.twitter.com/apps, click on the app name to get the consumer strings, and then click on My Access Token to get the access strings.</p>
<p>Once you have these, you can post like this (thanks again to Marc for example):</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">use</span> Net<span style="color: #339933;">::</span><span style="color: #006600;">Twitter</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$nt</span> <span style="color: #339933;">=</span> Net<span style="color: #339933;">::</span><span style="color: #006600;">Twitter</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>
        traits <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>OAuth API<span style="color: #339933;">::</span><span style="color: #006600;">REST</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
        consumer_key        <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$YOUR_CONSUMER_KEY</span><span style="color: #339933;">,</span>
        consumer_secret     <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$YOUR_CONSUMER_SECRET</span><span style="color: #339933;">,</span>
        access_token        <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$YOUR_ACCESS_TOKEN</span><span style="color: #339933;">,</span>
        access_token_secret <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$YOUR_ACCESS_SECRET</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #0000ff;">$nt</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">update</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Bob's your uncle!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Why you need 4 distinct incomprehensible strings in order to post a single tweet, I don&#8217;t know, but presumably it&#8217;s justified on security grounds. What <em>isn&#8217;t</em> justified is Twitter hiding two of them somewhere else entirely, and not linking to that place from the main OAuth page for the app.</p>
<p>Not useful, guys.</p>
<p><strong>UPDATE:</strong> It seems there are bigger problems with Twitter&#8217;s new process. This <a href="http://arstechnica.com/security/guides/2010/09/twitter-a-case-study-on-how-to-do-oauth-wrong.ars/">detailed ArsTechnica article</a> describes OAuth 1.0a as &#8220;an inelegant hack&#8221; and Twitter&#8217;s implementation of it as being &#8220;against all reason&#8221;.</p>
<p>If you&#8217;re having trouble with it, you&#8217;re not alone; it seems almost designed to cause problems for app developers, and particularly open-source app developers. The article&#8217;s well worth a read.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/posting-to-twitter-automatically-using-oauth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Spotify on Fedora 13</title>
		<link>http://biotext.org.uk/installing-spotify-on-fedora-13/</link>
		<comments>http://biotext.org.uk/installing-spotify-on-fedora-13/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 11:52:55 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[spotify]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=496</guid>
		<description><![CDATA[I&#8217;ve recently taken possession of a flashy new workstation running Fedora, and with joy in my heart went to install Spotify on it, only to discover&#8230; Noooo&#8230; They only offer .deb packages for Debian and Ubuntu. Thankfully, the solution was easier than I thought. Do all the following as root&#8230; 1. Install dpkg, the Debian [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently taken possession of a flashy new workstation running Fedora, and with joy in my heart went to install <a href="http://www.spotify.com/uk/download/previews/">Spotify</a> on it, only to discover&#8230; Noooo&#8230; They only offer .deb packages for Debian and Ubuntu.</p>
<p>Thankfully, the solution was easier than I thought. Do all the following as root&#8230;</p>
<p>1. Install dpkg, the Debian package management tool:</p>
<p><code>yum install dpkg</code></p>
<p>2. Download the base package for your architecture, and the gnome support package, from here:</p>
<p><a href="http://repository.spotify.com/pool/non-free/s/spotify/">http://repository.spotify.com/pool/non-free/s/spotify/</a></p>
<p>3. Create a temp directory, and unpack them there (we want to check for clashes):</p>
<p><code>mkdir spotify<br />
cd spotify<br />
dpkg -x ../spotify-client-qt_0.4.7.132.g9df34c0-1_amd64.deb .<br />
dpkg -x ../spotify-client-gnome-support_0.4.7.132.g9df34c0-1_all.deb .</code></p>
<p>4. This gives you a directory tree starting at <code>/usr</code>. You can check for clashes like this:</p>
<p><code>find -not -type d -exec ls -l /'{}' \;</code></p>
<p>&#8230; and make sure there&#8217;s no files found.</p>
<p>5. Then re-extract them into your root partition (hence checking for clashes first):</p>
<p><code>dpkg -x ../spotify-client-qt_0.4.7.132.g9df34c0-1_amd64.deb /<br />
dpkg -x ../spotify-client-gnome-support_0.4.7.132.g9df34c0-1_all.deb /</code></p>
<p>6. Finally, we need to manually install qt-x11 as this dependency is needed:</p>
<p><code>yum install qt-x11</code></p>
<p>7. Then just type <code>spotify</code> and log in!</p>
<p>Seems pretty stable so far, apart from a couple of minor glitches.</p>
<p><strong>EDIT:</strong> As suggested by Tyson Key in <a href="http://getsatisfaction.com/spotify/topics/spotify_on_fedora_13_audio_skips">this thread</a>, I got rid of the audio glitches by starting the PulseAudio volume control (<code>/usr/bin/pavucontrol</code>) before Spotify. Maybe this adds some buffering or something.</p>
<p><em>N.B. I take no responsibility if this process damages your computer, your music collection, your hearing or your sanity. Try at your own risk <img src='http://biotext.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/installing-spotify-on-fedora-13/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tunnelling a connection through 2 servers via ssh</title>
		<link>http://biotext.org.uk/tunnelling-a-connection-through-2-servers-via-ssh/</link>
		<comments>http://biotext.org.uk/tunnelling-a-connection-through-2-servers-via-ssh/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 19:19:28 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=490</guid>
		<description><![CDATA[This took a bit of head-scratching, so for future reference, or anyone else looking: Say I am working outside the office firewall, on a machine called home, and I need to get into a MySQL server inside it. (Doesn&#8217;t have to be MySQL, but just for argument&#8217;s sake.) There&#8217;s a machine called gateway I can [...]]]></description>
			<content:encoded><![CDATA[<p>This took a bit of head-scratching, so for future reference, or anyone else looking:</p>
<p>Say I am working outside the office firewall, on a machine called <code>home</code>, and I need to get into a MySQL server inside it. (Doesn&#8217;t have to be MySQL, but just for argument&#8217;s sake.)</p>
<p>There&#8217;s a machine called <code>gateway</code> I can ssh to and tunnel through, but for security reasons, the database server <code>mysql</code> doesn&#8217;t accept connections from <code>gateway</code> directly. But my desktop machine at the office (err&#8230; <code>desktop</code>) can connect to <code>mysql</code>.</p>
<p>One way round it is to ssh from <code>home</code> to <code>gateway</code> and forward a port on <code>gateway</code> to the ssh server on <code>desktop</code>:</p>
<pre>
home $ ssh -L 2222:desktop.example.org:22 -tAY gateway.example.org
</pre>
<p>And then in another terminal, ssh from <code>home</code> to <code>desktop</code> via this tunnel, forwarding another port on <code>home</code> to the incoming connections port on <code>mysql</code> (3306 in MySQL&#8217;s case usually):</p>
<pre>
home $ ssh -p 2222 -L 23306:mysql.example.org:3306 127.0.0.1
</pre>
<p>This time, you&#8217;re connecting to <code>home</code> port 2222, but because of the first command, this forwards you straight to <code>desktop</code> port 22.</p>
<p>Now both tunnels are in place, you can just connect to port 23306 on <code>home</code> and arrive by magic at <code>mysql</code>. In another terminal (or from your MySQL GUI):</p>
<pre>
home $ mysql -uUSER -pPASS -h127.0.0.1 -P23306
</pre>
<p>This example shows a tunnel-within-a-tunnel. There should be a way to make this work using end-to-end tunnelling instead, I tried but didn&#8217;t get anywhere. But that might be due to ssh server restrictions on our equivalent of <code>gateway</code>.</p>
<p>If none of this means anything, there&#8217;s an <a href="http://magazine.redhat.com/2007/11/06/ssh-port-forwarding/">intro to ssh port forwarding here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/tunnelling-a-connection-through-2-servers-via-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best new feature in Eclipse 3.6 Helios</title>
		<link>http://biotext.org.uk/best-new-feature-in-eclipse-3-6-helios/</link>
		<comments>http://biotext.org.uk/best-new-feature-in-eclipse-3-6-helios/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 13:20:44 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[LJC]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=487</guid>
		<description><![CDATA[&#8230; is hidden away on the last tab of the Java Formatting Profile editor (Preferences -> Java -> Code Style -> Formatter -> Edit). They&#8217;ve finally (after nearly six years) added the ability to temporarily turn the code formatter off for a tricksy block that needs its own custom formatting. e.g.: // @formatter:off xml .append&#40; [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; is hidden away on the last tab of the Java Formatting Profile editor (Preferences -> Java -> Code Style -> Formatter -> Edit).</p>
<p>They&#8217;ve finally (after <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76435">nearly six years</a>) added the ability to temporarily turn the code formatter off for a tricksy block that needs its own custom formatting. e.g.:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">			<span style="color: #666666; font-style: italic;">// @formatter:off</span>
			xml
			.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;&lt;node id='&quot;</span> <span style="color: #009900;">&#41;</span>
			.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span> protein <span style="color: #009900;">&#41;</span>
			.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;'&gt;&lt;data key='class'&gt;&quot;</span> <span style="color: #009900;">&#41;</span>
			.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span> cls <span style="color: #009900;">&#41;</span>
			.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;&lt;/data&gt;&lt;data key='label'&gt;&quot;</span> <span style="color: #009900;">&#41;</span>
			.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span> protein <span style="color: #009900;">&#41;</span>
			.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;&lt;/data&gt;&lt;/node&gt;&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">// @formatter:on</span></pre></div></div>

<p>See the Off/On Tags tab for details.</p>
<p>Nice one guys&#8230; Eventually.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/best-new-feature-in-eclipse-3-6-helios/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BioGeeks tech meet, Science HackDay special</title>
		<link>http://biotext.org.uk/biogeeks-tech-meet-science-hackday-special/</link>
		<comments>http://biotext.org.uk/biogeeks-tech-meet-science-hackday-special/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 09:23:31 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[open science]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=475</guid>
		<description><![CDATA[This month&#8217;s BioGeeks meeting at KCL is on Friday, June 18th, to coincide with the Science HackDay taking place over the weekend. We have a special guest this month, Cameron Neylon, with an open-science-themed talk entitled &#8220;What have the public done for us?&#8221; Plus lightning talks on various subjects. In other news, I&#8217;ve moved the [...]]]></description>
			<content:encoded><![CDATA[<p>This month&#8217;s <a href="http://biogeeks.wordpress.com/2010/06/02/june-tech-meet-fri-18th-kcl/">BioGeeks meeting at KCL</a> is on Friday, June 18th, to coincide with the <a href="http://sciencehackday.com/">Science HackDay</a> taking place over the weekend.</p>
<p>We have a special guest this month, <a href="http://cameronneylon.net/">Cameron Neylon</a>, with an open-science-themed talk entitled &#8220;What have the public done for us?&#8221; Plus lightning talks on various subjects.</p>
<p>In other news, I&#8217;ve moved the blog over to the much cleaner and airier <a href="http://www.plaintxt.org/themes/barthelme/">Barthelme</a> theme. Drop a comment if it gives you any problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/biogeeks-tech-meet-science-hackday-special/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>London BioGeeks &#8212; May Tech Meet is next week</title>
		<link>http://biotext.org.uk/london-biogeeks-may-tech-meet-is-next-week/</link>
		<comments>http://biotext.org.uk/london-biogeeks-may-tech-meet-is-next-week/#comments</comments>
		<pubDate>Thu, 13 May 2010 16:11:52 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[bioinformatics]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=470</guid>
		<description><![CDATA[The May tech meet is on Thursday 20th at Imperial College. This month&#8217;s speakers: Catherine Canevet &#8212; Ondex: Data integration and visualisation Christopher Barnes &#8212; ABC-SysBio: Approximate Bayesian Computation in Python with GPU support N. Purswani, L. Tweedy, Z. Patel, C. Suriel-Melchor &#8212; DASbrick: A cloud based Rich internet application for Synthetic Biology Parts Registries [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://biogeeks.wordpress.com/2010/05/07/may-tech-meet/">May tech meet</a> is on Thursday 20th at Imperial College.</p>
<p>This month&#8217;s speakers:</p>
<p><a href="http://www.rothamsted.bbsrc.ac.uk/Research/Centres/PersonDetails.php?PIID=5497">Catherine Canevet</a> &#8212; <a href="http://ondex.org/">Ondex</a>: Data integration and visualisation</p>
<p><a href="http://www3.imperial.ac.uk/theoreticalsystemsbiology/people/christopherbarnes">Christopher Barnes</a> &#8212; <a href="http://abc-sysbio.sourceforge.net/">ABC-SysBio</a>: Approximate Bayesian Computation in Python with GPU support</p>
<p>N. Purswani, L. Tweedy, Z. Patel, C. Suriel-Melchor &#8212; DASbrick: A cloud based Rich internet application for Synthetic Biology Parts Registries</p>
<p>Does anyone have a link for DASbrick?</p>
<p>Drinks afterwards at Imperial&#8217;s Eastside Bar. See <a href="http://biogeeks.wordpress.com/2010/05/07/may-tech-meet/">the BioGeeks blog</a> for full details.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/london-biogeeks-may-tech-meet-is-next-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back up all MySQL databases to separate files</title>
		<link>http://biotext.org.uk/back-up-all-mysql-databases-to-separate-files/</link>
		<comments>http://biotext.org.uk/back-up-all-mysql-databases-to-separate-files/#comments</comments>
		<pubDate>Thu, 13 May 2010 12:24:47 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=463</guid>
		<description><![CDATA[Note to self &#8212; so I don&#8217;t have to think about it again next time. #!/bin/bash export MYSQL_PWD=myrootpassword BACKUP_DIR=/mnt/backups/mysql_backups DATE=`date -I` for dbname in `mysql -uroot --batch --skip-column-names -e &#34;show databases;&#34; &#124; grep -v information_schema`; do /usr/local/bin/mysqldump -u root $dbname &#124; gzip -9 &#62; $BACKUP_DIR/$dbname-$DATE.sql.gz done &#160; # Clear backups older than 7 days /usr/local/bin/find [...]]]></description>
			<content:encoded><![CDATA[<p>Note to self &#8212; so I don&#8217;t have to think about it again next time.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">MYSQL_PWD</span>=myrootpassword
<span style="color: #007800;">BACKUP_DIR</span>=<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>backups<span style="color: #000000; font-weight: bold;">/</span>mysql_backups
<span style="color: #007800;">DATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> -I<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">for</span> dbname <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span>mysql <span style="color: #660033;">-uroot</span> <span style="color: #660033;">--batch</span> <span style="color: #660033;">--skip-column-names</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;show databases;&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> information_schema<span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span>
	<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>mysqldump <span style="color: #660033;">-u</span> root <span style="color: #007800;">$dbname</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">gzip</span> <span style="color: #660033;">-9</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$BACKUP_DIR</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$dbname</span>-<span style="color: #007800;">$DATE</span>.sql.gz
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Clear backups older than 7 days</span>
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #007800;">$BACKUP_DIR</span><span style="color: #000000; font-weight: bold;">/*</span>.sql.gz <span style="color: #660033;">-mtime</span> +<span style="color: #000000;">7</span> <span style="color: #660033;">-delete</span></pre></div></div>

<p>Edited to include compression. Remember to include full paths if you&#8217;re running it from a crontab, just in case.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/back-up-all-mysql-databases-to-separate-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome (actually Chromium) on Centos</title>
		<link>http://biotext.org.uk/google-chrome-actually-chromium-on-centos/</link>
		<comments>http://biotext.org.uk/google-chrome-actually-chromium-on-centos/#comments</comments>
		<pubDate>Wed, 12 May 2010 13:25:19 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=461</guid>
		<description><![CDATA[Joy at last! Chris Staite from the University of Birmingham has built a statically-linked version of Chromium, the open source version of Google&#8217;s Chrome browser, for Centos. You can get it from here. I was getting so sick of Firefox&#8217;s slowness and bloat, and Chromium is so much snappier, and more memory-efficient too. Although to [...]]]></description>
			<content:encoded><![CDATA[<p>Joy at last!</p>
<p>Chris Staite from the University of Birmingham has built a statically-linked version of Chromium, the open source version of Google&#8217;s Chrome browser, for Centos.</p>
<p>You can <a href="http://www.cs.bham.ac.uk/~cxs548/chrome">get it from here</a>.</p>
<p>I was getting so sick of Firefox&#8217;s slowness and bloat, and Chromium is so much snappier, and more memory-efficient too.</p>
<p>Although to be fair, I don&#8217;t have nearly so many extensions installed yet&#8230;</p>
<p>It should just work out of the box with no extra dependencies to install. I&#8217;m using 64-bit Centos 5.4, and although it&#8217;s a 32-bit app, it seems entirely happy so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/google-chrome-actually-chromium-on-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take Back Parliament demonstration &#8212; Sat 8 May</title>
		<link>http://biotext.org.uk/take-back-parliament-demonstration-sat-8-may/</link>
		<comments>http://biotext.org.uk/take-back-parliament-demonstration-sat-8-may/#comments</comments>
		<pubDate>Fri, 07 May 2010 11:02:17 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=457</guid>
		<description><![CDATA[As someone who works with numbers, I&#8217;ve known for ages the electoral system in the UK is a very poor model. The distribution of votes across the parties correlates very badly with the distribution of seats they get in return. It&#8217;s possible, and not uncommon, for a party&#8217;s overall vote share to go down and [...]]]></description>
			<content:encoded><![CDATA[<p>As someone who works with numbers, I&#8217;ve known for ages the electoral system in the UK is a very poor model.</p>
<p>The distribution of <strong>votes</strong> across the parties correlates very badly with the distribution of <strong>seats</strong> they get in return.</p>
<p>It&#8217;s possible, and not uncommon, for a party&#8217;s overall vote share to go down and yet its parliamentary influence to go up, or vice versa.</p>
<p>After years of adversarial flip-flopping, the system&#8217;s thrown up a result which <em>nobody</em> seems to be satisfied with, regardless of their party affiliation. (Except maybe the Greens <img src='http://biotext.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>There are electoral reform demonstrations happening tomorrow, in London and all across the country:</p>
<p><a href="http://www.takebackparliament.com/">http://www.takebackparliament.com/</a></p>
<p>If you can spare a few hours to go along, hopefully we can get a good turnout and make the case for <em>real</em> change while it&#8217;s still very topical &#8212; not the waffly kind of change that politicians promise every time and never deliver.</p>
<p>I&#8217;ll be in Trafalgar Square from 2pm.</p>
<p>Andrew.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/take-back-parliament-demonstration-sat-8-may/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>London BioGeeks &#8212; April Tech Meet</title>
		<link>http://biotext.org.uk/london-biogeeks-april-tech-meet/</link>
		<comments>http://biotext.org.uk/london-biogeeks-april-tech-meet/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 10:59:31 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[bioinformatics]]></category>

		<guid isPermaLink="false">http://biotext.org.uk/?p=452</guid>
		<description><![CDATA[This month&#8217;s tech meet is at 6pm on 21st April at University College London. We have talks from&#8230; Alison Cuff, UCL The CATH database &#8212; Structural Diversity and the Question of the Fold Continuum Andrew Martin, UCL SAPTF &#8212; Sequence Analysis Plugin Tool Framework John Pinney, Imperial College GLASS &#8212; Gene LAyout by Semantic Similarity [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This month&#8217;s tech meet is at 6pm on 21st April at University College London.</strong></p>
<p>We have talks from&#8230;</p>
<p><em>Alison Cuff, UCL</em></p>
<p>The CATH database &#8212; Structural Diversity and the Question of the Fold Continuum</p>
<p><em>Andrew Martin, UCL</em></p>
<p>SAPTF &#8212; Sequence Analysis Plugin Tool Framework</p>
<p><em>John Pinney, Imperial College</em></p>
<p>GLASS &#8212; Gene LAyout by Semantic Similarity</p>
<p>Followed by <strong>drinks at 7:30-ish</strong> at the <a href="http://www.yelp.co.uk/biz/college-arms-london">College Arms</a>.</p>
<p>Full details, maps, directions etc. are <a href="http://biogeeks.wordpress.com/2010/03/18/april-tech-meet/">on the BioGeeks blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://biotext.org.uk/london-biogeeks-april-tech-meet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
