Here are some of the main things to highlight this week:

The Marketing Team have been consumed with preparations for SAFE DevCon 2018 during the last week. As mentioned yesterday, we may be able to squeeze in another couple of people at the last moment. So if you’re interested in joining us, contact @dugcampbell here or by email (dug.campbell@maidsafe.net).

During the last week, the SAFE Client Libs team has been continuing to improve the language bindings (Java, C# and C remain our top priorities). Generally, the language bindings are getting close to production. The only missing part is full support for the C language in safe_bindgen which is almost done.

Marketing

SAFE DevCon 2018

The Marketing Team have been consumed with preparations for SAFE DevCon 2018 during the last week - a never-ending stream of emails, conversations, orders, hoodies etc! However, all is shaping up very nicely for the big day. For everyone that’s coming to Ayr on Sunday 22nd April for the event on Monday 23rd April, you will receive an email tomorrow with further details of your hotel booking and transport arrangements for the day.

As mentioned yesterday, we may be able to squeeze in another couple of people at the last moment. So if you’re interested in joining us, contact @dugcampbell here or by email (dug.campbell@maidsafe.net). You’ll get a couple of nights’ accommodation and food - but most importantly get to meet some of the community face-to-face.

We have also been preparing for having most of the team in one place at our HQ in Ayr the weekend preceding DevCon. The weekend represents a rare opportunity for everyone to get to know each other a little better during a couple of days of work and play. For many, this will be the first time they have met so getting this fresh perspective will not only be enjoyable but will help maintain the company culture that can be difficult to instill in teams as decentralised as ours. A few of the guys are taking extended stays so this face-to-face communication will also enable in depth discussions on technical solutions.

Interviews

@nicklambert was a guest on the Declare Your Independence radio show with Ernest Hancock late last week. @SarahPentland was also interviewed by popular YouTuber The CryptoLark earlier this week - so keep your eyes open for that interview going live any day!

SAFE Authenticator & API

@lionel.faber has been making good progress with the Java bindings integration. The basic JNI APIs are being integrated and unit tested on desktops as a first step. The issues that were discovered are being addressed with help from @nbaksalyar. Once the basic unit tests pass, the test cases will be expanded to use the Authenticator APIs. The CSharp APIs are also progressing well with the integration of the latest CSharp bindings. We are testing the example apps on Android and iOS this week and once the apps are confirmed to work on these platforms as expected, the latest code will be merged upstream.

We’ve pinned down and negated some CI bugs for Peruse, with the dev branch looking much healthier now after the refactor. We’re now concentrating on fleshing out the end-to-end test suite and making sure everything is stable, both in terms of the browser and the updates to the DOM API, which will be of great value for assuring quality as we add new features moving forward.

As you know we are also working on the dev website and we have dedicated some important efforts to this to have it ready as soon as possible. We don’t have much details to share about this at the moment, just that we continue gathering information and feedback from the forums to shape it in the correct way to make it useful and easy for developers to use. In addition to this, as you can imagine, the front-end team as all others are helping in the preparation of the DevCon from different aspects.

SAFE Client Libs

During the last week, we have been continuing to improve the language bindings (Java, C# and C remain our top priorities). We have fixed the issue found by @lionel.faber that we covered in the previous update and now we don’t see any NullPointerExceptions in Java code. Generally, the language bindings are getting close to production. We have raised a pull request to integrate the bindings code with the master branch, making them officially supported. The only missing part is full support for the C language in safe_bindgen which is almost done. We are currently working on automated integration tests and code samples. Current progress can be tracked in this repository.

@marcin is working on improving get_if_addrs by making it harder to write unsafe code. He is investigating ways to update the API and lower the number of unsafe blocks. In addition, the revocation bug fix that was being worked on in MAID-2616 has been reviewed and approved, and we will now be testing the new code thoroughly (MAID-2618) as it is critical we get app revocation right. Also, the final Rust upgrade PR has been approved and soon all of our Rust crates will be at Stable 1.24.0 and use Clippy version 0.0.186.

Routing & Crust

No Routing update this week. We are still finalising some exciting developments there. See last week’s update for more info:

MaidSafe Dev Update :safe: April 5, 2018 The Routing team continues to be split in parallel tracks with one of the teams working to improve the vote ordering algorithm and the other focussed on integration of this into the Routing codebase. We mentioned recently that we expected it would be difficult to provide very detailed updates in the very short term as we work out the finer details and that has proven to be the case. We anticipate that over the course of the next few weeks we should be able to be much clearer about remaining development work once we have a clear path forward and we will make our next Routing update at that point.

In Crust we slightly simplified the Service interface:

Service::prepare_connection_info() was removed from the public interface

was removed from the public interface Service::connect() now takes a connection info relay channel instead of two structures: our and remote peer’s connection info. Crust users don’t have to deal with connection info anymore - that’s handled by Crust itself.