BeGeistert 024 + Coding sprint report

Blog post by PulkoMandy on Fri, 2011-11-04 12:17

I'm heading home from the BeGeistert event that just ended today.

For those who don't know, BeGeistert is the european meeting of all Haiku (and BeOS) developpers and enthusiasts. This year, Haiku has seen its third alpha release, and we feel that R1 shouldn't be too far.

So, what happened there ? Over the weekend we had multiple conferences. The first one on saturday morning was a discussion on Haiku's release process and roadmap for the future. We didn't have time to solve all the problems, but at least one important decision was taken : after delaying the switch to git to after alpha3, then after gsoc, we finally decided it was about time to actually flip the swith. This is scheduled for the 12th of November.

Speaking of Git, Oliver Tappe made a talk about how to use it and the main differences with the current Subversion, and presented the work done so that Haiku developpers don't get lost.

Then, there were talks from Ingo and Oliver about package management, with an impressive demo of the current status It's working, but there are some problems with it like deskbar replicants not working anymore because of the readonly nature of packages (that was solved later during the coding sprint).

Stippi presented us the layout API and some examples on how to use it. The Layout API is an extention to the interface kit that allows much more easier design of window layouts.

François Revol presented us a proposal for UXA, an unified extended attribute scheme to efficiently share attributes between different OSes. While many filesystems and OS now support attributes like Haiku (NTFS, ReiserFS, ...), they all use their ownscheme and the conversion from one to another isn't always a reversible process.

We also had a presentation of an application called VOPTOP, which is a nice peer-to-peer VoIP chat application. The main feature is it uses peer to peer routing to make the communication. This makes it needed to use encryption to make sure one pf the peers doesn't spy the communication.

Finally, Matt Madia told us about the status of Haiku, Inc. Besides helping with the funding of BeGeistert, they are paying mmlr for a full-time year working on Haiku, which is likely to bring us much nearer to R1. The donated amount to Haiku, Inc. this year was rather impressive, which makes it possible to think about more contracts for Haiku developpers, but also things such as giving Haiku shirts to people showing out Haiku at various free software conferences (to strenghten the image of the project).

Axel proposed a patch hour on sunday. An ongoing problem in Haiku is the unability to handle patches submitted by users on Trac. Our policy is to review the patch, and ask the author to improve it. Quite often several rounds of improvements are needed, and people don't react too fast or give up on the amout of work needed to get the patch in. So, the patches tend to accumulate in trac and never get commited. They get out of sync with svn trunk, and it is not possible to apply them anymore. So, Axel took the list of 144 patches waiting on Trac, and wrote the ticket id of each of them on a piece of paper. Each of us was given 5 tickets to look at and make a decision. Either cleanup and apply the patch, or reject it if it doesn't work. At the end of the hour, about 40 tickets were closed. Some of us continued looking at the list over the week, and now there is less than 80 patches left, so the list has decreased by half.

As the weekend was over, the coding sprint started. 9 developpers were present this year : Matt Madia, François Revol, me, Olivier Coursiere, Ingo Weinhold, Michael Lotz, Oliver Tappe, and Rene Gollent. With the imminent switch to Git, Matt worked on getting a buildbot running with it to replace Build-O-Matic that only does SVN. However, he ran into some weird problems with building the now 10 years old gcc2 on FreeBSD, so not everything is working yet. François worked on bringing the 68k port of Haiku back in compiling state, as it was broken by some architecture changes. This was a success, as we can now run KDL on the aranym emulator. The work stopped at needing a build of the ICU package, which is a bit painful to do for platforms other than x86. Olivier worked on Lazarus, a Qt-based Delphi clone that now mostly runs in Haiku. He also made some stress testing of Haiku by copying the OpenOffice sourcecode around. Eventually, he found a bug in DiskUsage and fixed it. Michael and Ingo started tracking a memory corruption bug that may be the cause for the few remaining cases of FS corruption. But this ended up in writing KDL tools for tracking memory use, which will come in useful to track memory leaks, looking at pages owners and similar stuff. Oliver worked on fixing our wchar_t support. He got it working but needs to test compatibility with BeOS applications. The change involves the compiler support for wchar_t, and any application using that needs to be rebuilt. If we can't get it working in a way compatible with BeOS, it's likely that only gcc4 built parts of the system will get the fix. Rene Gollent worked on some TODOs for the debugger. One part was saving and resoring the view layout of Debugger accross sessions. The other was starting to add a CLI mode. When both are done, Debugger will replace GDB as the default debugger for the system. The CLI mode is needed mostly to debug app_server crashes. I worked on various areas of the system, but most notably reworked (again) the notification windows (I'm now rather happy with the result), and fixed bugs in the game sound API which now seems to be working fine.

Overall this coding sprint week was very productive, with several hundred commits improving the Haiku codebase. This also apparently boosted donations to Haiku, Inc. quite a bit. I'm ready to attend the next one.