PulkoMandy's blog

Contract weekly report #53

Blog post by PulkoMandy on Fri, 2014-11-21 09:12

Hi!

After a great week-end at the Capitole du Libre showing Haiku to other people in the free software community (read François' report for more details - video of my talk should be available "soon"), I'm back to work on the code.

Contract weekly report #52 - On to beta1!

Blog post by PulkoMandy on Fri, 2014-11-14 08:52

Hi,

This week I continued work on moving Beta1 forward, fixing some important and less important bugs. To make things clear about what to expect in the upcoming weeks, I will spend more time on Beta1 tasks, but I'll also continue working on WebKit. However, my work there will focus on fixing bugs, rather than adding new features.

WebKit weekly report #51 - back to normal schedule

Blog post by PulkoMandy on Fri, 2014-11-07 07:57
Hello there! I'm now back home after BeGeistert. As you may have noticed if you read the development mailing list, there is a general agreement from the development team for a beta 1 release "real soon now", and after that, it will be time for R1. I will be coordinator for these, which means I will spend a bit less time on WebKit to take care of some other tasks. But I'm not giving up on WebKit, which still needs a lot of changes to reach release-quality. I was a bit less active this week as I had to recover from the lack of sleep at BeGeistert. But it's all fine now and I should soon be back at full speed.

BeGeistert 028 coding sprint report

Blog post by PulkoMandy on Fri, 2014-10-31 08:29
Hello world! As you probably know, I'm reporting from Düsseldorf this week, where the BeGeistert coding sprint is about to end. I won't cover the events of the weekend as Humdinger has already written a complete report for it, including videos of all the talks. So let's instead dive into the coding sprint event, and see what we hacked on during the week

WebKit weekly report #50 - One year of WebKit!

Blog post by PulkoMandy on Fri, 2014-10-24 07:33

Hello everyone!

This week is a bit special, as it closes the first year of my contract with Haiku. I wish to thank everyone for their support through donations, bug reports, comments on these articles, and general support for my work. I hope this will continue into next year.

This was again a rather busy week, but there was not much work on WebKit itself. I'll keep the breakdown I used last week (haiku/haikuports/webkit) as it seems to work well.

WebKit weekly report #49 - Screensavers, ports, and memory leaks.

Blog post by PulkoMandy on Fri, 2014-10-17 07:34

Hello world!

This has been a busy week with activity on all fronts.

WebKit weekly report #48 - More Locale Kit, buildbot and upstreaming efforts

Blog post by PulkoMandy on Fri, 2014-10-10 06:44

Hello world!

Localekit and ICU migration

Last week I wrote the report while I was debugging a deadlock in ICU 53.1. I spent some time debugging this and I found the issue. ICU calls native functions to handle some aspects of timezones (tzset, localtime, and a few others). However on Haiku we implement these functions using ICU. This didn't work too well as ICU tried to lock a lock it was already holding during the initialization of timezone data. Fortunately the calls can easily be disabled in ICU, and that was enough to fix the issue.

While I was working on this, ICU version 54 was released. So I reworked my patches on that new version (fortunately not too much work was needed), and I uploaded the ICU 54 packages to the repositories.

With this updated version, I could continue work on improving the Locale Kit. I added parsing support to BDateFormat and BTimeFormat, which I needed for the data/time picker in WebKit. I finished the implementation of the BMessageFormat class for a first version (this raised a few concerns about design choices in the Locale Kit which may need some rework wrt locking and thread safety). I started making use of BMessageFormat in some places, and soon the translations will provide correct plural support.

I also made some other changes to the APIs, such as the addition of a format generator to ICU. This allows applications to ask things like "I want to know the appropriate date format to show only hours, minutes, and day of week". The Deskbar clock makes use of this now, and should put the fields in the correct order in all locales.

WebKit buildbot and upstreaming effort

You may know that Haiku, Inc. is the owner of 15 Mac Minis donated by the Mozilla fundation and used as build and test bots. They power most of our buildbot infrastructure. One of them was assigned to the WebKit porting effort and this week I worked on setting it up. Since our port isn't upstreamed yet, I have set up my own build master for this, and you can visit it at http://build.pulkomandy.tk . Unfortunately, the build times out because the machine is too slow (we are running Haiku in a virtual machine on rather old hardware there). We will see if the build can be made faster, or a more powerful machine found.

The build bot was a requirement for considering upstreaming our WebKit port. So I started discussing this on the WebKit mailing lists. They decided that it is not time for a complete upstreaming yet, however they suggested we start sending patches to the core parts of WebKit we had to change to get it working on Haiku. There aren't many of those, but the goal is granting one or ideally, two Haiku developpers commit access on WebKit repositories. No one else could review the Haiku specific parts of our code.

I spent part of the week reviewing our changes and submiting the relevant ones. Two small patches were already upstreamed, a tird one is still being discussed, and I will continue this work next week.

Random debugging

Using Haiku as my main system is sometimes a bit of an adventure. I had to fix some annoying issues before I could get work done:

  • Bash was crashing when parsing haikuports recipes with utf-8 characters. This was tracked to a missing bounds check in our widechar type management (wctype).
  • Our buildbot slave package was badly rebuilt after the Python 2.7 update and failed to run. Now it works again.

Bonus material

Here are some tasks I did outside of my paid work time for Haiku this week. They deserve some public announcement.

  • fRiSS, the RSS and ATOM feed reader for Haiku, was fixed for the current network kit APIs and moved to http://github.com/pulkomandy/fRiSS . Fork it and improve it!
  • I started working on the slides for my talk about WebKit at BeGeistert. I hope to meet you all there.
  • I did some work on getting DocumentViewer to run with a current version of MuPDF.
  • I fixed a BeOS compatibility issue in unarchiving BMenuFields, to get VNC Viewer running on Haiku. It seems much slower than the Linux version, however.
  • I added an haikuports recipe for mksh. In these days of shellshock, it may be a good idea to use an actively developped shell with a clean codebase.

... and that closes the report for this week.