Levels of abstraction

I think I must be doing the funkiest development on the planet right now. Connecting to a Debian Linux server running under VMWare Server under Windows 2000 Server as my test server, which is modeling the production server, a Redhat environment.

Locally, I’m connecting to this virtual Linux server via NFS, and plugging Eclipse right into the NFS exported directory, using uid/gid mapping to make sure permissions are okay.

Finally, running VMWare Workstation locally (for access to Dreamweaver/Photoshop) and connecting to the NFS mounted drive by connecting to the mount point on my local machine via SAMBA! That is, I have a mount point on my machine /mnt/server1 which maps to the IP of my server via NFS. And I made /mnt/server1 shareable via samba to my VMWare “Virtual Machine’s” IP address. So that means when I write a file from VMWare, it’s using the Windows SMB implementation which is interpreted by Linux’s SMB daemons, which are then sent over the Internet to my server using the NFS protocol and finally written to my server’s disk. All in milliseconds, no less.

Wow! That’s a lot of layers to peel off when something goes wrong. But so far, nothing has (this is very surprising for me).