http://127.0.0.1:8888/freenet:USK at 
1dpEDA89y9cCqLtNuVY9B~NdGSQHL2crtpRvqSTZtDs,Vwka6Ah7dUUYi85gmxR64zqMFjtIQVi4wsQE0ujlmm0,AQACAAE/nowwhat/18/04-01-2010_04-30-2010.html

Archive for April 2010
? March 2010
Plug It In

Posted on Thursday, April 22, 2010

There comes a point with Freenet where if you have a developer mindset and you 
start poking around, you'll eventually start overdosing on ideas. There's just 
so much potential for what could be done with Freenet that there just isn't 
enough time to work on it all. I've found myself tinkering with so many things 
lately that eventually I'm going to end up with a hard drive full of half 
finished ideas. Freenet needs a good email system, a good forum system, a near 
realtime chat/IM system, a good file sharing interface, freesite creation 
software, a decentralised wiki and that's just the basics that people are used 
to. Beyond that there's the unique stuff that uses Freenet to do things that 
simply can't happen on the conventional web.

When I returned to Freenet after some time away I think what encouraged me the 
most was some of the plugins that were being developed. In theory it should be 
easy to expand Freenet to do all the above mentioned things in a nicely 
integrated front end, without worrying about different UIs and runtime 
environments. Unfortunately, like a lot of things in Freenet the plugin 
interface isn't particularly well documented, but I was pleased to see another 
recently returning FreenetUser detailing his adventures with creating a Freenet 
plugin. It's all very interesting and encouraging. Now all I need to do is 
relearn Java so I can spend some quality tinkering time with the plugin 
interface. It's surprising how much you forget after spending some years away 
using languages substantially less fiddly than the sprawling beast that is Java.

As I understand it, Google summer of code students have recently started work 
on Freenet related projects. I couldn't find out what exactly they are working 
on, but hopefully some kind of finished product will pop out at the end of it 
all. I believe GSoC students have made significant contributions to Freenet in 
the past in terms of less visible, but nonetheless essential, code 
improvements, but I think Freenet needs some killer apps rather more than a 
2.65% improved routing algorithm at the moment.

A new build of Freenet is due soon and maybe even FreeTalk will make an 
appearance and the final battle between Frost, FMS and Freetalk can get 
underway. Here's to hoping for an interesting summer of Freenet.

Posted in Misc
Living in Realtime

Posted on Saturday, April 17, 2010

The lack of updates recently has been mostly due to me spending all my time 
tinkering with Freenet. In my quest to get the Linkageddon updater working as 
smoothly as possible I've been trying to see how much I can squeeze out of 
Freenet. Along the way I came across something which although I'd previously 
been aware of them, I'd never really grasped the significance of them before. 
The things I discovered are ULPRs or Ultra-Lghtweight Passive Requests.

If you create any kind of app for Freenet when you are downloading data you are 
either trying to fetch keys you know should be there, or you are trying to keep 
track of key slots where you know data should be inserted by somebody else at 
some later time. Waiting on keys to be inserted is how messaging apps work. 
Frost, FMS, Freetalk etc will spend most of their time waiting for keys to 
appear in prearranged slots. It used to be the case that for an app to know 
when those slots were filled it would have to periodically launch a fresh 
request in those slots, often polling sequentially over a wide range of slots. 
This is most evident when you observe how Frost works in automatic update mode.

Now however, with ULPRs this is no longer required as all an app has to do is 
tell the node it wants to know when a key is inserted in a particular slot and 
the node will simply tell it when something pops up there. That's clever and 
useful enough but the really interesting thing about it and the thing that took 
me by surprise is just how well it works.

I threw together some test scripts to see how fast an ULPR would detect some 
small keys being inserted from another node and was shocked when in most cases 
it would detect the inserts in under one minute, sometimes in as little at 10 
seconds. I was used to keys taking a long time to propagate through Freenet so 
this was very surprising. I figured it must be some fluke of the way my nodes 
were set up so I looked for some other way to see what was going on.

Eventually I realised Frost would make a good test for this as the Frost 
messages are easy to process (just ask the spammers), include time stamps and 
some of the public boards are busy enough to generate a fairly regular stream 
of inserts. So I set my script running and watched the results from tracking 11 
of the busiest boards.

I hadn't been running the tests for long before it became apparent my initial 
results were not a fluke after all and ULPRs really are fast. Even allowing for 
clock skews and Frost insert holdups most messages seemed to be detected within 
2-5 minutes of their time stamps. Some came in even faster.

Until now I'd just got used to the idea that if I insert a message into Freenet 
it's going to take a while for it to reach its destination, now I know the only 
reason communication on Freenet is slow is because the apps haven't been 
written to take full advantage of Freenet's features. I had a quick look at the 
Frost source to see if it could be modified to run in permanent update mode and 
hence update in near realtime, but from what I saw it would take some serious 
hacking to do it properly.

I've read of Freenet developers mentioning the possibility of realtime Freenet 
communication before, with services equivalent to IRC,Twitter and perhaps even 
VOIP, but thought that seemed unlikely. It now seems like all it needs is 
somebody to put the pieces together. There are a few freesites that have early 
apps designed on this basis, but they seem to have either been abandoned (like 
a lot of really promising Freenet projects unfortunately) or have some serious 
design flaw.

I can only hope some talented developer can put together some decent realtime 
communication apps. As I understand it most of the main Freenet developers do 
their work via IRC. If we had something similar in Freenet perhaps they could 
be coaxed down to our level. Unfortunately, the last time I tried to use 
Freetalk, which seems to be the great hope of Toad and co, it seemed to be more 
interested in downloading messages from 9 months ago than what was happening 
now. Now that I know what is possible, if Freetalk does not have a fairly fast 
message turnaround I'm not even going to waste my time on it again.

I look forward to the day when a group of users can have realtime and lively 
discussions in Freenet about things that are happening right now and not 12-24 
hours ago. The use of Freenet as a repository of forbidden data is fine, but 
realtime communication and discussion will give it the beating heart that is 
more likely to attract the kind of people to Freenet who will invigorate the 
network and bring real innovation.

Posted in Freetalk, Frost, Misc
Definition of Frustration and Other Stories

Posted on Tuesday, April 13, 2010

My last entry gained a response via FMS. The Seeker explained (direct FMS link) 
how large splitfiles work and why it's common to get yourself in situations 
where you may be short only a few parts on a large download. I was always under 
the impression you only needed a certain percentage of all the thousands of 
chunks inserted to reconstruct the original file, but apparently it's much more 
complicated than that. A large file is actually broken up into 4MB chunks. The 
chunks themselves use forward error correction to recover them, but if one 
chunk fails the whole download fails.

There are apparently ways around this, but they are complex. I only hope a good 
solution is found and implemented directly in Freenet rather than requiring 
somebody to come up with an ad-hoc solution that requires a separate Freenet 
app or plug-in to use. On the bright side though large files that have been 
recently inserted or are in high demand still seem to be very reliable so 
Freenet is still suitable for handling 0-day style content.

In other news, a war of words has broken out between Freetalk and FMS 
developers and supporters. With Freetalk, which was supposed to be the 
officially supported Freenet forum system, being long delayed many feel FMS 
should be bundled into Freenet in its place. Toad seems concerned about the 
issues involved in bundling the C/C++ FMS client and the time factor involved 
in reviewing the code. The FMS supporters are concerned about some of the 
secrecy surrounding the specification and development of Freetalk.

Personally I think Freetalk looks to be a long way from being ready for 
primetime, but I can understand the concerns about FMS. It's not so much that I 
distrust the author of FMS, but I think any project can benefit from at least a 
few fresh pairs of eyes looking through it's code for anonymity leaks. From 
what I understand, there have been problems in the past with HTML filtering.

Thankfully a dialog is developing between the FMS and Freetalk groups which I 
hope will lead to some positive outcomes.

In response to SomeDude's FMS post Toad posted this to a mailing list:

    p0s is of the view that completing FMS to the point where it could be 
bundled is much less work than either reviewing FMS (which I would have 
considerable difficulty with on past experience, it's a lot of code and some of 
it is old hard to review low level C code that has had e.g. format string 
vulnerabilities), or cloning it in a new plugin.

    Hopefully Freetalk will be done soon. If it is not we should reconsider. 
Bundling FMS would be problematic on a practical level - in that we'd have to 
bundle binaries for multiple platforms (requiring building them), figure out 
how to update them, and have them run as daemons as Fred does - but the main 
issue is that the code would need to be reviewed.

    p0s has agreed to complete writing a spec after Freetalk works reasonably 
well. Currently there is this:

    http://wiki.freenetproject.org/Freetalk

Also, evand chimes in on his flog on this issue and I think we can clearly see 
a them and us communication problem that just doesn't seem to want to go away. 
Those of us trying to stay anonymous and use Freenet in the way it is intended 
are struggling to communicate with many key Freenet developers who often appear 
either unable or unwilling to actually use Freenet to communicate with people.

I understand that communication outside of Freenet is a hell of a lot easier, 
but the fact it's so hard in Freenet is not something we can just keep trying 
to route around. If something this important is so difficult it means it needs 
to be solved very soon and as a high priority.
Edited on: Tuesday, 13 Apr 2010

Posted in Misc, News
Definition of Frustration

Posted on Sunday, April 11, 2010

Not too long ago, at the end of last month, I mentioned I was trying to 
retrieve a 700MB file from Freenet. All had been going well and I was at 90%. 
Slowly but surely it crept closer to the magic 100% and then it all went 
horribly wrong.

Currently, no new chunk has been retrieved for 4 days and of the 22,124 chunks 
I need to put it all together I am short by just 5. I have no idea whether 
Freenet has now given up or if it's actually trying all those chunks it 
couldn't find the first time around. Will the download ever complete? Stay 
tuned and maybe I'll have it all by this time next month. Just as well I wasn't 
actually interested in the file. I just wanted to see if I could get it all.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20100423/0687f6b6/attachment.pgp>

Reply via email to