Linux Today: Linux News On Internet Time.

More on LinuxToday

Release Digest: GNOME, August 11, 2004

Aug 12, 2004, 04:45 (0 Talkback[s])


Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers

Genius 0.7.0

To find out what Genius is, skip a few paragraphs down, or go to http://www.jirka.org/genius.html

My wife left for a weeks conference and so in the meantime I did not waste any time and went on a late night hacking binge and the result is that I've integrated the GtkPlot* and friends from the GtkExtra-2 library and so we now have printing in the lineplots, but far more cool is the fact that we have graphing of surfaces. See the SurfacePlot function and the surface tab in the "Create Plot" dialog. It's still not exactly as slick and polished as it should be, but it should be basically usable.

Other fun things are new native boolean type so that genius says 'true' instead of '1' when it means true and 'false' instead of '0' when it means 'you are full of crap'.

I've also done a bunch of internal restructuring with the result that the engine now takes a little less memory on deep recursion, but otherwise no real difference is seen.

In any case, Genius is one of the oldest GNOME projects, it has been the original GNOME calculator before I got wild ideas about it doing absolutely everything. It is programmable has a powerful language and handles many fun features including matlab like support for matrices. It requires GNOME2 (at least glib2 if you don't want a GUI) and a recent enough gmp library. However you can still use the command line version if you prefer non-gui interface.

There is still a lot of work required to make this all nice, mostly it needs to have the function library improved and verified to be correct and documentation needs to be written (the complete help system is not yet in place). Feel free to help out :)

Here are the news in 0.7.0:

  • Replaced plotting with the plotting widget from GtkExtra-2 (private copy included, no new dependency), this has several new implications:
    • Plots can be printed or exported to PS or EPS
    • 3D surface plots are supported
  • SYNTAX: Native boolean type, true/false are the constants and added IntegerFromBoolean and IsBoolean functions. Should still be source compatible
  • Fixed saving files warnings about existing files and fixed bad warning on loading files
  • StandardDeviation now works
  • sin,cos,sinh,cosh now work correctly with complex arguments
  • Some memory profiling. Allocate internal structures in long continuous blocks and further fixup the engine to be nicer with separator nodes which can now take a lot of arguments and really whack the result of all but the last expressions at once.
  • Work around a mpfr problem when it could return a negative value for rand()
  • Translation updates (Estevao Samuel Procopio, Vincent van Adrighem, Adam Weinberger, Miloslav Trmac, Laurent Dhima, David Lodge, Gustavo Maciel Dias Vieira, Raphael Higino, Gareth Owen)


The RPM at the 5z site is built on Fedora Core 2 with all the bells and whistles of GNOME 2.6. Note that Fedora Core 2 has all the right things including MPFR.

You can also build RPMS on older redhat's with rpmbuild -ta <tarball>, you should also get the updated GMP RPM which has MPFR enabled since that's a lot better then internal FP routines of genius. RPM for that for redhat 8 is on the 5z site.

Have fun,


PS: No silliness scheduled for failure of brain to function in silly mode. Attempts at generation of a silly message in this space have resulted only in these silly brain error messages.

George <jirka@5z.com>

A good memory is needed after one has lied.

  • Pierre Corneille