<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>monkeyhelper - Home</title>
  <id>tag:monkeyhelper.com,2008:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.8.0">Mephisto Drax</generator>
  <link href="http://monkeyhelper.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://monkeyhelper.com/" rel="alternate" type="text/html"/>
  <updated>2008-03-12T14:16:12Z</updated>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2008-03-12:15488</id>
    <published>2008-03-12T14:15:00Z</published>
    <updated>2008-03-12T14:16:12Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2008/3/xtech-ahoy" rel="alternate" type="text/html"/>
    <title>XTech ahoy</title>
<content type="html">
            &lt;p&gt;I'm pleased to say my proposal for this years &lt;a href=&quot;http://2008.xtech.org&quot;&gt;XTech&lt;/a&gt; conference has been accepted.  I'm talking about &quot;Using socially authored content to provide new routes through existing content archives&quot; (I know - snappy !).  It's based off the work that &lt;a href=&quot;http://www.rattleresearch.com&quot;&gt;Rattle&lt;/a&gt; have been doing with the BBC to look at ways to use socially authored media (i.e. Wikipedia, del.icio.us etc ...) to augment and generate new metadata for BBC content. &lt;/p&gt;

&lt;p&gt;If you've not been to XTech before, you're in luck as it's over in Dublin this year, so it's only a quick Ryan Air flight away (check out &lt;a href=&quot;http://2007.xtech.org/public/schedule/grid&quot;&gt;last years&lt;/a&gt; schedule for a taste), the final schedule of speakers should be confirmed over the next week or so, but with &lt;a href=&quot;http://www.crockford.com/&quot;&gt;Douglas Crockford&lt;/a&gt;, &lt;a href=&quot;http://blog.gardeviance.org/&quot;&gt;Simon Wardley&lt;/a&gt; and &lt;a href=&quot;http://homepages.cwi.nl/~steven/&quot;&gt;Steven Pemberton&lt;/a&gt; confirmed it's got to be good.  I'll also be helping out with the Lightning Talks again this year, which always prove to be a giggle.&lt;/p&gt;

&lt;p&gt;You can see more details over at the &lt;a href=&quot;http://www.rattleresearch.com/2008/03/see-you-at-xtech.html&quot;&gt;Rattle Blog&lt;/a&gt; ...
          </content>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2007-05-03:1</id>
    <published>2007-05-03T19:46:00Z</published>
    <updated>2008-02-13T18:16:17Z</updated>
    <category term="blog"/>
    <category term="conference"/>
    <category term="reboot"/>
    <category term="xtech2007"/>
    <link href="http://monkeyhelper.com/2007/5/monkeyhelper-returns" rel="alternate" type="text/html"/>
    <title>Monkeyhelper returns</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;http://farm1.static.flickr.com/185/376581313_7653c94989_t_d.jpg&quot;&gt;It&#8217;s been some time since the last post (over six months !), and I&#8217;ve been doing lots of interesting things but mainly for corporate clients.  The upshot being I haven&#8217;t had any time for side projects, however it&#8217;s nice to see some of the things I&#8217;ve talked about previously seem to be popular memes around the web at the moment, specifically geolocation and the ubiquitous web.&lt;/p&gt;


	&lt;p&gt;In fact the ubiquitous web is the theme for this years &lt;a href=&quot;http://2007.xtech.org/public/news&quot;&gt;XTech 2007&lt;/a&gt;.  I&#8217;m pleased to say both Deb and I will be going and we&#8217;ll be involved in chairing sessions and we&#8217;re also part of the team running the 20:20 sessions.  If you&#8217;re really quick you can still signup and come along to lovely Paris, I&#8217;d highly recommend it &#8211; it&#8217;s going to be lots of fun !&lt;/p&gt;


	&lt;p&gt;We&#8217;ll also be attending &lt;a href=&quot;www.reboot.dk&quot;&gt;Reboot 9&lt;/a&gt; this year (in Copenhagen again).  I&#8217;ll be blogging bits from both conferences you can find out what the alphageeks are up to at the moment.&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-28:2</id>
    <published>2006-09-28T19:43:00Z</published>
    <updated>2008-02-13T18:16:37Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/9/ajax-and-scriptaculous-on-rails" rel="alternate" type="text/html"/>
    <title>AJAX and Scriptaculous on Rails</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/projector.jpg&quot;&gt;My presentation on Javascript and Rails is more or less finished.  I&#8217;ll be doing the 15:00 session at &lt;a href=&quot;http://www.geekup.org/rubyandrails&quot;&gt;Ruby and Rails 2006&lt;/a&gt;.  I&#8217;ve used &lt;a href=&quot;http://www.s5project.org&quot;&gt;S5&lt;/a&gt; again.  It&#8217;s very apparent that Linux really isn&#8217;t up to creating and giving presentations &#8211; I&#8217;ll muddle through (probably having issues with projector resolutions again) but I&#8217;m feeling the need for some Mac and keynote goodness &#8230;&lt;/p&gt;


	&lt;p&gt;Anyhow the slides are &lt;a href=&quot;/downloads/s5-railsajax&quot;&gt;here&lt;/a&gt; for your perusal.&lt;/p&gt;


	&lt;p&gt;Tags [&lt;a href=&quot;http://technorati.com/tag/monkeyhelper&quot;&gt;monkeyhelper&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/rubyandrails06&quot;&gt;rubyandrails06&lt;/a&gt;]&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-21:4</id>
    <published>2006-09-21T11:17:00Z</published>
    <updated>2008-02-13T18:17:23Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/9/ruby-and-rails" rel="alternate" type="text/html"/>
    <title>Ruby and Rails</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/rubyandrails.png&quot;&gt;I&#8217;ve been to quite a few conferences over the last year and have had a great time, meeting loads of people and having far too many ideas to try and follow up.  Our (semi)-local &lt;a href=&quot;http://www.geekup.org&quot;&gt;Geek meetup&lt;/a&gt; has really taken off (Andrew and Dan have done a great job making this happen) and we&#8217;ve managed to pull together our own one day conference in the North !  It&#8217;s already &lt;a href=&quot;http://simplified.co.uk/swiki/events/geekup/060930-ruby-and-rails&quot;&gt;over-subscribed&lt;/a&gt; but if you&#8217;re interested put your name down as there are bound to be a few last minute dropouts.  The conference is titled &#8216;Ruby and Rails&#8217; and is an intro to the shinest new language/framework on the block.  I&#8217;ll be speaking about Ajax/Prototype/Script.aculo.us integration with Rails and hopefully a little on unobtrusive Javascript to enable pages to degrade gracefully.  So if you want to learn about Ruby on Rails go check it &lt;a href=&quot;http://geekup.org/rubyandrails/&quot;&gt;out&lt;/a&gt;.&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-18:6</id>
    <published>2006-09-18T12:09:00Z</published>
    <updated>2008-02-16T01:00:21Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/9/urbanwide-is-alive" rel="alternate" type="text/html"/>
    <title>Urbanwide is alive</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/urbanwide.png&quot;&gt;It&#8217;s taken a while but Deb has finished the new and improved &lt;a href=&quot;http://www.urbanwide.com&quot;&gt;www.urbanwide.com&lt;/a&gt;.  I&#8217;m officially jealous as Monkeyhelper is just another boring Movable Type template variation whereas Deb has the 2.0 glow that I lust after &#8211; if only I had an artistic bone in my body &#8230;&lt;/p&gt;


	&lt;p&gt;It features some nice usage of the mms parsing libraries and photogallery integration plus all the usual Movable Type goodness you would expect.  Go check it out and leave a comment !&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-17:7</id>
    <published>2006-09-17T15:20:00Z</published>
    <updated>2008-02-13T18:18:57Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/9/how_to_use_radrails_effectively-html" rel="alternate" type="text/html"/>
    <title>How to use RadRails effectively</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/radrails.png&quot;&gt;At RailsConf Europe this year, the RadRails guys did a great demo of RadRails and gave loads of tips and tricks for using this great &lt;span class=&quot;caps&quot;&gt;IDE&lt;/span&gt;.  They gave a few hints about the upcoming release (hopefully 1.0 will be in November this year) with big improvements for refactoring your code.  It was such a useful session for me (especially for moving away from the command line for running rake tasks) that I thought I&#8217;d do my best to summarise the demo.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;&lt;img src=&quot;/images/radrails.png&quot;&gt;At RailsConf Europe this year, the RadRails guys did a great demo of RadRails and gave loads of tips and tricks for using this great &lt;span class=&quot;caps&quot;&gt;IDE&lt;/span&gt;.  They gave a few hints about the upcoming release (hopefully 1.0 will be in November this year) with big improvements for refactoring your code.  It was such a useful session for me (especially for moving away from the command line for running rake tasks) that I thought I&#8217;d do my best to summarise the demo.&lt;/p&gt;
&lt;h2&gt;Installation&lt;/h2&gt;

	&lt;p&gt;There are two main ways to install RadRails.  You can download a complete package from &lt;a href=&quot;http://www.radrails.org&quot;&gt;RadRails&lt;/a&gt; site or if you already use Eclipse (the application that RadRails is built on top of) then you can add it as a subclipse plugin (details for both methods are available on the RadRails site).&lt;/p&gt;


&lt;h2&gt;A note on workspaces&lt;/h2&gt;

	&lt;p&gt;When starting RadRails/starting a new project you are asked to choose a workspace.  This is a &#8216;scratchpad area&#8217; and you can have as many Rails projects as you like in it.  You should always consider the scratchpad a temporary area (although you don&#8217;t have to) and check your modifications into subversion (or whatever revision control system you favour).&lt;/p&gt;


&lt;h2&gt;Creating a new project&lt;/h2&gt;

	&lt;p&gt;In the main view (Workbench view) choose &#8216;File&#8217; -&amp;gt; &#8216;New Project&#8217; and then choose the default &#8216;Rails Project&#8217;.  Choose a project name and leave the defaults in place.  This will run the rails command and generate a rails directory layout in the directory you specified (in the workspace).  The output from the creation process can be seen in the console tab (in the bottom pane of the screen).&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/images/radrails/radrails1.jpg&quot;&gt;&lt;/p&gt;


&lt;h2&gt;Generators&lt;/h2&gt;

	&lt;p&gt;You can run the standard rake tasks for generating models/controllers/scaffold using the &#8216;Generators&#8217; tab (in the bottom pane of the screen).  To create a model select the &#8216;model&#8217; option from the generators list (on the &#8216;Generators&#8217; tab).  The output from the command can be viewed in the console tab in the main workbench window.  You can also destroy existing models using the destroy option, meaning you shouldn&#8217;t have to use the rake command line tools to perform any generation type tasks.  The generators view will contain generators for any plugins you have installed (really useful if you forget what the generator names are).&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/images/radrails/radrails2.jpg&quot;&gt;&lt;/p&gt;


&lt;h2&gt;Migrations&lt;/h2&gt;

	&lt;p&gt;You can automatically run migrations by right-clicking on the migration (in the Rails-Navigator view) and selecting the &#8216;Run Migration&#8217; option.  This means you can move up and down you migrations stack just like running the equivilent &#8216;rake migrate &lt;span class=&quot;caps&quot;&gt;VERSION&lt;/span&gt;=2&#8217; type of command.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/images/radrails/radrails3.jpg&quot;&gt;&lt;/p&gt;


&lt;h2&gt;Tailing logs&lt;/h2&gt;

	&lt;p&gt;You can tail any log file (e.g. logs/development.log) by right-clicking on the file and choosing &#8216;Tail&#8217;.  The output is output to the &#8216;Console&#8217; tab.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/images/radrails/radrails4.jpg&quot;&gt;&lt;/p&gt;


&lt;h2&gt;The console&lt;/h2&gt;

	&lt;p&gt;You can access the console by clicking the script/console button (a red-outlined terminal icon) in the main toolbar.  You can then use the &#8216;Console&#8217; tab to type ruby commands to debug your applications.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/images/radrails/radrails5.jpg&quot;&gt;&lt;/p&gt;


&lt;h2&gt;Viewing database data&lt;/h2&gt;

	&lt;p&gt;The data perspective allows you to view the live data in your Rails development/test/production environment.  To access the data perspective click on the Icon next to the Rails icon in the top right hand corner of the application and select &#8216;Data perspective&#8217;.  A new tab will apear next to the Rails Navigator View called &#8216;Data Navigator&#8217; which allows you to pick the project and database you want to view.  You can also perform custom queries and add/delete records.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;/images/radrails/radrails6.jpg&quot;&gt;&lt;/p&gt;


&lt;h2&gt;Template auto-completion&lt;/h2&gt;

	&lt;p&gt;Most of the rails helpers/methods have an auto-complete feature.  To active it, start typing any rails method and then press &lt;span class=&quot;caps&quot;&gt;CTRL&lt;/span&gt;+SPACE and a drop down of avavailable completions should appear.  You can quickly change the default parameters by tabbing between them (the items highlighted in a blue square).&lt;/p&gt;


	&lt;p&gt;To add or edit existing templates you can find them in Window-&amp;gt;Preferences-&amp;gt;Ruby-&amp;gt;Editor-&amp;gt;Templates&lt;/p&gt;


&lt;h2&gt;Automated code formatting&lt;/h2&gt;

	&lt;p&gt;To automatically format a section of code &#8211; select the code section and right-click, choosing &#8216;Format&#8217;.  This can also be activated by the key-shortcut &lt;span class=&quot;caps&quot;&gt;CTRL&lt;/span&gt;+SHIFT+F.&lt;/p&gt;


&lt;h2&gt;Automated code testing&lt;/h2&gt;

	&lt;p&gt;You can enable automated code testing in the Window-&amp;gt;Preferences-&amp;gt;Rail-&amp;gt;Autotest window.  This will allow you to test every $minutes or on every file save.  A quick indication of success or failure of tests is given in the toolbar as either a a green box with a tick or a red box with a cross.&lt;/p&gt;


&lt;h2&gt;Other handy shortcuts&lt;/h2&gt;

	&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;CTRL&lt;/span&gt;+SHIFT+V : Switches between a view and an action in a controller (will pop open the view/controller file, also giving you the option to create the view if it doesn&#8217;t exist
&lt;span class=&quot;caps&quot;&gt;CTRL&lt;/span&gt;+ALT+T : Switches between a controller and a test (will pop open the test/controller file.&lt;/p&gt;


&lt;h2&gt;Importing an existing project&lt;/h2&gt;

	&lt;p&gt;To import an existing Rails project into RadRails you first need to create a new project (as outlined above) but Deselect &#8216;Generate Rails application skeleton&#8217;.  You can then right click on your newly created project and select &#8216;Import&#8217;.  You can import a project from the filesystem/cvs/subversion or a number of other options.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-17:8</id>
    <published>2006-09-17T15:01:00Z</published>
    <updated>2008-02-13T18:19:21Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/9/railsconf-quickie" rel="alternate" type="text/html"/>
    <title>RailsConf quickie</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;http://static.flickr.com/82/244682487_9c414da1af_m.jpg&quot;&gt;We had a great time at RailsConf and I&#8217;ve got a whole new bunch of ideas and things to think about (again !).  I&#8217;ll be working through these and posting them as time permits.  I&#8217;ve already started using memcached to improve performance of my Rails apps and I&#8217;ve replaced my mod_fcgi/apache2 combo with mongrel/apache2 which seems to have speeded up my apps by a factor of three !&lt;/p&gt;


	&lt;p&gt;Also I&#8217;d like to say a big hello to everbody we met : Dan, Tom, Ana, Sam, Simon, Rob, Ronan and all the other fun people &#8211; it&#8217;s nice when you meet great people with lots of enthusiasm and ideas &#8211; hope to see you all soon &#8230;&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-14:9</id>
    <published>2006-09-14T12:15:00Z</published>
    <updated>2008-02-13T18:19:41Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/9/railsconf-2006" rel="alternate" type="text/html"/>
    <title>RailsConf 2006</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/railsconf.png&quot;&gt;We&#8217;re at &lt;a href=&quot;http://europe.railsconf.org/&quot;&gt;RailsConf&lt;/a&gt; &#8211; yey !  &lt;span class=&quot;caps&quot;&gt;DHH&lt;/span&gt; did a great keynote with loads of interesting info about simply_restful and ActiveResource bringing &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; right into the core of Rails &#8211; with some nice demos of consuming RESTful resources.  He also talked about &lt;a href=&quot;http://dev.rubyonrails.org/browser/plugins/simply_helpful&quot;&gt;simply_helpful&lt;/a&gt; and bringing the conventions of your models back into views &#8211; looks like it&#8217;s going to provide lots more structure in views.&lt;/p&gt;


	&lt;p&gt;Kathy Sierra followed with a really interesting talk about user involvment and &#8216;Flow&#8217;, looking at helping users do what they want to do and creating a rewards type structure (kind of like an &lt;span class=&quot;caps&quot;&gt;MMORPG&lt;/span&gt;) to keep users challenged and interested &#8211; wan&#8217;t expecting anything in particular from this talk but it was a pleasant surprise.&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-12:10</id>
    <published>2006-09-12T13:57:42Z</published>
    <updated>2007-10-28T19:51:37Z</updated>
    <link href="http://monkeyhelper.com/2006/9/10-minutes-rest" rel="alternate" type="text/html"/>
    <title>10 Minutes REST</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/at-rest.gif&quot;&gt;I&#8217;m doing a presentation tonight at &lt;a href=&quot;http://www.geekup.org&quot;&gt;Geekup&lt;/a&gt; on the &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; architectural style, so if anybody wants to follow along the slides are &lt;a href=&quot;/downloads/s5-monkeyhelper-rest/&quot;&gt;here&lt;/a&gt;.  The presentation software is the new version of S5 (now maintained by Ryan King) from &lt;a href=&quot;http://www.s5project.org&quot;&gt;S5Project&lt;/a&gt;.  I&#8217;ve had to make some modifications to make it work under &lt;strong&gt;Linux Firefox&lt;/strong&gt; so your mileage may vary when viewing under other browsers (I&#8217;ll be contributing these changes back to the project when I get a chance).&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-09-06:11</id>
    <published>2006-09-06T17:02:00Z</published>
    <updated>2008-02-13T18:20:01Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/9/presence-server-make-your-apps-location-aware" rel="alternate" type="text/html"/>
    <title>Presence Server : Make your apps location aware</title>
<summary type="html">&amp;lt;style&gt;
#map {     
  height: 300px; 
  width: 350px;
  margin-left: 0.2em;
  float: right; 
} 
&amp;lt;/style&gt;

&lt;div&gt;&lt;/div&gt;

&lt;div&gt;
As part of my &lt;a href=&quot;http://www.monkeyhelper.com/2006/07/thingping_or_bridging_the_vir.html&quot;&gt;ThingPing&lt;/a&gt; project I&#8217;ve been coding away on the Presence (or location) server component and it&#8217;s almost ready.  As a quick test I thought I&#8217;d put a mashup of Yahoo Maps and the RESTful &lt;span class=&quot;caps&quot;&gt;JSON&lt;/span&gt; interface for the presence server.  My laptop is setup to &#8216;ping&#8217; the presence server every ten minutes (there will be better ways to hook this in) and based off the information in the message the location server attempts to set my current location to one of a set of predetermined places.  If it can&#8217;t match one of those then it will use other information sources to try and guess the location.  Click the star to see my current &#8216;place&#8217;  It&#8217;s the first part of creating a location-aware messaging stack &#8211; I can&#8217;t wait to get my &lt;a href=&quot;http://www.nabaztag.com&quot;&gt;Nabaztag&lt;/a&gt; and hook it up to this, although the &lt;a href=&quot;http://www.chumby.com/corporate&quot;&gt;Chumby&lt;/a&gt; looks like another fun candidate for integration.
&lt;/div&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-08-22:12</id>
    <published>2006-08-22T14:34:00Z</published>
    <updated>2008-02-16T01:00:33Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/8/ubuntu-xgl-window-decoration" rel="alternate" type="text/html"/>
    <title>[Ubuntu] XGL Window Decoration</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/term.jpg&quot;&gt;&lt;b&gt;[Update : 05/08/06]&lt;/b&gt; cgwd is now supplied with the standard compiz packages, so these instructions are no longer needed for window theming.&lt;/p&gt;


	&lt;p&gt;I&#8217;ve got a lot of love for &lt;span class=&quot;caps&quot;&gt;XGL&lt;/span&gt; &#8211; it manages to even impress Mac owners (which is really saying something !) but as part of the setup (certainly in most of the Ubuntu docs) you are told to use  gnome-window-decorator to handle the theming for windows (e.g. gnome-terminal).  The only problem with this, is that under compiz, themes aren&#8217;t applied so you always get the default window decoration.  If you want to style your desktop to look different (e.g. like a Mac) then you can&#8217;t get this effect with Compiz using the gnome-window-decorator.&lt;/p&gt;


	&lt;p&gt;There is, of course, an alternative &#8211; cgwd &#8211; the compiz gnome window decorator.&lt;/p&gt;


	&lt;p&gt;To install (under Ubuntu Dapper) :&lt;/p&gt;


&lt;pre&gt;
apt-get install cgwd cgwd-themes
&lt;/pre&gt;

	&lt;p&gt;You&#8217;ll need to modify the compiz-start python script (the one that sits in the gnome-panel) to use cgwd instead of gnome-window-decorator.  You can either modify your own script or download &lt;a href=&quot;/downloads/compiz/compiz-start&quot;&gt;mine&lt;/a&gt;.  It replaces the compiz-start script in /usr/bin/.&lt;/p&gt;


	&lt;p&gt;Once you&#8217;ve done this, logout and log back in and compiz should be using cgwd.  To set your theme use gcompizthemer and you&#8217;re all set for pretty window decoration under Compiz/XGL.&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-07-26:13</id>
    <published>2006-07-26T15:37:00Z</published>
    <updated>2008-02-13T18:20:43Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/7/thingping-or-bridging-the-virtual-gap" rel="alternate" type="text/html"/>
    <title>ThingPing or 'Bridging the virtual gap'</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/Nabaztag.jpg&quot;&gt;I&#8217;m nearing the end of my personal project stack that I have on the go at the moment, so I&#8217;ve been thinking about what I&#8217;d like to work on next (apart from the day job of course !).  One of the things that has always interested me is  plugging &#8216;physical&#8217; stuff into my computer and getting it to do interesting things based on events from the machine.&lt;/p&gt;

&lt;p&gt;Most of the commercially available devices that do this kind of thing  tend to have proprietary interfaces/API&#8217;s which are then hacked to be more &#8216;open&#8217;.  Examples include :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;http://www.nabaztag.com/vl/FR/index.jsp&quot;&gt;Nabaztag&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://www.ambientdevices.com/cat/orb/orborder.html&quot;&gt;Ambient Orb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These hacks are very specific and there seems to be no framework for joining them all together, so for example, it would be nice to be able to pass a single event or message to your Nabaztag at home and your Ambient Orb at work (meaning you wouldn&#8217;t have to write individual event passing systems that interfaced with each one individually).  An example for this kind of physical interaction might be, when a friend logs onto IM the Nabaztag speaks the IM handle for that person or if you recieve an email from your server alerting system then the ambient orb starts flashing red.  At the moment these kinds of hack tend to be very targeted at a particular device for a single purpose &#8211; it would be nice if there was some common &#8216;glue&#8217; bringing these neat hacks together.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;&lt;img src=&quot;/images/Nabaztag.jpg&quot;&gt;I&#8217;m nearing the end of my personal project stack that I have on the go at the moment, so I&#8217;ve been thinking about what I&#8217;d like to work on next (apart from the day job of course !).  One of the things that has always interested me is  plugging &#8216;physical&#8217; stuff into my computer and getting it to do interesting things based on events from the machine.&lt;/p&gt;

&lt;p&gt;Most of the commercially available devices that do this kind of thing  tend to have proprietary interfaces/API&#8217;s which are then hacked to be more &#8216;open&#8217;.  Examples include :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;http://www.nabaztag.com/vl/FR/index.jsp&quot;&gt;Nabaztag&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://www.ambientdevices.com/cat/orb/orborder.html&quot;&gt;Ambient Orb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These hacks are very specific and there seems to be no framework for joining them all together, so for example, it would be nice to be able to pass a single event or message to your Nabaztag at home and your Ambient Orb at work (meaning you wouldn&#8217;t have to write individual event passing systems that interfaced with each one individually).  An example for this kind of physical interaction might be, when a friend logs onto IM the Nabaztag speaks the IM handle for that person or if you recieve an email from your server alerting system then the ambient orb starts flashing red.  At the moment these kinds of hack tend to be very targeted at a particular device for a single purpose &#8211; it would be nice if there was some common &#8216;glue&#8217; bringing these neat hacks together.&lt;/p&gt;
&lt;h2&gt;Introducing ThingPing&lt;/h2&gt;

&lt;p&gt;My proposal for this is &lt;b&gt;ThingPing&lt;/b&gt; &#8211; it&#8217;s a framework that recieves events from virtual &#8216;things&#8217; (e.g. IM) and passes these messages onto physical &#8216;things&#8217;.  Each of the physical things becomes a subscriber to message queue and has a capability profile that describes if and how it can relate that message.  See the diagram below that outlines the basic components and indicates the data flows (this really is a first pass to try and clarify what I&#8217;ve got floating round in my head &#8211; so apologies to any diagram pedants).&lt;p&gt;

&amp;lt;center&gt;
&lt;img title=&quot;ThingPing Diagram&quot; src=&quot;/images/ThingPing.jpg&quot; alt=&quot;ThingPing diagram&quot;&gt;
&amp;lt;/center&gt;

&lt;h2&gt;10:30 Meeting with Bill&lt;/h2&gt;

&lt;p&gt;Basically the ThingPing system consists of some &lt;span class=&quot;caps&quot;&gt;REST API&lt;/span&gt;&#8217;s, a message queue, subscribed clients, and &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; adaptors that map the ThingPing concept of an &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; onto the physical things &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;.  The idea as a Software Engineering concept isn&#8217;t anything new but I don&#8217;t think I&#8217;ve seen it applied to this particular problem set before.  So my first request is &#8211; if anybody thinks I&#8217;m reinventing the wheel here then drop me an email or leave a comment with more info.  It&#8217;s not a small undertaking so I&#8217;d hate for someone else to already have done it !&lt;/p&gt;

&lt;p&gt;To give an example of the data flow and component interaction &#8211; say I have a Nabaztag at home, I could  create a component that parsed my ICal appointments and when I had an appointment I could get it to post a message to the PingThing system which in turn would add a message to the ThingPing message queue.  As the Nabaztag is a subscribed client, it would pick this message up and alert me (via it&#8217;s text to speech capability) that my appointment was due and let me know who it was with and where.  This would be a handy feature &#8211; although you wouldn&#8217;t want it speaking out appointments if you were actually at work instead.&lt;/p&gt;

&lt;h2&gt;Location, location, location&lt;/h2&gt;

&lt;p&gt;So the next logical extension is location awareness &#8211; if the ThingPing system was aware of your current location (or maybe if the subscribed clients were) then instead of the Nabztag at home relating your appointments, your Ambient Orb  at work (which is a subscribed ThingPing client and is location aware) could alert you instead (abeit in a simpler fashion).&lt;/p&gt;

&lt;p&gt;The location service is a component that could be considered entirely separate (but probably loosely coupled) to the ThingPing system.  As a service on it&#8217;s own I think it&#8217;s very powerful and simple to implement.  For example, my laptop pretty much goes everywhere with me and with a simple cron job I could get it to post to a location &lt;span class=&quot;caps&quot;&gt;REST API&lt;/span&gt; informing the location service where I was currently located.  The location service could then inform the ThingPing system of my new location (if it had changed).  Ideally, noticing that my location had changed would be an automated process &#8211; my current thinking behind this is linking your work/home/web cafe gateway IP address to a &#8216;Place&#8217; and registering this against your profile on the location system. This would be easy for the script to detect a change in and post to the location service.  This also works for other devices, so for example, if you have a fancy &lt;span class=&quot;caps&quot;&gt;GPS&lt;/span&gt; enabled mobile phone, this could post Lat:Long coords to the location service and the location service would know where you were located in the world.  If the location service also knew the Lat:Long coordinates of the places you wanted to receive messages (work/home/cafe) then it could calculate your distance from that place and see if you were within an acceptable radius (user-defined) to have the clients pass on the notifications !  At this point I got a little scared and started wandering off into worlds where your personal shopping preferences were linked to digital advertising boards that knew you were in their vicinity and started tailoring their advertising towards you &#8211; eeep !&lt;/p&gt;

&lt;p&gt;The location service would be a useful component for mashups (or &lt;a href=&quot;http://www.hackdiary.com/archives/000091.html&quot;&gt;intimacies&lt;/a&gt;) too &#8211; I think it might be the first component I&#8217;ll create as it&#8217;s an easy one to get started with and useful in it&#8217;s own right.  So that question again &#8211; Does the service already exist ? I know &lt;a href=&quot;http://www.plazes.com&quot;&gt;Plazes&lt;/a&gt; is in this space but I don&#8217;t think it covers what I&#8217;ve discussed &#8211; if there is already something like this out there then let me know !&lt;/p&gt;

&lt;h2&gt;Feedback please&lt;/h2&gt;

&lt;p&gt;I&#8217;ve actually got lots of other ideas around this problem space which I&#8217;ll expand on at some point in the future, but I&#8217;m going to leave it at this for now.  Let me know what you think of the idea (and any devices out there that might integrate well with it &#8230;.)&lt;/p&gt;

&lt;p&gt;Tags [&lt;a href=&quot;http://technorati.com/tag/monkeyhelper&quot;&gt;monkeyhelper&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/thingping&quot;&gt;thingping&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/nabaztag&quot;&gt;nabaztag&lt;/a&gt;]&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-07-18:15</id>
    <published>2006-07-18T19:00:00Z</published>
    <updated>2008-02-13T18:21:36Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/7/ubuntu_dapper_tips_tricks-html" rel="alternate" type="text/html"/>
    <title>Ubuntu Dapper Tips &amp; Tricks</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/spanner.gif&quot;&gt;I&#8217;ve been using Dapper for about a month now and thought I&#8217;d share my modifications that I&#8217;ve made to my system to make it more productive and shiney.  I&#8217;ll either go through the install process for a particular mod, or if there is a good how-to then I&#8217;ll reference that making any additonal comments as I go &#8230;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;:&lt;/b&gt; This is slightly biased towards my laptop &#8211; in particular the Intel 915 Graphics chipset (this should also be fine for the i810 as well).  I&#8217;ll try and provide alternate Nvidia and &lt;span class=&quot;caps&quot;&gt;ATI&lt;/span&gt; guides where possible.&lt;/p&gt;
&lt;p&gt;The list of tweaks looks something like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running Network Manager&lt;/li&gt;
&lt;li&gt;Configuring the Intel 915 Chipset for correct resoultion&lt;/li&gt;
&lt;li&gt;Making your fonts look pretty&lt;/li&gt;
&lt;li&gt;Installing &lt;span class=&quot;caps&quot;&gt;XGL&lt;/span&gt; and Compiz&lt;/li&gt;
&lt;li&gt;Monitoring &lt;span class=&quot;caps&quot;&gt;CPU&lt;/span&gt; and &lt;span class=&quot;caps&quot;&gt;HDD&lt;/span&gt; temperature&lt;/li&gt;
&lt;li&gt;Adding &lt;span class=&quot;caps&quot;&gt;DVD&lt;/span&gt; and video playing capabilities&lt;/li&gt;
&lt;li&gt;Addressing more than 900Mb of memory&lt;/li&gt;
&lt;li&gt;Adding a pretty splash screen for grub&lt;/li&gt;
&lt;li&gt;Running Windows (XP) in Parallels&lt;/li&gt;
&lt;/ul&gt;</summary><content type="html">
            &lt;p&gt;&lt;img src=&quot;/images/spanner.gif&quot;&gt;I&#8217;ve been using Dapper for about a month now and thought I&#8217;d share my modifications that I&#8217;ve made to my system to make it more productive and shiney.  I&#8217;ll either go through the install process for a particular mod, or if there is a good how-to then I&#8217;ll reference that making any additonal comments as I go &#8230;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;:&lt;/b&gt; This is slightly biased towards my laptop &#8211; in particular the Intel 915 Graphics chipset (this should also be fine for the i810 as well).  I&#8217;ll try and provide alternate Nvidia and &lt;span class=&quot;caps&quot;&gt;ATI&lt;/span&gt; guides where possible.&lt;/p&gt;
&lt;p&gt;The list of tweaks looks something like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running Network Manager&lt;/li&gt;
&lt;li&gt;Configuring the Intel 915 Chipset for correct resoultion&lt;/li&gt;
&lt;li&gt;Making your fonts look pretty&lt;/li&gt;
&lt;li&gt;Installing &lt;span class=&quot;caps&quot;&gt;XGL&lt;/span&gt; and Compiz&lt;/li&gt;
&lt;li&gt;Monitoring &lt;span class=&quot;caps&quot;&gt;CPU&lt;/span&gt; and &lt;span class=&quot;caps&quot;&gt;HDD&lt;/span&gt; temperature&lt;/li&gt;
&lt;li&gt;Adding &lt;span class=&quot;caps&quot;&gt;DVD&lt;/span&gt; and video playing capabilities&lt;/li&gt;
&lt;li&gt;Addressing more than 900Mb of memory&lt;/li&gt;
&lt;li&gt;Adding a pretty splash screen for grub&lt;/li&gt;
&lt;li&gt;Running Windows (XP) in Parallels&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Making your fonts look pretty&lt;/h3&gt;

&lt;p&gt;You can modify how your fonts appear by dropping a configuration file in your home directory called &lt;a href=&quot;http://www.monkeyhelper.com/downloads/ubuntu/.fonts.conf&quot;&gt;.fonts.conf&lt;/a&gt; .This will add lovely hinting to your fonts.  Just add the file to your homedir and restart X and you&#8217;ll see a big improvement.&lt;/p&gt;

&lt;h3&gt;Running Network Manager&lt;/h3&gt;

&lt;p&gt;Network manager is easy to install, simply:
&lt;pre&gt;
apt-get install network-manager
apt-get install network-manger-gnome
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;: &lt;/b&gt;Any network interfaces you want to manage via network manager you will need to comment out from /etc/network/interfaces, network-manager will automatically configure the interfaces for you. You will need to logout/login for the network-manager applet to appear on your gnome-panel.&lt;/p&gt;

&lt;h3&gt;Configuring the Intel 915 Chipset for correct resoultion&lt;/h3&gt;

&lt;p&gt;My original X display was stretched out of proportion which I wasn&#8217;t too fussed about but later learned it was a result of fixed resolutions in the video bios of my 915 chipset.  The 915resolution hack changes these settings to allow compatibility with Xorg.conf settings.  To install :&lt;/p&gt;

&lt;pre&gt;
sudo apt-get install 915resolution
sudo 915resolution -l
&lt;/pre&gt;

&lt;p&gt;For more details on how to use it look &lt;a href=&quot;http://www.geocities.com/stomljen/readme.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Installing &lt;span class=&quot;caps&quot;&gt;AIGLX&lt;/span&gt; and Compiz&lt;/h3&gt;

&lt;p&gt;My favourite bit of eye-candy for Dapper is &lt;span class=&quot;caps&quot;&gt;XGL&lt;/span&gt; &#8211; it gives you a Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt; style interface.  The install isn&#8217;t quite as simple as apt-get install aiglx but it&#8217;s still fairly easy.  There are plenty of good guides for installing &lt;span class=&quot;caps&quot;&gt;AIGLX&lt;/span&gt;, the best being :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=145068&quot;&gt;i915&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ubuntuforums.org/showthread.php?t=148351&quot;&gt;&lt;span class=&quot;caps&quot;&gt;ATI&lt;/span&gt; and NVidia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; You may need to import the repository gpg key &#8211; if you see errors relating to unsigned repositories when you apt-get &#8211; try:&lt;/p&gt;
&lt;pre&gt;
wget http://www.beerorkid.com/compiz/quinn.key.asc -O - 
  | sudo apt-key add -
&lt;/pre&gt;
&lt;/p&gt;

&lt;h3&gt;Adding a pretty splash screen for grub&lt;/h3&gt;

&lt;p&gt;This is a tip for that I originally had for Breezy but it still aplies to Dapper.  The grub bootscreen is pretty uninspiring so to have a pretty ubuntu graphic on boot :&lt;/p&gt;
&lt;pre&gt;
apt-get install usplash
&lt;/pre&gt;
&lt;p&gt;If you want to customize the artwork/look and feel then look &lt;a href=&quot;https://help.ubuntu.com/community/USplashCustomizationHowto&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Monitoring &lt;span class=&quot;caps&quot;&gt;CPU&lt;/span&gt; and &lt;span class=&quot;caps&quot;&gt;HDD&lt;/span&gt; temperature&lt;/h3&gt;

&lt;p&gt;You can add a cpu monitor to your gnome-panel by installing  sensors-applet and then right-click/add to panel.  The sensors-applet package is located in the universe repository so you&#8217;ll need to add this to your /etc/apt/sources.list.&lt;/p&gt;
&lt;pre&gt;
apt-get install sensors-applet
&lt;/pre&gt;
&lt;p&gt;By default this allows you to monitor the &lt;span class=&quot;caps&quot;&gt;CPU&lt;/span&gt; temperature.  You can also monitor your hard drive temperature by installing hddtemp:
&lt;pre&gt;
apt-get install hddtemp
&lt;/pre&gt;
&lt;p&gt;You will need to enable the hddtemp sensor in the sensors-applet via the preferences option.  If you need to monitor a drive other than /dev/hda then you can specify which drives you&#8217;d like hddtemp to monitor in /etc/defaults/hddtemp.&lt;/p&gt;

&lt;h3&gt;Adding &lt;span class=&quot;caps&quot;&gt;DVD&lt;/span&gt; and video playing capabilities&lt;/h3&gt;

&lt;p&gt;The easiest way (that I know) adding media capabilities to your Dapper install is to use &lt;a href=&quot;http://easyubuntu.freecontrib.org/overview.html&quot;&gt;easyubuntu&lt;/a&gt;.  It&#8217;s an easy to use graphical installer for configuring mdp3/dvd/divx/xvid playback and it also allows you to install flash/java and embeddded videos players in firefox.  It&#8217;s simple to install and run :
&lt;pre&gt;
wget http://easyubuntu.freecontrib.org/files/easyubuntu-3.021.tar.gz
tar -zxf easyubuntu-3.021.tar.gz
cd easyubuntu
sudo python easyubuntu.in
&lt;/pre&gt;

&lt;p&gt;Then simply click the options you&#8217;d like to have and click &#8216;OK&#8217; and easyubuntu will automatically retrieve and install all the required packages.&lt;/p&gt;

&lt;h3&gt;Addressing more than 900Mb of memory&lt;/h3&gt;

&lt;p&gt;If you have &amp;gt;=1Gb of memory then you should really be using the i686 kernel rather than the i386 kernel.  If for no other reason than the i386 can only address upto 900Mb of memory so you&#8217;re not taking full advantage of your machine.  The kernel upgrade itself is an easy process, but &lt;b&gt;be warned&lt;/b&gt; you may need to recompile any custom/self compiled modules/drvers you have installed outside of the ubuntu packaging system (e.g. proprietry graphics card drivers etc ..).  To install a 686 kernel :&lt;/p&gt;
&lt;pre&gt;
apt-get install linux-686
&lt;/pre&gt;

&lt;p&gt;You&#8217;ll need to reboot to run the new kernel.  Ubuntu (at time of authoring this article) has an issue where the &lt;span class=&quot;caps&quot;&gt;CPU&lt;/span&gt; maxes out at 100% when using the 686 kernel.  The fix for this is to :&lt;/p&gt;
&lt;pre&gt;
echo 1 &amp;gt; /sys/module/processor/parameters/max_cstate
&lt;/pre&gt;
&lt;p&gt;If you add this to /etc/rc.local then it will be executed each time you boot.&lt;/p&gt;

&lt;h3&gt;Running Windows in Parallels&lt;/h3&gt;

&lt;p&gt;Parallels is a great piece of virtualisation software that allows you to run different OS&#8217;s under Linux.  I use it to run Windows XP as my second OS without having to dual-boot.  On my Intel 760 it runs at a usable speed even when editing documents with MS Office&lt;/p&gt;

&lt;p&gt;You can download a tar.gz (free to try) from the &lt;a href=&quot;http://www.parallels.com&quot;&gt;Parallels&lt;/a&gt; website.  You will need to remember to install the kernel headers for Parallels to compile it&#8217;s own device drivers.&lt;/p&gt;

&lt;pre&gt;
apt-get install linux-headers-386
&lt;/pre&gt;

&lt;p&gt;The network setup can be a bit demanding if you&#8217;ve not played with iptables and ip masquerading before &#8211;  I use this script to setup the networking before I run parallels :&lt;/p&gt;

&lt;pre&gt;
#!/bin/sh

echo &quot;Setting Up Parallels networking ...&quot; 
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward
extip=&quot;`/sbin/ifconfig eth1 | grep 'inet addr' | awk '{print $2}' | 
  sed -e 's/.*://'`&quot; 
iptables -t nat -A POSTROUTING -s 10.37.129.0/24 --out-interface eth1 
  -j SNAT --to-source $extip
echo &quot;Setup networking for $extip&quot; 
&lt;/pre&gt;

&lt;p&gt;This assumes you&#8217;re primary interface is eth1 and you&#8217;re using the default Parallels ip address space of 10.37.&lt;/p&gt;

&lt;p&gt;If you are running &lt;span class=&quot;caps&quot;&gt;AIGLX&lt;/span&gt; then you&#8217;ll need to edit /usr/bin/parallels otherwise you&#8217;ll experience transparent window issues:&lt;/p&gt;

&lt;pre&gt;
sudo gedit /usr/bin/parallels

replace:

run=&quot;/usr/lib/parallels/parallels-linux $@&quot; 

with:

run=&quot;XLIB_SKIP_ARGB_VISUALS=1 /usr/lib/parallels/parallels-linux $@&quot; 

&lt;/pre&gt;

&lt;p&gt;Tags [&lt;a href=&quot;http://technorati.com/tag/monkeyhelper&quot;&gt;monkeyhelper&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/mysql&quot;&gt;ubuntu&lt;/a&gt;]&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-07-13:17</id>
    <published>2006-07-13T01:39:00Z</published>
    <updated>2008-02-13T18:22:26Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/7/im-mi" rel="alternate" type="text/html"/>
    <title>IM MI</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/im.jpg&quot;&gt;Ok, so there are a few bits of technology I'm not a huge fan of but I've learned to love, when mobile phones came out I wasn't convinced and didn't buy one until after even the kids down at pre-school had them, now with all the fancy web things you can do I can't live without one.  There is one particular technology I've successfully managed to avoid  for the last six or so years but it looks like I'm going to have to cave in and jump on that particular bit of the information super-highway - instant messaging .  So, without further ado, here are my IM details :&lt;/p&gt;

&lt;br /&gt;
MSN -  &lt;br /&gt;
Jabber/GTalk - &lt;br /&gt;

&lt;p&gt;However, by adding me to your IM list you must agree to my Terms Of Use:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;1&lt;/b&gt;. I'm an old fashioned type of guy and I like to have a bit of a chat, so no quick 'Hi !' in the morning - you'll just interupt my flow of thought and I'll just try and have a conversation with you about the weather or something&lt;br /&gt;
&lt;b&gt;2&lt;/b&gt;. If I'm marked as away, then I really am doing something - don't message me unless you know I'll want to hear it&lt;/p&gt;

&lt;p&gt;With that slightly Victor Meldrew sounding rant I'll await your enlightening and charming discourse ...&lt;/p&gt;</summary>  </entry>
  <entry xml:base="http://monkeyhelper.com/">
    <author>
      <name>robl</name>
    </author>
    <id>tag:monkeyhelper.com,2006-07-10:18</id>
    <published>2006-07-10T20:14:00Z</published>
    <updated>2008-02-13T18:22:59Z</updated>
    <category term="blog"/>
    <link href="http://monkeyhelper.com/2006/7/mysql_workbench_and_ubuntu_dap-html" rel="alternate" type="text/html"/>
    <title>MySQL WorkBench and Ubuntu Dapper</title>
<summary type="html">&lt;p&gt;&lt;img src=&quot;/images/Mysql-WB.png&quot;&gt;Deb and I have both been wanting a good DB design tool on linux for sometime now &#8211; the one we&#8217;ve used in the past was &lt;a href=&quot;http://www.fabforce.net/dbdesigner4/&quot;&gt;DBDesigner4&lt;/a&gt; but it&#8217;s somewhat dated and has been superceeded by the &#8216;official&#8217; &lt;a href=&quot;http://dev.mysql.com/downloads/workbench/&quot;&gt;MySQL Workbench&lt;/a&gt;.  The compiled binaries don&#8217;t work with a number of the latest distros so I figured I&#8217;d have a go at compiling from source &#8211; it turns out it&#8217;s not as easy as you&#8217;d first think !&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span class=&quot;caps&quot;&gt;UPDATE 16&lt;/span&gt;/07/06:&lt;/b&gt; I&#8217;ve compiled from the latest subversion sources on a vanilla Dapper build (no &lt;span class=&quot;caps&quot;&gt;XGL&lt;/span&gt;) but with the same results as previously, a hang when launching mysql-workbench.  I&#8217;m not going to pursue this any further for the meantime as the mysql team have &lt;a href=&quot;http://forums.mysql.com/read.php?113,102027,102680#msg-102680&quot;&gt;announced&lt;/a&gt; they aren&#8217;t going to work on WB until Q4 this year &#8230;  I&#8217;ve updated the guide below to fix a few typos and also how to compile with the latest source rather than earlier revisions.&lt;/p&gt;

&lt;p&gt;There is a useful reference available at &lt;a href=&quot;http://forums.mysql.com/list.php?113&quot;&gt;forums.mysql.com&lt;/a&gt;, &amp;lt;strike&gt;I followed a compile guide from &lt;a href=&quot;http://forums.mysql.com/read.php?113,76526,81390#msg-81390&quot;&gt;this&lt;/a&gt; post which provides the steps for compiling mysql-gui-common and mysql-workbench&amp;lt;/strike&gt;.  As it&#8217;s not specific to Ubuntu Dapper  finding the required package list is a bit of a challenge.  After a little trial and error (and some help on the forum) I&#8217;ve managed to compile a list of packages and symlinks you&#8217;ll need to compile MySQL Workbench under Ubuntu Dapper.&lt;/p&gt;

&lt;p&gt;You will also need to compile your own version of libsigc++ (version 2.0.11) as this is the latest version that mysql-workbench will compile against.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;&lt;img src=&quot;/images/Mysql-WB.png&quot;&gt;Deb and I have both been wanting a good DB design tool on linux for sometime now &#8211; the one we&#8217;ve used in the past was &lt;a href=&quot;http://www.fabforce.net/dbdesigner4/&quot;&gt;DBDesigner4&lt;/a&gt; but it&#8217;s somewhat dated and has been superceeded by the &#8216;official&#8217; &lt;a href=&quot;http://dev.mysql.com/downloads/workbench/&quot;&gt;MySQL Workbench&lt;/a&gt;.  The compiled binaries don&#8217;t work with a number of the latest distros so I figured I&#8217;d have a go at compiling from source &#8211; it turns out it&#8217;s not as easy as you&#8217;d first think !&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span class=&quot;caps&quot;&gt;UPDATE 16&lt;/span&gt;/07/06:&lt;/b&gt; I&#8217;ve compiled from the latest subversion sources on a vanilla Dapper build (no &lt;span class=&quot;caps&quot;&gt;XGL&lt;/span&gt;) but with the same results as previously, a hang when launching mysql-workbench.  I&#8217;m not going to pursue this any further for the meantime as the mysql team have &lt;a href=&quot;http://forums.mysql.com/read.php?113,102027,102680#msg-102680&quot;&gt;announced&lt;/a&gt; they aren&#8217;t going to work on WB until Q4 this year &#8230;  I&#8217;ve updated the guide below to fix a few typos and also how to compile with the latest source rather than earlier revisions.&lt;/p&gt;

&lt;p&gt;There is a useful reference available at &lt;a href=&quot;http://forums.mysql.com/list.php?113&quot;&gt;forums.mysql.com&lt;/a&gt;, &amp;lt;strike&gt;I followed a compile guide from &lt;a href=&quot;http://forums.mysql.com/read.php?113,76526,81390#msg-81390&quot;&gt;this&lt;/a&gt; post which provides the steps for compiling mysql-gui-common and mysql-workbench&amp;lt;/strike&gt;.  As it&#8217;s not specific to Ubuntu Dapper  finding the required package list is a bit of a challenge.  After a little trial and error (and some help on the forum) I&#8217;ve managed to compile a list of packages and symlinks you&#8217;ll need to compile MySQL Workbench under Ubuntu Dapper.&lt;/p&gt;

&lt;p&gt;You will also need to compile your own version of libsigc++ (version 2.0.11) as this is the latest version that mysql-workbench will compile against.&lt;/p&gt;
&lt;h2&gt;Compiling MySQL Workbench under Ubuntu Dapper&lt;/h2&gt;

&lt;pre&gt;
apt-get install build-essential
apt-get install subversion-tools
apt-get install automake1.8 autoconf 
apt-get install libxml2 libxml2-dev
apt-get install libglade2-0 libglade2-dev
apt-get install libgtk2.0-0 libgtk2.0-dev  libgtkmm-2.4-dev
apt-get install libgtkmm-2.4-1c2a
apt-get install lua50 liblua50-dev liblua50 liblualib50-dev
apt-get install libglut3 libglut3-dev 
apt-get install libsigc++-2.0-dev libsigc++-2.0-0c2a
apt-get install libpcre3 libpcre3-dev
apt-get install libglib2.0-dev libmysqlclient15-dev uuid-dev   
apt-get install libatk1.0-dev libpcre3-dev python-dev

wget http://ftp.gnome.org/pub/GNOME/
  sources/libsigc++/2.0/libsigc++-2.0.11.tar.gz

tar xvfz libsigc++-2.0.11.tar.gz
cd libsigc++-2.0.11/
./configure
make
sudo make install

svn co http://svn.mysql.com/svnpublic/mysql-gui-common/trunk \
  mysql-gui-common

export PKG_CONFIG=/usr/bin/pkg-config

sudo ln -s /usr/include/lua50/lua.h /usr/include/lua.h
sudo ln -s /usr/include/lua50/lauxlib.h /usr/include/lauxlib.h
sudo ln -s /usr/include/lua50/lualib.h /usr/include/lualib.h

sudo ln -s /usr/lib/liblualib50.so /usr/lib/liblualib.so
sudo ln -s /usr/lib/liblualib50.a /usr/lib/liblualib.a
sudo ln -s /usr/lib/liblua50.a /usr/lib/liblua.a
sudo ln -s /usr/lib/liblua50.so /usr/lib/liblua.so

cd mysql-gui-common
sh autogen.sh --enable-grt --enable-canvas 
  --disable-java-modules --with-lua-includes=/usr/include/lua5.0

make
make install-strip
cd ..

svn co  http://svn.mysql.com/svnpublic/mysql-workbench/trunk \
  mysql-workbench
cd ./mysql-workbench
sh autogen.sh 
make
make install-strip
cd ..

/usr/local/bin/mysql-workbench

&lt;/pre&gt;

&lt;p&gt;It compiles but unfortunately it hangs after displaying the workbench windows.  I&#8217;ve yet to determine if this is due to my running of &lt;span class=&quot;caps&quot;&gt;XGL&lt;/span&gt; &#8211; &amp;lt;strike&gt;I&#8217;ll be doing some more digging into this and I&#8217;ll update as I find out more&amp;lt;/strike&gt;.  If you have success with this method then let me know &#8230;&lt;/p&gt;

&lt;p&gt;Tags [&lt;a href=&quot;http://technorati.com/tag/monkeyhelper&quot;&gt;monkeyhelper&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/mysql&quot;&gt;mysql&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/workbench&quot;&gt;workbench&lt;/a&gt;]&lt;/p&gt;
          </content>  </entry>
</feed>
