Ringlord Technologies Products

A Knapsack of Solutions

For some problems there are no easy solutions, at least none that have worked for me. Maybe my google-fu is lacking, or maybe I'm just prone to do things in ways that are just a little different from the standard tutorials, and it takes me a while to figure out just how to bend things to my liking, or I have to devise my own work arounds.

If you come across this page, and find something useful here, raise a beer to me when next you have the chance, or send me a few fractions of a bitcoin (see bottom of the page for the address). :)

Issue Solution
I generated my RSA public/private key pair some time ago, but no longer remembered the size I had chosen. I don't want to regenerate the key if it remains strong by today's standards, so how do I find the length of the key? The answer is not quite intuitive. My google-fu probably sucks or maybe nobody else really knew the answer, either, but here is it:

ssh-keygen -l

You will be prompted for the name of the file, and the output will be a single line of text. The first item is the number of bits. This is followed by the finger print, the identity of the key, and finally the algorithm. Problem solved!
Attempting to mount a remote directory using sshfs results in an error message:
fuse: failed to open /dev/fuse: Permission denied
Most likely, you do not have permission to read and write the /dev/fuse device. The best way to accomplish this is for a group named "fuse" to have such access, and for you to be a member of that group (you may need to add sudo to the commands below):
  1. If it does not yet exist, create a group named "fuse" (you may need to prepend 'sudo' to this and other commands):
    groupadd fuse
  2. Ensure that members of group "fuse" can read/write to the /dev/fuse device:
    chmod g+rw /dev/fuse
  3. Make yourself ("<me>") a member of the group "fuse"; after this you will probably have to logout and back in again for your account to pick up on that change:
    usermod -aG fuse <me>
Executing JAR files with the help of binfmt_misc (or jexec directly) produces an error message "invalid file (bad magic number): Exec format error" If the jar executes correctly using the awkward java -jar mytool.jar then the problem is almost certainly the lack of the correct magic number (0xCAFEBABE) in the JAR. The issue either arose because the JAR was originally packaged as a plain old ZIP file (no magic number), or was manipulated in such a way that the magic number was lost.

If you built the JAR yourself with ZipOutputStream then the easiest solution is to build it with JarOutputStream, instead. You could also write a tool to read the zip entries and rewrite them using JarOutputStream.
Eclipse Content Assist (Ctrl+Space) no longer works under Unix/Linux/etc. Picking the option from the menu works, but the keyboard shortcut only blinks the cursor to no good effect. It may be that ibus has registered this shortcut, and each time you press Ctrl+Space, the input method switches, but you may not notice. The solution is running ibus-setup and change 'Next input method' in the General tab by pressing the '…' button and maybe adding additional key qualifiers (I picked not just Ctrl but also Shift and Alt, so now Ctrl+Shift+Alt+Space is used by ibus, freeing Eclipse to use Ctrl-Space again. Save ibus setup, close the IBus Preferences window, and Eclipse works again as it should.
Java .jar files are not executing as they should when launched like any other binary from the command line. Instead there is a bunch of strange junk getting printed. On a Debian system (example: Ubuntu) execute
sudo apt-get install binfmt-support
and that’s all you need!

On Fedora, you should have binfmt support available, but probably have no handlers installed. A binfmt handler specification looks like this: :jarexec:M::PKx03x04::/path/to/jexec: but you’ll have to fix the /path/to/jexec to where your JVM has installed it. You should be able to make this permanent by adding this spec into a file in /etc/binfmt.d/ but you can also test it with a command such as
sudo sh -c "echo ':jarexec:M::PKx03x04::/path/to/jexec:' > /proc/sys/fs/binfmt_misc/register"
(yes, the ‘sudo sh -c’ is necessary; merely ‘sudo echo ...’ will not work).
Cell background color in LibreOffice Calc shows only white, not the chosen color (unless maybe editing the cell). The solution lies with the “high contrast” accessibility option. Many operating systems support this as a global option for all applications to use, but if everything else is fine and you only want LibreOffice to change its behavior, then you may want to alter the setting only in LibreOffice:

In LibreOffice (you don’t have to have Calc open, but may want to, so that you can verify the result at once with some cells that have a non-white background color that is presently showing white) open the menu Tools » Options and under the LibreOffice entry, look for “Accessibility”. Under “Options for high contrast appearance” is a checkbox: “Automatically detect high contrast mode of operating system”. If it is checked, then uncheck it. The display in Calc should update as soon as you press the “Ok” button on the Options dialog (no restart required).
Firefox is not showing the protocol, so all the http:// and https:// and mailto: and ftp:// protocol names are missing. The solution is to disable the ‘trimURL’ related property in Firefox. In short, type ‘about:config’ into the location bar, acknowledge that you’ll be careful, then type ‘trimURL’ into the search field to limit how many of its numerous settings Firefox shows you. The property you are looking for is named ‘browser.urlbar.trimURLs’. Double-click on it to toggle its value (set it to ‘false’ to prevent the protocol trimming). The change takes effect immediately.
The ctrl-f7 (Thesaurus) hot key in LibreOffice does not work under KDE, even though it works when selected from the menu directly. KDE intercepts this key. To remove KDE’s use of the ctrl-f7 key, open System Settings » Shortcuts and Gestures » Global Keyboard Shortcuts.

From the drop down labeled “KDE component” pick “KWin”; optionally type “F7” into the “Search” box beneath it, too (this restricts the otherwise long listing, saving you from having to look for the F7 combination visually): What you are looking for is the Action whose Global column shows the Ctrl-F7 hot key.

Once you have found the “offending” entry, click on the Action, then pick “Custom” to modify the default, and click the “[x]” button to clear the existing choice.

Apply the change you made (the “Apply” button is in the bottom right corner of the window) and you’re all set.
Using extern "C" to force a method in a C++ application to be callable as a signal handler for GTK+ would not compile. I kept getting a compile time error ("expected unqualified-id before string constant") until I realized that my handler method had to be in the global name space, rather than nicely enclosed in my GUI class. <groan>

This worked fine with a shutdown handler for the application, but as soon as I added other handlers, like a method to open a file dialog, the error was back. The solution to that was to declare all handler methods using G_MODULE_EXPORT as in … G_MODULE_EXPORT void file_open( GtkWidget *object, gpointer user_data )
The right-click quad menu refuses to come up in GMax There appears to be a known issue involving Windows Vista when a theme named "Aero" is not installed/enabled. Supposedly enabling Aero fixes this for Vista, but I'm running WinXP and no, my right mouse button works just fine in all other applications.

Why does it work on one WinXP machine and not the other two? See this hand, beats me! ;-)

But I did manage to assign a keystroke to bring up the menu. Less than perfect, but workable. It's under the Customize Menu / Customize User Interface.

All content is copyright © Ringlord Technologies unless otherwise stated. We do encourage deep linking to our site's pages but forbid direct reference to images, software or other non-page resources stored here; likewise, do not embed our content in frames or other constructs that may mislead the reader about the content ownership. Play nice, yes?

Find something useful here? Maybe donate some Bitcoin!