Foo Linux

Eclipse Huge Tab Bar Foo

On my odyssey to find the right desktop environment for me I am back in Gnome land. In its latest incarnation Gnome 3 it looks nice and seems to be actually usable. I still don’t like that they removed more or less all useful configuration options. But finally there are some tools that make up for that (i.e. Gnome Tweak Tool).

But I am digressing. One of the many issues that I had afterwards was Eclipse. I don’t like using Eclipse (or in this case MyEclipse) in the first place but after the switch to Gnome it was worse than ever. And it was not so much Eclipse in itself it was more the fonts and the way the widgets were drawn. The fonts I fixed with a general font settings overhaul for the desktop. But certain parts of the UI just were huge and didn’t scale nicely. The toolbar on top fit always in one row but now I have two rows. And although the fonts were smaller the tabs and toolbars were drawn like they had to accommodate a much huger font. It is just an utter waste of space.


The solution was actually quite easy. Just open or create the GTK 2.0 configuration file (.gtkrc-2.0) in your home directory and add the following lines:

style "compact-toolbar"
  GtkToolbar::internal-padding = 0
  xthickness = 1
  ythickness = 1

style "compact-button"
  xthickness = 0
  ythickness = 0

class "GtkToolbar"                       style "compact-toolbar"
widget_class "*<GtkToolbar>*<GtkButton>" style "compact-button"

Afterwards restart Eclipse and all is good.

eclipse-tab-foo-after-1 eclipse-tab-foo-after-2

CloudPress Foo Linux Owncloud Projects Wordpress

CloudPress Foo

In the wake of all the NSA scandals I finally took the time and created a full blown cloud solution for my family. I used a lot of components that are readily available (Owncloud, Roundcube, WordPress, etc.) and could create a very well rounded solution for us. In order to integrate everything I used the Roundcube plugin for Owncloud and CloudPress to integrate with WordPress.

But of course I ran into trouble. The Roundcube plugin worked out of the box and I have no problem letting people set up their own accounts. But the CloudPress plugin to sync the user accounts made some trouble.

After some digging the problem was obvious. The file that you can download contains conflict tags from a CVS update. This is kinda odd but easy to fix. After I removed the tags and the broken/old code the sync worked fine but still some images of the plugin didn’t show up.

Some more digging and that was resolved as well. Now I have a nice solution for my family to write blog posts and collaborate. To make life easier for other people I decided to release the fixes that I applied. So please give a warm welcome to my own patches for CloudPress. And now click here to go to my project page.

Foo Hardware Linux

Ubuntu Sleep Foo… Resolved… Kinda…

After a lot of searching, testing, trying stupid stuff, ripping hair out, frustration, and what not, I finally found a hint what is going on here.

To recap you can read here and here or just continue reading.

So, if you didn’t follow the links, then here a quick recap. My machine, after installing a ton of new hardware (new motherboard, processor, cooler, memory, graphics adapter) and re-installing Ubuntu started acting weirdly. It was in standby, when I returned to the office (it is a server!) or some service was not responding (because it was in standby).

After looking at the usual suspects like kernel, drivers, certain pieces of hardware, I first suspected the UPS to cause this. But I never could find a reason for that trigger in the UPS and even without the UPS the problem prevailed.

Afterwards followed a phase where I suspected the desktop environment because XFCE reacted differently than KDE and so on. But digging into this also didn’t resolve anything. But I learned a lot about UPower in the process.

Finally I had the opportunity to see it happen in real time and it was an eye opener. I have a TV and a Blu-Ray player in my home office to be able to watch… okay, listen to a DVD or a Netflix movie. But it never occurred to me that my “random” sleep events always happened when the TV and/or the Blu-Ray player was used.

Conclusion… well, it is not a software problem at all. It is a hardware problem. and now we are dealing with a different kind of problem. Either I have a problem with the electric in my office or, much simpler, my power supply is not strong enough. Remember, that I replaced everything but the power supply?

I guess my next step is to get a new power supply. Which would also help me to get my Windows machine back up and running because I can rotate power supplies… yeah


DLL Foo… OK, it is DLL Hell

It’s been a while since the last post and now Windows makes headlines. At least here. But enough of the whining and back to business.

The DLL hell problem. Well, everybody using Windows sooner or later became acquainted with this nice place. Nowadays the hell is not as hot anymore because programs are nice and install DLL’s in the program directory and Windows looks there first. Plus, it has a lot of automagic mechanisms that try to find the correct DLL.

But what if you have two pieces of software in the same directory and they need the same DLL,… but in different versions. You might think you are in hell, but fear not, there is a solution.

There are multiple ways for Windows to load a DLL and in this particular case the standard mechanisms fail. So we have to nudge Windows into the right direction. And the best way to do that is to dive into the registry, quel surprise.

As a first step you have to create two separate folders where the DLL’s will reside. Lets call them LibA and LibB. Now we have to force Windows to use the correct DLL for the correct executable. This is done by adding a sub key to the registry to the following key:

HKEY_LOCAL_MACHINE\SOTWARE\Microsoft\Windows\CurrentVersions\App Paths

This new sub key needs to get as the name the name of the .exe file, like TestApp1.exe or TestApp2.exe.

Into the Standard value Windows needs to get again the executable but this time with the full path, like “C:\Program Files\TestApp\TestApp1.exe”.

And last, but not least, you create for each of these keys a new string value with the name Path. After you assign the path to the DLL folder to that string value (for instance C:\Program Files\TestApp\LibA) everything should work. Just restart the application and you are good to go.

DLNA Linux PS3 Ubuntu

PS3 Media Server made easy

After some struggles to get the PS3 Media Server to run on Ubuntu 11.10 (Oneiric Ozelot), somebody must heard my prayers (not that I prayed, but anywhoo). You can install PMS now using a PPA and there is even some official documentation from Ubuntu available here. And the official PMS forum thread can be found here.

This new repository makes it kinda foolproof to install PMS on Ubuntu and here everybody is happy to have their movies and music again.

Foo Linux Ubuntu

Black Screen After Ubuntu 12.10 Installation Foo

We are a step further. I changed the partitioning so that the new and bigger core.img of GRUB fits on the disk. I manually selected the boot device because the drive enumeration changed with the new kernel. All is good. The system is installed and boots….

But all I got is a blank screen and a bunch of hard disk led’s that are working overtime. So I thought it might be a problem with the syncing of the newly created RAID. Time to take a nap…

After the nap and some other things, I returned and still all is black. But the keyboard reacts to Num Lock changes and it seems alive. Just no video. So the framebuffer hit me again. Why is that used by default anyways? Lets switch it off.

That sounds easy and it is. Just restart and in the GRUB menu screen hit e for edit the entry of Ubuntu. You get a nice EMACS style editor where you can remove the line that says:

gfxmode $linux_gfx_mode

After the change press F10 to boot the modified entry.

In my case I could see that one of my RAID’s was in degraded mode and the system was waiting for input. I really don’t understand why we are not in text mode here or why the framebuffer is not able to show this information. Anywhoo, I am now fixing my RAID and hope this information might help others.

Linux Ubuntu

Ubuntu 12.10 Upgrade, LVM and RAID Foo

And here we go again. It was about time to update my server to the latest Ubuntu. Everything seemed fine and the installation went its usual way. Beforehand I made sure that I new what partition will be what and what data on what partition is worth keeping.

The partitioning tool in manual mode did what it should do, the packages installed and then came the famous question if you want to install GRUB in the MBR. Of course I selected “yes” and all I got was an error.

Switching to the fourth console (I chose the server ISO) revealed the culprit. Obviously the size of the core.img increased again. Here an excerpt of the error message:

/usr/sbin/grub-bios-setup: warning: your core.img is unusally large. It won't fit in the empedding area.
/usr/sbin/grub-bios-setup: error: embedding is not possible, but this is required for RIAD and LVM install.

This turned out to be a little problem. The RAID partitions start too early for the new  GRUB 2.00 but I have some data on this RAID that I need to keep.

Luckily I had another RAID device with enough space so that I could backup all my data. And now I can start the installation again, but this time I have to wipe the the LVM and the RAID on the boot drives.

Foo Linux

Ubuntu Random Sleep Foo

I am really getting frustrated. I ruled out more or less everything. I have no UI connection to the battery in the UPS anymore but still the system goes either randomly to sleep (KDE, Unity, Gnome) or logs out and messes up the X server (XFCE).

The interesting thing is that I can distinguish between the log out screen of Unity/Gnome and XFCE. When running XFCE I all of a sudden see the logout screen of Unity/Gnome and not of XFCE. So something in the system of Gnome/KDE causes a log out or a sleep.

I am ready to go back to a simple window manager but still not sure if that really will help my problem.

Lets see what the next release of Ubuntu brings. At least it is not that long anymore…

Coding Foo

Games In Just A Couple Of Bytes

Slashdot had a couple of articles on games that are coded in JavaScript in just a couple of lines of codes or even better in just a couple of characters of code.

I really like the way how coders go back to the roots and think about what you can do in just a handful of bytes. So here are two examples of games that are coded in just a handful of lines:

Tron (219 Bytes / project page)
Tetris (140 Bytes / project page)