Blogs

Another week down.

Blog post by bebop on Mon, 2009-06-22 10:10

Well another week has passed. I cannot say that to many eventful things have happened with my project. I have been working on getting all of the logic in DriveSetup to work the way I think that it should. I finally connected my development computer up to the network today though and thought I would post a screen shot. The two partitions were created with DriveSetup! Not a whole lot to look at but I pictures are always fun :)

DriveSetup Creating PartitionsDriveSetup Creating Partitions

Haiku Native Browser and WebKit port progress

Blog post by maxime.simon on Fri, 2009-06-19 20:34

After a month of work, it's time to take a break and a step back to check on our progress.
And after a month what we have is a prototype of a multi-process browser.

Haiku Native Browser

Ryan and I had a dilemma: Where to start? In fact, there is a lot to do on this project.
So we decided to start with a multi-process browser prototype.

Locale Kit: (somewhat) weekly report

Blog post by PulkoMandy on Fri, 2009-06-19 18:42

Mid-term evaluations for GSoC are already coming...

I'm still working on the catalogs for translating applications. I got the system working and integrated it into Haiku, so now any application can be translated. However, there is still a lot of work to do. I'm now working on a plaintext catalog add on.

Catalogs are the files that store translated strings. There is a catalog add-on called "default" that is used in applications. The problem is that the files for this add on are stored in binary form (as archived BMessages), so it's not easy to translate them.

So, the plaintext catalog add-on will allow developers to extract strings from their source programs and easily translate them in a plain text file. Then it will be possible to convert it to a binary file for use in the application. This is simpler to code than a full featured translation tool (that may come later), and also allow testing of the add-on system.

This is about everything for the catalog system, the other part of the work on this project is the formatting toolkit with functions for formatting dates, times, and numbers. This should be done using ICU, a library that provides all the needed classes, but will be wrapped in the already designed Locale Kit API, which feels more in accordance with the rest of the BeAPI. ICU will also be used to manage a big part of the preflet : language listing, and mapping languages to presets for all the settings.

The last part of the project will be mostly centered on the preflet. It will have to send a message to all the application when the user select a different language, so all the opened window are refreshed automagically.

I have a little problem with my debian setup this week, and for now I can't build haiku under debian anymore. But I will try to build directly under haiku if possible to keep working.
Also, I just finished school exams last week, so from now I will have a lot more free time and I hope the project will speed up a lot.

In the beginning (or DriveSetup creation)

Blog post by bebop on Tue, 2009-06-16 02:08

Another week has gone by and I am glad to say that some progress has been made. Just a few minutes ago I was able to create a brand new partition from within DriveSetup. The setup is as follows: Create a new empty Intel partition map (thanks Stippi), in that map create a new partition that spans the whole disk. It works! After that I initialized the partition with BFS and can install Haiku on it.

This is far from a complete solution however, there are a few places were code that should not be commented out is commented out and a bunch of my debugging information is still in the code. Also one cannot yet set the size of the partition or where you want it on the disk and I suspect that being able to set these parameters will lead to some more bugs that I will get to track down.

In any case I am really excited because I can finally see visual progress in the work that I have been doing which I think makes anyone happy. So stay tuned and hopefully I will have a nice neat patch in the near future.
Ciao,
Bryce

p.s. BIG thanks to Bonefish.

Progress, Style And More

Blog post by bebop on Sat, 2009-06-06 01:56

First up, Progress. The GSoC program is around two and a half weeks in and I thought it would be a good time for a few words. First of all a big thanks to Google and Haiku for making the transition from school to summer easy. Last summer I got an internship in a C# shop. For the first part of the summer I was not only trying to get my head around the code base, I was also learning all the in's and out's of the .Net framework. I bring this up because my first couple of weeks working with Haiku has been similar in both frustration and fulfillment. Frustration tends to come from my own lack of understanding of how the system is put together, which makes the moments when things come together seem like the best few minutes of the day. The BeAPI has been fun to learn. I have done some work with Qt, and the Haiku layout management seems to follow the style. Also the BeAPI also seems to take the "less is more" approach (compared to Qt and .Net) which has grown on me daily.

Gui programming however is not the meat of the project. For that we have to dig deeper into system. The public API for interaction with the partitioning systems aka "disk_device" API has been more challenging than the interface kit. Luckily there were a couple of examples of how to use the disk_device API in the DriveSetup application. Initialize has worked for some time now and was a good place to start. My first task has been to finish implementation of primary partition creation. Stephan Assmus had checked in the start of a creation method, and from that and the Initialize, I have been able to put together a close-to-functioning create. Deletion is the next thing I am going to finish in DriveSetup so hopefully we can have at least a basic partition editor in the near future. I will try to post a blog with the current status every week, so stay tuned for more of my rambles and updates on DriveSetup!
Bryce

Locale Kit: everything about catalogs and catalog add ons

Blog post by PulkoMandy on Mon, 2009-06-01 19:52

Today I have started to write a catalog add-on to save catalogs in plain text for easy translation. I've spent some time looking at the involved C++ classes, and here is what I found.

A catalog is a collection of strings, stored as pairs. It is used in the locale kit to translate the text in an application to the system language at runtime. When an application starts, it asks the locale roster to find its catalog and return it back. Then, each time a strig needs to be displayed, it goes trough the catalog and is translated automatically.

Catalogs are stored on disk, and can use various formats. For example, there are files originating from zeta's locale kit, unixish po files, and our own format or haiku. The app doesn't need to know which of them it is using, so finding the right one is the job of the locale roster. All the different formats are handled by catalog add-ons. Every catalog knows which add on it needs to use to do all the work of loading and saving. An EditableCatalog can be modified, it's not meant to be used by a regular application, but only by the apps made for editing catalogs. For now, we will use collectcatkeys to extract all the strings from a sourcecode and dump them to a plain text catalog. Then, linkcatkeys will convert this catalog to one in the native format, which is faster to parse at runtime. Later it will be possible to create an app that allows direct editing of the compiled catalog with a nice graphical interface.

This will allow me to easily create test catalogs in different languages and use them in my HelloWorld test app. Then, i will add language swtching to the locale preflet, and test it so the testapp updates all its strings in realtime when a new language is selected in the preflet.

Update on the Web Services Kit and the Haiku Code Drive

Blog post by AntiRush on Fri, 2009-05-29 02:40

As you may have read recently, I've had to withdraw from the code drive this summer. Luckily, another student has stepped up to take over my spot. I hope his project is a success and that I'll be able to jump back in later in the summer.

I've had to reorganize my priorities because I was accepted into an REU program in which I'll do graduate style research for the summer. I'm looking to attend graduate school so this was an opportunity I could not pass up. Thankfully Matt Madia was quite understanding and was even able to locate another student to take over from me.

I will be doing research at the University of Wisconsin until the end of July. The project I'm working on is a drive to collect, create, and evaluate the effectiveness of visualizations of algorithms. The resulting collection will be used across many universities in their CS programs.

With that said, I'm pretty much without spare time for the next weeks. I've got an eye on the Haiku project though, and I'll be back and contributing when I'm able. Thanks for the opportunity and good luck to everyone this summer!

Syndicate content