I’ve had a few online Matlab demos over my career as a graduate student. One that’s rather fun is to see the evolution of the giant component in an Erdos-Reyni random graph as the connection probability is increased beyond a phase-transition point.
After a few frantic emails from a course TA trying to get the demo to work for a class demonstration, I figured I should probably update this demo. I also hope to do more of these, and so I thought I’d try and puzzle out a way of doing them efficiently.
When I began doing this, the first question hit me:
Where should I put the files?
That is, this demo will involve
- text for an online post/web-page
- Matlab code or some other source code
- figure files that are produced by the Matlab code.
So where should these files go?
Given where I currently store files, there are three logical places.
- publications directory This directory is where I store all articles that I’m working on along with all of the supporting figures. However, usually the codes for these are stored elsewhere (in
research/publications). This directory is hosted in Dropbox so I can always edit these files.
- website directoryThis directory holds all the information for my website. Since
the demos will go on the website, wouldn’t this be a logical place?
This file is also on Dropbox.
- research directoryThis directory is where I put small little research codes, as well
as all the code for ongoing research projects. The separation between
the two is a bit loose. For instance, a small research code will
research/2011/09-05-new-testif I did a little work on
new-teststarting on 2011-09-05. If these
small experiments become something more concrete, they get moved
into a new git repository under
research/publications.For space reasons, this directory is not on Dropbox. I also have a
Dropbox/researchdirectory for really small codes that I work on while not at my main computers.
After writing this description, the solution became obvious:
store these in
Dropbox/research/demos This directory will
hold all of the code and documentation for the website.