If you're Linux user and you have Wacom Intuos3 tablet - it's obvious that GIMP will not satisfy your needs. Solution exists: you can download and install free VirtualBox, install WindowsXP as guest system and work with your tablet in guest system, installing your favourite graphics application on Windows guest.
I did those steps: installed VirtualBox 3.0.8 on my SUSE Linux 11.1, installed WindowsXP as guest. But I couldn't configure it - checkbox to turn on tablet in guest system was disabled (grayed out).
I spent few hours reading different forums and bugreports, most of them suggested to mount tablet as usbfs to your system, but it didn't worked for me. When I found solution - it was fast and simple:
1. Open your /etc/udev/rules.d/10-vboxdrv.rules as root. You will see something like this:
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664"
2. Modify third line like this (adding name):
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="VirtualBox/$env{BUSNUM}/$env{DEVNUM}", GROUP="vboxusers", MODE="0664"
3. Restart your system to be sure.
That's it! Now checkbox will be enabled and you will be able to turn on your USB tablet for guest system. VirtualBox will fail with error (something like couldn't create usb proxy device) but only 2 times, when pressing third time - tablet will be recognised by guest system and you will be able to use it. Of course you should also disable mouse integration and your tablet will no longer be available to your host Linux system, but what for do you need it there anyway?
2009-10-13
Tablet on VirtualBox guest
2009-10-08
Problems of small opensource projects
Being Java developer and fan of OpenSource I am writing lots of stuff. Mosly for myself, tools that I am missing or to get some experience with something. But of course there are projects that I think others will like and use if they will know more about it. Few examples:
You will ask wha't the point of that moaning? But the point is, once one guy mailed me with words like "hey, I added few features to your p4nb plugin, maybe you need it?". That day I understood that I am not the only user of that plugin, there are at least another man using it. It was the new beginning for p4nb, it got completely rewritten with new and better feature set and better usability. And then it was forgotten again, because all users were glad with what they had, no bugs and no change requests fired.
Today I got a mail from one guy who is using JLAFChooser, he asked about launching it from Java WebStart. Of course I answered him, but why so late? I have no iterest in that peace of software now, and I will not get back to it's development. It's dead for me, because no one really needed it when it was interesting for me.
Thanx for your attention, and I hope this post will not be just ignoread in the same sad manner.
2009-08-11
Using license with NetBeans project
When you're using GPL or LGPL with your project - you should add license statement to every source file of your project. Using NetBeans it's not that simple - you have to use PROJECT/nbproject/project.properties file to add project.license=default_2 for example, using file name of your license template (but not template name itself). To make your life even harder - GPL and LGPL statements are using name of your project three times. Because of this I created separate templates for each of my (L)GPL projects to include project name. Because of this is took a time to set a complete new project. Now I found solution how to make NetBeans use single GPL template for all projects:
1. use ${project.name} for name of your project. For example: "This file is part of ${project.name}.".
2. in file PROJECT/nbproject/project.properties add project.license=default_1 (or any other file name for your license).
3. in same file (PROJECT/nbproject/project.properties) add project.name=MyNewProject
Now create new Class file and check license header of your file. Hope you'll enjoy!
2009-07-23
KDE 4.3 RC3
You may already know that KDE 4.3 RC3 released, and release delayed for a week. I can't stand that news, I thought that is will be released this Monday, but another 2 weeks... And of course I want to try it without harming my every day system with KDE 4.2.4 and only stable packages. In that moment I remembered about kde4live CDs, that I used some time before SUSE 11.1 released. And of course I found it fast enought using Google. And there are good news - on top of the page there is message that KDE 4.3 RC3 already packed to LiveCD and can be downloaded from SUSE's repositories. Well, Kubuntu users, don't you feel betrayed that your favourite "KDE-oriented" distro is far behind great and green OpenSUSE?
2009-07-09
Kompare - the only valuable diff for M$Windows
I used KDE and Linux for many years, and of course I was shocked when I had to switch to Windows in new office and I didn't found all those little but important tools KDE guys made for us all. Today I will tell you about Kompare.
My history as Kompare user
While being developer from time to time you need to diff between two files. Of course almost any IDE and other development-oriented tool have own diff UI. Of course I used many of them, some are more useful than others. For example older Eclipse diffs were so ugly that it was hard to look at, IDEA had horizontal 3-way comparison, older NetBeans versions - vertical 3-was comparison, KDiff3 showed too much of not required data and also was ugly enought. Only SmartSVN and Kompare used two-way clean and informative diff, but while SmartSVN was written in Swing - Kompare used all possible KDE features including font antialiasing, user's colouring and icon theme and of course smooth comparison blocks. While being feature-rich it was only comparison tool with great UI, so I stuck with it.
Switching to Windows
Of course after I got used with pretty tool like this - it's hard to move to something ugly and not so usable. When on the new job I had use Windows - I went to wikipedia to search for another file comparison tool. And what do you think, I downloaded every free-to-download tool and tried it - and it failed. Some of them took 3-4 steps before show you actual diff, others were overloaded with features, others had ugly UIs. I couldn't make myself use them. I've been lucky and by that time NetBeans team swithed to 2-way diff, and I used NetBeans for even smallest comparison operations.
kde4win salvation
I was lucky enought not to die before kde4win project released with Kompare ported to Windows. Of course few first releases didn't helped me also, but starting with 4.2.0 release Kompare was fully functional. And not with kde4win you can use this great tool if file comparison operations is critical for you.
installing
It's not hard. You don't even have to compile something. Only few steps:
Now you can enjoy your life without feeling the pain of uncompared files on your system.
PS: Kompare can be used even for folders comparison - and it's much more powerfull than you can expect from simple file manager!
2009-07-06
Yet another opinion in Mono case
There were many Mono debates on Tuxmachines for last few weeks. Of course I have my own opinion on this topic. I will not blame Mono right now, just my thoughts about distributing it with Linuxes.
Default distribution
As far as I know, all those debates started when Debian guys thought about including Mono into default installation. But what it default installation? Isn't it related to target users? It's obvious that when you installing Ubuntu - you target home desktops, SLED or Mandrake - office, SLES or Slackware - servers. Depending on that choice "defaults" are very subjective. But is there any distribution problem? I don't see it. Being SUSE user I have my distribution on DVD media, lots of stuff could be fitted there, why not include Mono? If you're single CD distribution - you should think twice and count all Mono-based software you'd like to install. If it's just single application - it will be funny to install mono because of it.
Next, most of Mono apps are made for GNOME. I see no reasons to install it with KDE-based distribution, or console installations.
Thinking about users
In perfect world user should never bother with technology used in his favourite apps. Application should just do it's job, not promote or blame something. To mono or not to mono should depend on those user apps, but should not be some politics or religion choice. As for me I hate beagle, banshee and f-spot. Mono should not be installed for me. And vice-versa. If user will notice any Mono application he will run - it will look like there is some problem with Mono, don't you think so?
System core
While it's completely OK to depend some desktop apps on Mono or other interpreted stuff - it's totally wrong to use it for system parts. Every next level of abstraction and interpretation adds additional level of possible problems, removes some part of integration and requires more resources to work. Can you imagine our world if HAL will be written in ruby or python or something like that? System must not be related on interpretator vendor or on subjective solutions. You may already see some bad examples like ZEN in SUSE 10.0, pulseaudio in current distributions, gcj instead of Sun JRE in fedoras and many more.
From my perspective
It's strange to see, but all mono-based apps I know makes me sick. Beagle that starts and scans event without any GUI installed. ZEN that made me think about switching away from SUSE. Banshee with it's crippled playlists. F-spot with it's lack of features. MonoDevelop with it's lame possibilities totally unexpected in any IDE. I think that the day I will not be able to set "taboo" on Mono in my SUSE installation will be the last day of me as SUSE user.
Java things that make you go "hmm"
I am preparing myself to SCJP exam, and while reading preparation book I found "feature" I didn't knew about. Take a look at the following code:public class Main {
public static void main(String[] args) {
new B();
}
static class A {
public A() {
System.out.println("A constructor");
}
}
static class B extends A {
{
System.out.println("B init");
}
public B() {
System.out.println("B constructor");
}
}
}
How do you think, what output will it generate?
2009-07-02
Java single inheritance questions
There are few structures in Java that are not so intuitive as others. Take a look:public class InnerInvocation {
String getValue() {
return "Outer Value";
}
private class InnerClass {
String getValue() {
return "Inner Value";
}
void work() {
// insert code here
}
}
}
What code do you need to invoke getValue() method from outer class?
Here is the answer: void work() {
InnerInvocation.this.getValue();
}
And now the question of the day: there is syntax that possibly can allow multiple inheritance in Java, so why is it forbidden? Because you as developer can make lots of mistakes? Why then they allowed reflections?







