Friday, May 30, 2014

BSDCan Trip Report: Warren Block

BSDCan 2014 was held earlier this month and the Foundation provided travel grants to several committers. The first trip report is from Warren Block of the doceng@ team:

Every year, BSDCan is preceded by a developer summit, where FreeBSD committers and invited guests can get together to discuss proposals, difficulties, and plans.  Registration this year was at the intriguingly-named "Goat BOF".  There are stories behind this, but I'll just point you to https://twitter.com/GroffTheBSDGoat and https://plus.google.com/109575245711252585947/photos.

For the documentation developer summit group, Benedict Reuschling made the case for helping documentation translators from our outdated manual system to using gettext-based PO files.  These systems eliminate much of the manual work translators are forced to do with the current setup, allowing them to concentrate on translating. They also provide "translation memory", remembering phrases and sentences that have already been translated so it is not necessary to retranslate them when they appear in different documents.  The room had been fairly quiet up until Benedict began demonstrating this, at which point there was a loud "oooh!" from the back of the room.  There is still a bit of work to be done to fit these tools into our translator workflow, but the research is mostly done and the rest is just pounding it into a shape that can be used with our existing documents and setting up the first translation team to use it.

Each night, we had a "doc lounge", where people were welcome to come to learn about or work on documentation.  We split up the individual time with a few short presentations.  I showed how I used textproc/igor to proofread documentation changes, and it surprised me at how others were using it, and surprised them at how I was using it.  This in-person communication with a crowd of differing experience and viewpoints is one of the best features of BSDCan.

BSDCan itself began on Friday with a keynote session from Karl Lehenbauer, CTO of FlightAware.  This was one of the best presentations I've yet seen at any BSDCan, and worth the time to watch.   As in previous years, the FOSSLC group was there, making high-quality recordings of the presentations.  Compared to videos taken with a traditional camera, screens in the FOSSLC videos are easy to see and the speakers can be heard.

There were talks aimed at using FreeBSD on embedded hardware, with Warner Losh speaking about using NAND flash memory (apparently no video available, but an associated video is here) and Sean Bruno describing installation of FreeBSD on wireless routers with MIPS processors.

John-Mark Gurney showed how he had improved geli(8) encryption performance from less than 150MB/second to greater than 900MB/second.

Daichi Goto gave a talk called "Shellscripts and Commands", which was an interesting combination of traditional shell-based tools and fast hardware to process huge datasets.

Saturday morning, Ingo Schwarze from the OpenBSD project talked about "New trends in mandoc", the excellent full-text search abilities developed for this OpenBSD replacement for groff(1).  Ingo also attended several of our doc lounge
sessions, and we had some interesting comparisons between the document checking provided by igor and that in mandoc.

Vsevolod Stakhov talked about the new solver in pkg (no video available yet).  What I find particularly encouraging about this and other aspects of the new package system is the amount of research into other systems. That is the "good kind of lazy": the problem is difficult, and rather than jumping in and hacking together a solution that partly works, doing the research to find how other groups have done it.

FreeNAS is becoming increasingly popular, and John Hixson talked about how to add custom applications to it (no video yet).  Later, Fabio Balzano described a FreeBSD-driven ROV (remotely operated vehicle) using a Beaglebone Black ARM single-board computer.

At another doc lounge session, we covered the complete process to fix an error in the FreeBSD documentation, from installing the tools, to editing, checking, and build-testing the document, through to submitting a patch.  It's very good to note that some of the people we worked with have already had patches submitted and accepted since then.

FreeBSD developer Li-Wen Hsu was at several of the doc lounge sessions, and one night asked about integrating igor with the Jenkins continuous improvement framework.  I was skeptical about using igor for this, but we talked about some tests that would avoid false positives.  The next night, he returned.  Not only had he modified igor to produce the required output, he'd already set up a Jenkins test! It showed just how useful this continous automated testing can be, even if the test tool is not perfect.  In hindsight, I should have realized that this sort of thing is just an extended use of automation, which is the point behind igor: we have these nice computers, let's use automation to help us accomplish our goals.

Finally, Allan Jude of BSD Now (and many other FreeBSD-related things) had clearly been in line for a commit bit for some time now.  Benedict had a plan to keep it a secret and surprise him with the announcement during an interview. The full interview will be seen on a future episode of BSD Now.

This was all just a tiny part of BSDCan 2014.  There were numerous other talks that you should watch, like the already-famous one by OpenBSD's Bob Beck on LibreSSL, their fork of OpenSSL: http://www.youtube.co/watch?v=oM6S7FEUfkU, or http://www.youtube.com/watch?v=GnBbhXBDmwU.

All of the FOSSLC videos are here.

All the presentations and informal talks are still just a small part of BSDCan.  There is the "hallway track", where it is common to start talking with another person about something that's important to both of you... and then getting so caught up that you miss a presentation or two.  There are before- and after-hours talks with others on things that seem to have been overlooked, but it turns out were important to them also.  Lots of people you may only know by email address will be there, almost always looking completely unlike imagined.  At one point or another, almost everyone is drafted by Dan Langille to help carry boxes or set up power strips. There's lots of caffeine and more than a little sleep deprivation. Conferences like these help provide the motivation that drives projects throughout the rest of the year.

A big thanks goes to the FreeBSD Foundation for sponsoring my trip this year.  Thanks also to Dru Lavigne, Benedict Reuschling, Allan Jude, Dan Langille, and everyone who came to the developer summit, doc lounge, and BSDCan.  Your time and attention are appreciated.  Thank you all for helping to improve FreeBSD!

Monday, May 5, 2014

FreeBSD Foundation Newcons Project Highlight

Spring Fundraising Campaign - Newcons Project Highlight

Our Spring Fundraising Campaign is in full swing, and we couldn't be more grateful for all your support! We are honored to be the stewards of your donations for the FreeBSD Project and community. Around half of our funding goes towards project development to help keep FreeBSD an innovative, reliable, and high-performance operating system

During our Spring Fundraising Campaign, we are highlighting the projects we are funding to show our commitment to helping FreeBSD. Please take a moment to read about the Newcons project.

What is the Newcons project?
The Newcons project provides a replacement system console for directly-attached displays, keyboards, and mice.  It replaces the legacy syscons driver, sc(4), and is short for “new console.”  Because it won’t be “new” forever and will become just “the console,” it is more correctly known by the name of the device driver, “vt.”

Why does FreeBSD need a new console?
Newcons provides a number of benefits, including support for Unicode and UTF-8, and double-width characters.  This eliminates the historical text-mode limit of 256 characters, and allows for Chinese, Japanese and Korean (CJK) and other character set support on the console.

Without Newcons it’s not possible to switch back to the console after starting the X graphical environment.  Newcons allows this by integrating with Kernel Modesetting (KMS), the method of changing graphics modes used by current display hardware drivers and X.org releases.  This integration also enables high-resolution consoles.

Newcons also provides an improved infrastructure that is not user-facing, but enables simplified support for new hardware.

What work is the Foundation sponsoring?
The Foundation awarded a development grant to Aleksandr Rybalko to implement missing functionality, and finish integration tasks.  Completed tasks include history buffer improvements, kernel mode setting integration, and additional hardware device support.  This work is already available in FreeBSD-CURRENT.

Documentation and performance improvements are the main outstanding tasks; font setting and other user interface features are also in progress.  The “vt” driver is expected to be available in the FreeBSD 10.1 release.


Donate today to help us continue and increase our support of the FreeBSD Project and community worldwide! To make a donation go to: http://www.freebsdfoundation.org/donate/.