<?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 version="2.0"><channel><title>Bother no more</title><link>http://www.bothernomore.com/</link><description>Lastest blog articles from bothernomore.com</description><language>en-us</language><lastBuildDate>Mon, 13 Jul 2009 04:21:43 -0000</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/bothernomore" type="application/rss+xml" /><item><title>Girl, most associated with Trouble</title><link>http://www.bothernomore.com/2009/05/18/girl-mostly-associated-trouble/</link><description>&lt;p&gt;Brushing up on natural language processing (&lt;a href="http://www.nltk.org/"&gt;NLTK&lt;/a&gt;) and saw this amusing example from the &lt;a href="http://en.wikipedia.org/wiki/Brown_Corpus"&gt;Brown Corpus&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;Seems like Trouble is for a Girl what Butter is for Bread.
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2009/05/18/girl-trouble_jpg_500x1000_q85.jpg" alt="girl trouble" /&gt;
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/05/18/girl-mostly-associated-trouble/</guid></item><item><title>Amazon recommends switching from EC2 to Google App engine</title><link>http://www.bothernomore.com/2009/05/17/amazon-recommends-switching-ec2-google-app-engine/</link><description>&lt;p&gt;Having used the &lt;a href="http://aws.amazon.com/"&gt;Amazon web services&lt;/a&gt; hosting stack for a while, this email felt quite ambiguous.
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2009/05/17/amazon_email_1_jpg_500x1000_q85.jpg" alt="Amazon email 1" /&gt;
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/05/17/amazon-recommends-switching-ec2-google-app-engine/</guid></item><item><title>Going Just Awesome</title><link>http://www.bothernomore.com/2009/05/07/twitter-wordle-going-just-awesome/</link><description>&lt;p&gt;My desk buddy &lt;a href="http://www.freshenmeup.com/"&gt;Jamie&lt;/a&gt; had an idea to create a &lt;a href="http://www.wordle.net/"&gt;wordle&lt;/a&gt; out of your twitter stream. I know I'm late to the game with this one but I liked the outcome of mine. Going Just Awesome.
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2009/05/07/Picture_3_png_500x1000_q85.jpg" alt="Wordle" /&gt;
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/05/07/twitter-wordle-going-just-awesome/</guid></item><item><title>Webby awards and a Golden Cube!</title><link>http://www.bothernomore.com/2009/05/07/balloonacy-webby-and-adc-golden-cube/</link><description>&lt;p&gt;This has been a great week! Not only was monday a bank holiday, but we managed to win 3 awards aswell! &lt;a href="http://awards.playballoonacy.com/"&gt;Balloonacy&lt;/a&gt; got the Telecommunications awards (it sounds so 90s) &lt;strong&gt;and&lt;/strong&gt; we also won a &lt;a href="http://www.adcawards.org/"&gt;Art Directors Club's&lt;/a&gt; Golden Cube!
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2009/05/07/awards_webby_and_adc_jpg_500x1000_q85.jpg" alt="Golden Cube and Webby" /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lonelyplanet.com/"&gt;Lonely Planet&lt;/a&gt; which is another Poke project, also got a webby in the travel category.
&lt;/p&gt;
&lt;p&gt;I'm a happy bee. 
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/05/07/balloonacy-webby-and-adc-golden-cube/</guid></item><item><title>Balloonacy videos and Webby awards</title><link>http://www.bothernomore.com/2009/04/23/balloonacy-videos-and-webby-awards/</link><description>&lt;p&gt;I just found some fun little videos I made about a year ago when we did the &lt;a href="http://www.playballoonacy.com/"&gt;Balloonacy&lt;/a&gt; game.
&lt;/p&gt;

&lt;h2&gt;Timelaps video&lt;/h2&gt;
&lt;p&gt;Made from screenshots of my blog over a few hours time
&lt;/p&gt;
&lt;p&gt;&lt;object type="application/x-shockwave-flash" width="500" height="375" data="http://vimeo.com/moogaloop.swf?clip_id=4293157&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF"&gt;
       &lt;param name="quality" value="best" /&gt;
       &lt;param name="allowfullscreen" value="true" /&gt;
       &lt;param name="scale" value="showAll" /&gt;
       &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4293157&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF" /&gt;
   &lt;/object&gt;
&lt;/p&gt;

&lt;h2&gt;40,000 balloons in 22 seconds&lt;/h2&gt;
&lt;p&gt;The second one is a speed run through the map and most of the balloons on it. It looks a bit mental in the middle.
&lt;/p&gt;
&lt;p&gt;&lt;object type="application/x-shockwave-flash" width="500" height="375" data="http://vimeo.com/moogaloop.swf?clip_id=4295481&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF"&gt;
       &lt;param name="quality" value="best" /&gt;
       &lt;param name="allowfullscreen" value="true" /&gt;
       &lt;param name="scale" value="showAll" /&gt;
       &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4295481&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF" /&gt;
   &lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;(Thanks &lt;a href="http://www.deathtotheflippers.com/"&gt;Gav&lt;/a&gt; for wicked AF skills)
&lt;/p&gt;

&lt;h2&gt;Map + Balloon data visualisation&lt;/h2&gt;
&lt;p&gt;This is more geeky and it's showing the basic data structure we used for the race map and some rainbow portals and balloons. It was rendered using &lt;a href="http://ubietylab.net/ubigraph/"&gt;Ubigraph&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;object type="application/x-shockwave-flash" width="500" height="375" data="http://vimeo.com/moogaloop.swf?clip_id=4293235&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF"&gt;
       &lt;param name="quality" value="best" /&gt;
       &lt;param name="allowfullscreen" value="true" /&gt;
       &lt;param name="scale" value="showAll" /&gt;
       &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4293235&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF" /&gt;
   &lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;I have no idea why it got such bad framerate when transcoded by Vimeo.
&lt;/p&gt;

&lt;h2&gt;Vote for us in People's Voice!&lt;/h2&gt;
&lt;p&gt;Balloonacy is nominated in three categories in the Webby Awards. I'm super thrilled about this and I'd love it you helped us win! Sign in at the &lt;a href="http://pv.webbyawards.com/"&gt;People's Voice&lt;/a&gt; and in the Website section, balloonacy can be found under Services &amp;gt; Telecommunications. In the Interactive Advertising section balloonacy is under Game or Application and Online Guerilla &amp;amp; Innovation.
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/04/23/balloonacy-videos-and-webby-awards/</guid></item><item><title>Fresh tweets straight out of the oven</title><link>http://www.bothernomore.com/2009/04/01/bakertweets-from-oven/</link><description>&lt;p&gt;Yesterday we installed &lt;a href="http://www.bakertweet.com/"&gt;Bakertweet&lt;/a&gt; at &lt;a href="http://twitter.com/albionsoven"&gt;Albion&lt;/a&gt; right across the road from work.
&lt;/p&gt;
&lt;p&gt;It's a little Twitter box hanging off the wall telling followers when fresh bread is coming out of the oven!
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2009/04/01/baker2_jpg_500x1000_q85.jpg" alt="bakertweet demo" /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/aszolty"&gt;@aszolty&lt;/a&gt; did a great job with the arduino that talks to our &lt;a href="http://www.bakertweet.com/"&gt;bakertweet&lt;/a&gt; website, that in turn syncs the freshly baked croissants to twitter.
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2009/04/01/baker__jpg_500x1000_q85.jpg" alt="bakertweet" /&gt;
&lt;/p&gt;
&lt;p&gt;If you like your buns hot, and are stationed around Shoreditch, go to Twitter and follow &lt;a href="http://twitter.com/albionsoven"&gt;@albionsoven&lt;/a&gt;.
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/04/01/bakertweets-from-oven/</guid></item><item><title>Google street view in London</title><link>http://www.bothernomore.com/2009/03/19/google-street-view-london/</link><description>&lt;p&gt;Big brother has been around and taking snaps of London.
&lt;/p&gt;
&lt;p&gt;Here's my house.
&lt;/p&gt;
&lt;p&gt;&lt;iframe width="500" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/sv?cbp=12,193.24029405689635,,0,-2.2099447513812103&amp;amp;cbll=51.549511,-0.059909&amp;amp;v=1&amp;amp;panoid=&amp;amp;gl=&amp;amp;hl=en"&gt;
   &lt;/iframe&gt;&lt;br /&gt;
   &lt;a id="cbembedlink" href="http://maps.google.com/maps?cbp=12,193.24029405689635,,0,-2.2099447513812103&amp;cbll=51.549511,-0.059909&amp;ll=51.549511,-0.059909&amp;layer=c"&gt;View Larger Map&lt;/a&gt;
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/03/19/google-street-view-london/</guid></item><item><title>It&amp;#39;s time for a good old book burning ceremony</title><link>http://www.bothernomore.com/2009/01/23/its-time-good-old-book-burning-ceremony/</link><description>&lt;p&gt;We're having a clear out of some old programming book at work. A part of me feels a little weird about throwing away books, it's sort of something you just keep, forever. But don't worry, we're getting some brand shiny new web3.0 books to fill the holes in the bookshelf. ;)
&lt;/p&gt;
&lt;p&gt;Here's an excerpt from Spainhour &amp;amp; Quercia's &lt;a href="http://oreilly.com/catalog/9781565923256/"&gt;Webmaster in a Nutshell&lt;/a&gt; (First Edition 1996):
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;This is a book that needs no introduction. By this time, if you
   don't know what the World Wide Web is, then you probably haven't
   heard of Rollerblades, VCRs, or Boris Yeltsin either.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;img src="/static/bnmblog/2009/01/23/books_jpg_500x1000_q85.jpg" alt="programming books" /&gt;
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2009/01/23/its-time-good-old-book-burning-ceremony/</guid></item><item><title>Character encoding hell: Converting MySQL latin1 to utf8 for use in Django</title><link>http://www.bothernomore.com/2008/12/16/character-encoding-hell/</link><description>&lt;p&gt;This is one of those problems that developers like to pretend doesn't exist. Until we actually have to deal with it of coarse. What I'm talking about is Character encoding hell. Lots of programmers (me included) have many times spent endless hours trying to figure out the mysteries of garbled text. So the reason I'm writing this blog post is to maybe help one or two people out there that are trying to do the same thing as I did today. Converting a MySQL database full of Swedish text (latin1) to a more manageable utf8 format. 
&lt;/p&gt;
&lt;p&gt;We basically have different character encodings* because we have lots of different spoken and written languages in the world, and it was hard for the brilliant computer scientists back in the day to get it all right the first time.
&lt;/p&gt;
&lt;p&gt;*Note: Please read &lt;a href="http://www.cs.tut.fi/~jkorpela/chars.html"&gt;A tutorial on character code issues&lt;/a&gt; for a fuller explanation on character encodings.
&lt;/p&gt;

&lt;h2&gt;The problem&lt;/h2&gt;
&lt;p&gt;I've got a MySQL database dump containing some 5000 products with descriptions all written in Swedish. As you might know Swedish contains characters like å, ä and ö. The database was also using latin1 as it's character set. So when firing it up in the Django admin I got something looking like this:
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2008/12/16/Picture_8_png_500x1000_q85.jpg" alt="Mysql latin1" /&gt;
&lt;/p&gt;
&lt;p&gt;I spent about 5 hours trying to get this to display correctly. Django rightfully uses utf8 throughout, so converting my database to utf8 should take care of the problem?
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;alter database DATABASE_NAME charset=utf8;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;No, it's not as easy as that, because when we convert the database to utf8, the data within stays the same. So what if we convert the table and the field?
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;alter table TABLE_NAME charset utf8;
alter table TABLE_NAME modify FIELD_NAME varchar(255) character set utf8;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;No no, nothing changes, it's all the same garbled mess. So how can we get MySQL to actually convert the content?
&lt;/p&gt;

&lt;h2&gt;The solution&lt;/h2&gt;
&lt;p&gt;Convert the field to BLOB. That's right, the first thing we need to do is converting the field type to a binary type. Then we change the character set of the database to utf8, and lastly we convert our field back to text or varchar.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;alter table TABLE_NAME modify FIELD_NAME blob;
alter database DATABASE_NAME charset=utf8;
alter table TABLE_NAME modify FIELD_NAME varchar(255) character set utf8;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This forces MySQL to convert the binary format into varchar using character set utf8.
&lt;/p&gt;
&lt;p&gt;&lt;img src="/static/bnmblog/2008/12/16/Picture_9_png_500x1000_q85.jpg" alt="Mysql utf8" /&gt;
&lt;/p&gt;
&lt;p&gt;This trick should work regardless if you're using Django or not, that's just what I happened to be developing in. And telling Django to use a different character encoding is, from what I've heard, a nightmare.
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2008/12/16/character-encoding-hell/</guid></item><item><title>Nice interactive installation by rAndom International at the Royal Opera House</title><link>http://www.bothernomore.com/2008/11/16/nice-interactive-installation-random-international/</link><description>&lt;p&gt;Last night was &lt;a href="http://www.thishappened.org/"&gt;This Happened #6&lt;/a&gt; at the BFI in London's south bank. 4 amazing projects were presented but for me there was &lt;a href="http://www.random-international.com/news/2008/10/23/audience-at-the-royal-opera-house.html"&gt;one that stood out particularly&lt;/a&gt;. 
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Audience is an installation conceived by rAndom International in collaboration with Chris O'Shea and consists of around 64 head-size mirror objects. Each object moves its head in a particular way to give it different characteristics of human behaviour. Some chat amongst themselves, some shy away and others confidently move to grab your attention.
&lt;/p&gt;
&lt;p&gt;When members of the audience enter the perimeter of the installation, the mirrors inquisitively follow someone that they find interesting. Having chosen their subject, they all synchronise and turn their heads towards them. Suddenly that person can see their reflection in all of the mirrors.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;The mirrors were built with servos connected to micro controllers and the software controlling the whole thing used a motion detection camera from above. And as so many of these kind of installations are, this one was also built using &lt;a href="http://www.openframeworks.cc/"&gt;Open Frameworks&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;object type="application/x-shockwave-flash" width="500" height="281" data="http://vimeo.com/moogaloop.swf?clip_id=1767416&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF"&gt;
       &lt;param name="quality" value="best" /&gt;
       &lt;param name="allowfullscreen" value="true" /&gt;
       &lt;param name="scale" value="showAll" /&gt;
       &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1767416&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF" /&gt;
   &lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;&lt;object type="application/x-shockwave-flash" width="500" height="281" data="http://vimeo.com/moogaloop.swf?clip_id=1767697&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF"&gt;
       &lt;param name="quality" value="best" /&gt;
       &lt;param name="allowfullscreen" value="true" /&gt;
       &lt;param name="scale" value="showAll" /&gt;
       &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1767697&amp;amp;server=vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=00ADEF" /&gt;
   &lt;/object&gt;
&lt;/p&gt;</description><guid>http://www.bothernomore.com/2008/11/16/nice-interactive-installation-random-international/</guid></item></channel></rss>
