It seems there is plenty of interest about how to make RocketDock work with two or more docks or bars. Most answers say to use additional docking programs--one for each dock you want. Or use a commercial program that offers multiple docks. I think RocketDock is excellent except I want more than one. I finally figured out how to do it!

Let's first point out that RD is licensed under the Creative Commons license and it explicitly says "You are free... to Remix--to adapt the work." And also to redistribute.

RD prevents multiple instances through the use of a mutex (a common method for this purpose). So basically what I've done is find where in the code the mutex is created (using a debugger) and apply a patch that skips where the program is exited if an existing mutex is found.

So for each dock instance that you want, make a copy of the RD folders (containing the patched RocketDock.exe) and use the option to write settings to the .ini folder as described at http://www.askvg.com/how-to-create-portable-version-of-rocketdock-for-u….

 

Edit 2014-10-19

The steps are...

(if you use the entire zipped folder in the zip attachment, you can skip to step 4)

  1. Follow the instructions for creating a portable version of RocketDock (here), which are basically...
    1. Download and install RocketDock (rocketdock.com). Note that since we are writing to an .ini file in the installation folder, you MUST install somewhere that allows writing to files. That means, you CANNOT install in the normal C:\Program Files or C:\Program Files (x86) folders. Well, OK, there is an exception... if you run the exe as administrator, it will still be able to write to the ini file. If you don't know what that means, just install it to something like C:\RocketDock.
    2. After installing, run RocketDock and customize it as you desire.
    3. After customizing, go into Dock Settings (right click on the dock and select Dock Settings...)
    4. Under the General category, enable the option "Store settings in a portable INI".
    5. Close the dock (right click on the dock and select Quit).
    6. Copy the entire folder to some other location, let's say C:\RocketDock_bottom.
    7. Uninstall the first location.
  2. At this point you should be able to run the RocketDock.exe file from your second location and have the bar appear.
  3. Close any running instances and replace the original RocketDock.exe (dated 2007-09-02) with the the patched version on this web page (dated 2012-11-10).
  4. (You can start here if you use the entire zip file attached, which is the contents of a RocketDock installation folder... extract it into a folder)

    For each additional dock that you want, do the following.

    1. Copy the folder again and rename it (for example, C:\RocketDock_top).
    2. Run RocketDock.exe and change the settings so it appears where you want it.
    3. Close the dock and ensure that a file "Settings.ini" was created in the proper location's folder and the file has the correct modified timestamp (whatever time you click OK on RocketDock's settings page).
    4. Alternatively to B and C... Edit the ini file directly. Look for the key "Side" and change the value to the number corresponding to where you want it: Top=0; Bottom=1; Left=2; Right=3.

 

Selecting PHP command line version on HostGator shared host

This took me a while to find, so I'm saving it somewhere I can find it again.

The easy way to select the PHP version used for web applications is to use the CPanel configuration tool. However, that doesn't work if you're using SSH and need PHP on the command line. Also, on HostGator, you can't create a symlink outside of your directory (such as to the global php).

You can find out what version you have with

$ php --version

If that's not the version you want, try a specific version like this (php55 is 5.5, etc):

Book Scanning Process

 

Just to document this for next time. For reference, my books are 8 x 10.75 inches and other dimension below work for this. For approximately 100 pages, It takes me about 45 minutes to scan, an hour to crop and rotate, and 30 minutes to organize and generate the PDF.

Fixing features for hotfolder

Here is some documentation about the process I used to solve some issues with hotfolder and the features module. I was doing this partly through the web interface and partly through a console, so this is a reconstruction of what I remember and the console log. 

 

I was getting the following error message when I tried to check hotfolder watches (see https://www.drupal.org/node/2453659):

Notice: Undefined property: stdClass::$field_watch_config_scheme

 

GIMP for Kids

 

My daughter likes to draw on the computer. I don't remember exactly how it started, but she draws in GIMP using my Genius pen tablet, on my secondary monitor. I used to have Linux running in a VirtualBox with GIMP running on my second monitor for her, but VB doesn't completely work in Windows 10 yet. A while back I tried running GIMP on one of my Raspberry Pi's but it was just too sluggish to be useful, frustratingly slow for a (then) 3-year-old. It runs much better on a Raspberry Pi 2. It still lags if she goes crazy with a big brush, but it works.

Die Fly: Designing a better fly swatter

I was looking through some of my old stuff for something and ran across this gem. If you need to put together a quick flyswatter, try this one I designed for a class in college (the famous Rube Goldberg project).

Here are a few excerpts from the attached PDF. If this doesn't convince you to build one (perhaps with several improvements as noted in the document), I don't know what will.