Thursday, 3 November 2011

News from the Zeitgeist land

Hey everyone,

on behalf of the Zeitgeist team I'd like to announce that today we're releasing the latest version of Zeitgeist (0.8.99-alpha1). It's quite unusual for Zeitgeist to do alpha releases, but this one is special - the entire daemon was rewritten from Python to Vala, which most likely brings a couple of new bugs, but also fixes another bunch of old bugs. Therefore we'd need people to test the release to see if there are some outstanding issues we missed.

As usual, the tarball is available on Launchpad. Of course we'll be also pushing the package into our PPA soon (although the alpha release may be only available for Oneiric users). Please report any bugs you encounter to either Zeitgeist's freedesktop.org bugzilla or to our Launchpad bug page.

The biggest difference you'll be able to see at this point is much faster startup time, other than that the changes will be minimal - we're still using the same database, as well as the same DBus API, so everything should be working as before. One thing we did break is the API for the Activity Journal extension, so if you want to continue using it with this and further releases, you need to update also Activity Journal.

What's still missing is rewrite of our FTS extension (which provides search capabilities), so for the time being we're still using the old one written in python which is included in the tarball.

Before I wrap up, I'd like to say huge thank you to Collabora and Canonical, who sponsored the development, and of course to the whole team: Seif (seiflotfy), Siegfried (RainCT), Mikkel (kamstrup) and Manish (m4n1sh).

Wednesday, 3 August 2011

Desktop Summit 2011

To make sure I don't forget: I'll be also at this year's Desktop Summit in Berlin, and it'll be my first time on such huge conference, so I'm quite excited. If you have any Synapse / Zeitgeist questions feel free to ask. :) Last, but not least, we'll also have a BOF about GtkRecent.

See you there!


Tuesday, 17 May 2011

Intel's OpenCL on Ubuntu

Since I work with OpenCL a lot and yesterday I found out that Intel's OpenCL is now finally available for Linux, I thought I'd share a few words of how to get it to work on Ubuntu (even though Intel currently provides only a rpm package for RHEL and Suse).

First of all, I'm testing all of this on Lucid 64bit, but I suppose it'd work also on newer Ubuntu releases (though you need to be using 64bit version, cause the Intel package is for 64).

So let's get to it.

  1. First of all grab the rpm package from http://software.intel.com/en-us/articles/download-intel-opencl-sdk/.
  2. Install the rpm and alien packages (`sudo apt-get install rpm alien`).
  3. Convert the rpm package to deb using alien - `fakeroot alien --to-deb <intel's rpm package filename>`. The conversion spits some warnings, I wouldn't pay any attention to them.
  4. Install the newly created deb package. `sudo dpkg -i intel-ocl-sdk-suse+11.1_1.1-2_amd64.deb`
  5. One extra package you need to install for the library to work is libnuma. `sudo apt-get install libnuma1`
  6. Make sure the ICD is installed. `sudo echo "libintelocl.so" > /etc/OpenCL/vendors/intelocl64.icd`
  7. The package is nice and also installs OpenCL headers in /usr/include/CL. Also the main binary (libOpenCL.so) is installed in /usr/lib64 - if you don't have any other OpenCL platform installed on your system, I suggest moving it to /usr/lib (run `sudo ldconfig` afterwards), if you do have this library already (for example nvidia driver also contains it) just leave it there.
  8. Since the libraries are installed in non-standard location for Ubuntu (/usr/lib64/OpenCL/vendors/intel), you'll need to adjust your LD_LIBRARY_PATH. I usually do this using a script, but you can just run:
    export LD_LIBRARY_PATH=/usr/lib64/OpenCL/vendors/intel:$LD_LIBRARY_PATH
Running a OpenCL program that just lists available platforms should return now at least one platform. Or if you have multiple platforms including their ICDs installed you'd get something like:
There are 3 platforms available
PLATFORM_NAME: Intel(R) OpenCL
  VERSION: OpenCL 1.1 LINUX
  VENDOR: Intel(R) Corporation
  PROFILE: FULL_PROFILE
    DEVICE: Intel(R) Core(TM)2 Duo CPU     P7370  @ 2.00GHz
    MAX COMPUTE UNITS: 2
    DEVICE VERSION: OpenCL 1.1 
    DRIVER VERSION: 1.1
PLATFORM_NAME: ATI Stream
  VERSION: OpenCL 1.1 ATI-Stream-v2.3 (451)
  VENDOR: Advanced Micro Devices, Inc.
  PROFILE: FULL_PROFILE
    DEVICE: Intel(R) Core(TM)2 Duo CPU     P7370  @ 2.00GHz
    MAX COMPUTE UNITS: 2
    DEVICE VERSION: OpenCL 1.1 ATI-Stream-v2.3 (451)
    DRIVER VERSION: 2.0
PLATFORM_NAME: NVIDIA CUDA
  VERSION: OpenCL 1.0 CUDA 3.2.1
  VENDOR: NVIDIA Corporation
  PROFILE: FULL_PROFILE
    DEVICE: GeForce 9300M GS
    MAX COMPUTE UNITS: 1
    DEVICE VERSION: OpenCL 1.0 CUDA
    DRIVER VERSION: 260.19.29

Good luck implementing your OpenCL kernels. :)

Thursday, 7 April 2011

New Synapse again!

In the release-often spirit, we prepared Synapse 0.2.6, which, as opposed to last release, contains lots of user interface tweaks, changes and additions (drag and drop, new theme, improved focus grabbing). This time you can read all about it at Alberto's blog.

Wednesday, 23 February 2011

Synapse: Anandamide

Just a quick shout about new release of Synapse - 0.2.4! There aren't too many user visible changes in this release, besides a few new plugins. Mostly polishing and more polishing.

Anyhow here's the changelog:
  • added Calculator plugin
  • multiple fixes to Zeitgeist searches
  • add plugin descriptions (links to wiki)
  • added simple Launchpad plugin
  • added Pastebin plugin
  • added Copy to clipboard action
  • added Imgur plugin (uploads images to imgur)
  • added Selection plugin (execute actions on currently selected text)
  • small UI fixes and speedups
  • multiple smaller bug fixes
If you like Synapse, you can help out by writing plugin descriptions on our wiki, just click the help button in Synapse's preferences window (in the plugin tab) and you'll be taken to a wiki page (most likely empty right now) where all other users will then be able to read this.

Tarballs are at the usual place. Ubuntu users using our bleeding edge PPA (ppa:synapse-core/testing) could have been enjoying most of these improvements for quite some time, but the new packages have now been built also on our stable PPA (ppa:synapse-core/ppa).

Monday, 14 February 2011

My work @ Zeitgeist hackfest 2011

As many of you probably noticed, last week there was Zeitgeist hackfest happening at Aarhus, and here's a short summary of what I've done (you probably already read Mikkel's and Seif's posts about it).

My overall mantra was to get the necessary bits for proper Zeitgeist integration upstream, and I dare to say that this worked out quite well:
  • the Gio patch which provides us with extra information about application launches is now part of official GLib 2.28 (https://bugzilla.gnome.org/show_bug.cgi?id=641395)
    • this allowed us to remove the non-standard Gio module from libzeitgeist, and its job will be now done by zeitgeist-datahub
  • zeitgeist-datahub received a couple of updates - I ported it to use GDBus (which was a nice experience in Vala) and added the module that listens for application launches
  • for quite some time we have had plugins for many applications in Zeitgeist Data Sources project, but to make it easier for users to get these, I ported a few of them to use libpeas and requested merging them to their upstream projects, therefore in the next GNOME release the Zeitgeist integration plugins for Totem, gedit, and Rhythmbox will be just a click away.
  • libzeitgeist also received many bug fixes, and I hope the new GDBus series will now be as stable as the older dbus-glib powered one (and maybe even more), now the only thing that's missing there is GObject introspection annotations and making the API a bit more friendly for non-C uses.
  • Seif also implemented the grid plugin based on my idea :) and hopefully this work will continue in some form, preferably something usable by multiple applications - a zeitgeist-gtk library comes to mind :)
I also feel obliged to thank the #gedit guys, who have been very helpful, and let me tell you that they have a very nice plugin architecture now ;)

Ultimately a thank you goes also to our sponsors: