<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>JP Hellemons</title>
    <description>Building E-commerce web applications</description>
    <link>http://www.jphellemons.nl/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 2.8.0.0</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.jphellemons.nl/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>JP Hellemons</dc:creator>
    <dc:title>JP Hellemons</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JpHellemons" /><feedburner:info uri="jphellemons" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><item>
      <title>HTML5 Webcam monitor</title>
      <description>&lt;p&gt;We have several IP camera’s in the building for security purposes. They all have internal IP addresses and can be viewed separately with their own web interface which is Chinese by default &lt;img class="wlEmoticon wlEmoticon-laughingoutloud" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Laughing out loud" src="http://www.jphellemons.nl/image.axd?picture=wlEmoticon-laughingoutloud.png" /&gt; and does not remember the language setting.&lt;/p&gt;  &lt;p&gt;&lt;img title="wanscam webinterface" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="wanscam webinterface" src="http://www.jphellemons.nl/image.axd?picture=image_55.png" width="604" height="452" /&gt;&lt;/p&gt;  &lt;p&gt;It has 3 options: download an active X component and only work in internet explorer. Or use server push or a version build with JavaScript.&lt;/p&gt;  &lt;p&gt;It refreshes the url by adding a new random number to the image source:&lt;/p&gt;  &lt;pre class="brush: js; gutter: false; toolbar: false; auto-links: false;"&gt;new Date().getTime() + Math.random();&lt;/pre&gt;

&lt;p&gt;This inspired me to make an overview webpage of all the webcams in our LAN.&lt;/p&gt;

&lt;p&gt;Since it might be accessed through a mobile device, I have used the responsive version of the twitter bootstrap. For the small source and the caching of browsers, I have used the jQuery library and the twitter one from &lt;abbr title="content delivery network"&gt;CDN’s.&lt;/abbr&gt;&lt;/p&gt;

&lt;p&gt;I have used jQuery 1.9.1 and bootstrap 2.3.1 and that is all there is. Please let me know if you have any suggestions to make it even better. For demo purposes I have not changed the logins of the Wanscams and used the factory settings.&lt;/p&gt;

&lt;br/&gt;

&lt;p&gt;You can &lt;a href="https://github.com/jphellemons/WebcamMonitor/fork" target="_blank"&gt;fork this code on GitHub&lt;/a&gt;. or view the code of the single HTML page on this url: &lt;a title="https://github.com/jphellemons/WebcamMonitor/blob/master/index.html" href="https://github.com/jphellemons/WebcamMonitor/blob/master/index.html"&gt;https://github.com/jphellemons/WebcamMonitor/blob/master/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://cloud2.lbox.me/images/384x384/201304/wanscam-wireless-mini-ip-camera-met-pan-titel-bewegingsdetectie-nachtzicht-gratis-ddns_rixl1364788179764.jpg" width="384" height="384" /&gt;&lt;/p&gt;

&lt;a target="_blank" href="http://www.dotnetkicks.com/kick/?url=http://www.jphellemons.nl/post/HTML5-Webcam-monitor.aspx&amp;amp;title=HTML5 Webcam monitor"&gt;
                    &lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.jphellemons.nl/post/HTML5-Webcam-monitor.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;
                  &lt;/a&gt;&lt;a target='_blank' rev='vote-for' href='http://dotnetshoutout.com/Submit?url=http://www.jphellemons.nl/post/HTML5-Webcam-monitor.aspx&amp;amp;title=HTML5 Webcam monitor'&gt;
                                           &lt;img style='border: 0px;' alt='Shout it' src='http://dotnetshoutout.com/image.axd?url=http://www.jphellemons.nl/post/HTML5-Webcam-monitor.aspx'/&gt;
                                        &lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=s0olsi1wt_4:j_woQidsfoM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=s0olsi1wt_4:j_woQidsfoM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/s0olsi1wt_4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/s0olsi1wt_4/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/HTML5-Webcam-monitor.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=8499cff3-da37-4cc6-a1c7-6c03adf626b5</guid>
      <pubDate>Mon, 15 Apr 2013 17:25:00 +0200</pubDate>
      <category>jQuery</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=8499cff3-da37-4cc6-a1c7-6c03adf626b5</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=8499cff3-da37-4cc6-a1c7-6c03adf626b5</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/HTML5-Webcam-monitor.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=8499cff3-da37-4cc6-a1c7-6c03adf626b5</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=8499cff3-da37-4cc6-a1c7-6c03adf626b5</feedburner:origLink></item>
    <item>
      <title>Change Notepad++ icon to Metro style</title>
      <description>&lt;img style="float: right; margin: 0px 0px 20px 20px; display: inline" align="right" src="http://notepad-plus-plus.org/assets/images/notepad4ever.gif" /&gt;   &lt;p&gt;I have been running Windows 8 now for a while and have been using &lt;a href="http://notepad-plus-plus.org/" target="_blank"&gt;Notepad++&lt;/a&gt; for a long time. It is my favorite notepad replacement. It has great syntax highlighting and is fast and lightweight. The only downside is that there is no updated icon for windows 8. &lt;/p&gt;  &lt;p&gt;The current icon is from 2010 and looks great, but it does not fit in the new &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx" target="_blank"&gt;Microsoft UX design guidelines&lt;/a&gt;. There was this free nice looking icon on the web: &lt;/p&gt;  &lt;p&gt;&lt;img style="float: none; margin: 10px; display: inline" src="http://files.softicons.com/download/system-icons/windows-8-metro-icons-by-dakirby309/png/128x128/Applications/Notepad.png" /&gt;&lt;/p&gt;  &lt;p&gt;source: &lt;a title="http://www.softicons.com/free-icons/system-icons/windows-8-metro-icons-by-dakirby309/notepad-icon" href="http://www.softicons.com/free-icons/system-icons/windows-8-metro-icons-by-dakirby309/notepad-icon"&gt;http://www.softicons.com/free-icons/system-icons/windows-8-metro-icons-by-dakirby309/notepad-icon&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Which looks imho better on the Windows 8 desktop. So I have downloaded version 3.6 of resource hacker from this website: &lt;a title="http://www.angusj.com/resourcehacker/" href="http://www.angusj.com/resourcehacker/"&gt;http://www.angusj.com/resourcehacker/&lt;/a&gt; direct link to &lt;a href="http://www.angusj.com/resourcehacker/reshack_setup.exe" target="_blank"&gt;resource hacker 3.6&lt;/a&gt;. After installing and launching it you can open for example: C:/Program Files (x86)/Notepad++/notepad++.exe and navigate in the treeview to icon/1&lt;/p&gt;  &lt;p&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 10px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://www.jphellemons.nl/image.axd?picture=image_54.png" width="685" height="371" /&gt;&lt;/p&gt;  &lt;p&gt;at action you can replace icon with the .ico file which you can download from the softicons url above. Save the ‘new’ .exe in the same folder as Notepad++ and right click on a .txt file, select ‘open with’ and navigate to the ‘new’ .exe.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another icon option is &lt;a href="http://salvogentile.deviantart.com/art/Metro-Notepad-Icon-Preview-311685877" target="_blank"&gt;this image from SalvoGentile from deviantart&lt;/a&gt;, it looks nice but you have to convert it to .ico yourself.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Good luck!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=gO5XqhA_sjE:IQ8xtco8vSA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=gO5XqhA_sjE:IQ8xtco8vSA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/gO5XqhA_sjE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/gO5XqhA_sjE/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/Change-Notepad++-icon-to-Metro-style.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=bcea40c8-40cb-4910-9841-53b42c2c0f65</guid>
      <pubDate>Fri, 08 Mar 2013 17:36:00 +0200</pubDate>
      <category>Windows 8</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=bcea40c8-40cb-4910-9841-53b42c2c0f65</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=bcea40c8-40cb-4910-9841-53b42c2c0f65</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/Change-Notepad++-icon-to-Metro-style.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=bcea40c8-40cb-4910-9841-53b42c2c0f65</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=bcea40c8-40cb-4910-9841-53b42c2c0f65</feedburner:origLink></item>
    <item>
      <title>Application pool crashes with BlogEngine 2.7</title>
      <description>&lt;p&gt;This is de default of BlogEngine 2.7:&lt;/p&gt;  &lt;pre class="brush: xml; gutter: false; toolbar: false; auto-links: false;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
    &amp;lt;system.web&amp;gt;
        &amp;lt;httpRuntime 
            enableVersionHeader=&amp;quot;false&amp;quot; 
            useFullyQualifiedRedirectUrl=&amp;quot;true&amp;quot; 
            maxRequestLength=&amp;quot;16384&amp;quot; 
            executionTimeout=&amp;quot;3600&amp;quot; 
            requestLengthDiskThreshold=&amp;quot;16384&amp;quot; 
            requestValidationMode=&amp;quot;2.0&amp;quot;/&amp;gt;
        &amp;lt;pages 
            enableSessionState=&amp;quot;false&amp;quot; 
            enableViewStateMac=&amp;quot;true&amp;quot; 
            enableEventValidation=&amp;quot;true&amp;quot; 
            controlRenderingCompatibilityVersion=&amp;quot;3.5&amp;quot; 
            clientIDMode=&amp;quot;AutoID&amp;quot;&amp;gt;
            ...
        &amp;lt;/pages&amp;gt;
    &amp;lt;/system.web&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;

&lt;p&gt;And I have used these settings for quite a while. But my application pool keeps crashing after about a week.&lt;/p&gt;

&lt;p&gt;I have &lt;a href="http://www.jphellemons.nl/post/Add-Elmah-to-BlogEnginenet.aspx"&gt;enabled elmah logging&lt;/a&gt;&lt;/p&gt;

&lt;pre class="brush: xml; gutter: false; toolbar: false; auto-links: false;"&gt;&amp;lt;elmah&amp;gt;
    &amp;lt;errorLog type=&amp;quot;Elmah.XmlFileErrorLog, Elmah&amp;quot; logPath=&amp;quot;~/elmahErrors&amp;quot; /&amp;gt;
&amp;lt;/elmah&amp;gt;&lt;/pre&gt;

&lt;p&gt;This enabled me to have a better look at what was causing the crashes. Because the elmah page is of course unavailable when BE crashes. The log had several error’s the two most common ones where:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A potentially dangerous Request.Path value was detected from the client &lt;/li&gt;

  &lt;li&gt;Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that &amp;lt;machineKey&amp;gt; configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. &lt;/li&gt;
&lt;/ul&gt;
I have now added:



&lt;pre class="brush: xml; gutter: false; toolbar: false; auto-links: false;"&gt;validateRequest=&amp;quot;true&amp;quot;&lt;/pre&gt;

&lt;p&gt;to my pages section in the web.config and have added:&lt;/p&gt;

&lt;pre class="brush: xml; gutter: false; toolbar: false; auto-links: false;"&gt;requestPathInvalidCharacters=&amp;quot;&amp;quot;&lt;/pre&gt;

&lt;p&gt;to the httpRuntime section and my error logging feature stays empty and the BlogEngine application returns a nice 404 when trying some querystring injection and/or XSS attacks.&lt;/p&gt;

&lt;p&gt;So this will fix all the thrown exceptions and keeps my application pool from automatically shutting down. I have found this on StackOverflow &lt;a title="http://stackoverflow.com/a/6026291/169714" href="http://stackoverflow.com/a/6026291/169714"&gt;http://stackoverflow.com/a/6026291/169714&lt;/a&gt; but turning off the validateRequest seems like a bad idea.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;Good luck with BlogEngine!&lt;/p&gt;

&lt;p&gt;&lt;a target="_blank" href="http://www.dotnetkicks.com/kick/?url=http://www.jphellemons.nl/post/Application-pool-crashes-with-BlogEngine-27.aspx&amp;amp;title=Application pool crashes with BlogEngine 2.7"&gt;
                    &lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.jphellemons.nl/post/Application-pool-crashes-with-BlogEngine-27.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;
                  &lt;/a&gt;&lt;a target='_blank' rev='vote-for' href='http://dotnetshoutout.com/Submit?url=http://www.jphellemons.nl/post/Application-pool-crashes-with-BlogEngine-27.aspx&amp;amp;title=Application pool crashes with BlogEngine 2.7'&gt;
                                           &lt;img style='border: 0px;' alt='Shout it' src='http://dotnetshoutout.com/image.axd?url=http://www.jphellemons.nl/post/Application-pool-crashes-with-BlogEngine-27.aspx'/&gt;
                                        &lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=0PT2sBh4Zbc:_ghMwQyEEYs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=0PT2sBh4Zbc:_ghMwQyEEYs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/0PT2sBh4Zbc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/0PT2sBh4Zbc/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/Application-pool-crashes-with-BlogEngine-27.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=ebce6dee-8fba-4713-bd90-c26e0a1ee1af</guid>
      <pubDate>Mon, 04 Mar 2013 18:37:00 +0200</pubDate>
      <category>BlogEngine.NET</category>
      <category>Blog</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=ebce6dee-8fba-4713-bd90-c26e0a1ee1af</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=ebce6dee-8fba-4713-bd90-c26e0a1ee1af</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/Application-pool-crashes-with-BlogEngine-27.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=ebce6dee-8fba-4713-bd90-c26e0a1ee1af</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=ebce6dee-8fba-4713-bd90-c26e0a1ee1af</feedburner:origLink></item>
    <item>
      <title>IE8 does not @import my CSS</title>
      <description>&lt;p&gt;CSS media queries are common these days. So I googled an example which I could modify to my needs for a nice cross browser, cross device compatible web application. I came up with:&lt;/p&gt;  &lt;pre class="brush: css; gutter: false; toolbar: false; auto-links: false;"&gt;@import url(&amp;quot;/css/desktop.css&amp;quot;) only screen;

/* Smartphones (portrait and landscape) ----------- */
@import url(&amp;quot;/css/smartphone.css&amp;quot;) only screen and (min-device-width : 320px) and (max-device-width : 480px);

/* Smartphones (landscape) ----------- */
@import url(&amp;quot;/css/smartphone-landscape.css&amp;quot;) only screen and (min-width : 321px) and (max-width : 800px);

/* Smartphones (portrait) ----------- */
@import url(&amp;quot;/css/smartphone-portrait.css&amp;quot;) only screen and (max-width : 320px);

/* iPads (portrait and landscape) ----------- */
@import url(&amp;quot;/css/ipad.css&amp;quot;) only screen and (min-device-width : 768px) and (max-device-width : 1024px);

/* iPads (landscape) ----------- */
@import url(&amp;quot;/css/ipad-landscape.css&amp;quot;) only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape);

/* iPads (portrait) ----------- */
@import url(&amp;quot;/css/ipad-portrait.css&amp;quot;) only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait);

/* iPhone 4 ----------- */
@import url(&amp;quot;/css/iphone4.css&amp;quot;) only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5);&lt;/pre&gt;

&lt;p&gt;This looks great, but… it didn’t work in IE8. I have spend a long time searching the web, why it didn’t work. I added a &lt;/p&gt;

&lt;pre class="brush: css; gutter: false; toolbar: false; auto-links: false;"&gt;body { margin-top: 0px; }&lt;/pre&gt;

&lt;p&gt;as was suggested in &lt;a href="http://stackoverflow.com/a/5594123/169714" target="_blank"&gt;this StackOverflow thread&lt;/a&gt;. But that didn’t work either. &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;img title="ie8-css-import" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="ie8-css-import" src="http://www.jphellemons.nl/image.axd?picture=ie8-css-import.jpg" width="688" height="149" /&gt;&lt;/p&gt;

&lt;p&gt;I verified that the css was linked correctly. I was loaded, only the import wasn’t. There was also a resource online which said that the CSS imports should be first in the document for Internet explorer. But that also did not matter.&lt;/p&gt;

&lt;p&gt;After browsing for a while, I stumbled upon an MSDN page. &lt;/p&gt;

&lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ie/ms530768%28v=vs.85%29.aspx" href="http://msdn.microsoft.com/en-us/library/ie/ms530768%28v=vs.85%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/ie/ms530768%28v=vs.85%29.aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and there it was. –evan— pointed out that according to the w3 organization.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;So that user agents can avoid retrieving resources for unsupported &lt;a href="http://www.w3.org/TR/CSS2/media.html"&gt;media types&lt;/a&gt;, authors may specify media-dependent &lt;a name="x8"&gt;@import&lt;/a&gt; rules. These &lt;a name="x9"&gt;conditional imports&lt;/a&gt; specify comma-separated media types after the URI.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;source: &lt;a href="http://www.w3.org/TR/CSS2/cascade.html#at-import"&gt;http://www.w3.org/TR/CSS2/cascade.html#at-import&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;So this is in CSS 2 which became a recommendation in 1998. it was started in 1997 and Internet explorer 8 was released on 19 March 2009. That is over 10 years later!&lt;/p&gt;

&lt;p&gt;So removing the ‘only screen’ from the CSS I posted earlier fixed it!&lt;/p&gt;

&lt;p&gt;Thank god for standards!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=Z6ZSHLHYr9s:KLkBIQ6-5NU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=Z6ZSHLHYr9s:KLkBIQ6-5NU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/Z6ZSHLHYr9s" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/Z6ZSHLHYr9s/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/IE8-does-not-import-my-CSS.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=eb9efae1-662e-4520-89ab-e3542d761c82</guid>
      <pubDate>Fri, 01 Feb 2013 17:16:00 +0200</pubDate>
      <category>Web development</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=eb9efae1-662e-4520-89ab-e3542d761c82</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=eb9efae1-662e-4520-89ab-e3542d761c82</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/IE8-does-not-import-my-CSS.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=eb9efae1-662e-4520-89ab-e3542d761c82</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=eb9efae1-662e-4520-89ab-e3542d761c82</feedburner:origLink></item>
    <item>
      <title>Masonry, Isotope and the gutters</title>
      <description>&lt;p&gt;You know Pinterest? And would like a layout like Pinterest? Well I did and came across this &lt;a href="http://masonry.desandro.com/" target="_blank"&gt;jQuery Masonry plugin&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;But I wanted to do some sorting and filtering with the elements. The Masonry which is released with an MIT license does not have this functionality. &lt;a href="http://isotope.metafizzy.co/" target="_blank"&gt;Isotope&lt;/a&gt; does, but has a $ 25,- license for commercial use and is free for personal use.&lt;/p&gt;  &lt;p&gt;This quote from StackOverflow explains the difference between masonry and isotope:&lt;/p&gt;  &lt;blockquote cite="http://stackoverflow.com/a/8857085/169714"&gt;   &lt;p&gt;&lt;strong&gt;To some people Isotope would look very similar to the work you had previously done with Masonry; can you explain the main differences between the two?&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Isotope has several features that Masonry lacks. Masonry essentially does one thing, placing item elements in a cascading arrangement. Isotope has Masonry’s layout logic built in, but in addition, it also has several other layout modes that can be used to dynamically position elements. You can even develop your own custom layout mode.&lt;/p&gt;    &lt;p&gt;As I’ve mentioned, it has filtering and sorting functionality built in. Filtering items is as easy as passing in a jQuery selector:&lt;/p&gt;    &lt;p&gt;&lt;code&gt;$('#container').isotope({ filter: '.my-selector' });&lt;/code&gt;&lt;/p&gt;    &lt;p&gt;Isotope takes advantage of the best browser features out there. Instead of using typical left/top styles positioning, Isotope takes a progressive enhancement approach and uses CSS transforms if supported by the browser. This provides for top-notch performance for top-notch browsers. With hardware acceleration kicking in, animations look silky smooth on WebKit browsers, and even less-powerful devices using iOS. CSS transforms perform better with CSS transitions, which I’ll discuss later.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can use isotope to make something look like a masonry layout.&lt;/p&gt;  &lt;pre class="brush: js; gutter: false; toolbar: false; auto-links: false;"&gt;$('#container').isotope({
  masonry: {
    columnWidth: 110,
    gutterWidth: 10
  }
});&lt;/pre&gt;

&lt;p&gt;But Somehow the gutters don’t show up. So you need a custom layoutmode for Isotope. I have found it in the sourcecode of the example: &lt;a title="http://isotope.metafizzy.co/custom-layout-modes/masonry-gutters.html" href="http://isotope.metafizzy.co/custom-layout-modes/masonry-gutters.html"&gt;http://isotope.metafizzy.co/custom-layout-modes/masonry-gutters.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the javascript code:&lt;/p&gt;

&lt;pre class="brush: js; gutter: false; toolbar: false; auto-links: false;"&gt;// modified Isotope methods for gutters in masonry
$.Isotope.prototype._getMasonryGutterColumns = function () {
    var gutter = this.options.masonry &amp;amp;&amp;amp; this.options.masonry.gutterWidth || 0;
    containerWidth = this.element.width();

    this.masonry.columnWidth = this.options.masonry &amp;amp;&amp;amp; this.options.masonry.columnWidth ||
        // or use the size of the first item
        this.$filteredAtoms.outerWidth(true) || 
        // if there's no items, use size of container
        containerWidth;

    this.masonry.columnWidth += gutter;

    this.masonry.cols = Math.floor((containerWidth + gutter) / this.masonry.columnWidth);
    this.masonry.cols = Math.max(this.masonry.cols, 1);
};

$.Isotope.prototype._masonryReset = function () {
    // layout-specific props
    this.masonry = {};
    // FIXME shouldn't have to call this again
    this._getMasonryGutterColumns();
    var i = this.masonry.cols;
    this.masonry.colYs = [];
    while (i--) {
        this.masonry.colYs.push(0);
    }
};

$.Isotope.prototype._masonryResizeChanged = function () {
    var prevSegments = this.masonry.cols;
    // update cols/rows
    this._getMasonryGutterColumns();
    // return if updated cols/rows is not equal to previous
    return (this.masonry.cols !== prevSegments);
};

$(window).load(function(){
    $('#container').isotope({
        masonry : {
            columnWidth: 110,
            gutterWidth: 10
        },
        itemSelector: '.item',
        animationEngine: 'best-available',
        animationOptions: {
            duration: 750,
            easing: 'linear',
            queue: false
        }
    });
});&lt;/pre&gt;

&lt;p&gt;Good luck with the jQuery Isotope plugin!&lt;/p&gt;

&lt;p&gt;&lt;a target="_blank" href="http://www.dotnetkicks.com/kick/?url=http://www.jphellemons.nl/post/Masonry-Isotope-and-the-gutters.aspx&amp;amp;title=Masonry, Isotope and the gutters"&gt;
                    &lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.jphellemons.nl/post/Masonry-Isotope-and-the-gutters.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;
                  &lt;/a&gt;&lt;a target='_blank' rev='vote-for' href='http://dotnetshoutout.com/Submit?url=http://www.jphellemons.nl/post/Masonry-Isotope-and-the-gutters.aspx&amp;amp;title=Masonry, Isotope and the gutters'&gt;
                                           &lt;img style='border: 0px;' alt='Shout it' src='http://dotnetshoutout.com/image.axd?url=http://www.jphellemons.nl/post/Masonry-Isotope-and-the-gutters.aspx'/&gt;
                                        &lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=WBBD60sTD-8:n4QY0xEmdTk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=WBBD60sTD-8:n4QY0xEmdTk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/WBBD60sTD-8" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/WBBD60sTD-8/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/Masonry-Isotope-and-the-gutters.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=8124c601-e12d-4d90-a037-f13dcd6af51b</guid>
      <pubDate>Thu, 03 Jan 2013 18:30:00 +0200</pubDate>
      <category>jQuery</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=8124c601-e12d-4d90-a037-f13dcd6af51b</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=8124c601-e12d-4d90-a037-f13dcd6af51b</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/Masonry-Isotope-and-the-gutters.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=8124c601-e12d-4d90-a037-f13dcd6af51b</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=8124c601-e12d-4d90-a037-f13dcd6af51b</feedburner:origLink></item>
    <item>
      <title>Excel file corrupt in Windows 8</title>
      <description>&lt;p&gt;&lt;a href="http://www.jphellemons.nl/image.axd?picture=294528-microsoft-office-365-and-office-2013.jpg"&gt;&lt;img title="294528-microsoft-office-365-and-office-2013" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: right; padding-top: 0px; padding-left: 0px; margin: 0px 0px 30px 15px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="294528-microsoft-office-365-and-office-2013" align="right" src="http://www.jphellemons.nl/image.axd?picture=294528-microsoft-office-365-and-office-2013_thumb.jpg" width="275" height="66" /&gt;&lt;/a&gt;A while ago, I made something in Asp.Net with &lt;a href="http://www.carlosag.net/tools/excelxmlwriter/" target="_blank"&gt;CarlosAg Excel XML Writer Library&lt;/a&gt;. This is a free component to generate Excel (.xls) documents (xml). It does not require an installation of Office on your IIS server. &lt;/p&gt;  &lt;p&gt;Here is a code sample to show how easy it works.&lt;/p&gt;  &lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;using CarlosAg.ExcelXmlWriter;

class TestApp {
    static void Main(string[] args) {
        Workbook book = new Workbook();
        Worksheet sheet = book.Worksheets.Add(&amp;quot;Sample&amp;quot;);
        WorksheetRow row =  sheet.Table.Rows.Add();
        row.Cells.Add(&amp;quot;Hello World&amp;quot;);
        book.Save(@&amp;quot;c:\test.xls&amp;quot;);
    }
}&lt;/pre&gt;

&lt;p&gt;The downside is that it is a library dated from 2005 and it has no xlsx support (office 2010, office 365). But it works! &lt;/p&gt;

&lt;p&gt;So I made an generic handler (.ashx) which gives this popup to download the Excel workbook. &lt;/p&gt;

&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = &amp;quot;application/vnd.ms-excel&amp;quot;;
    context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, 
        &amp;quot;attachment; filename=Report-&amp;quot; + DateTime.Now.ToString(&amp;quot;yyyy-MM-dd&amp;quot;) + &amp;quot;.xls&amp;quot;);

    GenerateMyExcel gme = new GenerateMyExcel ();
    Workbook book = gme.GetExcelReport();
    
    book.Save(context.Response.OutputStream);
}&lt;/pre&gt;

&lt;p&gt;And I also made a method which takes this workbook and attaches it and mails it.&lt;/p&gt;

&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;MailMessage msg = new MailMessage(&amp;quot;from@mydomain.com&amp;quot;, 
    &amp;quot;to@mydomain.com&amp;quot;, &amp;quot;Report&amp;quot;, &amp;quot;look at attachment&amp;quot;);
GenerateMyExcel gme = new GenerateMyExcel();
Workbook book = gme.GetExcelReport();
MemoryStream ms = new MemoryStream();
book.Save(ms);
Byte[] byteArray = ms.ToArray();
ms.Close();
MemoryStream StreamToAttach = new MemoryStream(byteArray);
msg.Attachments.Add(new Attachment(StreamToAttach, &amp;quot;report.xls&amp;quot;));

SmtpClient sc = new SmtpClient();
try
{
    sc.Send(msg);
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine(ex.Message + &amp;quot; &amp;quot; + ex.StackTrace);
}
StreamToAttach.Close();&lt;/pre&gt;

&lt;p&gt;But When I opened the file, my excel in Office 365 Home Premium Preview on Windows 8, I get this “File is corrupt” message.&lt;/p&gt;

&lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://www.jphellemons.nl/image.axd?picture=image_52.png" width="606" height="474" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://www.jphellemons.nl/image.axd?picture=image_53.png" width="349" height="191" /&gt;&lt;/p&gt;

&lt;p&gt;Was this information helpful? Seriously? &lt;/p&gt;

&lt;p&gt;Hours debugging later, I found out that it was a security issue. When you open the properties of the file (and have a Dutch Windows):&lt;/p&gt;

&lt;p&gt;&lt;img title="report-prop" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="report-prop" src="http://www.jphellemons.nl/image.axd?picture=report-prop.jpg" width="500" height="523" /&gt;&lt;/p&gt;

&lt;p&gt;There is this security message: “&lt;strong&gt;This file came from another computer and might be blocked…&lt;/strong&gt;” So When I hit ‘unblock’ and ‘ok’, I can open the file normally!&lt;/p&gt;

&lt;p&gt;This took me a day, because I thought that there was some thing with the CarlosAg library which made my file corrupt. Like setting a cell to number when there is a string inside.&lt;/p&gt;

&lt;p&gt;The next time that I want to generate an Excel file, I will use &lt;a href="http://epplus.codeplex.com" target="_blank"&gt;EPPlus&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=oAM5tNYoS2Q:WH215WsLOjQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=oAM5tNYoS2Q:WH215WsLOjQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/oAM5tNYoS2Q" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/oAM5tNYoS2Q/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/Excel-file-corrupt-in-Windows-8.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=534f6454-3b29-467c-8666-27c36e499aa8</guid>
      <pubDate>Thu, 06 Dec 2012 19:39:00 +0200</pubDate>
      <category>OS</category>
      <category>Office</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=534f6454-3b29-467c-8666-27c36e499aa8</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=534f6454-3b29-467c-8666-27c36e499aa8</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/Excel-file-corrupt-in-Windows-8.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=534f6454-3b29-467c-8666-27c36e499aa8</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=534f6454-3b29-467c-8666-27c36e499aa8</feedburner:origLink></item>
    <item>
      <title>Move to Windows 8</title>
      <description>&lt;p&gt;This post is about my 2 cents about upgrading from Windows 7 pro x64 to Windows 8 pro. I have been a Windows user since 3.11 and have &lt;u&gt;never&lt;/u&gt; upgraded a Windows installation. I have been clean installing all versions.&lt;/p&gt;

&lt;h2&gt;Hardware background&lt;/h2&gt;

&lt;p&gt;My Dell notebook is from 2009. It had Vista installed by default and was ready for Windows 7. In fact, it came with a free upgrade from Dell.&lt;/p&gt;

&lt;p&gt;I have blogged about &lt;a href="http://www.jphellemons.nl/post/Testdrive-Windows-8.aspx" target="_blank"&gt;my win8 test drive&lt;/a&gt; earlier. It still had the windows start button in that build and had no metro/live tiles. It is almost a year ago.&lt;/p&gt;

&lt;p&gt;My &lt;a href="http://superuser.com/questions/430007/ram-issue-with-dell-xps-1640" target="_blank"&gt;dell xps16&lt;/a&gt; has a limit of 4gb and has &lt;a href="http://www.amazon.com/gp/product/B005T3GQM4/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B005T3GQM4&amp;amp;linkCode=as2&amp;amp;tag=jphellbuileco-20" target="_blank"&gt;an Samsung 830 SSD 128gb as laptop upgrade kit&lt;/a&gt; (which is really recommended).&lt;/p&gt;

&lt;h2&gt;Upgrading to windows 8&lt;/h2&gt;

&lt;p&gt;My first step was to make a backup. I had backups around because SSD can fail in a blink of an eye. As side note: my Samsung drive has never let me down. In fact, it made my Windows 7 really fast!&lt;/p&gt;

&lt;p&gt;I ran the &lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=261871" target="_blank"&gt;upgrade advisor/assistant&lt;/a&gt; and uninstalled Ultramon, Visual Studio 2010 (used 2012 anyway) and Office 2010 (used the 2013 preview of Office 365).&lt;/p&gt;

&lt;p&gt;So the upgrade was just a next, next finish thing and took about 2 hours and several reboots. After that, my system was good to go.&lt;/p&gt;

&lt;p&gt;&lt;img title="windows-toets_2394284" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: right; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="windows-toets_2394284" align="right" src="http://www.jphellemons.nl/image.axd?picture=windows-toets_23942847.jpg" width="186" height="170" /&gt;&lt;/p&gt;

&lt;h2&gt;Reasons to upgrade to win8&lt;/h2&gt;

&lt;h3&gt;1. speed &lt;/h3&gt;

&lt;p&gt;This is actually enough reasons already to upgrade. &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Boot time reduction (cold boot) &lt;/li&gt;

  &lt;li&gt;More responsive user interface in use &lt;/li&gt;

  &lt;li&gt;Return from hibernate is faster &lt;/li&gt;

  &lt;li&gt;File move/copy dialog feels faster and has more details &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;2. shortcuts &lt;/h3&gt;

&lt;p&gt;The Windows key is everything! I already used the key a lot in win7, but now even more! Here are the shortcuts I used in Windows 7: &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;windows key + E for explorer &lt;/li&gt;

  &lt;li&gt;windows key + M to minimize all and go to desktop &lt;/li&gt;

  &lt;li&gt;windows key + start typing to launch an application &lt;/li&gt;

  &lt;li&gt;windows key + F to search a file &lt;/li&gt;

  &lt;li&gt;windows key + shift + arrow to move window to other screen &lt;/li&gt;

  &lt;li&gt;windows key + digit to activate pinned application nr# on taskbar &lt;/li&gt;

  &lt;li&gt;windows key + L to lock the account &lt;/li&gt;

  &lt;li&gt;windows key + R to run &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and now the additional for windows 8:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;windows key + C to control the current application (app specific settings) &lt;/li&gt;

  &lt;li&gt;windows key + W to search in control panel &lt;/li&gt;

  &lt;li&gt;windows key + X for power/super user quick menu &lt;/li&gt;
&lt;/ul&gt;
&lt;img style="float: none; margin: 10px auto; display: block" src="http://i.qkme.me/3s0riq.jpg" /&gt; 

&lt;h3&gt;3. Backup&lt;/h3&gt;

&lt;p&gt;You now have file history! The files are stored like normal files so you can access them easily. You can also set Windows back to a fresh install! &lt;/p&gt;

&lt;h3&gt;4. Security&lt;/h3&gt;

&lt;p&gt;Bitlocker in already in pro and also Bitlocker portable. In Windows Vista and Windows 7 you needed the ultimate or enterprise edition to have Bitlocker. &lt;/p&gt;

&lt;p&gt;Auto updates are installed in the background. So non-tech people have secure and up to date systems with win8.&lt;/p&gt;

&lt;h3&gt;5. Other&lt;/h3&gt;

&lt;p&gt;it has a lot of changes under the hood. With printer drivers and direct X and all those changes make windows 8 fast! &lt;/p&gt;

&lt;h1&gt;metro/live tiles&lt;/h1&gt;

&lt;p&gt;don’t be scared. I have no touch enabled device and use Visual Studio 2012 and Office 2013 all the time. I only notice the new metro stuff when I login and press the windows key. But it is so responsive and fast that it is not annoying. And you can control everything with the keyboard. Also all the metro stuff! So there is NO reason not to upgrade! I am running Windows 8 in desktop mode the whole day. There are some small applications that give you back a start button. But if you actually require those hacks, you are using the operating system not how it’s meant to be used.&lt;/p&gt;
&lt;iframe height="326" src="http://www.youtube.com/embed/wi8NpwiEuzc?rel=0" frameborder="0" width="580" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;

&lt;p&gt;So to conclude this post: Upgrade from Windows 7 to 8 today! It’s only 30 euro’s according to the upgrade assistant. So it’s a bargain!&lt;/p&gt;
Have fun with your new OS!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=iNCRph2eTDM:9oB1uFTP8Aw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=iNCRph2eTDM:9oB1uFTP8Aw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/iNCRph2eTDM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/iNCRph2eTDM/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/Move-to-Windows-8.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=08ff06ca-77bf-4f6b-9217-8a8c171ef038</guid>
      <pubDate>Fri, 30 Nov 2012 21:25:00 +0200</pubDate>
      <category>OS</category>
      <category>Tools</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=08ff06ca-77bf-4f6b-9217-8a8c171ef038</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=08ff06ca-77bf-4f6b-9217-8a8c171ef038</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/Move-to-Windows-8.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=08ff06ca-77bf-4f6b-9217-8a8c171ef038</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=08ff06ca-77bf-4f6b-9217-8a8c171ef038</feedburner:origLink></item>
    <item>
      <title>CouchDB for windows, really relaxed</title>
      <description>&lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 0px 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="couch" border="0" alt="couch" align="right" src="http://www.jphellemons.nl/image.axd?picture=couch.png" width="240" height="154" /&gt;CouchDB is a non-relational, no-sql database which is build relying on the HTTP stack. It’s from the &lt;a href="http://apache.org/foundation/" target="_blank"&gt;apache foundation&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://wiki.apache.org/couchdb/Installing_on_Windows" target="_blank"&gt;Wiki of CouchDB&lt;/a&gt; provides this info about the windows version.&lt;/p&gt;  &lt;h2&gt;Installation of CouchDb on Windows&lt;/h2&gt;  &lt;p&gt;The current release (at the moment of writing) is 1.1.1 and it’s up on &lt;a href="https://github.com/apache/couchdb/" target="_blank"&gt;Github.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Their wiki gave me this download file:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="CouchDB for windows download" border="0" alt="CouchDB for windows download" src="http://www.jphellemons.nl/image.axd?picture=image_47.png" width="538" height="104" /&gt;&lt;/p&gt; &lt;p&gt;As Dave pointed out in the comments, you should download 1.2 now from &lt;a href="https://couchdb.apache.org/#download"&gt;https://couchdb.apache.org/#download&lt;/a&gt;. Thanks Dave!&lt;/p&gt; &lt;p&gt;You can open it and keep all the default settings.&lt;/p&gt;  &lt;p&gt;After the installation completes, you can visit &lt;a href="http://127.0.0.1:5984"&gt;http://127.0.0.1:5984&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You would see this:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="CouchDB on windows installation succes" border="0" alt="CouchDB on windows installation succes" src="http://www.jphellemons.nl/image.axd?picture=image_48.png" width="349" height="154" /&gt;&lt;/p&gt;  &lt;p&gt;The management tool, Futon, can be reached in subdirectory _utils.&lt;/p&gt;  &lt;p&gt;So just click on this link to see the CouchDB’s version of “PhpMyAdmin” &lt;/p&gt;  &lt;p&gt;&lt;a title="http://127.0.0.1:5984/_utils/" href="http://127.0.0.1:5984/_utils/"&gt;http://127.0.0.1:5984/_utils/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="CouchDB Futon" border="0" alt="CouchDB Futon" src="http://www.jphellemons.nl/image.axd?picture=image_49.png" width="584" height="464" /&gt;&lt;/p&gt;  &lt;p&gt;So you are good to go!&lt;/p&gt;  &lt;p&gt;More details about CouchDB on Windows can be found on the &lt;a href="http://wiki.apache.org/couchdb/Quirks_on_Windows" target="_blank"&gt;Quirks page&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;But that’s optional.&lt;/p&gt;  &lt;h2&gt;Setup CouchDb&lt;/h2&gt;  &lt;p&gt;With the default installation, you will see this message:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.jphellemons.nl/image.axd?picture=image_50.png" width="187" height="66" /&gt;&lt;/p&gt;  &lt;p&gt;It is recommended to create one Admin user. You can create a database afterwards by clicking on the top left link.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.jphellemons.nl/image.axd?picture=image_51.png" width="473" height="213" /&gt;&lt;/p&gt;  &lt;p&gt;You can set the &lt;a href="http://127.0.0.1:5984/_utils/database.html?southwind" target="_blank"&gt;security of the CouchDb&lt;/a&gt; if you have added some more users, but we will skip that for the moment and start using the database from our Asp.Net WebForm web application.&lt;/p&gt;  &lt;h2&gt;Asp.Net and CouchDb&lt;/h2&gt;  &lt;p&gt;There are a lot of options to access CouchDb. You can do everything manually, since it is just a combination of JSON and REST. But there are also a lot of wrappers available which support streaming and/or POCO etc.&lt;/p&gt;  &lt;p&gt;Lots of benefits which differ from wrapper to wrapper. The official documentation of CouchDb recommends the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="https://github.com/soitgoes/LoveSeat/downloads" target="_blank"&gt;LoveSeat&lt;/a&gt;, aug 2012 (strong typed poco) &lt;/li&gt;    &lt;li&gt;&lt;a href="https://github.com/arobson/Relax" target="_blank"&gt;Relax&lt;/a&gt;, a.k.a. &lt;a href="http://code.google.com/p/relax-net/" target="_blank"&gt;Hammock&lt;/a&gt;, nov 2011 &lt;/li&gt;    &lt;li&gt;&lt;a href="https://github.com/foretagsplatsen/Divan" target="_blank"&gt;Divan&lt;/a&gt;, jul 2010 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://code.google.com/p/couchbrowse/source/browse/trunk/SharpCouch/SharpCouch.cs" target="_blank"&gt;SharpCouch&lt;/a&gt;, aug 2008 &lt;/li&gt;    &lt;li&gt;&lt;a href="https://github.com/MindTouch/DReAM" target="_blank"&gt;DreamSeat&lt;/a&gt;, jul 2012 (same as loveseat + async) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://couchdbnet.codeplex.com/" target="_blank"&gt;CouchDb.Net&lt;/a&gt;, dec 2010 &lt;/li&gt;    &lt;li&gt;&lt;a href="https://github.com/sinesignal/ottoman" target="_blank"&gt;Ottoman&lt;/a&gt;, dec 2010 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://code.google.com/p/skitsanoswdk/source/browse/trunk/WDK10/WDK.API.CouchDb/"&gt;Skitsanos Webware Development Kit&lt;/a&gt;, sep 2012 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When you look for &lt;a href="http://nuget.org/packages?q=couchdb" target="_blank"&gt;Nuget packages with the keyword CouchDb&lt;/a&gt; you will only find LoveSeat and DreamSeat at the moment. Both are using &lt;a href="http://json.codeplex.com/" target="_blank"&gt;Json.Net&lt;/a&gt; a.k.a. Newtonsoft.Json. NuGet will pull that reference in, so don’t worry. I just mentioned it, so that you know that you can use that library to parse objects to JSON.&lt;/p&gt;  &lt;p&gt;If you look for resources for CouchDB, you will see a lot Unix oriented. A lot requires CURL. You can get it for windows, or (recommended) get Git for windows and get curl for free &lt;a title="http://superuser.com/a/483964/24642" href="http://superuser.com/a/483964/24642"&gt;http://superuser.com/a/483964/24642&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can read more about that on the &lt;a href="http://superuser.com/questions/134685/run-curl-commands-from-windows-console" target="_blank"&gt;run curl commands with windows thread on superuser&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This is my DreamSeat code. The blog object is a test object with comments etc. just to fill the database with a JSON serializable object with related objects.&lt;/p&gt;  &lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;private void TestDreamSeat()
{
    var blog = GetBlog();
    var client = new DreamSeat.CouchClient();

    var db = client.GetDatabase(&amp;quot;southwind&amp;quot;);
    DreamBlog dream =(DreamBlog)blog;

    dream = db.CreateDocument&amp;lt;DreamBlog&amp;gt;(dream, new Result&amp;lt;DreamBlog&amp;gt;()).Wait();

    DreamBlog myObj = db.GetDocument&amp;lt;DreamBlog&amp;gt;(dream.Id);
    Response.Write(myObj.Name);
    db.DeleteDocument(myObj);
}&lt;/pre&gt;

&lt;p&gt;And this is my LoveSeat test&lt;/p&gt;

&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;private void TestLoveSeat()
{
    var blog = GetBlog();
    var client = new LoveSeat.CouchClient();

    var db = client.GetDatabase(&amp;quot;southwind&amp;quot;);

    string blogAsJson = JsonConvert.SerializeObject(blog);
    var doc = new Document(blogAsJson);
    doc.Id = new Guid().ToString();
    doc = (Document) db.CreateDocument(doc);

    Blog myObj = db.GetDocument&amp;lt;Blog&amp;gt;(doc.Id);
    Response.Write(myObj.Name);
    db.DeleteDocument(doc.Id, doc.Rev);
}&lt;/pre&gt;

&lt;p&gt;I used the 
  &lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;System.Diagnostics.Stopwatch&lt;/pre&gt;
class to measure the differences and I was planning to test all the libraries that I have found and mentioned earlier. But I believe that the best solution is to stick with the libraries that are in the NuGet repository, because other libraries might be outdated.&lt;/p&gt;

&lt;p&gt;Get the sample code from: &lt;/p&gt;

&lt;p&gt;&lt;a title="https://github.com/jphellemons/CouchDbFromDotNet" href="https://github.com/jphellemons/CouchDbFromDotNet"&gt;https://github.com/jphellemons/CouchDbFromDotNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Good luck coding!&lt;/p&gt;

&lt;p&gt;&lt;a target="_blank" href="http://www.dotnetkicks.com/kick/?url=http://www.jphellemons.nl/post/CouchDB-for-windows-really-relaxed.aspx&amp;amp;title=CouchDB for windows, really relaxed"&gt;
                    &lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.jphellemons.nl/post/CouchDB-for-windows-really-relaxed.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;
                  &lt;/a&gt;&lt;a target='_blank' rev='vote-for' href='http://dotnetshoutout.com/Submit?url=http://www.jphellemons.nl/post/CouchDB-for-windows-really-relaxed.aspx&amp;amp;title=CouchDB for windows, really relaxed'&gt;
                                           &lt;img style='border: 0px;' alt='Shout it' src='http://dotnetshoutout.com/image.axd?url=http://www.jphellemons.nl/post/CouchDB-for-windows-really-relaxed.aspx'/&gt;
                                        &lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=pQFm7tWjmjo:sEeexBUcpFI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=pQFm7tWjmjo:sEeexBUcpFI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/pQFm7tWjmjo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/pQFm7tWjmjo/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/CouchDB-for-windows-really-relaxed.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=3c2cfa6f-1ee4-4cdd-9d7e-b878cb57b9be</guid>
      <pubDate>Wed, 31 Oct 2012 19:55:00 +0200</pubDate>
      <category>C#</category>
      <category>Web development</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=3c2cfa6f-1ee4-4cdd-9d7e-b878cb57b9be</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=3c2cfa6f-1ee4-4cdd-9d7e-b878cb57b9be</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/CouchDB-for-windows-really-relaxed.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=3c2cfa6f-1ee4-4cdd-9d7e-b878cb57b9be</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=3c2cfa6f-1ee4-4cdd-9d7e-b878cb57b9be</feedburner:origLink></item>
    <item>
      <title>My first Nancy webapplication</title>
      <description>&lt;img style="margin: 0px 15px 0px 0px; display: inline; float: left;" title="Sinatra Framework Logo" src="http://www.sinatrarb.com/images/logo.png" alt="Sinatra Framework Logo" align="left" /&gt;&lt;p&gt;As web developer you might have heard of Sinatra. Not the &lt;a href="http://www.amazon.com/gp/product/B0018MU8JC/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0018MU8JC&amp;linkCode=as2&amp;tag=jphellbuileco-20"&gt;famous artist&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=jphellbuileco-20&amp;l=as2&amp;o=1&amp;a=B0018MU8JC" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;, but the &lt;a href="http://www.sinatrarb.com/" target="_blank"&gt;Sinatra framework&lt;/a&gt;! It is a framework/Domain Specific Language (DSL) for &lt;a href="http://www.ruby-lang.org/en/" target="_blank"&gt;Ruby&lt;/a&gt; to quickly create web applications with minimal effort.&lt;/p&gt;
&lt;p&gt;&lt;iframe src="https://embed.spotify.com/?uri=spotify:track:09ityNOMUHKZ1sldYGWRCk" frameborder="0" width="300" height="80"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Nancy is a lightweight framework which is inspired by Sinatra. It has been around since &lt;a href="http://elegantcode.com/2010/11/28/introducing-nancy-a-lightweight-web-framework-inspired-by-sinatra/" target="_blank"&gt;November 2010&lt;/a&gt; and a few days ago there was the &lt;a href="http://elegantcode.com/2012/09/12/nancy-0-12-released/" target="_blank"&gt;Nancy 0.12 release&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;
&lt;p&gt;WAIT? WHAT? &lt;a href="https://twitter.com/search/%23nancyfx"&gt;#nancyfx&lt;/a&gt; 0.12 is released you say? And it comes with support for content negotiation? NO WAY! Where can I get it? Nuget? YAY!!&lt;/p&gt;
&amp;mdash; NancyFx (@NancyFx) &lt;a href="https://twitter.com/NancyFx/status/243037215972786177" data-datetime="2012-09-04T17:26:02+00:00"&gt;September 4, 2012&lt;/a&gt;&lt;/blockquote&gt;
&lt;script charset="utf-8" type="text/javascript" src="//platform.twitter.com/widgets.js"&gt;&lt;/script&gt;
&lt;p&gt;So it's time to give this a try and make my own first Nancy web application.&lt;/p&gt;
&lt;h2&gt;My first Nancy web app&lt;/h2&gt;
&lt;p&gt;Launch visual studio and File -&amp;gt; New project -&amp;gt; ASP.NET Empty Web application&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="File new Asp.Net empty web app project" src="http://www.jphellemons.nl/image.axd?picture=image_42.png" alt="File new Asp.Net empty web app project" width="594" height="238" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Right click on the project in the solution explorer and select &amp;lsquo;Manage NuGet packages&amp;rsquo;&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="solution explorer" src="http://www.jphellemons.nl/image.axd?picture=image_43.png" alt="Solution explorer" width="341" height="341" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Type in &lt;code&gt;Nancy.Hosting.Aspnet&lt;/code&gt; This NuGet package depends on Nancy 0.12 which is automatically installed when you hit the Install button&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Nancy Nuget package" src="http://www.jphellemons.nl/image.axd?picture=image_44.png" alt="Nancy Nuget package" width="594" height="298" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Add a new class HelloNancy.cs&lt;/p&gt;
&lt;p&gt;Make it inherit NancyModule&lt;/p&gt;
&lt;p&gt;type in the default constructor&lt;/p&gt;
&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;Get["/"] = parameters =&amp;gt; "Hello World";&lt;/pre&gt;
&lt;p&gt;And don&amp;rsquo;t forget to add&lt;/p&gt;
&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;using Nancy;&lt;/pre&gt;
&lt;p&gt;Your full code of HelloNancy.cs should look something like&lt;/p&gt;
&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;using Nancy;

namespace MyFirstNancyWebApp
{
    public class HelloNancy: NancyModule
    {
        public HelloNancy()
        {
            Get["/"] = parameters =&amp;gt; "Hello World";
        }    
    }
}&lt;/pre&gt;
&lt;p&gt;And hit F5 to build&lt;/p&gt;
&lt;p&gt;This gives you a nice and clean hello world:&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="hello world in firefox" src="http://www.jphellemons.nl/image.axd?picture=image_45.png" alt="hello world in firefox" width="374" height="179" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;If you add (below the previous Get&amp;hellip;) this line:&lt;/p&gt;
&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;Get["/hello/{name}"] = parameters =&amp;gt; "Hello " + parameters.name;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And go to /hello/yourname&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="hello world in firefox with parameter" src="http://www.jphellemons.nl/image.axd?picture=image_46.png" alt="hello world in firefox with parameter" width="382" height="275" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Nancy is build for the web in a developer friendly way. Now you use HTTP GET requests, but you can also use the POST and DELETE. The routing can work with regular expressions and is very powerful.&lt;/p&gt;
&lt;p&gt;But besides the query string, you can also accept JSON, XML etc. out of the box with a single line of code!&lt;/p&gt;
&lt;p&gt;But this sample does not contain any HTML! Well you can do that by adding a view. So add a folder called views and add a products.html file.&lt;/p&gt;
&lt;p&gt;When you add this line:&lt;/p&gt;
&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;Get["/products"] = parameters =&amp;gt; View[new ProductsModel()];&lt;/pre&gt;
&lt;p&gt;and this class to your solution:&lt;/p&gt;
&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;public class ProductsModel
{
    public string Code { get; set; }
    public string Name { get; set; }
}&lt;/pre&gt;
&lt;p&gt;Nancy will look in the views folder for a view called products.&lt;/p&gt;
&lt;p&gt;When you use @!Model.Code in your products.html you can show the bound value of the productsmodel object in html.&lt;/p&gt;
&lt;pre class="brush: csharp; gutter: false; toolbar: false; auto-links: false;"&gt;Get["/products"] = parameters =&amp;gt; View["products.html", new ProductsModel(){Code="C1009", Name ="Product name here"}];&lt;/pre&gt;
&lt;p&gt;You can read more about it here:&lt;/p&gt;
&lt;p&gt;&lt;a title="https://github.com/NancyFx/Nancy/wiki/Documentation" href="https://github.com/NancyFx/Nancy/wiki/Documentation"&gt;https://github.com/NancyFx/Nancy/wiki/Documentation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can also download my &lt;a href="https://github.com/jphellemons/MyFirstNancyWebApp" target="_blank"&gt;small sample project from Github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nancy is open source under an &lt;a href="https://github.com/NancyFx/Nancy/blob/master/license.txt" target="_blank"&gt;MIT license&lt;/a&gt; and available on &lt;a href="https://github.com/NancyFx/Nancy" target="_blank"&gt;GitHub&lt;/a&gt;. So you can fork it and make pull requests etc.&lt;/p&gt;
&lt;p&gt;Good luck coding!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ps. if you want to see some octocat&amp;rsquo;s (Github logo) check out this &lt;a href="http://octodex.github.com/" target="_blank"&gt;Octodex&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://www.jphellemons.nl/post/My-first-Nancy-webapplication.aspx&amp;amp;title=My first Nancy webapplication" target="_blank"&gt; &lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://www.jphellemons.nl/post/My-first-Nancy-webapplication.aspx" alt="kick it on DotNetKicks.com" border="0" /&gt; &lt;/a&gt;&lt;a href="http://dotnetshoutout.com/Submit?url=http://www.jphellemons.nl/post/My-first-Nancy-webapplication.aspx&amp;amp;title=My first Nancy webapplication" rev="vote-for" target="_blank"&gt; &lt;img style="border: 0px;" src="http://dotnetshoutout.com/image.axd?url=http://www.jphellemons.nl/post/My-first-Nancy-webapplication.aspx" alt="Shout it" /&gt; &lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=a7IScjMXN4Q:VHG0c0eqgnM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=a7IScjMXN4Q:VHG0c0eqgnM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/a7IScjMXN4Q" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/a7IScjMXN4Q/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/My-first-Nancy-webapplication.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=71f86e78-0128-4272-8f45-115ed9809642</guid>
      <pubDate>Thu, 20 Sep 2012 20:53:00 +0200</pubDate>
      <category>Web development</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=71f86e78-0128-4272-8f45-115ed9809642</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=71f86e78-0128-4272-8f45-115ed9809642</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/My-first-Nancy-webapplication.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=71f86e78-0128-4272-8f45-115ed9809642</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=71f86e78-0128-4272-8f45-115ed9809642</feedburner:origLink></item>
    <item>
      <title>Raspberry Pi with RaspBmc</title>
      <description>&lt;p&gt;A lot of (IT)people have heard of the raspberry pi. It is a tiny cheap computer. There are two models, model A and B. The difference between model A and B is the network (lan) connection. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspi_Iso_Blue.png" width="590" height="433" /&gt;&lt;/p&gt;  &lt;h2&gt;Order a Raspberry pi&lt;/h2&gt;  &lt;p&gt;I have bought a model B at &lt;a title="http://export.farnell.com/rp/order/" href="http://export.farnell.com/rp/order/"&gt;http://export.farnell.com/rp/order/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The raspberry pi was ordered at 23th of August and it arrived in the Netherlands at 11th of September. So that’s less then the 3 weeks that element14 mentions on the website. A fast SD card is recommended. So I have bought an 8GB Transcend class 10 card (for only 8 euro’s). &lt;/p&gt;  &lt;p&gt;As programmer you should have an HDMI cable available and network connection and micro-usb power supply.&lt;/p&gt;  &lt;h2&gt;Make a HTPC from your Raspberry&lt;/h2&gt;  &lt;p&gt;In 2003 there was a project started to make an Xbox act as HTPC. This project was named &lt;a href="http://en.wikipedia.org/wiki/XBMC" target="_blank"&gt;XBMC&lt;/a&gt; (&lt;em&gt;X-Box Media Center). &lt;/em&gt;The software is still available for the X-Box, but also for various number of other platforms. &lt;/p&gt;  &lt;p&gt;As you might know, you can install various Linux distributions on your raspberry. A lot of them are listed on the &lt;a href="http://www.raspberrypi.org/" target="_blank"&gt;official raspberry pi website&lt;/a&gt;. There is even a special distro for XBMC on your Raspberry pi called &lt;a href="http://www.raspbmc.com/" target="_blank"&gt;RaspBmc&lt;/a&gt;. It is super easy to install (when you run windows). Insert your (fast) SD card and download the &lt;a href="http://download.raspbmc.com/downloads/bin/installers/raspbmc-win32.zip" target="_blank"&gt;Windows RaspBmc installer&lt;/a&gt;. Unzip and hit install. When you are done, put the SD in your pi and connect the LAN, HDMI and power up! It might take a while, so grab some coffee. If if fails downloading the updates, remove the power and try again after a few seconds. It should look like this after 30 minutes:&lt;/p&gt;  &lt;p&gt;&lt;img alt="http://www.xbmcfreak.nl/wp-content/uploads/2011/05/confluence_hor.jpg" src="http://www.xbmcfreak.nl/wp-content/uploads/2011/05/confluence_hor.jpg" width="590" height="332" /&gt;&lt;/p&gt;  &lt;h2&gt;Remotes&lt;/h2&gt;  &lt;p&gt;&lt;img style="display: inline; float: right" align="right" src="http://chart.apis.google.com/chart?cht=qr&amp;amp;chs=135x135&amp;amp;chl=market://details?id=org.xbmc.android.remote&amp;amp;.png" /&gt;To work with it without usb keyboards or mice, you need a remote. Of course you can get a real remote. Some are &lt;a href="http://www.raspbmc.com/wiki/user/configuring-remotes/" target="_blank"&gt;supported out of the box&lt;/a&gt;. But it is now 2012 and everybody has a tablet and/or smartphone! So I downloaded the &lt;a href="https://market.android.com/details?id=org.xbmc.android.remote" target="_blank"&gt;official XBMC remote for Android devices&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Airplay support&lt;/h2&gt;  &lt;p&gt;When you have your remote, you can enable Airplay support, so that you can send pictures and videos from your iPad/iPhone to the RaspBmc. You can enable it under &lt;/p&gt;  &lt;p&gt;&lt;em&gt;System –&amp;gt; Network –&amp;gt; “Allow XBMC to receive Airplay content”&lt;/em&gt;&lt;/p&gt;  &lt;h2&gt;Responsive UI&lt;/h2&gt;  &lt;p&gt;To make the user interface of XBMC more responsive, you can &lt;a href="http://wiki.xbmc.org/index.php?title=Settings/Appearance" target="_blank"&gt;switch the skin&lt;/a&gt; to a more lightweight skin. The default skin is confluence&lt;/p&gt;  &lt;p&gt;But for a system with limited resources like the raspberry pi, it’s better to move to Quartz.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://img804.imageshack.us/img804/2128/screen7h.jpg" width="590" height="332" /&gt;&lt;/p&gt;  &lt;p&gt;So now you have a cheap good solution to add Airplay to your TV and play all kinds of files stored on the LAN.&lt;/p&gt;  &lt;p&gt;The next step is to add DVR/PVR support and live TV. I can now use airplay from my iPad, so that’s great! Get yourself a Raspberry pi now!&lt;/p&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=jphellbuileco-20&amp;o=1&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;ref=tf_til&amp;asins=B008XVAUPI" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;
&lt;p&gt;Have fun with your Raspberry Pi!&lt;/p&gt;
&lt;p&gt;p.s. &lt;a href="http://itunes.apple.com/us/app/unofficial-official-xbmc-remote/id520480364?ls=1&amp;mt=8"&gt;the url for the official iOs XBMC remote.&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=-oSLBrFvwZc:dK7M--JDHFA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JpHellemons?a=-oSLBrFvwZc:dK7M--JDHFA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JpHellemons?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JpHellemons/~4/-oSLBrFvwZc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/JpHellemons/~3/-oSLBrFvwZc/post.aspx</link>
      <comments>http://www.jphellemons.nl/post/Raspberry-Pi-with-RaspBmc.aspx#comment</comments>
      <guid isPermaLink="false">http://www.jphellemons.nl/post.aspx?id=ca968c79-10eb-4403-b7ce-c8515a6ed769</guid>
      <pubDate>Thu, 13 Sep 2012 20:21:00 +0200</pubDate>
      <category>Raspberry pi</category>
      <dc:publisher>jphellemons</dc:publisher>
      <pingback:server>http://www.jphellemons.nl/pingback.axd</pingback:server>
      <pingback:target>http://www.jphellemons.nl/post.aspx?id=ca968c79-10eb-4403-b7ce-c8515a6ed769</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.jphellemons.nl/trackback.axd?id=ca968c79-10eb-4403-b7ce-c8515a6ed769</trackback:ping>
      <wfw:comment>http://www.jphellemons.nl/post/Raspberry-Pi-with-RaspBmc.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jphellemons.nl/syndication.axd?post=ca968c79-10eb-4403-b7ce-c8515a6ed769</wfw:commentRss>
    <feedburner:origLink>http://www.jphellemons.nl/post.aspx?id=ca968c79-10eb-4403-b7ce-c8515a6ed769</feedburner:origLink></item>
  </channel>
</rss>
