On Fri, Feb 27, 2009 at 5:19 AM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
> PROGRESS REPORT
> ===========
>
> FINANCIAL STATUS:
> We have $3566.87, that's enough for around another 47 days after my current
> (approximately monthly) contract completes.
>
> ZERO POINT EIGHT:
> Which brings us on to 0.8. The current plan is to get the db4o branch merged,
> and get an alpha or beta of 0.8.0 out in the next month, by around April 1st.
> There are various features we want to have in 0.8 which are not yet ready:
> - the db4o branch
> - Freetalk, and any necessary plugin changes
> - The new windows installer
> - Progress screen etc
> - Possibly some UI improvements
> - Librarian improvements
>
> It is unlikely that these will all be ready before April 1st, so we will
> release an alpha rather than a feature-complete beta.
>
> DB4O BRANCH:
> The db4o branch is a temporary fork of the main codebase, which uses db4o, an
> open source object database, to persist queued downloads and inserts. The
> main objectives are to greatly reduce the memory needed especially with large
> numbers of queued downloads or uploads, and to instantly resume requests on
> restarting the node. A common cause of high CPU usage is having more
> downloads or inserts than you have enough memory for, causing the node to do
> constant garbage collection trying to find the last byte to re-use, and
> eventually crashing. And on a typical trunk node with lots of downloads
> queued, it can take hours after startup before the node stops thrashing the
> disk finding the blocks it has already downloaded. However, the background
> level of disk I/O will be higher with db4o than the background level of disk
> I/O on the current code (when the current code isn't resuming downloads).
>
> Both goals have been largely achieved. Right now, requests work, inserts work,
> and freesite inserts work. After db4o has been finished, and merged, I will
> set the default memory limit to 192MB, and not ask the user about it in the
> wizard. Really big inserts (over 4GB) may require a memory limit over 192MB,
> that is something we can solve later if necessary.
>
> Unfortunately, most recent work has been debugging and finishing architectural
> changes to inserts, so the todo list is not that far from what it was last
> time. However, there really isn't that much left now, I hope to merge the
> db4o branch in the coming weeks:
> - Fix database object leaks in inserts.
> - Prefer recently successful requests in the scheduler.
> - More debugging.
> - Think about garbage collection for persistent temporary files. This will
> only be needed to recover space left over due to bugs, so it's not clear
> whether we need it ...
> - Think about turning off the persistent blob tempfile, or implementing defrag
> for it if necessary. This puts all the 32KB temp files into one big file; it
> can get fragmented, causing the file to be larger than it needs to be;
> implementing defrag would be a little messy but not difficult, but without
> this big inserts are problematic on small memory nodes.
> - Delete one or two structures using deprecated db4o collections.
> - Backup the database automatically on a schedule, in case of severe problems.
> - More debugging, merge it.
>
> FREETALK:
> p0s has been building the Freetalk plugin (and the WoT plugin it is based on)
> for some time. This is a web-of-trust based chat system similar to FMS. It
> may or may not be compatible with FMS, debates over specifications are
> ongoing. It will have a web interface, and be integrated into the node by
> default, showing up on the menu. p0s has 2 months vacation which he is hoping
> to use to finish Freetalk. Messaging is working, but trust list management is
> missing at the moment. Because Freetalk depends on the WoT plugin, it will be
> necessary to implement plugin versioning as well as auto-update of plugins
> before we release 0.8.
>
> WINDOWS INSTALLER:
> Our current installer does not work well on Windows. It has more screens than
> are necessary and therefore confuses and annoys users. It doesn't work at all
> on Vista for most users. And it doesn't work well with multiple installs.
> Zero3 has been working on a new installer using AutoHotKey which solves all
> of these problems. More testing would be a good idea; he has posted a URI to
> the installer on several occasions. One caveat is that it does use some
> closed-source freeware, however IIRC our current installer does too on
> Windows. Also, I haven't used AHK, so reviewing the code is problematic. But
> it promises to be a great improvement. It is currently designed as a bundle
> installer, that is, it will need to be rebuilt manually on every release. I'm
> not sure what the remaining issues are...?
>
> PROGRESS SCREEN ETC:
> Because we got rid of the firefox profile, and for general usability reasons,
> we need some sort of screen displayed when Freenet is fetching a freesite.
> This will be implemented before 0.8. It should reduce the "it's gone off into
> limbo" factor considerably for new nodes. Initially this will just be a 5
> second auto-refresh, but ideally it would be dynamically updated with
> javascript, for faster response times and a better looking interface. We
> might be able to lift the size limits on data sent to the browser at the same
> time, which would be especially impressive if we have time to implement some
> simple multimedia filters (mp3, ogg theora etc). Also, for the same reasons,
> if a user is loading a page from freenet in his browser, with lots of inline
> images, the browser will currently limit it to 8 connections and so it will
> load very slowly. Ideally we would replace each image with a loading graphic,
> and then replace it with the actual content when it is available. I have been
> sent some javascript for this; if you have any ability in javascript, your
> skills may be helpful. We will also need a loading screen for the search box.
>
> UI IMPROVEMENTS:
> Ideally we would improve the user interface before 0.8. There are lots of
> relatively small changes that could improve usability considerably, for
> example moving geeky stuff to submenus. Whether we will have time remains to
> be seen.
>
> LIBRARIAN IMPROVEMENTS:
> The wAnnA? index, which is used by the search box on the homepage (aka
> XMLLibrarian), was having some problems for a while due to the inability to
> insert very large freesites (a librarian index is more or less a freesite
> from Freenet's point of view). As far as I can tell, this has been fixed in
> db4o, and hopefully also in stable build 1205. sdiz has been doing work on
> internationalisation, code cleanups, and so on, on the XMLLibrarian plugin,

ON internationalisation:
I am planning to use ICU4J, because of Thai language support.
It use some data file from unicode.org (unicode data license[1]) and icu[2].
both license look BSD-like to me, but IANAL.

The whole library is ~5.4M.  If I remove the stuff I don't need, it is ~800k.
It is needed for both the spider and the librarian.

[1] The Exhibit 1:  http://unicode.org/copyright.html#Exhibit1
[2] http://icu-project.org/repos/icu/icu/trunk/license.html

> as well as his earlier major improvements to XMLSpider, which now uses the
> Perst database to store its progress and minimise memory usage. IMHO we
> should improve the UI of the XMLLibrarian before releasing 0.8.
>
> ZERO POINT NINE:
> Various changes are tentatively planned for 0.9:
> - A bulk vs quick flag. This would be set per request: bulk requests would be
> optimised for throughput, quick requests optimised for latency.
> - More work on the user interface. Much can be done to improve on the current
> situation!
> - Possibly increase the number of nodes faster nodes can connect to.
> - Encrypted splitfiles: Encrypting each splitfile with a random key, unless
> told not to, should greatly improve security against a distant but mobile
> attacker trying to trace the author of specific content, at a negligible (in
> most cases) performance cost.
> - Encrypted tunnels: Based on rendezvous of several requests, which are either
> random routed or partially random routed, these would greatly reduce the
> impact of most of the major known attacks on Freenet, particularly those
> related to tracing the author of content. They are superior to the older
> premix routing proposal. However they would cost some hops.
> - Bloom filter sharing: We will share our datastore bloom filter with our
> peers, depending on our security level and so on. Given the previous item,
> sharing our datastore filter with our direct peers is not a great risk. This
> should reduce the average number of hops to find a block significantly.
>
> After 0.9, things that I'd like to see:
> - Passive requests/long term requests.
> - Better darknet support. Everything from easier ways to connect to your
> friends to a more resilient swapping algorithm (we have ideas for both of
> those).
> - Transport plugins. Freenet over TCP, Freenet over HTTP etc.
> - A more efficient transport layer.
> - Better load management.
>
> SUMMER OF CODE:
> Freenet will participate in Google Summer of Code 2009 if possible.
> Organisations can apply from the 9th of March. Students can apply from the
> 23rd of March.
>
> TOP FIVE USERVOICE SUGGESTIONS:
> 1. Release the 20 nodes barrier.
> This is marked as "under review", it may happen in 0.9. It requires some
> alchemy/tweaking. :|
> 2. One GUI for all.
> This is partly a plea for better UI, partly a request for it to be possible to
> do everything from within the web interface, partly advocacy for a dedicated
> Freenet browser. We are not going to spend any resources on the latter for
> the foreseeable future, although saces may come up with one. However, 0.8
> will have Freetalk, and already had the Thaw index browser. Hopefully in the
> future it will have Freemail, and better filesharing support.
> 3. Add a 'pause' feature.
> This is planned, eventually. It would be most useful if we had a system tray
> icon from which to turn it on and off when gaming.
> 4. Show a progress screen when loading a page.
> This is planned for 0.8, see above.
> 5. Add an anonymous code repository via freenethg
> This is a good idea, and should be more or less feasible at this point.
> Whether it will work in practice, and whether anyone will use it, remains to
> be seen. Also there are legal issues with accepting anonymous patches - if we
> take a patch containing stolen code, and we can't trace the poster, we may be
> held liable for it. Having said that, in the long term clearly we want to
> encourage an anonymous development community for Freenet...
>
> OTHER STUFF:
> Some idiot recently hired a botnet and spammed a bunch of IRC networks with
> advertisements for us. saces is making some progress with wxFCP, which may
> eventually yield a dedicated Freenet browser application. Vive is working on
> a set of simulations for a paper about Freenet 0.7, and has committed the
> simulator to SVN.
>
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
>

Reply via email to