When you create a project in MPLABX, none of the files that it creates can be used to open MPLABX. Instead, you have to open MPLABX and then open your project by navigating to it (or leave it open in MPLABX when you close the IDE). I have devised a means to open a project in MPLABX by double clicking on a file.
 
(MPLABX is based on Netbeans version 6, so I imagine something similar could be done to open Netbeans projects. I'm not familiar with the native Netbeans or other types of Netbeans projects, so I'm just guessing here.)
 
Basically, it works by saving a script that opens MPLABX with a command line, sending it the project's folder path. I rename the script file with extension ".mplabx" and then set up an association that calls the scripting engine for that type of file. I chose to use VBScript as the language for this.
  1. Create a VBScript file. See attachment for source code. It looks for a folder that ends with ".X", in the same directory as the script file. If more than one is found, it looks for a folder with a similar name as the script file, e.g. MyProject.mplabx will open the project in the folder named MyProject.X.
  2. Rename the script file to ".mplabx".
  3. Add an association to the Windows registry for opening .mplabx as a file that can be run by the Windows scripting host. The most important part here is the HKCR\MPLABXFile\ScriptEngine\(Default Value) needs to be set to "VBScript". The attached registry file sets up this association and sets the icon for the new file type. This reg file is based on the built-in .vbs and VBSFile keys.
  4. Add an environment variable named "MPLABX" which points to the installation location of MPLABX. The command sent by the script uses that variable to determine the location, like this: "%MPLABX%\mplab_ide\bin\mplab_ide.exe"
 

 

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.