<?xml version="1.0" encoding="ISO-8859-1"?>
        <rss version="2.0">
        <channel>
            <title>Shiyee's blog</title>
            <link>http://shiyee.dk/en/</link>
            <description>A blog about a little of everything, for the time being...</description>
            <language>en</language>
            <generator>JB ee_blog RSS generator</generator>
            <copyright>Mads Chr. Olesen - blogrss(at)shiyee(dot)dk</copyright>
            <category>blog</category>
            <docs>http://backend.userland.com/rss</docs>
        <item><title>Easily creating collaborative applications</title>
<link>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=646</link>
<guid isPermaLink="true">http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=646</guid>
<description>&lt;p class=&quot;bodytext&quot;&gt;This is going to be my final report in this SoC, tomorrow I am going to Cyprus for a week of&amp;nbsp; (well-deserved?) vacation.&lt;br /&gt;All the basics are more or less in place, for very easily getting a private D-Bus connection, proxyied across the Internet, just by choosing which person to connect to. The nice thing about using D-Bus, is that it is possible to test programs locally just with 2 instances using UNIX sockets. This should hopefully ease testing. &lt;br /&gt;I have created a very simple &lt;a title=&quot;Initiates file download&quot; class=&quot;internal-link&quot; href=&quot;fileadmin/dbus-tests/appconn.c&quot;&gt;test-program&lt;/a&gt;, which demonstrates the basic functionality. It is using some hardcoded strings, but this is something that will go away in time.&lt;br /&gt;There is still lots of things that can be done, and that I will start doing when I come home:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Unit tests&lt;/li&gt;&lt;li&gt;Python D-Bus bindings are missing some methods for DBusServer, making it impossible to use for this purpose (should be easy to fix, there is code for it, its just commented out)&lt;/li&gt;&lt;li&gt;GLib D-Bus bindings have trouble with direct connections, this is &lt;a href=&quot;https://bugs.freedesktop.org/show_bug.cgi?id=4637&quot; target=&quot;_blank&quot; class=&quot;internal-link&quot;&gt;known&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Implementing more bytestream transport methods in Gabble (The telepathy Jabber connection manager), e.g. In-Band Bytestreams, and looking at the new GTalk file-transfers to see how they work&lt;/li&gt;&lt;li&gt;Debugging, and then some more debugging&lt;/li&gt;&lt;li&gt;But most of all, I am looking very much forward to making collaborative applications that ROCK: Minesweeper, remote shell to help your friend/mother out with problems, being able to co-create text-documents, images, sharing files... And it will just work :-)&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;bodytext&quot;&gt;In the end, I would like to thank my mentor, Robert McQueen, for good guidance and collaboration, the rest of the Telepathy gang, Google for this great opportunity, and of course the Gnome community for being such a friendly one - I hope to spend many years there.&lt;/p&gt;</description>
<comments>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=646#Comments</comments>
<pubDate>Sat, 19 Aug 2006 13:56:59 -0700</pubDate></item>
<item><title>Progress report</title>
<link>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=46</link>
<guid isPermaLink="true">http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=46</guid>
<description>&lt;p class=&quot;bodytext&quot;&gt;I think it's about time I gave a little progress report about my work. I'm working on making it easy to write collaborative applications for the Telepathy framework.&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;&lt;a href=&quot;http://code.google.com/soc/gnome/appinfo.html?csaid=D5DFD64F8C190057&quot; target=&quot;_blank&quot; class=&quot;internal-link&quot;&gt;My original proposal&lt;/a&gt; was to just hand the application a socket to read/write from/to. However Robert &amp;amp; Robert from Collabora had a better idea, involving the hip technology that is D-Bus. Instead of a socket, the applications should get a D-Bus connection that is connected to a component of the Telepathy framework. Any message sent over this connection should be serialized, sent over the InterWeb using whatever protocol is available (I'm implementing for Jabber), recieved unserialized and sent over a D-Bus connection to the application instance on the other end.&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;&lt;img title=&quot;Big Overview&quot; src=&quot;/fileadmin/bigoverview.png&quot; style=&quot;width: 493px; height: 198px;&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;By doing it this way, the application will not need to invent it's own protocol, all it sees is D-Bus! The only downside of this is, that direct TCP connections don't come for free anymore, however this can be solved by a generic component, which on the figure would be in Telepathy's place.&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;So, regarding my current progress: I am currently implementing &lt;a href=&quot;http://www.jabber.org/jeps/jep-0065.html&quot; target=&quot;_blank&quot; class=&quot;internal-link&quot;&gt;Socks5 Bytestreams&lt;/a&gt; for the Jabber &lt;a href=&quot;http://telepathy.freedesktop.org/wiki/System_20Overview&quot; target=&quot;_blank&quot; class=&quot;internal-link&quot;&gt;Connection Manager&lt;/a&gt; gabble, using &lt;a title=&quot;Opens external link in new window&quot; class=&quot;internal-link&quot; href=&quot;http://www.jabber.org/jeps/jep-0096.html&quot;&gt;file-transfer&lt;/a&gt; as the method for testing. I have just gotten to the point where everything is ready for recieving files. The only missing function is actually reading the bytes from the socket and saving them to a file. When that is done, the code will need some cleaning up&lt;sup&gt;1&lt;/sup&gt;, currently it leaks memory like *!*#!, and doesn't handle very many errors. Speaking of memory leaks, I'm a little confused about when and what to free - do I for example need to free a &amp;quot;const gchar*&amp;quot;? Comments welcome :-)&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;Soon thereafter I'll start looking at the other &amp;quot;phase&amp;quot; of the project - the D-Bus connections from the application to Telepathy. First sketching the needed &lt;a title=&quot;Opens external link in new window&quot; class=&quot;internal-link&quot; href=&quot;http://projects.collabora.co.uk/~daf/spec-0.13.html&quot;&gt;specs&lt;/a&gt;, for AppConnect channels, and then implementing their transport over Socks5 bytestreams. So, I have some way to go yet :-)&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;Next week I'm going to &lt;a title=&quot;Opens external link in new window&quot; class=&quot;internal-link&quot; href=&quot;http://thecamp.dk&quot;&gt;TheCamp&lt;/a&gt;, a danish open source camp, looking forward to meeting some other open source people :-) I'll be there tuesday-thursday, if anyone thinks I owe them a beer...&lt;/p&gt;
&lt;p class=&quot;bodytext&quot;&gt;&lt;sup&gt;1)&lt;/sup&gt; It being my first larger piece of code written using GLib and GObject. Coming from &amp;quot;modern&amp;quot; languages like Java and C#, there seems to be a lot of code to write. Overcoming this hurdle wasn't easy, but once accepted it isn't that bad. I however think there is too much book-keeping and programmer responsibility that cannot be checked at compile-time in C - Call me newbie, but it just isn't very fun to debug segmentation faults or memory corruptions. It's more fun to write &lt;span style=&quot;font-weight: bold;&quot;&gt;programs&lt;/span&gt; than to write code ;-)&lt;br /&gt;Consider this my small contribution to the ongoing debate about Mono in Gnome, and remember that &lt;a title=&quot;Opens external link in new window&quot; class=&quot;internal-link&quot; href=&quot;http://www.joelonsoftware.com/articles/fog0000000052.html&quot;&gt;lowering the barrier to entry&lt;/a&gt; might double the amount of developers.&lt;/p&gt;</description>
<comments>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=46#Comments</comments>
<pubDate>Fri, 21 Jul 2006 17:51:26 -0700</pubDate></item>
<item><title>Life is beautiful</title>
<link>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=26</link>
<guid isPermaLink="true">http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=26</guid>
<description></description>
<comments>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=26#Comments</comments>
<pubDate>Thu, 13 Jul 2006 06:36:03 -0700</pubDate></item>
<item><title>Accepted to SoC06 :-)</title>
<link>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=25</link>
<guid isPermaLink="true">http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=25</guid>
<description>&lt;p class=&quot;bodytext&quot;&gt;I got accepted to this year's Summer of Code, so now I know what I will be doing this summer - Hacking on FOSS, very nice.&lt;br /&gt;I'm really looking forward to starting the project, but for now I'm deeply dug into operational semantics and compiler theory, for my project which is due monday. It doesn't make me any less anxious to get started that &lt;a href=&quot;http://blog.printf.net/articles/2006/05/24/summer-of-code&quot; target=&quot;_blank&quot; class=&quot;internal-link&quot;&gt;people will actually be following my development&lt;/a&gt;. Yikes! Better not mess up a pointer or likewise...&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Update: &lt;/span&gt;I&lt;span style=&quot;font-weight: bold;&quot;&gt; &lt;/span&gt;will be fixing the broken RSS-feed script, which strips away the entire formatting.&lt;/p&gt;</description>
<comments>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=25#Comments</comments>
<pubDate>Fri, 26 May 2006 13:16:30 -0700</pubDate></item>
<item><title>... now international</title>
<link>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=6</link>
<guid isPermaLink="true">http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=6</guid>
<description>&lt;p class=&quot;bodytext&quot;&gt;After some amount of tinkering, among other things with the RSS feed generator (Note to self: Tinker on and send patch upstream), I should now have an english blog and feed. I'm really not sure which blog I will use the most, so I will let time tell. Maybe I'll ditch one at some time.&lt;/p&gt;</description>
<comments>http://shiyee.dk/en/blog/?tx_eeblog%5BshowUid%5D=6#Comments</comments>
<pubDate>Fri, 30 Sep 2005 09:07:06 -0700</pubDate></item>

        </channel>
        </rss>