<?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-32920558</id><updated>2012-02-06T21:38:44.705-08:00</updated><category term='ruby'/><category term='linuxmint'/><category term='gpg'/><category term='proxy'/><category term='ec2'/><category term='registry'/><category term='Spreadsheet'/><category term='ecliipse'/><category term='tomcat'/><category term='npm'/><category term='query'/><category term='Programming'/><category term='troubleshooting'/><category term='firefox'/><category term='Node.js'/><category term='Amazon EC2'/><category term='PandaForm'/><category term='windows productivity'/><category term='python'/><category term='rdp'/><category term='rails'/><category term='debian'/><category term='Privacy'/><category term='windows'/><category term='email'/><category term='.net'/><category term='performance'/><category term='vim'/><category term='bitnami'/><category term='productivity'/><category term='Ruby on Rails'/><category term='List of Ubuntu releases'/><category term='firewall'/><category term='vbscript'/><category term='mstsc'/><category term='aws'/><category term='wsh'/><category term='kerberos'/><category term='Social Networking'/><category term='linux'/><category term='facebook'/><category term='recommendation'/><category term='hack'/><category term='iis'/><category term='reqpro'/><category term='java'/><category term='internet explorer'/><category term='Javascript'/><category term='Scrubyit'/><category term='howto'/><category term='startup'/><category term='apt'/><category term='ssh'/><category term='putty'/><category term='RubyGems'/><category term='Formspring'/><category term='WIndows server'/><category term='django'/><category term='sql server'/><category term='lean startup'/><category term='android'/><category term='citrix'/><category term='terminal_services'/><category term='groovy'/><category term='visibli'/><category term='twitter'/><category term='microsoft'/><category term='network'/><category term='Google Doc'/><category term='social media'/><category term='ubuntu'/><category term='socket.io'/><category term='vista'/><category term='Nokogiri'/><category term='zip'/><category term='google'/><category term='profile'/><title type='text'>Flummoxed by IT</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>49</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-32920558.post-1515931083679377588</id><published>2011-09-06T12:01:00.000-07:00</published><updated>2011-09-06T12:03:15.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Nokogiri'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby on Rails'/><category scheme='http://www.blogger.com/atom/ns#' term='bitnami'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrubyit'/><title type='text'>Ruby: Nokogiri installation problem when using Scrubyit</title><content type='html'>&lt;br /&gt;I have been trying to install Scrubyit and keep getting this error:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$&amp;nbsp;&lt;b&gt;sudo gem install scrubyt&lt;/b&gt;ERROR: &amp;nbsp;Error installing scrubyt:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; webrobots requires nokogiri (&amp;gt;= 1.4.4, runtime)&lt;/blockquote&gt;Logical step is to try to install the&amp;nbsp;&lt;i&gt;webrobots&lt;/i&gt;&amp;nbsp;and&amp;nbsp;&lt;i&gt;nokogiri&lt;/i&gt;&amp;nbsp;gem.&lt;br /&gt;&lt;blockquote&gt;$&amp;nbsp;&lt;b&gt;sudo gem install webrobots&lt;/b&gt;&lt;br /&gt;$&amp;nbsp;&lt;b&gt;sudo gem install nokogiri&lt;/b&gt;&lt;br /&gt;Building native extensions. &amp;nbsp;This could take a while...&lt;br /&gt;ERROR: &amp;nbsp;Error installing nokogiri:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ERROR: Failed to build gem native extension.&lt;br /&gt;/opt/bitnami/ruby/bin/ruby extconf.rb&lt;br /&gt;checking for libxml/parser.h... yes&lt;br /&gt;checking for libxslt/xslt.h... yes&lt;br /&gt;checking for libexslt/exslt.h... yes&lt;br /&gt;&lt;span style="color: red;"&gt;checking for iconv_open() in iconv.h... no&lt;/span&gt;&lt;br /&gt;checking for iconv_open() in -liconv... yes&lt;br /&gt;&lt;span style="color: red;"&gt;checking for xmlParseDoc() in -lxml2... no&lt;/span&gt;&lt;br /&gt;-----&lt;br /&gt;libxml2 is missing. &amp;nbsp;please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apparently this is a common enough problem, as this&amp;nbsp;&lt;a href="http://eddorre.com/posts/building-that-pesky-nokogiri-gem-when-using-homebrew"&gt;blog post&lt;/a&gt;&amp;nbsp;shows. You can install the missing components by running&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;$&amp;nbsp;&lt;b&gt;sudo&amp;nbsp;apt-get install libxml-ruby&amp;nbsp;&lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Iconv" rel="wikipedia" title="Iconv"&gt;libiconv&lt;/a&gt;-ruby&lt;/b&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;On Mac, you can run&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;b&gt;brew install libxml2&lt;br /&gt;brew install libiconv&lt;br /&gt;brew link libiconv&lt;/b&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;If you are like me and use&amp;nbsp;&lt;a href="http://bitnami.org/"&gt;Bitnami&lt;/a&gt;&amp;nbsp;for Ruby development, I suggest&amp;nbsp;&lt;a href="http://goo.gl/xtASI"&gt;using RVM to have better control of the Ruby environment&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="zemanta-related"&gt;&lt;h6 class="zemanta-related-title" style="font-size: 1em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 1em;"&gt;Related articles&lt;/h6&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.epiphanysolutions.co.uk/blog/html-parsing-with-ruby-and-nokogiri/"&gt;HTML Parsing with Ruby and Nokogiri&lt;/a&gt;&amp;nbsp;(epiphanysolutions.co.uk)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://r.zemanta.com/?u=http%3A//www.infoworld.com/d/application-development/infoworld-interview-ruby-creator-sets-sights-mobile-171503&amp;amp;a=54232695&amp;amp;rid=5bcb9b1c-8b7e-473e-948e-0273b2d99c11&amp;amp;e=300e4b4c0d97ec166d4cb9de4e7278c3"&gt;InfoWorld interview: Ruby creator sets sights on mobile&lt;/a&gt;&amp;nbsp;(infoworld.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.readwriteweb.com/cloud/2011/08/bitnami-launches-cloud-tools-s.php"&gt;BitNami Launches Cloud Tools Site and Cloud Tools Installer&lt;/a&gt;&amp;nbsp;(readwriteweb.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://cramp.in/"&gt;Asynchronous ruby framework for websockets, eventsource and streaming&lt;/a&gt;&amp;nbsp;()&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://coding.smashingmagazine.com/2011/06/21/set-up-an-ubuntu-local-development-machine-for-ruby-on-rails/"&gt;Set Up An Ubuntu Local Development Machine For Ruby On Rails&lt;/a&gt;&amp;nbsp;(coding.smashingmagazine.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://yahawana.wordpress.com/2011/09/05/from-ruby-to-rails-step-by-step-1-ruby-framework-set-up-test-hello-world-windows7-dos-prompt/"&gt;From Ruby To Rails Step By Step - Step 1: Ruby Framework Set Up, Test And Hello World On Windows 7 From The DOS prompt&lt;/a&gt;&amp;nbsp;(yahawana.wordpress.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://blog.scraperwiki.com/2011/08/25/scraping-guides-values-separated-by-commas/"&gt;Scraping guides: Values, separated by commas&lt;/a&gt;&amp;nbsp;(scraperwiki.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://tecparatodos.com/2011/09/01/setting-up-test-driven-development-tdd-with-ruby-on-rails-and-mac-os-x-lion/"&gt;Setting up Test Driven Development (TDD) with Ruby on Rails and MAC OS X Lion&lt;/a&gt;&amp;nbsp;(tecparatodos.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://ostatic.com/blog/report-ruby-creator-sets-sights-on-mobile-app-development"&gt;Report: Ruby Creator Sets Sights on Mobile App Development&lt;/a&gt;&amp;nbsp;(ostatic.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://stasis.me/"&gt;Introducing Stasis: A new way to build static sites with Ruby&lt;/a&gt;&amp;nbsp;()&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=5bcb9b1c-8b7e-473e-948e-0273b2d99c11" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-1515931083679377588?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/1515931083679377588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=1515931083679377588' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1515931083679377588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1515931083679377588'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/09/scrubyit-nokogiri-installation-problem.html' title='Ruby: Nokogiri installation problem when using Scrubyit'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-8537457577941303843</id><published>2011-09-06T11:46:00.000-07:00</published><updated>2011-09-06T13:24:48.881-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='RubyGems'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby on Rails'/><category scheme='http://www.blogger.com/atom/ns#' term='bitnami'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon EC2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Using RVM to control Ruby environment</title><content type='html'>&lt;br /&gt;I am using a Bitnami&amp;nbsp;&lt;a class="zem_slink" href="http://aws.amazon.com/ec2/" rel="homepage" title="Amazon EC2"&gt;Amazon EC2&lt;/a&gt;&amp;nbsp;Rails AMI to do my development work. The paths are rather different&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$&amp;nbsp;&lt;b&gt;gem environment&lt;/b&gt;&lt;br /&gt;&lt;a class="zem_slink" href="http://rubygems.org/" rel="homepage" title="RubyGems"&gt;RubyGems&lt;/a&gt;&amp;nbsp;Environment:&lt;br /&gt;&amp;nbsp; - RUBYGEMS VERSION: 1.3.7&lt;br /&gt;&amp;nbsp; - RUBY VERSION: 1.9.2 (2010-12-25 patchlevel 136) [i686-linux]&lt;br /&gt;&amp;nbsp; - INSTALLATION DIRECTORY: /opt/bitnami/ruby/lib/ruby/gems/1.9.1&lt;br /&gt;&amp;nbsp; - RUBY EXECUTABLE:&amp;nbsp;&lt;span style="color: red;"&gt;/opt/bitnami/ruby/bin/ruby&lt;/span&gt;&lt;br /&gt;&amp;nbsp; - EXECUTABLE DIRECTORY: /opt/bitnami/ruby/bin&lt;br /&gt;&amp;nbsp; - RUBYGEMS PLATFORMS:&lt;br /&gt;&amp;nbsp; &amp;nbsp; - ruby&lt;br /&gt;&amp;nbsp; &amp;nbsp; - x86-linux&lt;br /&gt;&amp;nbsp; - GEM PATHS:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;nbsp;&lt;span style="color: red;"&gt;/opt/bitnami/ruby/lib/ruby/gems/1.9.1&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- /home/bitnami/.gem/ruby/1.9.1&lt;br /&gt;&amp;nbsp; - GEM CONFIGURATION:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- :update_sources =&amp;gt; true&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- :verbose =&amp;gt; true&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- :benchmark =&amp;gt; false&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- :backtrace =&amp;gt; false&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- :bulk_threshold =&amp;gt; 1000&lt;br /&gt;&amp;nbsp; - REMOTE SOURCES:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- http://rubygems.org/&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Forget about tweaking Ruby paths. Install&amp;nbsp;&lt;a href="http://rvm.beginrescueend.com/"&gt;RVM&lt;/a&gt;&amp;nbsp;to help you manage your muliple Ruby environments.&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$ &lt;b&gt;bash &amp;lt; &amp;lt;(curl -s https://rvm.beginrescueend.com/install/rvm)&lt;/b&gt;&lt;/blockquote&gt;&lt;div&gt;If you install RVM as a regular/single user, run this additional step to ensure RVM is utilized automatically&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;$ &lt;b&gt;echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] &amp;amp;&amp;amp; . "$HOME/.rvm/scripts/rvm" # Load RVM function' &amp;gt;&amp;gt; ~/.bash_profile&lt;/b&gt;&lt;/blockquote&gt;&lt;div&gt;Read the&amp;nbsp;&lt;a href="https://rvm.beginrescueend.com/rvm/install/"&gt;RVM installation notes&lt;/a&gt;&amp;nbsp;for more details. If you have trouble installing RVM on bitnami AMI, try to use a regular user account, and read this&amp;nbsp;&lt;a href="http://stackoverflow.com/questions/6924194/not-able-to-pull-stable-rvm-version"&gt;StackOverflow answer&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In fact, I would suggest after installing RVM to avoid using either Bitnami's non-standard Ruby installation, nor use Ubuntu's installation. Instead, install a sandboxed version of Ruby via RVM. Start by listing available Ruby versions&lt;br /&gt;&lt;br /&gt;$ &lt;b&gt;rvm list known&lt;/b&gt;&lt;br /&gt;# MRI Rubies&lt;br /&gt;[ruby-]1.8.6[-p420]&lt;br /&gt;[ruby-]1.8.6-head&lt;br /&gt;[ruby-]1.8.7[-p352]&lt;br /&gt;[ruby-]1.8.7-head&lt;br /&gt;[ruby-]1.9.1-p378&lt;br /&gt;[ruby-]1.9.1[-p431]&lt;br /&gt;[ruby-]1.9.1-head&lt;br /&gt;[ruby-]1.9.2-p180&lt;br /&gt;&lt;span style="color: red;"&gt;[ruby-]1.9.2[-p290]&lt;/span&gt;&lt;br /&gt;[ruby-]1.9.2-head&lt;br /&gt;[ruby-]1.9.3[-preview1]&lt;br /&gt;[ruby-]1.9.3-head&lt;br /&gt;ruby-head&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The latest stable version at the time of writing is&amp;nbsp;&lt;b&gt;ruby-1.9.2p290&lt;/b&gt;. Let's install that.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$&amp;nbsp;&lt;b&gt;rvm install 1.9.2&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;Assuming that you have a few versions of Ruby installed, you can ask RVM to list them out.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ &lt;b&gt;rvm list&lt;/b&gt;&lt;br /&gt;rvm rubies&lt;br /&gt;=&amp;gt; ruby-1.9.2-p290 [ i386 ]&lt;br /&gt;&amp;nbsp; &amp;nbsp;ruby-1.8.7-p352 [ i386 ]&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;To use Ruby 1.9.2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$&amp;nbsp;&lt;b&gt;rvm use 1.9.2&lt;/b&gt;&lt;/blockquote&gt;Using /home/bitnami/.rvm/gems/ruby-1.9.2-p290&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;$ &lt;b&gt;ruby -v&lt;/b&gt;&lt;br /&gt;ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Check out this Railcast on RVM&lt;br /&gt;&lt;video width="400" height="300" poster="/assets/episodes/posters/loading800.png" controls="controls" preload="none"&gt;&lt;source src="http://media.railscasts.com/assets/episodes/videos/200-rails-3-beta-and-rvm.mp4" type="video/mp4"/&gt;&lt;source src="http://media.railscasts.com/assets/episodes/videos/200-rails-3-beta-and-rvm.m4v" type="video/mp4"/&gt;&lt;source src="http://media.railscasts.com/assets/episodes/videos/200-rails-3-beta-and-rvm.webm" type="video/webm"/&gt;&lt;source src="http://media.railscasts.com/assets/episodes/videos/200-rails-3-beta-and-rvm.ogv" type="video/ogg"/&gt;&lt;/video&gt;&lt;br /&gt;&lt;div class="zemanta-related"&gt;&lt;h6 class="zemanta-related-title" style="font-size: 1em; margin: 1em 0 0 0;"&gt;Related articles&lt;/h6&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://yahawana.wordpress.com/2011/09/05/from-ruby-to-rails-step-by-step-1-ruby-framework-set-up-test-hello-world-windows7-dos-prompt/"&gt;From Ruby To Rails Step By Step - Step 1: Ruby Framework Set Up, Test And Hello World On Windows 7 From The DOS prompt&lt;/a&gt; (yahawana.wordpress.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://libraryfind.org/home"&gt;libraryfind.org&lt;/a&gt; (libraryfind.org)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://cramp.in/"&gt;Asynchronous ruby framework for websockets, eventsource and streaming&lt;/a&gt; ()&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.shopify.com/technology/3931292-webhook-testing-made-easy"&gt;Webhook Testing Made Easy&lt;/a&gt; (shopify.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.helzberg.com/category/learning+guide/colored+gems/ruby.do"&gt;Ruby - Colored Gems - Learning Guide - Helzberg Diamonds&lt;/a&gt; (helzberg.com)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=fdfb0278-e26b-4781-89df-f0094ad5d90c" style="border: none; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-8537457577941303843?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/8537457577941303843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=8537457577941303843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8537457577941303843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8537457577941303843'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/09/using-rvm-to-control-ruby-environment.html' title='Using RVM to control Ruby environment'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-1516271373058028593</id><published>2011-08-06T01:47:00.000-07:00</published><updated>2011-08-06T01:47:03.855-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='Node.js'/><title type='text'>Node.js error ENOTFOUND, Domain name not found</title><content type='html'>What does the error &lt;b&gt;ENOTFOUND, Domain name not found&lt;/b&gt; means when running node.js?&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ node main.js&lt;br /&gt;&lt;br /&gt;events.js:45&lt;br /&gt;throw arguments[1]; // Unhandled 'error' event&lt;br /&gt;^&lt;br /&gt;Error: ENOTFOUND, Domain name not found&lt;br /&gt;at IOWatcher.callback (dns.js:74:15)&lt;/blockquote&gt;&lt;br /&gt;A quick search in &lt;a href="http://groups.google.com/"&gt;Google groups &lt;/a&gt;shows it is a &lt;a href="http://groups.google.com/group/nodejs/browse_thread/thread/dc3f63da79060c88"&gt;common issue&lt;/a&gt;. It usually means your server cannot bind to the domain name properly. Check your host files. Turned out I got the issue because the developer has modified their host file to listen to "host.local".&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;var config = {&lt;br /&gt;&amp;nbsp; &amp;nbsp; host : 'local.host',&lt;br /&gt;&amp;nbsp; &amp;nbsp; port : args[2] ||&lt;br /&gt;};&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;server.listen(config.port, config.host, function() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; console.log('Express server started on ' + config.host + ':' + config.port);&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;The solution? Just leave out the hostname, and node.js &lt;a href="http://expressjs.com/"&gt;Epress&lt;/a&gt; will automatically bind to all ports&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;server.listen("8080", function() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; console.log('Express server started on ' + config.host + ':' + config.port);&lt;br /&gt;});&lt;br /&gt;&lt;/blockquote&gt;&lt;div&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/32920558-1516271373058028593?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/1516271373058028593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=1516271373058028593' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1516271373058028593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1516271373058028593'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/08/nodejs-error-enotfound-domain-name-not.html' title='Node.js error ENOTFOUND, Domain name not found'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-3006065369268719737</id><published>2011-07-30T17:27:00.000-07:00</published><updated>2011-07-30T17:27:47.358-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Python and Ubuntu</title><content type='html'>In my previous post I was complaining that I keep having problems with missing "openid_consumer" Python module. Even rebuilding Django and pip from scratch does not work. So I will try to build Python from&amp;nbsp;scratch&amp;nbsp;now.&lt;br /&gt;&lt;br /&gt;Download Python from from either&amp;nbsp;&lt;a href="http://www.python.org/download/releases/2.7.1/"&gt;http://www.python.org/download/releases/2.7.1/&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="http://www.python.org/getit/releases/3.2/"&gt;http://www.python.org/getit/releases/3.2/&lt;/a&gt;&amp;nbsp;I am getting the 2.x &lt;a href="http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tar.bz2"&gt;tarball&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Before you proceed, remove the currently installed python version from Ubuntu.&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$ sudo apt-get remove python2.7&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Download and extract the tarball.&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$ curl -O http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tar.bz2&lt;br /&gt;&lt;div&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;$ tar xvjf Python-2.7.1.tar.bz2&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;$ cd Python-2.7.1/&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before you start compiling, make sure you have the GCC compiler installed.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;$ sudo apt-get install gcc&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now you are ready to build and install python&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;$ ./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The first time I ran it, I got this error:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;/usr/bin/python: can't find '__main__' module in '/usr/share/command-not-found'&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Turns out that python does not work properly without &lt;b&gt;command-not-found&lt;/b&gt;. Go ahead and install it&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;$ sudo apt-get install command-not-found&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The problem with openid_consumer is magically solved, you don't even have to recompile anything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-3006065369268719737?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/3006065369268719737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=3006065369268719737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3006065369268719737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3006065369268719737'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/07/python-and-ubuntu.html' title='Python and Ubuntu'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-122787887711547792</id><published>2011-07-30T16:20:00.000-07:00</published><updated>2011-07-30T16:20:37.614-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='List of Ubuntu releases'/><title type='text'>How to manually install Django and pip</title><content type='html'>I have been running the latest version of Ubuntu server, &lt;a href="http://www.ubuntu.com/testing/natty/beta"&gt;11.04 Natty&lt;/a&gt; to run my Python / Django app. Ran into some problems when I keep getting this error&lt;br /&gt;&lt;br /&gt;No module named openid_consumer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Even when I have the Python module &lt;b&gt;django-openid-consumer&lt;/b&gt; installed.&lt;br /&gt;&lt;br /&gt;I suspect it could be either the Linux environment itself, or some version incompatibilities between Python, Django, and the other modules. I did face some incompatibilities error, especially since my team mate is running Django 1.3 and Ubuntu still ship with 1.2.5&lt;br /&gt;&lt;br /&gt;You probably do not want to build Python from scratch, as the default Python version in Ubuntu 11.04 is 2.7.1, the latest in the Python 2.x branch. Unless you really need Python 3.x - not that the latest Django release uses new features only found in Python 3.x&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Building Django&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Let's start with getting Django's source. Head over to&amp;nbsp;&lt;a href="https://www.djangoproject.com/download/"&gt;https://www.djangoproject.com/download/&lt;/a&gt;, and grab &lt;a href="http://www.djangoproject.com/download/1.3/tarball/"&gt;http://www.djangoproject.com/download/1.3/tarball/&lt;/a&gt; . Just &amp;nbsp;in case you are using &lt;b&gt;wget&lt;/b&gt;, the file may be downloaded as "index.html"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;Resolving media.djangoproject.com... 64.207.133.30&lt;br /&gt;Connecting to media.djangoproject.com|64.207.133.30|:80... connected.&lt;br /&gt;HTTP request sent, awaiting response... 200 OK&lt;br /&gt;Length: 6504003 (6.2M) [application/octet-stream]&lt;br /&gt;Saving to: `index.html'&lt;br /&gt;&lt;br /&gt;100%[======================================&amp;gt;] 6,504,003 &amp;nbsp; 1.28M/s &amp;nbsp; in 6.4s&lt;br /&gt;&lt;br /&gt;2011-07-30 23:10:52 (998 KB/s) - `index.html' saved [6504003/6504003]&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rename it to django.tar.gz&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;$ mv index.html&amp;nbsp;django.tar.gz&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Extract the contents, then install it - you will need superuser privileges to install to the default locations.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="prettyprint"&gt;&lt;div&gt;$ tar zxvf&amp;nbsp;django.tar.gz&lt;/div&gt;&lt;div&gt;$ cd&amp;nbsp;Django-1.3/&lt;/div&gt;&lt;div&gt;$ sudo python setup.py install&lt;/div&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Building Pip&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pip is a handy utility, similar to Ruby's gems command, that allows you to easily install Python modules with only a single command. Before installing Pip, you need to have &lt;b&gt;virtualenv&lt;/b&gt;. Install it &lt;a href="http://www.pip-installer.org/en/latest/installing.html"&gt;this way&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$&amp;nbsp;curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$ python virtualenv.py my_new_env&lt;br /&gt;&lt;br /&gt;New python executable in potholes/bin/python&lt;br /&gt;Installing setuptools............................done.&lt;br /&gt;Installing pip.....................done.&lt;br /&gt;&lt;br /&gt;$ . my_new_env/bin/activate&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You can start using pip now:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;(my_new_env)$ pip install ...(my_new_env)$ pip install xxx&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-related"&gt;&lt;h6 class="zemanta-related-title" style="font-size: 1em; margin: 1em 0 0 0;"&gt;Related articles&lt;/h6&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://elweb.co/programacion/33-projects-that-make-developing-django-apps-awesome/?s=hn"&gt;Awesome Python and django related projects&lt;/a&gt; (elweb.co)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://dorai.wordpress.com/2011/06/22/pythondjango-links-june-22-2011/"&gt;Python/Django Links - June 22, 2011&lt;/a&gt; (dorai.wordpress.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://kaigaraonline.wordpress.com/2011/06/13/django-ep-1-getting-started/"&gt;Django Ep.1: Getting Started&lt;/a&gt; (kaigaraonline.wordpress.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://senko.net/en/django-nginx-gunicorn/"&gt;Django Setup using Nginx and Gunicorn&lt;/a&gt; (senko.net)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.jacobian.org/writing/when-pypi-goes-down/"&gt;What to do when PyPI goes down&lt;/a&gt; (jacobian.org)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://bob-roberts.net/2011/03/24/learning-python-in-socal/"&gt;Learning Python in SoCal&lt;/a&gt; (bob-roberts.net)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://micknelson.wordpress.com/2011/06/21/develop-and-deploy-with-virtualenv/"&gt;Develop and deploy with virtualenv&lt;/a&gt; (micknelson.wordpress.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.askthepony.com/blog/2011/07/setup-a-complete-django-server-deploy-rollback-%25e2%2580%2593-all-in-one-powerful-script/"&gt;Setup a complete Django server, deploy, rollback - all in one powerful script.&lt;/a&gt; (askthepony.com)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=755f5399-76d5-4b2d-8b1f-5c9516a3d6c0" style="border: none; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-122787887711547792?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/122787887711547792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=122787887711547792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/122787887711547792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/122787887711547792'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/07/how-to-manually-install-django-and-pip.html' title='How to manually install Django and pip'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-6032561785346947312</id><published>2011-07-14T01:07:00.000-07:00</published><updated>2011-07-14T01:07:19.801-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='npm'/><category scheme='http://www.blogger.com/atom/ns#' term='socket.io'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='Node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>How to install npm on Ubuntu</title><content type='html'>Here is a quick how to for installing &lt;a href="http://npmjs.org/"&gt;npm &lt;/a&gt;on Ubuntu, or any variant of UNIX for that matter&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$ curl http://npmjs.org/install.sh | sh&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;It is that simple!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So you want to check out the code from git and compile it yourself? Then follow these steps:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$ git clone https://github.com/isaacs/npm&lt;br /&gt;$ cd npm&lt;br /&gt;$ sudo make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now you can install interesting stuff like &lt;a href="http://socket.io/"&gt;socket.io&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$ npm install socket.io&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=a0933680-4013-4551-b1d5-51f95d41bf90" style="border: none; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-6032561785346947312?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/6032561785346947312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=6032561785346947312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6032561785346947312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6032561785346947312'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/07/how-to-install-npm-on-ubuntu.html' title='How to install npm on Ubuntu'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-6747450170241876795</id><published>2011-07-14T00:39:00.000-07:00</published><updated>2011-07-14T00:58:00.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='Node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>How to install Node.js on Ubuntu</title><content type='html'>Here are short, simple steps for installing node.js and npm on Ubuntu 10.04 There may be slight differences in different version of Ubuntu, but since I am using stock APT command they should work. Check http://help.ubuntu.com for version specific steps.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;$ sudo apt-get update&lt;br /&gt;$ sudo apt-get install git-core curl build-essential openssl libssl-dev&lt;br /&gt;$&amp;nbsp;git clone https://github.com/joyent/node.git&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you get some weird error on SSL certification such as below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;error: SSL certificate problem, verify that the CA cert is OK. Details:&lt;br /&gt;error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/joyent/node.git/info/refs&lt;br /&gt;&lt;br /&gt;fatal: HTTP request failed&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can learn more about it from&amp;nbsp;&lt;a href="http://stackoverflow.com/questions/3777075/https-github-access"&gt;http://stackoverflow.com/questions/3777075/https-github-access&lt;/a&gt;.&amp;nbsp;I suggest you just bypass it by setting the&amp;nbsp;GIT_SSL_NO_VERIFY variable to true&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="prettyprint"&gt;&lt;div&gt;$ GIT_SSL_NO_VERIFY=true git clone https://github.com/joyent/node.git&lt;/div&gt;&lt;div&gt;$ cd node&lt;/div&gt;&lt;div&gt;$ ./configure&lt;/div&gt;&lt;div&gt;$ make&lt;/div&gt;&lt;div&gt;$ make install&lt;/div&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's check if node is now installed&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="prettyprint"&gt;&lt;div&gt;&lt;div&gt;$ node -v&lt;/div&gt;&lt;div&gt;v0.5.1-pre&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;div&gt;Now let's test it. Create a file called &lt;i&gt;Helloworld.js&lt;/i&gt;&amp;nbsp;with the following contents&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;&lt;div&gt;$ cat helloworld.js&lt;/div&gt;&lt;div&gt;var sys = require('sys')&lt;/div&gt;&lt;div&gt;sys.puts('Hello World')&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then we run it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint"&gt;&lt;div&gt;$ node helloworld.js&lt;/div&gt;&lt;div&gt;Hello World&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's it!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="zemanta-related"&gt;&lt;h6 class="zemanta-related-title" style="font-size: 1em; margin: 1em 0 0 0;"&gt;Related articles&lt;/h6&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.twilio.com/blog/2011/05/getting-started-with-twilio-and-node-js.html"&gt;Getting Started with Twilio and Node.js&lt;/a&gt; (twilio.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="https://github.com/isaacs/npm"&gt;Npm 1.0 is out&lt;/a&gt; (github.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://chrisfulstow.com/running-node-js-on-windows-with-virtualbox-and-ubuntu"&gt;Running node.js on Windows with VirtualBox and Ubuntu&lt;/a&gt; (chrisfulstow.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://jaigouk.com/nodetuts-coffeescript/"&gt;Nodetuts in CoffeeScript&lt;/a&gt; (jaigouk.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://blog.nodejitsu.com/ibm-doesnt-care-about-nodejs-people"&gt;IBM doesn't care about node.js people&lt;/a&gt; (nodejitsu.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://blogs.msdn.com/b/interoperability/archive/2011/06/23/microsoft-working-with-joyent-and-the-node-community-to-bring-node-js-to-windows.aspx"&gt;Microsoft working with Joyent and the Node community to bring Node.js to Windows&lt;/a&gt; (blogs.msdn.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="https://github.com/spiceapps/slugr"&gt;Slugr.js: Bundle Node.js apps into a single executable file&lt;/a&gt; (github.com)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=8b631697-4866-4090-ab49-8004064cc1f3" style="border: none; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-6747450170241876795?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/6747450170241876795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=6747450170241876795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6747450170241876795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6747450170241876795'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/07/how-to-install-nodejs-on-ubuntu.html' title='How to install Node.js on Ubuntu'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-72408498897157270</id><published>2011-07-08T00:16:00.000-07:00</published><updated>2011-07-08T00:16:37.840-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Set up Vim for Groovy development</title><content type='html'>What is the best code editor? I shall leave the question open as everyone has their pet favourite, and usually for good reasons too. It is indisputable that &lt;a href="http://www.vim.org/"&gt;Vim&lt;/a&gt; is ubiquitous and lightweight. I frequently only have SSH access to my servers and that is when vim is so much handier compared to other GUI based editors/IDE.&lt;br /&gt;&lt;br /&gt;Here's a short guide to set up Vim to edit &lt;a href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;First, download the latest vim syntax script from&amp;nbsp;&lt;a href="http://www.vim.org/scripts/script.php?script_id=945"&gt;http://www.vim.org/scripts/script.php?script_id=945&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;$ curl&amp;nbsp;http://www.vim.org/scripts/download_script.php?src_id=2926 &amp;gt; ~/.vim/syntax/groovy.vim&lt;br /&gt;&lt;br /&gt;Open up&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;/.vim/filetype.vim and add in this line&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;au BufNewFile,BufRead *.groovy&amp;nbsp;&amp;nbsp;setf groovy&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;Open up ~/.vim/scripts.vim and add in these lines to recognize when a groovy file is loaded&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;if did_filetype()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finish&lt;br /&gt;&amp;nbsp;&amp;nbsp;endif&lt;br /&gt;&amp;nbsp;&amp;nbsp;if getline(1) =~ '^#!.*[/\\]groovy\&amp;gt;'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setf groovy&lt;br /&gt;&amp;nbsp;&amp;nbsp;endif&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;Next, download the groovy plug in that will r&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;uns or compiles Groovy scripts, indents code blocks, continues comments on adjacent lines, provides insert-mode abbreviations&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;from&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=2217"&gt;http://www.vim.org/scripts/script.php?script_id=2217&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;$ curl&amp;nbsp;http://www.vim.org/scripts/download_script.php?src_id=8600 &amp;gt; ~/.vim/ftplugin/groovy.vim&lt;br /&gt;&lt;br /&gt;That's it! Now when you open up a groovy file in Vim, the syntax will be highlighted and you get auto-indents.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-72408498897157270?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/72408498897157270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=72408498897157270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/72408498897157270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/72408498897157270'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/07/set-up-vim-for-groovy-development.html' title='Set up Vim for Groovy development'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-2019952954509539917</id><published>2011-07-03T09:35:00.000-07:00</published><updated>2011-07-03T09:35:45.831-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PandaForm'/><category scheme='http://www.blogger.com/atom/ns#' term='productivity'/><category scheme='http://www.blogger.com/atom/ns#' term='startup'/><category scheme='http://www.blogger.com/atom/ns#' term='Spreadsheet'/><category scheme='http://www.blogger.com/atom/ns#' term='lean startup'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Doc'/><title type='text'>Synchronizing PandaForm with Google Spreadsheets</title><content type='html'>So now you have the survey results back from your participants. Congratulations! That's a big first step to understand &lt;i&gt;what the customers really want&lt;/i&gt;. Now &lt;a class="zem_slink" href="http://www.pandaform.com/" rel="homepage" title="PandaForm"&gt;PandaForm&lt;/a&gt; is useful to create forms and surveys, but it is no place for doing in depth analysis.&lt;br /&gt;&lt;br /&gt;To do that, you can use the free and very powerful &lt;a href="http://docs.google.com/"&gt;Google Spreadsheets&lt;/a&gt;. First, open up the survey form, click on &lt;b&gt;Export&lt;/b&gt;&amp;nbsp;and select &lt;b&gt;&lt;a class="zem_slink" href="http://docs.google.com/" rel="homepage" title="Google Docs"&gt;Google Spreadsheet&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-sIcNXxANu4U/ThCYEMH8OZI/AAAAAAAACIY/gxQafL3i7co/s1600/pandaforms_export_to_google_docs_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-sIcNXxANu4U/ThCYEMH8OZI/AAAAAAAACIY/gxQafL3i7co/s1600/pandaforms_export_to_google_docs_1.png" /&gt;&lt;/a&gt;&lt;/div&gt;Next, select the option &lt;b&gt;Export all&lt;/b&gt;&amp;nbsp;and then proceed to &lt;b&gt;Log in to your Google Account&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-H4WYY9UmxaA/ThCYOoacCfI/AAAAAAAACIc/7LjmYYbwoQI/s1600/pandaforms_export_to_google_docs_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-H4WYY9UmxaA/ThCYOoacCfI/AAAAAAAACIc/7LjmYYbwoQI/s400/pandaforms_export_to_google_docs_2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Once you have keyed in your username (the same as your Gmail username if you have one) and password, you will be asked to grant the permissions to allow PandaForm to export to your Google Docs account. Click on &lt;b&gt;Grant access&lt;/b&gt;&amp;nbsp;to continue.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Gt4s9JRj3gU/ThCYfoY4e8I/AAAAAAAACIg/hOYik9q_Wm4/s1600/pandaforms_export_to_google_docs_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="http://1.bp.blogspot.com/-Gt4s9JRj3gU/ThCYfoY4e8I/AAAAAAAACIg/hOYik9q_Wm4/s320/pandaforms_export_to_google_docs_3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Once you have granted access, click on &lt;b&gt;Create a new spreadsheet&lt;/b&gt;. You can actually choose to export to an existing spreadsheet as well. Do not worry about the Sheet name, as you can choose it later, or export it to a brand new sheet.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GxAoX67Zwq4/ThCYx3iwEhI/AAAAAAAACIk/mEzB6oIkL1I/s1600/pandaforms_export_to_google_docs_4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="110" src="http://4.bp.blogspot.com/-GxAoX67Zwq4/ThCYx3iwEhI/AAAAAAAACIk/mEzB6oIkL1I/s320/pandaforms_export_to_google_docs_4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Type in the new spreadsheet name. Use a meaningful name that can be easily understood, because are you create more and more documents in your Google Docs account, trying to figure out the contents of "Survey" or "Survey 5" will be a pain.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-znGnC2DGCME/ThCY-jASmZI/AAAAAAAACIo/RjyNK_l8Ht0/s1600/pandaforms_export_to_google_docs_5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-znGnC2DGCME/ThCY-jASmZI/AAAAAAAACIo/RjyNK_l8Ht0/s1600/pandaforms_export_to_google_docs_5.png" /&gt;&lt;/a&gt;&lt;/div&gt;Next, type in a new sheet name. I strongly suggest you use a meaningful sheet name such as "Survey" or "Results" instead of the default "Sheet 1".&lt;br /&gt;&lt;br /&gt;Select the option to automatically sync the data from Pandaform to Google Spreadsheet if you expect further updates.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-CrXwuyE0d5Y/ThCZObRbESI/AAAAAAAACIs/-zJGWRNmjKk/s1600/pandaforms_export_to_google_docs_6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="164" src="http://3.bp.blogspot.com/-CrXwuyE0d5Y/ThCZObRbESI/AAAAAAAACIs/-zJGWRNmjKk/s320/pandaforms_export_to_google_docs_6.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;After you have clicked &lt;b&gt;Export&lt;/b&gt;, you will see a message informing you the export is happening in the background. You can continue performing other tasks in PandaForm&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-J2yXoxNSaAs/ThCZoFuowOI/AAAAAAAACIw/O2jMqMkrLa0/s1600/pandaforms_export_to_google_docs_7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="17" src="http://1.bp.blogspot.com/-J2yXoxNSaAs/ThCZoFuowOI/AAAAAAAACIw/O2jMqMkrLa0/s320/pandaforms_export_to_google_docs_7.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;When you now log in to your Google Docs account, you will be able to see the survey results available in a Google Spreadsheet.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-5fSw4t9g_bs/ThCaBEi-5BI/AAAAAAAACI0/_JabGDWvIME/s1600/pandaforms_export_to_google_docs_8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://3.bp.blogspot.com/-5fSw4t9g_bs/ThCaBEi-5BI/AAAAAAAACI0/_JabGDWvIME/s320/pandaforms_export_to_google_docs_8.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="zemanta-related"&gt;&lt;h6 class="zemanta-related-title" style="font-size: 1em; margin: 1em 0 0 0;"&gt;Related articles&lt;/h6&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://blog.konstrukshon.com/?p=13450"&gt;Architectural Technologist - Google Spreadsheets and Pivot Table&lt;/a&gt; (konstrukshon.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.mt-soft.com.ar/2011/06/23/box-net-integrates-with-google-docs/"&gt;Box.net Integrates with Google Docs&lt;/a&gt; (mt-soft.com.ar)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://davidcummings.org/2011/06/18/gathering-product-feedback-in-a-startup/"&gt;Gathering Product Feedback in a Startup&lt;/a&gt; (davidcummings.org)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://siruiwangit645.wordpress.com/2011/06/14/google-group-google-docs-lets-work-together-online/"&gt;Google Group, Google Docs~ Let's work together online!&lt;/a&gt; (siruiwangit645.wordpress.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.labnol.org/internet/guest-upload-files/19697/"&gt;How Guests Can Upload Files to Your Google Docs&lt;/a&gt; (labnol.org)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://blogs.sitepoint.com/2008/11/15/google-docs-use-just-a-blip/"&gt;Google Docs Use: Just a Blip&lt;/a&gt; (blogs.sitepoint.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.reddit.com/r/IAmA/comments/hylnw/were_five_members_of_the_google_docs_team_ask_us/"&gt;We're five members of the Google Docs team - ask us anything&lt;/a&gt; (reddit.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.pcworld.com/article/227490/day_9_taking_a_closer_look_at_google_docs_spreadsheets.html"&gt;Day 9: Taking a Closer Look at Google Docs Spreadsheets&lt;/a&gt; (pcworld.com)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=ceb4d606-fb73-496d-af36-ab65108613ed" style="border: none; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-2019952954509539917?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/2019952954509539917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=2019952954509539917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2019952954509539917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2019952954509539917'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/07/synchronizing-pandaform-with-google.html' title='Synchronizing PandaForm with Google Spreadsheets'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-sIcNXxANu4U/ThCYEMH8OZI/AAAAAAAACIY/gxQafL3i7co/s72-c/pandaforms_export_to_google_docs_1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-2174489696736787707</id><published>2011-06-27T13:41:00.000-07:00</published><updated>2011-06-27T13:41:11.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='Formspring'/><category scheme='http://www.blogger.com/atom/ns#' term='social media'/><category scheme='http://www.blogger.com/atom/ns#' term='Privacy'/><title type='text'>Formspring is asking for way too much information!</title><content type='html'>&lt;a class="zem_slink" href="http://www.formspring.me/" rel="homepage" title="Formspring"&gt;Formspring&lt;/a&gt; is a promising new startup where you can create profile pages and allow anonymous users to ask questions. This simple idea has &lt;a href="http://gigaom.com/2011/06/27/formspring-user-numbers/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+OmMalik+%28GigaOM%3A+Tech%29"&gt;generated 25 million users in the span of 18 months&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What I do not like is the fact that it is asking for way too much information. Take for example for sign up, you can use your &lt;a class="zem_slink" href="http://facebook.com/" rel="homepage" title="Facebook"&gt;Facebook&lt;/a&gt; account. However, it is still asking for your &lt;b&gt;email &lt;/b&gt;as well as &lt;b&gt;date of birth&lt;/b&gt;&amp;nbsp;as mandatory information, without explaining &lt;i&gt;what&lt;/i&gt;&amp;nbsp;it will be doing with.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-j38-j5rpLsk/TgjncUDnDJI/AAAAAAAACG8/cg5-bTYpbho/s1600/Formspring_facebook_still_ask_for_email.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/-j38-j5rpLsk/TgjncUDnDJI/AAAAAAAACG8/cg5-bTYpbho/s320/Formspring_facebook_still_ask_for_email.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OciijTJG6wE/TgjnrF3sIoI/AAAAAAAACHA/dIMayJyZVgI/s1600/formspring_facebook_permissions.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-OciijTJG6wE/TgjnrF3sIoI/AAAAAAAACHA/dIMayJyZVgI/s400/formspring_facebook_permissions.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RioNr2LXmMA/TgjoLCLhENI/AAAAAAAACHE/JdxNuSdNo0c/s1600/formspring_facebook_app_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://4.bp.blogspot.com/-RioNr2LXmMA/TgjoLCLhENI/AAAAAAAACHE/JdxNuSdNo0c/s400/formspring_facebook_app_1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RioNr2LXmMA/TgjoLCLhENI/AAAAAAAACHE/JdxNuSdNo0c/s1600/formspring_facebook_app_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-RioNr2LXmMA/TgjoLCLhENI/AAAAAAAACHE/JdxNuSdNo0c/s1600/formspring_facebook_app_1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2UXkY7TIC4U/TgjoleuysNI/AAAAAAAACHI/J_kW7gLed08/s1600/formspring_facebook_app_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-2UXkY7TIC4U/TgjoleuysNI/AAAAAAAACHI/J_kW7gLed08/s1600/formspring_facebook_app_2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="zemanta-related"&gt;&lt;h6 class="zemanta-related-title" style="font-size: 1em; margin: 1em 0 0 0;"&gt;Related articles&lt;/h6&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://mashable.com/2011/06/10/formspring-celebrities/"&gt;Celeb Q&amp;amp;A: Formspring Adds Special Features for the Famous&lt;/a&gt; (mashable.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://mashable.com/2011/04/04/formspring-redesign/"&gt;Formspring Gets a Twitter-Inspired Makeover&lt;/a&gt; (mashable.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.bilerico.com/2010/07/why_formspringme_is_damaging_to_our_lgbt_youth_and.php"&gt;Why Formspring.me is Damaging to Our LGBT Youth and How it Became the Perfect Platform for Cyber-Bullying&lt;/a&gt; (bilerico.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.readwriteweb.com/archives/qa_site_formspring_continues_to_focus_on_building.php"&gt;Q&amp;amp;A Site Formspring Continues to Focus on Building Community&lt;/a&gt; (readwriteweb.com)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=fd05e74e-75e0-4ed1-8e75-e29847848cec" style="border: none; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-2174489696736787707?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/2174489696736787707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=2174489696736787707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2174489696736787707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2174489696736787707'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/06/formspring-is-asking-for-way-too-much.html' title='Formspring is asking for way too much information!'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-j38-j5rpLsk/TgjncUDnDJI/AAAAAAAACG8/cg5-bTYpbho/s72-c/Formspring_facebook_still_ask_for_email.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-3175673777690232919</id><published>2011-06-27T12:57:00.000-07:00</published><updated>2011-06-27T12:57:02.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='visibli'/><category scheme='http://www.blogger.com/atom/ns#' term='social media'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Visibli causing duplicate Tweets</title><content type='html'>Visible is a pretty neat tool to track engagement of your brand, company or even yourself in both Facebook and Twitter&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://visibli.com/images/presskit/realtime_analytics.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://visibli.com/images/presskit/realtime_analytics.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately after I signed up, it seems to automatically double-post my Tweets&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i.imgur.com/MM4Ox.png"&gt;&lt;img border="0" height="320" src="http://i.imgur.com/Lk1ci.png" width="182" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Anyone knows of a fix?&lt;br /&gt;&lt;div class="zemanta-related"&gt;&lt;h6 class="zemanta-related-title" style="font-size: 1em; margin: 1em 0 0 0;"&gt;Related articles&lt;/h6&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://earthzebra.com/2011/05/30/to-tweet-or-not-to-tweet-the-twitter-dilemma/"&gt;To Tweet or Not to Tweet - The Twitter Dilemma&lt;/a&gt; (earthzebra.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.malcolmcoles.co.uk/blog/the-most-annoying-1200-pixels-on-the-internet/"&gt;The most annoying 1,200 pixels on the internet&lt;/a&gt; (malcolmcoles.co.uk)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://searchenginewatch.com/article/2078239/80-of-Engagement-with-Tweets-is-Clicking-a-Link-Rather-than-Reply-or-RT"&gt;80% of Engagement with Tweets is Clicking a Link (Rather than Reply or RT)&lt;/a&gt; (searchenginewatch.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://engineering.twitter.com/2011/05/engineering-behind-twitters-new-search.html"&gt;The Engineering Behind Twitter's New Search Experience&lt;/a&gt; (engineering.twitter.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.seomoz.org/blog/how-to-build-a-great-contest"&gt;How to Build a Great Contest&lt;/a&gt; (seomoz.org)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=7e9a0a31-1f52-4856-83c6-00920da26db1" style="border: none; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-3175673777690232919?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/3175673777690232919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=3175673777690232919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3175673777690232919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3175673777690232919'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/06/visibli-causing-duplicate-tweets.html' title='Visibli causing duplicate Tweets'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-396779566485324710</id><published>2011-06-09T04:56:00.000-07:00</published><updated>2011-06-09T04:56:53.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='query'/><category scheme='http://www.blogger.com/atom/ns#' term='reqpro'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Generating total number of requirements for each Requisite Pro projects</title><content type='html'>Have you ever wanted to have a summary of all Requisite Pro projects and their total number of requirements?&lt;br /&gt;&lt;br /&gt;Run this SQL Server Query / View to generate the output:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;USE [RequisitePro]&lt;br /&gt;GO&lt;br /&gt;/****** Object: &amp;nbsp;View [ReqPro].[All_Requirements_Extract] &amp;nbsp; &amp;nbsp;Script Date: 06/09/2011 13:03:33 ******/&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;GO&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;GO&lt;br /&gt;ALTER view [RePro].[All_Requirements_Extract] as&lt;br /&gt;select p.name ProjectName, t.name ReqTypeName, count(*) Total&lt;br /&gt;from ReqPro.rqprojects p , ReqPro.rqprojectrequirementtypes a, ReqPro.rqrequirementtypes t, ReqPro.rqrequirements r&lt;br /&gt;where p.id = a.projectid&lt;br /&gt;and t.id = a.requirementtypeid&lt;br /&gt;and r.requirementtypeid = a.requirementtypeid&lt;br /&gt;group by p.name, t.name&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;You should see 3 columns: Requisite Pro project name, the requirement type and the count&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-XDe0pwY30R8/TfC0-RppfHI/AAAAAAAACFs/6Xo2zmc4-5s/s1600/List_of_Reqpro_Projects_and_Requirement_Count.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-XDe0pwY30R8/TfC0-RppfHI/AAAAAAAACFs/6Xo2zmc4-5s/s1600/List_of_Reqpro_Projects_and_Requirement_Count.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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/32920558-396779566485324710?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/396779566485324710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=396779566485324710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/396779566485324710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/396779566485324710'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/06/generating-total-number-of-requirements.html' title='Generating total number of requirements for each Requisite Pro projects'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-XDe0pwY30R8/TfC0-RppfHI/AAAAAAAACFs/6Xo2zmc4-5s/s72-c/List_of_Reqpro_Projects_and_Requirement_Count.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-5337810306771864360</id><published>2011-06-05T13:25:00.000-07:00</published><updated>2011-06-05T13:25:20.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='bitnami'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='aws'/><title type='text'>Workaround for Bitnami's custom PATH</title><content type='html'>Have you ever face error with path, especially when compiling an application from source in a Bitnami EC2 instance?&lt;br /&gt;&lt;br /&gt;For example, I get this error while trying to compile the &lt;a href="http://code.google.com/p/s3fs"&gt;s3fs&lt;/a&gt;&amp;nbsp;program:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;configure: error: Package requirements (fuse &amp;gt;= 2.8.4 libcurl &amp;gt;= 7.0 libxml-2.0 &amp;gt;= 2.6 libcrypto &amp;gt;= 0.9) were not met:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;No package 'fuse' found&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;No package 'libcurl' found&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;No package 'libxml-2.0' found&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;No package 'libcrypto' found&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Consider adjusting the PKG_CONFIG_PATH environment variable if you&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;installed software in a non-standard prefix.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Alternatively, you may set the environment variables DEPS_CFLAGS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and DEPS_LIBS to avoid the need to call pkg-config.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;See the pkg-config man page for more details.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A check in $PATH shows that a lot of /opt/bitnami/... directories is added to the front of PATH&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# &lt;b&gt;echo $PATH&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/opt/bitnami/memcached/bin:/opt/bitnami/perl/bin:/opt/bitnami/git/bin:/opt/bitnami/nginx/sbin:/opt/bitnami/sphinx/bin:/opt/bitnami/sqlite/bin:/opt/bitnami/php/bin:/opt/bitnami/mysql/bin:/opt/bitnami/apache2/bin:/opt/bitnami/subversion/bin:/opt/bitnami/ruby/bin:/opt/bitnami/common/bin:/opt/bitnami/memcached/bin:/opt/bitnami/perl/bin:/opt/bitnami/git/bin:/opt/bitnami/nginx/sbin:/opt/bitnami/sphinx/bin:/opt/bitnami/sqlite/bin:/opt/bitnami/php/bin:/opt/bitnami/mysql/bin:/opt/bitnami/apache2/bin:/opt/bitnami/subversion/bin:/opt/bitnami/ruby/bin:/opt/bitnami/common/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not smart, if you want to use stock Debian packages.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Solution? Re-export the PATH to contain the default paths first:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# &lt;b&gt;export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By the way, if its s3fs that you need to compile, you need to the development libraries, including libcurl:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#&lt;b&gt; apt-get install libcurl4-openssl-dev&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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/32920558-5337810306771864360?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/5337810306771864360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=5337810306771864360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5337810306771864360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5337810306771864360'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/06/workaround-for-bitnamis-custom-path.html' title='Workaround for Bitnami&apos;s custom PATH'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-6096532618768945582</id><published>2011-06-05T10:16:00.000-07:00</published><updated>2011-06-05T10:17:40.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='bitnami'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Adventures installing google-api-client on Bitnami EC2 instance</title><content type='html'>I launched an AWS EC2 AMI&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 16px; white-space: nowrap;"&gt;&lt;a href="http://thecloudmarket.com/image/ami-d09be582"&gt;ami-d09be582&lt;/a&gt; Bitnami Rails stack to try out Google's Ruby API.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 13px; line-height: 16px; white-space: nowrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;~$ &lt;b&gt;sudo gem install google-api-client&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;Building native extensions. &amp;nbsp;This could take a while...&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;ERROR: &amp;nbsp;Error installing google-api-client:&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ERROR: Failed to build gem native extension.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;/opt/bitnami/ruby/bin/ruby extconf.rb&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;checking for ruby/re.h... *** extconf.rb failed ***&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;Could not create Makefile due to some reason, probably lack of&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;necessary libraries and/or headers. &amp;nbsp;Check the mkmf.log file for more&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;details. &amp;nbsp;You may need configuration options.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;Provided configuration options:&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --with-opt-dir&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --without-opt-dir&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --with-opt-include&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --without-opt-include=${opt-dir}/include&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --with-opt-lib&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --without-opt-lib=${opt-dir}/lib&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --with-make-prog&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --without-make-prog&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --srcdir=.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --curdir&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --ruby=/opt/bitnami/ruby/bin/ruby&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;/opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to&amp;nbsp;generate an executable file. (RuntimeError)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;You have to install development tools first.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:834:in `block in have_header'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:254:in `open'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:254:in `open'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /opt/bitnami/ruby/lib/ruby/1.9.1/mkmf.rb:833:in `have_header'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from extconf.rb:17:in `&lt;main&gt;'&lt;/main&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;Gem files will remain installed in /opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/json-1.5.1 for inspection.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; white-space: nowrap;"&gt;Results logged to /opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/json-1.5.1/ext/json/ext/generator/gem_make.out&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just install ruby-dev package, simple enough to resolve right? Wrong&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;bitnami@ip-10-136-78-35:~$ &lt;b&gt;sudo apt-get update &amp;amp;&amp;amp; apt-get install ruby1.9-dev&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The following extra packages will be installed:&lt;/div&gt;&lt;div&gt;&amp;nbsp; binutils gcc gcc-4.4 libc-bin libc-dev-bin libc6 libc6-dev libc6-i686&lt;/div&gt;&lt;div&gt;&amp;nbsp; libc6-xen libgomp1 libruby1.9 linux-libc-dev manpages-dev ruby1.9&lt;/div&gt;&lt;div&gt;Suggested packages:&lt;/div&gt;&lt;div&gt;&amp;nbsp; binutils-doc gcc-multilib autoconf automake1.9 libtool flex bison gdb&lt;/div&gt;&lt;div&gt;&amp;nbsp; gcc-doc gcc-4.4-multilib libmudflap0-4.4-dev gcc-4.4-doc gcc-4.4-locales&lt;/div&gt;&lt;div&gt;&amp;nbsp; libgcc1-dbg libgomp1-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7&lt;/div&gt;&lt;div&gt;&amp;nbsp; glibc-doc ruby1.9-examples rdoc1.9 ri1.9 rubygems1.9&lt;/div&gt;&lt;div&gt;The following NEW packages will be installed:&lt;/div&gt;&lt;div&gt;&amp;nbsp; binutils gcc gcc-4.4 libc-dev-bin libc6-dev libgomp1 libruby1.9&lt;/div&gt;&lt;div&gt;&amp;nbsp; linux-libc-dev manpages-dev ruby1.9 ruby1.9-dev&lt;/div&gt;&lt;div&gt;The following packages will be upgraded:&lt;/div&gt;&lt;div&gt;&amp;nbsp; libc-bin libc6 libc6-i686 libc6-xen&lt;/div&gt;&lt;div&gt;4 upgraded, 11 newly installed, 0 to remove and 117 not upgraded.&lt;/div&gt;&lt;div&gt;Need to get 25.7MB of archives.&lt;/div&gt;&lt;div&gt;After this operation, 62.8MB of additional disk space will be used.&lt;/div&gt;&lt;div&gt;Do you want to continue [Y/n]?&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Installing ruby-dev will update libc6, certainly something that you don't want to do, because you risk further binary compatibility problems.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The weird thing is if you attempt to install ruby-dev package again, apt will attempt to install ruby1.8-dev!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;bitnami@ip-10-136-78-35:~$ &lt;b&gt;sudo apt-get install ruby-dev&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Reading package lists... Done&lt;/div&gt;&lt;div&gt;Building dependency tree&lt;/div&gt;&lt;div&gt;Reading state information... Done&lt;/div&gt;&lt;div&gt;The following extra packages will be installed:&lt;/div&gt;&lt;div&gt;&amp;nbsp; libruby1.8 ruby1.8 ruby1.8-dev&lt;/div&gt;&lt;div&gt;Suggested packages:&lt;/div&gt;&lt;div&gt;&amp;nbsp; ruby1.8-examples rdoc1.8 ri1.8&lt;/div&gt;&lt;div&gt;The following NEW packages will be installed:&lt;/div&gt;&lt;div&gt;&amp;nbsp; libruby1.8 ruby-dev ruby1.8 ruby1.8-dev&lt;/div&gt;&lt;div&gt;0 upgraded, 4 newly installed, 0 to remove and 117 not upgraded.&lt;/div&gt;&lt;div&gt;Need to get 2,058kB of archives.&lt;/div&gt;&lt;div&gt;After this operation, 7,885kB of additional disk space will be used.&lt;/div&gt;&lt;div&gt;Do you want to continue [Y/n]?&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, you should be able to install google-api-client now&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;bitnami@ip-10-136-78-35:~$ &lt;b&gt;sudo gem install google-api-client&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Building native extensions. &amp;nbsp;This could take a while...&lt;/div&gt;&lt;div&gt;Successfully installed json-1.5.1&lt;/div&gt;&lt;div&gt;Successfully installed signet-0.2.2&lt;/div&gt;&lt;div&gt;Successfully installed extlib-0.9.15&lt;/div&gt;&lt;div&gt;Successfully installed configuration-1.2.0&lt;/div&gt;&lt;div&gt;Successfully installed launchy-0.4.0&lt;/div&gt;&lt;div&gt;Successfully installed liquid-2.2.2&lt;/div&gt;&lt;div&gt;Successfully installed google-api-client-0.2.0&lt;/div&gt;&lt;div&gt;7 gems installed&lt;/div&gt;&lt;div&gt;Installing ri documentation for json-1.5.1...&lt;/div&gt;&lt;div&gt;Installing ri documentation for signet-0.2.2...&lt;/div&gt;&lt;div&gt;Installing ri documentation for extlib-0.9.15...&lt;/div&gt;&lt;div&gt;Installing ri documentation for configuration-1.2.0...&lt;/div&gt;&lt;div&gt;Installing ri documentation for launchy-0.4.0...&lt;/div&gt;&lt;div&gt;Installing ri documentation for liquid-2.2.2...&lt;/div&gt;&lt;div&gt;Installing ri documentation for google-api-client-0.2.0...&lt;/div&gt;&lt;div&gt;Installing RDoc documentation for json-1.5.1...&lt;/div&gt;&lt;div&gt;Installing RDoc documentation for signet-0.2.2...&lt;/div&gt;&lt;div&gt;Installing RDoc documentation for extlib-0.9.15...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Installing RDoc documentation for configuration-1.2.0...&lt;/div&gt;&lt;div&gt;Installing RDoc documentation for launchy-0.4.0...&lt;/div&gt;&lt;div&gt;Installing RDoc documentation for liquid-2.2.2...&lt;/div&gt;&lt;div&gt;Installing RDoc documentation for google-api-client-0.2.0...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another problem that I encournter is that apt refuses to install ruby-dev, complaining about paths to /opt/bitnami where Rails lives, instead of using the standard path in Debian/Ubuntu. Since I already have the debian package locally, I wanted to extract it using &lt;b&gt;ar&lt;/b&gt;.&amp;nbsp;&lt;b&gt;ar&lt;/b&gt; is part of binutils, I installed binutils which result in libc6 updated. Crazy! Thankfully its a throwaway EC2 Ubuntu instance.&lt;br /&gt;&lt;br /&gt;I can see why people who use &lt;a href="http://www.heroku.com/"&gt;Heroku &lt;/a&gt;don't turn back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-6096532618768945582?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/6096532618768945582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=6096532618768945582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6096532618768945582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6096532618768945582'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/06/adventures-installing-google-api-client.html' title='Adventures installing google-api-client on Bitnami EC2 instance'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-4276387133910124973</id><published>2011-05-31T03:42:00.000-07:00</published><updated>2011-05-31T03:42:52.979-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>How to sync Phone and SIM contacts with Google on Android phone</title><content type='html'>&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;I just realized that Phone contacts and Google contacts are 2 totally different groups, and you cannot easily sync in Contacts app. I am using Samsung Galaxy S, but there should be minimal differences between Android phones. Follow these steps:&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;1. Go to Contacts -&amp;gt; Menu -&amp;gt; Display Options.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;2. Select only&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;b&gt;Phone&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;and make sure you deselect the other lists such as SIM card, Google, Facebook, Twitter, etc&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;3. Click on Menu -&amp;gt; More -&amp;gt; Import / Export and select&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;b&gt;Export to SD Card&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;You should see a 0xxxxx.vcf file being created in /sdcard/&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;4. You should be back to the Contacts main screen. Click on Menu -&amp;gt; Import/Export and this time select&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;b&gt;Import from SD Card&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;. You should select&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;i&gt;Google&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;, for example&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;b&gt;first.last@google.com&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;5. Once the import process is completed, go to Menu -&amp;gt; Display Options again. This time, de-select Phone and select your Google accounts, as well as any other online accounts.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;I make it a point to only store contacts to Google so that I can easily manage it in one place, and make a backup of my complete contact list from time to time. This way, even if I lose my phone, use another SIM card or go to another country, I will have access to my contact list as long as I am using an Android phone.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-4276387133910124973?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/4276387133910124973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=4276387133910124973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/4276387133910124973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/4276387133910124973'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/05/how-to-sync-phone-and-sim-contacts-with.html' title='How to sync Phone and SIM contacts with Google on Android phone'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-7691585301490213092</id><published>2011-04-25T04:51:00.000-07:00</published><updated>2011-04-25T04:51:32.713-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><title type='text'>Cannot hibernate in Windows Vista</title><content type='html'>Are you trying to hibernate your Windows Vista machine, and the "Hibernate" option is missing?&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-s2ZNNxU9nws/TbTmR_MF0PI/AAAAAAAACDc/wU8Fh-JMOyw/s1600/Hibernate_missing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-s2ZNNxU9nws/TbTmR_MF0PI/AAAAAAAACDc/wU8Fh-JMOyw/s1600/Hibernate_missing.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Run the command "powercfg /hibernate on" and the Hibernate option will be available again&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HOLaq3Kb0a0/TbTmj3M-zWI/AAAAAAAACDg/4IoKYhzJQ2M/s1600/image33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="127" src="http://1.bp.blogspot.com/-HOLaq3Kb0a0/TbTmj3M-zWI/AAAAAAAACDg/4IoKYhzJQ2M/s320/image33.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-LqWbz9-BWTk/TbTm8HS3EFI/AAAAAAAACDk/rqN-K6sQ5yw/s1600/hibernate_available.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="106" src="http://1.bp.blogspot.com/-LqWbz9-BWTk/TbTm8HS3EFI/AAAAAAAACDk/rqN-K6sQ5yw/s320/hibernate_available.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-7691585301490213092?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/7691585301490213092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=7691585301490213092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7691585301490213092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7691585301490213092'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/04/cannot-hibernate-in-windows-vista.html' title='Cannot hibernate in Windows Vista'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-s2ZNNxU9nws/TbTmR_MF0PI/AAAAAAAACDc/wU8Fh-JMOyw/s72-c/Hibernate_missing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-5884900324886914370</id><published>2011-04-19T11:54:00.000-07:00</published><updated>2011-04-19T11:54:21.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ecliipse'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Eclipse Android error - An SDK Target must be specified</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Br1-TEpLw3g/Ta3U_MJs_6I/AAAAAAAACCs/ZvqAPu1QH0I/s1600/Eclipse+new+project.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="235" src="http://1.bp.blogspot.com/-Br1-TEpLw3g/Ta3U_MJs_6I/AAAAAAAACCs/ZvqAPu1QH0I/s320/Eclipse+new+project.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;When you create your first Android project in Eclipse&lt;br /&gt;&amp;nbsp;it is common to see this error message: "An SDK target must be specified"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-UmbqlHZvptA/Ta3VcX8519I/AAAAAAAACCw/vKoe5AIl3Ek/s1600/Eclipse+Android+error+-+An+SDK+Target+must+be+specified.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="271" src="http://1.bp.blogspot.com/-UmbqlHZvptA/Ta3VcX8519I/AAAAAAAACCw/vKoe5AIl3Ek/s320/Eclipse+Android+error+-+An+SDK+Target+must+be+specified.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Target Name option is disabled.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-cz22K6JYx70/Ta3ZoBDmgFI/AAAAAAAACC0/FQJgAXjfqoo/s1600/Select+Android+SDK.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/-cz22K6JYx70/Ta3ZoBDmgFI/AAAAAAAACC0/FQJgAXjfqoo/s320/Select+Android+SDK.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The error really means that Eclipse cannot find the installation directory of Android SDK. Go to&amp;nbsp;&lt;b&gt;Window -&amp;gt; Preferences&lt;/b&gt;. Click on&amp;nbsp;&lt;b&gt;Android&lt;/b&gt;&amp;nbsp;on the left navigation pane, then browse for the installation directory of Android SDK.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WzwjRk9Y65I/Ta3ZxekV9LI/AAAAAAAACC4/2qhV9dEmuXI/s1600/Select+Android+SDK+version.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-WzwjRk9Y65I/Ta3ZxekV9LI/AAAAAAAACC4/2qhV9dEmuXI/s320/Select+Android+SDK+version.png" width="287" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Click on &lt;b&gt;Apply&lt;/b&gt;, and you will see the list of available SDK target versions. Select an appropriate version, then click on &lt;b&gt;OK&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Now when you create a new Android project, you will be able to select an appropriate SDK version and proceed with project creation.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-c0g38HHuajA/Ta3aVbPl_oI/AAAAAAAACC8/EAYEMjJbHgQ/s1600/Eclipse+new+project+-+with+Android+SDK+version+selection.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="278" src="http://1.bp.blogspot.com/-c0g38HHuajA/Ta3aVbPl_oI/AAAAAAAACC8/EAYEMjJbHgQ/s320/Eclipse+new+project+-+with+Android+SDK+version+selection.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-5884900324886914370?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/5884900324886914370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=5884900324886914370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5884900324886914370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5884900324886914370'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/04/eclipse-android-error-sdk-target-must.html' title='Eclipse Android error - An SDK Target must be specified'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Br1-TEpLw3g/Ta3U_MJs_6I/AAAAAAAACCs/ZvqAPu1QH0I/s72-c/Eclipse+new+project.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-8120998428704861832</id><published>2011-04-19T03:16:00.000-07:00</published><updated>2011-04-19T03:16:46.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><title type='text'>Vista poor performance after installing patches</title><content type='html'>I always experience Vista performing very slowly, or not booting up properly after installing patches. Anyone else have the same issue?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bgntLuqKFcs/Ta1g1H2MKpI/AAAAAAAACCo/BIuMIP62QT4/s1600/Vista+Installing+Updates.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-bgntLuqKFcs/Ta1g1H2MKpI/AAAAAAAACCo/BIuMIP62QT4/s1600/Vista+Installing+Updates.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-8120998428704861832?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/8120998428704861832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=8120998428704861832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8120998428704861832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8120998428704861832'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/04/vista-poor-performance-after-installing.html' title='Vista poor performance after installing patches'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-bgntLuqKFcs/Ta1g1H2MKpI/AAAAAAAACCo/BIuMIP62QT4/s72-c/Vista+Installing+Updates.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-8142423438873487894</id><published>2011-03-27T15:41:00.000-07:00</published><updated>2011-03-27T15:42:00.049-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='aws'/><title type='text'>tasksel error</title><content type='html'>I just spin&amp;nbsp;up an &lt;a href="http://uec-images.ubuntu.com/releases/"&gt;EC2 Ubuntu server image&lt;/a&gt; and trying to install the LAMP stack, when I got this error:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;$ &lt;b&gt;sudo tasksel install lamp-server&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;tasksel: aptitude failed (100)&lt;/span&gt;&lt;br /&gt;Googled around and did not immediately found a solution. There was a suggestion to use:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;$&lt;b&gt; sudo dpkg -configure -a&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;which did not work for me.&lt;br /&gt;&lt;br /&gt;Tried this and worked:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;$ &lt;b&gt;sudo apt-get update&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-8142423438873487894?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/8142423438873487894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=8142423438873487894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8142423438873487894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8142423438873487894'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2011/03/tasksel-error.html' title='tasksel error'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-4423663999864354280</id><published>2010-12-06T01:31:00.000-08:00</published><updated>2010-12-06T01:31:45.569-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>IIS .NET compatibility error: Child nodes not allowed</title><content type='html'>I got this weird error message from IIS 6.0:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Parser Error Message: &lt;/b&gt;Child nodes not allowed.&lt;br /&gt;&lt;br /&gt;The web.config line causing this error is:&lt;br /&gt;&lt;br /&gt;&lt;!--providerOption name="CompilerVersion" value="v3.5"/--&gt;&lt;br /&gt;&lt;br /&gt;The error message does not exactly tell you about incompatible .NET version; in my case I will need to have .NET 3.5 installed and IIS configured. Download .NET Framework 3.5 &lt;a href="http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyId=333325fd-ae52-4e35-b531-508d977d32a6&amp;amp;displaylang=en"&gt;here&lt;/a&gt; and install it, IIS should automatically be able to refer to .NET 3.5 libraries.&lt;br /&gt;&lt;br /&gt;Note that if you right-click on a Web Site in &lt;b&gt;IIS Manager&lt;/b&gt;, select &lt;b&gt;Properties&lt;/b&gt; and go to the &lt;b&gt;ASP.NET &lt;/b&gt;tab, you may be surprised to still see reference to .NET 2.0&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_q9iZfkrxDJQ/TPypxAf3HpI/AAAAAAAACBo/sfZcw1UAYh8/s1600/IIS+dotNet+3.5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="181" src="http://3.bp.blogspot.com/_q9iZfkrxDJQ/TPypxAf3HpI/AAAAAAAACBo/sfZcw1UAYh8/s320/IIS+dotNet+3.5.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For more information of the differences between .NET Framework 2.0, 3.0 and 3.5, refer to this article&amp;nbsp;&lt;a href="http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx"&gt;http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This diagram sums it up nicely:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_q9iZfkrxDJQ/TPytd_ah5JI/AAAAAAAACBs/r9w9_6NXBQo/s1600/Differences_of_dotNET_framework.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://3.bp.blogspot.com/_q9iZfkrxDJQ/TPytd_ah5JI/AAAAAAAACBs/r9w9_6NXBQo/s320/Differences_of_dotNET_framework.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-4423663999864354280?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/4423663999864354280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=4423663999864354280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/4423663999864354280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/4423663999864354280'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/12/iis-net-compatibility-error-child-nodes.html' title='IIS .NET compatibility error: Child nodes not allowed'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_q9iZfkrxDJQ/TPypxAf3HpI/AAAAAAAACBo/sfZcw1UAYh8/s72-c/IIS+dotNet+3.5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-6691692192322743</id><published>2010-10-15T22:03:00.000-07:00</published><updated>2010-10-15T22:03:23.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linuxmint'/><category scheme='http://www.blogger.com/atom/ns#' term='apt'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>yforth - is this a joke?</title><content type='html'>Guess what I get when I search for "joke" using apt-cache?&lt;br /&gt;&lt;br /&gt;&lt;div class="line867"&gt;&lt;span class="anchor" id="line-40"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-41"&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style="background-color: #f0eee6; border-bottom-color: rgb(193, 180, 150); border-bottom-style: dashed; border-bottom-width: 1px; border-left-color: rgb(193, 180, 150); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(193, 180, 150); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(193, 180, 150); border-top-style: dashed; border-top-width: 1px; font-family: courier, monospace; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; white-space: pre-wrap; word-wrap: break-word;"&gt;hanxue@linuxmint ~ $ &lt;b&gt;apt-cache search joke&lt;/b&gt;&lt;br /&gt;yforth - A small freeware Forth environment in ANSI C&lt;/pre&gt;&lt;span class="anchor" id="line-42"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-43"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="line862"&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/32920558-6691692192322743?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/6691692192322743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=6691692192322743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6691692192322743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6691692192322743'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/10/yforth-is-this-joke.html' title='yforth - is this a joke?'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-3060009583531648592</id><published>2010-10-14T09:54:00.000-07:00</published><updated>2010-10-14T09:54:20.345-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='aws'/><title type='text'>bash script to query AWS EC2 meta-data</title><content type='html'>Do you know that you can actually query EC2 meta-data by making http request to &lt;i&gt;http://169.254.169.254/latest/user-data&lt;/i&gt; . For more information, please see&amp;nbsp;&lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1825"&gt;http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1825&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Get the script from: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="line867"&gt;&lt;span class="anchor" id="line-40"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-41"&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style="background-color: #f0eee6; border-bottom-color: rgb(193, 180, 150); border-bottom-style: dashed; border-bottom-width: 1px; border-left-color: rgb(193, 180, 150); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(193, 180, 150); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(193, 180, 150); border-top-style: dashed; border-top-width: 1px; font-family: courier, monospace; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; white-space: pre-wrap; word-wrap: break-word;"&gt;http://s3.amazonaws.com/ec2metadata/ec2-metadata&lt;/pre&gt;&lt;span class="anchor" id="line-42"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-43"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="line862"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Add it to your PATH and make it executable. Then you can run it:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', 'Lucida Grande', Helvetica, Arial, Verdana, sans-serif; font-size: 14px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style="background-color: #f0eee6; border-bottom-color: rgb(193, 180, 150); border-bottom-style: dashed; border-bottom-width: 1px; border-left-color: rgb(193, 180, 150); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(193, 180, 150); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(193, 180, 150); border-top-style: dashed; border-top-width: 1px; font-family: courier, monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; white-space: pre-wrap; word-wrap: break-word;"&gt;$ &lt;b&gt;ec2-metadata&lt;/b&gt;&lt;br /&gt;ami-id: ami-381e606a&lt;br /&gt;ami-launch-index: 0&lt;br /&gt;ami-manifest-path: (unknown)&lt;br /&gt;ancestor-ami-ids: not available&lt;br /&gt;block-device-mapping:&lt;br /&gt;ami: /dev/sda1&lt;br /&gt;ephemeral0: /dev/sda2&lt;br /&gt;ephemeral1: /dev/sda3&lt;br /&gt;root: /dev/sda1&lt;br /&gt;instance-id: i-28fcf97a&lt;br /&gt;instance-type: t1.micro&lt;br /&gt;local-hostname: ip-x-x-x-x.ap-southeast-1.compute.internal&lt;br /&gt;local-ipv4: x.x.x.x&lt;br /&gt;kernel-id: aki-bdf38cef&lt;br /&gt;placement: ap-southeast-1a&lt;br /&gt;product-codes: not available&lt;/pre&gt;&lt;span class="anchor" id="line-42"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-43"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="line862" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&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/32920558-3060009583531648592?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/3060009583531648592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=3060009583531648592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3060009583531648592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3060009583531648592'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/10/bash-script-to-query-aws-ec2-meta-data.html' title='bash script to query AWS EC2 meta-data'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-5171271596344598930</id><published>2010-10-14T09:22:00.000-07:00</published><updated>2010-10-14T09:22:38.377-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gpg'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='apt'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ignore GPG Key authentication when installing from Debian repository</title><content type='html'>I am trying to install x2go on an Amazon AWS EC2 instance, but for some reason I fail to import the gpg keys using the command:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Lucida, Helvetica, Arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="code" style="background-color: #f7f9fa; border-bottom-color: rgb(140, 172, 187); border-bottom-style: dashed; border-bottom-width: 1px; border-left-color: rgb(140, 172, 187); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(140, 172, 187); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(140, 172, 187); border-top-style: dashed; border-top-width: 1px; color: black; font-size: 12px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: auto; overflow-y: auto; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;gpg --keyserver wwwkeys.eu.pgp.net --recv-keys C509840B96F89133&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Since this is a once-off usage of the Debian repository, and there is no valuable data being risked, I opted to ignore GPG key authentication. To tell APT to ignore GPG, edit the file&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: tahoma, verdana, arial, sans-serif; font-size: 12px;"&gt;/etc/apt/apt.conf.d/01ubuntu&amp;nbsp;&lt;/span&gt;to this:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Lucida, Helvetica, Arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre class="code" style="background-color: #f7f9fa; border-bottom-color: rgb(140, 172, 187); border-bottom-style: dashed; border-bottom-width: 1px; border-left-color: rgb(140, 172, 187); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(140, 172, 187); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(140, 172, 187); border-top-style: dashed; border-top-width: 1px; color: black; font-size: 12px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: auto; overflow-y: auto; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;APT&lt;br /&gt;&lt;b&gt;{Ignore {"gpg-pubkey"; }&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You will be warned that some of the Debian packages cannot be authenticated. Answer &lt;b&gt;y&lt;/b&gt; to proceed:&lt;br /&gt;&lt;br /&gt;&lt;pre class="code" style="background-color: #f7f9fa; border-bottom-color: rgb(140, 172, 187); border-bottom-style: dashed; border-bottom-width: 1px; border-left-color: rgb(140, 172, 187); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(140, 172, 187); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(140, 172, 187); border-top-style: dashed; border-top-width: 1px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: auto; overflow-y: auto; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;WARNING: The following packages cannot be authenticated!&lt;br /&gt;  nxproxy pinentry-x2go x2goclient&lt;br /&gt;Install these packages without verification [y/N]? &lt;b&gt;y&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-5171271596344598930?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/5171271596344598930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=5171271596344598930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5171271596344598930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5171271596344598930'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/10/ignore-gpg-key-authentication-when.html' title='Ignore GPG Key authentication when installing from Debian repository'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-6890137540834392863</id><published>2010-08-26T13:56:00.000-07:00</published><updated>2010-08-26T13:56:00.606-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>Apache and Tomcat</title><content type='html'>I believe it is quite common to configure Tomcat and Apache to run on the same server. There are various reasons to do so, mainly for performance reasons, because Apache is much more efficient at serving static content, compared to Tomcat.&lt;br /&gt;&lt;br /&gt;My reason is because I have a PHP application running on Apache, and I wanted to run another J2EE application. For some reason, I fail to open up the 8080 port to the public - its an Amazon AWS EC2 instance and I don'd intend to write more on AWS Security Groups at this point. To cut to the chase, I want to redirect request using a specific path, such as http://domain.com/j2ee to localhost:8080 where Tomcat is running.&lt;br /&gt;&lt;br /&gt;There are 2 methods, the simpler being using &lt;b&gt;mod_proxy&lt;/b&gt;&amp;nbsp;in Apache.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;u&gt;mod_proxy&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Enable mod_proxy. You don't have to install anything as mod_proxy is installed by default in Ubuntu/Debian&lt;br /&gt;# a2enmod proxy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Edit Apache configuration at&amp;nbsp;/etc/apache2/apache2.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ProxyPass &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /alfresco &amp;nbsp; &amp;nbsp; &amp;nbsp; http://localhost:8080/&lt;br /&gt;ProxyPassReverse &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/alfresco &amp;nbsp; &amp;nbsp; &amp;nbsp; http://localhost:8080/&lt;br /&gt;&lt;br /&gt;3. Restart Apache&lt;br /&gt;&lt;br /&gt;# service apache2 restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;u&gt;AJP and mod_jk&amp;nbsp;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Install mod_jk for Apache&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# apt-get install libapache2-mod-jk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This package contains a sample Apache2 configuration located at&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;/usr/share/doc/libapache2-mod-jk/httpd_example_apache2.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There is already a sample worker.properties file at&amp;nbsp;/etc/libapache2-mod-jk/workers.properties&lt;br /&gt;&lt;br /&gt;2. Assuming you want to accept the default option, you can just append the contents of&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;httpd_example_apache2.conf&lt;/span&gt; into the existing &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;apache2.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# cat&amp;nbsp;/usr/share/doc/libapache2-mod-jk/httpd_example_apache2.conf &amp;gt;&amp;gt; /etc/apache2/apache2.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. You need to reload the new Apache2 configuration&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# service apache2 reload&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. List all the modules loaded by Apache, and make sure mod_jk is loaded too&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# apache2 -t -D DUMP_MODULES&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You should see this line&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;jk_module (shared)&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;In case you get this error:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 12px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;apache2: bad user name ${APACHE_RUN_USER}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 12px; white-space: pre;"&gt;&lt;/span&gt;you may need to edit /etc/apache2/apache2.conf and change them from&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;User ${APACHE_RUN_USER}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Group ${APACHE_RUN_GROUP}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to the static values:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;User www-data&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Group www-data&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Let's take a look at the worker.properties file. You need to ensure the workers.tomcat_home variable is set correctly. By default it is&amp;nbsp;workers.tomcat_home=/usr/share/tomcat5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-6890137540834392863?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/6890137540834392863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=6890137540834392863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6890137540834392863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6890137540834392863'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/08/apache-and-tomcat.html' title='Apache and Tomcat'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-8261057379655008343</id><published>2010-08-26T12:21:00.000-07:00</published><updated>2010-08-26T12:21:14.551-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Find out which process is using the most CPU</title><content type='html'>I had Linux running on a small EC2 &lt;a href="http://aws.amazon.com/"&gt;Amazon AWS&lt;/a&gt; instance, and out of nowhere the system load is averaging at 1.0&lt;br /&gt;&lt;br /&gt;Surprisingly top only shows system processes, nothing that indicate the load is out of normal&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;PID USER &amp;nbsp; &amp;nbsp; &amp;nbsp;PR &amp;nbsp;NI &amp;nbsp;VIRT &amp;nbsp;RES &amp;nbsp;SHR S %CPU %MEM &amp;nbsp; &amp;nbsp;TIME+ &amp;nbsp;COMMAND&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;1 root &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; 0 &amp;nbsp;2808 1536 1204 S &amp;nbsp;0.0 &amp;nbsp;0.1 &amp;nbsp; 0:00.13 init&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;2 root &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0 S &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 0:00.00 kthreadd&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;3 root &amp;nbsp; &amp;nbsp; &amp;nbsp;RT &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0 S &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 0:00.00 migration/0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;4 root &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0 S &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 0:00.00 ksoftirqd/0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;5 root &amp;nbsp; &amp;nbsp; &amp;nbsp;RT &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0 S &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 0:00.00 watchdog/0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;6 root &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0 S &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 0:00.01 events/0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;7 root &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;0 S &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 0:00.00 cpuset&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I guess I was used to the older version of top where the 'C' keystroke will automatically sort by highest CPU usage.&lt;br /&gt;&lt;br /&gt;Turns out the default sorts by %CPU usage, which may not accurately show you the process that sucks up most of the current CPU time. Press 'K' to select column to sort, then 'L' to sort by CPU time&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Current Sort Field: &amp;nbsp;L &amp;nbsp;for window 1:Def&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Select sort field via field letter, type any other key to return&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;a: PID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= Process Id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v: nDRT &amp;nbsp; &amp;nbsp; &amp;nbsp; = Dirty Pages count&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;b: PPID &amp;nbsp; &amp;nbsp; &amp;nbsp; = Parent Process Pid &amp;nbsp; &amp;nbsp; &amp;nbsp;w: S &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= Process Status&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;c: RUSER &amp;nbsp; &amp;nbsp; &amp;nbsp;= Real user name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x: COMMAND &amp;nbsp; &amp;nbsp;= Command name/line&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;d: UID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= User Id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y: WCHAN &amp;nbsp; &amp;nbsp; &amp;nbsp;= Sleeping in Function&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;e: USER &amp;nbsp; &amp;nbsp; &amp;nbsp; = User Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; z: Flags &amp;nbsp; &amp;nbsp; &amp;nbsp;= Task Flags &lt;sched.h&gt;&lt;/sched.h&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;f: GROUP &amp;nbsp; &amp;nbsp; &amp;nbsp;= Group Name&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;g: TTY &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= Controlling Tty &amp;nbsp; &amp;nbsp; &amp;nbsp; Note1:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;h: PR &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = Priority &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If a selected sort field can't be&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;i: NI &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = Nice value &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;shown due to screen width or your&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;j: P &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= Last used cpu (SMP) &amp;nbsp; &amp;nbsp; field order, the '&amp;lt;' and '&amp;gt;' keys&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;k: %CPU &amp;nbsp; &amp;nbsp; &amp;nbsp; = CPU usage &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; will be unavailable until a field&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;* L: TIME &amp;nbsp; &amp;nbsp; &amp;nbsp; = CPU Time &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;within viewable range is chosen.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahh... now it shows the culprit is a Java application:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;PID USER &amp;nbsp; &amp;nbsp; &amp;nbsp;PR &amp;nbsp;NI &amp;nbsp;VIRT &amp;nbsp;RES &amp;nbsp;SHR S %CPU %MEM &amp;nbsp; &amp;nbsp;TIME+ &amp;nbsp; &amp;nbsp;TIME COMMAND&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;16882 root &amp;nbsp; &amp;nbsp; &amp;nbsp;20 &amp;nbsp; 0 1419m 344m 9740 S &amp;nbsp;0.0 20.3 &amp;nbsp; 0:31.90 &amp;nbsp; 0:31 /usr/bin/jav&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;8646 www-data &amp;nbsp;20 &amp;nbsp; 0 52800 &amp;nbsp;25m 4184 S &amp;nbsp;0.0 &amp;nbsp;1.5 &amp;nbsp; 0:28.28 &amp;nbsp; 0:28 /usr/sbin/ap&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;12433 www-data &amp;nbsp;20 &amp;nbsp; 0 55880 &amp;nbsp;28m 4324 S &amp;nbsp;0.0 &amp;nbsp;1.7 &amp;nbsp; 0:22.95 &amp;nbsp; 0:22 /usr/sbin/ap&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;6455 mysql &amp;nbsp; &amp;nbsp; 20 &amp;nbsp; 0 &amp;nbsp;149m &amp;nbsp;36m 6796 S &amp;nbsp;0.0 &amp;nbsp;2.1 &amp;nbsp; 0:12.75 &amp;nbsp; 0:12 /usr/sbin/my&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;13535 www-data &amp;nbsp;20 &amp;nbsp; 0 48816 &amp;nbsp;20m 3840 S &amp;nbsp;0.0 &amp;nbsp;1.2 &amp;nbsp; 0:03.22 &amp;nbsp; 0:03 /usr/sbin/ap&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyway, a bit of googling shows that this command will display the 10 highest CPU grossing processes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# &lt;b&gt;ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;%CPU &amp;nbsp; PID USER &amp;nbsp; &amp;nbsp; COMMAND&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.2 16882 root &amp;nbsp; &amp;nbsp; /usr/bin/java -Djava.util.logging.config.file=/opt/alfresco/tomcat/conf/logging.properties -Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=256m -server -Dalfresco.home=. -Dcom.sun.management.jmxremote -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/alfresco/tomcat/endorsed -classpath /opt/alfresco/tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/alfresco/tomcat -Dcatalina.home=/opt/alfresco/tomcat -Djava.io.tmpdir=/opt/alfresco/tomcat/temp org.apache.catalina.startup.Bootstrap start&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp; &amp;nbsp; 9 root &amp;nbsp; &amp;nbsp; [netns]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp; &amp;nbsp; 8 root &amp;nbsp; &amp;nbsp; [khelper]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp;8646 www-data /usr/sbin/apache2 -k start&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp; &amp;nbsp; 7 root &amp;nbsp; &amp;nbsp; [cpuset]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp;7904 root &amp;nbsp; &amp;nbsp; /bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp; 758 root &amp;nbsp; &amp;nbsp; /bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp; 757 root &amp;nbsp; &amp;nbsp; SCREEN&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;0.0 &amp;nbsp;7375 root &amp;nbsp; &amp;nbsp; /usr/sbin/apache2 -k start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Further explanation of the ps flags:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Flag&lt;br /&gt;&lt;table border="2" cellpadding="4"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Flag&lt;/th&gt;&lt;th&gt;Purpose&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;e&lt;/td&gt; &lt;td&gt;All processes in the system&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;o&lt;/td&gt; &lt;td&gt;formatting - show the following fields :&amp;nbsp;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;pcpu,pid,user,args&lt;/b&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;The sort command will move processes with highest CPU time (pcpu, column 1) to the top. Head obviously shows the top 10 results.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Further information on troubleshooting performance:&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html"&gt;http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cyberciti.biz/faq/linux-performance-tools-to-troubleshoot-problem/"&gt;http://www.cyberciti.biz/faq/linux-performance-tools-to-troubleshoot-problem/&lt;/a&gt;&lt;/div&gt;&lt;div&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/32920558-8261057379655008343?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/8261057379655008343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=8261057379655008343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8261057379655008343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8261057379655008343'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/08/find-out-which-process-is-using-most.html' title='Find out which process is using the most CPU'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-4882814216764547211</id><published>2010-08-18T07:49:00.000-07:00</published><updated>2010-08-18T10:34:49.520-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WIndows server'/><category scheme='http://www.blogger.com/atom/ns#' term='citrix'/><title type='text'>How to terminate processes from command line in Windows 2008</title><content type='html'>&amp;nbsp;I am connected to a Citrix session, and wanted to terminate a process that I have started up. This means that:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I do not have administrator rights to the server&lt;/li&gt;&lt;li&gt;I do not even have full desktop access, only via a Citrix-streamed application&lt;/li&gt;&lt;/ul&gt;So the usual method of launching the Task Manager, then use End Process, does not work.&lt;br /&gt;&lt;br /&gt;In Windows 2008, there are a number of useful commands, including 2 that can list out all processes and to terminate them.&lt;br /&gt;&lt;br /&gt;To list out all running tasks:&lt;br /&gt;&lt;pre name="code" class="html"&gt;C:\&amp;gt; tasklist&lt;br /&gt;&lt;br /&gt;Image Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PID Session Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session#&amp;nbsp;&amp;nbsp;&amp;nbsp; Mem Usage&lt;br /&gt;========================= ======== ================ =========== ============&lt;br /&gt;System Idle Process&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28 K&lt;br /&gt;System&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 244 K&lt;br /&gt;smss.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 548&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 516 K&lt;br /&gt;csrss.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 596&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4,824 K&lt;br /&gt;winlogon.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 624&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24,932 K&lt;br /&gt;services.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 672&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10,600 K&lt;br /&gt;lsass.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 684&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 35,812 K&lt;br /&gt;svchost.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 888&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4,964 K&lt;br /&gt;svchost.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 972&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6,368 K&lt;br /&gt;svchost.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1044&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6,432 K&lt;br /&gt;svchost.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1096&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8,304 K&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;To terminate them, use &lt;b&gt;taskkill&lt;/b&gt; . There are a few ways to do it, run taskkill /? for the available options. In UNIX/Linux, you need to know the process ID (PID) to terminate the process. Using taskkill, you can even specify the process/image name:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;c:\&amp;gt;taskkill /IM taskmgr.exe&lt;br /&gt;SUCCESS: Sent termination signal to the process "taskmgr.exe" with PID 19524.&lt;br /&gt;SUCCESS: Sent termination signal to the process "taskmgr.exe" with PID 20452.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Of course, using PID is possible:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;C:\&amp;gt;taskkill /PID 19254&lt;br /&gt;&lt;/pre&gt;To force terminate a process, use the /F flag. I.e.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;C&amp;gt;\&amp;gt;taskkill /F /PID 19254&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-4882814216764547211?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/4882814216764547211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=4882814216764547211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/4882814216764547211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/4882814216764547211'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/08/how-to-terminate-processes-from-command.html' title='How to terminate processes from command line in Windows 2008'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-7279692594929965069</id><published>2010-08-17T04:58:00.000-07:00</published><updated>2010-08-17T05:13:18.922-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='putty'/><title type='text'>Manually start Language Bar in Windows Safe Mode; Putty behind firewall</title><content type='html'>I have been facing frequent crashes in Windows Vista in the past 2 weeks, so decided to start up Windows in safe mode and to do some maintenance - the usual file deletions, uninstall of unneeded applications, disk defragmentation, compression of Outlook PST. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;File deletions&lt;/b&gt; - Windows Disk Cleanup is sufficient for most purposes. Chances are most of the disk space is taken up by files that you have downloaded/created. For manual clean up:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;delete any unsued files&lt;/li&gt;&lt;li&gt;empty Recycle Bin&lt;/li&gt;&lt;li&gt;Remove older System Restore versions - %systemroot%\system32\rstrui.exe&lt;/li&gt;&lt;li&gt;Delete files from the Windows temporary folder in %windir%\temp , as well as your own %temp% folder. Usually it is located in C:\Users\&lt;username&gt;\AppData\Local\Temp&lt;/username&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Uninstall applications&lt;/b&gt; - run "appwiz.cpl" and uninstall anything that you no longer require &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Disk Defragmentation&lt;/b&gt; - You know you need to run this frequently on any Windows systems. The basic disk defragmenter that ships with Windows does its basic function well. In fact, it is scheduled to run in the background, without any GUI.&lt;br /&gt;&lt;br /&gt;A better option is &lt;a href="http://www.auslogics.com/en/software/disk-defrag/download/"&gt;Auslogic's Disk Defragmenter&lt;/a&gt;. It runs a few times faster than Windows disk defragmenter, and seems to be doing its job more effectively too. Remember to close any application and terminate unneeded services to have maximum effect. Alternatively, run Disk Defragmenter in Safe Mode.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Compress Outlook Data Files&lt;/b&gt; - The main outlook email "folder" is stored C:\Users\&lt;user&gt;\AppData\Local\Microsoft\Outlook\outlook.ost . If you create additional data files, then you know the location of the files with .pst extension.&amp;nbsp;&lt;/user&gt;&lt;br /&gt;&lt;br /&gt;Ideally these files should be less than 2 GB in size. As emails are moved/deleted, the deleted items still take up actual storage space. By compacting, the unneeded space is recovered. The detailed steps for compacting Outlook data files is in this Microsoft Knowledge base article -&lt;a href="http://support.microsoft.com/kb/289987"&gt;http://support.microsoft.com/kb/289987&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Summary of how I do it on Microsoft Outlook 2007 in Windows Vista SP1:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4 id="tocHeadRef"&gt;Compacting Inbox / outlook.ost&lt;/h4&gt;&lt;script type="text/javascript"&gt;            loadTOCNode(3, 'moreinformation');        &lt;/script&gt;&lt;ol&gt;&lt;li&gt;Delete any items that you do not want to keep, and then empty the &lt;strong class="uiterm"&gt;Deleted Items&lt;/strong&gt; folder.&lt;/li&gt;&lt;li&gt;On the &lt;strong class="uiterm"&gt;Tools&lt;/strong&gt; menu, click &lt;strong class="uiterm"&gt;Account Settings&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;In the list, select &lt;strong class="uiterm"&gt;Microsoft Exchange Server&lt;/strong&gt;, and then click &lt;strong class="uiterm"&gt;Change&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong class="uiterm"&gt;More Settings&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;On the &lt;strong class="uiterm"&gt;Advanced&lt;/strong&gt; tab, click &lt;strong class="uiterm"&gt;Offline Folder File Settings&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong class="uiterm"&gt;Compact Now&lt;/strong&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;h3 id="tocHeadRef"&gt;&lt;span style="font-size: small;"&gt;Compacting PST&lt;/span&gt;&lt;/h3&gt;&lt;script type="text/javascript"&gt;                loadTOCNode(2, 'moreinformation');            &lt;/script&gt;&lt;ol&gt;&lt;li&gt;On the &lt;b&gt;File&lt;/b&gt; menu, click &lt;b&gt;Data File Management&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;Click to select your &lt;b&gt;Personal Folder&lt;/b&gt;, and then click &lt;b&gt;Settings&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;On the &lt;b&gt;General&lt;/b&gt; tab, click &lt;b&gt;Compact Now&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;, and then click &lt;b&gt;Close&lt;/b&gt;. &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Back to the problem I am facing. In Windows Vista's safe mode, I cannot get these to be working:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Office Communicator 2007 cannot run because it fails to subscribe to Windows Event Notification Service&lt;/li&gt;&lt;li&gt;Firewall agent not working - therefore not possible to ssh to external machines using putty.exe&lt;/li&gt;&lt;li&gt;Accidentally activated Asian Language. In Control Panel, a lot of options including Regional Option is not available&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So what are the solutions?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Manuallly starting Language Bar&lt;/b&gt; - Just go to Start -&amp;gt; Run and type in "cftmon"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SSH to external host&lt;/b&gt; -set up Putty to use my company's proxy server:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_q9iZfkrxDJQ/TGp5HqQDvcI/AAAAAAAACBY/HCxzZXk_4Wg/s1600/putty_proxy.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="382" src="http://2.bp.blogspot.com/_q9iZfkrxDJQ/TGp5HqQDvcI/AAAAAAAACBY/HCxzZXk_4Wg/s400/putty_proxy.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-7279692594929965069?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/7279692594929965069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=7279692594929965069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7279692594929965069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7279692594929965069'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/08/manually-start-language-bar-in-windows.html' title='Manually start Language Bar in Windows Safe Mode; Putty behind firewall'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q9iZfkrxDJQ/TGp5HqQDvcI/AAAAAAAACBY/HCxzZXk_4Wg/s72-c/putty_proxy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-5507007411857997577</id><published>2010-04-11T21:16:00.000-07:00</published><updated>2010-04-11T21:16:15.190-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><title type='text'>SQL Server Myths</title><content type='html'>See them all at http://www.sqlskills.com/BLOGS/PAUL/&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28930%29-data-file-shrink-does-not-affect-performance.aspx"&gt;Data file shrink will decrease performance&lt;/a&gt; by causing &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/Why-you-should-not-shrink-your-data-files.aspx"&gt;index fragmentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28530%29-AWE-must-be-enabled-on-64-bit-servers.aspx"&gt;Enabling AWE in 64-bit does nothing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;You can only have a &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28730%29-multiple-mirrors-and-log-shipping-load-delays.aspx"&gt;single mirror&lt;/a&gt;, but multiple log shipping is possible. Info on &lt;a href="http://sqlcat.com/technicalnotes/archive/2010/02/10/mirroring-a-large-number-of-databases-in-a-single-sql-server-instance.aspx"&gt;threads for mirroring&lt;/a&gt;. Microsoft KB - &lt;a href="http://support.microsoft.com/kb/2001270"&gt;things to consider when setting up mirroring&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28430%29-DDL-triggers-are-INSTEAD-OF-triggers.aspx"&gt;DLL triggers are NOT implemented as INSTEAD OF&lt;/a&gt; triggers&lt;/li&gt;&lt;li&gt;Database &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%281030%29-database-mirroring-detects-failures-immediately.aspx"&gt;mirroring does not detect failure immediate&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Principal SQL Server instance dies - 1 second&lt;/li&gt;&lt;li&gt;OS of principal SQL server dies - 10 seconds&lt;/li&gt;&lt;li&gt;Log drive unavailable - 20 seconds&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28830%29-online-index-operations-do-not-acquire-locks.aspx"&gt;Online index operations&lt;/a&gt; &lt;b&gt;does &lt;/b&gt;acquire lock&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28630%29-three-null-bitmap-myths.aspx"&gt;The null bitmap&lt;/a&gt; is always present, contains bits for all columns, adding a column does not result in immediate size-of operation&lt;/li&gt;&lt;li&gt;You cannot enable instant file initialization within SQL Server, but can temporarily disable it by turning on&amp;nbsp; trace flag 1806. More &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/http://sqlskills.com/BLOGS/KIMBERLY/post/Instant-Initialization-What-Why-and-How.aspx"&gt;details here&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28230%29-DBCC-CHECKDB-causes-blocking.aspx"&gt;DBCC CheckDB is lock-free&lt;/a&gt;&lt;/li&gt;&lt;li&gt;After failover, any &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28130%29-in-flight-transactions-continue-after-a-failover.aspx"&gt;in-flight transaction will NOT be recovered&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-5507007411857997577?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/5507007411857997577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=5507007411857997577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5507007411857997577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5507007411857997577'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/04/sql-server-myths.html' title='SQL Server Myths'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-3053717037326835910</id><published>2010-04-11T20:13:00.000-07:00</published><updated>2010-04-11T20:13:56.300-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><title type='text'>Querying SQL Server backup results</title><content type='html'>Here is a simple query to list out the physical device name of your database backup&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; physical_device_name,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; backup_start_date,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; backup_finish_date,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; backup_size/1024.0 AS BackupSizeKB&lt;br /&gt;&amp;nbsp;&amp;nbsp; FROM msdb.dbo.backupset b&lt;br /&gt;&amp;nbsp;&amp;nbsp; JOIN msdb.dbo.backupmediafamily m ON b.media_set_id = m.media_set_id&lt;br /&gt;&amp;nbsp;&amp;nbsp; WHERE database_name = 'CF_WIP'&lt;br /&gt;&amp;nbsp;&amp;nbsp; ORDER BY backup_finish_date DESC&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;You can also list out the most recent database backup, sorted by backup completion date/time&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;WITH&amp;nbsp; LastBackupTaken AS (&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;SELECT database_name,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;backup_finish_date,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;RowNumber = ROW_NUMBER() OVER (PARTITION BY database_name&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORDER BY backup_finish_date DESC)&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;FROM msdb.dbo.backupset&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SELECT database_name,backup_finish_date&lt;br /&gt;FROM LastBackupTaken&lt;br /&gt;WHERE RowNumber = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Further explanation at &lt;a href="http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/MSSQLServerAdmin/getting-the-physical-device-name-and-bac"&gt;http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/MSSQLServerAdmin/getting-the-physical-device-name-and-bac&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-3053717037326835910?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/3053717037326835910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=3053717037326835910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3053717037326835910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3053717037326835910'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/04/querying-sql-server-backup-results.html' title='Querying SQL Server backup results'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-9045197950235469546</id><published>2010-03-22T17:19:00.000-07:00</published><updated>2010-03-22T17:19:53.140-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='terminal_services'/><title type='text'>Reset Terminal Service Client license</title><content type='html'>Have you ever had trouble connecting to a remote server via Microsoft Terminal Services Client? Where only a specific server refuse to connect you, but other servers work fine?&lt;br /&gt;&lt;br /&gt;It may be due to expiry of client-side terminal services license. &lt;br /&gt;&lt;br /&gt;To reset it:&lt;br /&gt;&lt;br /&gt;1. Open up the Registry Editor (Start -&amp;gt; Run -&amp;gt; "regedit.exe")&lt;br /&gt;2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSLicensing\HardwareID . Backup the key in case anything goes wrong&lt;br /&gt;3. Delete the Binary value &lt;strong&gt;ClientHWID&lt;/strong&gt;&lt;br /&gt;4. Start up Terminal Services client again. Your license should be refreshed from the server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-9045197950235469546?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/9045197950235469546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=9045197950235469546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/9045197950235469546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/9045197950235469546'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/03/reset-terminal-service-client-license.html' title='Reset Terminal Service Client license'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-7650559870702630726</id><published>2010-02-25T00:07:00.000-08:00</published><updated>2010-02-25T00:07:18.128-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='WIndows server'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='zip'/><title type='text'>How to open .jar files as an archive folder?</title><content type='html'>Since Windows XP and Windows Server 2003, it is possible to open .zip file as a folder, without relying external applications such as Winzip. However, Java-related archives such as .jar, .ear and .war does not open by default.&lt;br /&gt;&lt;br /&gt;Simple trick to get Windows to recognize it as a compressed folder:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="pln"&gt;assoc &lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;jar&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="typ"&gt;CompressedFolder&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="typ"&gt;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;If that somehow does not work, it is worth trying a more esoteric solution:&lt;br /&gt;&lt;br /&gt;1. Open Registry Editor and export the HKEY_CLASSES_ROOT\.zip key&lt;br /&gt;2. Edit the .reg file and change all references of .zip to .jar&lt;br /&gt;3. Import it to HKEY_CLASSES_ROOT\.jar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Good luck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-7650559870702630726?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/7650559870702630726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=7650559870702630726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7650559870702630726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7650559870702630726'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/02/how-to-open-jar-files-as-archive-folder.html' title='How to open .jar files as an archive folder?'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-1531327978879430970</id><published>2010-02-04T11:35:00.000-08:00</published><updated>2010-02-04T11:35:30.223-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='recommendation'/><title type='text'>Email Stubbing</title><content type='html'>&lt;b&gt;What it is&lt;/b&gt;: moving attachment or whole message body from mail store to an archive&lt;br /&gt;Advantages:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Reduce mailbox size&lt;/li&gt;&lt;li&gt;Ability to store much more emails in user's mailbox&lt;/li&gt;&lt;li&gt;Message retention policy&lt;/li&gt;&lt;/ul&gt;Disadvantages:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Search problems (slow, incomplete)&lt;/li&gt;&lt;li&gt;Performance&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Bottom line&lt;/b&gt;: If you are using Microsoft Exchange / Outlook, don't enable email stubbing&lt;br /&gt;&lt;br /&gt;Further information:&lt;br /&gt;&lt;a href="http://www.ferris.com/?p=320762"&gt;http://www.ferris.com/?p=320762&lt;/a&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc671168%28EXCHG.80%29.aspx"&gt;http://technet.microsoft.com/en-us/library/cc671168%28EXCHG.80%29.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-1531327978879430970?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/1531327978879430970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=1531327978879430970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1531327978879430970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1531327978879430970'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/02/email-stubbing.html' title='Email Stubbing'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-5996267451148497314</id><published>2010-02-04T08:47:00.000-08:00</published><updated>2010-02-04T08:47:39.296-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='kerberos'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Firefox and Windows NTLM/Kerberos authentication</title><content type='html'>My company is a primarily Microsoft/Windows-based shop, though I used to do UNIX/Linux support. There are plenty of reasons I prefer using Firefox over Internet Explorer, but unfortunately I still use IE when it comes to intranet websites due to Single Sign On (SSO) requirements.&lt;br /&gt;&lt;br /&gt;Finally figure out how to make Firefox work with intranet website using NTLM/Kerberos authentication. Just need to turn these options on in Firefox:&lt;br /&gt;&lt;br /&gt;network. ntlm. send-lm-response = true&lt;br /&gt;network. negotiate-auth. using-native-gsslib = true&lt;br /&gt;network. negotiate-auth. trusted-uris = https://, http://&lt;br /&gt;network. negotiate-auth. delegation-uris = https://, http://&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;"&gt;Oh, did I mention that you need to go to the Address Bar in Firefox and type in "&lt;b&gt;about:config&lt;/b&gt;" first?&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-5996267451148497314?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/5996267451148497314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=5996267451148497314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5996267451148497314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5996267451148497314'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2010/02/firefox-and-windows-ntlmkerberos.html' title='Firefox and Windows NTLM/Kerberos authentication'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-9171728924243538702</id><published>2009-11-11T11:58:00.001-08:00</published><updated>2009-11-11T12:33:50.076-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='registry'/><title type='text'>Internet Explorer Proxy Settings - Part 2</title><content type='html'>I have recently faced problems accessing an intranet website when connected through &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;VPN&lt;/span&gt;. The website at http://citrix.company.com will attempt to perform &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Kerberos&lt;/span&gt; authentication at the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;fowarded&lt;/span&gt; URL http://citrix.company.com/XenApp/auth/login.aspx&lt;br /&gt;&lt;br /&gt;On further investigation, the URL works perfectly fine when accessed on a machine directly in the company LAN. These are the steps you can take to resolve the problem&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;font-size:130%;" &gt;Inte&lt;/span&gt;&lt;span style="text-decoration: underline;font-size:130%;" &gt;rnet Explorer Proxy Settings&lt;/span&gt;&lt;br /&gt;Ensure the correct proxy settings is set up. If you are connected through ISA server with PAC, then use "Automatically detect settings". Otherwise fill in the correct proxy values for the VPN connection&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q9iZfkrxDJQ/Svsa5bpbfZI/AAAAAAAAB-4/7SlS8TSKC4Y/s1600-h/IE_Proxy_003.gif"&gt;&lt;img style="cursor: pointer; width: 346px; height: 400px;" src="http://2.bp.blogspot.com/_q9iZfkrxDJQ/Svsa5bpbfZI/AAAAAAAAB-4/7SlS8TSKC4Y/s400/IE_Proxy_003.gif" alt="" id="BLOGGER_PHOTO_ID_5402941751937432978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;font-size:130%;" &gt;Inte&lt;/span&gt;&lt;span style="text-decoration: underline;font-size:130%;" &gt;rnet Explorer Proxy Settings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the proxy settings still does not help, it may be due to  Trust Settings in Internet Explorer.&lt;br /&gt;&lt;br /&gt;1. Go to Tools -&gt; Internet Options -&gt; Security&lt;br /&gt;2. Click on "Local Intranet" and disable protected mode&lt;br /&gt;3. Click on Sites -&gt; Advanced then add in a wildcard entry for the site to override or pass through proxy server&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SvsdXvvv0LI/AAAAAAAAB_A/1DcPGdKpaNQ/s1600-h/IE_Proxy_005.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 394px; height: 346px;" src="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SvsdXvvv0LI/AAAAAAAAB_A/1DcPGdKpaNQ/s400/IE_Proxy_005.gif" alt="" id="BLOGGER_PHOTO_ID_5402944471751970994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;font-size:130%;" &gt;Registry Settings&lt;/span&gt;&lt;span style="text-decoration: underline;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If you cannot edit the security settings, you can try tweaking the Registry settings.&lt;br /&gt;&lt;br /&gt;1. Start up Registry Editor and go to HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings&lt;br /&gt;&lt;br /&gt;2. Change the values of "Security_options_edit" and "Security_zones_map_edit" to "0" to allow security options to be edited&lt;br /&gt;&lt;br /&gt;3. Go to HKLM\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_RESTRICT_ABOUT_PROTOCOL&lt;br /&gt;&lt;br /&gt;Change the value to 0.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Additional links&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/299838"&gt;http://support.microsoft.com/kb/299838&lt;/a&gt; -Unable to negotiate Kerberos authentication after upgrading to Internet Explorer 6&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/820780"&gt;http://support.microsoft.com/kb/820780&lt;/a&gt; - IE always prompt for authentication when browsing to web site already logged on to&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb250462%28VS.85%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb250462%28VS.85%29.aspx&lt;/a&gt; - Understsanding and working in Protected Mode in Internet Explorer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-9171728924243538702?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/9171728924243538702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=9171728924243538702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/9171728924243538702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/9171728924243538702'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/11/internet-explorer-proxy-settings-part-2.html' title='Internet Explorer Proxy Settings - Part 2'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q9iZfkrxDJQ/Svsa5bpbfZI/AAAAAAAAB-4/7SlS8TSKC4Y/s72-c/IE_Proxy_003.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-2988084571374001280</id><published>2009-11-11T11:19:00.000-08:00</published><updated>2009-11-11T11:57:46.524-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='wsh'/><category scheme='http://www.blogger.com/atom/ns#' term='vbscript'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><title type='text'>Internet Explorer Proxy Settings - Part 1</title><content type='html'>inIf you frequently switch between office LAN, VPN and public internet connection, you may find that Internet Explorer occasionally gives you connectivity problem. If you are lucky enough, Internet Explorer's "Automatically detect settings" you do not have to bother with any proxy settings.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q9iZfkrxDJQ/SvsP04WRoXI/AAAAAAAAB-o/7ql4a5Gy8Wg/s1600-h/IE_Proxy_001.gif"&gt;&lt;img style="cursor: pointer; width: 380px; height: 275px;" src="http://2.bp.blogspot.com/_q9iZfkrxDJQ/SvsP04WRoXI/AAAAAAAAB-o/7ql4a5Gy8Wg/s400/IE_Proxy_001.gif" alt="" id="BLOGGER_PHOTO_ID_5402929579114471794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, if that does not work then you have to manually set the proxy settings.&lt;br /&gt;&lt;br /&gt;Sometimes I need to download files from the Internet when I remotely log in to Windows servers. By default Internet connectivity is disabled and there is no proxy settings. I find it a chore to set the proxy every time.&lt;br /&gt;&lt;br /&gt;So here's a WSH vbscript you can use to automatically set the proxy settings for Internet Explorer:&lt;br /&gt;&lt;br /&gt;1. Create a file with .vbs extension using your favorite text editor. Example: set_proxy.vbs&lt;br /&gt;2. Copy these contents and save the file&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;' Change proxy-server.company.com:8080 to the correct proxy server name and port&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;' Change *.company.com;&lt;/span&gt;&lt;local&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt; to all the intranet sites that will not go through the proxy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;set WSHShell = WScript.CreateObject("WScript.Shell")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer", "proxy-server.company.com:8080"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 1, "REG_DWORD"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyOverride", "*.company.com;&lt;/span&gt;&lt;local&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Execute the WSH vbscript file, and you should see this&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SvsSnN7JhdI/AAAAAAAAB-w/zV4KBb5zqMw/s1600-h/IE_Proxy_002.gif"&gt;&lt;img style="cursor: pointer; width: 388px; height: 281px;" src="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SvsSnN7JhdI/AAAAAAAAB-w/zV4KBb5zqMw/s400/IE_Proxy_002.gif" alt="" id="BLOGGER_PHOTO_ID_5402932642922989010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you click on "Advanced" you will see the list of sites which will &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; be accessed through the proxy.&lt;br /&gt;&lt;br /&gt;For more information, check out these links:&lt;br /&gt;&lt;a href="http://www.pctools.com/guides/registry/detail/292/"&gt;&lt;br /&gt;http://www.pctools.com/guides/registry/detail/292/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc736412%28WS.10%29.aspx"&gt;http://technet.microsoft.com/en-us/library/cc736412%28WS.10%29.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/local&gt;&lt;/local&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-2988084571374001280?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/2988084571374001280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=2988084571374001280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2988084571374001280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2988084571374001280'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/11/internet-explorer-proxy-settings-part-1.html' title='Internet Explorer Proxy Settings - Part 1'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q9iZfkrxDJQ/SvsP04WRoXI/AAAAAAAAB-o/7ql4a5Gy8Wg/s72-c/IE_Proxy_001.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-2561693385400347014</id><published>2009-10-19T06:54:00.000-07:00</published><updated>2009-10-19T07:06:04.203-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><title type='text'>How to uninstall application from command line in Vista</title><content type='html'>I was doing some application testing on a Vista laptop, and the "Programs and Features' window does not contain a single, installed appliaction. Not even logging in as Administrator and running "appwiz.cpl" solved the problem. If anybody knows the solution, I will really appreciate if you can share it with me.&lt;br /&gt;&lt;br /&gt;Anyway, some Googling showed that it is possible to use wmic to uninstall the application.&lt;br /&gt;&lt;br /&gt;1. Start wmic. In Windows command line, simply type "&lt;span style="font-weight: bold;"&gt;wmic&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. List out all installed applications&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;wmic:root\cli&gt;&lt;span style="font-weight: bold;"&gt;product get name&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Once you have the exact application name, use this command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;wmic:root\cli&gt;&lt;span style="font-weight: bold;"&gt;product where name="Adobe Reader 9" call uninstall&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-2561693385400347014?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/2561693385400347014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=2561693385400347014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2561693385400347014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2561693385400347014'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/10/how-to-uninstall-application-from.html' title='How to uninstall application from command line in Vista'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-9130030617067672679</id><published>2009-10-05T09:12:00.000-07:00</published><updated>2009-10-05T09:16:36.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rdp'/><category scheme='http://www.blogger.com/atom/ns#' term='mstsc'/><title type='text'>Location of Default.rdp file</title><content type='html'>I frequently use &lt;a href="http://support.microsoft.com/kb/925876"&gt;Microsoft Terminal Services Client&lt;/a&gt; to connect to a couple of Windows servers, and find it annoying that the screen resolution always defaults to a larger size than my local display resolution.&lt;br /&gt;&lt;br /&gt;I (stupidly) have the impression that the connection to each server is stored in its individual .rdp file, located somewhere in the Windows profile folder. After a long search and googling, I still cannot find any .rdp file.&lt;br /&gt;&lt;br /&gt;It actually took me using &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;SysInternal Process Monitor&lt;/a&gt; to find out mstsc.exe is writing to %My Documents%\Default.rdp !&lt;br /&gt;&lt;br /&gt;So it is a simple matter of changing the values of resolution in the Display tab of the RDP client.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SsobpOPGKgI/AAAAAAAAB-g/aSflaFFkjvg/s1600-h/RDP+Resolution.png"&gt;&lt;img style="cursor: pointer; width: 284px; height: 320px;" src="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SsobpOPGKgI/AAAAAAAAB-g/aSflaFFkjvg/s320/RDP+Resolution.png" alt="" id="BLOGGER_PHOTO_ID_5389150299112221186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Additional information on Remote Desktop Connection Display - &lt;a href="http://technet.microsoft.com/en-us/library/cc772472%28WS.10%29.aspx"&gt;http://technet.microsoft.com/en-us/library/cc772472%28WS.10%29.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-9130030617067672679?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/9130030617067672679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=9130030617067672679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/9130030617067672679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/9130030617067672679'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/10/i-frequently-use-microsoft-terminal.html' title='Location of Default.rdp file'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_q9iZfkrxDJQ/SsobpOPGKgI/AAAAAAAAB-g/aSflaFFkjvg/s72-c/RDP+Resolution.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-1334338836428018199</id><published>2009-09-10T07:00:00.000-07:00</published><updated>2009-09-10T07:20:34.583-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows productivity'/><title type='text'>Microsoft Paint tricks</title><content type='html'>I use Microsoft Paint frequently to capture screen shots to send to my colleagues or to update documentation. I have a default "Temporary images" folder and I always prefer PNG for the simple reason of lossless compression. Here are some hacks that I come across as useful:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Set default "Save As" folder for Microsoft Paint&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Start up Registry Editor&lt;br /&gt;2. Go to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\&lt;br /&gt;3. Change the value of "My Pictures" to the folder you like&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Set default "Save As" format to PNG&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;I have not found the solution yet. Does anyone knows?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-1334338836428018199?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/1334338836428018199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=1334338836428018199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1334338836428018199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1334338836428018199'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/09/microsoft-paint-tricks.html' title='Microsoft Paint tricks'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-2021784750525102181</id><published>2009-07-27T10:41:00.000-07:00</published><updated>2009-07-27T10:46:18.165-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><title type='text'>SQL Server 2005 -&gt; 2008 upgrade error - The installed product does not match the installation source(s)</title><content type='html'>Saw an interesting article about a common error when upgrading SQL Server:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/psssql/archive/2009/07/23/sql-server-setup-prompts-with-the-installed-product-does-not-match-the-installation-source-s-part-i.aspx"&gt;SQL Server Setup prompts with “The installed product does not match the installation source(s).”&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-2021784750525102181?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/2021784750525102181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=2021784750525102181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2021784750525102181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2021784750525102181'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/07/sql-server-2005-2008-upgrade-error.html' title='SQL Server 2005 -&gt; 2008 upgrade error - The installed product does not match the installation source(s)'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-5914464690212621841</id><published>2009-05-12T22:59:00.000-07:00</published><updated>2009-05-13T03:07:36.413-07:00</updated><title type='text'>Cross-OS filesystem on external USD Hard Disk</title><content type='html'>Last Friday I went to &lt;a href="http://www.lowyat.net/"&gt;Low Yat Plaza&lt;/a&gt; to buy an external USB hard disk. What motivated me was the realization that for the past 1 year I have been only focusing on work in office, and not learning much of anything that is not company-specific. I intend to experiment with newer OS, as well as having an external store to for my laptop - most of the space is used up by Vista.&lt;br /&gt;&lt;br /&gt;As with most external disk drives, all 320 GB of it is formatted in FAT32. Which works fine if one uses it to store files and perform back up. I wanted to have 3 separate partition:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;First partition (25%) to install a Windows OS&lt;/li&gt;&lt;li&gt;Second partition (25%) to install a *NIX OS - say &lt;a href="http://www.ubuntu.com/getubuntu/download"&gt;Linux &lt;/a&gt;or &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt;&lt;/li&gt;&lt;li&gt;3rd Partition (50%) for storing files&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Hence begun my journey to attempt to partition an external USB disk. First downloaded &lt;a href="http://www.knopper.net/knoppix-mirrors/index-en.html"&gt;Knoppix&lt;/a&gt;, and used fdisk to create 3 partitions. I manage to create the 3 partitions, but Vista is unable to read the 2 newly created logical partitions. So I had to reformat it - which defaults to NTFS format. I thought it is simple enough to convert from NTFS back to FAT32 - I was wrong.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next was using built in Windows utilities: Windows Vista's (Enterprise, SP1) Disk Management utility, which has rudimentary partition capabilities. Unfortuantely, it only allows 2 formats: NTFS and exFAT. I was looking for FAT32.&lt;br /&gt;&lt;br /&gt;Then I tried the diskpart utility, which is bundled with Vista. Again, partitioning to NTFS works, but it will not allow me to partition to FAT32.&lt;br /&gt;&lt;br /&gt;This is most probably due to Microsoft's push to newer file formats - NTFS and exFAT. I thought an older operating system will do the trick. I tried on Windows 2000 (Professional, SP4) using the "format" and "&lt;a href="http://support.microsoft.com/kb/214579"&gt;convert&lt;/a&gt;" utility. No such luck, it only a maximum size of 8 GB - probably using &lt;a href="http://support.microsoft.com/kb/231756"&gt;512-Byte clusters and FAT16&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;I was too fed up with all the wrangling and limitations of Windows tools. I will just live with NTFS, and when accessing the partitions from Linux will use the &lt;a href="http://www.ntfs-3g.org/"&gt;NTFS-3G&lt;/a&gt; driver to avoid corruptions during data writes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-5914464690212621841?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/5914464690212621841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=5914464690212621841' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5914464690212621841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/5914464690212621841'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/05/cross-os-filesystem-on-external-usd.html' title='Cross-OS filesystem on external USD Hard Disk'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-6750548646121705120</id><published>2009-05-05T10:17:00.000-07:00</published><updated>2009-05-05T11:12:28.578-07:00</updated><title type='text'>Incorrect NDR message from Exchange 2007 server?</title><content type='html'>Recently I was trying to email a user whose account was recently deleted. Instead of the usual error:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I got a "Not Authorized" error instead"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#550 5.7.1 RESOLVER.RST.NotAuthorized; not authorized ##&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Turned out the account was recently deleted, and my company has a policy of moving a deleted account into a "Obsolete User" AD container for 35 days before permanently purging the AD account.&lt;br /&gt;&lt;br /&gt;The NDR message is definitely inaccurate.&lt;br /&gt;&lt;br /&gt;Is this another of Microsoft's fault or lazy/mis-configuration from the Exchange folks?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-6750548646121705120?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/6750548646121705120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=6750548646121705120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6750548646121705120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/6750548646121705120'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/05/incorrect-ndr-message-from-exchange.html' title='Incorrect NDR message from Exchange 2007 server?'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-2143457717817555999</id><published>2009-05-05T01:52:00.000-07:00</published><updated>2009-05-05T02:23:06.058-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Upgrading SQL Server 2005 Express to Enterprise edition</title><content type='html'>&lt;div&gt;I have been using SQL Server 2005 Express for a year now to test the back-end of an application, and now upgrading to the Enterprise edition to perform some ETL tasks in SSIS. So I will be trying to upgrade directly from Express edition to Enterprise without un-installing to see how it goes ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Spefically, I am running SQL Server 2005 Express SP3, version 9.00.4035.00 . You can get the information by running this query:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Attempt 1: Direct installation of SQL Server 2005 Enterprise Edition&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;I simply run the set up file for Enterprise, resulting in this warning message&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;- Edition Change Check (Warning)&lt;br /&gt;Messages&lt;br /&gt;Edition Change Check&lt;br /&gt;To change an existing instance of Microsoft SQL Server 2005 to a different edition of SQL Server 2005, you must run SQL Server 2005 Setup from the command prompt and include the SKUUPGRADE=1 parameter&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;I still can proceed with the installation, although I think I will run into a couple of issues. For example, I cannot select most of the server components:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_q9iZfkrxDJQ/SgAEBm58UYI/AAAAAAAABRY/9gwuOdRTtmw/s1600-h/Attempt+1+-+01+Components+to+Install.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332266384476623234" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 291px" alt="" src="http://1.bp.blogspot.com/_q9iZfkrxDJQ/SgAEBm58UYI/AAAAAAAABRY/9gwuOdRTtmw/s320/Attempt+1+-+01+Components+to+Install.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, time to use SKUUPGRADE=1 &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Attempt 2: Running installer with SKUUPGRADE=1 option&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Instead of double-clicking on the setup.exe file, I ran this from the command line&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;setup.exe SKUUPGRADE=1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A new warning message:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;- Default Installation Path Permission Requirement (Warning)&lt;br /&gt;Messages&lt;br /&gt;Default Installation Path Permission Requirement&lt;br /&gt;To run SQL Server Setup, log on to this computer with an account that has administrator privleges.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I am going to ignore that because I know I am logged on with an account with Adminsitrator rights. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;After clicking Next, I still got the same issue as above. Server components greyed out. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Perhaps the problem is with the Enterprise edition?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Attempt 3: Using SQL Server 2005 Standard edition&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Using this command line:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;setup.exe SKUUPGRADE=1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Aha! Now I can see the server components:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;insert&gt;&lt;a href="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SgAEhDCAqPI/AAAAAAAABRg/hIfOpZ2g29Y/s1600-h/Attempt+3+-+01+Components+to+Install.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332266924602599666" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 291px" alt="" src="http://3.bp.blogspot.com/_q9iZfkrxDJQ/SgAEhDCAqPI/AAAAAAAABRg/hIfOpZ2g29Y/s320/Attempt+3+-+01+Components+to+Install.gif" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I look at the Operating Systems requirement in SQL Server Setup Help file, I found out that Enterprise Edition does not run on Windows 2000 Professional Edition SP4, which is what my laptop is running. Forgot rule #1: Always RTFM&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Direct upgrade of SQL Server 2005 Express to SQL Server 2005 Standard works, but always check the setup requirements in the help files. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-2143457717817555999?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/2143457717817555999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=2143457717817555999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2143457717817555999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/2143457717817555999'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/05/upgrading-sql-server-2005-express-to.html' title='Upgrading SQL Server 2005 Express to Enterprise edition'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_q9iZfkrxDJQ/SgAEBm58UYI/AAAAAAAABRY/9gwuOdRTtmw/s72-c/Attempt+1+-+01+Components+to+Install.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-7747631194457451690</id><published>2009-04-29T02:05:00.000-07:00</published><updated>2009-04-29T02:08:48.794-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='profile'/><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Difference between Local and LocalLow AppData folder ni Vista</title><content type='html'>Short answer:&lt;br /&gt;&lt;br /&gt;AppData\Roaming = files that follow user's login to all computers&lt;br /&gt;AppData\Local = files specific to that computer&lt;br /&gt;AppData\LocalLow = an area for low integrity apps to write to, e.g. Internet Explorer add-ons&lt;br /&gt;&lt;br /&gt;Friendlier explanation: http://www.vistapcguy.net/?p=173&lt;br /&gt;&lt;br /&gt;MSDN references:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/955555"&gt;The LocalLow folder may not be created on a Windows Vista SP1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb625963.aspx"&gt;Windows Integrity Mechanism Design&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb625960.aspx"&gt;Designing Applications to Run at a Low Integrity Level&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-7747631194457451690?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/7747631194457451690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=7747631194457451690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7747631194457451690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/7747631194457451690'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/04/difference-between-local-and-locallow.html' title='Difference between Local and LocalLow AppData folder ni Vista'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-1616069410687116495</id><published>2009-01-02T00:21:00.000-08:00</published><updated>2009-01-02T00:26:58.887-08:00</updated><title type='text'>How to find out MS SQL Server version</title><content type='html'>Run this query:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#000066;"&gt;SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;and you will get a result similar to this&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#003300;"&gt;Product Version          Product Level               Edition&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#003300;"&gt;9.00.3042.00              SP2                                 Express Edition&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Another useful query:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#000066;"&gt;SELECT @@VERSION&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#000066;"&gt;GO&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Will show you this:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#003300;"&gt;Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86)   Feb  9 2007 22:47:07   Copyright (c) 1988-2005 Microsoft Corporation  Express Edition on Windows NT 6.0 (Build 6001: Service Pack 1)&lt;/span&gt; &lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-1616069410687116495?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/1616069410687116495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=1616069410687116495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1616069410687116495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/1616069410687116495'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2009/01/how-to-find-out-ms-sql-server-version.html' title='How to find out MS SQL Server version'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-521674310136709104</id><published>2008-10-01T09:01:00.000-07:00</published><updated>2008-10-01T09:07:21.527-07:00</updated><title type='text'>How to Remove Vista's Remote Desktop Connection warning</title><content type='html'>I have been using Vista for the last few months, and one of the irritating symptoms I face is when Remote Desktop Connection (mstsc.exe) will prompt this warning when connecting to a Windows 2000 or Windows 2003 server:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Remote Desktop cannot verify the identity of the computer you want to connect to. This problem can occur if:&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;1) The remote computer is running a version of Windows that is earlier than Windows Vista&lt;br /&gt;2) The remote computer is configured to support only the RDP security layer&lt;/em&gt;&lt;/p&gt;The solution is to add a registry key at &lt;strong&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Terminal Server Client&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Type: &lt;strong&gt;DWORD (32-bit) Value&lt;/strong&gt;&lt;br /&gt;Value: &lt;strong&gt;0&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For more information, refer to this &lt;a href="http://blogs.vertigo.com/personal/steventap/Blog/archive/2007/01/19/removing-windows-vista-remote-desktop-warning-when-connecting-to-windows-2003-server.aspx"&gt;blog entry&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-521674310136709104?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/521674310136709104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=521674310136709104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/521674310136709104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/521674310136709104'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2008/10/how-to-remove-vistas-remote-desktop.html' title='How to Remove Vista&apos;s Remote Desktop Connection warning'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-3366445538021247957</id><published>2008-04-07T01:18:00.000-07:00</published><updated>2008-04-07T01:28:07.945-07:00</updated><title type='text'>How to look up LDAP server</title><content type='html'>In the global environment that I am supporting, I need an easy way to look up LDAP servers in a particular site. Learned this useful nslookup command from an engineer:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;nslookup -type=all _ldap._tcp.&lt;site&gt;.europe.company.com&lt;/site&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;C:\Documents and Settings\hanxue.lee\Desktop&gt;nslookup -type=all _ldap._tcp.EU-Ab&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;erdeen-ABE._sites.europe.company.com.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Server:  dns-server.asia-pac.company.com&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Address:  10.10.178.18&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;_ldap._tcp.EU-Aberdeen-ABE._sites.europe.company.com      SRV service location:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          priority       = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          weight         = 100&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          port           = 389&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          svr hostname   = ldap-03003.europe.company.com&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;_ldap._tcp.EU-Aberdeen-ABE._sites.europe.company.com      SRV service location:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          priority       = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          weight         = 100&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          port           = 389&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          svr hostname   = ldap-03001.europe.company.com&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;_ldap._tcp.EU-Aberdeen-ABE._sites.europe.company.com      SRV service location:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          priority       = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          weight         = 100&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          port           = 389&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          svr hostname   = ldap-03002.europe.company.com&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ldap-03003.europe.company.com    internet address = 10.10.130.47&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ldap-03001.europe.company.com    internet address = 10.10.130.41&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ldap-03002.europe.company.com    internet address = 10.10.130.42&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-3366445538021247957?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/3366445538021247957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=3366445538021247957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3366445538021247957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3366445538021247957'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2008/04/how-to-look-up-ldap-server.html' title='How to look up LDAP server'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-3629591842183408547</id><published>2008-03-18T19:52:00.000-07:00</published><updated>2008-03-18T20:35:06.818-07:00</updated><title type='text'>Regular expressions in grep, OR search</title><content type='html'>I was trying to grep through the NIS group list to filter out group name by GID, and was scratching my head when this did not work:&lt;br /&gt;&lt;br /&gt;ypcat group| grep -E "5520|110115|37650|33639"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Turn out that the version of grep in /usr/bin does not support regular expression, and the simple solution was:&lt;br /&gt;&lt;br /&gt;ypcat group| &lt;span style="font-weight: bold;"&gt;/usr/xpg4/bin/grep &lt;/span&gt;-E "5520|110115|37650|33639"|awk -F: '{print $1}'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Argggh... n00b mistake&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-3629591842183408547?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/3629591842183408547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=3629591842183408547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3629591842183408547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/3629591842183408547'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2008/03/regular-expressions-in-grep-or-search.html' title='Regular expressions in grep, OR search'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-8871117483408072508</id><published>2008-03-09T05:21:00.000-07:00</published><updated>2008-03-09T05:27:46.636-07:00</updated><title type='text'>Kernel - 9 March 2008</title><content type='html'>It must have been ages since I touched the kernel, and I mean for simple things like compilation and patching. Jeez.. it really hurts your technical skills if one stays in the Helpdesk for too long.&lt;br /&gt;&lt;br /&gt;Anyway, I was playing around on an HP8200 box with RHEL 4 (customized) with this kernel:&lt;br /&gt;&lt;br /&gt;Linux xxxxxx 2.6.9-55.0.2.ELsmp #1 SMP Tue Jun 12 17:58:20 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;&lt;br /&gt;Wanted to have a few virtual machine to mess with, but VMWare requires license, and somehow I fail to get xen to work. So its back to the original source from http://www.kernel.org Downloaded version 2.6.24, and it took this long to compile:&lt;br /&gt;&lt;br /&gt;21m 14.649s&lt;br /&gt;&lt;br /&gt;That's with 3 Intel(R) Xeon(TM) CPU 3.60GHz, and 6G of RAM. A bit slow?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I find the new Makefile for the kernel to be interesting, much cleaner, clearer output and best of all it makes rpm and deb packages too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;... back to preparing for LPI 102 and 201. (5 days left)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-8871117483408072508?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/8871117483408072508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=8871117483408072508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8871117483408072508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/8871117483408072508'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2008/03/kernel-9-march-2008.html' title='Kernel - 9 March 2008'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32920558.post-115585989172409174</id><published>2006-08-17T17:10:00.000-07:00</published><updated>2006-08-18T08:14:56.676-07:00</updated><title type='text'>Findind and changing file ownership</title><content type='html'>$ find /path -user &amp;lt; olduser&amp;gt; &amp;#166; &lt;olduser&gt;xargs chwon &amp;lt;newuser&amp;gt;&lt;newuser&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32920558-115585989172409174?l=flummox-engineering.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flummox-engineering.blogspot.com/feeds/115585989172409174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32920558&amp;postID=115585989172409174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/115585989172409174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32920558/posts/default/115585989172409174'/><link rel='alternate' type='text/html' href='http://flummox-engineering.blogspot.com/2006/08/findind-and-changing-file-ownership.html' title='Findind and changing file ownership'/><author><name>Liu Hanxue</name><uri>http://www.blogger.com/profile/14117444242661786533</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-8L3D6tv10Io/TjvL7sfJzkI/AAAAAAAACf4/pSE5Vn0Mc6M/s220/Facebook_profile_photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
