<?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>Senkov kutak &#187; English</title>
	<atom:link href="http://senko.net/category/english/feed/" rel="self" type="application/rss+xml" />
	<link>http://senko.net</link>
	<description>Tech, biz, geek, misc</description>
	<lastBuildDate>Thu, 17 Nov 2011 11:42:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>If Linus was starting a kernel in 2010&#8230;</title>
		<link>http://senko.net/linux-announcement-2010-parody/</link>
		<comments>http://senko.net/linux-announcement-2010-parody/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 15:46:20 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://senko.net/?p=431</guid>
		<description><![CDATA[<a href="http://senko.net/linux-announcement-2010-parody/" title="If Linus was starting a kernel in 2010..."></a>Imagine you&#8217;ve seen a blog post titled Free linux-like kernel sources for x86-64 PC&#8217;s with the following contents: Do you pine for the nice days of linux 2.4, when men were men and wrote their own device drivers? Are you &#8230;<p class="read-more"><a href="http://senko.net/linux-announcement-2010-parody/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/linux-announcement-2010-parody/" title="If Linus was starting a kernel in 2010..."></a><p>Imagine you&#8217;ve seen a blog post titled <em>Free linux-like kernel sources for x86-64 PC&#8217;s</em> with the following contents:</p>
<blockquote><p>
Do you pine for the nice days of linux 2.4, when men were men and wrote<br />
their own device drivers? Are you without a nice project and just dying<br />
to cut your teeth on a OS you can try to modify for your needs? Are you<br />
finding it frustrating when everything works on linux? No more all-<br />
nighters to get a nifty program working? Then this post might be just<br />
for you :-)</p>
<p>As I tweeted a month(?) ago, I&#8217;m working on a free version of a<br />
linux-lookalike for x86-64 computers.  It has finally reached the stage<br />
where it&#8217;s even usable (though may not be depending on what you want),<br />
and I am willing to put out the sources for wider distribution.  It is<br />
just version 0.02 (+1 (very small) patch already), but I&#8217;ve successfully<br />
run bash/gcc/gnu-make/gnu-sed/compress etc under it.</p>
<p>Sources for this pet project of mine can be found on github.  The repo also<br />
contains some README-file and a couple of binaries to work under it<br />
(bash, update and gcc, what more can you ask for :-).  Full kernel<br />
source is provided, as no linux code has been used.  Library sources are<br />
only partially free, so that cannot be distributed currently.  The<br />
system is able to compile &#8220;as-is&#8221; and has been known to work.  Heh.<br />
Sources to the binaries (bash and gcc) can be found at the same place.</p>
<p>ALERT! WARNING! NOTE! These sources still need linux to be compiled<br />
(and gcc, possibly gcc4, haven&#8217;t tested), and you need linux to<br />
set it up if you want to run it, so it is not yet a standalone system<br />
for those of you without linux. I&#8217;m working on it. You also need to be<br />
something of a hacker to set it up (?), so for those hoping for an<br />
alternative to linux, please ignore me. It is currently meant for<br />
hackers interested in operating systems and x86-64&#8242;s with access to linux.</p>
<p>The system needs an IDE harddisk (sorry) and any VGA card. If<br />
you are still interested, please read my blog post about it, and/or ask me<br />
on Twitter for additinal info.</p>
<p>I can (well, almost) hear you asking yourselves &#8220;why?&#8221;.  Next year (or the<br />
one after it who knows) will be The Year Of Linux Desktop, and I&#8217;ve already got<br />
Ubuntu.  This is a program for hackers by a hacker.  I&#8217;ve enjouyed doing<br />
it, and somebody might enjoy looking at it and even modifying it for<br />
their own needs.  It is still small enough to understand, use and<br />
modify, and I&#8217;m looking forward to any comments you might have.
</p></blockquote>
<p>Does this sound familiar to you? If you know your Linux history, is should &#8211; it&#8217;s a ripoff of the <a href="http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b?pli=1">original Linux announcement</a> post that Linus posted to the <em>comp.os.minix</em> newsgroup.</p>
<p>A few points to consider:</p>
<ul>
<li>look what a crazy (in a positive way) guy&#8217;s hobby did to the computer industry</li>
<li>is kernel programming still fun? should it be? is it serious work now?
<li>is there still fun to be had in non-web related stuff?
</ul>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/linux-announcement-2010-parody/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading Wikipedia on N900</title>
		<link>http://senko.net/reading-wikipedia-on-n900/</link>
		<comments>http://senko.net/reading-wikipedia-on-n900/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 08:20:19 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://senko.net/?p=381</guid>
		<description><![CDATA[<a href="http://senko.net/reading-wikipedia-on-n900/" title="Reading Wikipedia on N900"></a>N900 is a device with a lot of connectivity options and a very capable browser. With that, it&#8217;s a good Wikipedia reader out of the box. But not so if your connectivity is limited (you&#8217;re on top of a mountain, &#8230;<p class="read-more"><a href="http://senko.net/reading-wikipedia-on-n900/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/reading-wikipedia-on-n900/" title="Reading Wikipedia on N900"></a><p>
N900 is a device with a lot of connectivity options and a very capable browser. With that, it&#8217;s a good Wikipedia reader out of the box. But not so if your connectivity is limited (you&#8217;re on top of a mountain, or roaming, or don&#8217;t have a data plan alltogether and there are no open wifi hotspots).
</p>
<p>
Since I got a <a href="http://blog.barisione.org/2009-12/early-christmas/">great Christmas gift from Collabora</a> I&#8217;ve been poking at a small toy application that could store and read Wikipedia articles offline. Since Wikipedia hosts a huge number of articles, and device capabilities are limited compared to a desktop PC, this posed an interesting (but not unsolvable) challenge for the weekend hack sessions.
</p>
<p>
The result is Mawire (Maemo Wikipedia Reader):<br />
<div id="attachment_385" class="wp-caption aligncenter" style="width: 410px"><img src="http://senko.net/wp-content/uploads/2010/01/mawire0-home.png" alt="Mawire 0.1 - home screen" title="Mawire 0.1 - home screen" width="400" height="240" class="size-full wp-image-385" /><p class="wp-caption-text">Mawire 0.1 - home screen</p></div></p>
<div id="attachment_386" class="wp-caption aligncenter" style="width: 410px"><img src="http://senko.net/wp-content/uploads/2010/01/mawire0-results.png" alt="Mawire 0.1 - search results" title="Mawire 0.1 - search results" width="400" height="240" class="size-full wp-image-386" /><p class="wp-caption-text">Mawire 0.1 - search results</p></div>
<div id="attachment_384" class="wp-caption aligncenter" style="width: 410px"><img src="http://senko.net/wp-content/uploads/2010/01/mawire0-article.png" alt="Mawire 0.1 - Article view" title="Mawire 0.1 - Article view" width="400" height="240" class="size-full wp-image-384" /><p class="wp-caption-text">Mawire 0.1 - Article view</p></div>
<p></p>
<h2>The application</h2>
<p>
Having worked on <a href="http://maemo.gitorious.org/maemo-rtcom/rtcom-eventlogger">bits and pieces</a> in Maemo 5, I knew my way around the <a href="http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_SDK">Maemo 5 SDK</a> and some of the APIs, but nevertheless the <a href="http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide">Developer&#8217;s Guide</a> was of great help. I&#8217;ve also perused examples, code (such as browser launcher) and packaging from <a href="http://blogs.gnome.org/tthurman/">marnanel</a>&#8216;s <a href="http://blogs.gnome.org/tthurman/2009/09/06/n900-tutorial-contents/">raeddit</a> application.
</p>
<p>
The application is a lightweight reader, so the aim is not to display complete article, but rather to show enough information for a quick check, and provide convenient way for the user to find more on the Wikipedia itself.
</p>
<p>
<a href="/software/maemo/mawire.install" title="Install Mawire on your N900"><img src="/software/maemo/ac_install_icon.png" alt="install mawire" style="border: 0px; float: left;" /></a><br />
At the moment you can download the application from here, or browse or download the source code from <a href="http://github.com/senko/mawire">github</a>. I hope to upload it to <a href="http://maemo.org/community/application-catalog/extras_repository/">maemo-extras</a> soon. If you&#8217;re reading this from your N900, you can install mawire automatically by clicking on the install icon. <b>Warning:</b> It&#8217;s an early development (alpha) version, only tested on my device so far, so proceed with caution and only if you know what you&#8217;re doing.</p>
<p>
Since writing this blog post (but before I hit the Publish button), I&#8217;ve played around with portrait mode functionality, and released version 0.2 which has portrait mode support. If your keyboard is closed, mawire will switch to portrait mode. When you slide it open at any time (e.g. for typing search queries, or when you want to copy/paste part of the article), mawire will switch to landscape mode.
</p>
<h2>Data handling</h2>
<p>
Since Wikipedia (especially the English edition) has a huge number of articles, amount of text for a complete and comprehensive copy is just too large to conveniently use on the device.  Recent <em>enwiki</em> dump contains more than 3 million articles and is almost 6GB of bzip2&#8242;d XML.
</p>
<p>
To minimise database size, and since I wasn&#8217;t trying to replicate complete Wikipedia functionality, I decided to strip the articles as much as possible, not only of markup (so only bold and emphasis are preserved), but also to only include content of a few first paragraphs &#8211; up to the first heading. The idea is that topic overview is probably outlined first, and then each paragraph expands the coverage (often also having a complete article of its own).</p>
<p>So, the reader only includes the overview and provides &#8220;Read more&#8230;&#8221; button that connects to Wikipedia proper. So the app can be used not only as offline reader, but as quick Wikipedia launcher by itself.</p>
<p>The other problem is number of articles and search performance. If database contains up to a few million articles, sequential searching through the database is extremely slow. Unfortunately, the version of SQlite3 shipped on N900 (and indeed in many Linux distros ATM) doesn&#8217;t support fast fulltext search (FTS3), which is ideal for mawire.</p>
<p>So, the application currently ships with its own copy of SQLite library with enabled FTS3 module. It&#8217;s installed in a private lib directory so it doesn&#8217;t clash with the OS version (similar to what Firefox on Linux distros does), and is only ever used by mawire.</p>
<p>The data itself was prepared by a Python program that:</p>
<ol>
<li>parses the XML dump (using expat),</li>
<li>extracts, parses and strips Wikipedia markup (using a bunch of hacked regexps, as I haven&#8217;t found a suitable wikimedia markup parser &#8211; this is the weakest part of the program and I hope to improve it in the future),</li>
<li>filters articles we want to exclude (special pages, lists of things, too short articles),</li>
<li>compresses the article text (using zlib) and finally stores them to a SQlite3 database (using SQLalchemy).</li>
</ol>
<p>The final step is manual, building of FTS3 index, and consists of two SQL statements. This is so it could be done separately, on a machine having SQLite with FTS3.</p>
<p>The program is included in mawire source code, so you can use it to create custom Wikimedia databases (or, indeed, database for any MediaWiki powered wiki).</p>
<p>
<a href="/software/maemo/mawire-enwiki-small.install" title="Selected articles from English Wikipedia for Mawire"><img src="/software/maemo/ac_install_icon.png" alt="install mawire-enwiki-small" style="border: 0px; float: left;" /></a> A database of selected articles (3000 most visited + featured + good + vital; about 14 thousand articles in total)  from English Wikipedia (13.6MB). Database is installed in <code>/opt</code> so it doesn&#8217;t fill up your rootfs.
</p>
<p style="clear: both;">
Complete English edition, as well as several other major language editions are also available, but I haven&#8217;t created Maemo packages for them. You can download them directly, put them on your device or MMC card and select from the application menu.</p>
<ul>
<li><a href="/software/maemo/mawire-db/Wikipedia_English_Complete.db">English edition</a>, complete (1.4GB)</li>
<li><a href="/software/maemo/mawire-db/Wikipedia_French_Complete.db">French edition</a>, complete (313MB)</li>
<li><a href="/software/maemo/mawire-db/Wikipedia_German_Complete.db">German edition</a>, complete (479MB)</li>
<li><a href="/software/maemo/mawire-db/Wikipedia_Russian_Complete.db">Russian edition</a>, complete (289MB)</li>
<li><a href="/software/maemo/mawire-db/Wikipedia_Spanish_Complete.db">Spanish edition</a>, complete (288MB)</li>
<li><a href="/software/maemo/mawire-db/Wikipedia_Croatian_Complete.db">Croatian edition</a>, complete (31MB)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/reading-wikipedia-on-n900/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Translate software using Google</title>
		<link>http://senko.net/translate-software-using-google/</link>
		<comments>http://senko.net/translate-software-using-google/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 10:57:39 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://senko.net/?p=182</guid>
		<description><![CDATA[<a href="http://senko.net/translate-software-using-google/" title="Translate software using Google"></a>Automatic statistical translation tools like Google Translate are getting better and better. They still often produce nonsensical and grammatically incorrect translations (depending on available language corpus, I guess), but the translations can be used to understand the crux of the &#8230;<p class="read-more"><a href="http://senko.net/translate-software-using-google/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/translate-software-using-google/" title="Translate software using Google"></a><p><img src="http://senko.net/wp-content/uploads/2009/03/googtext-small.jpg" alt="googtext" title="googtext" width="200" height="47" class="alignright size-full wp-image-185" /></p>
<p>Automatic statistical translation tools like <a href="http://translate.google.com/">Google Translate</a> are getting better and better. They still often produce nonsensical and grammatically incorrect translations (depending on available language corpus, I guess), but the translations can be used to understand the crux of the text.</p>
<p>So, what happens if we try to apply these tools to translating software (in specific, translating gettext potfiles, which is the most widespread way of providing i18n in free software I know of)? Might be good, might be bad, and it will probably be hilarious ;-)</p>
<p>So, that&#8217;s my new pet project, <a href="http://senko.net/services/googtext/">googtext</a>, does. It&#8217;s a small wrapper around <a href="http://code.google.com/apis/ajaxlanguage/">Google AJAX Language API</a> that allows users to upload their potfiles, extracts the message ids, passes them through the language api, and saves the resulting message to a new potfile the user gets to download.</p>
<p>Translations generated by googtext should certainly be redacted by a real person, but I think it&#8217;s sometimes easier to improve upon a bad translation than start from scratch (depending on the situation), so this might have some use (or just might be funny :) So, <a href="http://senko.net/services/googtext/">try it</a> and let me know what you think in the comments.</p>
<p>The entire code for this is in the public domain, so if you want to play with the code, you can <a href="http://senko.net/services/googtext/googtext.tgz">download it here</a>. Since I couldn&#8217;t find any python module for Language API, I&#8217;ve made a thin wrapper myself (<code>gtranslate</code> module). There&#8217;s also the <code>googtext</code> utility itself (commandline), and the accompanying PHP upload script and HTML pages.</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/translate-software-using-google/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Empathy, Telepathy, Farsight, &#8230; ?</title>
		<link>http://senko.net/empathy-telepathy-farsight/</link>
		<comments>http://senko.net/empathy-telepathy-farsight/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 12:15:40 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.senko.net/?p=166</guid>
		<description><![CDATA[<a href="http://senko.net/empathy-telepathy-farsight/" title="Empathy, Telepathy, Farsight, ... ?"></a>In the Telepathy stack there are a lot of components, so often it gets very confusing for people hearing about it for the first time. So, here&#8217;s a very basic breakdown: Telepathy A framework for doing IM and VOIP. Supports &#8230;<p class="read-more"><a href="http://senko.net/empathy-telepathy-farsight/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/empathy-telepathy-farsight/" title="Empathy, Telepathy, Farsight, ... ?"></a><p>In the <a href="http://telepathy.freedesktop.org/">Telepathy</a> stack there are a lot of components, so often it gets very confusing for people hearing about it for the first time. So, here&#8217;s a very basic breakdown:</p>
<dl>
<dt><b><a href="http://telepathy.freedesktop.org/">Telepathy</a></b></dt>
<dd>A framework for doing IM and VOIP. Supports Jabber/GTalk, SIP, IRC, MSN, ICQ,&#8230; (not all of those support VOIP at the moment). It has no UI and the end user doesn&#8217;t really need to be concerned about it.</dd>
<dt><b><a href="http://live.gnome.org/Empathy">Empathy</a></b></dt>
<dd>A IM/VOIP client for GNOME that is using the Telepathy framework.</dd>
<dt><b><a href="http://farsight.freedesktop.org/">Farsight</a></b></dt>
<dd>An extension to GStreamer that supports VOIP. (Farsight devs, mea culpa for this dumbing down so much). Farsight is used by Telepathy for actually moving around audio and video in calls.</dd>
</dl>
<p>That&#8217;s it. Easy, no? :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/empathy-telepathy-farsight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retweeting IM status using Gwibber</title>
		<link>http://senko.net/retweeting-telepathy-im-status-using-gwibbe/</link>
		<comments>http://senko.net/retweeting-telepathy-im-status-using-gwibbe/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 23:57:07 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://blog.senko.net/?p=164</guid>
		<description><![CDATA[<a href="http://senko.net/retweeting-telepathy-im-status-using-gwibbe/" title="Retweeting IM status using Gwibber"></a>What are you doing? Microblogging is now much more (well, for some) than just answering the above question, but some people do want to publish what they&#8217;re doing at the moment. If they also use an IM client (and who &#8230;<p class="read-more"><a href="http://senko.net/retweeting-telepathy-im-status-using-gwibbe/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/retweeting-telepathy-im-status-using-gwibbe/" title="Retweeting IM status using Gwibber"></a><p><em>What are you doing?</em></p>
<p><img align="right" alt="telepathy+gwibber" src="/static/tp-gwibber.png" style="margin: 5px;" /></p>
<p>Microblogging is now much more (well, for some) than just answering the above question, but some people do want to publish what they&#8217;re doing at the moment. If they also use an IM client (and who isn&#8217;t?), it makes sense to make the IM status message and &#8220;what I&#8217;m doing&#8221; tweets the same.</p>
<p>As my technology of choice when it comes to IM is <a href="http://telepathy.freedesktop.org/">Telepathy</a>, I started thinking about creating a connection manager (essentially, a protocol support driver) for Twitter, but then it dawned to me there&#8217;s much simpler and better way to do it, if you just want to retweet the status messages.</p>
<p>My preferred Twitter client is <a href="https://launchpad.net/gwibber">gwibber</a>, written in Python, and it was very easy to extend it to listen to presence status change messages from Telepathy&#8217;s Mission Control and repost them to the configured microblogging services. Together with <a href="http://davyd.livejournal.com/">Davyd</a>&#8216;s work on <a href="http://lists.freedesktop.org/archives/telepathy/2009-January/002873.html">improved status message widget</a> for Empathy, I think this is going to be useful for people changing their presence often (and not using canned statuses).</p>
<p>To keep the requirements to the minimum (and since it&#8217;s a very simple client), I&#8217;ve used dbus-python directly, and also wrapped the whole thing so that patched gwibber continues to run even if there&#8217;s no dbus-python available. The big ugly chunk of the change in the diff is preferences.glade, where for some reason glade reindented a whole lot of lines that I never touched (another table row with a single checkbox is the only UI change).</p>
<p>The code is <a href="https://code.launchpad.net/~senko/gwibber/telepathy">in bzr branch in Launchpad</a>. Go, grab it and play with it! Keep in mind it&#8217;s fresh and not thoroughly tested. Also beware, ye rhythmbox (or other music player) users that update your IM status with every new song &#8211; this will spam your microblog if you let it :)</p>
<p>Does this mean I think Empathy should become microblogging client? Absolutely not. There&#8217;s more to microblogging than sharing statuses, and existing clients (e.g. gwibber) already do it very well. This patch is just a way to integrate previously disconnected parts of your digital life (ie. IM and microblogging). To publish your status (both on IM and Twitter), use Empathy. To microblog, use gwibber.</p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/retweeting-telepathy-im-status-using-gwibbe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GMail VideoChat &#8211; the good, the bad and the ugly</title>
		<link>http://senko.net/gmail-videochat-the-good-the-bad-and-the-ugly/</link>
		<comments>http://senko.net/gmail-videochat-the-good-the-bad-and-the-ugly/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 12:44:36 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://blog.senko.net/?p=157</guid>
		<description><![CDATA[<a href="http://senko.net/gmail-videochat-the-good-the-bad-and-the-ugly/" title="GMail VideoChat - the good, the bad and the ugly"></a>Yesterday Google began rolling out video support for GMail. The support is in form of a browser plugin, which is currently available for Mac and Windows platform. While it&#8217;s nice that GMail gets audio and video capabilities, having to download &#8230;<p class="read-more"><a href="http://senko.net/gmail-videochat-the-good-the-bad-and-the-ugly/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/gmail-videochat-the-good-the-bad-and-the-ugly/" title="GMail VideoChat - the good, the bad and the ugly"></a><p><img style="padding: 0.5em;" src="/static/gvideo.jpg" align="right" alt="" /></p>
<p>Yesterday Google began rolling out <a href="http://gmailblog.blogspot.com/2008/11/say-hello-to-gmail-voice-and-video-chat.html">video support for GMail</a>. The support is in form of a browser plugin, which is currently available for Mac and Windows platform.</p>
<p>While it&#8217;s nice that GMail gets audio and video capabilities, having to download and install plugin voids the webapp benefts (available anywhere), and raises a question on why videochat wasn&#8217;t done as an upgrade to desktop Google GTalk client.</p>
<h3>The devil is in the (protocol) details</h3>
<p>What&#8217;s more problematic is the way Google decided to implement these features in the protocol. As GTalk is actually XMPP (with a couple of Google extensions), the good news is that Google continues using XMPP for the new features. The bad news is that Google completely ignored <a href="http://xmpp.org/extensions/xep-0167.html">XMPP standard for voice and video (a.k.a Jingle RTP) sessions</a>, and invented their own signalling.</p>
<p>To make matters worse, the way they decided to implement it is really screwed up. In a video call, there&#8217;s typically two media streams &#8211; one for video and one for audio (if you don&#8217;t want audio, you can set up just the video one). Google&#8217;s videochat also uses two streams &#8211; <em>but</em>, instead of signalling them as two jingle contents, they bundle all the information into one stream, and then have to do ugly hacks with transport candidate naming to distinguish between ports for each of those, and so on.)</p>
<p>All this can be worked around with, and while it will make everyone&#8217;s client into shpagetthi code for supporting such a twisted implementation, it can (and will) be solved. The real problem is that,they&#8217;ve decided on supporting only one codec, H.264/SVC that practically nobody uses (well, up until now), and that has no free implementations (apparently they&#8217;re using the codecs from <a href="http://www.vidyo.com/">Vidyo</a>). They could&#8217;ve added additional support for any other codec (e.g. H.263, or Theora), that could be used when calling from/to non-gmail client) .. but they didn&#8217;t.</p>
<p>While they might have the best of intentions, this all looks very different from the &#8220;spirit of open communications&#8221; they&#8217;re mentioning. While it&#8217;s too late for them to change the signalling protocol, I hope they&#8217;ll be more sensible about the codecs, support more open (or at least more widely used) ones, and try to play nicer with the rest of us.</p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/gmail-videochat-the-good-the-bad-and-the-ugly/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Telepathy slides from DORS/CLUC &#8217;08</title>
		<link>http://senko.net/telepathy-slides-from-dorscluc-08/</link>
		<comments>http://senko.net/telepathy-slides-from-dorscluc-08/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 00:55:51 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://blog.senko.net/2008/04/30/telepathy-slides-from-dorscluc-08/</guid>
		<description><![CDATA[<a href="http://senko.net/telepathy-slides-from-dorscluc-08/" title="Telepathy slides from DORS/CLUC &#039;08"></a>A few days ago (actually two weeks ago, but those were pretty hectic weeks) I attended Croatian Linux User&#8217;s Conference [DORS/CLUC'08], and gave a presentation about Telepathy there. Although the slides are in Croatian [well, a few words, anyways, because &#8230;<p class="read-more"><a href="http://senko.net/telepathy-slides-from-dorscluc-08/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/telepathy-slides-from-dorscluc-08/" title="Telepathy slides from DORS/CLUC &#039;08"></a><p>A few days ago (actually two weeks ago, but those were pretty hectic weeks) I attended <a href="http://www.open.hr/dc2008/">Croatian Linux User&#8217;s Conference [DORS/CLUC'08]</a>, and gave a presentation about <a href="http://telepathy.freedesktop.org/">Telepathy</a> there.</p>
<p>Although the slides are in Croatian [well, a few words, anyways, because I didn't force translations for untranslatable terms], there were some english-speaking people in the crowd so I presented in English (and was a bit anxious about it and rushed up a bit, but I think it came through fairly well in the end).</p>
<p>The talks were filmed so I hope there&#8217;s going to be a video available at some point, but in the meantime, you can check out the presentation slides (<a href="/static/Telepathy-CLUC08.pdf">PDF here</a>):</p>
<div style="width:425px;text-align:left" id="__ss_358999"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=telepathycluc08-1208460225748982-9"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=telepathycluc08-1208460225748982-9" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/senkorasic/telepathy-on-cluc2008?src=embed" title="View 'Telepathy on CLUC2008' on SlideShare">View</a> | <a href="http://www.slideshare.net/upload?src=embed">Upload your own</a></div>
</div>
<p><em>Update: fixed the broken PDF version of the slides.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/telepathy-slides-from-dorscluc-08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting to AIM/ICQ with telepathy-gabble</title>
		<link>http://senko.net/connecting-to-aimicq-with-telepathy-gabble/</link>
		<comments>http://senko.net/connecting-to-aimicq-with-telepathy-gabble/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 02:44:42 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://blog.senko.net/2008/01/18/connecting-to-aimicq-with-telepathy-gabble/</guid>
		<description><![CDATA[<a href="http://senko.net/connecting-to-aimicq-with-telepathy-gabble/" title="Connecting to AIM/ICQ with telepathy-gabble"></a>&#8230;is possible starting from today, because AOL seems to have implemented official XMPPAIM bridge! I don&#8217;t have the link to the official anouncement (if there is any), and got the good news via Florian Jensen&#8217;s Weblog. It&#8217;s great to see &#8230;<p class="read-more"><a href="http://senko.net/connecting-to-aimicq-with-telepathy-gabble/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/connecting-to-aimicq-with-telepathy-gabble/" title="Connecting to AIM/ICQ with telepathy-gabble"></a><p>&#8230;is possible starting from today, because AOL seems to have implemented official XMPP<->AIM bridge!</p>
<p>I don&#8217;t have the link to the official anouncement (if there is any), and got the good news via <a href="http://florianjensen.com/2008/01/17/aol-adopting-xmpp-aka-jabber/">Florian Jensen&#8217;s Weblog</a>. It&#8217;s great to see XMPP getting more and more acknowledge as the de-facto standard IM protocol (today already 4 big &#8220;networks&#8221; use it &#8211; Jabber, GTalk, AIM and ICQ).</p>
<p>Of course, Telepathy users have already had the ability to connect to their AIM/ICQ accounts using great <a href="http://telepathy.freedesktop.org/releases/telepathy-haze/">telepathy-haze</a> which provides suppor for a host of protocols using Pidgin&#8217;s <a href="developer.pidgin.im/wiki/WhatIsLibpurple">libpurple</a>.</p>
<p>But, for this excercise, we&#8217;ll be using telepathy-gabble and the XMPP protocol. You&#8217;ll need a recent <a href="http://telepathy.freedesktop.org/releases/telepathy-gabble/">telepathy-gabble</a> (0.7.2 is fresh from the oven, 0.7.1 should also work) and <a href="http://www.loudmouth-project.org/">loudmouth</a> (1.3.3 is the latest, 1.3.2 will probably work too). If you&#8217;re using Ubuntu Hardy Heron or Debian Unstable, you may already have the required packages available in your nearby repos.</p>
<p>The reason newer gabble is needed is because AOL XMPP doesn&#8217;t do old-style SSL (on port 5223), but TLS is required. Sadly, they don&#8217;t seem to have a valid certificate installed, so for now you&#8217;ll have to set ignore-ssl-errors flag (or, alternatively, not set require-encryption because it defaults to not ignoring ssl errors). Also, it seems their server are getting quite overloaded (or are still pretty buggy), so it might take several attempts to successfully establish connection. Also, from my experience, AOL really hates it if you try to reconnect too fast, so keep that in mind.</p>
<p>Params for the connection are:</p>
<ul>
<li>server: xmpp.oscar.aol.com</li>
<li>port: 5222</li>
<li>username: uin@aol.com (or your aim username, presumably)</li>
</ul>
<p>Now we wait to see what MSN does. (If you don&#8217;t want to wait, there&#8217;s telepathy-butterfly and <a href="http://telepathy.freedesktop.org/wiki/Pymsn">pymsn</a>, and, of course, again telepathy-haze :)<!--ac4bef31981d468c771b2b8d8f74074a--><!--c2f0793ccaf62ce13d15263d2288fa6b--></p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/connecting-to-aimicq-with-telepathy-gabble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Epiphany plugin update</title>
		<link>http://senko.net/epiphany-plugin-update/</link>
		<comments>http://senko.net/epiphany-plugin-update/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 12:36:28 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://blog.senko.net/2007/08/26/epiphany-plugin-update/</guid>
		<description><![CDATA[<a href="http://senko.net/epiphany-plugin-update/" title="Epiphany plugin update"></a>Since my original Epiphany plugin hack, Empathy has matured and now sports new and improved version of Python bindings, including working bindings for Empathy-GTK, so we can reuse its widgets in other apps instead of reinventing half-assed ones. So, I&#8217;ve &#8230;<p class="read-more"><a href="http://senko.net/epiphany-plugin-update/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/epiphany-plugin-update/" title="Epiphany plugin update"></a><p>Since my original <a href="http://blog.senko.net/2007/07/19/emphatic-epiphany/">Epiphany plugin hack</a>, Empathy has matured and now sports new and improved version of Python bindings, including working bindings for Empathy-GTK, so we can reuse its widgets in other apps instead of reinventing half-assed ones.</p>
<p>So, I&#8217;ve updated the hack to work with the new bindings, and to use fancy Empathy&#8217;s ContactListView widget with contacts&#8217; aliases, avatars and status messages, instead of plain ol&#8217; boring JID list. I think it&#8217;s now usable (and pretty) enough to actually be used everyday, and not just an example of what could be done &#8211; so if you&#8217;ve got working Empathy setup already, give it a try! You can download the new version here: <a href="/static/emphalink-0.1.py">Empathy Link Share</a></p>
<p><center><img src="/static/epiphany+empathy-0.1.png" /><br /><i>Obligatory screenshot</i></center></p>
<p>Empathy and the bindings are still in heavy development, so it&#8217;s no surprise if some things don&#8217;t work as expected. If you get assertions like <code>CRITICAL **: empathy_contact_list_get_members: assertion `EMPATHY_IS_CONTACT_LIST (list)'</code> when you try to run the script although you are online, you might want to try and patch the bindings with <a href="http://projects.collabora.co.uk/~ptlo/lemur/patches/pyempathygtk.defs.diff">this</a>. Just go into <code>empathy/python/pyempathygtk/</code> directory, patch it with <code>patch -p0 < path_to_diff_file</code> and rerun make and make install in the project directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/epiphany-plugin-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Emphatic Epiphany</title>
		<link>http://senko.net/emphatic-epiphany/</link>
		<comments>http://senko.net/emphatic-epiphany/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 17:00:54 +0000</pubDate>
		<dc:creator>Senko</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://blog.senko.net/2007/07/19/emphatic-epiphany/</guid>
		<description><![CDATA[<a href="http://senko.net/emphatic-epiphany/" title="Emphatic Epiphany"></a>Update: I&#8217;ve updated the extension to a newer version of Empathy (0.12+), you can read about it here. There&#8217;s lots of exciting things going on in Telepathy and Empathy projects. Telepathy has been quite stable and usable for some time &#8230;<p class="read-more"><a href="http://senko.net/emphatic-epiphany/">Više &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://senko.net/emphatic-epiphany/" title="Emphatic Epiphany"></a><p><em>Update: I&#8217;ve updated the extension to a newer version of Empathy (0.12+), you can read about it <a href="http://blog.senko.net/2007/08/26/epiphany-plugin-update/">here</a>.</em></p>
<p>
There&#8217;s lots of exciting things going on in <a href="http://telepathy.freedesktop.org/">Telepathy</a> and <a href="http://live.gnome.org/Empathy">Empathy</a> projects. Telepathy has been quite stable and usable for some time now, but since it&#8217;s really a backend service, it wasn&#8217;t very visible on the desktop, and the Empathy client (a fork of Gossip) is still mainly used as a standalone client.
</p>
<p>
Better way to use Empathy is actually to use the provided API and widgets and incorporate them into other applications and desktop components, so that the instant communication (both text-based and audio/video) really becomes a first-class object in GNOME and free desktops in general. There is some work already on the way &#8211; <a href="http://treitter.livejournal.com/1046.html">Soylent</a> can use contact information provided by Telepathy to display information about the contacts, and there is a Google SoC project to enable <a href="http://www.jokosher.org/">Jokosher</a> to use audio calls (using Telepathy) as Jokosher instruments.
</p>
<p>
Empathy provides a rich set of reusable components which can be used to easily incorporate im-related stuff into other application, and consists of two libraries, libempathy, which is the core API not dependant on GNOME or GTK+ (glib is required, though), and libempathy-gtk, a set of readily-available widget for things such as contact lists, account creation, chat windows, etc. Empathy is written in C, but one of the benefits of the Jokosher+Telepathy projects (which aims to reuse Empathy widgets) is that we now have Python bindings for Empathy! It&#8217;s a work in progress and some things are missing, but it is already usable.
</p>
<p>
To show how easy it is to integrate IM components into other application, and why it would be nice to do it in the first place, I&#8217;ve spent a couple of hours writing an Epiphany extension that allows the user to share the links on a web page with their IM contacts. Most of the time was spent figuring out how to make an Epiphany extension, and installing<br />
the required Empathy libraries and bindings.
</p>
<p>
The result:<br />
<img src="/static/em1.png" /><br />
<i>Hover over the interesting link and right click</i><br/><br />
<img src="/static/em2.png" /><br />
<i>Select one of your contacts</i><br/><br />
<img src="/static/em3.png" /><br />
<i>The contact gets the message with the link</i><br/>
</p>
<p>
The code for the extension is <a href="/static/emphalink.py">here</a>. As you can see, the actual code for getting the contacts and initiating the chat is the smallest part of the extension :) The stuff is currently just a hack and needs to be cleaned up and properly packaged, which I do intend to do in the near future, by which time hopefully the pyempathy-gtk will be stable enough to sport real contact list chooser widgets instead of a hacked-up version I did here.
</p>
<p><em>Update: I&#8217;ve confused Sabayon with Soylent. Thanks to cassidy for the correction</em></p>
]]></content:encoded>
			<wfw:commentRss>http://senko.net/emphatic-epiphany/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

