<?xml version="1.0" encoding="utf-8"?>
<!-- generator="wordpress/2.0.11" -->
<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/"
	>

<channel>
	<title>context switch</title>
	<link>http://log.emmanuelebassi.net</link>
	<description>Random babblings of a geek.</description>
	<pubDate>Fri, 10 Oct 2008 22:04:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.11</generator>
	<language>en</language>
			<item>
		<title>Apocalypse Please</title>
		<link>http://log.emmanuelebassi.net/archives/2008/06/apocalypse-please/</link>
		<comments>http://log.emmanuelebassi.net/archives/2008/06/apocalypse-please/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 22:09:42 +0000</pubDate>
		<dc:creator>ebassi</dc:creator>
		
		<category>rants</category>

		<category>web</category>

		<category>crack</category>

		<guid isPermaLink="false">http://log.emmanuelebassi.net/archives/2008/06/apocalypse-please/</guid>
		<description><![CDATA[if you need to create a string holding a datestamp, please &#8212; for the love of everything that&#8217;s holy and just and pure in this universe &#8212; stop abusing the patience of everyone on this planet, and use the ISO 8601 format.
formats not to use:

seconds from the epoch - oh please. I mean: come on1.
HTTP [...]]]></description>
			<content:encoded><![CDATA[<p>if you need to create a string holding a datestamp, please &mdash; for the love of everything that&#8217;s holy and just and pure in this universe &mdash; stop abusing the patience of everyone on this planet, and use the <a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601 format</a>.</p>
<p>formats <strong>not</strong> to use:</p>
<ul>
<li>seconds from the epoch - oh please. I mean: come on<sup><a href="#footnote-1-272" id="footnote-link-1-272" class="footnote-link footnote-identifier-link" title="okay, I&#8217;m guilty of this insanity as well, but I&#8217;m in the process of fixing it">1</a></sup>.</li>
<li>HTTP date - which is defined in two RFCs but it still sucks for small things like sorting or, you know, non-human parsing.</li>
<li>ctime() output - now, give me a flipping break</li>
</ul>
<p>and please, don&#8217;t even think that people can rely on <code>strptime()</code> if they want to parse your datestamps &mdash; because they might care about something called &#8220;timezone&#8221;<sup><a href="#footnote-2-272" id="footnote-link-2-272" class="footnote-link footnote-identifier-link" title="a huge FAIL should be photoshopped on top of strptime(3) man page, right near the &#8220;Glibc Notes&#8221; section, where it says that in most cases the corresponding fields are parsed, but no field in tm is changed; WTF? what does in most cases mean? you have to tell me in which cases, you fscking idiot!">2</a></sup>.</p>
<p><em>any reference to running <a href="http://twitter.com">web services</a> and their utter lack of clue in this matter is purely coincidental. not.</em></p>
<p>this blog post should go in the overall discussion about how web services clearly showed me how the bar for writing them has been placed so low that not even <a href="http://en.wikipedia.org/wiki/Hermes_Conrad">&#8220;Eleven Inches&#8221; Hermes</a> could limbo beneath it. if even a simple, clearly defined data exchange format like <a href="http://json.org">JSON</a> has been abused that much<sup><a href="#footnote-3-272" id="footnote-link-3-272" class="footnote-link footnote-identifier-link" title="and I&#8217;m looking at you, Tumblr">3</a></sup> then there&#8217;s really little hope for the rest of us that care about interoperability and third party application development.
</p>
<ol start="1" class="footnotes"><li id="footnote-1-272" class="footnote">okay, I&#8217;m guilty of this insanity as well, but I&#8217;m in the process of fixing it [<a href="#footnote-link-1-272" class="footnote-link footnote-back-link">&#8617;</a>]</li><li id="footnote-2-272" class="footnote">a huge <span style="color:red">FAIL</span> should be photoshopped on top of strptime(3) man page, right near the &#8220;Glibc Notes&#8221; section, where it says that <code>in most cases the corresponding fields are parsed, but no field in tm is changed</code>; WTF? what does <em>in most cases</em> mean? <strong>you have to tell me in which cases, you fscking idiot!</strong> [<a href="#footnote-link-2-272" class="footnote-link footnote-back-link">&#8617;</a>]</li><li id="footnote-3-272" class="footnote">and I&#8217;m looking at you, Tumblr [<a href="#footnote-link-3-272" class="footnote-link footnote-back-link">&#8617;</a>]</li></ol>]]></content:encoded>
			<wfw:commentRss>http://log.emmanuelebassi.net/archives/2008/06/apocalypse-please/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Some Things Come From Nothing</title>
		<link>http://log.emmanuelebassi.net/archives/2008/05/some-things-come-from-nothing/</link>
		<comments>http://log.emmanuelebassi.net/archives/2008/05/some-things-come-from-nothing/#comments</comments>
		<pubDate>Mon, 19 May 2008 19:04:09 +0000</pubDate>
		<dc:creator>ebassi</dc:creator>
		
		<category>Hacking</category>

		<category>clutter</category>

		<category>conference</category>

		<category>crack</category>

		<category>git</category>

		<category>json-glib</category>

		<guid isPermaLink="false">http://log.emmanuelebassi.net/archives/2008/05/some-things-come-from-nothing/</guid>
		<description><![CDATA[json-glib: 0.6 is out! please: download it, test it, use it. as far as I know, it has been packaged for Debian unstable, and has entered the NEW queue (kudos to Rob Bradford, esquire and fine gentleman).
debian: with the release of Hardy I decided to switch back to Debian after three years of Ubuntu. even [...]]]></description>
			<content:encoded><![CDATA[<p><strong>json-glib</strong>: 0.6 is <a href="http://mail.gnome.org/archives/gnome-announce-list/2008-May/msg00006.html">out</a>! please: download it, test it, use it. as far as I know, it has been packaged for Debian unstable, and has entered the <code>NEW</code> queue (<em>kudos</em> to Rob Bradford, esquire and fine gentleman).</p>
<p><strong>debian</strong>: with the release of Hardy I decided to switch back to Debian after three years of Ubuntu. even though there are still some rough edges in Lenny, the support for laptops has definitely improved a lot and so I got back to my old love. starting from Gutsy, I found myself increasingly at odds with Ubuntu decisions and even though I upgraded my wife&#8217;s laptop to Hardy, I&#8217;m really glad I got back to Debian.</p>
<p><strong>clutter/1</strong>: apparently, I&#8217;ll give a lightning talk about our reference toolkit for Clutter at this year&#8217;s GUADEC, in Istanbul. Øyvind proposed it for me because, regardless of being on the paper committee, I actually forgot the deadline for the <acronym title="Call For Papers">CFP</acronym> &mdash; <em>whoops</em>, maybe I shouldn&#8217;t have said that. <img src='http://log.emmanuelebassi.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  with the Tidy lightning talk and the <em>Clutter guts</em> talk given by <a href="http://butterfeet.org">Matthew</a>, we decided for a high-level/low-level approach, instead of going for the usual <em>this is teh Clutter, look at teh bling</em> kind of talk. if you want to understand Clutter, Matthew&#8217;s talk is definitely where you want to be; as we all know:</p>
<blockquote><p>
  <em>Clutter = Clean and nice API + Performance + Portability + Integration = ♥</em>
</p></blockquote>
<p><em style="font-size:80%">from my Clutter talk at FOSDEM</em></p>
<p>so, if you want to know <strong>how</strong> Clutter creates love, get to Istanbul this July. <img src='http://log.emmanuelebassi.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>tweet</strong>: I started <a href="http://twitter.com/ebassi/statuses/815084728">eating my own dogfood</a>. <a href="http://folks.o-hand.com/ebassi/tweet-20080519.png">Tweet</a> is by no means complete or even guaranteed not to turn you into a goat and eat your breakfast &mdash; but now it works well enough for reading your own timeline and sending new statuses; and it doesn&#8217;t require <code>trunk</code> of anything any more, thanks to a Tidy transplant. I&#8217;m using Tweet as a way to see what kind of API is needed to properly integrate a Clutter canvas into a GTK+ application: colors, fonts, etc. if you want to try it out, contribute or just mock my insanity:</p>
<pre>
  git clone <a href="http://github.com/ebassi/tweet/tree/master">git://github.com/ebassi/tweet.git</a>
</pre>
<p><strong>clutter/2</strong>: we&#8217;re really close to a 0.7 release, which will mark the beginning of the <em>slushy</em> phase of the API; as far as documentation goes, we&#8217;re in pretty good shape already, at 93% for the Clutter namespace, and another 80% for the Cogl namespace. bindings will need to be updated &mdash; but the amount of new API is not that big, so it&#8217;s not going to be a long wait. I&#8217;m making a note here: <strong>huge success</strong>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://log.emmanuelebassi.net/archives/2008/05/some-things-come-from-nothing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Good Intentions/2</title>
		<link>http://log.emmanuelebassi.net/archives/2008/04/good-intentions2/</link>
		<comments>http://log.emmanuelebassi.net/archives/2008/04/good-intentions2/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 21:30:50 +0000</pubDate>
		<dc:creator>ebassi</dc:creator>
		
		<category>Hacking</category>

		<category>GNOME</category>

		<category>C</category>

		<category>developer</category>

		<category>gtk</category>

		<category>clutter</category>

		<category>crack</category>

		<category>json-glib</category>

		<category>glib</category>

		<guid isPermaLink="false">http://log.emmanuelebassi.net/archives/2008/04/good-intentions2/</guid>
		<description><![CDATA[gtk+: I&#8217;ve been working again on the RecentManager and in trunk you&#8217;ll see some new stuff, namely:

use GIO to determine the MIME type of a URI, on every platform supported
use the file monitoring API to avoid polling the storage file
add a GtkSettings property for clamping the recently used resources list to a 30 days limit

more [...]]]></description>
			<content:encoded><![CDATA[<p><strong>gtk+</strong>: I&#8217;ve been working again on the <a href="http://library.gnome.org/devel/gtk/stable/GtkRecentManager.html">RecentManager</a> and in <code>trunk</code> you&#8217;ll see some new stuff, namely:</p>
<ul>
<li>use GIO to determine the MIME type of a URI, on every platform supported</li>
<li>use the file monitoring API to avoid polling the storage file</li>
<li>add a GtkSettings property for clamping the recently used resources list to a 30 days limit</li>
</ul>
<p>more stuff I&#8217;d like to add is:</p>
<ul>
<li>small parser changes to <a href="http://library.gnome.org/devel/glib/stable/glib-Bookmark-file-parser.html">GBookmarkFile</a>, to reflect changes in the spec</li>
<li>bulk addition, for applications storing multiple items when quitting</li>
<li>new API needed to follow the usability review in bug <a href="http://bugzilla.gnome.org/show_bug.cgi?id=349541">349541</a></li>
<li>moving the RecentItem icon code to GIO, and add API to extract the thumbnail</li>
</ul>
<p><strong>twitter</strong>: I&#8217;ve been using <a href="http://twitter.com">Twitter</a> a lot in the past two weeks; it&#8217;s nice, it makes it easier to copy and paste a quote or a thought, and the 160 characters limit is an interesting challenge. As it&#8217;s been ages since I last wrote an application<sup><a href="#footnote-1-261" id="footnote-link-1-261" class="footnote-link footnote-identifier-link" title="lately all I&#8217;ve been doing was writing libraries">1</a></sup>, I decided to start writing a Twitter reader/writer &mdash; using <a href="http://www.gtk.org">GTK+</a>, <a href="http://www.clutter-project.org">Clutter</a> and Tidy; without much thinking, I opened gvim and started writing code in C<sup><a href="#footnote-2-261" id="footnote-link-2-261" class="footnote-link footnote-identifier-link" title="hey, that&#8217;s what I do for a living, it&#8217;s hard to switch off; plus, I could reuse some of the platform libraries">2</a></sup> &mdash; so, the obvious thing that happened was that I ended up writing a library <em>yet again</em> in order to use Twitter&#8217;s web API. luckily for me, libsoup has now a really nice API to work with; all you need is <code>GET</code> and <code>POST</code> to their RESTful API, retrieve the result, parse it through JSON-GLib, hide everything inside a new GObject and you have a wrapper around a web service. the application, you say? oh, I was sure I forgot something. well, it&#8217;s <a href="http://github.com/ebassi/tweet/tree/master">coming along</a> &mdash; it just needs some work still.
</p>
<ol start="1" class="footnotes"><li id="footnote-1-261" class="footnote">lately all I&#8217;ve been doing was writing libraries [<a href="#footnote-link-1-261" class="footnote-link footnote-back-link">&#8617;</a>]</li><li id="footnote-2-261" class="footnote">hey, that&#8217;s what I do for a living, it&#8217;s hard to switch off; plus, I could reuse some of the platform libraries [<a href="#footnote-link-2-261" class="footnote-link footnote-back-link">&#8617;</a>]</li></ol>]]></content:encoded>
			<wfw:commentRss>http://log.emmanuelebassi.net/archives/2008/04/good-intentions2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rhyme the rhyme well</title>
		<link>http://log.emmanuelebassi.net/archives/2008/04/rhyme-the-rhyme-well/</link>
		<comments>http://log.emmanuelebassi.net/archives/2008/04/rhyme-the-rhyme-well/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 21:43:34 +0000</pubDate>
		<dc:creator>ebassi</dc:creator>
		
		<category>GNOME</category>

		<category>developer</category>

		<category>clutter</category>

		<category>crack</category>

		<guid isPermaLink="false">http://log.emmanuelebassi.net/archives/2008/04/rhyme-the-rhyme-well/</guid>
		<description><![CDATA[Jason, it&#8217;s not just the canvas: writing a simple 2D canvas is trivial &#8212; that&#8217;s why a lot of applications end up writing their own homegrown one.
The hard bits are the animation framework, the event handling and down to the integration with the existing platform. A generic canvas is hard, and you probably don&#8217;t want [...]]]></description>
			<content:encoded><![CDATA[<p>Jason, it&#8217;s not just <a href="http://jasondclinton.livejournal.com/65125.html">the canvas</a>: writing a simple 2D canvas is trivial &mdash; that&#8217;s why a lot of applications end up writing their own homegrown one.</p>
<p>The hard bits are the animation framework, the event handling and down to the integration with the existing platform. A generic canvas is hard, and you probably don&#8217;t want it to be developed inside gtk+ (not even for 3.0) &mdash; just like Cairo is not developed inside gtk+ but supersedes part of gtk+&#8217;s API.</p>
<p>As for 3D acceleration &mdash; I&#8217;m obviously biased here, so everyone should take what I write with a <del datetime="2008-04-10T21:32:48+00:00">grain</del>truckload of salt &mdash; but I maintain my view that if GNOME (and Linux) started heavily pushing towards more support for OpenGL, then we could get more market share<sup><a href="#footnote-1-256" id="footnote-link-1-256" class="footnote-link footnote-identifier-link" title="think Compiz, and how many more users it brought home just with a spinning cube">1</a></sup>, more visibility and thus more leverage to make the currently closed source drivers more open. Intel understood this; AMD is now getting it; I&#8217;m pretty sure nVidia will &mdash; or they will be simply pushed into irrelevance by the open drivers developed by the community<sup><a href="#footnote-2-256" id="footnote-link-2-256" class="footnote-link footnote-identifier-link" title="unless you are a gamer, and need the very best card as soon as it&#8217;s out just to play Crisis">2</a></sup>. Let&#8217;s face it: other platforms and toolkits are pushing heavily on hardware accelerated 3D effects.</p>
<p>Let&#8217;s start aggressively work to get the platform into the XXI century.</p>
<p><strong>update@2008-10-11T12:21+0100</strong> &mdash; just as a sidenote: if you have a good CPU, Mesa and software rendering, Clutter <em>will work</em>. It won&#8217;t be fast for some operations (like scaling and, possibly, rotating), but in that case you should probably start contributing to Mesa to make it fast (there&#8217;s a lot of room for improvement).
</p>
<ol start="1" class="footnotes"><li id="footnote-1-256" class="footnote">think Compiz, and how many more users it brought home just with a spinning cube [<a href="#footnote-link-1-256" class="footnote-link footnote-back-link">&#8617;</a>]</li><li id="footnote-2-256" class="footnote">unless you are a gamer, and need the very best card as soon as it&#8217;s out just to play Crisis [<a href="#footnote-link-2-256" class="footnote-link footnote-back-link">&#8617;</a>]</li></ol>]]></content:encoded>
			<wfw:commentRss>http://log.emmanuelebassi.net/archives/2008/04/rhyme-the-rhyme-well/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Meet the Farce</title>
		<link>http://log.emmanuelebassi.net/archives/2008/02/meet-the-farce/</link>
		<comments>http://log.emmanuelebassi.net/archives/2008/02/meet-the-farce/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 18:28:29 +0000</pubDate>
		<dc:creator>ebassi</dc:creator>
		
		<category>crack</category>

		<category>microsoft</category>

		<guid isPermaLink="false">http://log.emmanuelebassi.net/archives/2008/02/meet-the-farce/</guid>
		<description><![CDATA[comedy gold or bad acid trip?
personally, epic fail
kudos to pgc

]]></description>
			<content:encoded><![CDATA[<p><a href="http://msdn.microsoft.com/events/hero/sfbio/">comedy gold or bad acid trip</a>?</p>
<p>personally, <a href="http://icanhascheezburger.com/2007/11/07/epic-fail/">epic fail</a></p>
<p><em>kudos to <a href="http://www.devel.co.uk/">pgc</a></em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://log.emmanuelebassi.net/archives/2008/02/meet-the-farce/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Helm, set a course&#8230; for love</title>
		<link>http://log.emmanuelebassi.net/archives/2008/02/helm-set-a-course-for-love/</link>
		<comments>http://log.emmanuelebassi.net/archives/2008/02/helm-set-a-course-for-love/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 15:32:05 +0000</pubDate>
		<dc:creator>ebassi</dc:creator>
		
		<category>GNOME</category>

		<category>fun</category>

		<category>crack</category>

		<guid isPermaLink="false">http://log.emmanuelebassi.net/archives/2008/02/helm-set-a-course-for-love/</guid>
		<description><![CDATA[a GNOME cruise? I already have the theme song&#8230;

GNOME-Love Boat, love exciting and new,
Come aboard, we're expecting you.

The GNOME-Love Boat soon will be making another release,
The GNOME-Love Boat promises something for everyone.

Set a course for adventure,
Your box's on a new romance.

And GNOME-Love
Won't hurt anymore,
It's an open source,
On a userfriendly shore.

it's GNOME-Love
Welcome aboard it's GNOME-love

]]></description>
			<content:encoded><![CDATA[<p>a <a href="http://wayofthemonkey.com/?date=2008-02-19">GNOME cruise</a>? I already have the theme song&#8230;</p>
<pre>
GNOME-Love Boat, love exciting and new,
Come aboard, we're expecting you.

The GNOME-Love Boat soon will be making another release,
The GNOME-Love Boat promises something for everyone.

Set a course for adventure,
Your box's on a new romance.

And GNOME-Love
Won't hurt anymore,
It's an open source,
On a userfriendly shore.

it's GNOME-Love
Welcome aboard it's GNOME-love
</pre>
]]></content:encoded>
			<wfw:commentRss>http://log.emmanuelebassi.net/archives/2008/02/helm-set-a-course-for-love/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Small Print</title>
		<link>http://log.emmanuelebassi.net/archives/2007/08/small-print/</link>
		<comments>http://log.emmanuelebassi.net/archives/2007/08/small-print/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 17:27:00 +0000</pubDate>
		<dc:creator>ebassi</dc:creator>
		
		<category>Linux</category>

		<category>rants</category>

		<category>suckage</category>

		<category>leaks</category>

		<category>crack</category>

		<guid isPermaLink="false">http://log.emmanuelebassi.net/archives/2007/08/small-print/</guid>
		<description><![CDATA[Could someone please tell me why notification-daemon holds ~51000 windows after two days of uptime?
51700 windows? Really?
Now, I accept the idea that maybe xrestop is lying (and mallum on my back is ready to hit me) but this sounds like a huge leak somewhere.
Please, someone tell me this is a known bug in Ubuntu Feisty [...]]]></description>
			<content:encoded><![CDATA[<p>Could someone please tell me why notification-daemon holds ~51000 windows after two days of uptime?</p>
<div style="text-align:center"><a class="imagelink" href="http://log.emmanuelebassi.net/wp-content/2007/08/notification-crack.png" title="Notification Daemon"><img id="image228" src="http://log.emmanuelebassi.net/wp-content/2007/08/notification-crack.thumbnail.png" alt="Notification Daemon" /></a><br/><em>51700 windows? Really?</em></div>
<p>Now, I accept the idea that maybe xrestop is lying (and mallum on my back is ready to hit me) but this sounds like a huge leak somewhere.</p>
<p>Please, someone tell me this is a known bug in Ubuntu Feisty and that Gutsy is already fixed.
</p>
]]></content:encoded>
			<wfw:commentRss>http://log.emmanuelebassi.net/archives/2007/08/small-print/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
