On Friday 27 February 2009 05:02:51 Daniel Cheng wrote: > 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
Sounds fine to me. You might want to look it up, maybe even ask fsf, but it should be a known issue... > > > 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. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 835 bytes Desc: This is a digitally signed message part. URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20090302/743a9bcd/attachment.pgp>