%AppData%: Use it.


Dear developers of cross-platform software, I love your software, but there is one thing about Windows you need to learn:

On Linux, application data goes in folders in your home directory. These folders are named after an application and preceded by a period. On Linux, folder names which start with periods are hidden. I don’t see hidden folders, so I don’t see all the config files. I am happy.

On Windows, application data goes in the %AppData% folder, or for large data files, the %LocalAppData% folder. These folders are hidden by default. Config files don’t clutter up my home directory. I am happy.

Here’s the problem: on Windows, application data does not go in the home directory in folders named after applications and preceded by periods. On Windows, folder names which start with periods are not hidden by default. Furthermore, the home directory is not the appropriate place for config files. I see lots of dot-folders cluttering up my home directory. I am unhappy.

In my crusade to put things where they are supposed to go, I have learned a couple things:

  • Some applications have config files which let you change where they put their config files. Others use environment variables. I will list the modifications necessary to fix certain applications below. If you have a fix for an application I haven’t listed, please tell me in the comments and I’ll add it.
  • Some applications are beyond help. In this case, you can hide the files yourself from a command prompt with the following command:
    attrib +S +H "file or folder to hide"

Android SDK

Set an environment variable named ANDROID_SDK_HOME with the value C:\Users\USERNAME\AppData\Local and move the .android folder from your home directory to the local appdata directory. If there are any .ini files in the .android\avd folder, open those and check for any paths that need to be updated.


The newest version of Netbeans finally uses AppData! For older versions, open C:\Program Files\Netbeans\etc\netbeans.conf in a text editor with admin rights (the actual directory may depend on your version of Netbeans). Change the value of netbeans_default_userdir and add a -J-Duser.home property to netbeans_default_options like so:

# ${HOME} will be replaced by JVM user.home system property
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true -J-Duser.home=C:/Users/USERNAME/AppData/Roaming/Netbeans"
# Note that a default -Xmx is selected for you automatically.
. . .

Flickering City


There is a wrong note in the piano part of the score, but I can’t fix it because I lost the Lilypond source. I fixed the error in the piano version’s score.

Download MP3 | PDF score

Fantasy Dance


Fantasy Dance is a fairly liberal arrangement of a piano song of the same name by Robert Schumann. The opening is a paraphrase of the original piano piece. The ending sounds like Halo. I had fun with my orchestral sounds with this one.

Download MP3

Unnamed #59


I’m not finished with this one yet. I don’t know whether I ever will be.

Download MP3



Edelwitz is an arrangement of Edelweiss from “The Sound of Music”. “witz” is the German word for “joke”. I think you’ll get it if you listen to the whole piece. The first half is kind-of a joke too, but it probably won’t be obvious to those without musical knowledge.

If you don’t get the first half, it goes through about 4 different keys, 2 time signatures, and it’s just about the sappiest thing ever. If you don’t get the second half, you either have no sense of humor or you’ve never heard the original Edelweiss.

Download MP3