<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/">
<channel>
<title>invention</title>
<link>http://www.translate.org.za/blogs/david/archives/cat_3/index.html</link>
<description>David Fraser</description>
<dc:language>en-za</dc:language>
<dc:creator>David Fraser</dc:creator>
<dc:date>2007-05-17T18:00:13+02:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<item>
<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>
<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>
<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>
<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>
<link>http://www.translate.org.za/blogs/david/archives/2006/04/05/T09_34_10/index.html</link>
<title>Sourceforge CVS woes and Pootle templatisation</title>
<dc:date>2006-04-05T09:34:10+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools, development</dc:subject>
<description>
<![CDATA[This latest Sourceforge CVS outage has been most unfortunate. 
We tried to do a bug day aroud the one the week before, which was also
unfortunate... Now for almost a week we haven't had any CVS access, and we had
planned a release in that time of Pootle and the translate toolkit.
<br /><br />
Good thing I had a script getting the CVS tarballs as we could set that up as
an alternate (read-only) root. I then set up a different directory I used off
that root and maintained a queue of patches... which I applied this morning as
follows:
<br /><br />
<code>
  for f in `ls offline-patches/*.patch -t -r`
    do
      patch -p0 < $f
      echo $f
      for g in `lsdiff $f`
        do
          grep `basename "$g"` `dirname "$g"`/CVS/Entries || cvs add $g
        done
      cvs-commit `lsdiff $f`
  done
</code>
<br /><br />
I've now basically completed converting
<a href="http://translate.sourceforge.net/wiki/pootle/">Pootle</a> to work
using <a href="http://kid.lesscode.org/">Kid templates</a> which makes the
code a lot cleaner (was using an old object-based HTML construction set).
<br /><br />
A few things to sort out (spell-checking system), but it mostly works beautifully.
The UI is exactly the same as before, but we should now be able to improve it
without messing around with the Python code.
<br /><br />
This is all on the Pootle-kid-conversion branch, and you'll need at least
version 0.7.6 of <a href="http://jtoolkit.sourceforge.net">jToolkit</a> to run
it. Other requirements have increased -
<a href="http://kid.lesscode.org/">Kid</a> requires
<a href="http://effbot.org/downloads/#elementtree">ElementTree</a> too. This
is now documented in the
<a href="http://translate.sourceforge.net/wiki/pootleadmin">pootleadmin</a>
page on the wiki.
<br /><br />
I've been wanting to get this going for ages, so it's nice to finally have it
done.]]>
</description>
</item>
<item>
<link>http://www.translate.org.za/blogs/david/archives/2006/02/20/T19_33_50/index.html</link>
<title>Translate Toolkit 0.8 is out</title>
<dc:date>2006-02-20T19:33:50+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools, development</dc:subject>
<description>
<![CDATA[Something I have been promising for many months has finally happened...
We've been going backwards and forwards with so-called "release candidates"
for 0.8 that were really betas or new versions, I managed eight!
<br /><br />
The combined effect of this and doing the last release candidate when Pavel
was too busy with OOo 2.0.2 is that nobody's complained about the last one.
<br /><br />
But we did have a bug day, add lots of tests and fix lots of bugs. There's a
new branch for the 0.8 series if any bug fixes are needed, so please report if
you find any problems.
<br /><br />
New work on the HEAD branch will focus on the wordforge project.
<br /><br />
This is just a quick announcement for those interested as we've got another
power failure - the Western Cape is having fun with those at the moment  <img src="http://www.translate.org.za/blogs/david/moods/smilies/smiley.gif" alt=":-)" />]]>
</description>
</item>
<item>
<link>http://www.translate.org.za/blogs/david/archives/2006/02/03/T09_59_21/index.html</link>
<title>A great leap to freedom</title>
<dc:date>2006-02-03T09:59:21+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools</dc:subject>
<description>
<![CDATA[We had a great <a href="http://translate.sourceforge.net/wiki/toolkit/bugday-0-8">Bug Day</a>
for the <a href="http://translate.sourceforge.net/wiki/toolkit/index">Translate Toolkit</a>.
<br /><br />
I wrote little scripts to track bug and test status on different machines,
giving these results:
<br /><br />
<b>Bug resolution</b>
<pre>
10:20  NEW 23  ASSIGNED 2  RESOLVED 21  VERIFIED 3  TOTAL 50
10:40  NEW 22  ASSIGNED 2  RESOLVED 22  VERIFIED 3  TOTAL 50
11:00  NEW 21  ASSIGNED 2  RESOLVED 23  VERIFIED 3  TOTAL 50
11:20  NEW 19  ASSIGNED 1  RESOLVED 26  VERIFIED 3  TOTAL 50
12:20  NEW 17  ASSIGNED 1  RESOLVED 28  VERIFIED 3  TOTAL 50
14:20  NEW 17  ASSIGNED 1  RESOLVED 27  VERIFIED 3  TOTAL 50
14:40  NEW 15  ASSIGNED 1  RESOLVED 29  VERIFIED 3  TOTAL 50
</pre>
<br /><br />
So we basically resolved 14 bugs, nice progress.
<br /><br />
<b>Test status</b>
<pre>
09:20 83 passed, 2 failed
10:00 87 passed, 2 failed
10:20 90 passed, 1 failed
10:40 93 passed
11:00 92 passed, 1 failed
11:20 93 passed
11:40 95 passed
17:20 95 passed
17:32 99 passed, 1 failed
</pre>
<br /><br />
So we added 15 new tests, all except one of which pass (Dwayne added it
later), and hopefully we can fix that soon.
<br /><br />
A lot of these problems have been hanging around for ages, and having a bug
day was a nice way to get everyone together and finish them off. Thanks to all
who participated!
<br /><br />
The bug day was called <b>Long Walk to Freedom</b> but I concluded we made a
<b>Great Leap Forward</b> :-). The main point behind all of this is to release
version 0.8 (which we've branched for) as a stable version that everyone's
happy with, and then move on with other plans... In the past we've been doing
too much normal development work in between "release candidates", with the
result that things have been broken, which means this has dribbled on for
months. Unit tests are a nice aid to making sure we don't break things.
<br /><br />
Once the final test is fixed, I'll do a release candidate, make sure
everyone's happy, then release 0.8 (I hope I don't find myself reading this in
a few months time without this done!)
<br /><br />
The new things we're moving on to are encapsulated in the
<a href="http://translate.sourceforge.net/wiki/wordforge/index">WordForge</a>
project, and I'm quite excited about them. It should make a big difference to
open source localisation projects in the future.]]>
</description>
</item>
<item>
<link>http://www.translate.org.za/blogs/david/archives/2005/11/29/T10_31_13/index.html</link>
<title>Interesting articles...</title>
<dc:date>2005-11-29T10:31:13+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>openoffice, language, tools, ideas</dc:subject>
<description>
<![CDATA[Some interesting articles to read when I came back from holiday. It seems Swahili free software stuff is moving forward in lots of fronts. Tomorrow I'm going up to Pretoria to train some of the <a href="http://www.kilinux.org/">KiLinux</a> team  on using <a href="http://www.go-oo.org">ooo-build</a> for building localized <a href="http://www.openoffice.org/">OpenOffice.org</a>.
<br /><br />
<a href="http://www.courant.com/hc-swahili.artnov20,0,3635313.story?track=mostemailedlink">Kamusi Project Internet Living Swahili Dictionary</a> is a good read, this is a great project.
<br /><br />
<a href="http://www.tectonic.co.za/view.php?id=716&s=news">Tanzanian government uses OSS for localisation</a> shows how the government is realising the importance of free software.
<br /><br />
Also found this article on the Guardian on <a href="http://www.guardian.co.uk/comment/story/0,3604,1646125,00.html">Owning ideas</a> a good read - not neccessarily technically right in everything, but has some good insight and is accessible to people unfamiliar with the debates... e.g. <i>Patenting ideas rewards failure and makes success more difficult.</i> ... <i>This is madness. Ideas aren't things. They're much more valuable than that</i>
<br /><br />
Looks like Firefox 1.5 is going to be released shortly, thus making this a fun week  <img src="http://www.translate.org.za/blogs/david/moods/smilies/smiley.gif" alt=":-)" />  Most of the issues in the translate toolkit for Firefox 1.5 have been resolved, there are still some that I'm working on but people seem able to produce their translations OK using it.]]>
</description>
</item>
<item>
<link>http://www.translate.org.za/blogs/david/archives/2005/11/19/T08_52_18/index.html</link>
<title>translate-toolkit 0.8rc5 and a holiday</title>
<dc:date>2005-11-19T08:52:18+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>openoffice, tools</dc:subject>
<description>
<![CDATA[Well I clearly didn't manage to release 0.8, there has been a fair bit of patching and adding tests (particularly ensuring round-trip maintenance of source files in Mozilla, David Farning has been filing many bugs). And quite a few bugs in <a href="http://bugs.wordforge.org/">our bugzilla</a> have been fixed.
<br /><br />
I'm off on a week-long break so I've <a href="http://translate.sourceforge.net/releases/translate-toolkit-0.8rc5/">released 0.8rc5</a> (with a Windows build that the snapshots don't have) for anyone wanting to use the latest code.
<br /><br />
I did my first real patch for OpenOffice.org: <a href="http://www.openoffice.org/issues/show_bug.cgi?id=12719">Support for multiscreen displays</a> in Impress is now beginning to work (but more work to do as you'll see in the bug).]]>
</description>
</item>
<item>
<link>http://www.translate.org.za/blogs/david/archives/2005/10/28/T17_07_27/index.html</link>
<title>Translate Toolkit now working on Firefox 1.5 xpis</title>
<dc:date>2005-10-28T17:07:27+02:00</dc:date>
<dc:creator>David Fraser</dc:creator>
<dc:subject>tools</dc:subject>
<description>
<![CDATA[I have finally gotten round to fixing up the <a href="http://translate.sourceforge.net/">Translate Toolkit</a> so that moz2po / po2moz can be properly used with language pack xpis from the Firefox 1.5 series.
<br /><br />
<pre>
  moz2po -i en-US.xpi -o firefox-pot/ -P
  # convert to .po files, edit / merge with other .po files
  po2moz -t en-US.xpi -i firefox-po-${lang}/ -o ${lang}.xpi -l ${lang}
</pre>
<br /><br />
And that's literally all that's needed! The next <a href="http://translate.sourceforge.net/snapshots/">snapshot</a> should work, and I'll aim for a release by Monday.]]>
</description>
</item>
</channel>
</rss>

