<?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-16592936</id><updated>2011-11-27T18:21:30.357-05:00</updated><category term='solr'/><category term='javascript'/><category term='off grid'/><category term='genome compression'/><category term='technical tips'/><category term='jackcards'/><category term='telluride'/><category term='offline'/><category term='domino lotus diiop java'/><category term='hallmark'/><category term='peel island'/><category term='osx'/><category term='library'/><category term='holiday reminder'/><category term='pubget'/><category term='deepdyve'/><category term='hotwire'/><category term='anti-spam'/><category term='travel'/><category term='download'/><category term='iphone'/><category term='social networking'/><category term='ibm'/><category term='profiles'/><category term='science wiki'/><category term='libguide'/><category term='amazon'/><category term='espresso'/><category term='rss'/><category term='rails'/><category term='family'/><category term='happiness networks'/><category term='domain'/><category term='mit'/><category term='science'/><category term='paper'/><category term='linux'/><category term='research'/><category term='mysql'/><category term='vacation'/><category term='quickplace'/><category term='ajax'/><category term='vacccine'/><category term='sftp'/><category term='programming'/><category term='fiend connect'/><category term='culture'/><category term='startup'/><category term='aix'/><category term='lucene'/><category term='ssh'/><category term='motivational'/><category term='iphone ringtone'/><category term='outlook quickplace ics ical'/><category term='blog'/><category term='pubmed'/><category term='pdf'/><category term='harvard'/><category term='networks'/><category term='guarantee'/><category term='latest'/><category term='australia trip'/><category term='shard'/><category term='lotusscript'/><category term='domino'/><category term='unix'/><category term='search'/><category term='google reader'/><category term='coffee'/><category term='greeting cards'/><category term='public tv'/><category term='skiing'/><category term='solar'/><category term='replication'/><category term='double difference'/><category term='money'/><title type='text'>Ian Connor</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default?start-index=101&amp;max-results=100'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>119</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16592936.post-2305317657184323709</id><published>2011-06-11T18:43:00.002-04:00</published><updated>2011-06-11T18:45:35.292-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='technical tips'/><title type='text'>My technical tips have moved</title><content type='html'>I am moving the odd technical tips that I post over to the &lt;a href="http://tech.pubget.com/"&gt;Pubget Tech blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My first is about &lt;a href="http://tech.pubget.com/2011/06/quick-ruby-on-rails-mysql-gem-on-osx.html"&gt;installing the MySQL gem on the latest OSX software and hardware&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So please check it out and add it to your RSS feeds. It will be worth it - thanks.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-2305317657184323709?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/2305317657184323709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=2305317657184323709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2305317657184323709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2305317657184323709'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2011/06/my-technical-tips-have-moved.html' title='My technical tips have moved'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-749901017072699713</id><published>2010-03-31T23:39:00.002-04:00</published><updated>2010-04-12T11:34:46.207-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><title type='text'>New journal available at Pubget</title><content type='html'>The April 1st inaugural issue of the &lt;a href="http://pubget.com/search?q=ncbirofl%3Apapers"&gt;Journal of Human Curiosity&lt;/a&gt; is available at &lt;a href="http://pubget.com"&gt;Pubget&lt;/a&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sTBR2oqToZI/S7QVkgl7w1I/AAAAAAAABlk/vj9svyE31Bk/s1600/Screen+shot+2010-03-31+at+11.38.14+PM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 161px;" src="http://4.bp.blogspot.com/_sTBR2oqToZI/S7QVkgl7w1I/AAAAAAAABlk/vj9svyE31Bk/s320/Screen+shot+2010-03-31+at+11.38.14+PM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5455008765621027666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: Thanks all who enjoyed this April fools joke. You can see this still at  &lt;a href="http://pubget.com/search?q=ncbirofl%3Apapers"&gt;http://pubget.com/search?q=ncbirofl%3Apapers&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-749901017072699713?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/749901017072699713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=749901017072699713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/749901017072699713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/749901017072699713'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2010/03/new-journal-available-at-pubget.html' title='New journal available at Pubget'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sTBR2oqToZI/S7QVkgl7w1I/AAAAAAAABlk/vj9svyE31Bk/s72-c/Screen+shot+2010-03-31+at+11.38.14+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5108813218522764635</id><published>2010-01-15T08:28:00.001-05:00</published><updated>2010-01-15T08:28:43.560-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacation'/><category scheme='http://www.blogger.com/atom/ns#' term='telluride'/><category scheme='http://www.blogger.com/atom/ns#' term='skiing'/><title type='text'>Enjoying skiing</title><content type='html'>Taking a little vacation in Telluride, CO - it is a really nice place if you plan to visit.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.kimdowds.com/uploaded_images/IMG_0434-736086.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://www.kimdowds.com/uploaded_images/IMG_0434-736060.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5108813218522764635?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5108813218522764635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5108813218522764635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5108813218522764635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5108813218522764635'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2010/01/enjoying-skiing.html' title='Enjoying skiing'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6080785719765973116</id><published>2009-12-11T08:55:00.002-05:00</published><updated>2009-12-11T08:59:39.729-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='holiday reminder'/><category scheme='http://www.blogger.com/atom/ns#' term='jackcards'/><category scheme='http://www.blogger.com/atom/ns#' term='greeting cards'/><category scheme='http://www.blogger.com/atom/ns#' term='hallmark'/><title type='text'>Jackcards vs. Hallmark</title><content type='html'>I received my holiday reminder from Jackcards and Hallmark today. It is amazing the difference between the emails. Jackcards.com does it so much better!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sTBR2oqToZI/SyJPiNiQNHI/AAAAAAAABlY/zYXWV3m_KHA/s1600-h/Screen+shot+2009-12-11+at+8.53.57+AM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 153px;" src="http://1.bp.blogspot.com/_sTBR2oqToZI/SyJPiNiQNHI/AAAAAAAABlY/zYXWV3m_KHA/s320/Screen+shot+2009-12-11+at+8.53.57+AM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5413977151220233330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jackcards.com"&gt;Jack Cards&lt;/a&gt; - your doing it right!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6080785719765973116?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6080785719765973116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6080785719765973116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6080785719765973116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6080785719765973116'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/12/jackcards-vs-hallmark.html' title='Jackcards vs. Hallmark'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sTBR2oqToZI/SyJPiNiQNHI/AAAAAAAABlY/zYXWV3m_KHA/s72-c/Screen+shot+2009-12-11+at+8.53.57+AM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5367907748364681613</id><published>2009-11-22T06:02:00.004-05:00</published><updated>2009-11-22T06:07:19.849-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='peel island'/><category scheme='http://www.blogger.com/atom/ns#' term='australia trip'/><title type='text'>Pubget team in Horse Shoe Bay, Peel Island</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sTBR2oqToZI/Swkar1kW7oI/AAAAAAAABlA/eidvEZXCqus/s1600/Screen+shot+2009-11-22+at+5.58.04+AM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 228px;" src="http://1.bp.blogspot.com/_sTBR2oqToZI/Swkar1kW7oI/AAAAAAAABlA/eidvEZXCqus/s320/Screen+shot+2009-11-22+at+5.58.04+AM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5406882168051265154" /&gt;&lt;/a&gt;&lt;br /&gt;We took a trip out to &lt;a href="http://tinyurl.com/yk6md77"&gt;Peel Island&lt;/a&gt; this weekend. The trip to Australia is going very well and everyone is having a great time.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5367907748364681613?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5367907748364681613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5367907748364681613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5367907748364681613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5367907748364681613'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/11/pubget-team-in-horse-shoe-bay-peel.html' title='Pubget team in Horse Shoe Bay, Peel Island'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sTBR2oqToZI/Swkar1kW7oI/AAAAAAAABlA/eidvEZXCqus/s72-c/Screen+shot+2009-11-22+at+5.58.04+AM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-2819803788272886341</id><published>2009-10-28T23:55:00.001-04:00</published><updated>2009-10-28T23:57:35.532-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='deepdyve'/><title type='text'>DeepDyve - Charging $0.99 for Free Content?</title><content type='html'>From: &lt;a href="http://pubgetteam.blogspot.com/2009/10/deepdyve-charging-099-for-free-content.html"&gt;DeepDyve - Charging $0.99 for Free Content?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;...it seems like a lot of DeepDyve's content is free, yet it charges for access to some of it. Take for example an article from the Journal of Leukocyte Biology...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-2819803788272886341?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/2819803788272886341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=2819803788272886341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2819803788272886341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2819803788272886341'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/10/deepdyve-charging-099-for-free-content.html' title='DeepDyve - Charging $0.99 for Free Content?'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-1031722849740801274</id><published>2009-10-22T17:10:00.001-04:00</published><updated>2009-10-22T17:12:08.647-04:00</updated><title type='text'>Patient BMI was associated with lower physician respect</title><content type='html'>I guess staying within the normal BMI helps get respect as well: &lt;a href="http://pubget.com/paper/pgtmp_1d3ecf6c0689ba24ce512666b23f89cc?title=Physician%20Respect%20for%20Patients%20with%20Obesity"&gt;Physician Respect for Patients with Obesity. J Gen Intern Med : (2009)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-1031722849740801274?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/1031722849740801274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=1031722849740801274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1031722849740801274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1031722849740801274'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/10/patient-bmi-was-associated-with-lower.html' title='Patient BMI was associated with lower physician respect'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8372415194074657234</id><published>2009-09-08T10:46:00.001-04:00</published><updated>2009-09-08T10:48:10.560-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='solar'/><category scheme='http://www.blogger.com/atom/ns#' term='off grid'/><title type='text'>Our office mate's startup</title><content type='html'>&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QRF9JiIu4zk&amp;hl=en&amp;fs=1&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/QRF9JiIu4zk&amp;hl=en&amp;fs=1&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;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8372415194074657234?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8372415194074657234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8372415194074657234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8372415194074657234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8372415194074657234'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/09/our-office-mates-startup.html' title='Our office mate&apos;s startup'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6358445544413226736</id><published>2009-08-23T21:26:00.004-04:00</published><updated>2009-08-23T22:14:10.928-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Added search Pubget directly from my blog</title><content type='html'>If you want to try a search on Pubget, you can right from here now. Also, if you want to add the code to your blog or libguide, please feel free!&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;!-- Search Pubget --&amp;gt;&lt;br /&gt;&amp;lt;center&amp;gt;&lt;br /&gt;&amp;lt;form action=&amp;quot;http://pubget.com/search&amp;quot; method=&amp;quot;GET&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;input value=&amp;quot;UTF-8&amp;quot; name=&amp;quot;ie&amp;quot; type=&amp;quot;hidden&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;input value=&amp;quot;UTF-8&amp;quot; name=&amp;quot;oe&amp;quot; type=&amp;quot;hidden&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;table bgcolor=&amp;quot;#FFFFFF&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;http://pubget.com/&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;img alt=&amp;quot;Pubget&amp;quot; src=&amp;quot;http://assets0.pubget.com/images/powered_by_pubget.gif&amp;quot;&lt;br /&gt;border=&amp;quot;0&amp;quot; align=&amp;quot;absmiddle&amp;quot;/ /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;input maxlength=&amp;quot;255&amp;quot; value=&amp;quot;&amp;quot; name=&amp;quot;q&amp;quot; size=&amp;quot;25&amp;quot; type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;input value=&amp;quot;Pubget Search&amp;quot; name=&amp;quot;btnG&amp;quot; type=&amp;quot;submit&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/center&amp;gt;&lt;br /&gt;&amp;lt;!-- Search Pubget --&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6358445544413226736?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6358445544413226736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6358445544413226736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6358445544413226736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6358445544413226736'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/08/added-search-pubget-directly-from-my.html' title='Added search Pubget directly from my blog'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6247600532717501369</id><published>2009-07-22T17:47:00.002-04:00</published><updated>2009-07-22T17:53:42.640-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='science wiki'/><title type='text'>New Wet Lab Wiki up at MIT</title><content type='html'>There is a new science focused wiki available here: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://openwetware.org/wiki/Main_Page"&gt;OpenWetWare&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is a place for Wet Lab researchers to host and share information. It also provides some easy linking methods to Papers through &lt;a href="http://pubget.com"&gt;Pubget&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6247600532717501369?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6247600532717501369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6247600532717501369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6247600532717501369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6247600532717501369'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/07/new-wet-lab-wiki-up-at-mit.html' title='New Wet Lab Wiki up at MIT'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-2030533228449913375</id><published>2009-07-10T12:42:00.002-04:00</published><updated>2009-07-10T13:41:46.366-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><title type='text'>I like coffee</title><content type='html'>&lt;a href="http://pubget.com/paper/19581722"&gt;Caffeine Reverses Cognitive Impairment and Decreases Brain Amyloid-beta Levels in Aged Alzheimer's Disease Mice.&lt;/a&gt; From a new paper published: J Alzheimers Dis 17(3):661-80 (2009)&lt;br /&gt;...We have recently shown that Alzheimer's disease (AD) transgenic mice given a moderate level of caffeine intake (the human equivalent of 5 cups of coffee per day) are protected from development of otherwise certain cognitive impairment and have decreased hippocampal amyloid-beta (Abeta) levels due to suppression of both beta-secretase (BACE1) and presenilin 1 (PS1)/gamma-secretase expression.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-2030533228449913375?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/2030533228449913375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=2030533228449913375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2030533228449913375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2030533228449913375'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/07/i-like-coffee.html' title='I like coffee'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-7468699919961035499</id><published>2009-07-02T17:15:00.002-04:00</published><updated>2009-07-02T17:17:16.859-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Setup of MySql on OSX for Rails</title><content type='html'>You would think this would be as easy as "sudo gem install mysql" but it is not. After installing the MySql community server, you need to install via this command:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After that, you will be in business.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-7468699919961035499?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/7468699919961035499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=7468699919961035499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7468699919961035499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7468699919961035499'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/07/setup-of-mysql-on-osx-for-rails.html' title='Setup of MySql on OSX for Rails'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6446834969688802836</id><published>2009-04-28T13:23:00.003-04:00</published><updated>2009-04-28T13:27:06.775-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><category scheme='http://www.blogger.com/atom/ns#' term='espresso'/><title type='text'>Real Companies Have Espresso Machines</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sTBR2oqToZI/Sfc8EAIUtqI/AAAAAAAABkQ/wMauzKqqep8/s1600-h/IMG_0575.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_sTBR2oqToZI/Sfc8EAIUtqI/AAAAAAAABkQ/wMauzKqqep8/s320/IMG_0575.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5329794723468326562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pubget.com"&gt;Pubget&lt;/a&gt; just installed its first espresso machines. Matt, Chris, Ryan, Ramy and I will now have an endless supply of high quality espresso to keep us going.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6446834969688802836?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6446834969688802836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6446834969688802836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6446834969688802836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6446834969688802836'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/04/real-companies-have-espresso-machines.html' title='Real Companies Have Espresso Machines'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_sTBR2oqToZI/Sfc8EAIUtqI/AAAAAAAABkQ/wMauzKqqep8/s72-c/IMG_0575.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6535472192712597422</id><published>2009-04-07T16:30:00.003-04:00</published><updated>2009-06-03T16:43:28.096-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><title type='text'>Pubget is a Featured Resource at UCSF</title><content type='html'>Pubget is now a "Featured Resource" on the &lt;a href="http://www.library.ucsf.edu/collections/trials"&gt;UCSF Library Page&lt;/a&gt;.&lt;br /&gt;Thanks to all that have sat in on the meetings and worked with us at UCSF.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6535472192712597422?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6535472192712597422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6535472192712597422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6535472192712597422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6535472192712597422'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/04/pubget-is-featured-resources-at-ucsf.html' title='Pubget is a Featured Resource at UCSF'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-1225254081090011801</id><published>2009-03-22T12:43:00.003-04:00</published><updated>2009-03-22T12:45:09.534-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domain'/><category scheme='http://www.blogger.com/atom/ns#' term='startup'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>The only way to search domains</title><content type='html'>I have been using &lt;a href="http://www.bustaname.com/?rid=515461"&gt;Bust A Name&lt;/a&gt; to search domains for a while.&lt;br /&gt;It allows you to play with meaningful words to your business to try and put them into a .com or other domain.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-1225254081090011801?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/1225254081090011801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=1225254081090011801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1225254081090011801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1225254081090011801'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/03/only-way-to-search-domains.html' title='The only way to search domains'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-7948064523103581735</id><published>2009-03-03T19:22:00.002-05:00</published><updated>2009-03-03T19:26:23.485-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='offline'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='paper'/><title type='text'>Download all papers from Firefox within Pubget</title><content type='html'>We have just put up a new Firefox extension to allow downloading all PDFs for offline use.&lt;br /&gt;&lt;a href=" http://pubget.com/pubget.xpi"&gt;&lt;br /&gt;http://pubget.com/pubget.xpi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Saj8f7PJi1w&amp;hl=en&amp;fs=1"&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/Saj8f7PJi1w&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;To use this you need:&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://pubget.com"&gt;Pubget&lt;/a&gt; account (which is free);&lt;br /&gt;2. Firefox (we have tested both OSX and Windows); and optionally&lt;br /&gt;3. University or Hospital Library Access support by Pubget to get access to Journals.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-7948064523103581735?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/7948064523103581735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=7948064523103581735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7948064523103581735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7948064523103581735'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/03/download-all-papers-from-firefox-within.html' title='Download all papers from Firefox within Pubget'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-7958549821543293346</id><published>2009-03-03T16:33:00.001-05:00</published><updated>2009-03-03T16:35:32.549-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='google reader'/><category scheme='http://www.blogger.com/atom/ns#' term='latest'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><title type='text'>Pubget via Google Reader</title><content type='html'>This is a quick way to subscribe to a number of journals and keep updated on all the latest research in your area.&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mwgmDc_TTrs&amp;hl=en&amp;fs=1"&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/mwgmDc_TTrs&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Not only are you kept up to date, but also connected directly to the full text paper through your university library.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-7958549821543293346?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/7958549821543293346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=7958549821543293346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7958549821543293346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7958549821543293346'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/03/pubget-via-google-reader.html' title='Pubget via Google Reader'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-3384369744493802521</id><published>2009-02-17T10:30:00.008-05:00</published><updated>2009-02-17T10:55:26.469-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='double difference'/><category scheme='http://www.blogger.com/atom/ns#' term='hotwire'/><category scheme='http://www.blogger.com/atom/ns#' term='guarantee'/><title type='text'>Double the Difference minus labor cost</title><content type='html'>We just booked a hotel in Miami through Hotwire for $209 per night. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sTBR2oqToZI/SZrYYnkI3qI/AAAAAAAABjg/Gt1oWW2M39A/s1600-h/Picture+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 284px; height: 202px;" src="http://3.bp.blogspot.com/_sTBR2oqToZI/SZrYYnkI3qI/AAAAAAAABjg/Gt1oWW2M39A/s320/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5303789428631199394" /&gt;&lt;/a&gt;&lt;br /&gt;However, once we found out who the booking was through, we decided to double check the price. As it turned out, booking directly through the hotel, was cheaper:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sTBR2oqToZI/SZrYm-SRcNI/AAAAAAAABjo/S3JUcnXk1ok/s1600-h/Picture+4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 80px;" src="http://1.bp.blogspot.com/_sTBR2oqToZI/SZrYm-SRcNI/AAAAAAAABjo/S3JUcnXk1ok/s320/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5303789675248447698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sTBR2oqToZI/SZrYtoW0c5I/AAAAAAAABjw/VGGyRBoEpX4/s1600-h/Picture+3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 90px;" src="http://3.bp.blogspot.com/_sTBR2oqToZI/SZrYtoW0c5I/AAAAAAAABjw/VGGyRBoEpX4/s320/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5303789789621023634" /&gt;&lt;/a&gt;&lt;br /&gt;So, after researching their "double the difference" guarantee, we filled out their form to a link with the booking.&lt;br /&gt;The next day, we got an email back rejecting  the claim because it was an employee price.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sTBR2oqToZI/SZrZN3AZtsI/AAAAAAAABj4/Dixem06aRMI/s1600-h/Picture+5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 109px;" src="http://1.bp.blogspot.com/_sTBR2oqToZI/SZrZN3AZtsI/AAAAAAAABj4/Dixem06aRMI/s320/Picture+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5303790343309342402" /&gt;&lt;/a&gt;&lt;br /&gt;Am I too cynical, do I think Hotwire is just trying fob us off hoping we will give up and not bother with the claim? After a quick google search for "hotwire double rate guarantee", the 4th link seems to indicate this is not the case:&lt;br /&gt;&lt;a href="http://www.betterbidding.com/index.php?showtopic=3511&amp;pid=12654&amp;mode=threaded&amp;start="&gt;Hotel "Best rate guarantee" programs, My experiences.....&lt;/a&gt; (2nd comment)&lt;br /&gt;&lt;br /&gt;Time will tell - is this going to be another small claims experience?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-3384369744493802521?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/3384369744493802521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=3384369744493802521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3384369744493802521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3384369744493802521'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/02/double-difference-minus-labor-cost.html' title='Double the Difference minus labor cost'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sTBR2oqToZI/SZrYYnkI3qI/AAAAAAAABjg/Gt1oWW2M39A/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8274417790502036794</id><published>2009-02-16T20:19:00.002-05:00</published><updated>2009-02-16T20:21:04.996-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='fiend connect'/><title type='text'>Added The New Friend Connect Bar</title><content type='html'>I just added the friend connect bar down the bottom of my blog! Enjoy all the social network goodness that it displays!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8274417790502036794?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8274417790502036794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8274417790502036794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8274417790502036794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8274417790502036794'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/02/added-new-friend-connect-bar.html' title='Added The New Friend Connect Bar'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-329449591548584799</id><published>2009-02-03T14:16:00.002-05:00</published><updated>2009-02-03T14:21:50.397-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mit'/><category scheme='http://www.blogger.com/atom/ns#' term='libguide'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><title type='text'>Pubget made the MIT library cool list</title><content type='html'>&lt;a href="http://libguides.mit.edu/profile.php?uid=3695"&gt;Courtney Crummett&lt;/a&gt; has recently added Pubget to the MIT library libguide's cool tool section.&lt;br /&gt;&lt;br /&gt;The libguides are a way that MIT librarians can provide resource links and tips to help students and faculty get the most out of the MIT library.&lt;br /&gt;&lt;br /&gt;As &lt;a href="http://mit.pubget.com"&gt;mit.pubget.com&lt;/a&gt; links directly into the MIT Library holdings, it can help users get right to the PDF full text from a PubMed/Medline search.&lt;br /&gt;&lt;br /&gt;See: &lt;br /&gt;&lt;a href="http://libguides.mit.edu/medicine"&gt;http://libguides.mit.edu/medicine&lt;/a&gt;&lt;br /&gt;&lt;a href="http://libguides.mit.edu/biology"&gt;http://libguides.mit.edu/biology&lt;/a&gt;&lt;br /&gt;&lt;a href="http://libguides.mit.edu/bioinfo"&gt;http://libguides.mit.edu/bioinfo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-329449591548584799?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/329449591548584799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=329449591548584799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/329449591548584799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/329449591548584799'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/02/pubget-made-mit-library-cool-list.html' title='Pubget made the MIT library cool list'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-3292353611583190631</id><published>2009-02-03T07:59:00.004-05:00</published><updated>2009-02-03T08:06:20.302-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='profiles'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><category scheme='http://www.blogger.com/atom/ns#' term='harvard'/><title type='text'>Harvard Catalist Profiles</title><content type='html'>I just found a new project at Harvard based on the Catalyst &lt;a href="http://www.ncrr.nih.gov/clinical_research_resources/clinical_and_translational_science_awards/consortium_directory/planning_grant_awardees.asp"&gt;CTSA&lt;/a&gt; grant. It is a social network for researchers.&lt;br /&gt;&lt;br /&gt;If you look at &lt;a href="https://connects.catalyst.harvard.edu/PROFILES/ProfileDetails.aspx?Person=RAA4"&gt;Dr. Ramy Arnaout's Profile&lt;/a&gt;, you can see the similar people as well as a place for him to maintain his publications.&lt;br /&gt;&lt;br /&gt;In IBM we had a similar system called Blue Pages and this looks very similar for the research space instead of the enterprise.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-3292353611583190631?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/3292353611583190631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=3292353611583190631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3292353611583190631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3292353611583190631'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/02/harvard-catalist-profiles.html' title='Harvard Catalist Profiles'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5937568354087469279</id><published>2009-02-02T13:15:00.001-05:00</published><updated>2009-02-02T13:18:01.182-05:00</updated><title type='text'>Not to die thanks!</title><content type='html'>An American was knocked unconscious in a serious accident while traveling in Australia. The ambulance took him to a local hospital for treatment. &lt;br /&gt;&lt;br /&gt;While he finally woke up he asked the nurse, "Was I brought here to die?"&lt;br /&gt;&lt;br /&gt;"No," said the nurse. "You were brought in here yesterday."&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5937568354087469279?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5937568354087469279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5937568354087469279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5937568354087469279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5937568354087469279'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/02/not-to-die-thanks.html' title='Not to die thanks!'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-1589662172298197909</id><published>2009-01-19T18:33:00.002-05:00</published><updated>2009-01-19T18:42:11.846-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='genome compression'/><title type='text'>Human genomes as email attachments</title><content type='html'>A new paper by &lt;a href="http://pubget.com/site/article/authors:%22Scott%20Christley%22"&gt;Scott Christley&lt;/a&gt;, &lt;a href="http://pubget.com/site/article/authors:%22Yiming%20Lu%22"&gt;Yiming Lu&lt;/a&gt;, &lt;a href="http://pubget.com/site/article/authors:%22Chen%20Lu%22"&gt;Chen Li&lt;/a&gt; and &lt;a href="http://pubget.com/site/article/authors:%22Xiaohui%20Xie%22"&gt;Xiaohui Xie&lt;/a&gt; is available and talks about additional compression abilities available at the genome level.&lt;br /&gt;&lt;br /&gt;They identified 4 ways to reduce the size:&lt;br /&gt;1. Only use the number of bits needed;&lt;br /&gt;2. Store relative instead of absolute positions;&lt;br /&gt;3. Generalize variations and store the variations; and&lt;br /&gt;4. Store non-random repeats as such.&lt;br /&gt;&lt;br /&gt;If I get some time, I would really love to try out the code they provide in the article.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pubget.com/site/article/pgtmp_5ea24d21-bad1-215e-e864-5bbab23c9e56?title=Human%20genomes%20as%20email%20attachments"&gt;Human genomes as email attachments&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-1589662172298197909?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/1589662172298197909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=1589662172298197909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1589662172298197909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1589662172298197909'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2009/01/human-genomes-as-email-attachments.html' title='Human genomes as email attachments'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-37172802480784617</id><published>2008-12-19T23:19:00.003-05:00</published><updated>2008-12-19T23:23:51.525-05:00</updated><title type='text'>Pubget: Vreeman RC. Festive medical myths. BMJ 337:a2769 (2008)</title><content type='html'>Many holiday hazards are as just myths. A review in the current issue of the BMJ cites some of your fears that can scientifically be crossed off any holiday worry list. &lt;br /&gt;&lt;a href="http://pubget.com/search?q=pmid:19091758"&gt;&lt;br /&gt;Pubget: Vreeman RC. Festive medical myths. BMJ 337:a2769 (2008)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-37172802480784617?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/37172802480784617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=37172802480784617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/37172802480784617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/37172802480784617'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/12/pubget-vreeman-rc-festive-medical-myths.html' title='Pubget: Vreeman RC. Festive medical myths. BMJ 337:a2769 (2008)'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5475615518175669755</id><published>2008-12-18T16:46:00.003-05:00</published><updated>2008-12-18T16:54:19.698-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='money'/><title type='text'>Bill Gates makes $1000/minute ... really?</title><content type='html'>I just came across a really dodgy get rich quick ad from google.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sTBR2oqToZI/SUrE-fN9uAI/AAAAAAAABjE/vMKLM4wgcZQ/s1600-h/Picture+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 223px; height: 85px;" src="http://3.bp.blogspot.com/_sTBR2oqToZI/SUrE-fN9uAI/AAAAAAAABjE/vMKLM4wgcZQ/s320/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5281250090856331266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, according to Forbes, he has been one of &lt;a href="http://www.forbes.com/2008/12/16/billionaires-adelson-casino-biz-billies-cz_dg_1216biggestlosers.html"&gt;America's biggest billionaire losers&lt;/a&gt; where he actually just lost $12.3 billion in the last 11 months.&lt;br /&gt;&lt;br /&gt;So, if there where 335 days between January and December 2008, and there are 86400 seconds in every day, this means he actually lost $422/second or just over $25k/minute.&lt;br /&gt;&lt;br /&gt;Compared to that, I am actually doing just fine - no need to get rich quick if that is the benchmark :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5475615518175669755?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5475615518175669755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5475615518175669755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5475615518175669755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5475615518175669755'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/12/bill-gates-makes-1000minute-really.html' title='Bill Gates makes $1000/minute ... really?'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sTBR2oqToZI/SUrE-fN9uAI/AAAAAAAABjE/vMKLM4wgcZQ/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8530216051461641595</id><published>2008-12-11T19:22:00.002-05:00</published><updated>2008-12-11T19:28:14.791-05:00</updated><title type='text'>Yet another reason to exercise</title><content type='html'>From this paper:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pubget.com/search?q=17347386"&gt;Exercise-induced suppression of acylated ghrelin in humans&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;it shows that exercise actually suppresses your appetite.&lt;br /&gt;&lt;br /&gt;"In conclusion, this study demonstrates that plasma acylated &lt;a href="http://en.wikipedia.org/wiki/Ghrelin"&gt;ghrelin&lt;/a&gt; concentration is reduced during an acute bout of tread- mill running, and this lends support for the role of acylated ghrelin in appetite suppression during and immediately after exercise."&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8530216051461641595?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8530216051461641595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8530216051461641595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8530216051461641595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8530216051461641595'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/12/yet-another-reason-to-exercise.html' title='Yet another reason to exercise'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5773409401896691400</id><published>2008-12-10T16:41:00.003-05:00</published><updated>2008-12-10T16:46:56.413-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacccine'/><title type='text'>When it comes to vaccines - why take more?</title><content type='html'>It seems that only half does flu shots are need according to this study published in &lt;a href="http://pubget.com/search?q=Archives+of+Internal+Medicine%5Blatest%5D"&gt;Archives of Internal Medicine&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pubget.com/site/article/pgtmp_0aceebf7-9399-4bff-3d0f-9635b7207696"&gt;Half- vs Full-Dose Trivalent Inactivated Influenza Vaccine (2004-2005): Age, Dose, and Sex Effects on Immune Responses. Arch Intern Med 168:2405 (2008)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;﻿﻿﻿&lt;span style="font-weight: bold;"&gt;Conclusions&lt;/span&gt;: Antibody responses to intramuscular half- dose TIV in healthy, previously immunized adults were not substantially inferior to the full-dose vaccine, particularly for ages 18 to 49 years.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5773409401896691400?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5773409401896691400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5773409401896691400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5773409401896691400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5773409401896691400'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/12/when-it-comes-to-vaccines-why-take-more.html' title='When it comes to vaccines - why take more?'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-879758234865662955</id><published>2008-12-08T23:34:00.003-05:00</published><updated>2008-12-08T23:44:56.870-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='happiness networks'/><title type='text'>Live close to your friends and hope they are happy</title><content type='html'>It seems such common sense, but so does a lot of things once they are studied. Here is a really interesting paper on the dynamics of how happiness spreads through your social connections.&lt;br /&gt;To me, the summary seems to be to live close to your friends and family and make them happy. If you do, you increase your chances of happiness also.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pubget.com/search?q=happiness+dynamic+networks+au:christakis"&gt;Dynamic spread of happiness in a large social network&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This also follows on from other work that shows the spread of &lt;a href="http://pubget.com/search?q=Christakis+NA%2C+Fowler+JH.+The+spread+of+obesity"&gt;obesity&lt;/a&gt;, &lt;a href="http://pubget.com/search?q=Christakis+NA%2C+Fowler+JH.+The+collective+dynamics+of+smoking+in+a+large++social+network"&gt;smoking&lt;/a&gt;, and other &lt;a href="http://pubget.com/search?q=christakis+na.+Social+networks+and+collateral+health+effects"&gt;health&lt;/a&gt; effects.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-879758234865662955?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/879758234865662955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=879758234865662955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/879758234865662955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/879758234865662955'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/12/live-close-to-your-friends-and-hope.html' title='Live close to your friends and hope they are happy'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-178504151221410343</id><published>2008-12-04T19:33:00.003-05:00</published><updated>2008-12-04T19:44:41.080-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='solr'/><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='lucene'/><category scheme='http://www.blogger.com/atom/ns#' term='shard'/><title type='text'>Pubget now on Solr</title><content type='html'>The latest version of &lt;a href="http://pubget.com"&gt;Pubget&lt;/a&gt; has been rolled out and it is now based on its own search index. It has over 18 million medical and scientific papers index with over 6 million PDF paths ready for use.&lt;br /&gt;&lt;br /&gt;The index is now &lt;a href="http://lucene.apache.org/solr/"&gt;Solr&lt;/a&gt; based and thus uses a new &lt;a href="http://pubget.com/site/help/use"&gt;lucene based query syntax&lt;/a&gt;. To search only open access articles, you can use the query string &lt;a href="http://pubget.com/search?q=access:open"&gt;access:open&lt;/a&gt; or alternatively you can limit your results by institution (e.g. &lt;a href="http://pubget.com/search?q=access:ucsf"&gt;access:ucsf&lt;/a&gt;, &lt;a href="http://pubget.com/search?q=access:harvard"&gt;access:harvard&lt;/a&gt;, &lt;a href="http://pubget.com/search?q=access:mit"&gt;access:mit&lt;/a&gt;, etc).&lt;br /&gt;&lt;br /&gt;I have been really impressed with Solr and its new 1.3 distributed sharding feature. It has allowed the use of low cost machines, amazon ec2, and s3 services.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-178504151221410343?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/178504151221410343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=178504151221410343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/178504151221410343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/178504151221410343'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/12/pubget-now-on-solr.html' title='Pubget now on Solr'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-1502945073378794171</id><published>2008-11-06T12:39:00.002-05:00</published><updated>2008-11-06T12:41:39.274-05:00</updated><title type='text'>Send a card to President Obama</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.jackcards.com/card/obama"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 270px; height: 77px;" src="http://assets0.jackcards.com/graphics/political_header.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Be one of the first to send your thoughts, ideas, and congratulations to President Obama.  Send him a card and help Jack Cards reach their goal of donating $1 million to charity. Yes We Can!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-1502945073378794171?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/1502945073378794171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=1502945073378794171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1502945073378794171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1502945073378794171'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/11/send-card-to-president-obama.html' title='Send a card to President Obama'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-1969023869157852844</id><published>2008-11-03T15:37:00.001-05:00</published><updated>2008-11-03T15:40:10.264-05:00</updated><title type='text'>Mysql and Ruby on Rails with OSX Leopard</title><content type='html'>To get mysql working on leopard. Run:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo env ARCHFLAGS="-arch i386" gem install mysql -- \&lt;br /&gt;  --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \&lt;br /&gt;  --with-mysql-include=/usr/local/mysql/include&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;then&lt;br /&gt;&lt;code&gt;&lt;br /&gt;cd /usr/local/mysql/lib &lt;br /&gt;sudo mkdir mysql&lt;br /&gt;sudo cp libmysqlclient.15.dylib mysql/libmysqlclient.15.dylib&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;It is a hack, but got it to compile for me.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-1969023869157852844?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/1969023869157852844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=1969023869157852844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1969023869157852844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1969023869157852844'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/11/mysql-and-ruby-on-rails-with-osx.html' title='Mysql and Ruby on Rails with OSX Leopard'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-3392609314230168720</id><published>2008-07-22T14:32:00.004-04:00</published><updated>2008-07-22T14:36:04.261-04:00</updated><title type='text'>Fishing on the weekend - loads of fun</title><content type='html'>I have just synced my camera so can post some of the photos:&lt;br /&gt;This is the first day's catch.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sTBR2oqToZI/SIYn-ls8TZI/AAAAAAAABEw/5MWEFIh0AsU/s1600-h/IMG_0190.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_sTBR2oqToZI/SIYn-ls8TZI/AAAAAAAABEw/5MWEFIh0AsU/s320/IMG_0190.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5225908373836025234" /&gt;&lt;/a&gt;&lt;br /&gt;and this was from the second day.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sTBR2oqToZI/SIYoHVlJEJI/AAAAAAAABE4/I5vlVGQO7YQ/s1600-h/IMG_0200.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_sTBR2oqToZI/SIYoHVlJEJI/AAAAAAAABE4/I5vlVGQO7YQ/s320/IMG_0200.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5225908524127162514" /&gt;&lt;/a&gt;&lt;br /&gt;It was a nice weekend break and Kim even did a little relaxing on the beach (without getting sun burn).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sTBR2oqToZI/SIYofdrSgjI/AAAAAAAABFA/QkxK69QuGEk/s1600-h/IMG_0192.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_sTBR2oqToZI/SIYofdrSgjI/AAAAAAAABFA/QkxK69QuGEk/s320/IMG_0192.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5225908938617291314" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-3392609314230168720?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/3392609314230168720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=3392609314230168720' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3392609314230168720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3392609314230168720'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/07/fishing-on-weekend-loads-of-fun.html' title='Fishing on the weekend - loads of fun'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sTBR2oqToZI/SIYn-ls8TZI/AAAAAAAABEw/5MWEFIh0AsU/s72-c/IMG_0190.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-3802222982813702295</id><published>2008-07-20T13:11:00.004-04:00</published><updated>2008-07-21T09:49:06.453-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><title type='text'>Amazon S3 down again</title><content type='html'>Here is the thread on their forum:&lt;br /&gt;&lt;br /&gt;http://developer.amazonwebservices.com/connect/thread.jspa?threadID=23285&amp;start=0&amp;tstart=0&lt;br /&gt;&lt;br /&gt;It is making some of my sites look bad as I chose to put all the css and images on S3 so they would be severed up in a distributed fast manner. However, that speed is not being appreciated right now as it is not working.&lt;br /&gt;&lt;br /&gt;My task this week will be to design a backup plan or move the css and images.&lt;br /&gt;&lt;br /&gt;UPDATE: I have a backup plan now - which is nice. Amazon is also back up after 7 hours of downtime so I have turned off the backup service. One positive thing is that I now have a backup plan that can be turned in within minutes.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-3802222982813702295?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/3802222982813702295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=3802222982813702295' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3802222982813702295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3802222982813702295'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/07/amazon-s3-down-again.html' title='Amazon S3 down again'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-107794721635400693</id><published>2008-04-28T13:51:00.003-04:00</published><updated>2008-04-28T14:05:54.576-04:00</updated><title type='text'>Simple email alert error page.</title><content type='html'>Mongrel, Apache, mod_proxy and Rails do go very well together. However, there are times when it can break down. While you can rely to some degree on monitoring tools, if a user is given an error page, it is nice to know as soon as it happens.&lt;br /&gt;One good way to do this, have the error page, trigger an email alert letting you know some basic information so that you can debug and figure out what has gone wrong.&lt;br /&gt;When mod proxy cannot connect to the mongrel cluster, it will return a 503 error page. Apache lets you specify this to be a cgi script so that you can bounce them to a cgi error page that packages up the environment and emails it to an administrator.&lt;br /&gt;&lt;br /&gt;Here are 4 steps to follow to use this technique:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 1: Write a cgi error document&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;use strict;&lt;br /&gt;use CGI;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my $query = new CGI;&lt;br /&gt;&lt;br /&gt;my $sendmail = "/usr/sbin/sendmail -t";&lt;br /&gt;my $reply_to = "Reply-to: REPLYEAMAIL\@REPLYDOMAIN.com\n";&lt;br /&gt;my $subject = "Subject: Apache Error Page\n";&lt;br /&gt;&lt;br /&gt;my $content = "SERVER_SOFTWARE = " . $ENV{'SERVER_SOFTWARE'} . "\n";&lt;br /&gt;$content =  $content . "SERVER_SOFTWARE = " . $ENV{'SERVER_SOFTWARE'} . "\n";&lt;br /&gt;$content =  $content . "SERVER_NAME = " . $ENV{'SERVER_NAME'} . "\n";&lt;br /&gt;$content =  $content . "GATEWAY_INTERFACE = " . $ENV{'GATEWAY_INTERFACE'} . "\n";&lt;br /&gt;$content =  $content . "SERVER_PROTOCOL = " . $ENV{'SERVER_PROTOCOL'} . "\n";&lt;br /&gt;$content =  $content . "SERVER_PORT = " . $ENV{'SERVER_PORT'} . "\n";&lt;br /&gt;$content =  $content . "REQUEST_METHOD = " . $ENV{'REQUEST_METHOD'} . "\n";&lt;br /&gt;$content =  $content . "HTTP_ACCEPT = '" . $ENV{'HTTP_ACCEPT'} . "\n";&lt;br /&gt;$content =  $content . "PATH_INFO = " . $ENV{'PATH_INFO'} . "\n";&lt;br /&gt;$content =  $content . "PATH_TRANSLATED = " . $ENV{'PATH_TRANSLATED'} . "\n";&lt;br /&gt;$content =  $content . "SCRIPT_NAME = " . $ENV{'SCRIPT_NAME'} . "\n";&lt;br /&gt;$content =  $content . "QUERY_STRING = " . $ENV{'QUERY_STRING'} . "\n";&lt;br /&gt;$content =  $content . "REMOTE_HOST = " . $ENV{'REMOTE_HOST'} . "\n";&lt;br /&gt;$content =  $content . "REMOTE_ADDR = " . $ENV{'REMOTE_ADDR'} . "\n";&lt;br /&gt;$content =  $content . "REMOTE_USER = " . $ENV{'REMOTE_USER'} . "\n";&lt;br /&gt;$content =  $content . "CONTENT_TYPE = " . $ENV{'CONTENT_TYPE'} . "\n";&lt;br /&gt;$content =  $content . "CONTENT_LENGTH = " . $ENV{'CONTENT_LENGTH'} . "\n";&lt;br /&gt;&lt;br /&gt;my $to = "To: YOUREMAIL\@YOURDOMAIN.com\n";&lt;br /&gt;&lt;br /&gt;open(SENDMAIL, "|$sendmail") or die "Cannot open $sendmail: $!";&lt;br /&gt;print SENDMAIL $reply_to;&lt;br /&gt;print SENDMAIL $subject;&lt;br /&gt;print SENDMAIL $to;&lt;br /&gt;print SENDMAIL "Content-type: text/plain\n\n";&lt;br /&gt;print SENDMAIL $content;&lt;br /&gt;close(SENDMAIL);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;print "Content-type: text/html\n\n";&lt;br /&gt;print &lt;&lt;end; insert="" your="" error="" page="" s="" html="" here="" end=""&gt;&lt;/end;&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 2: Place it in your script alias path and set it as the error document for 503 errors&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;...edit your httpd.conf file...&lt;br /&gt;ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"&lt;br /&gt;ErrorDocument 503 /cgi-bin/error.pl&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 3: Allow it to run (chmod a+x error.pl)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 4: Tell modd proxy to leave /cgi-bin scripts alone&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;...insert before your RewriteRule that proxies requests...&lt;br /&gt;RewriteCond %{REQUEST_URI} !^/cgi-bin&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-107794721635400693?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/107794721635400693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=107794721635400693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/107794721635400693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/107794721635400693'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/04/simple-email-alert-error-page.html' title='Simple email alert error page.'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8209194262635741099</id><published>2008-04-22T11:22:00.002-04:00</published><updated>2008-04-22T11:26:44.576-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pubget'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Pubget is on the iPhone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sTBR2oqToZI/SA4C1cz1wRI/AAAAAAAABCk/5Q4Kd7R5Rfs/s1600-h/Picture+6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_sTBR2oqToZI/SA4C1cz1wRI/AAAAAAAABCk/5Q4Kd7R5Rfs/s320/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5192090537694707986" /&gt;&lt;/a&gt;&lt;br /&gt;For those Doctors, that love their iPhone, you can now run your Pubmed and Pubget [latest] searches and still get to the PDF right away.&lt;br /&gt;You can read more about it on the &lt;a href="http://pubget.blogspot.com/2008/04/pubget-meet-iphone.html"&gt;pubget blog&lt;/a&gt;, or visit &lt;a href="http://pubget.com/mobile"&gt;pubget.com/mobile&lt;/a&gt; on your iphone.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8209194262635741099?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8209194262635741099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8209194262635741099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8209194262635741099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8209194262635741099'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/04/pubget-is-on-iphone.html' title='Pubget is on the iPhone'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sTBR2oqToZI/SA4C1cz1wRI/AAAAAAAABCk/5Q4Kd7R5Rfs/s72-c/Picture+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8296590303185624045</id><published>2008-04-04T08:06:00.002-04:00</published><updated>2008-04-04T08:10:54.405-04:00</updated><title type='text'>Pubget Blog Launched</title><content type='html'>I have launched a new blog on Pubget.&lt;br /&gt;&lt;a href="http://pubget.blogspot.com"&gt;http://pubget.blogspot.com&lt;/a&gt;&lt;br /&gt;I will be keeping this updated with the latest features, events and news for Pubget. If you are in medical/biological research or practice and you use Pubmed - this new service will save you time. Check it out, it is currently working for open access articles as well as licensed ones for MGH, MIT or Harvard users.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8296590303185624045?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8296590303185624045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8296590303185624045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8296590303185624045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8296590303185624045'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/04/pubget-blog-launched.html' title='Pubget Blog Launched'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5962703675425016399</id><published>2008-03-10T02:04:00.000-04:00</published><updated>2008-03-10T02:05:25.181-04:00</updated><title type='text'>Lily Bean</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://3.bp.blogspot.com/_sTBR2oqToZI/R9TPo_Bh2EI/AAAAAAAABCE/pdbuAm9OVhQ/s1600-h/image-upload-29-788143.jpe"&gt;&lt;img src="http://3.bp.blogspot.com/_sTBR2oqToZI/R9TPo_Bh2EI/AAAAAAAABCE/pdbuAm9OVhQ/s320/image-upload-29-788143.jpe"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Grand opening&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5962703675425016399?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5962703675425016399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5962703675425016399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5962703675425016399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5962703675425016399'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/03/lily-bean.html' title='Lily Bean'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sTBR2oqToZI/R9TPo_Bh2EI/AAAAAAAABCE/pdbuAm9OVhQ/s72-c/image-upload-29-788143.jpe' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5730600047862022711</id><published>2008-03-05T03:47:00.001-05:00</published><updated>2008-03-05T03:47:56.614-05:00</updated><title type='text'>Walk along the river</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://1.bp.blogspot.com/_sTBR2oqToZI/R85eOhBa_II/AAAAAAAABB8/pbTgor1yKgk/s1600-h/image-upload-92-773867.jpe"&gt;&lt;img src="http://1.bp.blogspot.com/_sTBR2oqToZI/R85eOhBa_II/AAAAAAAABB8/pbTgor1yKgk/s320/image-upload-92-773867.jpe"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Beautiful sunny Brisbane morning. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5730600047862022711?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5730600047862022711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5730600047862022711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5730600047862022711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5730600047862022711'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/03/walk-along-river.html' title='Walk along the river'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sTBR2oqToZI/R85eOhBa_II/AAAAAAAABB8/pbTgor1yKgk/s72-c/image-upload-92-773867.jpe' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-2155686247774545662</id><published>2008-02-28T00:48:00.001-05:00</published><updated>2008-02-28T00:48:09.380-05:00</updated><title type='text'>In Brisbane</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://4.bp.blogspot.com/_sTBR2oqToZI/R8ZLFoG1GYI/AAAAAAAAA_s/QBg3xUqI8oE/s1600-h/image-upload-52-786558.jpe"&gt;&lt;img src="http://4.bp.blogspot.com/_sTBR2oqToZI/R8ZLFoG1GYI/AAAAAAAAA_s/QBg3xUqI8oE/s320/image-upload-52-786558.jpe"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Relaxing&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-2155686247774545662?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/2155686247774545662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=2155686247774545662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2155686247774545662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/2155686247774545662'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/02/in-brisbane.html' title='In Brisbane'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sTBR2oqToZI/R8ZLFoG1GYI/AAAAAAAAA_s/QBg3xUqI8oE/s72-c/image-upload-52-786558.jpe' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-1074208452983762323</id><published>2008-02-15T09:30:00.004-05:00</published><updated>2008-02-15T11:23:45.369-05:00</updated><title type='text'>Amazon S3 outage</title><content type='html'>Recently I had moved all my resources over to &lt;a href="http://aws.amazon.com/"&gt;Amazon's S3&lt;/a&gt;. This morning, I woke up to a system wide outage that has beeing going on since at least 6:30am EST.&lt;br /&gt;&lt;br /&gt;I was able to change all the asset code back to locally hosted by changing the "config.action_controller.asset_host" configuration setting and now all is working just fine.&lt;br /&gt;&lt;br /&gt;Last year I lost a few Amazon EC2 instances and vowed to always have a backup plan that involved my colocated rack we could drive to. Although I have seen outages there, they have never lasted more than an hour. They also involved something that I could control and make reduntant going forward. With S3, there is not much you can except wait or have a backup plan.&lt;br /&gt;&lt;br /&gt;Backup plans are fine for things like hosted assets but would be much harder where you have integrated customer data. Imagine if all your hosted attachments were in S3, there would be no way around an outage unless you mirrored the attachments in real time locally. That would involve paying twice for bandwidth and thus obviate all the savings with the S3 system.&lt;br /&gt;&lt;br /&gt;I predict this will be big news and make a lot of people who relied n S3 think some serious thoughts about how they will structure their data going forward.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;update 11am:&lt;/span&gt; There is talk the issue is resolved but it seems slow and it looks like there still might be &lt;a href="http://developer.amazonwebservices.com/connect/thread.jspa?threadID=19714&amp;start=60&amp;tstart=0"&gt;some issues&lt;/a&gt;. To play it safe, I will keep the backup plan in place for another day to see what happens.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-1074208452983762323?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/1074208452983762323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=1074208452983762323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1074208452983762323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1074208452983762323'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/02/amazon-s3-outage.html' title='Amazon S3 outage'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6227567397799001276</id><published>2008-02-11T23:46:00.002-05:00</published><updated>2008-06-05T11:46:39.583-04:00</updated><title type='text'>Pubget now available to Harvard/Partners</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3dMBE5-m0FE&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3dMBE5-m0FE&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;The fastest way to search science! If you are at Harvard or one of its affiliated hospitals, you can sign up now at &lt;a href="http://www.pubget.com/"&gt;pubget.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6227567397799001276?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6227567397799001276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6227567397799001276' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6227567397799001276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6227567397799001276'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/02/pubget-now-available-to-harvardpartners.html' title='Pubget now available to Harvard/Partners'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-4639948713402212528</id><published>2008-02-11T11:17:00.000-05:00</published><updated>2008-02-11T11:19:30.088-05:00</updated><title type='text'>Shopping List</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Grains&lt;/span&gt;&lt;br /&gt;Make sure any whole-wheat products you buy are labeled 100% whole wheat.&lt;br /&gt;Brown rice&lt;br /&gt;Steel-cut oatmeal&lt;br /&gt;Whole-grain or oat breakfast cereal (Cheerios, Kashi cereals, Grape Nuts)&lt;br /&gt;Whole-grain pizza dough/crust&lt;br /&gt;Whole-wheat or whole-grain bread&lt;br /&gt;Whole-wheat pasta&lt;br /&gt;Whole-wheat pitas or tortillas&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Canned/Jarred Items&lt;/span&gt;&lt;br /&gt;Black beans&lt;br /&gt;Olives&lt;br /&gt;Sun-dried tomatoes (not in oil)&lt;br /&gt;Tomato sauce (no added sugars)&lt;br /&gt;Tomatoes: whole, crushed, or diced&lt;br /&gt;Unsweetened fruit&lt;br /&gt;Vegetable or chicken stock/broth (low-salt)&lt;br /&gt;White beans&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dried Fruits and Nuts&lt;/span&gt;&lt;br /&gt;Nuts should be raw, rather than roasted or salted.&lt;br /&gt;&lt;br /&gt;Almonds&lt;br /&gt;Dried cranberries and apricots&lt;br /&gt;Pistachios, chopped&lt;br /&gt;Raisins&lt;br /&gt;Walnuts and hazelnuts&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Condiments and Spices&lt;/span&gt;&lt;br /&gt;Balsamic vinegar&lt;br /&gt;Canola oil, regular and spray-on&lt;br /&gt;Chocolate, dark (not milk) with at least 70% cocoa&lt;br /&gt;Cinnamon and nutmeg&lt;br /&gt;Extra-virgin olive oil&lt;br /&gt;Honey&lt;br /&gt;Low-sodium soy sauce&lt;br /&gt;Mustard&lt;br /&gt;Real maple syrup&lt;br /&gt;Red pepper flakes&lt;br /&gt;Turmeric or curry powder&lt;br /&gt;Wine vinegar&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Refrigerated Items&lt;/span&gt;&lt;br /&gt;Eggs&lt;br /&gt;Feta cheese, low-fat&lt;br /&gt;Milk, skim or low-fat soy&lt;br /&gt;Orange or grapefruit juice (100%) with pulp&lt;br /&gt;Part-skim mozzarella cheese&lt;br /&gt;Yogurt with active cultures (probiotic), low-fat&lt;br /&gt;Sour cream, low-fat&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Poultry/Fish&lt;/span&gt;&lt;br /&gt;Chicken breast halves, skinless and boneless&lt;br /&gt;Chicken thighs, skinless&lt;br /&gt;Deli meat, sliced and skinless (not processed cold cuts)&lt;br /&gt;Salmon fillets, skinless&lt;br /&gt;Whole fish or fillets: trout, tilapia, snapper, or sea bass&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Frozen Food&lt;/span&gt;&lt;br /&gt;Blueberries and raspberries, frozen and unsweetened&lt;br /&gt;Fruit sorbet&lt;br /&gt;Vanilla frozen yogurt, nonfat or low-fat&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Health Foods&lt;/span&gt;&lt;br /&gt;Chia seed&lt;br /&gt;Flaxseed&lt;br /&gt;Soy protein powder&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fruits and Vegetables&lt;/span&gt;&lt;br /&gt;Stock up on plenty of fresh fruits and veggies from each color group, but don’t buy more than you’ll be able to eat in a week. Fruits and vegetables lose their nutrient goodness when they sit around.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Blue/Purple:&lt;/span&gt;&lt;br /&gt;Blueberries, blackberries, plums, eggplant&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Orange/Yellow:&lt;/span&gt;&lt;br /&gt;Carrots, sweet potatoes, squash, mangoes, pineapple&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Red:&lt;/span&gt;&lt;br /&gt;Tomatoes, cherries, cranberries, red peppers, red apples&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Yellow/Green:&lt;/span&gt;&lt;br /&gt;Avocados, broccoli, spinach, kiwifruit, lemons, limes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;White/Green:&lt;/span&gt;&lt;br /&gt;Garlic, onions, bananas, mushrooms&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-4639948713402212528?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/4639948713402212528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=4639948713402212528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/4639948713402212528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/4639948713402212528'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/02/shopping-list.html' title='Shopping List'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8321483563619579024</id><published>2008-01-28T17:15:00.005-05:00</published><updated>2008-07-24T09:32:18.520-04:00</updated><title type='text'>My Default CentOS Setup</title><content type='html'>This script will probably only be valid for a week, but I thought I would share my ideas on a good CentOS 5 (64bit) install with Ruby on Rails, MySQL and Apache that will work with a capistrano deployment from subversion:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;yum -y update&lt;br /&gt;yum -y install ruby ruby-libs ruby-mode ruby-rdoc ruby-irb ruby-ri ruby-docs ruby-devel mysql mysql-devel mysql-server mysql-admin subversion httpd svn&lt;br /&gt;&lt;br /&gt;togglesebool httpd_can_network_connect&lt;br /&gt;&lt;br /&gt;cd /tmp&lt;br /&gt;wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz&lt;br /&gt;tar -xvf rubygems-1.0.1.tgz&lt;br /&gt;cd rubygems-1.0.1&lt;br /&gt;ruby setup.rb &lt;br /&gt;&lt;br /&gt;gem install rails json rfacebook acts_as_ferret capistrano mongrel mongrel_cluster pdf-toolkit actionmailer actionpack actionwebservice activerecord activeresource activesupport acts_as_taggable acts_as_versioned ferret google4r calendar mysql sources vpim mime-type --include-dependencies&lt;br /&gt;&lt;br /&gt;#Fedora 8 also wants&lt;br /&gt;yum -y install rubygem-mongrel gcc ruby-mysql&lt;br /&gt;yum install gd gd-devel zlib-devel openssl-devel&lt;br /&gt;gem install gem_plugin daemons capistrano --include-dependencies&lt;br /&gt;gem install mongrel mongrel_cluster railsmachine --include-dependencies&lt;br /&gt;gem install --version=2.7 mysql -- --with-mysql-config=/usr/bin/mysql_config&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;yum -y install ruby ruby-libs ruby-mode ruby-rdoc ruby-irb ruby-ri ruby-docs ruby-devel mysql mysql-devel mysql-server mysql-admin subversion httpd svn rubygem-mongrel gcc ruby-mysql gd gd-devel zlib-devel openssl-devel partimage&lt;br /&gt;gem install -y rails -v=2.0.2&lt;br /&gt;gem install json rfacebook acts_as_ferret capistrano mongrel mongrel_cluster pdf-toolkit actionmailer actionpack actionwebservice activerecord activeresource activesupport acts_as_taggable acts_as_versioned ferret google4r calendar mysql sources vpim mime-type ferret mime-types solr-ruby ruby-openid mechanize pdf-toolkit mongrel mongrel_cluster railsmachine bio --include-dependencies&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;I tried to make it as silent and complete as possible so that I could let the computer do all the work.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8321483563619579024?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8321483563619579024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8321483563619579024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8321483563619579024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8321483563619579024'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/01/my-default-centos-setup.html' title='My Default CentOS Setup'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8046777297286390393</id><published>2008-01-24T13:57:00.000-05:00</published><updated>2008-02-06T22:53:49.626-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='replication'/><title type='text'>Mysql Master to Master Replication</title><content type='html'>This will setup two Amazon EC2 CentOS 5 machines to cluster replicate all their MySQL databases.&lt;br /&gt;&lt;br /&gt;Server 1: /etc/my.sql&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;#replication&lt;br /&gt;server-id=1&lt;br /&gt;log-bin=mysql-bin&lt;br /&gt;binlog-ignore-db=mysql &lt;br /&gt;binlog-ignore-db=test&lt;br /&gt;&lt;br /&gt;#information for becoming slave.&lt;br /&gt;master-host = &lt;ip for server 2&gt;&lt;br /&gt;master-user = replication&lt;br /&gt;master-password = slave&lt;br /&gt;master-port = 3306&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Server 2: /etc/my.sql&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#replication&lt;br /&gt;server-id=2&lt;br /&gt;log-bin=mysql-bin&lt;br /&gt;binlog-ignore-db=mysql&lt;br /&gt;binlog-ignore-db=test&lt;br /&gt;&lt;br /&gt;#information for becoming slave.&lt;br /&gt;master-host = &lt;ip for server 3&gt;&lt;br /&gt;master-user = replication&lt;br /&gt;master-password = slave&lt;br /&gt;master-port = 3306&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Restart /etc/init.d/mysql restart on both servers.&lt;br /&gt;&lt;br /&gt;Then run the following SQL on...&lt;br /&gt;server 1:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;STOP SLAVE;&lt;br /&gt;CHANGE MASTER TO MASTER_HOST='10.253.15.15',MASTER_USER='replication',MASTER_PASSWORD='slave';&lt;br /&gt;START SLAVE;&lt;br /&gt;GRANT ALL PRIVILEGES ON *.* TO 'replication'@'&lt;ip for server 2&gt;' identified by 'slave';&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;server 2:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;MASTER_HOST='10.253.65.221',MASTER_USER='replication',MASTER_PASSWORD='slave';&lt;br /&gt;STOP SLAVE;&lt;br /&gt;show slave status\G;&lt;br /&gt;GRANT ALL PRIVILEGES ON *.* TO 'replication'@'&lt;ip for server 1&gt;' identified by 'slave';&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;You should then be able to create and remove databases on either servers and it will replicate to the other.&lt;br /&gt;&lt;br /&gt;I tried to use "load data from master" but it only worked on very simple data. On large sets, it was better to use mysqlhotcopy (perl script that came with mysql on centos)&lt;br /&gt;&lt;br /&gt;On CentOS, you first need to export the mysql directory in the /etc/exports file like this:&lt;br /&gt;var/lib/mysql 10.253.15.15(rw,no_root_squash)&lt;br /&gt;and then run:&lt;br /&gt;exportfs -r&lt;br /&gt;&lt;br /&gt;then on the machine with the tables, you run:&lt;br /&gt;mkdir /tmp/mounted_mysql_directory&lt;br /&gt;mount -o vers-3 10.253.65.221:/var/lib/mysql /tmp/mounted_mysql_directory&lt;br /&gt;&lt;br /&gt;Now that you have the directory exported and mounted, you can hot copy the files from server 1 to server 2:&lt;br /&gt;&lt;br /&gt;mysqlhotcopy --addtodest --resetmaster --resetslave -u root -p &lt;password&gt; yourdatabasename_development /tmp/mounted_mysql_directory&lt;br /&gt;&lt;br /&gt;The resetmaster and resetslave are important here. MySQL will keep an index in the replication log where it thinks its master is and where it is as a slave. After I copy the database over, I want them to start fresh. So, from here you can look at the master status on server 1 and master status on server 2 to get these indexes. then you can run CHANGE MASTER TO with an extra parameter:&lt;br /&gt;MASTER_LOG_POS=98;&lt;br /&gt;if the index was 98. This will then get them both in sync and ready to accept further transactions to apply.&lt;br /&gt;&lt;br /&gt;You can also skip a given number of replication transactions using:&lt;br /&gt;SET GLOBAL SQL_SLAVE_SKIP_COUNTER = N;&lt;br /&gt;just be careful what you skip.&lt;br /&gt;&lt;br /&gt;Coming from a Notes/Domino background, this idea of replicating transactions was a little new. Notes, will keep a sequence number for each record and keep the data in sync. It does not matter how the data got into its current state, it will just do its best at keeping the data replicated (using sequence numbers and time stamps as needed). &lt;br /&gt;&lt;br /&gt;MySQL is more transactional based. The documents talk about the my.cnf parameters like "binlog-ignore-db" will act as a filter for how transactions get written to the replication log. To a Notes person, this seems a little inefficient. It means to keep the data in sync, you have to run the exact same transactions on each server (even if the operations are repetitive and act on the same records). In Notes, it will be able to skip ahead to the final state rather than going through each transaction to get to the final state. MySQL has no such ability.&lt;br /&gt;&lt;br /&gt;As a result, MySQL cannot just sync itself if you run into problems. This is also true when you add a member to the cluster or replace a failed one. To get things in sync again, you really have to think it through and make sure you lock tables as needed, get the data the same with copy tools like mysqlhotcopy and let the transactions start again on the cluster when you know it is ready.&lt;br /&gt;&lt;br /&gt;I would also expect this would have a different scalability path than Notes - if your bottleneck is the amount of transactions you are getting, then adding additional replicas may not help in MySQL where it would in Notes.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8046777297286390393?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8046777297286390393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8046777297286390393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8046777297286390393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8046777297286390393'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/01/mysql-master-to-master-replication.html' title='Mysql Master to Master Replication'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-9078153227131864042</id><published>2008-01-16T10:56:00.000-05:00</published><updated>2008-01-16T11:04:14.535-05:00</updated><title type='text'>Upgrading to rails 2.0.2</title><content type='html'>There were just a few too many cool features in 2.0 that I wanted so I have taken the plunge in a project. I did wait for 2.0.2, so it is not really bleeding edge - but I feel nice and up to date.&lt;br /&gt;The process was fairly straight forward even though I knew I used a lot of plugins and deprecated methods. I had to perform the following to get it working:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;gem install rails&lt;/li&gt;&lt;li&gt;script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination&lt;br /&gt;&lt;/li&gt;&lt;li&gt;script/plugin install http://svn.rubyonrails.org/rails/plugins/in_place_editing/&lt;/li&gt;&lt;/ul&gt;I also referenced:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://mislav.caboo.se/rails/rails-2-0-taking-the-plunge/"&gt;http://mislav.caboo.se/rails/rails-2-0-taking-the-plunge/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://localtone.blogspot.com/2008/01/upgrade-to-rails-20.html"&gt;http://localtone.blogspot.com/2008/01/upgrade-to-rails-20.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;After restarting the server, users will get a warning about cookies. However, this is a small price to pay for cookie based sessions.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-9078153227131864042?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/9078153227131864042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=9078153227131864042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/9078153227131864042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/9078153227131864042'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2008/01/upgrading-to-rails-202.html' title='Upgrading to rails 2.0.2'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-3147790825231913543</id><published>2007-12-27T10:27:00.000-05:00</published><updated>2007-12-27T10:48:20.952-05:00</updated><title type='text'>bellasante of boston</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.bellasante.com/images/content/global/logo.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.bellasante.com/images/content/global/logo.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I tried to make a booking for my wife and a friend's wife yesterday for a spa treatment. So, I called the concierge to book it in for friday afternoon. The problem was they seemed very busy and I didn't know what to order or which location would be best. I didn't mind either Lexington or Wellesley but the concierge seemed in a rush so made me pick one right away. Then I was told after picking Wellesley there was nothing on the day I wanted.&lt;br /&gt;I really felt like they were too busy to deal with me and decided the best way was to get off the phone as quickly as possible and try again with another concierge or spa. After replying to a few "contact us" forms for a site I am working on, I thought I should at least let them know the feedback to see if indeed they are too busy or if it was just a bad time and I got the wrong concierge. In any case, I filled out their web form only to find it was a "post" action to "#" and didn't actually go anywhere.&lt;br /&gt;They seem to have a lot of "best of boston" awards so the spa part might be nice - it just seems that half the challenge is to get to that part.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-3147790825231913543?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/3147790825231913543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=3147790825231913543' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3147790825231913543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3147790825231913543'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/12/bellasanter-of-boston.html' title='bellasante of boston'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-4131408866483643892</id><published>2007-12-05T11:45:00.001-05:00</published><updated>2007-12-05T11:58:43.123-05:00</updated><title type='text'>Jack Cards on the WSJ.</title><content type='html'>One of the startup web sites we have been working on and hosting at &lt;a href="http://www.projectlounge.com/"&gt;ProjectLounge&lt;/a&gt;, was reviewed by the &lt;a href="http://online.wsj.com/article/SB119681799625013830.html"&gt;Wall Street Journal&lt;/a&gt;. I am looking forward to taking the site to the next level - but a review like this is certainly a good start for the site. It is full of good suggestions and a positive conclusion.&lt;br /&gt;"I think its system would be welcomed by many people looking for good-quality, well-designed cards that catch the eye. It saves users the hassle of last-minute trips to the card store, and still lets greeting cards keep their personal touch, which is what makes them such a permanent fixture in our lives."&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-4131408866483643892?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/4131408866483643892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=4131408866483643892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/4131408866483643892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/4131408866483643892'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/12/jack-cards-on-wsj.html' title='Jack Cards on the WSJ.'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-356219315519501313</id><published>2007-11-19T12:42:00.001-05:00</published><updated>2007-11-19T12:52:04.401-05:00</updated><title type='text'>Fire Truck Photos</title><content type='html'>This morning we saw a Fire Truck visit our street - no fire or anything exciting. However, I did capture &lt;a href="http://web.mac.com/iconnor/iWeb/Site/Fire%20Truck.html"&gt;some photos&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-356219315519501313?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/356219315519501313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=356219315519501313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/356219315519501313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/356219315519501313'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/11/fire-truck-photos.html' title='Fire Truck Photos'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6553131146796694622</id><published>2007-08-28T21:30:00.000-04:00</published><updated>2007-08-28T21:31:13.674-04:00</updated><title type='text'>Commando Crawl</title><content type='html'>&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/i7hHzhujiE8"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/i7hHzhujiE8" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;This our friends commando Teddy.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6553131146796694622?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6553131146796694622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6553131146796694622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6553131146796694622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6553131146796694622'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/08/commando-crawl.html' title='Commando Crawl'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-524089880114281655</id><published>2007-08-24T10:57:00.000-04:00</published><updated>2007-08-24T10:59:35.727-04:00</updated><title type='text'>Everyone loves cats</title><content type='html'>&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/9UY-eia2SQs"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/9UY-eia2SQs" type="application/x-shockwave-flash" width="425" height="350"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-524089880114281655?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/524089880114281655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=524089880114281655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/524089880114281655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/524089880114281655'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/08/everyone-loves-cats.html' title='Everyone loves cats'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8815523776940807590</id><published>2007-07-29T21:22:00.000-04:00</published><updated>2007-07-29T21:40:06.364-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='sftp'/><title type='text'>Mount ssh/sftp drives into OSX</title><content type='html'>Dealing with a server that is hosted requires a stronger level of security. This typically means no ftp or file sharing is allowed. However, ssh is secure and you can even prevent passwords and use rsa keys.&lt;br /&gt;However, all this security does not mean you cannot mount a drive using OSX. Using the  &lt;a href="http://code.google.com/p/macfuse/"&gt;MacFuse&lt;/a&gt; at google, you can mount a remote ssh/sftp drive with a hostname, username, password (or rsa key) and path.&lt;br /&gt;Steps:&lt;br /&gt;1. Download and install MacFuse from the &lt;a href="http://code.google.com/p/macfuse/"&gt;link&lt;/a&gt;&lt;br /&gt;2. Restart your OSX (it does some low level magic that makes writing mounted disks easier)&lt;br /&gt;3. Download and copy the sshfs into your Applications from the &lt;a href="http://code.google.com/p/macfuse/"&gt;link&lt;/a&gt;.&lt;br /&gt;Now that you have it download, you can run the sshfs application and connect to your disk.&lt;br /&gt;If you do use an RSA key or the like, you will need to first connect via the command line so that the host gets to be trusted and then it will work fine from there on.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8815523776940807590?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8815523776940807590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8815523776940807590' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8815523776940807590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8815523776940807590'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/07/mount-sshsftp-drives-into-osx.html' title='Mount ssh/sftp drives into OSX'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8188252518567180663</id><published>2007-07-17T14:57:00.000-04:00</published><updated>2007-07-17T15:02:05.970-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domino lotus diiop java'/><title type='text'>DIIOP NotesException: Server access denied</title><content type='html'>The R5 settings in the server document still play a part in how DIIOP handles permissions in 7.0.2. The getFirstDatabase function in DbDirectory, will return "Server access denied" if the "Allow HTTP clients to browse databases" is not set to "Yes" on the R5 Basics tab under HTTP Internet Protocols in your Domino server document.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8188252518567180663?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8188252518567180663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8188252518567180663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8188252518567180663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8188252518567180663'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/07/diiop-notesexception-server-access.html' title='DIIOP NotesException: Server access denied'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-860308184555517220</id><published>2007-07-14T12:54:00.000-04:00</published><updated>2007-07-14T12:56:33.011-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone ringtone'/><title type='text'>Customized iPhone ringtone</title><content type='html'>One the the missing features of the iPhone is not being able to select our own ringtone. Well, thanks to &lt;a href="http://www.hacktheiphone.com/iphone_ringtone_installation.html"&gt;this web site&lt;/a&gt;, I was able to upload my own mp3 file as a ringtone and it worked.&lt;br /&gt;It is not as easy as other phones but still possible with a little instructions.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-860308184555517220?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/860308184555517220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=860308184555517220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/860308184555517220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/860308184555517220'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/07/customized-iphone-ringtone.html' title='Customized iPhone ringtone'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-710360526922884470</id><published>2007-07-02T13:27:00.000-04:00</published><updated>2007-07-02T13:30:10.030-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='outlook quickplace ics ical'/><title type='text'>Outlook Permissions for ICS files</title><content type='html'>A user recently got the error: "Can't create file: calendarevent.ics. Right-click the folder you want to create the file in, and then click Properties on the shortcut menu to check your permissions for the folder."&lt;br /&gt;&lt;br /&gt;After some serching, it is not really a permission problem but rather when you install certain Microsoft Small Business products, the OutlookSecureTempFolder key in the registry is changed from "..\Temp\..." to "...\Temporary Internet Files\...".&lt;br /&gt;&lt;br /&gt;To fix this, have your system administrator, go into the registry and change the HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security registry key OutlookSecureTempFolder value from "...\Temporary Internet Files\..." to "...\Temp\..." and you should be able to open ICS events from QuickPlace or any other service again.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-710360526922884470?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/710360526922884470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=710360526922884470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/710360526922884470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/710360526922884470'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/07/outlook-permissions-for-ics-files.html' title='Outlook Permissions for ICS files'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-8370662926160943489</id><published>2007-06-28T08:45:00.000-04:00</published><updated>2007-06-28T09:14:11.964-04:00</updated><title type='text'>Christmas come early?</title><content type='html'>&lt;a href="http://www.ibm.com/lotus/quickr"&gt;Quickr has shipped&lt;/a&gt; early and after installing it and the latest fixes from "fix central", I have started the process of picking through the new features.&lt;br /&gt;I have tested our existing themes and they all seem to work just fine so far and with a little more testing, I think we will be safe to upgrade some servers.&lt;br /&gt;I have to say well done to &lt;a href="http://www.projectlounge.com/qblog"&gt;Satwik&lt;/a&gt; and his team for getting QuickPlace team buzzing like it was 1999.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-8370662926160943489?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/8370662926160943489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=8370662926160943489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8370662926160943489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/8370662926160943489'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/06/christmas-come-early.html' title='Christmas come early?'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-3264600255487469997</id><published>2007-06-23T19:48:00.000-04:00</published><updated>2007-06-23T20:00:00.912-04:00</updated><title type='text'>It is all happening on the 29th</title><content type='html'>On the 29th of June, there will be so many things to do, I won't know what to do with myself.&lt;br /&gt;1. &lt;a http://www.blogger.com/img/gl.link.gifhref="http://www-142.ibm.com/software/sw-lotus/products/product3.nsf/wdocs/quickr"&gt;Quickr 8 Launches&lt;/a&gt;;&lt;br /&gt;2. &lt;a href="http://www.apple.com/iphone/"&gt;iPhone&lt;/a&gt; is released; and&lt;br /&gt;3. &lt;a href="http://en.wikipedia.org/wiki/Sicko"&gt;Sicko&lt;/a&gt; comes out.&lt;br /&gt;I am sure there will be lots more happening that day, but these are things I have actually been waiting for and anticipating.&lt;br /&gt;This week, I have been very busy sorting out some Windows Vista issues with QuickPlace 7 as well as a ruby on rails development project for &lt;a href="http://www.jackcards.com"&gt;jackcards&lt;/a&gt;. I am also in the process of installing a &lt;a href="http://www-1.ibm.com/support/docview.wss?uid=swg27002613"&gt;NAS for domino&lt;/a&gt; which so far indicates 2 to 4 times increase in our current IO performance.&lt;br /&gt;So, if I have been a little quiet lately, I apologize and will be a little more sociable soon (even if it is just to show off an iPhone if I get the courage to buy one).&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-3264600255487469997?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/3264600255487469997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=3264600255487469997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3264600255487469997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3264600255487469997'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/06/it-is-all-happening-on-29th.html' title='It is all happening on the 29th'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-1796290356929399476</id><published>2007-06-11T16:37:00.000-04:00</published><updated>2007-06-11T17:02:40.652-04:00</updated><title type='text'>Rational Climate Change Argument</title><content type='html'>Rational Climate Change Argument&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zORv8wwiadQ"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/zORv8wwiadQ" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;This is basically the same as &lt;a href="http://en.wikipedia.org/wiki/Pascal's_Wager"&gt;Pascal's Wager&lt;/a&gt; with some key differences. These are that Pascal was based on religion where this is actually based on science. However, it is a very good use of a truth table&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-1796290356929399476?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/1796290356929399476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=1796290356929399476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1796290356929399476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/1796290356929399476'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/06/rational-climate-change-argument.html' title='Rational Climate Change Argument'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5561159015308253778</id><published>2007-06-01T10:13:00.001-04:00</published><updated>2010-04-12T11:33:00.677-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><title type='text'>Ruby on Rails Domino Active Record</title><content type='html'>I have been using this class for a while that allows some ActiveRecord like features for IBM Lotus Domino databases.&lt;br /&gt;&lt;br /&gt;An example use would be:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;class Contact &lt; DominoRecord&lt;br /&gt;  attr_accessor :email_address, :first_name, :last_name &lt;br /&gt;&lt;br /&gt;  validates_presence_of :first_name, :last_name, :email_address &lt;br /&gt;&lt;br /&gt;  validates_format_of :email_address, :with =&gt; &lt;br /&gt;&lt;br /&gt;    /^\s*(?:(?:[^,@\s]+)@(?:(?:[-a-z0-9]+\.)+[a-z]{2,}\s*(,\s*|\z)))+$/i,&lt;br /&gt;&lt;br /&gt;    :message =&gt; "must be a valid email address",&lt;br /&gt;&lt;br /&gt;    :on =&gt; :create    &lt;br /&gt;&lt;br /&gt;  @@database_name = "contacts.nsf" #your database here&lt;br /&gt;&lt;br /&gt;  @@server_name = 'www/projectlounge' #your server here&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;It currently uses the OLE/COM bridge to get to domino so only will work on windows at this stage. The next step would be to compile it with the NotesAPI to allow it to work on all platforms.&lt;br /&gt;&lt;br /&gt;The model source code is here (I do not maintain this anymore but happy for others to take it on under &lt;a href="http://www.gnu.org/licenses/lgpl.html"&gt;LGPL&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'win32ole'&lt;br /&gt;&lt;br /&gt;class DominoRecord&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  attr_accessor :form&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def save&lt;br /&gt;    &lt;br /&gt;    @document = @@database.CreateDocument&lt;br /&gt;    &lt;br /&gt;    form = self.class.to_s.downcase&lt;br /&gt;    &lt;br /&gt;    @document.ReplaceItemValue "form", form&lt;br /&gt;    &lt;br /&gt;    self.instance_variables.each do |inst|&lt;br /&gt;      &lt;br /&gt;      field_name = inst.sub(/[@]/, '')&lt;br /&gt;      &lt;br /&gt;      field_value = self.instance_variable_get(inst)        &lt;br /&gt;      &lt;br /&gt;      @document.ReplaceItemValue field_name, field_value.to_s&lt;br /&gt;      &lt;br /&gt;    end &lt;br /&gt;    &lt;br /&gt;    @document.Save(true, false)&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def save!; &lt;br /&gt;    &lt;br /&gt;    save&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  def update_attribute; end&lt;br /&gt;  &lt;br /&gt;  def new_record?; end&lt;br /&gt;  &lt;br /&gt;  include ActiveRecord::Validations&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  @@session = nil&lt;br /&gt;  &lt;br /&gt;  @@database = nil&lt;br /&gt;  &lt;br /&gt;  @@database_name = nil&lt;br /&gt;  &lt;br /&gt;  @@server_name = nil&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def [](key)&lt;br /&gt;    &lt;br /&gt;    instance_variable_get(key)&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.find(*args)&lt;br /&gt;    &lt;br /&gt;    options = extract_options_from_args!(args)&lt;br /&gt;    &lt;br /&gt;    validate_find_options(options)&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    case args.first&lt;br /&gt;      &lt;br /&gt;    when :first then &lt;br /&gt;      &lt;br /&gt;      @document = find_initial(options)&lt;br /&gt;      &lt;br /&gt;    when :all   then find_every(options)&lt;br /&gt;      &lt;br /&gt;    else &lt;br /&gt;      &lt;br /&gt;      @document = find_from_ids(args, options)&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    record = self.new&lt;br /&gt;    &lt;br /&gt;    @document.Items.each do |item|&lt;br /&gt;      &lt;br /&gt;      record.send(item.Name.downcase + "=", item.Text) unless ["document", "errors"].include?(item.Name)&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    record&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def DominoRecord.human_attribute_name(attribute_key_name)&lt;br /&gt;    &lt;br /&gt;    ActiveRecord::Base.human_attribute_name(attribute_key_name)&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def initialize(attributes=nil)&lt;br /&gt;    &lt;br /&gt;    unless @@session&lt;br /&gt;      &lt;br /&gt;      @@session = WIN32OLE.new('Lotus.NotesSession')&lt;br /&gt;      &lt;br /&gt;      @@session.Initialize&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    @@database = @@session.GetDatabase(@@server_name,@@database_name) unless @@database&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    unless form == nil&lt;br /&gt;      &lt;br /&gt;      fields = @@database.GetForm(form).Fields&lt;br /&gt;      &lt;br /&gt;    else&lt;br /&gt;      &lt;br /&gt;      fields = @@database.GetForm(self.class.to_s).Fields&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    fields.each { |field| self.class.__send__(:attr_accessor, field) }&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    return if attributes.nil?        &lt;br /&gt;    &lt;br /&gt;    attributes.each do |k, v|&lt;br /&gt;      &lt;br /&gt;      send(k + "=", v)&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def finalize&lt;br /&gt;    &lt;br /&gt;    @@session.Finalize&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def session&lt;br /&gt;    &lt;br /&gt;    @@session&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def database&lt;br /&gt;    &lt;br /&gt;    @@database&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def document&lt;br /&gt;    &lt;br /&gt;    @document&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def attributes=(attributes)&lt;br /&gt;    &lt;br /&gt;    return if attributes.nil?&lt;br /&gt;    &lt;br /&gt;    attributes.stringify_keys!&lt;br /&gt;    &lt;br /&gt;    multi_parameter_attributes = []&lt;br /&gt;    &lt;br /&gt;    attributes.each do |k, v|&lt;br /&gt;      &lt;br /&gt;      send(k + "=", v)&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.method_missing(method_id, *arguments)&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    unless @@session&lt;br /&gt;      &lt;br /&gt;      @@session = WIN32OLE.new('Lotus.NotesSession')&lt;br /&gt;      &lt;br /&gt;      @@session.Initialize&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    @@database = @@session.GetDatabase(@@server_name,@@database_name) unless @@database&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    if match = /find_by_([_a-zA-Z]\w*)/.match(method_id.to_s)&lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;      @view = @@database.GetView($1)&lt;br /&gt;      &lt;br /&gt;      puts arguments&lt;br /&gt;      &lt;br /&gt;      @document = @view.GetDocumentByKey(arguments[0])&lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;      record = self.new&lt;br /&gt;      &lt;br /&gt;      @document.Items.each do |item|&lt;br /&gt;        &lt;br /&gt;        record.send(item.Name.downcase + "=", item.Text) unless ["document", "errors"].include?(item.Name)&lt;br /&gt;        &lt;br /&gt;      end&lt;br /&gt;      &lt;br /&gt;      record&lt;br /&gt;      &lt;br /&gt;    else&lt;br /&gt;      &lt;br /&gt;      super&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  private&lt;br /&gt;  &lt;br /&gt;  def self.find_initial(options)&lt;br /&gt;    &lt;br /&gt;    #not working&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.find_every(options)&lt;br /&gt;    &lt;br /&gt;    #not working&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.find_from_ids(ids, options)&lt;br /&gt;    &lt;br /&gt;    #not working&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.find_one(id, options)&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    if result = @@database.GetDocumentByUNID( id )&lt;br /&gt;      &lt;br /&gt;      result&lt;br /&gt;      &lt;br /&gt;    else&lt;br /&gt;      &lt;br /&gt;      raise RecordNotFound, "Couldn't find #{name} with ID=#{id}#{conditions}"&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.find_some(ids, options)&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    result = find_every(options)&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    if result.size == ids.size&lt;br /&gt;      &lt;br /&gt;      result&lt;br /&gt;      &lt;br /&gt;    else&lt;br /&gt;      &lt;br /&gt;      raise RecordNotFound, "Couldn't find all #{name.pluralize} with IDs (#{ids_list})#{conditions}"&lt;br /&gt;      &lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.extract_options_from_args!(args) #:nodoc:&lt;br /&gt;    &lt;br /&gt;    args.last.is_a?(Hash) ? args.pop : {}&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  VALID_FIND_OPTIONS = [ :conditions, :include, :joins, :limit, :offset,&lt;br /&gt;  &lt;br /&gt;  :order, :select, :readonly, :group, :from      ]&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  def self.validate_find_options(options) #:nodoc:&lt;br /&gt;    &lt;br /&gt;    options.assert_valid_keys(VALID_FIND_OPTIONS)&lt;br /&gt;    &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5561159015308253778?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5561159015308253778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5561159015308253778' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5561159015308253778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5561159015308253778'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/06/ruby-on-rails-domino-active-record.html' title='Ruby on Rails Domino Active Record'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-3149326984459626785</id><published>2007-05-14T12:49:00.000-04:00</published><updated>2007-06-01T08:55:55.107-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><title type='text'>Allow selections not in list (for the web)</title><content type='html'>One of the neat options with drop down selections in Notes, is the ability to let people type an option that is not in the list. This helps build dynamic lists.&lt;br /&gt;&lt;br /&gt;Here is some javascript to use to get this working on the web:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function changed(el, cmp, pmt){&lt;br /&gt;if(el.options[el.selectedIndex].value==cmp) {addoption(el, pmt);}&lt;br /&gt;}&lt;br /&gt;function addoption(el, pmt){&lt;br /&gt;var txt=prompt(pmt,'');&lt;br /&gt;if(txt==null) {return;}&lt;br /&gt;var o=new Option( txt, txt, false, true);&lt;br /&gt;el.options[el.options.length]=o;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You can either put this in an included javascript file or wrap it directly inline.&lt;br /&gt;&lt;br /&gt;Then you can call it using the onchange event for your selection field:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;onchange="changed(this, 'New Group', 'Please enter new group:')"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Where "New Group" is the text you want to trigger the prompt for the text and "Please enter new group" is the prompt you want to display.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-3149326984459626785?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/3149326984459626785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=3149326984459626785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3149326984459626785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/3149326984459626785'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/05/allow-selections-not-in-list-for-web.html' title='Allow selections not in list (for the web)'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-6440685729953197433</id><published>2007-04-23T08:07:00.000-04:00</published><updated>2007-06-01T08:54:25.414-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><title type='text'>A week into Linked In</title><content type='html'>A customer recently sent me an email to join &lt;a href="http://www.linkedin.com/"&gt;linked in&lt;/a&gt;, a social networking "business" site. It seems &lt;a href="http://myspace.com"&gt;myspace&lt;/a&gt; is more for music fans, &lt;a href="http://facebook.com"&gt;facebook&lt;/a&gt; for college or recent graduates where linked in is more for professionals.&lt;br /&gt;The differences are certainly there in the UI. For instance, in facebook, you can say if a linked friend "hooked up" with you whereas there is no option for this in linked in. I guess it still goes on, but it is not something you would publish as it has little business benefit and does not make you look very professional.&lt;br /&gt;I was surprised how many IBM'ers were already on the network and thank those who have linked to me. The purpose is to find connections, so I thought I would give it a little test.&lt;br /&gt;The test worked. I have managed to find one lost friend through our &lt;a href="http://xhtmlized.com"&gt;xhtml&lt;/a&gt; developer. I worked with David Wyss for a while around the QuickPlace redbook and he had seemingly vanished. I had asked a few common contacts (IBM) what happened to him but they didn't know. When I searched through linked in, it found a connection through Australia (where I was looking in Switzerland) and it came through a non-IBM source (where I looked through IBM'ers). So, it seems we were not very far from each other after all - there was always 2 degrees of separation all this time and we just didn't know.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-6440685729953197433?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/6440685729953197433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=6440685729953197433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6440685729953197433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/6440685729953197433'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/04/week-into-linked-in.html' title='A week into Linked In'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-7866188291906345078</id><published>2007-04-08T12:12:00.000-04:00</published><updated>2007-06-01T08:56:13.099-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lotusscript'/><category scheme='http://www.blogger.com/atom/ns#' term='quickplace'/><title type='text'>Change custom field names in QuickPlace</title><content type='html'>If you have a custom form in quickplace and then change a field name, it will not go through and update all the pages that have been created by this form.&lt;br /&gt;So, for instance, if you create a form that has a field called "categories" and want to change it to "category", here is an agent that will loop through all the documents in this room and all its inner rooms using recursion.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;'category correction: &lt;br /&gt;&lt;br /&gt;Option Public&lt;br /&gt;Option Declare&lt;br /&gt;&lt;br /&gt;Dim server As String&lt;br /&gt;Dim placename As String&lt;br /&gt;Dim s As notessession&lt;br /&gt;Sub fixcategory(roompath)&lt;br /&gt; Dim roomdb As NotesDatabase&lt;br /&gt; Dim roomview As notesview&lt;br /&gt; &lt;br /&gt; Set roomdb = s.GetDatabase(server, roompath)&lt;br /&gt; If roomdb.IsOpen = False Then&lt;br /&gt;  Call roomdb.Open(server, roompath)  &lt;br /&gt; End If  &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; Dim roomindex As notesview &lt;br /&gt; Set roomindex = roomdb.GetView("System\Index")&lt;br /&gt; Dim page As notesdocument&lt;br /&gt; &lt;br /&gt; Set page = roomindex.GetFirstDocument&lt;br /&gt; &lt;br /&gt; While Not(page Is Nothing)&lt;br /&gt;  'Work through all documents&lt;br /&gt;  page.c_category = page.GetItemValue("c_categories")&lt;br /&gt;  &lt;br /&gt;  Call page.Save(True,False)&lt;br /&gt;  Set page = roomindex.GetNextDocument(page)&lt;br /&gt; Wend&lt;br /&gt; &lt;br /&gt; Set roomview = roomdb.GetView("System\Subrooms")&lt;br /&gt; Dim doc As NotesDocument&lt;br /&gt; Set doc = roomview.GetFirstDocument&lt;br /&gt; While Not (doc Is Nothing)&lt;br /&gt;  Dim iroomtitle As String&lt;br /&gt;  Dim iroomfile As String&lt;br /&gt;  &lt;br /&gt;  iroomtitle = doc.GetItemValue("h_Name")(0)&lt;br /&gt;  iroomfile = doc.GetItemValue("h_LocDbName")(0)&lt;br /&gt;  &lt;br /&gt;  Print "Working on: " + iroomfile&lt;br /&gt;  Call fixcategory("quickplace/"+placename+"/" + iroomfile)  &lt;br /&gt;  &lt;br /&gt;  Set doc = roomview.GetNextDocument(doc)&lt;br /&gt; Wend&lt;br /&gt;End Sub&lt;br /&gt;Sub Initialize&lt;br /&gt; Set s = New  notessession&lt;br /&gt; placename = "test_place" 'Your place name&lt;br /&gt; server = "www/projectlounge" 'Your server name&lt;br /&gt; &lt;br /&gt; Print "Starting in a room"&lt;br /&gt; 'you can change this to main.nsf if you need&lt;br /&gt; Call  fixcategory("quickplace/"+placename+"/PageLibrary85257279005D300B.nsf")&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-7866188291906345078?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/7866188291906345078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=7866188291906345078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7866188291906345078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7866188291906345078'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/04/change-custom-field-names-in-quickplace.html' title='Change custom field names in QuickPlace'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-5701175511559520829</id><published>2007-04-03T10:50:00.000-04:00</published><updated>2007-06-01T08:56:21.907-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='culture'/><category scheme='http://www.blogger.com/atom/ns#' term='ibm'/><title type='text'>Rediscovering an ibm.com treasure</title><content type='html'>While digging up an old email from 2004 for someone, I found that my signature once contained a link to the IBM &lt;a href="http://www-306.ibm.com/software/globalization/clash/index.jsp"&gt;culture clash&lt;/a&gt; web site.&lt;br /&gt;It does have some good information and for those that have traveled to some of these countries, it certainly can bring back some memories.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-5701175511559520829?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/5701175511559520829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=5701175511559520829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5701175511559520829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/5701175511559520829'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/04/redisdoverd-ibmcom-treasure.html' title='Rediscovering an ibm.com treasure'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-7587178832716508332</id><published>2007-03-26T14:35:00.000-04:00</published><updated>2007-06-01T08:57:33.803-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>AJAX state_select</title><content type='html'>After downloading the &lt;a href="http://webonrails.com/2006/09/12/plugin-state_select-generate-drop-down-selection-box-for-states"&gt;state_select plugin&lt;/a&gt; for rails.&lt;br /&gt;I put in a little extra work to make the state select AJAX updated. &lt;br /&gt;The address form looks like:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;div id="state_select"&gt;&lt;%= state_select 'address', 'state', country='US' %&gt;&lt;/div&gt;&lt;br /&gt;...&lt;br /&gt;&lt;%= country_select 'address', 'country' %&gt;&lt;br /&gt;&lt;%= observe_field :address_country, :frequency=&gt;0.5, &lt;br /&gt;:update=&gt;"state_select", &lt;br /&gt;:url=&gt; {:action=&gt;'state_select', :only_path=&gt;false},&lt;br /&gt;with=&gt;"'country=' + encodeURIComponent(value)" %&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Where the AJAX calls into a partial form:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;% if params[:country] == "United States" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='US' %&gt;&lt;br /&gt;&lt;% elsif params[:country] == "India" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='INDIA' %&gt;&lt;br /&gt;&lt;% elsif params[:country] == "Canada" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='CANADA' %&gt;&lt;br /&gt;&lt;% elsif params[:country] == "Australia" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='AUSTRALIA' %&gt;&lt;br /&gt;&lt;% elsif params[:country] == "Spain" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='SPAIN' %&gt;&lt;br /&gt;&lt;% elsif params[:country] == "Uganda" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='UGANDA' %&gt;&lt;br /&gt;&lt;% elsif params[:country] == "France" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='FRANCE' %&gt;&lt;br /&gt;&lt;% elsif params[:country] == "Germany" %&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', country='GERMAN' %&gt;&lt;br /&gt;&lt;% else %&gt;&lt;br /&gt;&lt;%= text_field 'address', 'state', :class=&gt;"text" %&gt;&lt;br /&gt;&lt;% end %&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I have posted to their blog to see if the state_select could be updated so there was no translation needed between the "country" from select_country and the "country" parameter passed into the state_select. It would be also nice to return a text field if there is no state list for the given country.&lt;br /&gt;This would mean the partial code would just be:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;%= state_select 'address', 'state', params[:country].uppercase %&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-7587178832716508332?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/7587178832716508332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=7587178832716508332' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7587178832716508332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/7587178832716508332'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/03/ajax-stateselect.html' title='AJAX state_select'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-657141887381057013</id><published>2007-03-22T14:56:00.000-04:00</published><updated>2007-06-01T08:55:12.032-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Importing zip codes</title><content type='html'>This entry will show you how to quickly import zip codes into your database. From there, they can be used with AJAX lookups or verification.&lt;br /&gt;&lt;br /&gt;Step 1: Download the zips.txt into your RoR (rails) db directory or some other place.&lt;br /&gt;http://www.census.gov/tiger/tms/gazetteer/zips.txt&lt;br /&gt;&lt;br /&gt;Step 2: Generate the table in MySQL&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CREATE TABLE zip_codes (&lt;br /&gt;       id INTEGER NOT NULL AUTO_INCREMENT&lt;br /&gt;     , zip CHAR(5)&lt;br /&gt;     , state CHAR(2)&lt;br /&gt;     , town VARCHAR(50)&lt;br /&gt;     , population INTEGER&lt;br /&gt;     , PRIMARY KEY (id)&lt;br /&gt;);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Step 3: Generate the model&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ruby script\generator scaffold zip_code&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Step 4: Run this import code&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'csv'&lt;br /&gt; CSV.open("#{RAILS_ROOT}/db/zips.txt", "r") do |row|&lt;br /&gt;  zip = ZipCode.new&lt;br /&gt;  zip.zip = row[1]&lt;br /&gt;  zip.state = row[2]&lt;br /&gt;  zip.town = row[3]&lt;br /&gt;  zip.population = row[6]&lt;br /&gt;  zip.save!  &lt;br /&gt; end &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You can then monitor the table size and wait for it to grow to 29k+.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-657141887381057013?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/657141887381057013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=657141887381057013' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/657141887381057013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/657141887381057013'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/03/importing-zip-codes.html' title='Importing zip codes'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-205581751890396093</id><published>2007-02-13T03:51:00.000-05:00</published><updated>2007-02-12T01:06:44.268-05:00</updated><title type='text'>4th Grade Math Problem</title><content type='html'>A friend's 4Th grade child was given this problem a few days ago as homework. I found it really hard - not sure how it could be solved without a computer (but maybe someone knows the answer).&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Where the letters are numbers from 0 to 9 excluding 3. Find the values for each letter that would make this true:&lt;br /&gt;show + tight = coach&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I have an answer and my working in the comments and welcome other solutions people might have.&lt;br /&gt;So, if you want a tease, don't click on the comments until you have a go. I don't want to taint your thinking with my brute force attack.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-205581751890396093?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/205581751890396093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=205581751890396093' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/205581751890396093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/205581751890396093'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/02/4th-grade-math-problem.html' title='4th Grade Math Problem'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-117114369803270092</id><published>2007-02-10T16:25:00.000-05:00</published><updated>2007-06-01T08:55:27.056-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='motivational'/><title type='text'>I just watched the secret</title><content type='html'>I just watched &lt;a href="http://thesecret.tv/"&gt;the secret&lt;/a&gt; today. It is a motivational movie that talks about positive thinking. I was really into motivational tapes/books and talks when I was in high school and early university. After that, I focused more on technology and computers than my personal mental state.&lt;br /&gt;I like the idea that positive thinking can bring you anything you want but I tend to be more pessimistic these days. Having said that, I do believe that you can achieve more with positive thinking than you can with negative thinking - so I am happy that I watched the movie and I am going to be a little more positive in my day to day life.&lt;br /&gt;So in that light, I wanted to list some of the items I am grateful for:&lt;br /&gt;* my loving wife;&lt;br /&gt;* good health;&lt;br /&gt;* close friends and family;&lt;br /&gt;* successful internet business;&lt;br /&gt;* experience and friends at IBM/IRIS;&lt;br /&gt;* ability to travel;&lt;br /&gt;* cognitive skills; and&lt;br /&gt;* the Irish (what's not to love about the Irish)&lt;br /&gt;&lt;br /&gt;This list is far from inclusive - but it certainly covers the major topics.&lt;br /&gt;Part of the positive thinking aspect is to also be grateful for what is going to happen in the future and believe it will happen. For me this would include:&lt;br /&gt;* the above list 100 times over;&lt;br /&gt;* brilliant solution to global warming&lt;br /&gt;* peace through humanity towards others&lt;br /&gt;* faster than light speed engines to travel to other worlds&lt;br /&gt;* teleportation&lt;br /&gt;* dramatic improvements in medicines that allows anyone to live as long as they like (this is a good one for all the agnostics)&lt;br /&gt;&lt;br /&gt;Enjoy! .. and now back to the technology and computers :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-117114369803270092?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/117114369803270092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=117114369803270092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/117114369803270092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/117114369803270092'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/02/i-just-watched-secret.html' title='I just watched the secret'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-117091889491491189</id><published>2007-02-08T02:12:00.000-05:00</published><updated>2007-06-01T08:53:55.412-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>QuickPlace 8/Quickr Screenshots</title><content type='html'>Satwik has posted &lt;a href="http://www.projectlounge.com/QuickPlace/qblog/Main.nsf/h_Index/A70E8DE9A7D3D9F78525727800574A49/?OpenDocument"&gt;a blog entry&lt;/a&gt; with a link to the Quickr screenshots. These were shown at LotusSphere 2007 and should be available mid year as part of the product. It looks really nice and will allow people to do a lot more within a Quickr.&lt;br /&gt;&lt;a href="ftp://ftp.software.ibm.com/software/lotus/lotusweb/product/quickr/screenshots.pdf"&gt;PDF link with screenshots&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-117091889491491189?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/117091889491491189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=117091889491491189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/117091889491491189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/117091889491491189'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/02/quickplace-8quickr-screenshots.html' title='QuickPlace 8/Quickr Screenshots'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116984837420120183</id><published>2007-01-26T16:43:00.000-05:00</published><updated>2007-06-01T08:55:45.686-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><category scheme='http://www.blogger.com/atom/ns#' term='ibm'/><title type='text'>Very positive LotusSphere 2007</title><content type='html'>I am traveling back from LotusSphere 2007 and am very excited about Notes 8, Quickr (QuickPlace 8), and Lotus Connections (Ventura/Activities). I have been to a few LotusSpheres over the years and this was my first that I was not there from IBM or Iris. The positive energy around Notes 8, Quickr and Portal Express reminded me of when I did my first QuickPlace talk. The Notes developers and my old team were getting beaten up in the meet the developers lab about all the bugs and feature requests - where I was in the QuickPlace lab soaking up all the positive energy and excitement from the business partners and guests. This year, the positive energy was there for the Notes 8 client developers to enjoy.&lt;br /&gt;The Ask the Developers section at the end was the most telling for me. Although there was a fair share of difficult questions, it was so positive to hear everyone preface their questions with admiration for the work and effort the development teams had put into Notes 8, Quickr and Connections.&lt;br /&gt;The proof will be when the code is shipped and people start to adopt the composite application model for delivering applications. It will give IBM customers and partners a really powerful way to extend and deliver value.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116984837420120183?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116984837420120183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116984837420120183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116984837420120183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116984837420120183'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/01/very-positive-lotussphere-2007.html' title='Very positive LotusSphere 2007'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116846835638139070</id><published>2007-01-10T17:12:00.000-05:00</published><updated>2007-01-10T17:38:39.003-05:00</updated><title type='text'>Running Domino on an Amazon Elastic Cloud</title><content type='html'>I was recently accepted into the &lt;a href="http://www.amazon.com/ec2"&gt;Amazon EC2 limited beta&lt;/a&gt; and was able to create my first instance following the &lt;a href="http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-10-01/"&gt;getting started tutorial&lt;/a&gt;.&lt;br /&gt;As they currently have no support operating systems for Domino, I asked &lt;a href="http://www.nashcom.de/nshweb/pages/home.htm"&gt;Daniel Nashed&lt;/a&gt; which he thought was most like the supported system. He suggested the CentOS as he has run 4.3 but not 4.4.&lt;br /&gt;I then loaded up that instance using the Amazon tools. It is a very raw image without a web server but came up very quickly. After that I downloaded and installed Domino for Linux to the machine. &lt;br /&gt;I had to authorize the domino port and remote setup port for my machines:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ec2-authorize default -p 1352&lt;br /&gt;ec2-authorize default -p 8585&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Then, I created the notes user:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;useradd notes&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Uploaded the latest &lt;a href="http://www.nashcom.de/nshweb/pages/startscript.htm"&gt;rc_domino script&lt;/a&gt; and then ran the server in listen mode:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;server -listen&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;The server complained about a missing library (/opt/ibm/lotus/notes/latest/linux/tunekrnl: error while loading shared libraries : libstdc++.so.5: cannot open shared object file: No such file or directory), so I had to install this via yum:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;yum install compat-libstdc++-33&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This resolved the startup problem, and the Domino setup ran as normal.&lt;br /&gt;I have the server up at:&lt;br /&gt;&lt;a href="http://domu-12-31-33-00-03-6c.usma1.compute.amazonaws.com/"&gt;http://domu-12-31-33-00-03-6c.usma1.compute.amazonaws.com/&lt;/a&gt;&lt;br /&gt; (I will probably take the server down after &lt;a href="http://www-142.ibm.com/software/sw-lotus/events/govfor.nsf/wdocs/ls2007home"&gt;LS2007&lt;/a&gt;).&lt;br /&gt;It seems to run as you would expect from 1.7GHz with 1.75Gb RAM. When I pull the statistics through the admin client, it looks perfectly healthy and I can create databases as you would normally.&lt;br /&gt;For the money, it works out at about $73/month (10c/hour) for a small server plus bandwidth and storage. It is in a totally different league to &lt;a href="http://www-03.ibm.com/servers/eserver/iseries/lpar/"&gt;AIX LPARs&lt;/a&gt; (you scale by adding more instances rather than making your current instance larger) but for a small business is it a really good alternative to running your own domino server. Looking after a rack in a colocation facility is a lot of work and Amazon gives the technical users a cheap alternative here.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116846835638139070?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116846835638139070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116846835638139070' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116846835638139070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116846835638139070'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/01/running-domino-on-amazon-elastic-cloud.html' title='Running Domino on an Amazon Elastic Cloud'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116763231519499436</id><published>2007-01-01T01:06:00.000-05:00</published><updated>2007-06-01T08:53:55.412-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>QuickPlace Clustering over a Wide Area</title><content type='html'>I have started to experiment with wide area clustering of QuickPlace 7.0. In QuickPlace 8, it will use more Web 2.0 technologies and libraries such as &lt;a href="http://www-03.ibm.com/developerworks/blogs/page/InsideLotus?tag=quickplace"&gt;Dojo&lt;/a&gt;. The impact of this will mean the QuickPlaces will become more chatty (more smaller and lighter requests). As a result, any latency issues might become more noticeable. To make the most of this, having your QuickPlace server as close as possible, will make the place much faster.&lt;br /&gt;Once I can sort out any clustering issues, the next stage is to use directional dns from Neustar. This will direct the user to the closest server to the users location. For Australian users, this will be Sydney (latency of 20ms instead of the current 300ms), West Coast USA will be San Francisco (10ms instead of 80ms) and East Coast will keep hitting our main servers in Somerville, MA (10ms or less from New York). So far the Australian server is keeping up with the load and the West Coast should be online soon. I hope to have the world wide cluster working before &lt;a href="http://www-142.ibm.com/software/sw-lotus/events/govfor.nsf/wdocs/ls2007home"&gt;LotusSphere 2007&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116763231519499436?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116763231519499436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116763231519499436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116763231519499436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116763231519499436'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2007/01/quickplace-clustering-over-wide-area.html' title='QuickPlace Clustering over a Wide Area'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116376853927477416</id><published>2006-11-17T08:01:00.000-05:00</published><updated>2007-06-01T08:56:44.056-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>How to compile NotesAPI programs without buying visual studio on Windows XP</title><content type='html'>Download and install:&lt;br /&gt;1. Microsoft Visual C++ Express (GUI not needed to compile)&lt;br /&gt;http://msdn.microsoft.com/vstudio/express/visualc/&lt;br /&gt;2. Run Windows Update if needed&lt;br /&gt;&lt;br /&gt;3. Microsoft Platform SDK for Windows Server 2003&lt;br /&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&amp;DisplayLang=en#filelist&lt;br /&gt;&lt;br /&gt;4. Download and extract the Lotus C API Toolkit&lt;br /&gt;http://www-128.ibm.com/developerworks/lotus/downloads/toolkits.html&lt;br /&gt;&lt;br /&gt;5. Download the nmake program and copy this to your c++ bin directory&lt;br /&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;Q132084&lt;br /&gt;(may already come with c++ express)&lt;br /&gt;&lt;br /&gt;6. Create batch files that simplify your build (put these in a directory in your path)&lt;br /&gt;&lt;br /&gt;FILE: mk.bat&lt;br /&gt;CONTENTS:&lt;br /&gt;nmake /f mswin32.mak /a &lt;br /&gt;&lt;br /&gt;FILE: setenv.bat&lt;br /&gt;CONTENTS:&lt;br /&gt;"D:\Program Files\Microsoft Visual Studio 8\VC\vcvars32.bat"&lt;br /&gt;"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.bat" &lt;br /&gt;set LIB=d:\notesapi\lib\mswin32;%LIB%&lt;br /&gt;set INCLUDE=d:\notesapi\include;%INCLUDE%&lt;br /&gt;set PATH=d:\lotus\domino;%PATH%&lt;br /&gt;&lt;br /&gt;FILE: w32.bat&lt;br /&gt;CONTENTS:&lt;br /&gt;"D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.Cmd" /RETAIL&lt;br /&gt;&lt;br /&gt;7. To use the compiler&lt;br /&gt;1. Start a Visual Studio 2005 Command Prompt&lt;br /&gt;2. Run the commands:&lt;br /&gt;   a) setenv&lt;br /&gt;   b) w32&lt;br /&gt;3. Change to the d:\notesapi\samples\basic\intro&lt;br /&gt;4. run the batch file "mk"&lt;br /&gt;&lt;br /&gt;...and you should then be able to compile NotesAPI programs.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116376853927477416?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116376853927477416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116376853927477416' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116376853927477416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116376853927477416'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/11/how-to-compile-notesapi-programs.html' title='How to compile NotesAPI programs without buying visual studio on Windows XP'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116327060018083864</id><published>2006-11-11T13:39:00.000-05:00</published><updated>2007-06-01T08:56:51.864-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>Paris in November</title><content type='html'>We arrived in Paris after 7 weeks in Geneva. It was memorial day here and we had a perfect view of the ceremony from the hotel. The TGV was the perfect way to travel and we missed the strikes that seem to happen each November. Here are some photos we posted...&lt;br /&gt;&lt;div style="text-align:center; width:194px; font-family:arial,sans-serif;font-size:83%;"&gt;&lt;div style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left;"&gt;&lt;a href="http://picasaweb.google.com/ian.connor/ParisInNovember"&gt;&lt;img src="http://lh3.google.com/ian.connor/RVXFHMuyABE/AAAAAAAAAP0/WhSAOCg0WWs/s160-c/ParisInNovember.jpg" width="160" height="160" style="border:none;padding:0px;margin-top:16px;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://picasaweb.google.com/ian.connor/ParisInNovember"&gt;&lt;div style="color:#4D4D4D;font-weight:bold;text-decoration:none;"&gt;Paris in November&lt;/div&gt;&lt;/a&gt;&lt;div style="color:#808080"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116327060018083864?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116327060018083864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116327060018083864' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116327060018083864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116327060018083864'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/11/paris-in-november.html' title='Paris in November'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116213262327886184</id><published>2006-10-29T09:33:00.000-05:00</published><updated>2007-06-01T08:56:58.324-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>Leukerbad for the weekend</title><content type='html'>We just spent the weekend in the spa town of &lt;a href="http://www.leukerbad.ch/en/welcome.cfm"&gt;Leukerbad&lt;/a&gt;. It was a totally relaxing time and very easy by train/bus from Geneva. Here are the photos from our walk around the lake up at &lt;a href="http://www.leukerbad.ch/en/navpage.cfm?category=TranspLB&amp;subcat=GemmiLB"&gt;Gemmi&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align:center; width:194px; font-family:arial,sans-serif;font-size:83%;"&gt;&lt;div style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left;"&gt;&lt;a href="http://picasaweb.google.com/ian.connor/Leukerbad"&gt;&lt;img src="http://lh5.google.com/ian.connor/RUS5J-g6ABE/AAAAAAAAACI/T6xNCoSo3PY/s160-c/Leukerbad.jpg" width="160" height="160" style="border:none;padding:0px;margin-top:16px;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://picasaweb.google.com/ian.connor/Leukerbad"&gt;&lt;div style="color:#4D4D4D;font-weight:bold;text-decoration:none;"&gt;Leukerbad&lt;/div&gt;&lt;/a&gt;&lt;div style="color:#808080"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116213262327886184?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116213262327886184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116213262327886184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116213262327886184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116213262327886184'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/10/leukerbad-for-weekend.html' title='Leukerbad for the weekend'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116177733662888682</id><published>2006-10-25T07:52:00.000-04:00</published><updated>2007-06-01T08:57:14.073-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>Making the AIX shell more friendly</title><content type='html'>To make the standard korn shell more friendly, you can edit your .profile with the following settings:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;set -o emacs&lt;br /&gt;&lt;br /&gt;stty erase ^?&lt;br /&gt;&lt;br /&gt;alias __A='^P"&lt;br /&gt;alias __B='^N"&lt;br /&gt;alias __C='^F"&lt;br /&gt;alias __D='^B"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Note, to get control in vi ctrl-v (keep this down when typing the next character). &lt;br /&gt;&lt;br /&gt;This will now give you the use of the up and down arror keys as well as the backspace key for editing commands. This much easier than using ctrl-h and all the standard keystrokes.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116177733662888682?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116177733662888682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116177733662888682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116177733662888682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116177733662888682'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/10/making-aix-shell-more-friendly.html' title='Making the AIX shell more friendly'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-116169957235421822</id><published>2006-10-24T10:11:00.000-04:00</published><updated>2007-06-01T08:57:25.033-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>Changing a database replica id on AIX</title><content type='html'>There has been a utility floating around to change a Lotus Notes database's replica id for some time. I recently migrated a company to AIX 5.3 from another platform to run Domino 7.0.2. Here is a simple HOWTO get up and running to compile with the Notes API on AIX 5.3.&lt;br /&gt;&lt;br /&gt;Upload the NotesApi tool kit from the Lotus Developer Domain (under toolkits). &lt;br /&gt;&lt;br /&gt;Uncompress and extract the tar file to /yourmount/notesapi &lt;br /&gt;&lt;br /&gt;Make sure the notes user owns these files and any links &lt;br /&gt;chown –r notes:notes /yourmount/notesapi &lt;br /&gt;&lt;br /&gt;Create a link under /opt/ibm/lotus &lt;br /&gt;&lt;br /&gt;cd /opt/ibm/lotus &lt;br /&gt;ln -s /yourmount/notesapi notesapi &lt;br /&gt;chown notes:notes notesapi &lt;br /&gt;&lt;br /&gt;Change to the notes user with their profile &lt;br /&gt;su - notes&lt;br /&gt;&lt;br /&gt;Create a script to set all the environment variables &lt;br /&gt;&lt;br /&gt;server:/home/notes$ cat setenv &lt;br /&gt;#!/usr/bin/ksh &lt;br /&gt;&lt;br /&gt;LOTUS=/opt/ibm/lotus; export LOTUS &lt;br /&gt;NOTES_DATA_DIR=/yourmount/domino/data; export NOTES_DATA_DIR &lt;br /&gt;Notes_ExecDirectory=$LOTUS/notes/latest/ibmpow; export Notes_ExecDirectory &lt;br /&gt;PATH=$PATH:$NOTES_DATA_DIR:$Notes_ExecDirectory; export PATH &lt;br /&gt;&lt;br /&gt;Source the file before running any compilations &lt;br /&gt;&lt;br /&gt;server:/home/notes$ . setenv &lt;br /&gt;&lt;br /&gt;compile the intro sample as a test &lt;br /&gt;cd /yourmount/notesapi/sample/basic/intro &lt;br /&gt;make -f aix.mak &lt;br /&gt;&lt;br /&gt;You can now compile any notesapi program.&lt;br /&gt;&lt;br /&gt;The chrepid.c example is available for download here:&lt;br /&gt;&lt;a href="http://www.projectlounge.com/download/chrepid/chrepid.c"&gt;chrepid.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.projectlounge.com/download/chrepid/aix.mak"&gt;chrepid make&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.projectlounge.com/download/chrepid/chrepid"&gt;chrepid compiled program&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-116169957235421822?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/116169957235421822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=116169957235421822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116169957235421822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/116169957235421822'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/10/changing-database-replica-id-on-aix.html' title='Changing a database replica id on AIX'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115761398443895414</id><published>2006-09-07T03:26:00.000-04:00</published><updated>2006-09-07T03:26:24.976-04:00</updated><title type='text'>Parked way too close </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://photos1.blogger.com/blogger/2990/1579/0/image-upload-7-779480.jpg"&gt;&lt;img src="http://photos1.blogger.com/blogger/2990/1579/300/image-upload-7-779480.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Almost hit the metal staircase with the front of the car.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115761398443895414?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115761398443895414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115761398443895414' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115761398443895414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115761398443895414'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/09/parked-way-too-close.html' title='Parked way too close '/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115734667904648964</id><published>2006-09-04T01:06:00.000-04:00</published><updated>2007-06-01T08:58:09.376-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>First Surf Lesson</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2990/1579/1600/DSC001571.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/2990/1579/320/DSC001571.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Although I was born in Hawaii, today was my first ever surf lesson and I really enjoyed it. Thanks to &lt;a href="http://www.learntosurf.com.au/"&gt;Learn to Surf Noosa&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115734667904648964?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115734667904648964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115734667904648964' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115734667904648964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115734667904648964'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/09/first-surf-lesson.html' title='First Surf Lesson'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115726410818302090</id><published>2006-09-03T02:15:00.000-04:00</published><updated>2007-06-01T08:59:14.501-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='family'/><title type='text'>Fathers day 2006</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://photos1.blogger.com/blogger/6334/828/0/image-upload-28-706179.jpg"&gt;&lt;img src="http://photos1.blogger.com/blogger/6334/828/300/image-upload-28-706179.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Tack is wondering how much more seafood Anne will eat.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115726410818302090?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115726410818302090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115726410818302090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115726410818302090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115726410818302090'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/09/fathers-day-2006.html' title='Fathers day 2006'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115725167957134668</id><published>2006-09-02T22:47:00.000-04:00</published><updated>2007-06-01T08:58:09.377-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>Noosa</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://photos1.blogger.com/blogger/6334/828/0/image-upload-38-778165.jpg"&gt;&lt;img src="http://photos1.blogger.com/blogger/6334/828/300/image-upload-38-778165.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;We are having a nice weekend away in Noosa. This was taken in Nooseville at the &lt;a href="http://www.noosapacific.com.au/"&gt;Noosa Pacific&lt;/a&gt; resort.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115725167957134668?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115725167957134668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115725167957134668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115725167957134668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115725167957134668'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/09/noosa.html' title='Noosa'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115559539994799558</id><published>2006-08-14T18:36:00.000-04:00</published><updated>2007-06-01T08:59:22.507-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='anti-spam'/><title type='text'>Retrospective Spam Filter</title><content type='html'>As a good spamcop user, I like to report all the spam that slips through the black lists and filters. That way, making sure the network admins know about any open relays they might have while building the black lists. However, a lot of spam comes through over night and I get a full inbox in the morning. When I report most of these, they have already been black listed. So, I thought it would be best to write a script that would check to see if these had already been listed and filter based on this. This way, even if the spam slipped through the black list on the first try, eventually it would be listed and filtered out of the inbox after the fact. This code seems to be working well for my inbox so I thought I should share it for all Lotus Notes and Ruby users:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'win32ole'&lt;br /&gt;require 'socket'&lt;br /&gt;&lt;br /&gt;@application = WIN32OLE.new('Notes.NotesSession')&lt;br /&gt;&lt;br /&gt;def check_file(server, mail)&lt;br /&gt;@database = @application.GetDatabase(server, mail)&lt;br /&gt;@database.Open(server, mail) unless @database.IsOpen&lt;br /&gt;@view = @database.GetView('($InBox)')&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;dnsbls = %w{bl.spamcop.net cbl.abuseat.org}&lt;br /&gt;     &lt;br /&gt;count = @view.TopLevelEntryCount&lt;br /&gt;count.times do |index|&lt;br /&gt;      doc = @view.GetNthDocument(index+1)&lt;br /&gt;      spamdocs = []&lt;br /&gt;  &lt;br /&gt;      doc.GetReceivedItemText.each do |t|&lt;br /&gt;       start = t.split(/[()]/)&lt;br /&gt;       start[1] =~ /(\d+).(\d+).(\d+).(\d+)/&lt;br /&gt;         dnsbls.each do |dnsbl|&lt;br /&gt;   begin&lt;br /&gt;   var = Socket.getaddrinfo "#$4.#$3.#$2.#$1.#{dnsbl}", 0&lt;br /&gt;   puts var[0][2]&lt;br /&gt;   &lt;br /&gt;   if var[0][2] =~ /127.0/&lt;br /&gt;    puts "Access denied for #{start[1]} by #{dnsbl}"&lt;br /&gt;    spamdocs &lt;&lt; doc&lt;br /&gt;   end&lt;br /&gt;   rescue&lt;br /&gt;   end&lt;br /&gt;  end&lt;br /&gt;      end&lt;br /&gt;      &lt;br /&gt;      spamdocs.each do |doc|&lt;br /&gt;       doc.RemoveFromFolder("($InBox)")&lt;br /&gt;       doc.PutInFolder("($JunkMail)")&lt;br /&gt; end&lt;br /&gt;      &lt;br /&gt;end  &lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;check_file('www/projectlounge',"mail/iconnor.nsf")&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115559539994799558?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115559539994799558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115559539994799558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115559539994799558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115559539994799558'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/08/retrospective-spam-filter.html' title='Retrospective Spam Filter'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115543429801453549</id><published>2006-08-12T21:51:00.000-04:00</published><updated>2007-06-01T08:59:14.502-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='family'/><title type='text'>Happy birthday and anniversary Dowds</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2990/1579/1600/DSC00023.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/2990/1579/320/DSC00023.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We went out to &lt;a href="http://www.eccobistro.com/"&gt;Ecco&lt;/a&gt; for dinner with the Dowds to celebrate 38 year anniversary and Tack's birthday.&lt;br /&gt;We all had a wonderful night and thanks to the staff at Ecco for making it such a pleasant night.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115543429801453549?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115543429801453549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115543429801453549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115543429801453549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115543429801453549'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/08/happy-birthday-and-anniversary-dowds.html' title='Happy birthday and anniversary Dowds'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115361439511250999</id><published>2006-07-22T20:06:00.000-04:00</published><updated>2007-06-01T08:58:43.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Installing Ubuntu on a Dell PowerEdge without a CD drive</title><content type='html'>I recently purchased a very basic DELL in Australia. In the USA, it is impossible to buy a DELL server without a CD ROM and after buying a few there for various reasons, I did not think to ask when ordering the one on the phone. Well, let me assure you, no other CD drive I could get my hands on would actually work and the support staff at DELL were of no help. I even managed to get a DELL CD from a friends PC but it would not work in the server either - the server was just too fussy.&lt;br /&gt;Before sending it back, I thought I would give it one last shot and purchased a 1GB USB key from a local computer dealer. Then downloaded a ubuntu ISO for a CD install. After a few trial and errors and searching on the internet, I think I have the actual instructions to get it working. Although, I am no linux kernel hacker, here goes:&lt;br /&gt;&lt;br /&gt;1. Download the ISO that you want (in my case ubuntu 6.06 desktop)&lt;br /&gt;2. Download the syslinux tool for windows (&lt;a href="http://www.kernel.org/pub/linux/utils/boot/syslinux/"&gt;syslinux latest&lt;/a&gt;)&lt;br /&gt;3. Optional USB format utility (&lt;a href="http://selfdestruct.net/misc/usbboot/SP27213.exe"&gt;from HP)&lt;/a&gt;&lt;br /&gt;4. Copy the CD contents to your USB device&lt;br /&gt;5. Unzip the syslinux and run it against your USB drive (syslinux.exe -f F:) from the win32 directory of syslinux&lt;br /&gt;6. Copy these files to the root of the USB&lt;br /&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;p&gt;  &lt;tt class="filename"&gt;vmlinuz&lt;/tt&gt; (kernel binary) from "casper\vmlinuz"  &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;  &lt;tt class="filename"&gt;initrd.gz&lt;/tt&gt; (initial ramdisk image) from "casper\initrd.gz"  &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;  syslinux.cfg (SYSLINUX configuration file) rename and copy from "isolinux\isolinux.cfg"  &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;7. Then edit the syslinux.cfg so that the vmlinux and initrd.gz now point to the root&lt;br /&gt;e.g.&lt;br /&gt;&lt;code&gt;&lt;br /&gt; DEFAULT /casper/vmlinuz&lt;br /&gt;GFXBOOT bootlogo&lt;br /&gt;GFXBOOT-BACKGROUND 0xB6875A&lt;br /&gt;APPEND   boot=casper initrd=/casper/initrd.gz ramdisk_size=1048576 root=/dev/ram&lt;br /&gt;rw quiet splash --&lt;br /&gt;....Becomes....&lt;br /&gt; DEFAULT vmlinuz&lt;br /&gt;GFXBOOT bootlogo&lt;br /&gt;GFXBOOT-BACKGROUND 0xB6875A&lt;br /&gt;APPEND   boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram&lt;br /&gt;rw quiet splash --&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;8. Eject the USB and you can now boot from it as soon as you go into the BIOS settings on the DELL server (F2 at boot) and set the boot order to allow the USB device to boot as a priority&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115361439511250999?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115361439511250999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115361439511250999' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115361439511250999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115361439511250999'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/07/installing-ubuntu-on-dell-poweredge.html' title='Installing Ubuntu on a Dell PowerEdge without a CD drive'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115253655274230224</id><published>2006-07-10T08:48:00.000-04:00</published><updated>2007-06-01T08:58:56.420-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='anti-spam'/><title type='text'>Disposable email, spamcop and a trap</title><content type='html'>I will never be afraid to give out my email address again. Well, maybe not my actual address, but I will give away my sneakemail address. This service (http://sneakemail.com), will allow you to generate a random looking email address like "a9svgun0211@sneakemail.com" that you can safely give out. It is a disposable address that you can use to sign up for a given site, tag it for that purpose and then if you get any spam from that site, delete the address.&lt;br /&gt;However, I have recently taken this one step further. I have created a spamtrap address that will automatically report spam to spamcop and blacklist the IP address of the hosting servers. So, instead of deleting the address, I simply re route it to the spam trap and increase the power of the blacklist.&lt;br /&gt;Requires tools:&lt;br /&gt;1. Sneakemail (free accounts available) &lt;a href="http://sneakemail.com/"&gt;&lt;img src="http://sneakemail.com/images/promotion/sneakbtn5.png" alt="Sneakemail" title="Trash spam with Sneakemail" border="0" height="30" width="90" /&gt;&lt;/a&gt;&lt;br /&gt;2. Spamcop reporting account &lt;a href="http://spamcop.net/"&gt;&lt;img src="http://spamcop.net/images/spamcop.gif" alt="SpamCop.net - Spam reporting for the masses" border="0" height="30" width="90" /&gt;&lt;/a&gt;&lt;br /&gt;3. Automatic report account - the trap account (&lt;a href="http://www.ibiblio.org/shadow/okopipi/"&gt;Thunderbird Reporter&lt;/a&gt; or &lt;a href="http://ianconnor.blogspot.com/2006/05/reporting-spam-to-spamcop-from-lotus.html"&gt;Lotus Notes reporter&lt;/a&gt; )&lt;br /&gt;Then you can use your disposable email addresses as you need and have them divert to the spam trap if they start to get spammed.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115253655274230224?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115253655274230224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115253655274230224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115253655274230224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115253655274230224'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/07/disposable-email-spamcop-and-trap.html' title='Disposable email, spamcop and a trap'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115171459949306750</id><published>2006-06-30T20:39:00.000-04:00</published><updated>2007-06-01T09:00:07.176-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>Brisbane in the morning</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2990/1579/1600/DSCF0091.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/2990/1579/200/DSCF0091.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It is a little pleasure to be working away with such a nice view in the background. I am not sure it makes the code any better but it certainly is nice to glance at from the keyboard to refocus the eyes every so often.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115171459949306750?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115171459949306750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115171459949306750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115171459949306750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115171459949306750'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/brisbane-in-morning.html' title='Brisbane in the morning'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115154588632751754</id><published>2006-06-28T21:48:00.000-04:00</published><updated>2007-06-01T09:01:22.956-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quickplace'/><title type='text'>LotusScript to restore removed QuickPlace</title><content type='html'>This is a LotusScript button that the QuickPlace SU administrator can run on a server to restore a QuickPlace that has been removed with QPTool. It goes through and changes all the titles of the place back to their original one before being marked as [Pending Deletion].&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;Dim s As notessession&lt;br /&gt;Dim server As String&lt;br /&gt;Dim placename As String&lt;br /&gt;Sub Click(Source As Button)&lt;br /&gt; Set s = New  notessession&lt;br /&gt; &lt;br /&gt; placename = "yourplacename"&lt;br /&gt; server = "yourserver/projectlounge"&lt;br /&gt; &lt;br /&gt; Print "Starting in main room"&lt;br /&gt; Call  restoredb(placename, "quickplace/"+placename+"/main.nsf")&lt;br /&gt; &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub restoredb(roomtitle, roompath)&lt;br /&gt; Dim roomdb As NotesDatabase&lt;br /&gt; Dim roomview As notesview&lt;br /&gt; &lt;br /&gt; Set roomdb = s.GetDatabase(server, roompath)&lt;br /&gt; If roomdb.IsOpen = False Then&lt;br /&gt;  Call roomdb.Open(server, roompath)  &lt;br /&gt; End If  &lt;br /&gt; roomdb.Title = roomtitle&lt;br /&gt; Print "Set title: " + roomtitle&lt;br /&gt; &lt;br /&gt; Set roomview = roomdb.GetView("System\Subrooms")&lt;br /&gt; Dim doc As NotesDocument&lt;br /&gt; Set doc = roomview.GetFirstDocument&lt;br /&gt; While Not (doc Is Nothing)&lt;br /&gt;  Dim iroomtitle As String&lt;br /&gt;  Dim iroomfile As String&lt;br /&gt;  &lt;br /&gt;  iroomtitle = doc.GetItemValue("h_Name")(0)&lt;br /&gt;  iroomfile = doc.GetItemValue("h_LocDbName")(0)&lt;br /&gt;  &lt;br /&gt;  Print "Working on: " + iroomfile&lt;br /&gt;  Call restoredb(iroomtitle, "quickplace/"+placename+"/" + iroomfile)  &lt;br /&gt;  &lt;br /&gt;  Set doc = roomview.GetNextDocument(doc)&lt;br /&gt; Wend&lt;br /&gt;End Sub&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115154588632751754?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115154588632751754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115154588632751754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115154588632751754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115154588632751754'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/lotusscript-to-restore-removed.html' title='LotusScript to restore removed QuickPlace'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115128745866185092</id><published>2006-06-25T21:51:00.000-04:00</published><updated>2007-06-01T09:00:57.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>RoR authentication with IBM Notes/Domino</title><content type='html'>This is a very simple authentication system for a Ruby on Rails server in the same internet domain. It will allow you to get back the username of the person hitting your server provided they already have authenticated with an IBM Lotus/Domino or Websphere server that uses multi-server based session authentication.&lt;br /&gt;IBM Domino/Websphere authentication works by placing an encrypted cookie for a given domain. There are a number of ways to find out what this cookie means.&lt;br /&gt;For instance, you could either:&lt;br /&gt;1. Decrypt the cookie using the secret key in the domino directory; or&lt;br /&gt;2. Pass that cookie along to a live domino server and get back the username.&lt;br /&gt;In this example, we are going to use the second option. This means we take that cookie and then pass it to an IBM server to check the authentication.&lt;br /&gt;The cookie is stored in as LTPA token. Here is the ruby on rails code:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'open-uri'&lt;br /&gt;&lt;br /&gt;module DominoAuthenication&lt;br /&gt;&lt;br /&gt;  public&lt;br /&gt;  # accesses the current user from the session.&lt;br /&gt;  # overwrite this to set how the current user is retrieved from the session.&lt;br /&gt;  # To store just the whole user model in the session:&lt;br /&gt;  #&lt;br /&gt;  #   def current_user&lt;br /&gt;  #     session[:user]&lt;br /&gt;  #   end&lt;br /&gt;  # &lt;br /&gt;  def current_user&lt;br /&gt;    if session[:user]&lt;br /&gt;      @current_user ||= session[:user]&lt;br /&gt;    else&lt;br /&gt;      begin&lt;br /&gt;      tokenstring = "LtpaToken="&lt;br /&gt;      tokenstring = tokenstring + cookies[:LtpaToken] if cookies[:LtpaToken]      &lt;br /&gt;      OpenURI.open_uri('http://[your domino server here]/[your database]/[some page that returns the username]', &lt;br /&gt;        "Cookie" =&gt; tokenstring) do |http| &lt;br /&gt;        @current_user = http.read.strip&lt;br /&gt;      end &lt;br /&gt;      #rescue&lt;br /&gt;      end      &lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;On the domino side, you just need to create a database and then a page within the database that has a field returning @username().&lt;br /&gt;This will then return the full username. If you are using QuickPlace for instance, you will get back something like "CN=user/OU=placename/OU=QP/O=certifier" and you can  deal with this as you like in your ruby code.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115128745866185092?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115128745866185092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115128745866185092' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115128745866185092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115128745866185092'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/ror-authentication-with-ibm.html' title='RoR authentication with IBM Notes/Domino'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115033672330243046</id><published>2006-06-14T21:53:00.000-04:00</published><updated>2007-06-01T09:00:57.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Ruby Skype Bot</title><content type='html'>Here is a very simple Ruby Script that will reply to anything anyone says to you.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'win32ole'&lt;br /&gt;&lt;br /&gt;oSkype = WIN32OLE.new('SKYPEAPI.Access')    &lt;br /&gt;puts "Version: #{oSkype.Version}"&lt;br /&gt;oSkype.Connect()&lt;br /&gt;&lt;br /&gt;puts "Getting events"&lt;br /&gt;ev = WIN32OLE_EVENT.new(oSkype, '_IAccessEvents')&lt;br /&gt;    &lt;br /&gt;ev.on_event('ChatMessageReceived') do |msg|&lt;br /&gt;  to = msg.MessageFrom.Handle&lt;br /&gt;  puts "#{to} said: #{msg.Body}"&lt;br /&gt;  if to != oSkype.CurrentUserHandle&lt;br /&gt;    response = "OMG, I can't believe you just said '#{msg.Body}'"&lt;br /&gt;    oSkype.SendMessage(to, response)&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;    &lt;br /&gt;# infinite loop to keep the script alive&lt;br /&gt;loop do&lt;br /&gt;  WIN32OLE_EVENT.message_loop&lt;br /&gt;end &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;It requires the &lt;a href="http://share.skype.com/directory/actives/view/"&gt;Skype ActiveS&lt;/a&gt; dll to be registered. The ActiveS site does not have the dll in the latest MSI so, I was able to &lt;a href="http://www.projectlounge.com/download/SkpyeAPI.dll"&gt;download it here&lt;/a&gt; and make it available for people to register.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115033672330243046?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115033672330243046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115033672330243046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115033672330243046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115033672330243046'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/ruby-skype-bot.html' title='Ruby Skype Bot'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-115008783902618926</id><published>2006-06-12T00:39:00.000-04:00</published><updated>2007-06-01T09:00:07.177-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>Being stalked by click torrent girls</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2990/1579/1600/stalkers.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/2990/1579/200/stalkers.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the past few weeks, I have been in Dublin Ireland, Cork Ireland, London UK, Bad Homburg Germany, Dubai UAE, Sydney Australia and Brisbane Australia and have connected to a torrent web site in each location to catch up on my shows.&lt;br /&gt;I know it is probably not the best way to get TV shows, as is shown by the quality of advertisers that support their site. However, click torrent has to take the cake here. &lt;br /&gt;In each of these location, it has show the exact same girls as "in my area" that want to meet me. Same photo, same clothes, same girls - just the names and locations change. If I didn't know better, I would have thought these women are traveling around the world stalking me under different aliases. For instance, in Germany, they had German names and were staying in the same place "Bad Homburg" - a small town near Frankfurt that has one main shopping street and not much going on (sorry but the toscana pizza place is very nice mind you).&lt;br /&gt;However, how dishonest can this advertising get and how ignorant do they think the male population is? These girls are not in my area, are not wanting to meet me, and have nothing to do with the shows I am downloading. I am not the biggest fan of the google adwords but at least I am not getting totally lied to in a spam like manner.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-115008783902618926?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/115008783902618926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=115008783902618926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115008783902618926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/115008783902618926'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/being-stalked-by-click-torrent-girls.html' title='Being stalked by click torrent girls'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114991334194547831</id><published>2006-06-10T00:22:00.000-04:00</published><updated>2007-06-01T09:00:57.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Ruby on Rails: Open source project collaboration</title><content type='html'>ProjectLounge Lite is a ruby on rails based project collaboration tool. It has calendars, tasks list (with Gantt view), document sharing and member management. There is a hosted version at http://www.projectlounge.com and also the full source code is available for download and use under LGPL.&lt;br/&gt;&lt;br/&gt;&lt;a href="http://blog.projectlounge.com/2006/06/projectlounge-lite-released-to-open.html"&gt;read more&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://digg.com/programming/Ruby_on_Rails:_Open_source_project_collaboration"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114991334194547831?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114991334194547831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114991334194547831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114991334194547831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114991334194547831'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/ruby-on-rails-open-source-project.html' title='Ruby on Rails: Open source project collaboration'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114985040735809513</id><published>2006-06-09T06:44:00.000-04:00</published><updated>2007-06-01T09:00:57.354-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>ProjectLounge Lite released to open source</title><content type='html'>It has been a few months coming, but we have finally released all our code into the glory of &lt;a href="http://www.gnu.org/licenses/lgpl.html"&gt;LGPL&lt;/a&gt; open source. The open access &lt;a href="http://subversion.tigris.org/"&gt;SVN&lt;/a&gt; repository is open and available for anonymous read access. If anyone wants to contribute code, please contact me with what you want to add.&lt;br /&gt;The svn URL is svn://svn.projectlounge.com/open/light and I will be updating a project home page soon.&lt;br /&gt;There is also going to be a simple one click install via the &lt;a href="http://rubyforge.org/projects/instantrails/"&gt;Instant Rails&lt;/a&gt; framework.&lt;br /&gt;If all this code seems a little too much, you can see a hosted version at: &lt;a href="http://www.pllite.com/projects/new"&gt;http://www.pllite.com/projects/new&lt;/a&gt; to create your own project there. The access code is currently "pl124" but this will change to a &lt;a href="http://en.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt; eventually.&lt;br /&gt;The next few weeks will see a lot more development, so please if you are interested in contributing to an open source project that helps people get out of email and collaborate online about projects, please let me know.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114985040735809513?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114985040735809513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114985040735809513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114985040735809513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114985040735809513'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/projectlounge-lite-released-to-open.html' title='ProjectLounge Lite released to open source'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114957769175605971</id><published>2006-06-06T03:08:00.000-04:00</published><updated>2007-06-01T09:01:49.948-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='motivational'/><title type='text'>Cool Tip to Beat Procrastination</title><content type='html'>A "life hack" tip for how to stop being a procrastinator. The basic idea is to just do the task for 10min to get over the procrastination urge. I will try this with my next task ... right after I read through my blogbridge :)&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.lifehacker.com/software/procrastination/beat-procrastination-with-the-10-minute-rule-178118.php"&gt;read more&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://digg.com/links/Beat_Procrastination"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114957769175605971?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114957769175605971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114957769175605971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114957769175605971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114957769175605971'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/cool-tip-to-beat-procrastination.html' title='Cool Tip to Beat Procrastination'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114954087321559937</id><published>2006-06-05T16:54:00.000-04:00</published><updated>2007-06-01T09:00:57.354-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Web 2.0 Has Corporate America Spinning</title><content type='html'>The array of new tools that foster online collaboration -- and could revolutionize business and we have a blog entry &lt;a href="http://blog.projectlounge.com/"&gt;here&lt;/a&gt; about it &lt;a href="http://www.businessweek.com/technology/content/jun2006/tc20060605_424102.htm?campaign_id=bier_tcjk"&gt;read more&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://digg.com/technology/Web_2.0_Has_Corporate_America_Spinning_2"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114954087321559937?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114954087321559937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114954087321559937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114954087321559937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114954087321559937'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/web-20-has-corporate-america-spinning.html' title='Web 2.0 Has Corporate America Spinning'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114926446762386785</id><published>2006-06-02T12:05:00.000-04:00</published><updated>2007-06-01T09:01:22.956-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quickplace'/><title type='text'>Projectlounge has a new blog</title><content type='html'>I will be contributing to that as well as this blog. This will still remain my random thoughts  and travels. However, all thoughts related to online collaboration technology will start to be posted there. The Projectlounge &lt;a href="http://blog.projectlounge.com"&gt;online collaboration&lt;/a&gt; blog should be interesting to those of us who don't really like email and prefer to collaboration in a real system that was designed for it.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114926446762386785?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114926446762386785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114926446762386785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114926446762386785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114926446762386785'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/06/projectlounge-has-new-blog.html' title='Projectlounge has a new blog'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114910980469665409</id><published>2006-05-31T17:02:00.000-04:00</published><updated>2006-06-02T12:32:42.633-04:00</updated><title type='text'>To MacBook Pro or not?</title><content type='html'>Two people I trust have just taken the dive into the &lt;a href="http://www.apple.com/macbookpro/"&gt;MacBook Pro&lt;/a&gt; world. &lt;a href="http://samishalabi.blogspot.com/2006/05/loading-up-new-macbook-pro.html"&gt;Sami Shalabi&lt;/a&gt; and &lt;a href="http://web.mac.com/wkraabe"&gt;Will Raabe&lt;/a&gt;. They have both promised updates on their thoughts and how much they use them. Will tends to love his toys and will test out all the latest gadets I am sure. Sami is more the hard core coder and if Sami likes it, I know it will be a very good  development machine (fast compiles and eclipse j2ee friendly).&lt;br /&gt;If both of these people still love it in a month, then it will be almost impossible for me to resist ditching my 2 month old &lt;a href="http://www.dell.com/"&gt;Dell&lt;/a&gt; and getting one.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114910980469665409?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114910980469665409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114910980469665409' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114910980469665409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114910980469665409'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/05/to-macbook-pro-or-not.html' title='To MacBook Pro or not?'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114903288789158442</id><published>2006-05-30T19:39:00.000-04:00</published><updated>2007-06-01T09:00:07.177-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>5 countries in a week</title><content type='html'>We have arrived in Australia now and hope to stay for a while. In the last week we have been in Bad Homburg Germany, Dublin &amp; Cork Ireland, London UK and then Dubai UEA on the way to Sydney Australia. It will be good to be a little more settled and less "homeless" for the release of ProjectLounge Lite. We go to Brisbane this weekend and hope that will be the last of the flights for a while.&lt;br /&gt;Having, just complained about flights, I was really impressed with Emirates for their service. Coming back to Australia did not really feel "proper" by not getting on Qantas. However, the combination fare from &lt;a href="http://www.travelmood.com/site/hotoffers/flights/default_oznzJclass.asp#EKBUS"&gt;travelmood&lt;/a&gt; could not be beat on price. The economy sector from London to Dubia was only 6 hours and I did notice the extra 2 inches leg room over BA/QF. They even give out hot towels. However, when it came to the lounge in Dubai and the Business service to Sydney I was very impressed.&lt;br /&gt;If they can keep up the prices, I am not sure I would fly anything else on long hauls to Australia. They even had an espresso machine on board to get me going before landing - they really thought of everything.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114903288789158442?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114903288789158442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114903288789158442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114903288789158442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114903288789158442'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/05/5-countries-in-week.html' title='5 countries in a week'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114787467712226538</id><published>2006-05-17T09:57:00.000-04:00</published><updated>2007-06-01T09:02:57.930-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='anti-spam'/><category scheme='http://www.blogger.com/atom/ns#' term='domino'/><title type='text'>Reporting Spam to SpamCop from Lotus Notes</title><content type='html'>Here is a very simple agent to report a select email or emails to spamcop's quick reporting service. You will need a spamcop account and access to quick reporting.&lt;br /&gt;&lt;br /&gt;It uses a new r6 feature of lotusscript to get the received header information so that spamcop will know exactly where the email came from at each hop. This is important as they use this for their black lists so that the correct servers are blocked while the innocent receiving servers are not.&lt;br /&gt;&lt;br /&gt;It is also important to list your allowed hosts with spamcop so that if it routes through some of your servers then these will not be treated at open relays.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Sub Initialize&lt;br /&gt; Dim s As New notessession&lt;br /&gt; Dim dc As NotesDocumentCollection&lt;br /&gt; Dim db As notesdatabase&lt;br /&gt; Dim doc As notesdocument&lt;br /&gt;&lt;br /&gt; Set db = s.CurrentDatabase&lt;br /&gt; Set dc = db.UnprocessedDocuments&lt;br /&gt;&lt;br /&gt; Set doc = dc.GetFirstDocument&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; While Not(doc Is Nothing)&lt;br /&gt; &lt;br /&gt;         Dim text As String&lt;br /&gt;         text = ""&lt;br /&gt;         Forall t In doc.GetReceivedItemText&lt;br /&gt;             text = text + "Received: " + t + Chr(10)&lt;br /&gt;         End Forall&lt;br /&gt;         Forall it In doc.Items&lt;br /&gt;If it.name &lt;&gt; "Received" Then&lt;br /&gt;             text = text + it.name + ": " + it.text + Chr (10)&lt;br /&gt;End If&lt;br /&gt;         End Forall&lt;br /&gt;     &lt;br /&gt;         Dim mail As notesdocument&lt;br /&gt;         Set mail = db.CreateDocument&lt;br /&gt;     &lt;br /&gt;         mail.form = "memo"&lt;br /&gt;         mail.subject = "Spam to report"&lt;br /&gt;         mail.body = text&lt;br /&gt;     &lt;br /&gt;         Call mail.Send(False, "spam@uce.gov")&lt;br /&gt;         Call mail.Send(False, "quick.[yoursecretkeyhere]@spam.spamcop.net")&lt;br /&gt;     &lt;br /&gt;           'You can then save or just delete it here&lt;br /&gt;         doc.RemoveFromFolder("($junkmail)")&lt;br /&gt;         Call doc.Save(True, False)&lt;br /&gt; &lt;br /&gt;     Set doc = dc.GetNextDocument(doc)&lt;br /&gt; Wend&lt;br /&gt;End Sub&lt;br /&gt;&lt;/code&gt;&lt;br /&gt; Like this article? &lt;a href="http://digg.com/programming/Reporting_Spam_to_SpamCop_from_Lotus_Notes"&gt;Digg it&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114787467712226538?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114787467712226538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114787467712226538' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114787467712226538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114787467712226538'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/05/reporting-spam-to-spamcop-from-lotus.html' title='Reporting Spam to SpamCop from Lotus Notes'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114673112413774635</id><published>2006-05-04T04:21:00.000-04:00</published><updated>2007-06-01T09:00:57.355-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Rails acts_as_threaded Plugin</title><content type='html'>Left a comment on the &lt;a href="http://www.railtie.net/articles/2006/02/05/rails-acts_as_threaded-plugin"&gt;acts_as_threaded&lt;/a&gt; plugin page as a warning to someone using it that wants to use proper ids for their tables.&lt;br /&gt;&lt;br /&gt;If you end up using a guid for the table primary key and root_id, it you need to enclose the "#{self[root_column]}" with quotes. If you don't the sql will get broken by the hyphens in the id.&lt;br /&gt;&lt;br /&gt;Otherwise, it works well even when you combine it with guid self generating 36 char ids.&lt;br /&gt;&lt;br /&gt;Lines with root_column will change from something like this:&lt;br /&gt;&lt;br /&gt;self.class.update_all( "#{left_col_name} = (#{left_col_name} + 2)",  "#{scope_condition} AND #{root_column} = #{self[root_column]} AND #{left_col_name} &gt;= #{right_bound}" )&lt;br /&gt;&lt;br /&gt;to become something like this:&lt;br /&gt;&lt;br /&gt;self.class.update_all( "#{left_col_name} = (#{left_col_name} + 2)",  "#{scope_condition} AND #{root_column} = '#{self[root_column]}' AND #{left_col_name} &gt;= #{right_bound}" )&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114673112413774635?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114673112413774635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114673112413774635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114673112413774635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114673112413774635'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/05/rails-actsasthreaded-plugin.html' title='Rails acts_as_threaded Plugin'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114606949396926459</id><published>2006-04-26T12:32:00.000-04:00</published><updated>2006-04-26T12:38:13.980-04:00</updated><title type='text'>People getting taller and seats getting smaller</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/2990/1579/320/0425-biz-webSEATch.jpg"&gt;&lt;img style="CLEAR: all; FLOAT: right; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/2990/1579/160/0425-biz-webSEATch.jpg" border="0" /&gt;&lt;/a&gt;  I would like the executive at Airbus who thought of the idea of &lt;a href="http://www.nytimes.com/2006/04/25/business/25seats.html?ex=1146196800&amp;en=ad05f4da7d624820&amp;amp;ei=5087%0A"&gt;standing room only flights&lt;/a&gt; to fly economy to Australia from the USA or Europe before adding these seats. In fact, I challenge any airline executive who runs a service to Australia to fly this route in the small seats down the back.&lt;br /&gt;I would like to see economy sleeper seats before economy standing seats. There must be a way to have bunk beds or the like that still allow you to have lots of people on the flight and not taking up too much room.&lt;br /&gt;I am not against getting a lot of people onto the planes. In fact, that is the best idea. Flying is a really polluting business and if we can have more people on the flights, then this is better than more flights. However, it would be nice if there was a way to get some sleep when you are stuck on a 16 hour flight.&amp;nbsp;&lt;a href='http://picasa.google.com/blogger/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbp.gif' alt='Posted by Picasa' style='border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;' align='middle' border='0' /&gt;&lt;/a&gt; &lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114606949396926459?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114606949396926459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114606949396926459' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114606949396926459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114606949396926459'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/04/people-getting-taller-and-seats.html' title='People getting taller and seats getting smaller'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114582329899154484</id><published>2006-04-23T16:14:00.000-04:00</published><updated>2007-06-01T09:00:07.178-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>gzip for your bedroom</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/2990/1579/320/DSCF0020.jpg"&gt;&lt;img style="margin: 0px 10px 10px 0px; float: right;" alt="" src="http://photos1.blogger.com/blogger/2990/1579/160/DSCF0020.jpg" border="0" /&gt;&lt;/a&gt;I have been packing away some bedding using a vacuum bag system. I always thought these systems were a bit of a joke but they really work well on bedding and pillows (and we certainly have a lot of pillows). Anyway, I recommend a vacuum pack system for anyone who is moving. It really feels like gzip for your bedroom... now if only I could store these things on a sftp server somewhere while we move.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114582329899154484?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114582329899154484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114582329899154484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114582329899154484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114582329899154484'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/04/gzip-for-your-bedroom.html' title='gzip for your bedroom'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16592936.post-114547455454749858</id><published>2006-04-19T15:17:00.000-04:00</published><updated>2007-06-01T09:00:07.178-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>Geocodes are better than an address</title><content type='html'>After playing with google maps, I see now that the geocodes are far better than just an address. For instance, in the local TV station, many people find it hard to locate within the high school. However, with the proper geocodes GLatLng(42.4473, -71.3469) instead of the address one GLatLng(42.447601, -71.342077) it was possible to get the marker right at the door to the studio. Anyway, if you are finding it hard to find CCTV, then I hope you find the geocoded map at &lt;a href="http://www.concordtv.org/site/index/directions"&gt;http://www.concordtv.org/site/index/directions&lt;/a&gt; useful in your search.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0182378101428874";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel ="";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16592936-114547455454749858?l=ianconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ianconnor.blogspot.com/feeds/114547455454749858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16592936&amp;postID=114547455454749858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114547455454749858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16592936/posts/default/114547455454749858'/><link rel='alternate' type='text/html' href='http://ianconnor.blogspot.com/2006/04/geocodes-are-better-than-address.html' title='Geocodes are better than an address'/><author><name>ian connor</name><uri>http://www.blogger.com/profile/17012291553690617903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_sTBR2oqToZI/SLQMO_dMblI/AAAAAAAABFM/iSgbPuESfvg/S220/n502618274_385.jpg'/></author><thr:total>0</thr:total></entry></feed>
