<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="html">ideas</title>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david" />
<link rel="self" type="application/atom+xml" href="http://www.translate.org.za/blogs/david/archives/cat_5/index-atom.xml" />
<updated>2007-05-17T17:59:38+02:00</updated>
<author>
<name>David Fraser</name>
<uri>http://www.translate.org.za/blogs/david</uri>
</author>
<id>http://www.translate.org.za/blogs/david/</id>
<generator uri="http://nanoblogger.sourceforge.net" version="3.3 RC5">NanoBlogger</generator>
<entry>
<title type="html">Plugging Skype and Pidgin together</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2007/05/17/T12_22_04/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2007/05/17/T12_22_04/index.html</id>
<published>2007-05-17T12:22:04+02:00</published>
<updated>2007-05-17T12:22:04+02:00</updated>
<category term="tools" />
<category term="development" />
<category term="ideas" />
<category term="opensource" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">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.</div>
</content>
</entry>
<entry>
<title type="html">De-nuct-ifying the world</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2007/05/14/T22_25_24/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2007/05/14/T22_25_24/index.html</id>
<published>2007-05-14T22:25:24+02:00</published>
<updated>2007-05-14T22:25:24+02:00</updated>
<category term="ideas" />
<category term="opensource" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">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?</div>
</content>
</entry>
<entry>
<title type="html">Finding projects using Pootle with Google code search</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2006/10/05/T21_58_13/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2006/10/05/T21_58_13/index.html</id>
<published>2006-10-05T21:58:13+02:00</published>
<updated>2006-10-05T21:58:13+02:00</updated>
<category term="tools" />
<category term="ideas" />
<category term="opensource" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">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&amp;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...</div>
</content>
</entry>
<entry>
<title type="html">Zimbra Mail Discoveries</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2006/03/03/T23_51_45/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2006/03/03/T23_51_45/index.html</id>
<published>2006-03-03T23:51:45+02:00</published>
<updated>2006-03-03T23:51:45+02:00</updated>
<category term="ideas" />
<category term="opensource" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<a href="http://www.zimbra.com">Zimbra</a>is a fantastic open source mail server. It basically wraps Postfix, and has a beautiful webmail interface including a great calendar system. Yes, AJAX, buzzwords, all apply. 
<br />
<br />I've been wanting to migrate my mail into an IMAP server with a nice webmail frontend for a while. The advantages: being able to use mail from more than one machine, including my laptop when away and disconnected, other members of the family being able to use mail, etc, etc. Zimbra seemed like the best fit I'd seen since my last set of investigations (which incorporated dovecot, Hula, etc, etc). 
<br />
<br />At first I thought I'd just try out moving my mail in and see what problems I hit. By the time I had that done, I thought it would be a waste of time to retreat so I advanced headlong into the fray... Thus eating up a week of time or so, in which I was mostly unable to do very much with mail or anything else. (I should have thought beforehand, "I'm not really a mail admin person"). 
<br />
<br />Anyhow, at the end of the process I think its been very successful and am very happy with Zimbra. This post is basically a summary of what I've learnt in the hope that other people will try out Zimbra and I will feel relief at the sense of not having to go through that again... 
<br />
<br />I had around 270000 messages in my Mozilla folder hierarchy, some dating back to around 1996. Total size about 4GB. This meant that the actual process of copying the mails was fairly cumbersome, especially if I wanted to check that everything copied OK (don't want to lose mail in the process!) 
<br />
<br />I installed Zimbra on Fedora Core 4, on my normal development / server machine. Don't be too concerned about the admonition to use a separate server, you can run Zimbra happily alongside existing instances of MySQL, Apache etc (Zimbra installs its own, hopefully in the future you can integrate it into your existing apps). I just needed to set Zimbra to only serve https, then I can access webmail etc on that port and my normal Apache takes care of port 80. 
<br />
<br />I then ended up developing some Python code to be able to do the things I wanted to fix up my mailbox etc. I've called this 
<a href="http://davidf.sjsoft.com/pyzimbra/">pyzimbra</a>. These don't really consist of bindings to Zimbra code yet, but rather code to interact with the database, the message store, etc. 
<br />
<br />Issues encountered included: 
<br />
<br />
<a href="http://bugzilla.zimbra.com/show_bug.cgi?id=6320">Messages that refused to be copied</a>(like finding a needle in a haystack), - I still have to resolve this one, only a dozen or so. 
<br />
<br />Dates on messages that didn't have proper date headers came out as 1st Jan 1970. Dates in the webmail view showed the time the message was copied rather than its original time. To fix these problems I wrote modules to connect to the zimbra database, and find the message file corresponding to each message in the database. I then checked if the message lacked a Date header and gratuitously added one based on other headers like Received (I'm sure this is naughty...). I then update the received date in the database (and alter the content-length if I added a date header). It was quite fun finding my way around the database etc, and the modules for doing this are fairly generic. 
<br />
<br />I'd also like to retrieve the Mozilla Flags (replied to etc) but unfortunately they don't get stored in the headers on the IMAP server after copying so that would involve finding the original message in the Mozilla mailbox that corresponds to the one in the Zimbra store. 
<br />
<br />Migrating my Mozilla mail filters to Zimbra: Zimbra uses 
<a href="http://en.wikipedia.org/wiki/Sieve_%28mail_filtering_language%29">Sieve</a>for mail filtering. There is a nice utility for converting Mozilla's msgFilterRules.dat to a Sieve script (Javascript in a web page - use "/" as a separator in the option): 
<a href="http://www.folgmann.de/en/webapps/mozilla2sieve.html">mozilla2sieve</a>. The Sieve script is stored in an LDAP attribute that I couldn't seem to access. You can access it via the zmprov utility, but there are 
<a href="http://bugzilla.zimbra.com/show_bug.cgi?id=2430">caching problems</a>. 
<br />
<br />The more serious issues are that Zimbra's Sieve implementation uses regular expressions, which makes havoc when you try and download a few thousand messages that have been queuing up and none of them get filtered - it will only display errors with the script when it actually tries to filter them. Look out for [ and *!!! Interestingly the Webmail Filters page basically deals with an XML representation of the Sieve script that it sends back and forth to the server. 
<br />
<br />If you're just running a few accounts through Zimbra and your main domain is hosted elsewhere, the 
<a href="http://wiki.zimbra.com/index.php?title=Split_Domain">Split Domain</a>article on the wiki is really helpful. 
<br />
<br />Since I'm on an ADSL connection with a changing IP address, I'm using fetchmail to retrieve my mail periodically. Refused SPAM messages give a 501 response to the SMTP instruction. 
<br />
<br />Finally I wrote some nice backup scripts and utilities. zimbra/scripts/linkfolders.py is quite neat - it creates a directory structure on disk like the Folder structure in Zimbra, and symlinks the messages to their home on the message store. Nice for working out disk allocation, and as an alternate backup mechanism.</div>
</content>
</entry>
<entry>
<title type="html">Where's the beautiful Nivo from Ndiyo?</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2005/12/08/T11_42_37/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2005/12/08/T11_42_37/index.html</id>
<published>2005-12-08T11:42:37+02:00</published>
<updated>2005-12-08T11:42:37+02:00</updated>
<category term="ideas" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">In about May I read about 
<a href="http://www.ndiyo.org">Ndiyo</a>, a non-profit that's making ultra-thin clients called 
<a href="http://www.ndiyo.org/intro/how">Nivo</a>(Network-In, Video-Out). They're basically designing an FPGA that can support VNC or RDP and so creates a tiny little box that has a network connection, keyboard and mouse connectors, and a VGA out. Some of the team are the original VNC developers, which must help. 
<br />
<br />Absolutely brilliant idea. But the news since then has been silent. They're supposed to be working on a new version offering 
<a href="http://www.ndiyo.org/systems">local USB ports</a>etc, which would be an added bonus. Quentin Stafford-Fraser, one of the founders, 
<a href="http://www.statusq.org/archives/2005/11/18/842/">blogged about it recently</a>, but that's all. 
<a href="http://www.newnhamresearch.com/news/index.htm">Newnham Research</a>, the company they work with, is intentionally keeping a low profile... 
<br />
<br />I think it would be great if they made this available in its current form (costing less than 100 GBP to assemble at low volume!) or at least posted more news rather than disappearing into a developing hole. 
<br />
<br />Update (2006-02-17): more news has indeed emerged, though its not yet commercially available they're having trials (including in South Africa!) and seem to be doing cool stuff...</div>
</content>
</entry>
<entry>
<title type="html">Interesting articles...</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2005/11/29/T10_31_13/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2005/11/29/T10_31_13/index.html</id>
<published>2005-11-29T10:31:13+02:00</published>
<updated>2005-11-29T10:31:13+02:00</updated>
<category term="openoffice" />
<category term="language" />
<category term="tools" />
<category term="ideas" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">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&amp;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.</div>
</content>
</entry>
<entry>
<title type="html">Wireless Hotspots on Lamp Posts</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2004/07/06/T16_55_01/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2004/07/06/T16_55_01/index.html</id>
<published>2004-07-06T16:55:01+02:00</published>
<updated>2004-07-06T16:55:01+02:00</updated>
<category term="ideas" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">An idea I mentioned to 
<a href="http://www.translate.org.za/blogs/dwayne/">Dwayne</a>a while ago - why not 
<a href="http://www.forbes.com/personaltech/2004/06/14/cx_ah_0614tentech.html">use lamp posts to hold WiFi HotSpots</a>- and start a mesh that edges from highways into suburbs...</div>
</content>
</entry>
<entry>
<title type="html">Metadata for the desktop</title>
<author>
<name>David Fraser</name>
</author>
<link rel="alternate" type="text/html" href="http://www.translate.org.za/blogs/david/archives/2004/07/06/T12_26_42/index.html" />
<id>http://www.translate.org.za/blogs/david/archives/2004/07/06/T12_26_42/index.html</id>
<published>2004-07-06T12:26:42+02:00</published>
<updated>2004-07-06T12:26:42+02:00</updated>
<category term="ideas" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">An idea I've been thinking about for a while, so was nice to read 
<a href="http://usefulinc.com/articles/2004/desktop-metadata">Metadata for the desktop</a>by Edd Dumbill. 
<br />
<br />I've really been enjoying using 
<a href="http://ktown.kde.org/kimdaba/">KImDaBa</a>to manage my photos. But it doesn't make it easy to share the photos in a categorized way with those not using Linux, or over the web... I wrote a little 
<a href="http://www.wxpython.org">wxpython</a>app that can read the database. But then I thought, actually a lot of the stuff in KImDaBa would be really useful for indexing other kinds of files (e.g. documents, music, sermon recordings)... but it would really need to be stored as metadata associated with each file. 
<br />
<br />And then I started reading on the 
<a href="http://www.semanticweb.org">semantic web</a>and thought, this is really how it ought to be done, rather than the ad-hoc xml style of KImDaBa. In fact the article by Edd contains a good description of RDF and how applicable it could be on the desktop. 
<br />
<br />The real advantage would come if someone like 
<a href="http://www.freedesktop.org">FreeDesktop.org</a>helped to define a standard way of attaching metadata to files (on a filesystem like Reiser, this can be done in the filesystem, but to work more broadly it would have to be in separate files), and perhaps even standard ways to index this metadata. Then KDE, GNOME, and even Windows tools could all work on top of this unified system. This should be done now, rather than waiting for new filesystems like WinFS which might simplify the process in the future. And an open source standard/architecture would gain a lot of traction...</div>
</content>
</entry>
</feed>
