<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" gd:etag="W/&quot;Ck4CRn44fip7ImA9WxNUF00.&quot;"><id>tag:blogger.com,1999:blog-7656888</id><updated>2009-11-08T10:22:47.036-07:00</updated><title>Aggregated Intelligence</title><subtitle type="html">AI - Aggregation of ideas</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>1110</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><geo:lat>39.731286</geo:lat><geo:long>-104.98306</geo:long><link rel="self" href="http://feeds.feedburner.com/aggregatedIntelligence" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;DE8MQXg5eSp7ImA9WxNUEUo.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-6738044450503439432</id><published>2009-11-02T08:48:00.001-07:00</published><updated>2009-11-02T08:48:00.621-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-02T08:48:00.621-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Technology" /><category scheme="http://www.blogger.com/atom/ns#" term="Games" /><category scheme="http://www.blogger.com/atom/ns#" term="Gadgets" /><title>Video Games – Real Time Racing</title><content type="html">&lt;p&gt;Real Time Racing is developing technology that will allow for video games that will allow you to race in real-time against actual race car drivers that are competing in an actual race. The technology is very cool and it uses LIDAR to generate maps of the race-tracks (which is how I came across the game).&lt;/p&gt;  &lt;p&gt;Its was recently show-cased on the BBC’s Click program.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://news.bbc.co.uk/2/hi/programmes/click_online/8334595.stm"&gt;http://news.bbc.co.uk/2/hi/programmes/click_online/8334595.stm&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.realtimerace.com/"&gt;Real Time Racing&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-6738044450503439432?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/6738044450503439432/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=6738044450503439432&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6738044450503439432?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6738044450503439432?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/11/video-games-real-time-racing.html" title="Video Games – Real Time Racing" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CE4ARnc_cCp7ImA9WxNUEEU.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-6875076467340609672</id><published>2009-11-01T06:42:00.001-07:00</published><updated>2009-11-01T06:42:27.948-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-01T06:42:27.948-07:00</app:edited><title>Google Wave – Bots List</title><content type="html">&lt;p&gt;Bots are robots that provide some sort of functionality within a Google Wave. You just drag and drop them just like any other contact onto your wave and you can begin using them. The one weird thing I have found is that there does not seem to be any way to find and add them from within Google Wave. So after a little Googling here are some of the useful ones I have found:&lt;/p&gt;  &lt;p&gt;Preview Bug: If you copy and paste the email address into your add contact dialog, Google Wave might not enable the Submit button. If this happens, just delete one of the letters and retype them and it should enable the submit button.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Added 11/01/2009&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:blog-wave@appspot.com"&gt;blog-wave@appspot.com&lt;/a&gt; - Used to interact with blog-posts in Blogger. This is a very useful bot.    &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_dIvFa14S0yc/Su2QMROaKmI/AAAAAAAAIjs/SrE8Souy4J8/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_dIvFa14S0yc/Su2QNJPHzrI/AAAAAAAAIjw/On6uDBEw3SU/image_thumb.png?imgmax=800" width="244" height="81" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:wikifier@appspot.com"&gt;wikifier@appspot.com&lt;/a&gt; - Used to interact with Wikipedia    &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_dIvFa14S0yc/Su2QOE9KHjI/AAAAAAAAIj0/cSOXBVcXmEE/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_dIvFa14S0yc/Su2QOpQOAFI/AAAAAAAAIj4/LXSSTxYVidk/image_thumb%5B1%5D.png?imgmax=800" width="244" height="67" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:tweety-wave@appspot.com"&gt;tweety-wave@appspot.com&lt;/a&gt; – Used to interact with Twitter. Add new tweets or search for tweets. Very cool&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_dIvFa14S0yc/Su2QPHAGzrI/AAAAAAAAIj8/WC9pu7Fn3C8/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_dIvFa14S0yc/Su2QPjF9CtI/AAAAAAAAIkA/VnuSwfatf4w/image_thumb%5B2%5D.png?imgmax=800" width="244" height="65" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:amazon-withwaves-com@appspot.com"&gt;amazon-withwaves-com@appspot.com&lt;/a&gt; – Retrieves information from Amazon.com. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_dIvFa14S0yc/Su2QQBodBNI/AAAAAAAAIkE/HbzeoqLk_wE/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_dIvFa14S0yc/Su2QQ-MnWxI/AAAAAAAAIkI/kp7mm8lDhlA/image_thumb%5B3%5D.png?imgmax=800" width="244" height="64" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-6875076467340609672?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/6875076467340609672/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=6875076467340609672&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6875076467340609672?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6875076467340609672?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/11/google-wave-bots-list.html" title="Google Wave – Bots List" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEQCR3w8eyp7ImA9WxNVGUw.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-7405633617572744369</id><published>2009-10-30T08:19:00.001-06:00</published><updated>2009-10-30T08:19:26.273-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-30T08:19:26.273-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Code Sample" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title>Linux shell scripts – name of script file</title><content type="html">&lt;p&gt;How to get the filename and directory name of the shell script being run:&lt;/p&gt; &lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;directoryName=${0%/*} #capture everything before the last /
filename=${0##*/} #capture everything after the last /&lt;/pre&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-7405633617572744369?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/7405633617572744369/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=7405633617572744369&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/7405633617572744369?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/7405633617572744369?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/linux-shell-scripts-name-of-script-file.html" title="Linux shell scripts – name of script file" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0YGQXozeyp7ImA9WxNVGE8.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-6858198452122273791</id><published>2009-10-29T09:12:00.001-06:00</published><updated>2009-10-29T09:12:00.483-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-29T09:12:00.483-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Misc" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer" /><title>Types of brackets</title><content type="html">&lt;p&gt;Disambiguation of {braces parentheses brackets}&lt;br&gt;&lt;strong&gt;note: they are all types of brackets&lt;/strong&gt; &lt;p&gt;from &lt;a href="http://en.wikipedia.org/wiki/Bracket"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;( ) - &lt;strong&gt;round&lt;/strong&gt; brackets, open brackets or &lt;strong&gt;parentheses&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;[ ] - &lt;strong&gt;square&lt;/strong&gt; brackets, closed brackets or box brackets&lt;/li&gt; &lt;li&gt;{ } - &lt;strong&gt;curly&lt;/strong&gt; brackets, squiggly brackets, swirly brackets, &lt;strong&gt;braces&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&amp;lt; &amp;gt; - &lt;strong&gt;angle&lt;/strong&gt; brackets, diamond brackets, cone brackets, wickets, chevrons&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/7656888-6858198452122273791?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/6858198452122273791/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=6858198452122273791&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6858198452122273791?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6858198452122273791?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/types-of-brackets.html" title="Types of brackets" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CU4HQnoyfip7ImA9WxNVF0s.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-2872578912391330005</id><published>2009-10-28T14:59:00.001-06:00</published><updated>2009-10-28T15:05:33.496-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-28T15:05:33.496-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tools and Utilities" /><title>Windows port of some useful UNIX commands</title><content type="html">&lt;p&gt;Recently I came across the “Cut” and “Paste” commands in Linux. Man, these are useful tools as they allow you to rearrange your data from an existing file.&lt;/p&gt; &lt;p&gt;And now to make my life easier in Windows, I have found a SourceForge project that has ported many of these commands to Windows.&lt;/p&gt; &lt;p&gt;Find it at: &lt;a href="http://unxutils.sourceforge.net/"&gt;http://unxutils.sourceforge.net/&lt;/a&gt;. Very Nice!&lt;/p&gt; &lt;p&gt;The list of UNIX/Linux commands available in the download I got:&lt;/p&gt; &lt;p&gt;agrep.exe&lt;br&gt;ansi2knr.exe&lt;br&gt;basename.exe&lt;br&gt;bison.exe&lt;br&gt;bzip2.exe&lt;br&gt;bunzip2.exe&lt;br&gt;bzip2recover.exe&lt;br&gt;cat.exe&lt;br&gt;chgrp.exe&lt;br&gt;chmod.exe&lt;br&gt;chown.exe&lt;br&gt;cksum.exe&lt;br&gt;cmp.exe&lt;br&gt;comm.exe&lt;br&gt;compress.exe&lt;br&gt;cp.exe&lt;br&gt;csplit.exe&lt;br&gt;cut.exe&lt;br&gt;date.exe&lt;br&gt;dd.exe&lt;br&gt;df.exe&lt;br&gt;diff.exe&lt;br&gt;diff3.exe&lt;br&gt;dirname.exe&lt;br&gt;du.exe&lt;br&gt;echo.exe&lt;br&gt;egrep.exe&lt;br&gt;env.exe&lt;br&gt;expand.exe&lt;br&gt;expr.exe&lt;br&gt;factor.exe&lt;br&gt;fgrep.exe&lt;br&gt;find.exe&lt;br&gt;flex.exe&lt;br&gt;fmt.exe&lt;br&gt;fold.exe&lt;br&gt;gawk.exe&lt;br&gt;make.exe&lt;br&gt;grep.exe&lt;br&gt;gsar.exe&lt;br&gt;gunzip.exe&lt;br&gt;gzip.exe&lt;br&gt;head.exe&lt;br&gt;id.exe&lt;br&gt;install.exe&lt;br&gt;join.exe&lt;br&gt;less.exe&lt;br&gt;ln.exe&lt;br&gt;logname.exe&lt;br&gt;ls.exe&lt;br&gt;m4.exe&lt;br&gt;md5sum.exe&lt;br&gt;mkdir.exe&lt;br&gt;mkfifo.exe&lt;br&gt;mknod.exe&lt;br&gt;mv.exe&lt;br&gt;mvdir.exe&lt;br&gt;nl.exe&lt;br&gt;od.exe&lt;br&gt;paste.exe&lt;br&gt;patch.exe&lt;br&gt;pathchk.exe&lt;br&gt;pr.exe&lt;br&gt;printenv.exe&lt;br&gt;printf.exe&lt;br&gt;ptx.exe&lt;br&gt;recode.exe&lt;br&gt;rm.exe&lt;br&gt;rman.exe&lt;br&gt;rmdir.exe&lt;br&gt;sdiff.exe&lt;br&gt;sed.exe&lt;br&gt;seq.exe&lt;br&gt;sleep.exe&lt;br&gt;sort.exe&lt;br&gt;sh.exe&lt;br&gt;shar.exe&lt;br&gt;split.exe&lt;br&gt;stego.exe&lt;br&gt;su.exe&lt;br&gt;sum.exe&lt;br&gt;sync.exe&lt;br&gt;tac.exe&lt;br&gt;tail.exe&lt;br&gt;tar.exe&lt;br&gt;tee.exe&lt;br&gt;test.exe&lt;br&gt;touch.exe&lt;br&gt;tr.exe&lt;br&gt;uname.exe&lt;br&gt;unexpand.exe&lt;br&gt;uniq.exe&lt;br&gt;unrar.exe&lt;br&gt;unshar.exe&lt;br&gt;uudecode.exe&lt;br&gt;uuencode.exe&lt;br&gt;wc.exe&lt;br&gt;wget.exe&lt;br&gt;which.exe&lt;br&gt;whoami.exe&lt;br&gt;xargs.exe&lt;br&gt;yes.exe&lt;br&gt;zcat.exe&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-2872578912391330005?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/2872578912391330005/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=2872578912391330005&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2872578912391330005?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2872578912391330005?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/windows-port-of-some-useful-unix.html" title="Windows port of some useful UNIX commands" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEUFQnk9eyp7ImA9WxNVF04.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-2445754424174875625</id><published>2009-10-28T07:23:00.001-06:00</published><updated>2009-10-28T07:23:33.763-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-28T07:23:33.763-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title>Ubuntu + VirtualBox + low screen resolutions</title><content type="html">&lt;p&gt;If you run Ubuntu and you get only a low screen resolution of 800x600 (and not the native resolution of your host machine), then what you may need are the “Guest Additions”.  &lt;p&gt;Here is what you need to do:  &lt;p&gt;1. Run Ubuntu in VirtualBox&lt;/p&gt; &lt;p&gt;2. Use the host key to get to the host OS (normally the right ctrl key). This will allow you to move your mouse out into the world of your actual machine.&lt;/p&gt; &lt;p&gt;3. Click on "Install Guest Additions" under the devices menu:&lt;br&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="image" src="http://lh4.ggpht.com/_dIvFa14S0yc/SuhFxhrBNTI/AAAAAAAAIhY/i1qqOhGnPbI/image%5B5%5D.png?imgmax=800" width="215" border="0"&gt;&amp;nbsp;&lt;br&gt;This should load up a window that will display the contents of Guest Additions cd.&lt;br&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="191" alt="image" src="http://lh3.ggpht.com/_dIvFa14S0yc/SuhFyM-yyxI/AAAAAAAAIhc/_V-xuZvAblA/image3%5B1%5D.png?imgmax=800" width="158" border="0"&gt;&amp;nbsp;&lt;br&gt;If you do not see the above disk on your Ubuntu desktop, then you might have to mount the guest additions. Here is how:&lt;br&gt;Go to Devices –&amp;gt; Mount CD/DVD-ROM –&amp;gt; CD/DVD-ROM Image…&lt;/p&gt; &lt;p&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="65" alt="image" src="http://lh3.ggpht.com/_dIvFa14S0yc/SuhFybZZgUI/AAAAAAAAIhg/tt4f3Vm8gis/image6%5B1%5D.png?imgmax=800" width="244" border="0"&gt; &lt;/p&gt; &lt;p&gt;Go to the CD/DVD Images tab and Click on Add.&lt;/p&gt; &lt;p&gt;Browse to the Virtual Box folder and select the “VBoxGuestAdditions.iso” file.&lt;br&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="70" alt="image" src="http://lh4.ggpht.com/_dIvFa14S0yc/SuhFy2WIXfI/AAAAAAAAIhk/ZbicYgb4te8/image9%5B1%5D.png?imgmax=800" width="126" border="0"&gt; &lt;br&gt;Click on Select on the “CD/DVD Images” tab.&lt;/p&gt; &lt;p&gt;You should get the CD for VBoxAdditions on your Ubuntu desktop now.&lt;/p&gt; &lt;p&gt;4. Double click the CD to view its contents. Which should look like this (and have some more files).&lt;br&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="137" alt="image" src="http://lh3.ggpht.com/_dIvFa14S0yc/SuhF0VrtoaI/AAAAAAAAIho/wCNn1_igAa0/image12%5B1%5D.png?imgmax=800" width="244" border="0"&gt; &lt;/p&gt; &lt;p&gt;5. Depending on your host system you will have to run one of the “VBoxLinuxAdditions-XXX.run” files.&lt;/p&gt; &lt;p&gt;6. Unfortunately, its not as simple as double clicking the file to run it (as it needs to be run as an admin). Here is what you need to do:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Open a terminal prompt (Applications –&amp;gt; Accessories –&amp;gt; Terminal)&lt;/p&gt; &lt;p&gt;Navigate to the CD drive (type cd /media/cdrom0/)&lt;/p&gt; &lt;p&gt;Type LS and you should see all the files in the folder:&lt;br&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="76" alt="image" src="http://lh3.ggpht.com/_dIvFa14S0yc/SuhF0wq_jkI/AAAAAAAAIhs/_XBTwSx6huE/image15%5B1%5D.png?imgmax=800" width="419" border="0"&gt; &lt;/p&gt; &lt;p&gt;Type sudo sh ./VBoxLinuxAdditions-x86.run (remember its case sensitive)&lt;/p&gt; &lt;p&gt;You should be prompted for your password. Ubuntu should then run for a short while installing everything and you will be asked to restart.&lt;/p&gt; &lt;p&gt;Once you restart, you should get your native resolution. If not check the display settings.&lt;br&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="130" alt="image" src="http://lh6.ggpht.com/_dIvFa14S0yc/SuhF1AgN2dI/AAAAAAAAIhw/z6b9p-HCiBA/image%5B4%5D.png?imgmax=800" width="244" border="0"&gt; &lt;/p&gt; &lt;p&gt;Note: I had to install the Guest additions 2 times to get the new resolution in my Ubuntu virtual installation.&lt;/p&gt; &lt;p&gt;Note 2: Additional good stuff: Your mouse is no longer captured by Virtual box – which means you can seamlessly move between the host machine and the virtual machine. Also, copy paste will work across the 2 machines too. (Very nice!)&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-2445754424174875625?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/2445754424174875625/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=2445754424174875625&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2445754424174875625?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2445754424174875625?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/ubuntu-virtualbox-low-screen.html" title="Ubuntu + VirtualBox + low screen resolutions" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C08EQHg6fyp7ImA9WxNVFk8.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-14543645995857566</id><published>2009-10-26T23:36:00.001-06:00</published><updated>2009-10-26T23:36:41.617-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-26T23:36:41.617-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="quotes" /><category scheme="http://www.blogger.com/atom/ns#" term="Misc" /><title>Study!</title><content type="html">&lt;h5&gt;Get over the idea that only children should spend their time in study. Be a student so long as you still have something to learn, and this will mean all your life. ~&lt;a href="http://www.flickr.com/photos/helenasfurie/3669771068/" target="_blank"&gt;Henry L. Doherty&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;&lt;img src="http://farm3.static.flickr.com/2479/3669771068_8a52f456b9_m.jpg" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-14543645995857566?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/14543645995857566/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=14543645995857566&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/14543645995857566?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/14543645995857566?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/study.html" title="Study!" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0AFQXg-fCp7ImA9WxNVFk8.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-7428518743653060964</id><published>2009-10-26T23:35:00.001-06:00</published><updated>2009-10-26T23:35:10.654-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-26T23:35:10.654-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>The Google Story - 1995 to now</title><content type="html">&lt;p&gt;The Google Story - 1995 to now&lt;/p&gt;  &lt;p&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EjN5avRvApk&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EjN5avRvApk&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-7428518743653060964?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/7428518743653060964/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=7428518743653060964&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/7428518743653060964?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/7428518743653060964?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/google-story-1995-to-now.html" title="The Google Story - 1995 to now" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUIMQ387cCp7ImA9WxNVFE4.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-2168223980348638045</id><published>2009-10-24T19:19:00.001-06:00</published><updated>2009-10-24T19:19:42.108-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-24T19:19:42.108-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows 7" /><title>Personalize Windows 7</title><content type="html">&lt;p&gt;Themes, backgrounds, gadgets to make your Windows 7 computer your very own.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://windows.microsoft.com/en-US/windows/downloads/personalize"&gt;http://windows.microsoft.com/en-US/windows/downloads/personalize&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;My vote is for “Bing’s Best” theme pack. Very nice.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-2168223980348638045?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/2168223980348638045/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=2168223980348638045&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2168223980348638045?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2168223980348638045?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/personalize-windows-7.html" title="Personalize Windows 7" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkMDRXY7eyp7ImA9WxNVFE4.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-1267881681303768332</id><published>2009-10-24T18:27:00.001-06:00</published><updated>2009-10-24T18:27:54.803-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-24T18:27:54.803-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Words" /><title>Words - debouch</title><content type="html">&lt;h4&gt;de⋅bouch&lt;/h4&gt;  &lt;p&gt;1.   &lt;br /&gt;to march out from a narrow or confined place into open country, as a body of troops: The platoon debouched from the defile into the plain.&lt;/p&gt;  &lt;p&gt;2.   &lt;br /&gt;Physical Geography.&lt;/p&gt;  &lt;p&gt;a.   &lt;br /&gt;to emerge from a relatively narrow valley upon an open plain: A river or glacier debouches on the plains.&lt;/p&gt;  &lt;p&gt;b.   &lt;br /&gt;to flow from a small valley into a larger one.&lt;/p&gt;  &lt;p&gt;3.   &lt;br /&gt;to come forth; emerge.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-1267881681303768332?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/1267881681303768332/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=1267881681303768332&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/1267881681303768332?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/1267881681303768332?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/words-debouch.html" title="Words - debouch" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUUGRHcyfSp7ImA9WxNVE0w.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-431124699811000582</id><published>2009-10-23T09:53:00.001-06:00</published><updated>2009-10-23T09:53:45.995-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-23T09:53:45.995-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Misc" /><title>Download YouTube video bookmarklet</title><content type="html">&lt;p&gt;via the &lt;a href="http://googlesystem.blogspot.com/2008/04/download-youtube-videos-as-mp4-files.html" target="_blank"&gt;GoogleSystem blog&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;Here is a book-marklet that lets you download YouTube videos as MP4 files. (just drag the link on to your book-mark toolbar or right click and add to favorites).&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="225"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="223"&gt;         &lt;p align="center"&gt;&lt;a href="javascript:var%20video_id=null;var%20video_hash=null;var%20video_player=document.getElementById('movie_player');if(video_player){var%20flash_variables=video_player.attributes.getNamedItem('flashvars');if(flash_variables){var%20flash_values=flash_variables.value;if(flash_values){var%20video_id_match=flash_values.match(/[^a-z]video_id=([^(\&amp;amp;|$)]*)/);if(video_id_match!=null)video_id=video_id_match[1];var%20video_hash_match=flash_values.match(/[^a-z]t=([^(\&amp;amp;|$)]*)/);if(video_hash_match!=null)video_hash=video_hash_match[1]}}}if(video_id==null||video_hash==null){var%20args=null;try{args=yt.getConfig('CFG_SWF_ARGS')}catch(e){}if(args){video_id=args['video_id'];video_hash=args['t']}}if(video_id!=null&amp;amp;&amp;amp;video_hash!=null){var%20fmt='18';try{if(yt.getConfig('CFG_IS_HD_AVAILABLE'))fmt='22'}catch(e){}document.location.href='http://www.youtube.com/get_video?fmt='+fmt+'&amp;amp;video_id='+video_id+'&amp;amp;t='+video_hash}" target="_blank"&gt;Download YouTube Bookmarklet&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-431124699811000582?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/431124699811000582/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=431124699811000582&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/431124699811000582?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/431124699811000582?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/download-youtube-video-bookmarklet.html" title="Download YouTube video bookmarklet" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkAAQ345eSp7ImA9WxNVEEk.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-4806356211808339305</id><published>2009-10-20T08:25:00.001-06:00</published><updated>2009-10-20T08:25:42.021-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-20T08:25:42.021-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DotNetNuke" /><category scheme="http://www.blogger.com/atom/ns#" term="debug" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer" /><title>DNN – Module Load Warning Error</title><content type="html">&lt;p&gt;Last week, one of my DNN installations all of a sudden started giving me the following error:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_dIvFa14S0yc/St3IX-hK9zI/AAAAAAAAIdo/dxkK-Ia9oyw/s1600-h/2009-10-14_142153%5B3%5D.png"&gt;&lt;img title="2009-10-14_142153" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="83" alt="2009-10-14_142153" src="http://lh3.ggpht.com/_dIvFa14S0yc/St3IYWtwQuI/AAAAAAAAIds/dgwNO0lhuHs/2009-10-14_142153_thumb%5B1%5D.png?imgmax=800" width="692" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Typically, if you log in as an administrator, then you can view the error information. But in my case, I was unable to see any information. In fact, I was unable to log in to the DNN portal. Upon further investigation what I realized was that even the content was not being rendered. &lt;/p&gt; &lt;p&gt;The only information that I was able to find out was from the event log tables in the database, which had the following information:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_dIvFa14S0yc/St3IY-u5BTI/AAAAAAAAIdw/HXO349umkd0/s1600-h/2009-10-14_142222%5B3%5D.png"&gt;&lt;img title="2009-10-14_142222" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="358" alt="2009-10-14_142222" src="http://lh4.ggpht.com/_dIvFa14S0yc/St3IZXbd2tI/AAAAAAAAId0/w65RbAUD92I/2009-10-14_142222_thumb%5B1%5D.png?imgmax=800" width="505" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;So it looked like the error was being thrown in the “DotNetNuke.UI.Skins.Skin.InjectModule” method and it looked like a property or a method was being invoked on an object that was null. But the above information is not very helpful.&lt;/p&gt; &lt;p&gt;Without any other information, I decided to modify the DNN code so that I could add additional logging information to the InjectModule code to see what was going on. To do this, I decided to use a simple text file to log the information. VB.Net is not my primary development language so I had to look up the syntax to create a file in append mode:&lt;/p&gt; &lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;Using writer &lt;span class="kwrd"&gt;As&lt;/span&gt; StreamWriter = &lt;span class="kwrd"&gt;New&lt;/span&gt; StreamWriter(Server.MapPath(&lt;span class="str"&gt;".\log\"&lt;/span&gt;) &amp;amp; &lt;span class="str"&gt;"attempts.txt"&lt;/span&gt;, &lt;span class="kwrd"&gt;True&lt;/span&gt;)
    &lt;span class="rem"&gt;'call code in here&lt;/span&gt;
    InjectModule(......)
    writer.WriteLine(&lt;span class="str"&gt;"log info using writeline"&lt;/span&gt;)
&lt;span class="kwrd"&gt;End&lt;/span&gt; Using&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Once I had the code modified to perform in-depth logging, I found out that the InjectModule method would use the LoadControl method to load a user-control into a page. But before that, it would need to create the container into which it needed to load the user control. In version 4.6.2 of the DNN code, the code never expects the container to be null (&lt;em&gt;ctlContainer.FindControl(glbDefaultPane)&lt;/em&gt;) and in our case the ctlContainer object was turning up null and was causing the “Object reference not set to an instance of an object” error.&lt;/p&gt;
&lt;p&gt;But why was ctlContainer turning up Null. Turns out some files in the “Portals\_default\Containers” folder and in the “admin\Containers” folder had gone missing. Unfortunately for us, even the default containers had gone missing and hence ctlContainer was turning up null.&lt;/p&gt;
&lt;p&gt;I am not sure why the files in those folders got deleted (module mis-behaving, user error, etc), but it sure was hard to track down this bug and fix it. Luckily DNN is an open-source project and we were able to track down the issue by modifying the core code for this purpose.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-4806356211808339305?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/4806356211808339305/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=4806356211808339305&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/4806356211808339305?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/4806356211808339305?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/dnn-module-load-warning-error.html" title="DNN – Module Load Warning Error" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C04EQHw7eyp7ImA9WxNWGUU.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-3506795611534474348</id><published>2009-10-19T13:51:00.001-06:00</published><updated>2009-10-19T13:51:41.203-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T13:51:41.203-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net" /><title>ViewState, dynamically loaded User Controls and ASP.Net</title><content type="html">&lt;p&gt;&lt;strong&gt;If you find that your ViewState is unavailable to your user control in ASP.Net and if you loaded the user-control dynamically (using the LoadControl method), then check to make sure that you are dynamically loading the user-control in the OnInit method.&lt;/strong&gt; Most people make the mistake of loading the user-control in the Page_Load method and the problem with that is that the state is loaded before the Page_Load method is called (see diagram below – Page_Load is the Load event). When the view state is loaded and processed, ASP.Net will look for the control and if it is there – it will fill it with the data from the view-state and if the control isnt available, then it will be ignored.&lt;/p&gt; &lt;p&gt;By loading the user-control in the Init event, you ensure that the control will be available when the LoadViewState method is called by the framework and it will then be filled out correctly with the values from the view-state. (This is usually followed by the Raise xxxx Events, where you typically check the value of the control to perform further processing).&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_dIvFa14S0yc/StzDS6BtmzI/AAAAAAAAIdg/ty-4x54qt6w/s1600-h/25792822%5B3%5D.jpg"&gt;&lt;img title="25792822" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="628" alt="25792822" src="http://lh6.ggpht.com/_dIvFa14S0yc/StzDTAyxopI/AAAAAAAAIdk/AyBzb7LuSsc/25792822_thumb%5B1%5D.jpg?imgmax=800" width="472" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;If you find that the LoadViewState method is not being called, &lt;/strong&gt;then it is most probably because your control it-self is not using the View-State. To ensure that it is called try and over-ride the SaveViewState method and save a dummy value to the view-state. After this the LoadViewState should begin getting called.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-3506795611534474348?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/3506795611534474348/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=3506795611534474348&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/3506795611534474348?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/3506795611534474348?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/viewstate-dynamically-loaded-user.html" title="ViewState, dynamically loaded User Controls and ASP.Net" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0ECSHg5cCp7ImA9WxNWGU4.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-5572126832319476659</id><published>2009-10-18T23:54:00.001-06:00</published><updated>2009-10-18T23:54:29.628-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T23:54:29.628-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Scrum" /><category scheme="http://www.blogger.com/atom/ns#" term="screencast" /><title>Scrum in 10 minutes</title><content type="html">&lt;p&gt;A pretty good video about Scrum in under 8 minutes.&lt;/p&gt; &lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q5k7a9YEoUI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Q5k7a9YEoUI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-5572126832319476659?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/5572126832319476659/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=5572126832319476659&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/5572126832319476659?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/5572126832319476659?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/scrum-in-10-minutes.html" title="Scrum in 10 minutes" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkQHQn88fyp7ImA9WxNWGU4.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-6367720252581300431</id><published>2009-10-18T23:32:00.001-06:00</published><updated>2009-10-18T23:32:13.177-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T23:32:13.177-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Scrum" /><title>Develop using the Scrum framework in 10 easy steps</title><content type="html">&lt;p&gt;&lt;a href="http://kw-agiledevelopment.blogspot.com/2007/09/how-to-implement-scrum-in-10-easy-steps.html"&gt;How to implement Scrum in 10 easy steps&lt;/a&gt; (Agile Software Development):    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/09/how-to-implement-scrum-in-10-easy-steps_20.html"&gt;Step #1: Get your backlog in order!&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/09/how-to-implement-scrum-in-10-easy-steps_28.html"&gt;Step #2: How to estimate your product backlog&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/10/how-to-implement-scrum-in-10-easy-steps.html"&gt;Step #3: Sprint Planning/clarify requirements&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/10/how-to-implement-scrum-in-10-easy-steps_11.html"&gt;Step #4: Sprint Planning/estimate tasks&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/10/how-to-implement-scrum-in-10-easy-steps_16.html"&gt;Step #5: Create a collaborative workspace&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/10/how-to-implement-scrum-in-10-easy-steps_19.html"&gt;Step #6: Sprint!&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/10/how-to-implement-scrum-in-10-easy-steps_30.html"&gt;Step #7: Stand up and be counted!&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/11/how-to-implement-scrum-in-10-easy-steps.html"&gt;Step #8: Track progress with a daily burndown chart&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/11/how-to-implement-scrum-in-10-easy-steps_13.html"&gt;Step #9: Finish when you said you would&lt;/a&gt;    &lt;br /&gt;- &lt;a href="http://kw-agiledevelopment.blogspot.com/2007/11/how-to-implement-scrum-in-10-easy-steps_20.html"&gt;Step #10: Review, reflect, repeat...&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-6367720252581300431?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/6367720252581300431/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=6367720252581300431&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6367720252581300431?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6367720252581300431?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/develop-using-scrum-framework-in-10.html" title="Develop using the Scrum framework in 10 easy steps" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkIDSHY9fCp7ImA9WxNWGEQ.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-7835013033561924070</id><published>2009-10-18T12:29:00.001-06:00</published><updated>2009-10-18T12:29:39.864-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T12:29:39.864-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JQuery" /><title>JQuery plugins for navigations</title><content type="html">&lt;p&gt;A list of some very nice JQuery plugins to provide cool navigation features for your website: &lt;a href="http://webdesignfan.com/26-jquery-plugins-for-superb-navigation/"&gt;http://webdesignfan.com/26-jquery-plugins-for-superb-navigation/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-7835013033561924070?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/7835013033561924070/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=7835013033561924070&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/7835013033561924070?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/7835013033561924070?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/jquery-plugins-for-navigations.html" title="JQuery plugins for navigations" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUMHSH45cSp7ImA9WxNWF0k.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-6032880696055644019</id><published>2009-10-16T20:43:00.001-06:00</published><updated>2009-10-16T20:43:59.029-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T20:43:59.029-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software management" /><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Agile" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer" /><title>TFS – Work Item Manager</title><content type="html">&lt;p&gt;I was searching for a better taskboard to use with Team Foundation Server (TFS) than the one that comes canned with the Scrum for Team System (SFTS) template (which is a static report) and I came across the Work Item Manager.&lt;/p&gt;  &lt;p&gt;In one word – its AWESOME!!!!&lt;/p&gt;  &lt;p&gt;Work Item Manager is a beta product from Telerik and it does much, much more than just being an interactive task-board (which it does very well). Apart from the task-board, it provides so much more functionality that in some ways it comes close to becoming a replacement for Team Explorer (although it runs on top of Team-Explorer and so you do need to have TeamExplorer installed on your machine).&lt;/p&gt;  &lt;p&gt;The task-board not only allows you to review the different states in which your work-items are in, but also allows you to change state by dragging and dropping them in a different state swim-lane. You can add work-items, review work-items, filter them and a whole lot more. Another cool feature is the Project Dashboard, a constantly updating screen of project information – a great way to get a quick overview of the project.&lt;/p&gt;  &lt;p&gt;The WIM is a very cool project and you should take a look at the video that Telerik has made demoing all its features. (&lt;a href="http://tv.telerik.com/tfs-tools/video/intro-tfs-work-item-manager-and-tfs-project-dashboard"&gt;video&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_dIvFa14S0yc/StkvSiPhDbI/AAAAAAAAIdY/8E5P74qSkUM/s1600-h/tb%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="tb" border="0" alt="tb" src="http://lh3.ggpht.com/_dIvFa14S0yc/StkvTIwNngI/AAAAAAAAIdc/Za0LE0lGEE0/tb_thumb%5B1%5D.jpg?imgmax=800" width="468" height="367" /&gt;&lt;/a&gt; Task-board sample.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.telerik.com/products/tfsmanager-and-tfsdashboard/tfs-work-item-manager-features.aspx"&gt;Telerik Work Item Manager&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-6032880696055644019?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/6032880696055644019/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=6032880696055644019&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6032880696055644019?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6032880696055644019?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/tfs-work-item-manager.html" title="TFS – Work Item Manager" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEIMQHk_eip7ImA9WxNWF0k.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-2610692169248586322</id><published>2009-10-16T20:29:00.001-06:00</published><updated>2009-10-16T20:29:41.742-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T20:29:41.742-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Tools and Utilities" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer" /><title>Monitor text files in real-time</title><content type="html">&lt;p&gt;As a developer I use text files all the time to write out information to log application events. These logs become extremely valuable when I am trying to debug a problem (especially while an app is running in production).&lt;/p&gt;  &lt;p&gt;Typically I used to load up the file in NotePad++, which would provide me with a notification everytime the log file changed, allowing me to decide if NotePad++ should reload the document. (TextPad also provides similar functionality).&lt;/p&gt;  &lt;p&gt;Today, I came across an awesome tool called &lt;strong&gt;BareTail&lt;/strong&gt;, that allows me to monitor log files in real-time. BareTail automatically updates itself as the log file changes and it can display lines that were added or deleted. BareTail almost feels like a video player that is streaming what is happening to your log file.&lt;/p&gt;  &lt;p&gt;Apparently, the origin of the name Bare-Tail is from the UNIX tool that provides similar capability called “tail” (run as tail –f).&lt;/p&gt;  &lt;p&gt;It is definitely a tool that you should add to your dev-tools box.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;BareTail&lt;/strong&gt; - &lt;a href="http://www.baremetalsoft.com/baretail/"&gt;http://www.baremetalsoft.com/baretail/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NotePad++&lt;/strong&gt; - &lt;a href="http://notepad-plus.sourceforge.net/uk/site.htm"&gt;http://notepad-plus.sourceforge.net/uk/site.htm&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-2610692169248586322?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/2610692169248586322/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=2610692169248586322&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2610692169248586322?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2610692169248586322?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/monitor-text-files-in-real-time.html" title="Monitor text files in real-time" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D08AQnw5eCp7ImA9WxNWF04.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-6210181927574488872</id><published>2009-10-16T17:30:00.001-06:00</published><updated>2009-10-16T17:30:43.220-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T17:30:43.220-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Misc" /><category scheme="http://www.blogger.com/atom/ns#" term="Funnies" /><title>Happy Diwali – Diwali song from the Office!</title><content type="html">&lt;embed width="320" height="240" src="http://www.spike.com/efp" quality="high" bgcolor="000000" name="efp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="flvbaseclip=2783725" allowfullscreen="true"&gt; &lt;/embed&gt;  &lt;div style="padding-bottom: 3px; background-color: #000; padding-left: 0px; width: 448px; padding-right: 0px; font-family: arial,helvetica,sans-serif; color: #fff; font-size: 12px; padding-top: 3px"&gt;&lt;a style="color: #ffcc35; margin-left: 5px" href="http://www.spike.com/video/office-michaels-adam/2783725"&gt;The Office - Michael's Adam Sandler Impression&lt;/a&gt; | &lt;a style="color: #ffcc35" href="http://www.spike.com/channel/movies"&gt;Movies &amp;amp; TV&lt;/a&gt; | &lt;a style="color: #ffcc35" href="http://www.spike.com/"&gt;SPIKE.com&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/7656888-6210181927574488872?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/6210181927574488872/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=6210181927574488872&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6210181927574488872?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6210181927574488872?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/happy-diwali-diwali-song-from-office.html" title="Happy Diwali – Diwali song from the Office!" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkMFQnY4eCp7ImA9WxNWFkk.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-816208018166838487</id><published>2009-10-15T17:13:00.001-06:00</published><updated>2009-10-15T17:13:33.830-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-15T17:13:33.830-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><title>TFS – Forcing refresh of reports</title><content type="html">&lt;p&gt;The data that is used by TFS in its reports is stored in a SQL Analysis Services database. This data is stored in an OLAP cube. The cube is not update in real-time, which is the reason that TFS sometimes shows out of date information in its reports.&lt;/p&gt; &lt;p&gt;Fortunately, there is a way to &lt;strong&gt;request*&lt;/strong&gt; for the cube to be updated. To do this, you need to log in to your TFS server. Open a browser and browse to:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;http://localhost:8080/Warehouse/v1.0/WarehouseController.asmx&lt;br&gt;Select the “&lt;strong&gt;Run&lt;/strong&gt;” method, then click the Invoke button.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;You should receive a XML response with the value true in it. A value of true signals that the OLAP update process has been started. Now to determine when the update process has completed, you can invoke the “&lt;strong&gt;GetWarehouseStatus&lt;/strong&gt;” method. This will return the values “Idle” or “Processing Olap”. The ware-house is refreshed once you get the Idle response status.&amp;nbsp; &lt;p&gt;*The reason that I said “request” is that in practice I have found that Sql Server Analysis Services does not always begun refreshing the cube and will always return the Idle response. In this case – go home and come back the next day – by when it should update the cube.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-816208018166838487?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/816208018166838487/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=816208018166838487&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/816208018166838487?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/816208018166838487?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/tfs-forcing-refresh-of-reports.html" title="TFS – Forcing refresh of reports" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEAHRn46eSp7ImA9WxNWE0s.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-2127311175330395122</id><published>2009-10-12T09:52:00.001-06:00</published><updated>2009-10-12T09:52:17.011-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-12T09:52:17.011-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Code Sample" /><category scheme="http://www.blogger.com/atom/ns#" term="JQuery" /><title>jQuery UI Dialog and Positioning</title><content type="html">&lt;p&gt;Sometimes the default and automatic center positioning of a jQuery dialog upon opening does not work. &lt;/p&gt; &lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;jQuery(&lt;span class="str"&gt;"#dialogDiv"&lt;/span&gt;).dialog({ height: &lt;span class="str"&gt;'auto'&lt;/span&gt;, modal: &lt;span class="kwrd"&gt;true&lt;/span&gt;, width: 400, autoOpen: &lt;span class="kwrd"&gt;false&lt;/span&gt;, position: &lt;span class="str"&gt;'center'&lt;/span&gt; });&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I found the following code works to position the jQuery UI dialog in the center of the screen:&lt;/p&gt;
&lt;div class="csharpcode-wrapper"&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; x = document.body.clientWidth / 2;
&lt;span class="kwrd"&gt;var&lt;/span&gt; y = document.body.clientHeight / 2;
&lt;span class="kwrd"&gt;var&lt;/span&gt; dlg = jQuery(&lt;span class="str"&gt;"#dialogDiv"&lt;/span&gt;);
dlg.dialog(&lt;span class="str"&gt;'option'&lt;/span&gt;, &lt;span class="str"&gt;'position'&lt;/span&gt;, [x, y]); &lt;span class="rem"&gt;//dlg.dialog('option', 'position', 'center');&lt;/span&gt;
dlg.dialog(&lt;span class="str"&gt;'open'&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-2127311175330395122?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/2127311175330395122/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=2127311175330395122&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2127311175330395122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/2127311175330395122?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/jquery-ui-dialog-and-positioning.html" title="jQuery UI Dialog and Positioning" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;Ck8MRnkyfSp7ImA9WxNWEkk.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-4027549370407190852</id><published>2009-10-11T00:01:00.001-06:00</published><updated>2009-10-11T00:01:27.795-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-11T00:01:27.795-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="DotNetNuke" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net" /><category scheme="http://www.blogger.com/atom/ns#" term="Developer" /><title>Two DNN issues I had to fight with this weekend</title><content type="html">&lt;p&gt;Had to really weird DotNetNuke (DNN) issues to work through that had me working most of this weekend. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The first one had to do with what manifested as a javascript error - “&lt;em&gt;this.container&lt;/em&gt;.&lt;em&gt;parentnode&lt;/em&gt; is null or not an object”&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The issue turned out to be because I was using the JQuery javascript library. The library provides the $ macro as a shortcut to jQuery. But DNN already uses the $ macro, which causes issues. Fortunately, the fix is simple. Call the following method in a script block in the head of the document:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;   &lt;pre id="codeSnippet" class="csharpcode"&gt;jQuery.noConflict();&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;This stops jQuery from trying to use the $ alias. Which means that you cannot use the $ alias to select DOM objects. Instead, whereever you use $ to work with JQuery, you need to directly reference the library using “jQuery”.&lt;/p&gt;

&lt;p&gt;eg: $(document) becomes jQuery(document)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The second issue had to do with ViewState and a user control that was loaded using LoadControl&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In other words, the user-control was being loaded dynamically using the LoadControl module. For the most part, the control was working. What was not working was the ListBox was not keeping its SelectedItem value, after I had selected an item in the ListBox and then clicked a button that caused a post-back.&lt;/p&gt;

&lt;p&gt;After running around in many many circles, the thought that I have is that its because the ViewState is not working correctly. (The user-control works fine if I directly reference the user-control in a aspx page. The problem only occurs when the user-control is added dynamically using the LoadControl module).&lt;/p&gt;

&lt;p&gt;The way I worked around this issue is that whenever I added items to the ListBox, I stored the items to the Session object. I then over-rode the OnInit method, and use the items in the Session object to load into the ListBox. The reason that I think this solution works is that the view-state is not working correctly and so I am giving the control a helping hand by filling it with the values that it should have after a post-back. All other events occur after the OnInit method has been called, allowing the SelectedItem to be correctly set.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-4027549370407190852?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/4027549370407190852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=4027549370407190852&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/4027549370407190852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/4027549370407190852?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/two-dnn-issues-i-had-to-fight-with-this.html" title="Two DNN issues I had to fight with this weekend" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkcESX8_eyp7ImA9WxNWEkk.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-4036860574449838845</id><published>2009-10-10T23:46:00.001-06:00</published><updated>2009-10-10T23:46:48.143-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-10T23:46:48.143-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title>Messaging &amp; Positioning 101</title><content type="html">&lt;p&gt;From &lt;a href="http://www.batesstrategygroup.com/blog/"&gt;Camberely Bates&lt;/a&gt; presentation at the New Tech group (&lt;a href="http://www.facebook.com/video/video.php?v=151076770697&amp;amp;ref=mf"&gt;video&lt;/a&gt;):&lt;/p&gt;  &lt;p&gt;For who: Identify your customer&lt;/p&gt;  &lt;p&gt;Does what: what problem does it solve or how does it improve my life/job&lt;/p&gt;  &lt;p&gt;Unlike: what differentiates you from the competition&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-4036860574449838845?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/4036860574449838845/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=4036860574449838845&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/4036860574449838845?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/4036860574449838845?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/messaging-positioning-101.html" title="Messaging &amp;amp; Positioning 101" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0YMRXw-eSp7ImA9WxNWEk8.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-6130627822571798855</id><published>2009-10-10T18:32:00.001-06:00</published><updated>2009-10-10T18:33:04.251-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-10T18:33:04.251-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iPhone Apps" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone - Tips n Tricks" /><title>iPhone – Applications start and shut down immediately</title><content type="html">&lt;p&gt;Since last night, my iPhone had started acting weirdly. Every 3rd party application that I attempted to use would start up and immediately shut down. The only applications that worked were the ones that came with the iPhone originally.&lt;/p&gt;  &lt;p&gt;Most posts that I read prescribed that I wipe out the iPhone and reinstall everything – that would take too long and didnt sound like the way I wanted to spend my weekend. So on a whim I tried a couple of steps and voila! all applications began working again.&lt;/p&gt;  &lt;p&gt;Here are those steps:&lt;/p&gt;  &lt;p&gt;1. Perform a complete shut-down of the iPhone. (Hold the round button on the face and the power button on the top of the iPhone for a few seconds and the iPhone will perform a hard shut down).&lt;/p&gt;  &lt;p&gt;2. Start up the iPhone.&lt;/p&gt;  &lt;p&gt;3. Now install some new app that you dont have already on your iPhone.&lt;/p&gt;  &lt;p&gt;4. Try opening one of the apps that wasnt working. (Cross your fingers, cause if it doesn't work – then you might be out of luck and might have to do a complete reinstall). If the app does work – then rejoice – you just kicked the iPhone back into behaving correctly.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-6130627822571798855?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/6130627822571798855/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=6130627822571798855&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6130627822571798855?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/6130627822571798855?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/iphone-applications-start-and-shut-down.html" title="iPhone – Applications start and shut down immediately" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEEERHszcSp7ImA9WxNWEU0.&quot;"><id>tag:blogger.com,1999:blog-7656888.post-1252954220521543768</id><published>2009-10-09T10:43:00.001-06:00</published><updated>2009-10-09T10:43:25.589-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-09T10:43:25.589-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="JQuery" /><title>JQuery – Attribute Filters</title><content type="html">&lt;p&gt;JQuery attribute filters make it easy to select and modify particular attributes in your HTML DOM.&lt;/p&gt;  &lt;p&gt;For example: if you wanted to hide all links in a page, here is what you need to do&lt;/p&gt;  &lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;   &lt;pre id="codeSnippet" class="csharpcode"&gt;$(&lt;span class="str"&gt;&amp;quot;a[href]&amp;quot;&lt;/span&gt;).toggle();&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;But what if you need to hide only some of the links on your page? &lt;/p&gt;

&lt;p&gt;Maybe the one that links to “http://www.ai.com/”&lt;/p&gt;

&lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;
  &lt;pre id="codeSnippet" class="csharpcode"&gt;$(&lt;span class="str"&gt;&amp;quot;a[href='http://www.ai.com/']&amp;quot;&lt;/span&gt;).toggle();&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Maybe all the ones that have google in the href….&lt;/p&gt;

&lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;
  &lt;pre id="codeSnippet" class="csharpcode"&gt;$(&lt;span class="str"&gt;&amp;quot;a[href*='google']&amp;quot;&lt;/span&gt;).toggle();&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;(the key to above filter is the “*” – which matches anywhere in the attribute’s value)&lt;/p&gt;

&lt;p&gt;Maybe all the ones that end with org&lt;/p&gt;

&lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;
  &lt;pre id="codeSnippet" class="csharpcode"&gt;$(&lt;span class="str"&gt;&amp;quot;a[href$='org']&amp;quot;&lt;/span&gt;).toggle();&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;(the key to the above filter is the “$” – which matches to the end of the attribute’s value)&lt;/p&gt;

&lt;p&gt;Maybe all the ones that begin with &lt;a href="http://doc"&gt;http://doc&lt;/a&gt;&lt;/p&gt;

&lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;
  &lt;pre id="codeSnippet" class="csharpcode"&gt;$(&lt;span class="str"&gt;&amp;quot;a[href^='http://docs']&amp;quot;&lt;/span&gt;).toggle();&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;(here the the key is the “^” character – which matches only to the beginning of the attribute’s value)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are important points to remember:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The filters are case sensitive. (I dont think there is a way to make them case-insensitive)&lt;/li&gt;

  &lt;li&gt;Unlike regular RegEx expressions – you do not need to escape characters (such as “/” and “&amp;amp;”)&lt;/li&gt;

  &lt;li&gt;This was true as of JQuery 1.3.2&lt;/li&gt;
&lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7656888-1252954220521543768?l=blog.aggregatedintelligence.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.aggregatedintelligence.com/feeds/1252954220521543768/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7656888&amp;postID=1252954220521543768&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/1252954220521543768?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7656888/posts/default/1252954220521543768?v=2" /><link rel="alternate" type="text/html" href="http://blog.aggregatedintelligence.com/2009/10/jquery-attribute-filters.html" title="JQuery – Attribute Filters" /><author><name>Raj M. Rao</name><uri>http://www.blogger.com/profile/02773005045522319448</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10575907043564245607" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry></feed>
