<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF
[
<!ENTITY % HTMLlat1 PUBLIC
 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
]>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:admin="http://webns.net/mvcb/">
<channel rdf:about="http://www.translate.org.za/blogs/david">
<title>invention</title>
<link>http://www.translate.org.za/blogs/david</link>
<description>David Fraser</description>
<dc:language>en-za</dc:language>
<dc:creator>David Fraser</dc:creator>
<dc:date>2007-05-17T18:00:28+02:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2007/05/17/T12_22_04/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2007/05/14/T22_25_24/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/10/12/T17_11_07/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/10/05/T21_58_13/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/06/13/T09_49_26/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/06/02/T09_18_03/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/05/23/T20_00_53/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/05/15/T14_14_10/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/05/11/T15_12_38/index.html" />
<rdf:li rdf:resource="http://www.translate.org.za/blogs/david/archives/2006/05/10/T12_52_39/index.html" />
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2007/05/17/T12_22_04/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2007/05/17/T12_22_04/index.html</link>
<title>Plugging Skype and Pidgin together</title>
<dc:date>2007-05-17T12:22:04+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools, development, ideas, opensource</dc:subject>
<description>
<![CDATA[After thinking about <a href="http://www.translate.org.za/blogs/david/archives/2007/05/14/T22_25_24/index.html">de-nuctifying the world</a>
I've started to investigate creating a <a href="http://pidgin.im">Pidgin</a>
(formerly <a href="http://gaim.sourceforge.net/">Gaim</a>) plugin to control
<a href="http://www.skype.com">Skype</a>. This means you're still using a
closed network, but from an open program, which makes migrating easier (and
allows people to try multiple networks from the same interface).
<br /><br />
The <a href="https://developer.skype.com/Docs/ApiDoc/src">Skype API docs</a>
are pretty good and it looks like the API can support at least controlling
status, sending and receiving text messages, and making and receiving phone
calls. So in principle a Skype plugin for Pidgin is a possibility.
<br /><br />
There are a few docs on writing libpurple plugins for Pidgin but less
comprehensively - the 
<a href="http://developer.pidgin.im/wiki/siege">author</a> of the
Sametime plugin or the guy working on a
<a href="http://developer.pidgin.im/wiki/MySpaceIM">MySpaceIM plugin</a>
probably know exactly how it works (the MySpaceIM plugin is a Google Summer of
Code project that fits in with my idea very nicely). There is a C Plugin HOWTO
in the source code which should get things started. Some ideas in the 
<a href="http://trac.adiumx.com/ticket/247">Adium Skype plugin bug</a> as
well.
<br /><br />
On the way I read
<a href="http://www.secdev.org/conf/skype_BHEU06.handout.pdf">Silver Needle in the Skype</a>
which is an article on reverse-engineering Skype and using it - very
interesting tech reading... but a shame they haven't made the code available
<br /><br />
Well since it's 8 days till we leave Cape Town and head to Japan I'm not
planning to actually <i>do</i> anything about this, but thought I'd write it
up so I don't lose the links...
<br /><br />
PS This blog doesn't currently have a comment mechanism so email comments are
welcome to davidf <i>at</i> sjsoft <i>dot</i> com.]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2007/05/14/T22_25_24/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2007/05/14/T22_25_24/index.html</link>
<title>De-nuct-ifying the world</title>
<dc:date>2007-05-14T22:25:24+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>ideas, opensource</dc:subject>
<description>
<![CDATA[I've had a strange experience over the past year, and it's getting more
common. As a developer, I used to be the one recommending software/tech things to my
friends. Now all my non-technical friends have started recommending things
to me that they have discovered on the intar-web.  The trouble is, they're
almost all closed systems - apparently free, but under the control of one
group.
<br /><br />
It started with <a href="http://www.skype.com">Skype</a>. Then
<a href="http://www.xanga.com/">xanga</a>. And most recently it's been
<a href="http://www.facebook.com/">facebook</a>. The speed with which facebook
has spread amongst various of our friends is impressive. Some things about it
are really good too - they're beginning to understand the sorts of things you
can do with the Web.
<br /><br />
But it's hard to explain that these sorts of things are the point of the Web
as a Whole, rather than being a neat idea that can only work on a particular
site. No-one understands the negative effects of a closed network. Or even
more, the potential positive effects they're missing. Part of the problem is
vocabulary - if you don't even have words to encapsulate the concepts to
communicate, it's hard to argue for something. Open and closed networks are
clear concepts to me but it's nice to embellish them somewhat.
<br /><br />
So here's my attempt: A closed network utility under the control of one group
that doesn't let you federate is called a <b>nuct</b> (a <b>N</b>etwork
<b>U</b>tility <b>C</b>ontrol <b>T</b>rap - don't let them innuct you into
it). If you encounter one, you need a way of interacting with it that doesn't
suck you in. The point of closed systems is of course, to prevent this.
<br /><br />
But no-one seems to be doing the work required to break these things open
We need a <i>nuct-cracker suite</i> (drum roll)
<br /><br />
A simple start on easy ways to start breaking things open:
<br /><br />
<ul>
  <li>open APIs to access data locked up in closed networks
    <ul>
      <li>a suite for different kinds of apps</li>
      <li>social networks - same API to different ones</li>
    </ul>
  </li>
  <li>plugins to open source open standards programs to interoperate with those
networks
    <ul>
      <li>e.g. plugin to Gaim to control Skype</li>
    </ul>
  </li>
  <li>open source servers with open APIs to replace the closed networks</li>
  <li>deploy and let the network effect take place</li>
</ul>
<br /><br />
The trouble with tech pseudo-values: they're not the 
<a href="http://www.desiringgod.org/ResourceLibrary/TopicIndex/10/1217_God_Is_the_Gospel/">gospel</a>.
So on the one hand there comes a limit to avoiding things that would help good
friendships because I think they could be done better. But more simply, I
don't have enough time to actually create the online world the way I want it
to be...
<br /><br />
Is anyone doing something like this?]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/10/12/T17_11_07/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/10/12/T17_11_07/index.html</link>
<title>Caolan McNamara vs the Sun Global Special Store</title>
<dc:date>2006-10-12T17:11:07+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>openoffice, opensource</dc:subject>
<description>
<![CDATA[<a href="http://jroller.com/page/erAck">Eike Rathke</a> points out the new
<a href="http://globalspecials.sun.com/servlet/ControllerServlet?Action=DisplayPage&Locale=en_US&id=ProductDetailsPage&SiteID=sunstor&productID=50984800">Sun Weblog Publisher</a>
you can buy for $9.95 for blogging from within OpenOffice.org Writer
(or StarOffice, not that I know anyone who has that :-)).
<br /><br />
Sounds <a href="http://blogs.linux.ie/caolan/2005/10/06/ooo-blogger/">remarkably</a>
<a href="http://blogs.linux.ie/caolan/2005/10/11/metaweblog-support/">familiar</a>.
I wonder if <a href="http://blogs.linux.ie/caolan/">Caolan</a> has thought of
trying to sell <a href="http://people.redhat.com/caolanm/oooblogger/">oooblogger</a>...]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/10/05/T21_58_13/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/10/05/T21_58_13/index.html</link>
<title>Finding projects using Pootle with Google code search</title>
<dc:date>2006-10-05T21:58:13+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools, ideas, opensource</dc:subject>
<description>
<![CDATA[Well seeing as Google has release a <a
href="http://www.google.com/codesearch">Code Search</a> on open source code, I
thought I would put it to good use: searching for
<a href="http://www.google.com/codesearch?as_q=pootle&as_filename=.po$">pootle</a>
in filenames ending with .po helps you to quickly find some projects that are
using Pootle to edit their PO files, and you can even see which version  <img src="http://www.translate.org.za/blogs/david/moods/smilies/smiley.gif" alt=":-)" />
<br /><br />
Another nice way of showing how <a href="http://pootle.wordforge.org/">Pootle</a> is gaining traction...]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/06/13/T09_49_26/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/06/13/T09_49_26/index.html</link>
<title>Pootle and Translate Toolkit Development 2006-06-13</title>
<dc:date>2006-06-13T09:49:26+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools, development</dc:subject>
<description>
<![CDATA[There's been lots of discussion recently about Pootle on the debian lists, the
direction it should take, whether to use a database to store translations,
etc... It may be a nice idea to add a database as one of the backend options
but keeping with handling the complexity of translation files has been
important. Seems like a good consensus to this effect is emerging; it's nice
to have more interest in the project.
<br /><br />
I've tried to keep coding rather than get too drawn into the discussion, and
this is what I've been up to the last week:
<br /><br />
<b>Pootle:</b>
Mostly ongoing architecture work, feels like we're heading towards a good
structure...
<ul>
  <li>Wrote up discussion on
    <a href="http://translate.sourceforge.net/wiki/pootle/metadata">putting metadata into a relational database</a>
  </li>
  <li>Base class migration work on the Pootle-locking-branch: made pootleunit and
    pootlefile encapsulate a pounit and pofile respectively rather than
    inheriting from them. This will make it possible to use other storage classes
    (although there is still more cleaning up needed where we use PO-specific
    methods).</li>
  <li>Participated (minimally) in the debian discussions on direction of Pootle
    and using databases</li>
  <li>Fixing some minor bugs in the webserver etc</li>
</ul>
<br /><br />
<b>Translate Toolkit:</b>
Focused on escaping being correct and using the base classes
<ul>
  <li>Sorted out escaping in dtds - it doesn't exist. So we will no longer support
    \' or \n having a special meaning in dtd files, being translated to \n in a
    PO file etc</li>
  <li>Fixed various failing tests for 0.9 (including fixing some modifications we
    were doing to the minidom XML library)</li>
  <li>Added some tests for dtd quoting to HEAD - currently we allow opening a
    quote again after it is shut (&lt;!ENTITY name "first part""second part"&gt;)
    which is invalid according to the spec - just for correctness, haven't hit any
    errors here</li>
  <li>Making properties to PO conversion use base class API more, sorting out
    escaping there</li>
  <li>Discussion with Axel from Mozilla - for 0.9 the Mozilla .properties
    files will be output in proper UTF-8, not with \uNNNN escaping (although
    that will still be understood as input. See
    <a href="http://bugs.wordforge.org/show_bug.cgi?id==114">bug 114</a></li>
  <li>Made dtd classes inherit from base classes - could be made cleaner, but at
    least the API is implemented now</li>
</ul>]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/06/02/T09_18_03/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/06/02/T09_18_03/index.html</link>
<title>Stardust Nasty Macro Application for OpenOffice.org</title>
<dc:date>2006-06-02T09:18:03+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>openoffice</dc:subject>
<description>
<![CDATA[<a href="http://it.slashdot.org/article.pl?sid=06/06/01/1419216">Slashdot
reported</a> <a href="http://www.viruslist.com/en/weblog?weblogid=187738337">Kaspersky labs discovering</a>
the <a href="http://www.viruslist.com/en/viruses/encyclopedia?virusid=123066">Stardust "nasty macro application"</a>
for StarOffice/OpenOffice.org
<br /><br />
This is not really a virus, it is a nasty macro application. If you are foolish
enough to agree to run it without checking what it does, you will suffer the
consequences...
<br /><br />
Not many technical details in the above links, but
<a href="http://stuff.techwhack.com/archives/2006/05/31/stardust/">TechWack</a>
says the following:
<br /><br />
<blockquote>Antivirus firm Kaspersky is calling the virus "Stardust". This virus is
basically contained in a StarOffice document that uses macros and then infects
a global template, which is used by the application to generate new documents.
If a victim opens the file carrying this virus, Stardust copies it into the
global template and all contained in a StarOffice document that uses macros
and then infects a global template gets infected by it used by that copy of
the software.</blockquote>
<br /><br />
Of course (as paveljanik pointed out I hadn't said in the original version of
this entry), <b>this is all nothing to be afraid of</b>. I only linked the
above information because there are no actual details about this perceived
problem, but I'm not saying it's actually a serious problem!]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/05/23/T20_00_53/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/05/23/T20_00_53/index.html</link>
<title>Data Entry in OpenOffice.org Calc</title>
<dc:date>2006-05-23T20:00:53+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>openoffice</dc:subject>
<description>
<![CDATA[Pierre-André Galmes has a
<a href="http://devadventure.blogspot.com/2006/05/openofficeorg-calc-tip-typing-data.html">great
tip on typing data</a> in OpenOffice.org calc. Basically select an area and use tab to switch between cells.
<br /><br />
The only problem - I can't see how to get it to work nicely with the AutoComplete
that happens when you start typing the same text as an entry above.
Pressing Enter or arrow key all lose the selection, and pressing Tab gives a beep.
Any ideas?
<br /><br />
(I would have left a comment on his blog, but you have to start your own
Blogger blog to do that...)]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/05/15/T14_14_10/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/05/15/T14_14_10/index.html</link>
<title>Forwarding a wireless network connection from Windows</title>
<dc:date>2006-05-15T14:14:10+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools</dc:subject>
<description>
<![CDATA[Trying to proxy network traffic through my wireless network on my 
laptop which is unfortunately running Windows... (oh, the irony)...
these are handy hinters:
<br /><br />
First, use ssh -D to create a SOCKS proxy. That's fairly easy. Use
<a href="http://tsocks.sourceforge.net/">tsocks</a> to make any application
use the proxy. (Or, try and battle with why GAIM isn't listening to the Gnome
network preferences, then get fed up and run it through tsocksify).
<br /><br />
Next, its helpful to have a caching DNS server. I finally found a good one for
Windows that actually works natively (via cygwin) and doesn't crash: 
<a href="http://posadis.sourceforge.net/">Posadis</a>. Simply start it up and
it functions as a DNS cache. They also include some basic DNS querying tools
that are missing from the Windows command line.
<br /><br />
I also tried using <a href="http://dproxy.sourceforge.net/">dproxy</a> which is
much lighter but although it compiles in cygwin fine it produces various
errors (misformed packets sent in response to queries etc).
<br /><br />
Finally you need to let the Windows machine know to use the wireless network
as its default route rather than the LAN. To do this follow
<a href="http://www.microsoft.com/technet/community/columns/cableguy/cg0903.mspx">this article</a>'s
recommendations to adjust the Automatic metric under Advanced TCP/IP settings
for each network connection (lower is higher priority) otherwise Windows XP
will always select the LAN as the default network. (You can check which is
default by saying 'route print' and seeing what the default gateway is).]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/05/11/T15_12_38/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/05/11/T15_12_38/index.html</link>
<title>Partnership?</title>
<dc:date>2006-05-11T15:12:38+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>opensource</dc:subject>
<description>
<![CDATA[<a href="http://www.apdip.net/news/fossdoc">The Code Breakers</a> looks like
an interesting documentary on open source software around the world...
<br /><br />
But the description contains an hilarious quote: According to Jonathan Murray
of Microsoft "The Open Source community stimulates innovation in software,
it's something that frankly we feel very good about and it's something that we
absolutely see as being a partnership with Microsoft."
<br /><br />
Very kind of them to include us as their partners voluntarily, I must say...]]>
</description>
</item>
<item rdf:about="http://www.translate.org.za/blogs/david/archives/2006/05/10/T12_52_39/index.html">
<link>http://www.translate.org.za/blogs/david/archives/2006/05/10/T12_52_39/index.html</link>
<title>Jingle a better VoIP standard than SIP</title>
<dc:date>2006-05-10T12:52:39+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>opensource</dc:subject>
<description>
<![CDATA[<a href="http://www.gerv.net">Gervase Markham</a> has a nice 
<a href="http://weblogs.mozillazine.org/gerv/archives/2006/05/voip_rant.html">rant</a>
on how complicated SIP is.
<br /><br />
Jingle on Jabber is a much nicer solution if you're not a telecommunications
person yourself. It's an open standard that's much simpler than SIP which
makes it easier to implement, and there are open source libraries available
that provide support, and it is Jabberish which is sensible and makes all the
confederation work nicely. It addresses some of the technical issues that make
people seem to like Skype (getting through firewalls etc) without having some
of its headaches (proxying other people's phone calls through your computer, a
totally mad idea).
<br /><br />
The main issue is that the only current final-release program available with
support is Google Talk; it's not open source and its only available on Windows.
<br /><br />
I'm currently recommending <a href="http://talk.google.com/">Google Talk</a> to 
Windows-using friends in the hope that the best solution will win.
<br /><br />
There are also a few emerging services for doing Jingle-to-Phone calling:
<a href="http://www.gtalk2voip.com/">gtalk2voip</a> seems to work well, I've
also seen <a href="http://www.jabphone.com/">jabphone</a>. gtalk2voip
apparently now also support
<a href="http://www.gtalk2voip.com/gtalk_service_tosip.html">SIP interoperability</a>
(which is only described as currently free of charge).
<br /><br />
And it seems like
<a href="http://www.networkingpipeline.com/blog/archives/2006/04/asterisk_server.html">Asterisk Jingle support</a> is on the way too...
<br /><br />
In terms of open source support, Patches / Branches are available for 
<a href="http://psi-im.org/wiki/Jingle_branch">Psi</a>,
<a href="http://wiki.kde.org/tiki-index.php?page=Kopete+Jabber+Jingle">Kopete</a>
and Gaim (although that one's a bit more tricky to get working). See my blog on
<a href="http://www.translate.org.za/blogs/david/archives/2006/01/27/T09_06_04/index.html">building Psi and Kopete on Fedora Core 4</a>.
Neither were too complex, and that was a few months ago.
<br /><br />
Unfortunately all of these patches/branches are languishing in
we'll-finish-that-at-an-undetermined-date mode, as the projects are busy doing
other things and so on. Yet they all seemed to work reasonably well, a lot of
the remaining work is cleanup and merging to the main branch etc. (The one
most likely to emerge in the official version is Kopete as its in 0.12, which
is in Beta. But I'm not sure whether it'll be included in official builds on various
distros...)
<br /><br />
There are a number of proposals out there to do more work as part of
<a href="http://code.google.com/soc/">Summer of Code</a>,
and I think it would be great if people signed up for these:
<br /><br />
<a href="http://wiki.jabber.org/index.php/Summer_of_Code_2006#Jingle_Audio">Jingle Audio</a>
<a href="http://wiki.jabber.org/index.php/Summer_of_Code_2006#Jingle_Video">Jingle Video</a>
<a href="http://wiki.kde.org/tiki-index.php?page=KDE%20Google%20SoC%202006%20ideas#id530479">Kopete Jingle Support</a>]]>
</description>
</item>
</rdf:RDF>
