<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='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' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-1107555224828834195</atom:id><lastBuildDate>Sun, 20 May 2012 06:00:29 +0000</lastBuildDate><category>c#</category><category>mobile</category><category>jquery</category><category>css</category><category>tools</category><category>javascript</category><category>sql</category><category>plugin</category><category>ajax</category><category>security</category><category>programming</category><category>server</category><category>windows</category><category>asp.net</category><category>remote desktop</category><category>mozilla</category><category>project</category><category>linq2sql</category><category>hardware</category><category>private</category><category>humor</category><title>xTF</title><description>xThomasFrost - .net, programming and ideas</description><link>http://www.xtf.dk/</link><managingEditor>noreply@blogger.com (Thomas Frost)</managingEditor><generator>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-4620480529965376487</guid><pubDate>Sat, 31 Dec 2011 13:13:00 +0000</pubDate><atom:updated>2012-01-24T18:45:35.822+01:00</atom:updated><title>CodeShare Beta - A fast and easy way to share your code as it was meant to be displayed</title><description>&lt;div style="text-align: center;"&gt;&lt;a href="http://codeshare.xtf.dk/"&gt;&lt;span style="font-size: x-large;"&gt;http://codeshare.xtf.dk/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-4620480529965376487?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2011/12/codeshare-beta-fast-and-easy-way-to.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-2361992879217676274</guid><pubDate>Thu, 18 Aug 2011 12:16:00 +0000</pubDate><atom:updated>2012-03-22T11:15:49.932+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>programming</category><title>Center a new popup window even on dualscreen with javascript</title><description>&lt;pre class="js" name="code"&gt;function PopupCenter(url, title, w, h) {&lt;br /&gt;    // Fixes dual-screen position                       Most browsers      Firefox&lt;br /&gt;    var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;&lt;br /&gt;    var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;&lt;br /&gt;    &lt;br /&gt;    var left = ((screen.width / 2) - (w / 2)) + dualScreenLeft;&lt;br /&gt;    var top = ((screen.height / 2) - (h / 2)) + dualScreenTop;&lt;br /&gt;    var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);&lt;br /&gt;&lt;br /&gt;    // Puts focus on the newWindow&lt;br /&gt;    if (window.focus) {&lt;br /&gt;        newWindow.focus();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;a name='more'&gt;&lt;/a&gt;Usage example: &lt;input onclick="PopupCenter('http://www.xtf.dk','xtf','900','500');" type="button" value="PopupCenter" /&gt;&lt;br /&gt;&lt;pre class="js" name="code"&gt;PopupCenter('http://www.xtf.dk','xtf','900','500');&lt;br /&gt;&lt;/pre&gt;&lt;script type="text/javascript"&gt;function PopupCenter(url, title, w, h) {     // Fixes dual-screen problem                        Most browsers      Firefox     var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;     var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;          var left = ((screen.width / 2) - (w / 2)) + dualScreenLeft;     var top = ((screen.height / 2) - (h / 2)) + dualScreenTop;     var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);      // Focus on the new window, if focus is on parent window     if (window.focus) {         newWindow.focus();     } } &lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-2361992879217676274?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2011/08/center-new-popup-window-even-on.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-8528060987572619768</guid><pubDate>Wed, 19 Jan 2011 12:04:00 +0000</pubDate><atom:updated>2011-07-22T01:17:58.531+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>mobile</category><category domain='http://www.blogger.com/atom/ns#'>tools</category><title>Viber app - Free calls/sms on your mobile phone</title><description>This app allows you to call "free" to any other viber users &lt;span style="color: black;"&gt;- &lt;/span&gt;&lt;i style="color: black;"&gt;you need a data package, but who haven't got one ;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The app will come for Android soon, and another great upcoming feature is the free sms app, you can see much more on: &lt;a href="http://www.viber.com/"&gt;http://www.viber.com/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;I can't wait to get it on my Android phone, if you have tried the product, pleas leave a comment, pros/cons?&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Update: It is finally here, I have just testet texting and calling, this could get big!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-8528060987572619768?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2011/01/viber-app-free-callssms-on-your-mobile.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-4478589205902452231</guid><pubDate>Thu, 13 Jan 2011 13:13:00 +0000</pubDate><atom:updated>2011-01-17T13:02:13.047+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>private</category><title>Welcome to my new blog!</title><description>I've decided to convert my dotnetblogengine to a blogspot blog, and I have bought a new name for the blog, in the same process.&lt;br /&gt;&lt;br /&gt;The reason I bought a new domain name, is because i wanted something shorter, and i was able to make it quite short and with my initials in it TF, the x represents the unknown parameter.&lt;br /&gt;&lt;br /&gt;Why i choose blogspot is because nearly all my other products is google, and they work very well together, so it was a natural choice, another selling point was that I don't have to "mange" my own application anymore.&lt;br /&gt;&lt;br /&gt;The blog is far from done yet! ..I will give it a new design soon, and much more to come. I will also start blogging a bit more again, the reason why i haven't blogged this much recently, is because I was very tired of the "trouble" I had to go to, just to write a blog.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;All posts older than this, is directly imported from my old blog &lt;a href="http://frostyzone.net/"&gt;frostyzone.net&lt;/a&gt;.&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-4478589205902452231?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2011/01/welcome-to-my-new-blog.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-608582198004528994</guid><pubDate>Wed, 15 Dec 2010 14:45:00 +0000</pubDate><atom:updated>2011-01-17T10:21:59.469+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>plugin</category><category domain='http://www.blogger.com/atom/ns#'>jquery</category><category domain='http://www.blogger.com/atom/ns#'>programming</category><title>jQuery Treeview persist preSelected</title><description>This is another addition to the jQuery treeview plugin, developed by &lt;a href="http://bassistance.de/jquery-plugins/jquery-plugin-treeview/"&gt;Jörn Zaefferer&lt;/a&gt;&lt;br /&gt;My old addition to the script can be found here &lt;a href="http://frostyzone.net/post/2009/02/19/Ignore-query-in-jQuery-treeview-persist-location.aspx"&gt;Ignore query in jQuery treeview persist location&lt;/a&gt; (i think it has been handled in his version too)&lt;br /&gt;&amp;nbsp;It is still a "problem" with persist, this time I output the menu with the item already selected by the class selected.&lt;br /&gt;But when this is done, it wont expand to the item I have pre selected, that is why I made this little addition:&lt;br /&gt;&lt;pre class="js" name="code"&gt;case "preSelected":&lt;br /&gt;    var current = this.find("a.preSelected");&lt;br /&gt;    if ( current.length ) {&lt;br /&gt;  // TODO update the open/closed classes&lt;br /&gt;  var items = current.addClass("selected").parents("ul, li").add( current.next() ).show();&lt;br /&gt;  if (settings.prerendered) {&lt;br /&gt;   // if prerendered is on, replicate the basic class swapping&lt;br /&gt;   items.filter("li")&lt;br /&gt;    .swapClass( CLASSES.collapsable, CLASSES.expandable )&lt;br /&gt;    .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )&lt;br /&gt;    .find("&amp;gt;.hitarea")&lt;br /&gt;     .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )&lt;br /&gt;     .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea );&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;    break;&lt;/pre&gt;&lt;br /&gt;i just copied the location method and replaced this:&lt;br /&gt;&lt;pre class="js" name="code"&gt;var current = this.find("a").filter(function() {&lt;br /&gt; return this.href.toLowerCase() == location.href.toLowerCase();&lt;/pre&gt;with &lt;b&gt;var current = this.find("a.preSelected")&lt;/b&gt;&lt;br /&gt;The only thing left to do is to add the class preSelected to the selected item, when you output the treeview.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-608582198004528994?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/12/jquery-treeview-persist-preselected.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-7476578366952284048</guid><pubDate>Thu, 12 Aug 2010 15:20:00 +0000</pubDate><atom:updated>2011-01-13T13:35:36.672+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>humor</category><title>Tranformice - tips &amp; tricks</title><description>I've been playing this very addictive game for a while now: &lt;a href="http://transformice.com/en/"&gt;http://transformice.com/en/&lt;/a&gt; ..it is very simple, get to the cheese and then into the hole.&lt;br /&gt;But there is some ways you can improve your chances to get the cheese first, here are some videos and stuff:&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3 style="font-weight: normal;"&gt;&lt;b&gt;How to long jump&lt;/b&gt;&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/q2fA5iOQrss/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/q2fA5iOQrss?f=videos&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/q2fA5iOQrss?f=videos&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;h3&gt;How to wall jump&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/Rb4j3mATsuo/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Rb4j3mATsuo?f=videos&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/Rb4j3mATsuo?f=videos&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-7476578366952284048?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/08/tranformice-tips-tricks.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-72156653878461504</guid><pubDate>Wed, 28 Jul 2010 13:08:00 +0000</pubDate><atom:updated>2011-01-17T13:34:01.128+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>humor</category><title>Hilarious youtube error message</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_oFcOC2WqjAk/TS7t75shGRI/AAAAAAAAAY8/XBjVe-23770/s1600/YoutubeError.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" class="popup"&gt;&lt;img border="0" height="83" src="http://2.bp.blogspot.com/_oFcOC2WqjAk/TS7t75shGRI/AAAAAAAAAY8/XBjVe-23770/s400/YoutubeError.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I got this message when i played around with the audio tracks, on one of my Youtube video.&lt;br /&gt;This is one of the most hilarious error messages I have ever seen!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-72156653878461504?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/07/hilarious-youtube-error-message.html</link><author>noreply@blogger.com (Thomas Frost)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oFcOC2WqjAk/TS7t75shGRI/AAAAAAAAAY8/XBjVe-23770/s72-c/YoutubeError.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-5708119833690765599</guid><pubDate>Thu, 08 Jul 2010 11:35:00 +0000</pubDate><atom:updated>2011-01-13T13:39:25.365+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>tools</category><title>Youtube Leanback - The perfect party jukebox</title><description>People with a little media center like me, will be happy for YouTubes newest initiative: &lt;a href="http://youtube.com/leanback"&gt;Leanback&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is possible to see a little explanation here:&lt;a href="http://www.youtube.com/watch?v=bITse42LpKA"&gt;http://www.youtube.com/watch?v=bITse42LpKA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So people can  quickly do youtube searches without it all stops when the song is  finished, canon solution!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-5708119833690765599?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/07/youtube-leanback-perfect-party-jukebox.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-8738011418360315024</guid><pubDate>Wed, 28 Apr 2010 13:01:00 +0000</pubDate><atom:updated>2011-01-13T13:17:20.128+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>mobile</category><title>HTC Desire tips &amp; tricks</title><description>&lt;p&gt;Add these folder to the SD card and put the music you want for notifications, ringtones and alarms:&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;media/audio/notifications&lt;/li&gt;    &lt;li&gt;media/audio/ringtones&lt;/li&gt;    &lt;li&gt;media/audio/alarms&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you want to have more of the features the Nexus One have, this is a awesome blog: &lt;a href="http://nimbu.amorvi.com/"&gt;http://nimbu.amorvi.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-8738011418360315024?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/04/htc-desire-tips-tricks.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-1993823001150816919</guid><pubDate>Wed, 28 Apr 2010 12:56:00 +0000</pubDate><atom:updated>2011-01-13T13:17:54.109+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>mobile</category><category domain='http://www.blogger.com/atom/ns#'>hardware</category><title>Got my HTC Desire</title><description>I finally got my HTC Desire from telmore, and i must say it's an awesome mobile phone!&lt;br /&gt;&lt;br /&gt;But there is some tips and tricks that is good to know, and I'll blog some of them I found useful&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-1993823001150816919?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/04/got-my-htc-desire.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-5814398664318191408</guid><pubDate>Thu, 04 Mar 2010 10:29:00 +0000</pubDate><atom:updated>2011-01-13T13:14:54.882+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>jquery</category><category domain='http://www.blogger.com/atom/ns#'>programming</category><title>jQuery carousel lite with dynamic paging</title><description>sorry for the missing description. I will might but it on later&lt;br /&gt;&lt;h3&gt;Resources&lt;/h3&gt;&lt;a href="http://www.gmarwaha.com/jquery/jcarousellite/"&gt;http://www.gmarwaha.com/jquery/jcarousellite/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/jquery-en/browse_thread/thread/9fec8a1746945bd2"&gt;http://groups.google.com/group/jquery-en/browse_thread/thread/9fec8a1746945bd2&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;index.htm&lt;/h3&gt;&lt;pre class="js" name="code"&gt;&amp;lt;script src="jcarousellite_1.0.1.min.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ul class="paging"&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="js" name="code"&gt;// build links  &lt;br /&gt;var itemArray = new Array();&lt;br /&gt;$('.carousel ul').each(function(i) {&lt;br /&gt;    var carouselNavDivs = $('ul.paging');&lt;br /&gt;    $(carouselNavDivs[i]).append('&amp;lt;li class="prev"&amp;gt;&amp;lt;a&amp;gt;&amp;lt;&amp;lt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;');&lt;br /&gt;    $(this).children().each(function(j) {&lt;br /&gt;        itemArray[j] = "." + j;&lt;br /&gt;        var linkNum = 0;&lt;br /&gt;        linkNum = j + 1;&lt;br /&gt;        $(carouselNavDivs[i]).append("&amp;lt;li class='" + j + "'&amp;gt;&amp;lt;a&amp;gt;" + linkNum + "&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;");&lt;br /&gt;    });&lt;br /&gt;    $(carouselNavDivs[i]).append('&amp;lt;li class="next"&amp;gt;&amp;lt;a&amp;gt;&amp;gt;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;');&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;$(function() {&lt;br /&gt;    $(".carousel").jCarouselLite({&lt;br /&gt;        btnNext: ".next",&lt;br /&gt;        btnPrev: ".prev",&lt;br /&gt;        btnGo: itemArray,&lt;br /&gt;        circular: false,&lt;br /&gt;        visible: 1&lt;br /&gt;    });&lt;br /&gt;});&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;jcarousellite_1.0.1.min.js&lt;/h3&gt;&lt;pre class="js" name="code"&gt;if (o.btnGo)&lt;br /&gt;    $.each(o.btnGo, function(i, val) {&lt;br /&gt;        $(val).click(function() {&lt;br /&gt;            $.each(o.btnGo, function(i, val) {&lt;br /&gt;                $(val).removeClass('active');&lt;br /&gt;            });&lt;br /&gt;            $(this).addClass('active');&lt;br /&gt;            return go(o.circular ? o.visible + i : i);&lt;br /&gt;        });&lt;br /&gt;    });&lt;/pre&gt;&lt;br /&gt;Still needs to be able to select current when using prev/next&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-5814398664318191408?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/03/jquery-carousel-lite-with-dynamic.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-3717237393038545115</guid><pubDate>Fri, 26 Feb 2010 10:23:00 +0000</pubDate><atom:updated>2011-01-13T13:15:17.689+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>windows</category><category domain='http://www.blogger.com/atom/ns#'>hardware</category><category domain='http://www.blogger.com/atom/ns#'>private</category><title>My main computer has been updated!</title><description>&lt;p&gt;This is a hardware update to my current specs found &lt;a href="http://frostyzone.net/post/2008/07/22/New-development-machine.aspx"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;&lt;strong&gt;Motherboard: &lt;/strong&gt;ASUS P5Q PRO --&amp;gt; &lt;strong&gt;GIGABYTE EX54-UD4&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;CPU: &lt;/strong&gt;Intel Core 2 Quad Q9300 @ 2,5GHz --&amp;gt;&lt;strong&gt; i7-920&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Graphic card&lt;/strong&gt;: MSI NVIDIA GeForce 8600GT --&amp;gt; &lt;strong&gt;GeForce GTX 285 1gb&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Harddisk: &lt;/strong&gt;2x Seagate Barracuda 320GB 24/7 --&amp;gt; &lt;strong&gt;Added: WD Caviar Black 1TB&lt;/strong&gt; (OS disk)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;RAM: &lt;/strong&gt;2x Samsung 2GB&amp;nbsp; UPDATE: 2x Geil Black  Dragon 2GB (8GB FTW) --&amp;gt; &lt;strong&gt;6x 2gb DDR3-1333&lt;/strong&gt; (12gb)&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Tower: &lt;/strong&gt;Antec Performance One P182&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;PSU: &lt;/strong&gt;Corsair TX750W&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And the OS is ofcourse Windows Server 2008r2 now :D ..I'm very happy with my new hardware update and it's just working perfectly!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-3717237393038545115?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2010/02/my-main-computer-has-been-updated.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-6978409378332882680</guid><pubDate>Wed, 02 Sep 2009 06:05:00 +0000</pubDate><atom:updated>2011-01-13T13:12:29.134+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>tools</category><category domain='http://www.blogger.com/atom/ns#'>windows</category><title>How to partition a hard disk drive containing data</title><description>I needed to partition my newly bought &lt;a href="http://frostyzone.net/post/2009/08/27/My-new-Low-budget-low-noise-full-HD-HTPC-media-center-build.aspx"&gt;1TB WD disk for my HTPC&lt;/a&gt;, because i wanted to use some for OS and the rest for data storage, but i had already put 200GB of data onto it. I will explain how I handled this problem, and still kept my data.&lt;br /&gt;First of all i needed a program capable of partitioning a disk that contains data. I was a little careful picking the software, because a software crash right ind the middle of the partitioning, would destroy the data that was already on the disk.&lt;br /&gt;&lt;br /&gt;I read a lot of recommendations in different forums and stumbled upon this: &lt;a href="http://www.partitionwizard.com/" target="_blank"&gt;http://www.partitionwizard.com/&lt;/a&gt;, it did exactly what i needed!&lt;br /&gt;And it was really easy to use, just a few clicks and the disk was partitioned in a few minutes. &lt;span style="color: #cc0000;"&gt;But remember that it is recommended to backup the data before using the program&lt;/span&gt;, even though the program is capable of saving the data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One thing i struggled with a lot afterwards, was installing the OS and it seemed like i needed to set my newly partitioned part to active(has to be if it should be bootable), stupid mistake but took a lot of time before I realized it was the problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-6978409378332882680?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/09/how-to-partition-hard-disk-drive.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-7199060147855534993</guid><pubDate>Thu, 27 Aug 2009 12:51:00 +0000</pubDate><atom:updated>2011-01-13T14:40:40.189+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>windows</category><category domain='http://www.blogger.com/atom/ns#'>hardware</category><category domain='http://www.blogger.com/atom/ns#'>project</category><category domain='http://www.blogger.com/atom/ns#'>private</category><title>My new Low budget, low noise full HD HTPC/media center build</title><description>&lt;h3&gt;Hardware:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;TV: &lt;/b&gt;Sony KDL-40V5500 - 40" Full HD LCD (&lt;a href="http://www.sony.dk/product/t32-v-series/kdl-40v5500" target="_blank"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Console:&lt;/b&gt; PS3&lt;/li&gt;&lt;li&gt;&lt;b&gt;Receiver:&lt;/b&gt;&amp;nbsp; Sony STR-DH800 (&lt;a href="http://www.sony.dk/product/hcs-home-cinema-receiver/str-dh800" target="_blank"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Subwoofer: &lt;/b&gt;Apart SUBA165 (&lt;a href="http://www.apart-audio.com/products/productDetails.aspx?id=11" target="_blank"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Front/Back speakers: &lt;/b&gt;Apart MASK6-BL (&lt;a href="http://www.apart-audio.com/products/productDetails.aspx?id=1" target="_blank"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Center speaker: &lt;/b&gt;JVC&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Keyboard/Mouse:&lt;/b&gt; Logitech dinovo mini&lt;/li&gt;&lt;li&gt;&lt;b&gt;Motherboard:&lt;/b&gt; Asus P5N7A-VM&lt;/li&gt;&lt;li&gt;&lt;b&gt;CPU:&lt;/b&gt; Intel Core 2 duo E6600&lt;/li&gt;&lt;li&gt;&lt;b&gt;CPU cooler: &lt;/b&gt;Cosmo cool aluminium/copper hybrid edition&lt;/li&gt;&lt;li&gt;&lt;b&gt;Graphic card: &lt;/b&gt;&lt;span class="title-06"&gt;NVIDIA GeForce 9300 (&lt;i&gt;integrated&lt;/i&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span class="title-06"&gt;Hard disk drive OS: &lt;/span&gt;&lt;/b&gt;&lt;span class="title-06"&gt;1TB &lt;/span&gt;Western Digital &lt;span class="textheadertitle"&gt;AV-GP (&lt;a href="http://frostyzone.net/post/2009/09/02/How-to-partition-a-hard-disk-drive-containing-data.aspx"&gt;partitioned&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span class="title-06"&gt;Hard disk drive Data: &lt;/span&gt;&lt;/b&gt;&lt;span class="title-06"&gt;1TB &lt;/span&gt;Western Digital &lt;span class="textheadertitle"&gt;AV-GP &lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span class="textheadertitle"&gt;Optical disk drive: &lt;/span&gt;&lt;/b&gt;&lt;span class="textheadertitle"&gt;Asus combo&lt;/span&gt; CD/DVD-RW&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;span class="textheadertitle"&gt;RAM: &lt;/span&gt;&lt;/b&gt;2x1GB Corsair XMS2 DDR2&lt;/li&gt;&lt;li&gt;&lt;b&gt;Tower: &lt;/b&gt;Antec NSK2480 (removed one fan to reduce noise)&lt;/li&gt;&lt;li&gt;&lt;b&gt;PSU: &lt;/b&gt;380W 80 plus (&lt;i&gt;integrated&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Software:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;OS: &lt;/b&gt;Windows XP professional (speed optimized)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Media center:&lt;/b&gt; XBMC &lt;a href="http://xbmc.org/" target="_blank"&gt;FREE read more..&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Music player:&lt;/b&gt; Winamp &lt;a href="http://www.winamp.com/" target="_blank"&gt;FREE read more..&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;All round player: &lt;/b&gt;VLCplayer&amp;nbsp; &lt;a href="http://www.videolan.org/" target="_blank"&gt;FREE read more..&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Review:&lt;/h3&gt;So far it is working perfectly! ...with low noise and great performance.&lt;br /&gt;When I have used the system for some time, I will make a more thorough review of my HTPC set-up&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-7199060147855534993?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/08/my-new-low-budget-low-noise-full-hd.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-985805388826791847</guid><pubDate>Thu, 30 Jul 2009 08:36:00 +0000</pubDate><atom:updated>2011-01-13T13:10:10.813+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>programming</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Place text and divs beside each other using css</title><description>&lt;p&gt;I suddenly needed to have some text beside a div, but i just couldn't remember how.&lt;/p&gt;&lt;p&gt;But i figured it out and here is my solution, and yes it's not the most complex thing in the world ;)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;html:&lt;/strong&gt;&lt;/p&gt;&lt;pre name="code" class="html"&gt;Some text &amp;lt;div class="divBesideText"&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;CSS:&lt;/strong&gt;&lt;/p&gt;&lt;pre name="code" class="css"&gt;.divBesideText&lt;br /&gt;{&lt;br /&gt;    display: inline;&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-985805388826791847?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/07/place-text-and-divs-beside-each-other.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-6917630056506809872</guid><pubDate>Mon, 04 May 2009 00:25:00 +0000</pubDate><atom:updated>2011-01-13T13:08:53.744+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>asp.net</category><category domain='http://www.blogger.com/atom/ns#'>programming</category><title>Custom file extension in IIS and register a HTTP handler in asp.net</title><description>&lt;p&gt;Good msdn articles on how to add a new file extension in the IIS and registrer the HTTP handler in asp.net&lt;/p&gt;&lt;p&gt;Register the handler: &lt;a href="http://msdn.microsoft.com/en-us/library/46c5ddfy%28VS.71%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/46c5ddfy(VS.71).aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Configure the IIS to accept the new file extension: &lt;a href="http://msdn.microsoft.com/en-us/library/bb515343.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb515343.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-6917630056506809872?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/05/custom-file-extension-in-iis-and.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-1883789378242679844</guid><pubDate>Wed, 18 Mar 2009 22:20:00 +0000</pubDate><atom:updated>2011-01-13T13:22:12.919+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><title>Chrome Experiments - JavaScript mania</title><description>This is a great site if you want to look at some awesome JavaScript and see what it actually is capable of doing, and how well your browser renders JavaScript.&lt;br /&gt;It is called: &lt;a href="http://www.chromeexperiments.com/" target="_blank"&gt;Chrome Experiments&lt;/a&gt; and is as the name says for &lt;a href="http://www.google.com/chrome" target="_blank"&gt;Google Chrome&lt;/a&gt;, it just have a lot of mind blowing experiments that I think is worth checking out&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-1883789378242679844?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/03/chrome-experiments-javascript-mania.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-8528043154280461384</guid><pubDate>Thu, 05 Mar 2009 22:20:00 +0000</pubDate><atom:updated>2011-01-13T13:40:08.966+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>humor</category><title>If you haven't got the message then listen here</title><description>A friend posted a link to this video and it is just so funny and true that i just had to post it, Write in c - Let it be!&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/XHosLhPEN3k/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XHosLhPEN3k?f=videos&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/XHosLhPEN3k?f=videos&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-8528043154280461384?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/03/if-you-havent-got-message-then-listen.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-4510898671262559507</guid><pubDate>Thu, 19 Feb 2009 05:40:00 +0000</pubDate><atom:updated>2011-01-13T13:05:00.430+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>plugin</category><category domain='http://www.blogger.com/atom/ns#'>jquery</category><category domain='http://www.blogger.com/atom/ns#'>programming</category><title>Ignore query in jQuery treeview persist location</title><description>&lt;p&gt;The jQuery treeview plugin can be found &lt;a href="http://www.bassistance.de/jquery-plugins/jquery-plugin-treeview/" target="_blank"&gt;here&lt;/a&gt;, it is a brilliant plugin which makes amazing treeviews.&lt;/p&gt;&lt;p&gt;But when i use:&lt;/p&gt;&lt;pre name="code" class="js"&gt;persist: "location"&lt;/pre&gt;&lt;p&gt;&amp;nbsp;I run into a little "problem", because i would like to have the treeview item selected when i use query's in the URL, and as default it just doesn't select any when using query.&lt;/p&gt;&lt;p&gt;What I need to do is to detect if there is a query in the url and then ignore it, I've done it the following way:&lt;/p&gt;&lt;pre name="code" class="js"&gt;case "location":&lt;br /&gt;&lt;br /&gt;var current = this.find("a").filter(function()&lt;br /&gt;{&lt;br /&gt;    return this.href.substring(0, (this.href.indexOf("?") == -1) ? this.href.length: this.href.indexOf("?")).toLowerCase() == location.href.substring(0, (location.href.indexOf("?") == -1) ? location.href.length: location.href.indexOf("?")).toLowerCase();&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;It is a pretty simple fix and works like a charm!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;EDIT: &lt;/p&gt;&lt;p&gt;This version is also able to handle bookmarks and query in url.&lt;/p&gt;&lt;pre name="code" class="js"&gt;case "location":&lt;br /&gt;&lt;br /&gt;var current = this.find("a").filter(function()&lt;br /&gt;{&lt;br /&gt;    var linkLength = (this.href.indexOf("?") != -1) ? this.href.indexOf("?") : (this.href.indexOf("#") != -1) ? this.href.indexOf("#") : this.href.length;&lt;br /&gt;    var link = this.href.substring(0, linkLength);&lt;br /&gt;&lt;br /&gt;    var urlLength = (location.href.indexOf("?") != -1) ? location.href.indexOf("?") : (location.href.indexOf("#") != -1) ? location.href.indexOf("#") : location.href.length;&lt;br /&gt;    var url = location.href.substring(0, urlLength);&lt;br /&gt;&lt;br /&gt;    return link.toLowerCase() == url.toLowerCase();&lt;br /&gt;});&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-4510898671262559507?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/02/ignore-query-in-jquery-treeview-persist.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-6575331341244281974</guid><pubDate>Wed, 18 Feb 2009 19:22:00 +0000</pubDate><atom:updated>2011-01-13T13:22:37.041+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>remote desktop</category><category domain='http://www.blogger.com/atom/ns#'>windows</category><category domain='http://www.blogger.com/atom/ns#'>security</category><title>Windows remote desktop security</title><description>I've been wondering about how secure Windows Remote Desktop actually is, and it seems like you can be pretty protected with some common sense and few changes.&lt;br /&gt;Here are a few tips that I have found while searching:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;As default all administrators has remote desktop access, so it is a good idea to change the Administrator users name to a different name. &lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It is found in: &lt;b&gt;Control Panel -&amp;gt; Administrative Tools -&amp;gt; Local Security Policy -&amp;gt; Local Policies -&amp;gt; Security Options&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Find: "&lt;b&gt;Accounts: Rename administrator account&lt;/b&gt;" in the list, and right click and &lt;b&gt;Properties&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;You are able to rename the administrator name here, and then restart the computer.&lt;/li&gt;&lt;li&gt;While your in the &lt;b&gt;Local Policies&lt;/b&gt; you can change the values in the &lt;b&gt;Account Policies&lt;/b&gt; to be as you want it, like changing the: &lt;b&gt;Account lockout threshold&lt;/b&gt; to a few attempts.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Another thing is to change the default port number of remote desktop which is 3389, it can be changed the following way.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Go to: &lt;b&gt;Start -&amp;gt; Run -&amp;gt; write "regedit" -&amp;gt; press OK&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Go to the following folder: &lt;b&gt;HKEY_LOCAL_MACHINE -&amp;gt; System -&amp;gt; CurrentControlSet -&amp;gt; Control -&amp;gt; TerminalServer -&amp;gt; WinStations -&amp;gt; RDP-Tcp&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Find: "&lt;b&gt;PortNumber&lt;/b&gt;" in the list, and right click and "&lt;b&gt;Modify...&lt;/b&gt;"&lt;/li&gt;&lt;li&gt;Write your desired port number and remember to add "&lt;b&gt;:PortNumber&lt;/b&gt;" at the end of the URL when connecting to your Remote Desktop, and be sure to check if the &lt;b&gt;firewall port is open&lt;/b&gt;.&lt;/li&gt;&lt;/ol&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/1107555224828834195-6575331341244281974?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2011/01/windows-remote-desktop-security.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-13581468909022536</guid><pubDate>Sat, 14 Feb 2009 20:38:00 +0000</pubDate><atom:updated>2011-01-13T13:22:45.661+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>server</category><category domain='http://www.blogger.com/atom/ns#'>windows</category><title>Convert your Windows Server 2008 to a Workstation</title><description>I use windows server 2008 as a workstation myself, and there are significant changes which can be made to make it much better as a workstation.&lt;br /&gt;A great site that i used to reconfigure mine is: &lt;a href="http://www.win2008workstation.com/" target="_blank" title="Go to win2008workstation.com"&gt;win2008workstation.com&lt;/a&gt;, there is guides to everything, from disabling the shutdown tracker to performance increases and much more!&lt;br /&gt;..i can warmly recommend it, because it gives a better workstation experience on a awesome OS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-13581468909022536?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/02/convert-your-windows-server-2008-to.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-8134335015430056369</guid><pubDate>Fri, 13 Feb 2009 17:06:00 +0000</pubDate><atom:updated>2011-01-13T13:22:56.523+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>sql</category><category domain='http://www.blogger.com/atom/ns#'>server</category><title>Saving changes is not permitted in Microsoft SQL Server Management Studio 2008</title><description>If you try to change columns in a table that you've created you will get the following message:&lt;br /&gt;&lt;br /&gt;"&lt;i&gt;Saving changes ins not permitted. The changes you have made  require the following table to be dropped and re-created. You have  either made changes to a table that can't be re-created or enabled the  option Prevent saving changes that require the table to be re-created.&lt;/i&gt;". I think this option isen't very useful as enabled by default.&lt;br /&gt;&lt;br /&gt;The message explains itsel, you have to disable the "&lt;i&gt;Prevent saving changesthat require the table to be re-created&lt;/i&gt;", but where is this option.&lt;br /&gt;&lt;b&gt;Tools -&amp;gt; Options -&amp;gt; Table and Database Designers -&amp;gt;  Uncheck "Prevent saving changes that require the table to be re-created"&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-8134335015430056369?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/02/saving-changes-is-not-permitted-in.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-1258863241846444610</guid><pubDate>Sun, 08 Feb 2009 07:32:00 +0000</pubDate><atom:updated>2011-01-13T12:52:43.611+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>tools</category><title>Aviary editors is worth trying</title><description>&lt;p&gt;My friend said I should check this link, and so i did: &lt;a title="Go to Aviary" target="_blank" href="http://aviary.com/"&gt;aviary.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I looked at it and found a lot of pretty cool "editors" or as they say it: "creation accessible to artists of all genres, from graphic design to audio editing.".&lt;/p&gt;&lt;p&gt;I don't like flash very much, but i must say it is the best browser based &lt;a title="Aviary Phoenix image editor" target="_blank" href="http://aviary.com/tools/phoenix"&gt;photo editor&lt;/a&gt; I've ever seen, and properly also the only one ;)&lt;/p&gt;&lt;p&gt;I haven't checked out the others that much, but I'm sure they are just as nice. So if you need a photo editor on the fly i would recommend the one &lt;a title="Aviary Phoenix image editor" target="_blank" href="http://aviary.com/tools/phoenix"&gt;Aviary  Phoenix Image Editor&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-1258863241846444610?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/02/aviary-editors-is-worth-trying.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-5001822176763494194</guid><pubDate>Fri, 06 Feb 2009 07:20:00 +0000</pubDate><atom:updated>2011-01-13T12:51:36.075+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>programming</category><category domain='http://www.blogger.com/atom/ns#'>c#</category><title>Request file from javascript created file uploads</title><description>&lt;p&gt;If you want the files from your file uploads you normally use:&lt;/p&gt;&lt;pre class="brush:jscript;font-size:80%;light:true;"&gt;Request.Files&lt;/pre&gt;&lt;p&gt;But when the file uploads is created using javascript like so:&lt;/p&gt;&lt;pre name="code" class="js"&gt;var element = document.getElementById("ctl00_ContentPlaceHolder1_DdlFileCount");&lt;br /&gt;&lt;br /&gt;var Value = element[element.selectedIndex].value;&lt;br /&gt;&lt;br /&gt;var container = document.getElementById("TextboxContainer");&lt;br /&gt;&lt;br /&gt;container.innerHTML = "";&lt;br /&gt;&lt;br /&gt;for (var i = 0; i &amp;lt; Value; i++) {&lt;br /&gt;&lt;br /&gt;    container.innerHTML += "&amp;lt;input class='textbox' type='file' name='FileUpl" + i + "' id='FileUpl" + i + "' /&amp;gt;&amp;lt;br /&amp;gt;";&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;The Request.Files won't detect the files uploaded by the client using the dynamic file upload.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The reason why, is because asp.net at compile time creates an Enctype in the form, this wont get created when client-side scripting is doing the creating of control.&lt;/p&gt;&lt;p&gt;My friend found a pretty simple solution, where you just need to add the following line to your page load event:&lt;/p&gt;&lt;pre class="brush:csharp;font-size:80%;light:true;"&gt;Form.Enctype = "multipart/form-data";&lt;/pre&gt;&lt;p&gt;After that you are able to Request.Files like you normally would do from asp.net controls.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-5001822176763494194?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/02/request-file-from-javascript-created.html</link><author>noreply@blogger.com (Thomas Frost)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1107555224828834195.post-8635323850723072307</guid><pubDate>Thu, 29 Jan 2009 21:37:00 +0000</pubDate><atom:updated>2011-01-17T13:50:40.190+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>asp.net</category><category domain='http://www.blogger.com/atom/ns#'>windows</category><category domain='http://www.blogger.com/atom/ns#'>programming</category><category domain='http://www.blogger.com/atom/ns#'>c#</category><category domain='http://www.blogger.com/atom/ns#'>project</category><category domain='http://www.blogger.com/atom/ns#'>linq2sql</category><title>Project - Breakfast Bringer</title><description>&lt;h3&gt;Problem&lt;/h3&gt;We have a computer showing an excel document at work, which shows who has to get breakfast on the particular day. I thought it could be made a lot smarter, and that's why i started this fun mini project, but also to get a better understanding of Windows application, because they are relatively new for me.&lt;br /&gt;&lt;h3&gt;Solution&lt;/h3&gt;Create a small windows application which will keep track on who has to get breakfast each day.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_oFcOC2WqjAk/TS8BWIiC6uI/AAAAAAAAAZI/ZKXZmeCbCHk/s1600/BreakfastBringer1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" class="popup"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_oFcOC2WqjAk/TS8BWIiC6uI/AAAAAAAAAZI/ZKXZmeCbCHk/s320/BreakfastBringer1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The language is Danish, so you will have to translate if you don't get the main functionality.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span id="continue"&gt;&lt;/span&gt;&lt;br /&gt;&lt;h3&gt;How it's made&lt;/h3&gt;&lt;br /&gt;Before I explain my method i have to say, that I have very little knowledge about Windows applications, because this is my second Windows application I've made.&lt;br /&gt;&lt;h3&gt;Data&lt;/h3&gt;It runs on one computer, but i would still like it to store the data somehow, even when the program is closed. I solved this by making a Data.xml file, I communicate with this file using LINQ to XML. The structure looks like this:&lt;br /&gt;&lt;pre class="c#" name="code"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;bringers&amp;gt;&lt;br /&gt;   &amp;lt;bringer status="brought" lastDate="29-01-2009"&amp;gt;&lt;br /&gt;      &amp;lt;name&amp;gt;Thomas&amp;lt;/name&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;/bringer&amp;gt;&lt;br /&gt;   &amp;lt;bringer status="bring" lastDate=""&amp;gt;&lt;br /&gt;      &amp;lt;name&amp;gt;Christian&amp;lt;/name&amp;gt;&lt;br /&gt;   &amp;lt;/bringer&amp;gt;&lt;br /&gt;      &amp;lt;bringer status="bring" lastDate=""&amp;gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;name&amp;gt;Nikita&amp;lt;/name&amp;gt;&lt;br /&gt;   &amp;lt;/bringer&amp;gt;&lt;br /&gt;&amp;lt;/bringers&amp;gt;&lt;br /&gt;&lt;/pre&gt;I could make the status to boolean, an id etc. but this is made very quickly and does what is has to do.&lt;br /&gt;My only problem with the Data.xml file has how to include it into my project when i published it, it look a while but i found the solution in the Application&lt;i&gt; Properties &lt;/i&gt;&amp;gt;&lt;i&gt; Appliccation Files...&lt;/i&gt; &amp;gt; &lt;i&gt;Include Data.xml&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_oFcOC2WqjAk/TS8BaomU7FI/AAAAAAAAAZM/XsD79CBR9bk/s1600/IncludeFiles.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" class="popup"&gt;&lt;img border="0" height="64" src="http://2.bp.blogspot.com/_oFcOC2WqjAk/TS8BaomU7FI/AAAAAAAAAZM/XsD79CBR9bk/s320/IncludeFiles.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;LINQ to XML&lt;/h3&gt;I used very simple linq to xml, actually just to create, update and delete.&lt;br /&gt;&lt;i&gt;DataAccess.cs &lt;/i&gt;&lt;br /&gt;&lt;pre class="c#" name="code"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;&lt;br /&gt;namespace BreakfastBringer&lt;br /&gt;{&lt;br /&gt;    class DataAccess&lt;br /&gt;    {&lt;br /&gt;        private static XElement doc = XElement.Load("Data.xml");&lt;br /&gt;&lt;br /&gt;        public void CreateBringer(string status, string name)&lt;br /&gt;        {&lt;br /&gt;            XElement newBringer = new XElement("bringer",&lt;br /&gt;              new XAttribute("status", status),&lt;br /&gt;              new XAttribute("lastDate", ""),&lt;br /&gt;                new XElement("name", name));&lt;br /&gt;&lt;br /&gt;            doc.Add(newBringer);&lt;br /&gt;            doc.Save("Data.xml");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void UpdateBringer(string name, string status)&lt;br /&gt;        {&lt;br /&gt;            IEnumerable&amp;lt;XElement&amp;gt; bringerList = (from b in doc.Elements("bringer")&lt;br /&gt;                                                 where b.Element("name").Value == name&lt;br /&gt;                                                 select b);&lt;br /&gt;&lt;br /&gt;            foreach (XElement singleBringer in bringerList)&lt;br /&gt;            {&lt;br /&gt;                singleBringer.SetAttributeValue("status", status);&lt;br /&gt;                singleBringer.SetAttributeValue("lastDate", DateTime.Now.ToShortDateString());&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            doc.Save("Data.xml");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void UpdateAllBringers(string status)&lt;br /&gt;        {&lt;br /&gt;            IEnumerable&amp;lt;XElement&amp;gt; bringerList = (from b in doc.Elements("bringer")&lt;br /&gt;                                                 select b);&lt;br /&gt;&lt;br /&gt;            foreach (XElement singleBringer in bringerList)&lt;br /&gt;            {&lt;br /&gt;                singleBringer.SetAttributeValue("status", status);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            doc.Save("Data.xml");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static List&amp;lt;string&amp;gt; GetBringers(string status)&lt;br /&gt;        {&lt;br /&gt;            return (from b in doc.Descendants("bringer")&lt;br /&gt;                    where b.Attribute("status").Value == status&lt;br /&gt;                    select b.Element("name").Value).ToList();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static object GetTodaysBringer()&lt;br /&gt;        {&lt;br /&gt;            return doc.Descendants("bringer").FirstOrDefault(x =&amp;gt; x.Attribute("lastDate").Value == DateTime.Now.ToShortDateString());&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static void DeleteBringer(string name)&lt;br /&gt;        {&lt;br /&gt;            IEnumerable&amp;lt;XElement&amp;gt; bringerList = (from b in doc.Elements("bringer")&lt;br /&gt;                                                 where b.Element("name").Value == name&lt;br /&gt;                                                 select b);&lt;br /&gt;            foreach (XElement singleBringer in bringerList)&lt;br /&gt;            {&lt;br /&gt;                singleBringer.Remove();&lt;br /&gt;            }&lt;br /&gt;            doc.Save("Data.xml");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;When the data access is handled, you can start on the fun bit, which is making the functionality.&lt;br /&gt;&lt;h3&gt;Random function&lt;/h3&gt;I needed a random function on the bringer list because I wanted to make it both chooseable and random.&lt;br /&gt;&lt;pre class="c#" name="code"&gt;int listCount = LbxBring.Items.Count;&lt;br /&gt;if (listCount != 0)&lt;br /&gt;{&lt;br /&gt;   Random random = new Random();&lt;br /&gt;&lt;br /&gt;   int randomIndex = random.Next(0, listCount);&lt;br /&gt;   LbxBring.SetSelected(randomIndex, true);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;h3&gt;Load a file&lt;/h3&gt;I wondored how this could be achieved and the solution was very simple, you are able to see the xml file to backup xml or just to see how the data structure is:&lt;br /&gt;&lt;pre class="c#" name="code"&gt;System.Diagnostics.Process.Start("Data.xml");&lt;/pre&gt;&lt;h3&gt;Update application&lt;/h3&gt;&lt;br /&gt;This is why the application is in 1.1, it didn't have this function in the first build, and that was quite annoying. Because the application was open all the time so as soon as a day has passed the "Today message" was outdated, so i had to create a loop in the delegate which invoked the specific function:&lt;br /&gt;&lt;pre class="c#" name="code"&gt;// Starts the thread.&lt;br /&gt;timerThread = new Thread(new ThreadStart(ThreadProc));&lt;br /&gt;timerThread.IsBackground = true;&lt;br /&gt;timerThread.Start();&lt;br /&gt;&lt;/pre&gt;&lt;pre class="c#" name="code"&gt;// This Background Thread is called from the ThreadStart Delegate.&lt;br /&gt;public void ThreadProc()&lt;br /&gt;{&lt;br /&gt;   MethodInvoker mi = new MethodInvoker(this.DatabindLbxs);&lt;br /&gt;   while (true)&lt;br /&gt;   {&lt;br /&gt;      this.BeginInvoke(mi);&lt;br /&gt;      //        every 3rd hour&lt;br /&gt;      Thread.Sleep(10800000);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;I found this method in another blog, but i can't remember the link right now, but if i remember it, I'll be sure to post it here :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1107555224828834195-8635323850723072307?l=www.xtf.dk' alt='' /&gt;&lt;/div&gt;</description><link>http://www.xtf.dk/2009/01/project-breakfast-bringer.html</link><author>noreply@blogger.com (Thomas Frost)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oFcOC2WqjAk/TS8BWIiC6uI/AAAAAAAAAZI/ZKXZmeCbCHk/s72-c/BreakfastBringer1.jpg' height='72' width='72'/><thr:total>0</thr:total></item></channel></rss>
