Dev Update - Week Beginning 23rd June 2014


Hi all,

Your normal updater is on holiday (lucky guy), so i have the task of giving you our weekly news, and what a week its been!
TestNet0 has started, yes you hear me right. The team has been working day and night and its really paying off.
Anyway enjoy your update, its certainly exciting times :smile:

TestNet 1: After three months of effort, including building a nightly multi-hour automated soak testing solution, the RUDP and Routing libraries are now almost clean of races according to the clang Thread Sanitiser. Unit test stability has improved enormously - test failure is now highly repeatable which will greatly aid their fixing.

TestNet 1 and 2: A packet loss simulation facility has been added to RUDP which can simulate typical Wifi conditions (<= 1% continuous random packet loss) and network congestion (up to 40% packet loss of up to 50 packets in a burst). Upcoming performance improvement of RUDP will be done targeting a very poor network link which has both types of packet loss simultaneously as the default scenario.

We have contracted another top quality c++ developer this week (Bjorn). He will be working on Drive to erase any Tsan errors and generally tidying that up. He will help a lot in Drive and NFs, but will be especially crucial in helping Niall in rUDP and routing.

We are also expanding on the resources from India to form a team of 4 developers from India, to work on ports to android and ios (seems to be happening fast). This team will also work with Bjorn for a bit to focus on Drive and then Nfs. Work on the mobile ports/ API project are to be public via the mailing list as the project evolves so feel free to jump into any of the topics that you’re interested in as App dev’s and chip in with suggestions to best cater for your requirements.

Nfs will be moving now towards a low level posix filesystem API, plus safecoin wallet functions.

We have another 2 offers in the pipeline for c++ developers, focussing mostly on testing and Qa.

We also have another person we are reaching out to with very high levels of Qa experience in global c++ software releases.

This will expand the team significantly. Hopefully this will initially slow us a little then allow us to operate significantly faster with much more testing and Qa in line. Any community help is very much appreciated.

There will be a much more obvious split with the core dev team and the API teams in the near term. The Examples are progressing now as they stalled while an API debate (these API wars are essential) was concluded along with code.

We also have engaged with a possible Joint venture in China. This may move on quickly in the next weeks and will provide support at the network levels (a team of 10 very qualified p2p engineers with exceptional experience).  This venture will likely create farming nodes and sell these at cost (expect something like a $25-30 unit with very low power requirements). This is very early stage and we cannot say too much yet, but it looks promising. It also fits the global approach we are taking with spreading the network. There may be some very large announcements soon.

TestNet0 is running at the moment in house and testing the debugging capabilities of the web tool we created in the last few weeks. This looks to be stable enough for us to roll out testnet1. Digital Ocean have agreed to let us rent 200 droplets for testing. This should allow us now to proceed to a small capable testnet1. We never expected that these providers capped purchases, but we will get over that by working closely with them.

Network Drive is being tested on Windows (at long last) and should be ready this week for testnet1.  Mac and Linux were already tested, this was purely manpower that stopped us running this up on Windows.

Based on results of tests and simulation with Routing table last week, we are now working towards removing Group Matrix. This will simplify and improve routing performance. This also solves some security issues, as with group matrix a single node can potentially affect other node’s decision making. But after this change a node will only trust it’s routing table and not other’s routing table. [TestNet1]

We also identified couple of edge case issues with routing while running test network in office and will be addressing them shortly. This intermittently causes network joining issue for a Vault. [TestNet1]

This week we also discussed approach to bootstrapping and we decided on single approach to maintaining bootstrap file for Vaults and client nodes. This will be implemented next week.