Documentation and guides

Weekly Meeting: 2015-10-28

28th October 2015: Logging, Pioneer Projects and Error Handling


Attendees: Reynir Björnsson, Daniel Bunzli, Amir Chaudhry (chair), Justin Cormack, Thomas Gazagnaire, Matt Gray, David Kaloper, Thomas Leonard, Anil Madhavapeddy, Hannes Mehnert, Richard (mort) Mortier, Mindy Preston, Gabriel (Drup) Radanne, Dave Scott, Magnus Skjegstad and Jeremy Yallop


Quality and Test

Some discussion about using CircleCI for automated builds. There seems to be a free option now so possibly worth exploring. However, it doesn't appear to show logs publicly the way TravisCI does (CircleCI requires login). Will put this on hold until someone has time to look at it further.


ThomasL was wondering what the plans were regarding the new logging library. Do we need support for lwt in the logging library? It's intended to be a logging lib for OCaml.

Drup looked at the API and asked Daniel. The logging function is returning a string at the moment. Messages could be out of order if scheduler doesn't keep up (there's an open issue about this). ThomasL pointed out that ordering things is solvable but he's more worried about running out of memory. We want to separate logging from the reporting.

Discussion diverged into one of collecting logs and also of where/how to push them. We should keep these discussions focused as both aspects are important.

Is there a plan of how to put part of this into mirage? Someone should use the lib (dolog?) and write a reporter for Mirage. Right now there's reporter for the console. ThomasL will look at this and will check back in a couple of weeks.

Pioneer Projects

Outreachy is ongoing and we may be able to request funds for a third participant. Will have to see how this phase goes. Hannes is signed up as a mentor on the Outreachy website but not sure what the next step is. The participant is willing to implement NTP as the project. Mindy would like to use it to get the rhythm for dom0 in the TCP/IP stack. Anyone on ARM will be particularly keen to have this too, as they don't have a clock.

Mort is supervising a number of undergrad projects that relate to MirageOS. Loosely, the areas are:

We can check how these are going in due course.

Blog posts

A blog post on Charrua is in a PR to mirage-www. At the moment the code doesn't compile with 4.01 so will fix that and then come back. Mort will check the PR but will also need some other people to try out the instructions.

Error handling

This has been discussed before but we still need to make a decision. Now that we have a `Result in the standard library we can just use that. There's also a Result lib we can use.

Some questions about the benefits of using Result over polymorphic variants. Should help us get sensible errors and easily turn them into strings to report them (rather than having abstract types). We just need to make sure we choose something consistent.