Hacking away on Thermostat

About a month back I’ve started hacking away on Thermostat. It’s an instrumentation and monitoring tool for the HotSpot Java virtual machine. Here is a list of features which have been implemented so far and here is a rough timeline of what’s coming. Suggestions about features you’d like to see are always welcome!

My contributions so far have been mostly to get started on a basic Eclipse plug-in-based Thermostat client. Here is a short screencast showing it in action (Webm format):

http://jerboaa.fedorapeople.org/demo/thermostat/eclipse_prototype_20120816.webm

Keep your eyes peeled for updates on this 🙂

Developing Gimp with Eclipse CDT

A colleague of mine has posted a tutorial as to how to build and develop Gimp using Eclipse CDT. Very cool, check it out!

Screencasts on Fedora Packager for Eclipse: Vol 2, Cloning Fedora Git Projects

Fedora Packager for Eclipse can be used to maintain your Fedora packages as well as for preparing new packages for review. Today I wanted to show you how you can import Fedora packages into your Eclipse workspace. Once you have it there you are ready to edit the .spec file, test your modifications using Fedora Packager for Eclipse and commit changes to the Git repository using EGit. Without further ado, here is the link to the ~2:30 minutes long screencast (OGV format):

http://jerboaa.fedorapeople.org/demo/eclipse-fedorapackager/import_fedora_git_projects.ogv

Enjoy!

Enabling Image Icons in Eclipse

I think icons make sense and in general terms improve software usability if used properly. This applies to Eclipse as well. If you happen to use the context menu a lot, say for committing things to Git, you might be used to this:

No image icons in Eclipse

Note the plain context menu, which does not show any icons. Contrast this with this:

Image icons show in the context menu et. al.

Yay, icons show up 🙂 For those of you who wonder how to enable icons in Eclipse, here is how you can do this (assumes Fedora 15 and Gnome 3).

$ sudo yum install gnome-tweak-tool
$ gnome-tweak-tool

Then go to “Interface” and turn on “Menus Have Icons”. It should look like this:

Gnome tweak tool with menu icons turned on

Edit (2015-01-28): If you want to do this in Fedora 20+ use the following. Taken from [1]:

Install dconf-editor and open dconf-editor:

$ sudo yum install dconf-editor
$ dconf-editor

Navigate to key org.gnome.settings-daemon.plugins.xsettings and change overrides from:

{}

to

{'Gtk/MenuImages': <1>}

[1] http://forums.fedoraforum.org/showthread.php?p=1680581#post1680581

Debugging Eclipse dropins

Chris Aniszczyk wrote a handy little blog post about debugging Eclipse dropins a while back which I’d like to share.

Why is this useful? That’s how packaged Eclipse plug-ins are installed in Fedora (for example). In a nutshell, a directory is dropped into a dropins directory system Eclipse knows about when an RPM is installed (e.g. by using yum). The name dropins kind of makes sense 🙂 When Eclipse is started the next time it checks timestamps on files and directories in those dropin-directories and if something has changed, will try to install them. No problem you say? Not quite. First note that all dropins installed bundles get marked as optional, so no error is reported when dropins reconciliation fails. Here is a scenario: Say the bundle you just installed using yum could not be resolved (for whatever reason), then Eclipse will just omit those unresolved bundles, since they’re optional anyway and just starts with bundles the user had installed previously. This is a problem, since the user thinks the plug-in is installed – the yum installation succeeded, after all – but in fact, the *real* installation happens when Eclipse starts the next time. This really is a very brief explanation of the problem and by no means complete. Take home message: one shouldn’t use dropins but use the p2 director to install Eclipse plug-ins instead.

In any case it’s useful to be able to discover dropins problems and this is what Chris described in his blog post. It’s fairly straight forward. Just create a .options file in your current working directory, put the following content into it and start Eclipse with: $ eclipse -debug -consolelog -clean (you might want to consider removing ~/.eclipse as well). The only required option is debug, but the other ones are useful as well.

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

After that you should see very verbose output which should give you hints as to why some plug-ins don’t show up in Eclipse. Happy debugging!