Finalists

This page shows the projects selected by the community to participate in the Haiku Code Drive 2008. The projects are listed in the order that the community ranked them through the Haiku Code Drive 2008 poll.

Salvatore Benedetto

    Project: BFS stress-testing, UDF port to new FS Haiku API

    Mentor: Axel Dörfler

    The aim of this project is quite different from the others. Instead of proposing to add a new feature, I'd like to work on something R1 related, like making sure that BFS is *STABLE*. Since I'm almost done with Dominic's book about BFS, what I have in mind is to run some tests to stress all the aspects of Haiku's BFS implementation and see where it fails in order to fix the problem and bring the file system a step closer to being stable. To achieve this, I propose to do the following:

    • Porting Bonnie++ to Haiku, which is a benchmark suite that is aimed at performing a number of simple tests of hard drive and file system performance.
    • The porting would require to implement XSI semaphore and IPC API, that is ticket 1980
    • Once this is all done and working, bug hunting would be next along with fixes.

    Additionally, as a second milestone for my proposal, I also intend to port UDF support to the new FS Haiku API, and if I have some time left, I would like to look also into adding write support to UDF.

Jovan Ivankovic

    Project: CUPS port

    Mentor: Michael Pfeiffer

    I'm interested in helping bring wider printing support to Haiku. I know very little about Printing kit, but I'm reading through the BeBook and existing code in Haiku source tree. I do not know at which stage the current port is(I know there is Zeta port of Cups here), so I guess it would be even easier to port it to Haiku because of greater posix compliance. I'm also aware of Ithamar Adema's work and his approach on the matter (reusing foomatic database and create Haiku native frontends for existing GhostScript backends) and would like to continue his work.

Yin Qiu

    Project: ICMP error handling and propagation

    Mentor: Philippe Houdoin

    ICMP is a necessary part of the IP protocol family. I will refer to other open source implementations to add ICMP error handling to the Haiku network stack. RFC 792 will be my reference for ICMP segment structure and other implementation details. ICMP messages are usually handled in the OS network stack as a special case. To do so I will study the ICMP message types and ICMP error codes in detail. The error handling mechanism will be implemented with a neat interface. After implementation, I will verify the stack with a Haiku virtual machine and a Linux or Windows host machine.

JiSheng Zhang

    Project: Write a DV media node

    Mentor: Rene Gollent

    As is known to all, a media "node" in Haiku's Media Kit system is a special object that processes buffers of media data. They can be loaded from Add-on modules by the Media Server.

    This project will make it easy for Application Programmers to access DV hardware over firewire using the powerful Media Kit APIs without knowing details of firewire protocol and without accessing the somewhat complicated raw interface in /dev.

    There are three parts will be implemented. First, a FireWireMediaAddOn class (derived from BMediaAddOn) is used to tell the Media Server the types of nodes it supports and create them when told to do so by the server. Second, A FireWireMediaNode class derived from BBufferProducer, BufferConsumer, BMediaEventLooper which is the major part of this project. Finally, one or more abstract classes which supply convenient methods accessing the raw interface exported by the Firewire stack.