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

<channel>
	<title>DoctorMo&#039;s Blog &#187; gnome</title>
	<atom:link href="http://doctormo.org/tag/gnome/feed/" rel="self" type="application/rss+xml" />
	<link>http://doctormo.org</link>
	<description>Just this guy, you know.</description>
	<lastBuildDate>Thu, 10 May 2012 12:30:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
   <image>
    <title>DoctorMo&#039;s Blog</title>
    <url>http://www.gravatar.com/avatar/7f6f9e75239bfcc5bfb41014e9dc9a26?s=48&amp;d=</url>
    <link>http://doctormo.org</link>
   </image>
		<item>
		<title>Audacious CSS Desktop Programming</title>
		<link>http://doctormo.org/2012/04/08/audacious-css-desktop-programming/</link>
		<comments>http://doctormo.org/2012/04/08/audacious-css-desktop-programming/#comments</comments>
		<pubDate>Sun, 08 Apr 2012 22:27:13 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Art and Creation]]></category>
		<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Multimedia Entry]]></category>
		<category><![CDATA[Programming and Technical]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Video Entry]]></category>
		<category><![CDATA[clutter]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=3750</guid>
		<description><![CDATA[Take a look at this video, here I show an awesome new technology for using Clutter/Gtk with Cascading Style Sheets.

Audacious Video
You can test this out for yourself with Ubuntu 12.04 (Beta) using the following:
sudo apt-get install gir1.2-gtk-3.0 gir1.2-clutter-1.0 gir1.2-gtkclutter-1.0 gir1.2-gconf-2.0
bzr branch lp:csslavie
cd csslavie
./netbook-launcher.py
Note: default clutter/cogl has a bug which prevents the background&#8217;s opacity setting, so [...]]]></description>
			<content:encoded><![CDATA[<p>Take a look at this video, here I show an awesome new technology for using Clutter/Gtk with Cascading Style Sheets.</p>
<p><object width="425" height="344" type="application/x-shockwave-flash" data="http://www.youtube.com/v/jdFU1_wKv3o&amp;hl=en_US&amp;fs=1&amp;rel=0"><param name="movie"  value="http://www.youtube.com/v/jdFU1_wKv3o&amp;hl=en_US&amp;fs=1&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object><br />
<a href='http://www.youtube.com/watch?v=jdFU1_wKv3o' >Audacious Video</a></p>
<p>You can test this out for yourself with Ubuntu 12.04 (Beta) using the following:</p>
<p><code>sudo apt-get install gir1.2-gtk-3.0 gir1.2-clutter-1.0 gir1.2-gtkclutter-1.0 gir1.2-gconf-2.0<br />
bzr branch lp:csslavie<br />
cd csslavie<br />
./netbook-launcher.py</code></p>
<p>Note: default clutter/cogl has a bug which prevents the background&#8217;s opacity setting, so you won&#8217;t get as cool an effect. But a fixed version of those libraries should be available eventually.</p>
<p>Please comment below what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2012/04/08/audacious-css-desktop-programming/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>New Release: Lab Session Manager</title>
		<link>http://doctormo.org/2011/09/02/new-release-lab-session-manager/</link>
		<comments>http://doctormo.org/2011/09/02/new-release-lab-session-manager/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 16:35:57 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Programming and Technical]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[logoff]]></category>
		<category><![CDATA[logout]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[timed]]></category>
		<category><![CDATA[timeout]]></category>
		<category><![CDATA[timer]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=3590</guid>
		<description><![CDATA[Over on launchpad, I&#8217;ve released version 1.4 of the lab-session-manager, included in this release is:

Bug fixes for administrators and other infinate time periods
Uses gnome&#8217;s SessionManager API to logout instead of SIGKILL
Pauses a logout until logging of logout event has completed
Correctly logs methods of logging out (session timeout, logoff button, off switch)

You can get your hands [...]]]></description>
			<content:encoded><![CDATA[<p>Over on launchpad, I&#8217;ve released <a href="https://launchpad.net/lab-session-manager/stable/1.4">version 1.4</a> of the <a href="https://launchpad.net/lab-session-manager">lab-session-manager</a>, included in this release is:</p>
<ul>
<li>Bug fixes for administrators and other infinate time periods</li>
<li>Uses gnome&#8217;s SessionManager API to logout instead of SIGKILL</li>
<li>Pauses a logout until logging of logout event has completed</li>
<li>Correctly logs methods of logging out (session timeout, logoff button, off switch)</li>
</ul>
<p>You can get your hands on the PPA and give it try here: <a href="https://launchpad.net/~doctormo/+archive/greeter">DoctorMo&#8217;s Greeter PPA</a>, Let me know what you think below in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2011/09/02/new-release-lab-session-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hot-Swapping Languages Batman!</title>
		<link>http://doctormo.org/2011/04/21/hot-swapping-languages-batman/</link>
		<comments>http://doctormo.org/2011/04/21/hot-swapping-languages-batman/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 04:40:19 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Programming and Technical]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[greeter]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=3288</guid>
		<description><![CDATA[One of the requirements for this community greeter (login screen for community center machines) is the ability to switch languages. Normally to switch a language you would unload the greeter and relaunch it with a LANG environment variable and your new language would fall into place from gettext.
But I wanted more. First, what languages are [...]]]></description>
			<content:encoded><![CDATA[<p>One of the requirements for this community greeter (login screen for community center machines) is the ability to switch languages. Normally to switch a language you would unload the greeter and relaunch it with a LANG environment variable and your new language would fall into place from gettext.</p>
<p>But I wanted more. First, what languages are installed on the computer? For this I used python-pybabel and gettext, these two tools working together allow me to both get all the installed languages, limit them to just those I have translations for and show the translated name for the language (see screenshot below).</p>
<p>I decided that what I wanted to do was to hot-swap the text in the widgets. Since I&#8217;m using <a href="https://code.launchpad.net/~doctormo/doctormo-random/gtkme">gtkme extensions</a>, I could achieve this by creating a TranslatableWindow class. It&#8217;s job is simply to go through the window container at load time and note down all the translatable strings from labels and tooltips:</p>
<blockquote><p>
class TranslatableWindow(gtkme.Window):<br />
    &#8220;&#8221;"Provides functions for translating the window on the fly&#8221;"&#8221;<br />
    def __init__(self, *args, **kwargs):<br />
        Window.__init__(self, *args, **kwargs)<br />
        self.labels = []<br />
        self.tips = []<br />
        self.store_translations(self.window)</p>
<p>    def store_translations(self, widget):<br />
        &#8220;&#8221;"Go through all widgets and store the translatable elements&#8221;"&#8221;<br />
        for child in widget.get_children():<br />
            if isinstance(child, Gtk.Container):<br />
                self.store_translations(child)<br />
            if isinstance(child, Gtk.Label):<br />
                self.labels.append( (child, child.get_label()) )<br />
            if child.get_has_tooltip():<br />
                self.tips.append( (child, child.get_tooltip_text()) )</p>
<p>    def translate_to(self, lang):<br />
        &#8220;&#8221;"Loop through everything and translate on the fly&#8221;"&#8221;<br />
        lang = TEXTS[lang]<br />
        for (child, text) in self.labels:<br />
            child.set_label(lang.gettext(text))<br />
        for (child, text) in self.tips:<br />
            child.set_tooltip_markup(lang.gettext(text))<br />
        logging.debug(&#8220;Performed translation to %s&#8221; % lang)
</p></blockquote>
<p>Once I had translatable windows, I could tell my application class to go through each window and translate it if it was translatable:</p>
<blockquote><p>
    def translate_to(self, lang):<br />
        &#8220;&#8221;"Translate all windows to target language&#8221;"&#8221;<br />
        for window in self._loaded.values():<br />
            if isinstance(window, TranslatableWindow):<br />
                logging.debug(&#8220;I18n window %s to %s&#8221; % (window.name, lang))<br />
                window.translate_to(lang)
</p></blockquote>
<p>Obviously because I&#8217;m not modifying the environment, when I log you on I need to update your language settings. I actually only show major language varieties and only ask about minor languages at registration time or when you change your setting:</p>
<p><a href="http://doctormo.org/wp-content/uploads/2011/04/Screenshot3.png"><img src="http://doctormo.org/wp-content/uploads/2011/04/Screenshot3-300x200.png" alt="" title="Screenshot" width="300" height="200" class="aligncenter size-medium wp-image-3289" /></a></p>
<p>If you&#8217;re even more curious, you can check out the code here: <a href="https://code.launchpad.net/gdm-commmunity-greeter/">Launchpad Code</a> or look at the translations <a href="https://translations.launchpad.net/gdm-commmunity-greeter/trunk/+pots/community-greeter/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2011/04/21/hot-swapping-languages-batman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDM Greeter First User Interface</title>
		<link>http://doctormo.org/2011/04/14/gdm-greeter-first-user-interface/</link>
		<comments>http://doctormo.org/2011/04/14/gdm-greeter-first-user-interface/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 04:35:41 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Programming and Technical]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Interfaces]]></category>
		<category><![CDATA[login window]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=3266</guid>
		<description><![CDATA[Update from my previous post: Here we have a branch containing a working gdm greeter user interface with a nice python module set for interacting with the gdm greeter service.
What&#8217;s nice about this code is how little of it you need to hack on the gdm. Binding up the username and password box to the [...]]]></description>
			<content:encoded><![CDATA[<p>Update from <a href="http://doctormo.org/2011/04/12/how-to-make-a-gnome-login-screen-in-python/">my previous post</a>: Here we have <a href="https://code.launchpad.net/~doctormo/+junk/gdm-community-greeter">a branch</a> containing a working gdm greeter user interface with a nice python module set for interacting with the gdm greeter service.</p>
<p>What&#8217;s nice about this code is how little of it you need to hack on the gdm. Binding up the username and password box to the events pretty much does everything. Most of the original functionality is simple to do.</p>
<p><a href="http://doctormo.org/wp-content/uploads/2011/04/Screenshot2.png"><img src="http://doctormo.org/wp-content/uploads/2011/04/Screenshot2-300x194.png" alt="" title="Screenshot" width="300" height="194" class="aligncenter size-medium wp-image-3267" /></a></p>
<p>The design isn&#8217;t final, there are gtk limitations and since gdm doesn&#8217;t really do clutter or opengl, it&#8217;d be impossible to do anything more interesting unfortunately.</p>
<p>The difference in functionality here is that you enter your full name (not your username) and it suggests people to you. The idea with this is that if you type in your name and you&#8217;re not a user, the next screen you see will be a register screen.</p>
<p>I selected my name from the list and then entered my passphrase:</p>
<p><a href="http://doctormo.org/wp-content/uploads/2011/04/Screenshot-1.png"><img src="http://doctormo.org/wp-content/uploads/2011/04/Screenshot-1-300x195.png" alt="" title="Screenshot-1" width="300" height="195" class="aligncenter size-medium wp-image-3268" /></a></p>
<p>Then it will log you in exactly as it should. Have a look at the code and see if you can hack on the gdm, it&#8217;s really very easy if you know a bit of python and gtk.</p>
<p>Comment if you do anything interesting.</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2011/04/14/gdm-greeter-first-user-interface/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How to Make a Gnome Login Screen (in Python)</title>
		<link>http://doctormo.org/2011/04/12/how-to-make-a-gnome-login-screen-in-python/</link>
		<comments>http://doctormo.org/2011/04/12/how-to-make-a-gnome-login-screen-in-python/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 04:52:33 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Programming and Technical]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[dbus]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[login]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=3254</guid>
		<description><![CDATA[In Ubuntu we use Gnome and the GDM (Gnome Display Manager) login screen called gdm-simple-greeter. This program is fairly fully featured for a normal Ubuntu install and even has a configuration in /etc/gdm/custom.conf which you can play around with.
But, I want to do something special, I&#8217;m making a computer lab with a registration screen and [...]]]></description>
			<content:encoded><![CDATA[<p>In Ubuntu we use Gnome and the GDM (Gnome Display Manager) login screen called gdm-simple-greeter. This program is fairly fully featured for a normal Ubuntu install and even has a configuration in /etc/gdm/custom.conf which you can play around with.</p>
<p>But, I want to do something special, I&#8217;m making a computer lab with a registration screen and other fun stuff. I&#8217;ll blog about the designs and code for that in a future blog post. Today I&#8217;m going to talk about how I made a gdm greeter in python despite the lack of <a href="http://divajutta.com/doctormo/greeter/gdm-simple-slave-flow.pdf">documentation</a> and the <a href="http://divajutta.com/doctormo/greeter/api_guide">round-about API</a> challenges.</p>
<p>First thing to realise is that GDM 2.30 which shipped with Ubuntu 10.10 has a rich and full service/client API via DBus. This allows me to do what I&#8217;m going to do because it allows my program to act just like the shipped simple greeter. Only a single greeter can talk over the DBus API and it&#8217;s worth noting that the API isn&#8217;t over the normal System or Session Dbus, it&#8217;s over a private dbus unix socket to prevent all sorts of security issues with passing passwords around.</p>
<p>I first deactivated the GDM greeter: `mv /usr/share/gdm/autostart/LoginWindow/gdm-simple-greeter.desktop ~/Desktop/` this will now not allow you to log into Ubuntu!</p>
<p>Next I developed <a href="http://divajutta.com/doctormo/greeter/experimental.txt">a script</a> which uses python&#8217;s DBus lower layers to connect over the private dbus address. The address is given to us via an environment variable &#8216;GDM_GREETER_DBUS_ADDRESS&#8217; and we just feed that in as it&#8217;s randomly generated. Fill in the PASSWORD and USERNAME variables to have GDM handle the communication and log in, this is certainly not a script you should leave installed and I have written a better one with a gui now, just use it as an example.</p>
<p>Finally I developed a <a href="http://divajutta.com/doctormo/greeter/gdm-experimental-greeter.desktop">.desktop file</a> which will autoload the example script when the login is ready. Copying that into the directory `/usr/share/gdm/autostart/LoginWindow/`.</p>
<p>To restart GDM I used this command as root: `service gdm stop &#038;&#038; sleep 1 &#038;&#038; service gdm start`</p>
<p>I used a VirtualBox machine which I communicated over via SSH in order to test this out, over and over, hacking away at how this could be done. You can try the same. The log files you should be watching are in `/var/log/gdm/:0-greeter.log` you&#8217;ll get all the stderr messages from your login screen in there as well as all the errors.</p>
<p>You can use DBus System connections on org.gnome.DisplayManager.Display to control the display and org.gnome.DisplayManager.UserManager to get lists of users, user information and events for when users are added and removed from the system, same goes for network manager and a bunch of other services running during the login session.</p>
<p>I&#8217;ll blog more, and perhaps video when I&#8217;m finished. For now, if you&#8217;re interested in login screen development for Gnome2 (I don&#8217;t know what they&#8217;re doing for Gnome3) then this will interest you.</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2011/04/12/how-to-make-a-gnome-login-screen-in-python/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Fighting Talk</title>
		<link>http://doctormo.org/2011/03/14/fighting-talk/</link>
		<comments>http://doctormo.org/2011/03/14/fighting-talk/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 06:32:58 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Art and Creation]]></category>
		<category><![CDATA[Cartoons and Comics]]></category>
		<category><![CDATA[Critique]]></category>
		<category><![CDATA[Doctor's Art]]></category>
		<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[cartoon]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[gnome]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=3173</guid>
		<description><![CDATA[There has been a lot recently about community fighting. It's been interesting, but also silly in a lot of ways because it's a great deal about egos, and you know what happens when the immovable ego meets the unstoppable ego.]]></description>
			<content:encoded><![CDATA[<p>There has been a lot recently about community fighting. It&#8217;s been interesting, but also silly in a lot of ways because it&#8217;s a great deal about egos, and you know what happens when the immovable ego meets the unstoppable ego.</p>
<p><a href="http://doctormo.org/wp-content/uploads/2011/03/fighting-comic.png"><img src="http://doctormo.org/wp-content/uploads/2011/03/fighting-comic.png" alt="It&#039;s your fault for not doing what I asked three years ago!" title="Comic" width="553" height="643" class="aligncenter size-full wp-image-3172" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2011/03/14/fighting-talk/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Genetic Wallpapers Now Available to Test!</title>
		<link>http://doctormo.org/2010/12/18/genetic-wallpapers-now-available-to-test/</link>
		<comments>http://doctormo.org/2010/12/18/genetic-wallpapers-now-available-to-test/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 12:03:30 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Art and Creation]]></category>
		<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Multimedia Entry]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Video Entry]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[ppa]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=3058</guid>
		<description><![CDATA[In my previous videos I showed off some scripts which modified some svg files and made the desktop background shift and move randomly and with determination towards pre-set patterns.
In this video I show you how to install the new packages for testing and how you can make your own:

View Video on Blip
Your thoughts? have you [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://doctormo.org/2010/09/04/whoa-wheres-it-going/">previous videos</a> I showed off some scripts which modified some svg files and made the desktop background shift and move randomly and with determination towards pre-set patterns.</p>
<p>In this video I show you how to install the new packages for testing and how you can make your own:</p>
<p><embed src="http://blip.tv/play/AYKVvAMA" type="application/x-shockwave-flash" width="400" height="294" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p><a href="http://blip.tv/file/4527504">View Video on Blip</a></p>
<p>Your thoughts? have you ested my new packages and do they work for you?</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2010/12/18/genetic-wallpapers-now-available-to-test/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ever Wondered WTF Gnome vs Ubuntu?</title>
		<link>http://doctormo.org/2010/11/12/ever-wondered-wtf-gnome-vs-ubuntu/</link>
		<comments>http://doctormo.org/2010/11/12/ever-wondered-wtf-gnome-vs-ubuntu/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 17:13:28 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=2955</guid>
		<description><![CDATA[This post will either go one of two ways, either people will get more irritated or it will shed some light on why seemingly rational people keep on doing seemingly irrational things.
From near as best I can tell, we look like this:

Your agreement may vary, post below (politely) if you do or don&#8217;t agree with [...]]]></description>
			<content:encoded><![CDATA[<p>This post will either go one of two ways, either people will get more irritated or it will shed some light on why seemingly rational people keep on doing seemingly irrational things.</p>
<p>From near as best I can tell, we look like this:</p>
<p><a href="http://doctormo.org/wp-content/uploads/2010/11/gnome-ubuntu-relates1.png"><img src="http://doctormo.org/wp-content/uploads/2010/11/gnome-ubuntu-relates1.png" alt="" title="gnome-ubuntu-relates" width="552" height="350" class="aligncenter size-full wp-image-2958" /></a></p>
<p>Your agreement may vary, post below (politely) if you do or don&#8217;t agree with my graphic.</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2010/11/12/ever-wondered-wtf-gnome-vs-ubuntu/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Why Gnome? Why.</title>
		<link>http://doctormo.org/2010/09/22/why-gnome-why/</link>
		<comments>http://doctormo.org/2010/09/22/why-gnome-why/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 21:04:21 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Hat Talk]]></category>
		<category><![CDATA[Programming and Technical]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=2794</guid>
		<description><![CDATA[I have a love/hate relationship with gnome. I use it, I develop for it and at the same time I dislike the way the gnome project produces functional libraires.
Take for example librsvg, an awesome library for turning svg files into pngs for display and for making thumbnails. For some unintelligent reason installing or compiling librsvg [...]]]></description>
			<content:encoded><![CDATA[<p>I have a love/hate relationship with gnome. I use it, I develop for it and at the same time I dislike the way the gnome project produces functional libraires.</p>
<p>Take for example librsvg, an awesome library for turning svg files into pngs for display and for making thumbnails. For some unintelligent reason installing or compiling librsvg requires gtk and thus also requires avahi and hicolor-icon-theme, xrandr and libcups2. Does making a png out of an svg require us to send icons to a rotated screen connected to a networked discovered printer? No? Then why do I need all this stuff?</p>
<p>The problem as I see it is that librsvg should be split out more into it&#8217;s none-gtk library parts and it&#8217;s pixbuf/gdk parts. Making it a useful library to a wider audience from servers to other desktop systems. Larger audiences mean more attention and more attention means more bug fixes.</p>
<p>The gnome project historically I think didn&#8217;t have much of a culture of serving a wider ecosystem and saw gaps and filled those gaps with gnome-only libs. It pains me to say but as a programmer I&#8217;m disappointed by the lack of foresight even though I understand resources were always tight. A &#8220;do everything with gtk deps&#8221; culture produces inflexible libs with rare logical separation between layers and fewer opportunities to share with the wider community because of it.</p>
<p>I&#8217;ve always hoped that the FDO culture of sharing APIs and working towards standard consensus would help the culture along and promote a culture of making libs for everyone.</p>
<p>Does anyone know of any alternatives to librsvg that produce good results? imagemagik failed to meet standards as it doesn&#8217;t support most of the filter effects, but I don&#8217;t know of many others.</p>
<p>just my 2 cents, what are your thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2010/09/22/why-gnome-why/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Whoa! Where&#8217;s it going?</title>
		<link>http://doctormo.org/2010/09/04/whoa-wheres-it-going/</link>
		<comments>http://doctormo.org/2010/09/04/whoa-wheres-it-going/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 04:55:52 +0000</pubDate>
		<dc:creator>doctormo</dc:creator>
				<category><![CDATA[Art and Creation]]></category>
		<category><![CDATA[Free and Open Source Software]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[User Interface Design]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://doctormo.org/?p=2742</guid>
		<description><![CDATA[After good healthy interest in yesterday&#8217;s video I decided to post the code in a repository (GPLv3 and CC-BY-SA) and as a second act to deliver Mark Shuttleworth&#8217;s feature request which I show off in the new video:

View Video on Blip
This is particularly cool since it means desktops will converge and look the same at [...]]]></description>
			<content:encoded><![CDATA[<p>After good healthy interest in yesterday&#8217;s video I decided to post the <a href="https://code.launchpad.net/~doctormo/doctormo-random/genetic-wallpapers">code in a repository</a> (GPLv3 and CC-BY-SA) and as a second act to deliver <a href="https://lists.launchpad.net/ayatana/msg03599.html">Mark Shuttleworth&#8217;s feature request</a> which I show off in the new video:</p>
<p><embed src="http://blip.tv/play/AYH6tH0A" type="application/x-shockwave-flash" width="400" height="294" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p><a href="http://blip.tv/file/4083801">View Video on Blip</a></p>
<p>This is particularly cool since it means desktops will converge and look the same at certain dates as well as diverge and look different at all other times. What are your thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://doctormo.org/2010/09/04/whoa-wheres-it-going/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

