Google Summer of Code 2012: Wrap up report

Blog post by mmadia on Fri, 2012-08-31 00:41

Google Summer of Code 2012 Logo png

Friday, August 24th marked the end of Google Summer of Code 2012. This was the sixth year that the Haiku project participated and was one of 180 fellow mentoring organizations. This year, five of 1,212 students were mentored by Haiku. To give a frame of reference to the competitiveness in Google Summer of Code, over 400 mentoring organizations and over 4,000 students applied to participate. For both mentoring organizations (and students), it is an honor and pleasure to be selected in Google Summer of Code.

For those not in the know, Google Summer of Code is "a global program that offers student developers stipends to write code for various open source software projects". In other words, simply by being one of the mentoring organizations, many youthful computer-savvy students may learn about HAIKU for the first time. For a carefully selected few, they have the opportunity to receive priority from our mentors in teaching them how to develop software for Haiku. This is a unique opportunity, as there is no other outreach effort of this magnitude available to the Haiku project.

x86_64 port: final report

Blog post by xyzzy on Tue, 2012-08-28 09:57

Since the three-quarter term report, I have continued porting userland servers and apps. The app server is fully functional, as are Deskbar and Tracker and a few other apps. I also cross-compiled all of the basic development optional packages (GCC/Binutils, autotools, make, etc.) for x86_64. Another screenshot showing the current state of things is below:

cpuidle: final report

Blog post by yongcong on Mon, 2012-08-27 12:18

the last quarter term is mostly spent on acpi cpuidle driver implementation. I also spent about 2 days to adjust the cpuidle framework so that the cpuidle generic module is loaded by lowlevel cpuidle driver, while the later will be loaded during boot up either by bus enumeration or calling get_module() manually. I also tested the power after acpi cpuidle driver is finished. The result is as good as intel native one. Since all the goals defined in my proposal are achieved, so the project is successfully finished.

OpenJDK port: final report

Blog post by hamish on Sun, 2012-08-26 23:43

Since my three-quarter term report I’ve been working on adding audio input support to the jsound port and fixing various bugs in the JDK. Since the AWT/Java2d and jsound ports are now completed, my goals for the summer have been accomplished! The OpenJDK port is now in a fairly usable state, and community members have been using it to run some large scale Swing apps such as NetBeans and ThinkFree office.

The next thing I would like to do is merge my work in to the Haiku port repository at the OpenJDK project. From there I’d like to look into the possibility of acquiring access to the Java TCK, which will allow for comprehensive testing of the port. This will no doubt uncover many bugs and keep me busy for a while. Here are some other possible areas of expansion for the future:

NFSv4 client: final report

Blog post by paweł_dziepak on Sun, 2012-08-26 18:46

Since three quarter term I've added NFS-level support for named attributes what means that virtually all important NFS version 4 feature are now implemented, as I described them in my blog posts during the coding period. What still needs to be done is to improve support of Haiku's extended attributes and a lot of bugfixing. There is also a room for performance improvement and several possibilities to organize code in a better way.

Haiku Down Under 2012 Report

Blog post by sikosis on Sun, 2012-08-26 06:41

If anything could go wrong – it did go wrong at the Fifth Annual Haiku Down Under Conference for Users and Developers, held at The University of Queensland, Brisbane, Australia on 19th August, 2012. At least, that’s how it initially played out.

GP South Building at The University of Queensland

A brief summary of HAIKU's package management.

Blog post by mmadia on Mon, 2012-08-20 21:26

With the announcement of Ingo and Oliver’s contracts for package management, it is worthwhile to revisit how package management will function. When reading, keep in mind that this explanation will be condensed, simplified, and partially incomplete. Nonetheless, it will provide a general overview on how things will work.

NFSv4 client: three quarter term report

Blog post by paweł_dziepak on Mon, 2012-08-06 22:09

I’ve recently been working on caching in NFSv4 client. It was essential in order to allow the client to be comfortably used. I can gladly say that the traffic generated by NFS client has been greatly reduced, thanks to metadata, directory, lookup and file caching. I’ve also implemented support for open delegations which, though not always available, allow the client to perform virtually all file operations without immediate server participation.

BFS Partition Resizer: Three-quarter-term Report

Blog post by ahenriksson on Mon, 2012-08-06 20:31

For this period, I have been working on getting resizing to work from within Haiku, rather than just in bfs_shell. In its current state, the code works, sometimes, if you don't stress it too much and write data to the partition while resizing. On the bright side, recovery from various errors is working well :). In terms of functionality, the only thing missing is the ability to grow full or almost full file system. The problem with this is that we need to grow the bitmap that tracks allocated blocks before we can actually make use of the new blocks. This can be overcome with a little slyness, but it's a bit of work, and adds some complexity.

OpenJDK port: three quarter term report

Blog post by hamish on Sun, 2012-08-05 22:03

Since midterm I have been working on the jsound port, which provides audio, MIDI input/output and the ability to control mixer volume and other parameters.

After getting my head around some of the media kit concepts the implementation has gone smoothly. I implemented audio output support first, as I guessed this would be the most used component. It works well. Then I implemented MIDI input and output support. This is untested so far because I don’t have any MIDI hardware. In the end I will probably end up constructing some dummy MIDI endpoints in another app for rudimentary testing. Audio input support is awaiting the availability of the SoundConsumer class, which might be included as a private API in libmedia, as the file cannot be included in OpenJDK because of licensing restrictions. Once this is in place I’ll get working on the audio input support.