Cameron Dale: apt-p2p 0.1.3: now faster
I have updated apt-p2p to version 0.1.3, which is available now in
unstable and my repository (see my previous post
introducing apt-p2p).
This update brings mostly speed improvements to finding peers to
download from, and performing the download. Nodes in the DHT are now
checked for responsiveness more thoroughly before adding them to the
routing table, and rechecked more frequently afterwards. This should
prevent bad nodes from propagating through the system, and departing
nodes remaining in the system long after they have left. Downloading
from peers is also quicker, as bad peers are dropped with a quicker
timeout value and after a small number of errors. There was also a
bug revealed by about 10% of the mirrors that caused downloads to
fail, and was fixed in version 0.1.2.
This update is STRONGLY recommended, as keeping unresponsive nodes out
of the DHT will make everyone's experience better. If you tried apt-p2p
and had some problems, I hope you'll consider trying again now.
Unfortunately, these are enhancements I could not predict needing before
releasing to the public, as the problems they solve are all caused by
having a larger number of users, some of which are unresponsive.
There are still a large number of peers (maybe 50% of them) that are
unreachable, and so can not share any files with other peers. I don't
have a good way to check yet, but you can go to sites such as this
one to probe your client for you. Just enter the remote IP address
and port (available on the status page) of your client in the form
http://ipaddress:port/ (e.g. http://1.2.3.4:9977/). If the check
returns any HTTP headers (even a 404 Not Found response) then you're
fine, but if it doesn't return anything then your peer is firewalled or
NATted and should probably be fixed.
Here are the changelog entries for 0.1.2 and 0.1.3:
- Speed up downloading from peers
- Set a new peer's ranking values so they don't get an unfair advantage.
- Reduce the HTTP connection timeout to 10s.
- Drop peers after a limited number of errors.
- Speed up the DHT requests when nodes fail
- Schedule a re-ping message after adding a new node.
- When a node fails, schedule a future ping to check again.
- Send periodic finds to nodes that are stale.
- Increase the stored value redundancy to 6.
- Increase the concurrency of DHT requests to 8.
- Add early termination and ignoring slow responses to recursive DHT actions when timeouts occur.
- Remove the debconf note about port forwarding (Closes:#479492)
- Add a NEWS entry for port forwarding
- Fixed a bug in the HTTP downloader that caused errors with some mirrors that always close the connections (Closes: #479455)
Starting to play with eeePC.
Thanks to ASUS,
I am now playing with an eeePC.
With the help of Andrew Lee, I have set up LXDE environment,
with full wifi support (through madwifi), and other goodies.
I'm now looking into making the boot time shorter.
I like the concept of finit, which is just to rewrite most
initialization in C, nothing can beat that. However, Debian
in general will need something more extensible than that.
insserv and CONCURRENCY=shell helped the boot time a bit
but it's still in the orders of approx. 60 seconds, which isn't
quite fast enough.
Modern CPUs are great. They have all sorts of advanced power saving features, which is one of those nice cases where everyone can save money, gain performance and claim environmental credentials at the same time. Everyone's a winner.
My previous entry features the first ever comment on this blog to arrive over IPv6. Fantastic! I guess this will be the final breakthrough that the protocol needed!!
"your download link will arrive momentarily at the email address you submitted.
to ensure the email does not get marked as spam, please instruct your email
client to accept mail from nin.com."
I wonder how many spambots are busy blasting off zillions of spams with headers
forged to be from nin.com as we speak? Best of all, the spams can be
customised, you know that many of the people getting them will enjoy this
music.
(Sometimes I wish I could take advantage of these money-making opportunities
as they present themselves to me..)
Sarah and I are doing the Tour de Cure again this year, like we
Tried to switch a CentOS domU from the Debian kernel to pyGrub + CentOS kernel today. Here’s what I discovered:
Finally, I have released
Some of you might have noticed that in the recent weeks I wasn't active at all online. This was because I was on a vacation in Italy. On the way back I was eager to write about my experiences, but after entering Romania, I found out that may parents had been involved in a motorcycle accident due to a careless driver.
The SANE project is working on improving SANE, extending the API and ABI in a backward-compatible manner and bumping the version from 1.0.x to 1.1.x to celebrate that.
The timetable has been posted, and calls for a release of SANE 1.1.0 on July, 30th.
This will be too late for the Lenny freeze by a few weeks, which means Lenny is set to be released with SANE 1.0.19.
SANE 1.0.19 is a good, solid release, which is good news. I’m not sure 1.1.0 will be as solid as 1.0.19 is, so I won’t try to rush 1.1.0 into Lenny at the last minute.
Until the Lenny freeze, I’m going to augment the current SANE 1.0.19 with code from the SANE CVS, concentrating mostly on bugfixes and self-contained new hardware support and features.
Hence, if there is something in the SANE CVS that you would like to see in Lenny: test it, then tell me about it. You have until the end of June to do so.
Currently on my TODO list:

Well a brief post about what I've been up to over the past few days.
An alioth project was created for the maintainance of