<?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-9082787959555275945</id><updated>2012-02-17T12:12:04.831+01:00</updated><category term='C#'/><category term='bittorrent'/><category term='ruby'/><category term='demonoid'/><category term='web2.0'/><category term='debugging'/><category term='VisualStudio'/><category term='rails'/><category term='cloudcomputing'/><category term='saas'/><category term='MSBuild'/><category term='.NET'/><category term='trends'/><title type='text'>Teecee's Tech Tips</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tech.fortu.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9082787959555275945.post-6985836915022134180</id><published>2008-12-27T01:47:00.006+01:00</published><updated>2008-12-27T02:23:17.522+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bittorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='demonoid'/><category scheme='http://www.blogger.com/atom/ns#' term='trends'/><title type='text'>Free Demonoid Invitation Code</title><content type='html'>Just for fun, I've been having a look at &lt;a href="http://www.google.com/trends" target="_blank"&gt;Google Trends&lt;/a&gt; for "demonoid invitation code". &lt;a href="http://www.demonoid.com/"&gt;Demonoid&lt;/a&gt; is one of the web's most popular private BitTorrent trackers and forums. Legal threats from the legal threats from the Canadian Recording Industry Association drove it to close on November 9th, 2007, only to be reopened some 6 months later in the hands of a new administrator. The closure is clearly visible in google's trend:&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_Q2aZVqwejts/SVV8yZ0jQaI/AAAAAAAABc8/m8Ex9i5-HZo/s1600/viz.png" alt="Demonoid on Google Trends" id="BLOGGER_PHOTO_ID_5284266943155749282" /&gt;&lt;br /&gt;&lt;a href="http://www.alexa.com/"&gt;Alexa&lt;/a&gt; is another good site for monitoring internet trends. Here's Alexa's graph comparing Demonoid with two extremely popular public trackers, &lt;a href="http://thepiratebay.org/" target="_blank"&gt;The Pirate Bay&lt;/a&gt; and &lt;a href="http://www.isohunt.com/" target="_blank"&gt;IsoHunt&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_Q2aZVqwejts/SVWCQ8wkL5I/AAAAAAAABdE/VVtYEtB5cSs/s1600/Picture%2B3.png" alt="Demonoid vs. Pirate Bay vs. IsoHunt" id="BLOGGER_PHOTO_ID_5284272965488488338" border="0" /&gt;Despite all the research, I was still unable to find a legitimate invitation code for Demonoid, although there seem to be plenty of scams out there. This post is a bit of "search bait" to see how many hits it generates compared to my (ir)regular posts. Sorry to disappoint any invitation code hunters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9082787959555275945-6985836915022134180?l=tech.fortu.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.fortu.net/feeds/6985836915022134180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9082787959555275945&amp;postID=6985836915022134180' title='24 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/6985836915022134180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/6985836915022134180'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/2008/12/free-demonoid-invitation-code.html' title='Free Demonoid Invitation Code'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Q2aZVqwejts/SVV8yZ0jQaI/AAAAAAAABc8/m8Ex9i5-HZo/s72-c/viz.png' height='72' width='72'/><thr:total>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9082787959555275945.post-1179621961561129847</id><published>2008-12-12T16:25:00.004+01:00</published><updated>2008-12-13T02:50:18.334+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><title type='text'>Ruby on Rails Debugging Tools</title><content type='html'>Scott Raymond's "&lt;a href="http://oreilly.com/catalog/9780596527440/" target="_blank"&gt;Ajax on Rails&lt;/a&gt;" book contains a chapter on debugging and testing Rails applications. Unfortunately, a lot of this content is not applicable to &lt;a href="http://weblog.rubyonrails.org/2007/12/7/rails-2-0-it-s-done" target="_blank"&gt;Rails 2&lt;/a&gt;, as script/breakpointer has been removed from the framework and replaced by ruby-debug.&lt;br /&gt;&lt;br /&gt;Fear not. Railscasts has an excellent &lt;a href="http://railscasts.com/episodes/54" target="_blank"&gt;screencast&lt;/a&gt; on ruby-debug, covering installation and basic usage of the tool. Data Noise explains some more advanced uses, such as remote debugging, &lt;a href="http://www.datanoise.com/ruby-debug" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Another tool described in Ajax on Rails is Rick Olson's &lt;a href="http://agilewebdevelopment.com/plugins/routing_navigator" target="_blank"&gt;Routing Navigator&lt;/a&gt; plugin, which was also doesn't seem to work with Rails 2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9082787959555275945-1179621961561129847?l=tech.fortu.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.fortu.net/feeds/1179621961561129847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9082787959555275945&amp;postID=1179621961561129847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/1179621961561129847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/1179621961561129847'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/2008/12/ruby-on-rails-debugging-tools.html' title='Ruby on Rails Debugging Tools'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9082787959555275945.post-1994629237555857793</id><published>2008-11-13T20:35:00.001+01:00</published><updated>2008-12-13T02:48:20.882+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='saas'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudcomputing'/><title type='text'>Software as a Service and Cloud Computing</title><content type='html'>I've been doing a little research recently into &lt;a href="http://en.wikipedia.org/wiki/SaaS" target="_blank"&gt;Software as a Service&lt;/a&gt; (SaaS) and &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank"&gt;Cloud Computing&lt;/a&gt;, and have come across a couple of interesting articles. A couple of weeks ago, The Economist ran a special report on the evolution of Corporate IT (&lt;a href="http://www.economist.com/specialreports/displayStory.cfm?story_id=12411882" target="_blank"&gt;here&lt;/a&gt;, or in &lt;a href="http://www.economist.com/members/survey_paybarrier.cfm?issue=20081025" target="_blank"&gt;PDF&lt;/a&gt;). Tim O'Reilly posted a concise but interesting &lt;a href="http://radar.oreilly.com/2008/10/web-20-and-cloud-computing.html" target="_blank"&gt;post&lt;/a&gt; on the O'Reilly Radar about Web 2.0 and Cloud Computing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9082787959555275945-1994629237555857793?l=tech.fortu.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.fortu.net/feeds/1994629237555857793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9082787959555275945&amp;postID=1994629237555857793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/1994629237555857793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/1994629237555857793'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/2008/11/software-as-service-and-cloud-computing.html' title='Software as a Service and Cloud Computing'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9082787959555275945.post-3207408305869142561</id><published>2008-10-12T19:29:00.005+02:00</published><updated>2008-10-13T12:33:18.805+02:00</updated><title type='text'>SimpleViewer, Blogger and Picasa Web Albums</title><content type='html'>&lt;a href="http://www.airtightinteractive.com/simpleviewer" target="_blank"&gt;SimpleViewer&lt;/a&gt; is an excellent Flash based image viewer by Airtight Interactive (Felix Tuner). It's behaviour and image gallery can be configured by using an XML configuration file. There are even user-friendly tools available to generate these XML files. I have happily been using SimpleViewer on my blog for some time now, but have come across some obstacles on moving from my own hosted site to a custom domain hosted by Blogspot, with images hosted in Picasa Web Albums.&lt;br /&gt;&lt;br /&gt;The solution requires the use of a file hosting service which allows http access to Flash files (.swf) and XML files. &lt;a href="http://www.fileden.com/" target="_blank"&gt;FileDEN&lt;/a&gt; currently allows both. For some reason, SimpleViewer doesn't seem to locate the gallery if the flash and xml files are hosted on two different domains.&lt;br /&gt;&lt;br /&gt;Anyway, here's an example of the setup:&lt;br /&gt;&lt;br /&gt;&lt;embed type="application/x-shockwave-flash" bgcolor="#000000" flashvars="xmlDataPath=http://www.fileden.com/files/2008/10/8/2134533/gallery.xml" src="http://www.fileden.com/files/2008/10/8/2134533/viewer.swf" height="480" width="480"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;The code is as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%; font-family: courier new;"&gt;&amp;lt;embed type=&amp;quot;application/x-shockwave-flash&amp;quot; bgcolor=&amp;quot;#000000&amp;quot; flashvars=&amp;quot;xmlDataPath=&lt;a href="http://www.fileden.com/files/2008/10/8/2134533/gallery.xml" target="_blank"&gt;http://www.fileden.com/files/2008/10/8/2134533/gallery.xml&lt;/a&gt;&amp;quot; src=&amp;quot;http://www.fileden.com/files/2008/10/8/2134533/viewer.swf&amp;quot; height=&amp;quot;480&amp;quot; width=&amp;quot;480&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One remaining obstacle which I haven't been able to solve is the use of thumbnails, as SimpleViewer requires all thumbnails to have the same URL prefix, whereas in Picasa Web Albums this is not the case.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9082787959555275945-3207408305869142561?l=tech.fortu.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.fortu.net/feeds/3207408305869142561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9082787959555275945&amp;postID=3207408305869142561' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/3207408305869142561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/3207408305869142561'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/2008/10/simpleviewer-inside-blogspot-hosted.html' title='SimpleViewer, Blogger and Picasa Web Albums'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9082787959555275945.post-2319764053559846897</id><published>2008-08-10T18:17:00.000+02:00</published><updated>2008-08-10T18:25:02.439+02:00</updated><title type='text'>Blogger archive calendars</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://phydeaux3.blogspot.com/2007/04/blogger-archive-calender.html"&gt;http://phydeaux3.blogspot.com/2007/04/blogger-archive-calender.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://development.artsblogs.com/blog/blog.asp?entryId=67460"&gt;http://development.artsblogs.com/blog/blog.asp?entryId=67460&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://typoxp.blogspot.com/2007/05/archive-calendar-widget-for-typoxp.html"&gt;http://typoxp.blogspot.com/2007/05/archive-calendar-widget-for-typoxp.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9082787959555275945-2319764053559846897?l=tech.fortu.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.fortu.net/feeds/2319764053559846897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9082787959555275945&amp;postID=2319764053559846897' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/2319764053559846897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/2319764053559846897'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/2008/08/blogger-archive-calendars.html' title='Blogger archive calendars'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9082787959555275945.post-8307835819725836443</id><published>2008-08-10T18:13:00.000+02:00</published><updated>2008-08-10T18:28:07.394+02:00</updated><title type='text'>How to add a blog entry calendar thingy.</title><content type='html'>&lt;a href="http://brainstormsandraves.com/archives/2007/02/22/csscalendar/"&gt;http://brainstormsandraves.com/archives/2007/02/22/csscalendar/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9082787959555275945-8307835819725836443?l=tech.fortu.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.fortu.net/feeds/8307835819725836443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9082787959555275945&amp;postID=8307835819725836443' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/8307835819725836443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/8307835819725836443'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/2008/08/how-to-add-blog-entry-calendar-thingy.html' title='How to add a blog entry calendar thingy.'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9082787959555275945.post-345731999532079219</id><published>2007-08-03T17:44:00.000+02:00</published><updated>2007-08-04T00:33:07.219+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='MSBuild'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='VisualStudio'/><title type='text'>MSBuild: How to work with multiple app.config files</title><content type='html'>The need to maintain various different app.config files is fairly common in any serious .NET development project. For example, you may want different configurations to apply in different environments, or you may want to maintain different app.config files for different customer configurations of your application.&lt;br /&gt;&lt;br /&gt;Visual Studio 2005 does not seem to be very helpful in this respect, though the MSBuild process does offer some solutions. The most flexible way I've found to manage this is by conditionally changing the value of the $(AppConfig) property in the BeforeBuild target (in the projects .csproj/.vbproj file), depending on the value of the $(Configuration) parameter. For example:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;Target Name="BeforeBuild"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;CreateProperty Value="My.app.config"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Condition=" '$(Configuration)' == 'MyConfig' "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Output TaskParameter="Value" PropertyName="AppConfig" /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/CreateProperty&gt;&lt;br /&gt;&amp;lt;/Target&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9082787959555275945-345731999532079219?l=tech.fortu.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.fortu.net/feeds/345731999532079219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9082787959555275945&amp;postID=345731999532079219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/345731999532079219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9082787959555275945/posts/default/345731999532079219'/><link rel='alternate' type='text/html' href='http://tech.fortu.net/2007/08/msbuild-how-to-work-with-multiple.html' title='MSBuild: How to work with multiple app.config files'/><author><name>teecee</name><uri>http://www.blogger.com/profile/09990556634445991349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Q2aZVqwejts/SQebPYDmtpI/AAAAAAAABYk/1s5Z_1RQeUk/S220/n535595671_28877.jpg'/></author><thr:total>0</thr:total></entry></feed>
