Doug Hughes is a veteran programmer who
founded Alagad after briefly flirting with a career in computer animation.
Doug has a strong record of achievement with large, complex web applications.
His ability to learn and apply new technologies and techniques has helped Doug become one of the web application
development industry’s most highly regarded experts.
Doug’s current focus at Alagad is leading an application development team dedicated to helping organizations improve operational efficiency and performance. This commitment to client success has helped Alagad achieve record growth. A frequent speaker at industry conferences and user groups, Doug also regularly contributes to several well-known open source projects. In addition, his articles have been featured in numerous technical publications.
The Alagad crew (well my team at least) is happily working with a client to help them create a next-generation product data management system. This is easily the largest and most complex system I've ever worked on. Yesterday I was breaking ground on the next and final major section of the application.
I spent the previous days coming up with use cases, etc, and planning my approach to the architecture for this section. As a part of that I defined a set of SQL tables and I spent yesterday actually creating the tables.
I tend to create tables in my local database and, once they're finalized, I email scripts to our DBA who adds them to the "gold" copy of the database which is deployed to our client's servers.
So, today, I'm working through some high-level code and I realize I need the latest copy of the database. So I grab the latest revision out of SVN and restore it over my local copy. (Anyone see where this is headed?) And get back to work. This is when I start getting weird errors about objects not existing.
D'oh!
I'd restored over my changes without first generating my scripts! The first thing I do is look for my SQL backups. (Yes, I run SQL backups of development databases.) But, for some unknown reason it seems like my SQL Agent has been shut off since August! So, needless to say, I had no backups of the database.
So, after complaining to a co-worker and enabling SQL Agent, I was about to get back into recreating tables when I realized a couple things:
To solve my dilemma all I had to was create a snapshop of the VM's current state, roll back to the last snapshot, generate my scripts, roll forward and apply my scripts.
Problem solved! I really love VMWare!
One of the variety of reasons why I love the fact that DataFaucet generates database tables from CFC metadata or XML. Assuming that I'm using that feature (which I usually do), then I'd never be in the situation of not having a copy of the scripts for a table or collection of tables due to restoring a DB backup, because all the info is inherent in the CFC sitting in my SVN repository.
http://datafaucet.riaforge.org/blog/index.cfm/2008/10/14/BestOfBothWorlds
Other than the snapshots, VMware is far more performant, uses way less memory, has a much wider variety of free appliances to be downloaded, has a free McAfee install for Windows installations, and MUCH better host-OS integration than Parallels.
Oh yeah, VMware also supports 3D acceleration as well.
Yeah, VMware FTW.
VMWare Fusion is the perfect way to run Windows, and having multiple instances of Windows for different needs really makes life easy. I could go on...
I sound like a commercial...they should pay me.
Posted By: Christopher Vigliotti on Dec 4, 2008 at 12:00 AM