Archive

Archive for June, 2008

OpenGTL 0.9.3 and 0.9.4 : first release with Shiva

A few days ago, I spoke about OpenShiva, since then I have added quiet a few features, since OpenShiva can now read images, and work with different bit depth than float 32bits, I have also found a lot of bugs that are now fixed (and are covered by automatic tests ! yay !).

Now, there are all the basic features to demonstrate the technology, so it’s about time to make a release. Especially that a new release of llvm has been made early June, and since they make a point to have weird API/ABI breakage at each release: before to create most instructions you would write “new InstructionName(params);” and now it is “InstructionsName::Create(params);” except for a few instructions were the old style is still in use… That said, without llvm, I would have been unable to achieve what I have achieve until now with OpenGTL.

So here comes two releases, 0.9.3 for llvm 2.2 and 0.9.4 for llvm 2.3, they have both the same feautres sets.

Beside a lot of bug fixes, and the early implementation of OpenShiva, OpenCTL has matured a lot, and now most of the standard library is implemented (it remains a very complex function that is underspecified 😦 and some color conversion functions). And there is also a nice debug system that allows to control output depending on library, file name and function name, which is nice, since OpenGTL, in debug mode, is very noisy (but it’s all needed when debugging).

If you want to have fun, you can download everything here.

Advertisements

Shiva, a lot of excitement for a small achievement.

23 June, 2008 3 comments

Shiva is the sister to CTL programing language I am developing, for the second class of graphics algorithms: kernels. Since both CTL and Shiva are heavily based on C, they can share a lot of code, almost the same parser and lexer, and the code generation is made by llvm.

Anyway, back to the point, a big excitement for a small achievement. Last night, I was at last, able to generate this image with Shiva:

I guess you are wondering wether their browser is broken and is unable to correcly display the image. I can’t be serious about being excited by the generation of a gray image, can I ? Well I did say it was a small achievement. The only beauty behind this image is the way it was generated:


kernel PlainGenerator
{
  void evaluatePixel(out pixel result)
  {
    result[0] = 0.5;
  }
}

Shiva aimed at being simple to learn, and easy to share, meaning the user don’t have to learn how to compile it, or how to find binary specific for its system, that he can use it without fear of virus, and last, but not least, that he can use it in any application, a few lines of code are enough to integrate OpenShiva in an application.

While the above image was the first to be generated, it’s allready possible to generate more sophisticated images, such as a gradient:

Or generates fractal :

While OpenShiva is currently only able to generate images, and not mix images together, which is what a kernel is about, the most difficult part of the library has been written now, all what remains to do (and it’s still a lot of work) is to connect all the bits together, and then, debug (writing the fractal generator made me discovered a ton of bugs…), and polish, and debug, and polish, and…

Nightly package build of KOffice for OpenSuSE

21 June, 2008 1 comment

For a while, now, I have been making nightly package of KOffice for OpenSuSE (10.3, 10.4, 11.0) using the OpenSuSE build service. I haven’t make a more public announcement until now, since I am using Debian myself I couldn’t test them. But Simon Schmeisser (of the flake marble shape fame) told me that he used the package with success for developing is flake shape, so I will assume that the package work.

Here are link to repository for the various OpenSuSE version for which there is currently a built:

On a side note, you can also find package for OpenGTL (and llvm) for 10.2 and 10.3. Not for 11.0, since for some reasons, OpenSuSE doesn’t ship with older version of gcc.

Nightly packages for other distributions might also arrive in the future, debian is first in line. Having a debian package will make it easier to have a klick package, since it didn’t work out with klick and my OpenSuSE rpm packages, the draw back is that on the build service, only the stable version of debian is available, which doesn’t have kdelibs 4.0. For me, klick would be the ideal solution to reach testers, without intrusion on their system.

Weab 0.2 and Kalculus 0.7

I should do more release of both of those applications, but I mostly develop them for my personnal use, but I guess since they can be of use for someone else, why not publish the code. The two of them are developed using the QtRuby binding.

Weab

It’s the application I use to manage my websites (cberger.net, Krita-Plugins, the OpenGTL family). I originally started Weab to have something simple to manage my website (add some pictures, some texts et voila), but since my website is low priority, so is Weab (and it seems that Firefox doesn’t like my CSS which makes my website a poor example of what the application can do :/), so I guess it will never turn in a real widely useful application, unless it interest someone else to work on it ?

Previous release was like over a year now, and the three main changes are:

  • A Journal section, for writing news entry or blog entry
  • The possibility to insert images inside the text
  • There are also a lot of small bug fixing and adjustment in the gallery module.

If you are interested, you can download version 0.2 here.

Kalculus

It’s a front-end to Octave, Yacas and Ruby/GSL, and all kind of command line like calcul application. I also use it to control the algorithm I make for my PHD. In the previous released, I was using bindings to control Octave and Yacas, but that was annoying, since one of the main advantage of ruby application is easy deployment without the need to compile something (and anyway the octave binding was breaking for every released), so the main new thing, in the 0.7 release, is that the Octave and Yacas back-end call directly the interpreter. I have also added some other features that are mostly useful for the back-end used for my PHD.

If you are interested, you can download version 0.7 here.

LGPLv2 is compatible with (L)GPLv3 and later

Lets kill a myth, I often hear or read that LGPLv2 (without the “or later mention”) is not compatible with (L)GPLv3 and later. Which is wrong, since LGPLv2 can be converted to GPLv3 or later, which makes it compatible with GPLv3 (and since LGPLv3 can be converted to GPLv3…) this is the content of the LGPLv2 that states this:


3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.

And for those who don’t believe my interpretation, it’s completely in agreement with the <a href="
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility”>FSF faq on the subject. So, tonight, lets kill once and for all one of the many bullshit we can heard and see on the internet.

Last week in KOffice…

6 June, 2008 4 comments

The big news in KOffice this week is the released of a new Alpha. Among the nice stuff about this release, a lot of improvement on the odf support, sounds and notes in KPresenter. It’s also the first release where we have binaries for three platforms linuxes, Windows and MacOSX.

But what makes me truly happy is that while KOffice, in general, is not ready to receive bug reports, since there are a lot of highly visible issues to solve, some applications are more ready, KSpread, Krita, Karbon and the report component of Kexi, and are open for bug reports, which is really exciting because it means we are getting closer to a final release.

Don’t expect any update on what is going in KOffice from me in the next three weeks, since I will be in Paris without a KOffice build, and the European Football Cup will use a lot of my free time. But I expect to have a lot of bugs reports to close for when I go back in Toulouse ! So go testing Krita.