<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Computational linguistics researcher at Kyoto University, focussing on machine translation. Also learning Japanese, Korean, French and other badassery.
(日本語版)</description><title>Ben Humphreys</title><generator>Tumblr (3.0; @benhumphreys)</generator><link>http://blog.benhumphreys.co.uk/</link><item><title>Someone disconnects completely from technology for 90 days....</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/dpDQONK5-qI?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Someone disconnects completely from technology for 90 days. I’d love to be able to do this, but it’s kind of impossible.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/17233282464</link><guid>http://blog.benhumphreys.co.uk/post/17233282464</guid><pubDate>Wed, 08 Feb 2012 08:40:37 +0900</pubDate><category>video</category><category>tech</category></item><item><title>I haven’t been drunk in 3 years... and I’ve been partying way more than you.</title><description>&lt;a href="http://hellobubs.com/post/17052863136/i-havent-been-drunk-in-3-years-and-ive-been"&gt;I haven’t been drunk in 3 years... and I’ve been partying way more than you.&lt;/a&gt;</description><link>http://blog.benhumphreys.co.uk/post/17149132511</link><guid>http://blog.benhumphreys.co.uk/post/17149132511</guid><pubDate>Mon, 06 Feb 2012 19:44:46 +0900</pubDate></item><item><title>Fast Ruby Parsers</title><description>&lt;a href="http://www.ruby-forum.com/topic/3444183"&gt;Fast Ruby Parsers&lt;/a&gt;: &lt;p&gt;This thread mentions a bunch of Ruby parsers, with the focus on being fast for small languages. This is more for my own future reference than anything, it’s a great summary.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/16852641462</link><guid>http://blog.benhumphreys.co.uk/post/16852641462</guid><pubDate>Wed, 01 Feb 2012 14:38:44 +0900</pubDate><category>ruby</category><category>programming</category><category>wiki</category></item><item><title>Parsing Wiki Text (Part 2)</title><description>&lt;p&gt;More on parsing Wikipedia markup. So you’ve abandoned the idea of using regular expressions to parse the markup, congratulations.
This should save yourself from &lt;a href="http://stackoverflow.com/a/1732454/392350"&gt;insanity and oblivion&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mwlib&lt;/code&gt; is a Python library for parsing Wiki markup. It seems semi-official. Whatever, it’s what we’re going to use.
It can parse the zipped XML dumps as I’ve shown in &lt;a href="http://blog.benhumphreys.co.uk/post/16143156652/print-wiki-parse-tree-with-mwlib"&gt;previous&lt;/a&gt; &lt;a href="http://blog.benhumphreys.co.uk/post/15939798644/parsing-wiki-text-part-1"&gt;tutorials&lt;/a&gt;.
However you have to provide it with an ariticle name, and today we’re feeling more &lt;strong&gt;John Wayne&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;How can we feed &lt;code&gt;mwlib&lt;/code&gt; raw Wiki markup and get the same hierarchical deliciousness as output? Here’s how:&lt;/p&gt;

&lt;script src="https://gist.github.com/1714519.js?file=short.py"&gt;&lt;/script&gt;&lt;p&gt;A more involved example:&lt;/p&gt;

&lt;script src="https://gist.github.com/1714501.js?file=parse_raw_wiki.py"&gt;&lt;/script&gt;</description><link>http://blog.benhumphreys.co.uk/post/16850135546</link><guid>http://blog.benhumphreys.co.uk/post/16850135546</guid><pubDate>Wed, 01 Feb 2012 11:03:56 +0900</pubDate><category>phd</category><category>programming</category><category>wikipedia</category><category>wiki</category><category>python</category></item><item><title>Dealing with Unicode CSV files in Python</title><description>&lt;p&gt;Today I found out that Python’s &lt;a href="http://docs.python.org/library/csv.html"&gt;csv module&lt;/a&gt; cannot read UTF-8 files (see the warning at the top of the page).&lt;/p&gt;

&lt;p&gt;There are two Stackoverflow questions on the topic (&lt;a href="http://stackoverflow.com/questions/1846135/python-csv-library-with-unicode-utf-8-support-that-just-works"&gt;here&lt;/a&gt; and &lt;a href="http://stackoverflow.com/questions/904041/reading-a-utf8-csv-file-with-python"&gt;here&lt;/a&gt;) but the solutions don’t seem to work for Python 2.6.&lt;/p&gt;

&lt;p&gt;There &lt;a href="http://docs.python.org/library/csv.html#csv-examples"&gt;code examples on the official page&lt;/a&gt; borrow from StackOverflow (or the other way around), and don’t seem to help much.&lt;/p&gt;

&lt;p&gt;The more I learn about Python the more I appreciate Ruby.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/16811353820</link><guid>http://blog.benhumphreys.co.uk/post/16811353820</guid><pubDate>Tue, 31 Jan 2012 17:04:08 +0900</pubDate><category>programming</category><category>python</category></item><item><title>Video</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/ogXT_CI7KRU?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://blog.benhumphreys.co.uk/post/16687001769</link><guid>http://blog.benhumphreys.co.uk/post/16687001769</guid><pubDate>Sun, 29 Jan 2012 17:01:01 +0900</pubDate><category>video</category></item><item><title>Star Wars Uncut: Director’s Cut: Wonderfully cute and...</title><description>&lt;iframe width="400" height="299" src="http://www.youtube.com/embed/7ezeYJUz-84?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;Star Wars Uncut: Director’s Cut:&lt;/strong&gt; Wonderfully cute and funny clips by hundreds of fans, stuck together to make the entire first film (via &lt;a href="http://tokyojoe0985.tumblr.com/post/16456968694/star-wars-uncut-directors-cut"&gt;TokyoJoe&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Hand-made outfits, stop-motion segments, entire clips rendered on 80’s Macintoshes, Star Trek uniforms. Also My Little Pony at 0:37.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/16517300369</link><guid>http://blog.benhumphreys.co.uk/post/16517300369</guid><pubDate>Thu, 26 Jan 2012 20:42:00 +0900</pubDate><category>video</category><category>geekery</category></item><item><title>Learn Languages Through Games on Steam</title><description>&lt;p&gt;If you like playing PC games, and want to learn a language at the same time, try this. Set your Steam language to the foreign language you’re trying to learn, and you can play most of your library in that language. It’s under &lt;strong&gt;Preferences &gt; Interface&lt;/strong&gt; then choose your preferred language from the first drop-down.&lt;/p&gt;

&lt;p&gt;Sometimes Steam will need to re-download the data to get the localised content, but once that’s all done, you should be able to play without any trouble. For example, both Portal games, Civilisation, Team Fortress 2 and Skyrim all work in French. Check the languages section of Steam store page for that game for what languages are available.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lyeli7YcI41qzfoi1.png" alt="Available languages are listed on the right-hand side of the game's details page"/&gt;&lt;/p&gt;

&lt;p&gt;The only problem with learning from games is you might learn a lot of weird vocabulary. Just think of it as gaming with a bonus, rather than actual language practice.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/16517196806</link><guid>http://blog.benhumphreys.co.uk/post/16517196806</guid><pubDate>Thu, 26 Jan 2012 20:36:50 +0900</pubDate><category>games</category><category>language</category></item><item><title>Parsing Edict XML with Perl and XML::LibXML</title><description>&lt;p&gt;Edict is a Japanese-English dictionary that is free to use for research (as far as I know). It’s available in a &lt;a href="http://www.csse.monash.edu.au/~jwb/edict_doc.html"&gt;few formats&lt;/a&gt;, the most useful of which is &lt;a href="http://ftp.monash.edu.au/pub/nihongo/JMdict_e.gz"&gt;XML dump of English-only data&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It might help someone sometime, so I’ve posted a short Perl snippet of how to parse the format.&lt;/p&gt;

&lt;script src="https://gist.github.com/1675141.js?file=edict.pl"&gt;&lt;/script&gt;&lt;p&gt;A single entry looks like:
&lt;script src="https://gist.github.com/1675145.js?file=dict.xml"&gt;&lt;/script&gt;&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/16455784105</link><guid>http://blog.benhumphreys.co.uk/post/16455784105</guid><pubDate>Wed, 25 Jan 2012 15:59:46 +0900</pubDate><category>programming</category><category>phd</category><category>japanese</category><category>perl</category></item><item><title>Print Wiki Parse Tree with `mwlib`</title><description>&lt;p&gt;It’s hard to see how &lt;code&gt;mwlib&lt;/code&gt; treats Wiki markup. You can use this small snippet to output the tree of an article and see what you’re dealing with. It’s recursive so if you have a Huge document it’s possible you’ll get some problems, although I haven’t hit any yet.&lt;/p&gt;

&lt;script src="https://gist.github.com/1644071.js?file=print_tree.py"&gt;&lt;/script&gt;&lt;p&gt;Output is something like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Section
  Node
    Text
  Node
    Paragraph
      Text
    Paragraph
      Style
        Node
          Node
            ArticleLink
            Text
            ArticleLink
            Text
...
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;There’s probably a function within &lt;code&gt;mwlib&lt;/code&gt; for doing this, but I couldn’t find it.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/16143156652</link><guid>http://blog.benhumphreys.co.uk/post/16143156652</guid><pubDate>Fri, 20 Jan 2012 09:40:53 +0900</pubDate><category>programming</category><category>python</category><category>mwlib</category><category>wiki</category></item><item><title>Python Regex Global Replace</title><description>&lt;p&gt;Today’s fun Python gotcha: I couldn’t find out how to do a global regular expression replace. In Perl it would look like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$my_str =~ s/foo/bar/g;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In Python it’s:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;import re
re.sub('foo', 'bar', my_text)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It turns out I wasn’t reading the &lt;a href="http://docs.python.org/library/re.html#re.sub"&gt;&lt;code&gt;sub()&lt;/code&gt; documentation&lt;/a&gt; properly. The amazing &lt;a href="https://twitter.com/puresock"&gt;@puresock&lt;/a&gt; saved the day and pointed out this from the documentation:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The optional argument count is the maximum number of pattern occurrences to be replaced; count must be a non-negative integer. &lt;strong&gt;If omitted or zero, all occurrences will be replaced.&lt;/strong&gt; Empty matches for the pattern are replaced only when not adjacent to a previous match, so &lt;code&gt;sub('x*', '-', 'abc')&lt;/code&gt; returns &lt;code&gt;'-a-b-c-'&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;tl;dr&lt;/strong&gt; Python’s regex-replace function &lt;a href="http://docs.python.org/library/re.html#re.sub"&gt;&lt;code&gt;sub()&lt;/code&gt;&lt;/a&gt; defaults to global. So you don’t need a global flag.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/16056378843</link><guid>http://blog.benhumphreys.co.uk/post/16056378843</guid><pubDate>Wed, 18 Jan 2012 18:40:55 +0900</pubDate><category>programming</category><category>python</category></item><item><title>Kamogawa river, Kyoto</title><description>&lt;img src="http://28.media.tumblr.com/tumblr_lxxc842dAX1qzi4c6o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Kamogawa river, Kyoto&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15990994799</link><guid>http://blog.benhumphreys.co.uk/post/15990994799</guid><pubDate>Tue, 17 Jan 2012 12:55:15 +0900</pubDate></item><item><title>Parsing Wiki Text (Part 1)</title><description>&lt;p&gt;I’ll be dealing with Wiki text a lot in the coming months, so I thought I’d post what I learn, as I learn it.&lt;/p&gt;

&lt;p&gt;This is just a quick introduction on what I did today pieced together from &lt;a href="http://www.mail-archive.com/mwlib@googlegroups.com/msg01573.html"&gt;mailing list posts&lt;/a&gt;
and various other posts online.&lt;/p&gt;

&lt;h2&gt;Wikimedia Markup&lt;/h2&gt;

&lt;p&gt;First some points on the markup used on Wikipedia. There seems to be a few ways to call this syntax, wikitext, wikimedia markup, wiki something. By some weird definitions it’s not a real grammar, merely something that can be translated into HTML easily.&lt;/p&gt;

&lt;p&gt;From what I’ve read online, parsing it naïvely using regular expressions is not a great idea. There are too many edge cases, and weird ways in which things can be written for it to be viable. However I have a feeling that using regular expressions only would be a lot faster than the grammar-like parsers that are available. Maybe I’ll do a short benchmark another time.&lt;/p&gt;

&lt;p&gt;For now, rather than roll my own, I decided to use the Python library &lt;code&gt;mwlib&lt;/code&gt;
to parse the Wiki markup.&lt;/p&gt;

&lt;h2&gt;Install&lt;/h2&gt;

&lt;p&gt;Let’s install &lt;code&gt;mwlib&lt;/code&gt; then. Unfortunately the documentation for &lt;code&gt;mwlib&lt;/code&gt; is somewhere between non-existent and useless.&lt;/p&gt;

&lt;p&gt;If you’re on a shared setup, I found the easiest way to install is using
&lt;a href="http://www.pip-installer.org/en/latest/installing.html"&gt;&lt;code&gt;virtualenv.py&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ curl -O &lt;a href="https://raw.github.com/pypa/virtualenv/master/virtualenv.py"&gt;https://raw.github.com/pypa/virtualenv/master/virtualenv.py&lt;/a&gt;
$ python virtualenv.py wiki
$ . wiki/bin/activate
(wiki)$ pip install mwlib
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Setup&lt;/h2&gt;

&lt;p&gt;You then need to download the dump(s) of the data you want to deal with.
Find it from the &lt;a href="http://dumps.wikimedia.org/backup-index.html"&gt;full list of dumps available&lt;/a&gt;.
It’s likely you’ll just want the Articles, but refer to the &lt;a href="http://meta.wikimedia.org/wiki/Data_dumps"&gt;documentation&lt;/a&gt;
for more details of what’s on offer. We want the articles-only dump of 
Simple English:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;wget &lt;a href="http://dumps.wikimedia.org/simplewiki/20120112/simplewiki-20120112-pages-articles.xml.bz2"&gt;http://dumps.wikimedia.org/simplewiki/20120112/simplewiki-20120112-pages-articles.xml.bz2&lt;/a&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;mwlib&lt;/code&gt; uses a db format to speed up access. Set up that DB with:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;mw-buildcdb --input=some-dump.xml.bz2 --output=some_output_dir
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will take a couple of minutes, depending on the size of your dump. &lt;strong&gt;Coffee Time&lt;/strong&gt;
Once this is done, your &lt;code&gt;some_output_dir&lt;/code&gt; should contain 3 files that we’ll
access from &lt;code&gt;mwlib&lt;/code&gt; later on.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;code&gt;wikiidx.cdb&lt;/code&gt; - the articles index file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wikidata.bin&lt;/code&gt; - the wikitext for the articles.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wikiconf.txt&lt;/code&gt; - config file for mwlib&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Parsing&lt;/h2&gt;

&lt;p&gt;We’re going to parse Simple English wiki’s page on &lt;a href="http://simple.wikipedia.org/wiki/Cheese"&gt;Cheese&lt;/a&gt;
mainly because I’m hungry. Check out the raw Wiki syntax on the &lt;a href="http://simple.wikipedia.org/w/index.php?title=Cheese&amp;action=edit"&gt;edit page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run this with Python, and you should get some wonderful output.&lt;/p&gt;

&lt;script src="https://gist.github.com/1619791.js?file=simple.py"&gt;&lt;/script&gt;&lt;pre&gt;&lt;code&gt;...
Inline link: Super Adams Smelly Cheese
Inline link: Emmental cheese
Inline link: String Cheese
Inline link: Marble cheese
Inline link: Wikimedia Commons
Inline link: media
Linked Japanese article: ja:チーズ
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Next&lt;/h2&gt;

&lt;p&gt;I’ll post more as I get further. For now, you should have a good craving for
cheese.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15939798644</link><guid>http://blog.benhumphreys.co.uk/post/15939798644</guid><pubDate>Mon, 16 Jan 2012 17:56:00 +0900</pubDate><category>programming</category><category>nlp</category><category>wikipedia</category><category>phd</category><category>python</category></item><item><title>Just found out my girlfriend posted this to Programmer Ryan...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_lxotdiqpMn1r8lg7to1_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Just found out my girlfriend posted this to &lt;a href="http://programmerryangosling.tumblr.com/"&gt;Programmer Ryan Gosling&lt;/a&gt;. So happy :D&lt;/p&gt;

&lt;p&gt;Even mentions all-important tea. &lt;em&gt;happy sigh&lt;/em&gt;&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15936483991</link><guid>http://blog.benhumphreys.co.uk/post/15936483991</guid><pubDate>Mon, 16 Jan 2012 15:56:00 +0900</pubDate><category>programming</category><category>submission</category></item><item><title>Installing Python Junk without Hassle</title><description>&lt;p&gt;Note to self, how to install Python stuff with minimum fuss. Looks like &lt;a href="http://www.pip-installer.org/en/latest/installing.html"&gt;&lt;code&gt;virtualenv.py&lt;/code&gt;&lt;/a&gt; is sort of like RVM for Python.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ curl -O &lt;a href="https://raw.github.com/pypa/virtualenv/master/virtualenv.py"&gt;https://raw.github.com/pypa/virtualenv/master/virtualenv.py&lt;/a&gt;
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
&lt;/code&gt;&lt;/pre&gt;</description><link>http://blog.benhumphreys.co.uk/post/15935333587</link><guid>http://blog.benhumphreys.co.uk/post/15935333587</guid><pubDate>Mon, 16 Jan 2012 15:26:30 +0900</pubDate><category>programming</category><category>python</category></item><item><title>RECYCLE OR DIE</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lxtx5e8vfy1qzi4c6o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;RECYCLE OR DIE&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15876048264</link><guid>http://blog.benhumphreys.co.uk/post/15876048264</guid><pubDate>Sun, 15 Jan 2012 16:36:50 +0900</pubDate></item><item><title>Japanese Equivalent of The Onion</title><description>&lt;p&gt;I love &lt;a href="http://www.theonion.com/"&gt;The Onion&lt;/a&gt;. For a long time I wished there was an equivalent satrirical site in Japanese. Someone just told me about the &lt;a href="http://kyoko-np.net/"&gt;Kyoko Shimbun&lt;/a&gt;, a Japanese site full of made-up amusing stories.&lt;/p&gt;

&lt;p&gt;For example they have a story on &lt;a href="http://kyoko-np.net/2004072201.html"&gt;McDonalds Japan releasing the McDonal-don&lt;/a&gt;, a bowl of rice (don) topped with a burger.&lt;/p&gt;

&lt;p&gt;Another story on &lt;a href="http://kyoko-np.net/2005021501.html"&gt;naturally drying baumkuhen cakes in the sun&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://kyoko-np.net/2005020901.html"&gt;Discovering that &lt;em&gt;pi&lt;/em&gt; is only 10 digits long&lt;/a&gt;. Calculations until now having been a bug in the program running them. The quote from the researcher at the end is great.&lt;/p&gt;

&lt;p&gt;The stories are short enough and have a good variety of vocabulary to be a pretty good way to practice Japanese I think.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15664267242</link><guid>http://blog.benhumphreys.co.uk/post/15664267242</guid><pubDate>Wed, 11 Jan 2012 17:20:38 +0900</pubDate><category>japanese</category><category>language</category></item><item><title>Papers Incorrectly Identifies Duplicates</title><description>&lt;p&gt;For those of you who use Papers like me, a quick warning - I’ve found it often incorrectly identifies non-duplicate papers as duplicates. I’m not sure why it does this, maybe because part of the download URL is the same.&lt;/p&gt;

&lt;p&gt;Just double-check whether it really is a duplicate. It’s happened to me so often that I no longer check and just hit “Ignore” every time. It’s safer than losing a bunch of papers I just imported.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15645861229</link><guid>http://blog.benhumphreys.co.uk/post/15645861229</guid><pubDate>Wed, 11 Jan 2012 10:07:40 +0900</pubDate><category>papers</category><category>phd</category><category>research</category></item><item><title>Learn French with Bouletcorp</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lxh9cxOA161qzfoi1.png" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.bouletcorp.com/"&gt;Bouletcorp&lt;/a&gt; is a superb French comic blog, with a combination of mind-expanding topics, humour and great artwork. The French is quite challenging and idiomatic, which makes it great to study but tricky to look up. But luckily most of the comics are translated into English. So open up both versions in your browser and get reading.&lt;/p&gt;

&lt;p&gt;The image is taken from the &lt;a href="http://www.bouletcorp.com/blog/2012/01/07/darwinisme-de-cuisine/"&gt;French&lt;/a&gt; and &lt;a href="http://english.bouletcorp.com/2012/01/08/"&gt;English&lt;/a&gt; comic called Kitchen Darwinism.&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15505242897</link><guid>http://blog.benhumphreys.co.uk/post/15505242897</guid><pubDate>Sun, 08 Jan 2012 20:34:31 +0900</pubDate><category>français</category><category>french</category><category>comics</category><category>language</category></item><item><title>2012</title><description>&lt;img src="http://26.media.tumblr.com/tumblr_lx3x9azA7S1qzi4c6o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;2012&lt;/p&gt;</description><link>http://blog.benhumphreys.co.uk/post/15117012720</link><guid>http://blog.benhumphreys.co.uk/post/15117012720</guid><pubDate>Sun, 01 Jan 2012 15:41:34 +0900</pubDate></item></channel></rss>

