Monday, September 29

strange constraints; gui malfunction; the need for a sane build environment

problem: webhost is stonewalling me on SSH access
current solution: use Dolphin's FTP browser to access files remotely; open them in gVim and live-edit production files.

problem: Dolphin failed to FTP gVim's saves before KDE's cache got wiped.

So, here's a testament to the inherent danger of GUIs - anybody could've written the abstraction interface between your machine and whatever GUI(s) you're using, and there's absolutely no guarantee that that person wrote that one assertion() call that would've saved your data from getting over written. A simple check on KDE (well, Dolphin's) part that ensured network files were transferred before caches were cleaned would've prevented the loss of about 1.5hrs of work.

new solution: a sane, low level build environment
resources: 'net accessible personal development server, personal laptop, science building work machines, remote webhost

download a snapshot of the current web directory on the webhost to development server.

commit snapshot to SVN.
create production directory
svn up in production directory when have new working copy in SVN

write ftp_update.py, which will:
erase current remote web directory
FTP production directory's copy of web directory

only problem is postgres access; for now I will:
migrate current remote postgres functionality to development server's postgres instance

and either:
a) think of similar scheme for 'copying' db updates to remote postgres
or
b) migrate back when my job is over

Labels: , , ,