<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-35479546</id><updated>2011-11-07T10:38:14.167+11:00</updated><category term='railsconfau dubious'/><category term='capistrano rubygems'/><category term='deprec capistrano rails deploy'/><category term='vmware virtualization mac osx'/><category term='rubyonrails'/><category term='capistrano deprec'/><title type='text'>from the trenches</title><subtitle type='html'>news from the codeface</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35479546.post-5758716474055638250</id><published>2007-06-05T06:51:00.000+10:00</published><updated>2007-06-05T06:54:45.569+10:00</updated><title type='text'>mikes new blog</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;a href="http://mike.bailey.net.au/blog/"&gt;mike.bailey.net.au/blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've setup my own website with my own blog. This blogger one is now discontinued.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-5758716474055638250?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/5758716474055638250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=5758716474055638250' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/5758716474055638250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/5758716474055638250'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2007/06/mikes-new-blog.html' title='mikes new blog'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-6160306842289830820</id><published>2007-01-30T01:34:00.000+11:00</published><updated>2007-04-26T02:05:35.597+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='railsconfau dubious'/><title type='text'>railsconfau.com validity questioned</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_lCdYIVrEQuo/Rb4IeOhbwtI/AAAAAAAAACU/lR9j0c6NmyE/s1600-h/railsconfau_scam.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_lCdYIVrEQuo/Rb4IeOhbwtI/AAAAAAAAACU/lR9j0c6NmyE/s200/railsconfau_scam.gif" alt="" id="BLOGGER_PHOTO_ID_5025463549579477714" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Update Thu 26 Apr 2007&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;The website went down a while ago. Draw your own conclusions...&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;br /&gt;Update Wed 31 Jan 2007&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;The site now has a new logo.&lt;br /&gt;The main sponsor "HeraHelios" now has it's &lt;a href="http://www.google.com.au/search?q=herahelios&amp;ie=utf-8&amp;amp;oe=utf-8&amp;rls=org.mozilla:en-US:official&amp;amp;client=firefox-a"&gt;first result in google&lt;/a&gt;. This page!&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update Tue 30 Jan 2007&lt;/span&gt;&lt;br /&gt;The site was updated to say tickets will be on sale in late Feb.&lt;br /&gt;The person behind the site wrote that it was a miscommunication within the company. What company and how many staff they have has is not known.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A website appeared two days ago announcing that tickets are on sale for a rails conference in Sydney this May. It looks like a total scam and the worst bit is they are&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;accepting payment for registrations!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The advertised sponsor 'HeraHelios' doesn't turn up any results in Google.&lt;/li&gt;&lt;li&gt;There are no speakers listed (in fact the site calls for speakers).&lt;/li&gt;&lt;li&gt;They state they do not have a venue secured.&lt;/li&gt;&lt;/ul&gt;Yet the site suggests &lt;span style=""&gt;"Be sure to register soon as capacity is strictly limited."&lt;br /&gt;&lt;br /&gt;It seems the organizers are not known to either Melbourne or Sydney's Rails user groups.&lt;br /&gt;&lt;br /&gt;So railsconfau has many of the appearances of a scam. A scamming scam scam. Hope google picks up on this post. scam.&lt;br /&gt;&lt;br /&gt;to look at the site, go to www . railsconfau . com&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-6160306842289830820?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/6160306842289830820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=6160306842289830820' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/6160306842289830820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/6160306842289830820'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2007/01/railsconfaucom-scam.html' title='railsconfau.com validity questioned'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_lCdYIVrEQuo/Rb4IeOhbwtI/AAAAAAAAACU/lR9j0c6NmyE/s72-c/railsconfau_scam.gif' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-1623881581856538662</id><published>2007-01-24T22:49:00.000+11:00</published><updated>2007-01-24T22:52:16.798+11:00</updated><title type='text'>using edge capistrano [from the list]</title><content type='html'>Anyone wanting to play with edge capistrano, you can check it out via svn at:&lt;br /&gt;&lt;br /&gt;  http://dev.rubyonrails.org/svn/rails/tools/capistrano&lt;br /&gt;&lt;br /&gt;  You can build an edge gem by cd'ing to that directory and doing:&lt;br /&gt;&lt;br /&gt;  1. svn info. Find the line that says "Revision:" and mark the revision number.&lt;br /&gt;&lt;br /&gt;  2. rake PKG_BUILD=&lt;rev&gt; gem. Replace &lt;rev&gt; with the revision number.&lt;br /&gt;&lt;br /&gt;  3. Look in the pkg subdirectory. Install that gem file via "gem install pkg/&lt;gem&gt;"&lt;br /&gt;&lt;br /&gt;- Jamis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-1623881581856538662?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/1623881581856538662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=1623881581856538662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1623881581856538662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1623881581856538662'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2007/01/using-edge-capistrano-from-list.html' title='using edge capistrano [from the list]'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-5194520708657396051</id><published>2007-01-11T12:30:00.000+11:00</published><updated>2007-01-11T12:31:56.730+11:00</updated><title type='text'>Parallels Beta recovery</title><content type='html'>Smart Mark wrote the following to me and it worked.&lt;br /&gt;&lt;br /&gt;"You installed parallels and it reminded you to&lt;br /&gt;install the parallels tools and that the guest os&lt;br /&gt;must be running.  You start up the guest os&lt;br /&gt;and proceed with the install.  Windows pops up&lt;br /&gt;a message saying it's detected new hardware and&lt;br /&gt;you assume this is normal.  Windows finds a video&lt;br /&gt;driver and installs it and then says it has to reboot.&lt;br /&gt;It reboots and you have a blank screen, you assume&lt;br /&gt;it's hung and reset the virtual machine a couple of&lt;br /&gt;times and eventually figure out that it's booting ok&lt;br /&gt;it's just the video driver is foobar.&lt;br /&gt;&lt;br /&gt;The fix is to boot windows in safe mode (with networking&lt;br /&gt;enabled, not sure if that's necessary, it's just what I did)&lt;br /&gt;and reinstall the parallels tools.  This now installs the&lt;br /&gt;real parallels video driver and when you reboot the guest&lt;br /&gt;os everything is back to normal."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-5194520708657396051?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/5194520708657396051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=5194520708657396051' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/5194520708657396051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/5194520708657396051'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2007/01/parallels-beta-recovery.html' title='Parallels Beta recovery'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-7209534977934152937</id><published>2007-01-10T14:18:00.000+11:00</published><updated>2007-01-10T15:07:34.152+11:00</updated><title type='text'>Parallels Beta ate my homework</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lCdYIVrEQuo/RaRc8PaIu1I/AAAAAAAAAB8/VI-L36am3TM/s1600-h/box_desktop.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_lCdYIVrEQuo/RaRc8PaIu1I/AAAAAAAAAB8/VI-L36am3TM/s320/box_desktop.gif" alt="" id="BLOGGER_PHOTO_ID_5018238074795637586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;WARNING! Back up your VM before trying Parallels Beta!!! It killed mine.&lt;br /&gt;&lt;br /&gt;I just discovered that Parallels has a &lt;a href="http://www.parallels.com/products/desktop/beta_testing/"&gt;public Beta program&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;"The latest development versions of Parallels Desktop for Mac introduced support for USB 2.0 devices, better support for Boot Camp partitions and Coherence mode, which lets you run Windows applications without “seeing” the Windows interface."&lt;br /&gt;- &lt;a href="http://www.macworld.com/news/2007/01/02/parallels/index.php"&gt;MacWorld.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-7209534977934152937?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/7209534977934152937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=7209534977934152937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/7209534977934152937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/7209534977934152937'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2007/01/parallels-beta-has-cool-new-features.html' title='Parallels Beta ate my homework'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_lCdYIVrEQuo/RaRc8PaIu1I/AAAAAAAAAB8/VI-L36am3TM/s72-c/box_desktop.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-6276860747359741435</id><published>2006-12-31T00:42:00.000+11:00</published><updated>2006-12-31T01:48:04.199+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware virtualization mac osx'/><title type='text'>VMware Virtualization for Mac Beta released!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lCdYIVrEQuo/RZZxhYnNvpI/AAAAAAAAABk/2R0bx_gAYHg/s1600-h/mac_hero_v03.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_lCdYIVrEQuo/RZZxhYnNvpI/AAAAAAAAABk/2R0bx_gAYHg/s400/mac_hero_v03.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5014320053480177298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've been waiting for the ability to use the same VMware guest images on my linux servers as my MacBook Pro. This means I can replicate my production servers on my laptop, removing the need to have direct access to any other computer. Just in time for India!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lCdYIVrEQuo/RZZ71InNvqI/AAAAAAAAABw/Ui1GTSkdlrk/s1600-h/vmware_fusion.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_lCdYIVrEQuo/RZZ71InNvqI/AAAAAAAAABw/Ui1GTSkdlrk/s320/vmware_fusion.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5014331387898871458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was able to point it at copy of an ubuntu image currently running in production and it booted without a problem. Nice! Not all the options for creating a new image are available in this release. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vmware.com/products/beta/fusion/"&gt;Download it here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-6276860747359741435?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/6276860747359741435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=6276860747359741435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/6276860747359741435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/6276860747359741435'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/12/vmware-virtualization-for-mac-beta.html' title='VMware Virtualization for Mac Beta released!'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_lCdYIVrEQuo/RZZxhYnNvpI/AAAAAAAAABk/2R0bx_gAYHg/s72-c/mac_hero_v03.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-1214765690309920257</id><published>2006-12-29T21:13:00.000+11:00</published><updated>2006-12-31T01:07:43.513+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='capistrano deprec'/><title type='text'>Setting environment variables for mongrel</title><content type='html'>&lt;div class="code"&gt;&lt;br /&gt;We were going to use Verisign's PayFlowPro merchant facilities and implemented a solution based around a &lt;a href="http://www.livemetric.com/opensource/pfpro4r"&gt;ruby library called pfpro4r&lt;/a&gt;. A problem came up though. We needed to have a shell  environment variable set in order for this to work. This was fine when I started mongrel manually but when started via Capistrano the environment variable wasn't being set by the mongrel start script.&lt;br /&gt;&lt;br /&gt;You can't seem to set environment variables in the shell Capistrano uses so I  simply added a couple of tasks to deploy.rb. These override the tasks that come with mongrel_cluster and set the required variables.&lt;br /&gt;&lt;br /&gt;I think it's great that you can add or override tasks on a project by project basis.&lt;br /&gt;I guess someone distributing their app could include a library like &lt;a href="http://rubyforge.org/projects/deprec/"&gt;deprec&lt;/a&gt; and include it from their deploy.rb to make deployment that much easier.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;desc &lt;&lt;-DESC Start Mongrel processes on the app server. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true. DESC task :start_mongrel_cluster , :roles =&gt; :app do&lt;br /&gt; set_mongrel_conf&lt;br /&gt; send(run_method, "sh -c '&lt;br /&gt; LD_LIBRARY_PATH=/var/www/apps/example_app/current/vendor/libs/pfpro4r/verisign/payflowpro/linux/lib;&lt;br /&gt; export LD_LIBRARY_PATH;&lt;br /&gt; PFPRO_CERT_PATH=/var/www/apps/example_app/current/vendor/libs/pfpro4r/verisign/payflowpro/linux/certs;&lt;br /&gt; export PFPRO_CERT_PATH;&lt;br /&gt; mongrel_rails cluster::start -C #{mongrel_conf}&lt;br /&gt; '&lt;br /&gt; ")&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;desc &lt;&lt;-DESC&lt;br /&gt;Restart the Mongrel processes on the app server by starting and stopping the cluster. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true.&lt;br /&gt;DESC&lt;br /&gt;task :restart_mongrel_cluster , :roles =&gt; :app do&lt;br /&gt;  set_mongrel_conf&lt;br /&gt;&lt;br /&gt;  send(run_method, "sh -c '&lt;br /&gt;  LD_LIBRARY_PATH=/var/www/apps/example_app/current/vendor/libs/pfpro4r/verisign/payflowpro/linux/lib;&lt;br /&gt;  export LD_LIBRARY_PATH;&lt;br /&gt;  PFPRO_CERT_PATH=/var/www/apps/example_app/current/vendor/libs/pfpro4r/verisign/payflowpro/linux/certs;&lt;br /&gt;  export PFPRO_CERT_PATH;&lt;br /&gt;  mongrel_rails cluster::restart -C #{mongrel_conf}&lt;br /&gt;  '&lt;br /&gt;  ")&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-1214765690309920257?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/1214765690309920257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=1214765690309920257' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1214765690309920257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1214765690309920257'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/12/setting-environment-variables-for.html' title='Setting environment variables for mongrel'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-5583430496568815619</id><published>2006-12-16T00:18:00.001+11:00</published><updated>2011-03-15T18:24:40.866+11:00</updated><title type='text'>ssh compression can slow you down</title><content type='html'>&lt;div&gt;[I've reposted this post on &lt;a href="http://mike.bailey.net.au/2011/03/ssh-compression-can-slow-you-down/"&gt;ssh compression&lt;/a&gt; to my new blog as I keep using it myself]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;When copying some large files between hosts at our rack I noticed some pretty poor transfer speeds. Having recently forked out $70 for a rack mount gigabit switch I wondered what was slowing things.&lt;br /&gt;&lt;br /&gt;It seems ssh was trying to help out by compressing everything however compressing the data took more than twice as long as transferring the uncompressed data. I proved this by disabling compression at the commandline and seeing the transfer speed more than triple.&lt;br /&gt;&lt;pre&gt;&lt;div class="code"&gt;&lt;br /&gt;mbailey@modu1:~/vm$ scp -r r03 modu4:vm/&lt;br /&gt;Ubuntu 64-bit-f001.vmdk                         7%  147MB   8.1MB/s   03:54 ETA&lt;br /&gt;&lt;br /&gt;mbailey@modu1:~/vm$ scp -r -o 'Compression no'  r03 modu4:vm/&lt;br /&gt;Ubuntu 64-bit-f001.vmdk                       100% 2048MB  28.1MB/s   01:13 ETA&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;So how can we put this into practice everywhere?&lt;br /&gt;&lt;br /&gt;Setting 'Compression no' in /etc/ssh/ssh_config will do the trick for me. There's no need for my vmware hosts to be compressing files I copy between them. I do want compression when copying files over shared/slower links but I can achieve that by initiating connections that benefit from compression on boxes that are configured to use it.&lt;br /&gt;&lt;br /&gt;If I want to enable compression I can always use the '-C' switch to enable compression.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-5583430496568815619?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/5583430496568815619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=5583430496568815619' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/5583430496568815619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/5583430496568815619'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/12/ssh-default-compression-can-slow-you.html' title='ssh compression can slow you down'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-876254599628840460</id><published>2006-12-01T00:55:00.000+11:00</published><updated>2007-06-05T07:31:46.833+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='deprec capistrano rails deploy'/><title type='text'>deprec - install rails stack and deploy in minutes</title><content type='html'>Update 2007-06-04: Visit &lt;a href="http://www.deprec.org/"&gt;www.deprec.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/8186/4330/1600/547957/stage_2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/8186/4330/200/230227/stage_2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Until now, installing a &lt;a href="http://blog.innerewut.de/articles/2006/04/21/scaling-rails-with-apache-2-2-mod_proxy_balancer-and-mongrel"&gt;full Rails stack&lt;/a&gt; on Ubuntu linux and deploying your app took more than a few minutes. The first time I tried it took hours. Even copying and pasting from my notes took forever.&lt;br /&gt;&lt;br /&gt;Now with &lt;a href="http://rubyforge.org/projects/deprec"&gt;deprec (deployment recipes for Capistrano)&lt;/a&gt; you can install a rails stack and &lt;span style="font-weight: bold;"&gt;deploy your application with just 6 commands.&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="code"&gt;&lt;br /&gt;cd /path/to/railsapp&lt;br /&gt;deprec --apply-to . --name projectname --domain www.projectname.com&lt;br /&gt;# edit config/deploy.rb to put in details of your subversion repository&lt;br /&gt;cap install_rails_stack&lt;br /&gt;cap deprec_setup&lt;br /&gt;cap deploy_with_migrations&lt;br /&gt;cap restart_apache&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;That's all it takes to get your Rails app running on a default Ubuntu 6.06 server install. Install the gem with:&lt;br /&gt;&lt;pre&gt;&lt;div class="code"&gt;&lt;br /&gt;sudo gem install deprec -y    # installs what you need&lt;br /&gt;deprec_dotfiles               # patches capistrano + creates your ~/.caprc&lt;br /&gt;cap show_tasks                # now you have deprec tasks included&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I'll be putting more details up soon on &lt;a href="http://deprec.rubyforge.org/"&gt;deprec.rubyforge.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Deprec was inspired and uses the brilliantly executed Capistrano. Thanks Jamis!&lt;br /&gt;&lt;br /&gt;After starting on this project I found myself reading and utilizing a lot of&lt;br /&gt;code by Bradley Taylor, in particular the RailsMachine and VMbuilder gems.&lt;br /&gt;Neil Wilson wrote three capistrano plugins that are used in this project.&lt;br /&gt;I'd like to say a huge thanks to these guys for helping make my work easier!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-876254599628840460?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/876254599628840460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=876254599628840460' title='28 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/876254599628840460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/876254599628840460'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/11/deprec-install-rails-stack-and-deploy.html' title='deprec - install rails stack and deploy in minutes'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>28</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-1626856618371135724</id><published>2006-11-26T00:47:00.000+11:00</published><updated>2006-11-26T01:18:48.826+11:00</updated><title type='text'>gem_plugin is clever</title><content type='html'>&lt;a href="http://mongrel.rubyforge.org/docs/gem_plugin.html"&gt;gem_plugin&lt;/a&gt; is a rubygem  with a difference. Zed wrote it to allow people to easily publish plugins for his mongrel httpserver. If you create a gem with mongrel and gem_plugin as dependencies, gem_plugin will load your gem and run its init.rb after mongrel has loaded.&lt;br /&gt;&lt;br /&gt;This makes it really easy for end users wanting to use your plugin. They just run&lt;br /&gt;&lt;pre&gt;&lt;div class="code"&gt;sudo gem install your_plugin__name&lt;/div&gt;&lt;/pre&gt;&lt;br /&gt;and the next time they run mongrel your plugin will be loaded. Very nice. The app doesn't need to be told to load the plugin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-1626856618371135724?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/1626856618371135724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=1626856618371135724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1626856618371135724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1626856618371135724'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/11/gemplugin-is-clever.html' title='gem_plugin is clever'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-1079872643542282213</id><published>2006-11-25T21:24:00.000+11:00</published><updated>2006-11-25T23:42:38.316+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rubyonrails'/><title type='text'>rails code dissection</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/8186/4330/1600/387164/therailsway.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 218px; height: 247px;" src="http://photos1.blogger.com/x/blogger2/8186/4330/320/206693/therailsway.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;a href="http://www.therailsway.com/2006/11/15/tracks-part-1"&gt;first article&lt;/a&gt; on &lt;a href="http://www.therailsway.com/2006/11/15/tracks-part-1"&gt;&lt;/a&gt;&lt;a href="http://www.therailsway.com/"&gt;The Rails Way&lt;/a&gt; reviews the code of &lt;a href="http://www.therailsway.com/2006/11/15/tracks-part-1"&gt;&lt;/a&gt;&lt;a href="http://www.rousette.org.uk/projects/"&gt;Tracks&lt;/a&gt;, a &lt;a href="http://www.therailsway.com/2006/11/15/tracks-part-1"&gt;Rails&lt;/a&gt; site based on &lt;a href="http://www.davidco.com/"&gt;GTD&lt;/a&gt;.&lt;br /&gt;I took note of the site when I saw it was co-run by Capistrano creator and Rails core team member &lt;a href="http://weblog.jamisbuck.org/"&gt;Jamis Buck&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I really like the formatting and display of the code samples and the layout in general looks nice enough that I'm keen to try out Mephisto. Hopefully the layout sugar comes free with it.&lt;br /&gt;&lt;br /&gt;The actual discussion of the code is great. I'm looking forward to future posts!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.therailsway.com/2006/11/15/tracks-part-1"&gt; &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-1079872643542282213?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/1079872643542282213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=1079872643542282213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1079872643542282213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1079872643542282213'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/11/rails-code-vivisection.html' title='rails code dissection'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-945879459912150566</id><published>2006-11-14T00:20:00.000+11:00</published><updated>2006-11-14T00:39:12.204+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='capistrano rubygems'/><title type='text'>i made my first rubygem!</title><content type='html'>In an effort to make the world better for others I made my new recipe library for &lt;a href="http://manuals.rubyonrails.com/read/book/17"&gt;capistrano&lt;/a&gt; into a &lt;a href="http://rubygems.org/"&gt;ruby gem&lt;/a&gt;. It took a little doing as there didn't appear to be a concise example on the rubygems site of how to construct the gemspec file. Dave Thomas's &lt;a href="http://www.pragmaticprogrammer.com/titles/ruby/index.html"&gt;Pickaxe book&lt;/a&gt; covered it well though.&lt;br /&gt;&lt;br /&gt;So here's my quick and dirty guide to creating a gem.&lt;br /&gt;&lt;br /&gt;Make a file called projectname.gemspec&lt;br /&gt;&lt;div class=""&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;SPEC = Gem::Specification.new do |spec|&lt;br /&gt;  spec.name = 'deprec'&lt;br /&gt;  spec.version = '0.1.1'&lt;br /&gt;  spec.summary = 'deployment recipes for capistrano'&lt;br /&gt;  spec.description = &lt;&lt;-EOF&lt;br /&gt;      This project provides libraries of Capistrano tasks and extensions to&lt;br /&gt;      remove the repetative manual work associated with installing services&lt;br /&gt;      on linux servers.&lt;br /&gt;  EOF&lt;br /&gt;  spec.require_path = "lib"&lt;br /&gt;  # spec.platform = Gem::Platform::Ruby&lt;br /&gt;  # spec.required_ruby_version = '&gt;= 1.6.8' # I don't know&lt;br /&gt;  spec.add_dependency('capistrano', '&gt;= 1.2.0')&lt;br /&gt;  spec.files = Dir['lib/*.rb']&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Then run these commands to build and install the gem&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;gem build deprec.gemspec&lt;br /&gt;sudo gem install deprec-0.1.1.gem&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I applied for a rubyforge project today and aim to publish the gem when it gets approved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-945879459912150566?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/945879459912150566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=945879459912150566' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/945879459912150566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/945879459912150566'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/11/i-made-my-first-rubygem.html' title='i made my first rubygem!'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-1911715773285706828</id><published>2006-11-12T23:20:00.000+11:00</published><updated>2006-11-12T23:42:25.753+11:00</updated><title type='text'>at last! ubuntu server on mac with parallels</title><content type='html'>After three attempts and several hours wasted I managed to get &lt;a href="http://www.ubuntu.com/products/GetUbuntu/download#lts"&gt;ubuntu 6.06 LTS&lt;/a&gt; server running on my Mac under &lt;a href="http://www.parallels.com/en/products/workstation/mac/"&gt;Parallels&lt;/a&gt;. The secret is to download the &lt;span style="font-weight:bold;"&gt;PC (Intel x86) alternate install CD&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;select 'server'&lt;/span&gt; at the boot prompt. Oh, and select 'Other Linux Kernel 2.6' because Parallels doesn't explicitly support the most popular Linux distro out there at the moment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-1911715773285706828?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/1911715773285706828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=1911715773285706828' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1911715773285706828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/1911715773285706828'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/11/at-last-ubuntu-server-on-mac-with.html' title='at last! ubuntu server on mac with parallels'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-3273656795167705025</id><published>2006-11-08T13:05:00.000+11:00</published><updated>2006-11-14T01:09:33.840+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rubyonrails'/><title type='text'>RubyOnRails pagination fix</title><content type='html'>update: &lt;a href="http://glu.ttono.us/articles/2006/08/30/guide-things-you-shouldnt-be-doing-in-rails"&gt;Rails Pagination is ugly and will be deprecated&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Here's a fix I made to get around a problem in Rails Pagination.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;br /&gt;# pagination links do not support all form objects properly&lt;br /&gt;# a hash with values such as date[year], date[month] and date[day]&lt;br /&gt;# will be included in the pagination link as date=month11day9year2006&lt;br /&gt;#&lt;br /&gt;# putting this function in application_helper.rb and calling it from your&lt;br /&gt;# view will properly construct the pagination links to include your form&lt;br /&gt;# input&lt;br /&gt;#&lt;br /&gt;# &lt;%= pagination_links(@cdr_pages, :params =&gt; marshall_objects(params)) %&gt;&lt;br /&gt;#&lt;br /&gt;def marshall_objects(params)&lt;br /&gt;  params.each do |key, val|&lt;br /&gt;    if val.class == HashWithIndifferentAccess&lt;br /&gt;      params[key] = nil&lt;br /&gt;      val.each {|sub_key, sub_val| params[key + '[' + sub_key + ']'] = sub_val}&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;  params&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-3273656795167705025?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/3273656795167705025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=3273656795167705025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/3273656795167705025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/3273656795167705025'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/11/rubyonrails-pagination-fix.html' title='RubyOnRails pagination fix'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35479546.post-115994536785792223</id><published>2006-10-04T17:01:00.000+10:00</published><updated>2006-11-07T11:48:26.716+11:00</updated><title type='text'>vmware as sysadmins best friend</title><content type='html'>when doing something new like installing an addon to our most excellent nagios monitoring system i like to take notes. this is so that i can do it faster next time. i tend to take notes in a form that ends up getting turned into a script. if it's worth doing again, it's worth automating. one of the problems i've found in the past is that i don't get a change to test my script. sometimes a leave out a command. or perhaps at the end of solving a problem i decide that some of the things I did just weren't necessary. this is when virtualization and snapshots come in.&lt;br /&gt;&lt;br /&gt;before making changes i take a snapshot of the virtual OS. in vmware server this is a simple mouseclick. then i get to work making my changes and writing my script/doc. when i have completed the task and am happy with my script i hit 'revert to snapshot' on vmware and it takes the OS back to the state it was in before i made the changes. now i can run my script, check it worked and repeat until i have automated the process i have spent the afternoon (or weekend!) trying to perfect.&lt;br /&gt;&lt;br /&gt;thankyou vmware!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35479546-115994536785792223?l=codemode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codemode.blogspot.com/feeds/115994536785792223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35479546&amp;postID=115994536785792223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/115994536785792223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35479546/posts/default/115994536785792223'/><link rel='alternate' type='text/html' href='http://codemode.blogspot.com/2006/10/vmware-as-sysadmins-best-friend.html' title='vmware as sysadmins best friend'/><author><name>Mike Bailey</name><uri>http://www.blogger.com/profile/15658880874646318127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
