[vox] directories - too much of a good thing?

Peter Jay Salzman vox@lists.lugod.org
Sat, 22 Mar 2003 16:24:22 -0800


begin Katie <krwright1@yahoo.com> 
> --- Peter Jay Salzman <p@dirac.org> wrote:
> > my home directory:
> > 
> > academia: all stuff related to school, both as student and teacher
> > cvs: stuff i build from cvs like quakeforge, scummvm, etc.
> > doc: private notes and documentation
> > etc: everything else
> > lugod: all stuff related to running lugod
> > Mail: mail
> > multimedia: images, pictures, movies, shockwave stuff
> > myprog: my personal programming projects
> 
> This is where my biggest problem lies.  I do programming for school
> projects and I do some programs on my own, for testing what I'm learning
> in school and for stuff I'm learning on my own.  First I had school
> programs in a school directory and everything else in another directory,
> but then I moved the school stuff over to my programs directory and had to
> create tons of directories to keep it all separate, but when I want to
> compare two programs I have to do some major hunting.  Even locate won't
> work because I can't remember what names I used for the older school
> programs or what project number they were in.

this is where anal debian-style naming conventions can help.   :)

> How do you break up this directory so it's organized but you can still
> find stuff?

well, i've never taken a programming class (except for a logo class when
i was 9 years old), but if i did, i wouldn't keep my programs.

i tend not to keep old homework.  if i ever have to look back and see
how i did something in an old homework, i'd consider that a personal
failure.   when i learn something, i try to learn it for good.

my programming/ and etc/ directories are the most cluttered, but i still
wouldn't call it a problem:

bed/: a binary editor i wrote with vi style key bindings
car/: perl script to keep track of work i do on my car/motorcycle
chord3/: create guitar tabs
doom/: perl-gtk doom front end
doomedit/: doom wad editor i started writing but never finished
EFieldHockey/: playing hockey with electric charges unfinished.
ical-2.2/: source code for ical
inspect/: spying on a process's memory space (needs work)
inspect_tim/: a friend's suggestions for inspect
jacobi/: routines to diagonalize a symmetric real matrix
kcheat/: a failed attempt at porting a KDE app to GTK.
kcheat1/: another failed attempt at porting a KDE app to GTK.
library/: perl scripts to keep track of lugod's library (unfinished)
linux-crypt/: helps solve cryptograms
montecarlo/: thermodynamic monto carlo routines and libraries
music/: i forget.  probably a music theory driller
newsreader/: perl scripts that lets me cancel usenet postings, scour
   usenet for mp3's and find "open posting" news servers
ohs/: open hint system (unfinished) re-implementing a commercial app i
   use as open source.
par/: like tar, but can be used from within a C program.
pfunctions/: a static library of a collection of routines i use often.
pingz/: host pinger
pingz1/: another host pinger with IPX capability (perl)
pinochle/: pinochle  :)   very unfinished
programming/: notes, proof of concept code, snippets
rip/: rips mp3's from an audio cd.  uses CDDB to generate filenames and
   mp3 info
shell/: i started writing my own shell, complete with redirection,
   backgrounded processes, filename completion.  the works
yadex/: i started to port yadex from xlib to gtk.  turned out to be too
   much work for one person to handle


this directory is starting to get ... big, but not unwieldy.   the
"programming" subdirectory is a little disorganized (these are mostly
subdirectoreis)

gdk: trying to figure out gdk (unsuccessfully)
try: a bunch of "try" programs.   :)
vga: tinkering with svga lib.
flex: tinkering with flex/bison
complex: libraries to implement complex numbers.  thank god for c99.
makefile: tinkering with makefiles:
ctest: can't remember
errno: tinkering with errno/strerror/perror
la.pl: don't remember
regex: don't remember
try.c: don't remember
hardcourt: don't remember.  i think it's a vox-tech post mike simons
   sent that i thought was worth keeping around.
about_structs: some more mike simons stuff
optimization: list of code optimizations i've read/heard about
variables: don't rember
strings 
la.cpp
glibtry: a series of tinkerings with the glib library
variable_arguments: a series of tinkerings with va_args
ptrace: tinkerings with ptrace()
sdltry: tinkerings with sdl
static: tinkering with static libraries
d41d_driver: tinkering with device driver writing for the d41d card
obfuscated_C: code i've been meaning to dissect
autoconf: autoconf tinkerings
efence: electric fence tinkering
latex: a latex virus i've been working on.
graphics: don't remember


that directory is a bit out of control.   but you'll notice i don't use
names like "ECS40/prog2.c".   names like that don't mean anything to me.
if i DID take a programming class, and i thought i did a really good job
with, say, a binary tree.  i'd probably make a new directory
/home/p/myprog/programming/binarytree and throw the program in there.

pete