<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Medo&#039;s Home Page</title>
	<atom:link href="http://www.jmedved.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jmedved.com</link>
	<description></description>
	<lastBuildDate>Mon, 06 Feb 2012 12:59:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Avoiding COMException</title>
		<link>http://www.jmedved.com/2012/02/avoiding-comexception/</link>
		<comments>http://www.jmedved.com/2012/02/avoiding-comexception/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 00:00:15 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=4013</guid>
		<description><![CDATA[Imagine following scenario. You are minding your own business and calling some nice COM function. Suddenly you got COMException going on. And it is not your fault. Code is perfect, women are nice and all you have in that line is simple check (e.g. myCom.Show(handle) == NativeMethods.S_OK). To make things worse you get also &#8220;The <a href='http://www.jmedved.com/2012/02/avoiding-comexception/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/COMException.png"><img src="http://www.jmedved.com/content/media/COMException-300x110.png" alt="" title="COMException was unhandled by user code" width="300" height="110" class="alignright size-medium wp-image-4019" /></a>Imagine following scenario. You are minding your own business and calling some nice COM function. Suddenly you got COMException going on. And it is not your fault. Code is perfect, women are nice and all you have in that line is simple check (e.g. <code>myCom.Show(handle) == NativeMethods.S_OK</code>). To make things worse you get also &#8220;The operation was canceled by the user. (Exception from HRESULT: 0x800704C7)&#8221; (or something similar).</p>
<p>Ok, you admit to your self, I did press the cancel button. But this function clearly says that it will return code different than S_OK. It never says anything about any exceptions. And can COM even raise exception in my code? Aha! Real culprit must sit in COM interop layer.</p>
<p>Precise dose of googling (or binging) gives source of misery. Some helpful soul in .NET design team decided that COMException will be thrown whenever HRESULT returns anything that is not success. And thus, something that ought to handled by simple conditional statement (formerly known as if) is now trashing our carefully woven code. Fortunately, smart guy from same team gave us antidote in form of <a href="http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.preservesigattribute.aspx">PreserveSig attribute</a>. Small dose of said attribute at function call alleviates all issues.</p>
<p>P.S. Normal person would just say to apply PreserveSig attribute to any function whose result code is handled within your code.</p>
<p>P.P.S. Even smarter person would give you the code:</p>
<pre class="brush: csharp; highlight: [2]; title: ; notranslate">
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
[PreserveSig()]
uint Show([In, Optional] IntPtr hwndOwner);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/02/avoiding-comexception/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DD-WRT on WL-330GE</title>
		<link>http://www.jmedved.com/2012/02/ddwrt-on-wl330ge/</link>
		<comments>http://www.jmedved.com/2012/02/ddwrt-on-wl330ge/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 00:00:50 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3779</guid>
		<description><![CDATA[I recently bought Asus WL-330GE wireless router. I needed small travel router and I needed to run DD-WRT on it. It seemed like perfect match. Upgrade to DD-WRT went without a hitch. However, as soon as it booted I noticed that I was getting DHCP address from my hotel&#8217;s server instead from router. Quick investigation <a href='http://www.jmedved.com/2012/02/ddwrt-on-wl330ge/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/DDWrtNetworkConfiguration.png"><img src="http://www.jmedved.com/content/media/DDWrtNetworkConfiguration-225x300.png" alt="" title="DD-WRT Network Configuration" width="225" height="300" class="alignright size-medium wp-image-3784" /></a>I recently bought <a href="http://www.amazon.com/Asus-Wireless-G-Access-Point-WL-330GE/dp/B0014L4ZKK">Asus WL-330GE</a> wireless router. I needed small travel router and I needed to run DD-WRT on it. It seemed like perfect match.</p>
<p>Upgrade to DD-WRT went without a hitch. However, as soon as it booted I noticed that I was getting DHCP address from my hotel&#8217;s server instead from router. Quick investigation revealed that there was no WAN port configured. Single port was in my LAN segment and thus it was leaking everything. Solution for that ought to be simple &#8211; I just went to Setup -&gt; Networking and changed WAN assignment there. It seemed to work but, as soon as I rebooted router, everything went back to original state. Quite annoying.</p>
<p>Quick googling revealed something that looked <a href="http://blog.venia.ru/archives/328">quite close</a> to solution but it didn&#8217;t work for me. I could get it to work sometime but every time after restart it would put my WAN port into default bridge. Not quite what I wanted.</p>
<p>In order to debug this I executed <code>nvram show</code> after clean install and then I executed it again after everything got working. That gave me delta that I had to apply. And, as far as bridges go, I decided to manually remove eth0 (WAN port) from default bridge.</p>
<p>Final result was this start-up script (Administration &gt; Commands):</p>
<pre class="brush: plain; gutter: true; title: ; notranslate">
brctl delif br0 eth0
nvram set lan_ifnames=&quot;eth1&quot;
nvram set wan_ifname=&quot;eth0&quot;
nvram set wan_ifname2=&quot;eth0&quot;
nvram set wan_ifnames=&quot;eth0&quot;
nvram set wanup=0
nvram unset dhcpc_done
nvram commit
udhcpc -i eth0 -p /var/run/udhcpc.pid -s /tmp/udhcpc &amp;
</pre>
<p>First line just ensures that WAN port is thrown out of bridge. All those <code>nvram</code> lines sort out minor differences. Last line enables DHCP renewal on WAN interface. After startup that should produce bridge state as displayed on picture. Just what I wanted. :)</p>
<p>Only thing that might look funny afterward is that both WLAN and LAN interface have same MAC address. To solve this we need to telnet (or ssh) to machine and execute following commands:</p>
<pre class="brush: plain; title: ; notranslate">
nvram get lan_hwaddr
nvram get wan_hwaddr
nvram get wl0_hwaddr
</pre>
<p>Each command will give you MAC address of each interface. In my case this was:<br />
<code>lan_hwaddr = F4:6D:06:94:02:39</code><br />
<code>wan_hwaddr = F4:6D:06:94:02:39</code><br />
<code>wl0_hwaddr = F4:6D:06:94:02:3B</code><br />
From that we can interpolate that wan_hwaddr should be <code>F4:6D:06:94:02:3A</code> (just before wireless and just after LAN). Only thing to do now is to enhance our startup script (somewhere BEFORE <code>nvram commit</code>) with:</p>
<pre class="brush: plain; title: ; notranslate">
nvram set wan_hwaddr=F4:6D:06:94:02:3A
nvram set et0macaddr=F4:6D:06:94:02:3A
</pre>
<p>This game with MAC is not strictly necessary but I like to set it anyhow.</p>
<p>I tested this on build 14896 (recommended for Asus WL-330GE in router database) and on special build 15962 (recommended on forums as stable).</p>
<p>P.S. Next time remember not to take router advice from Windows programmer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/02/ddwrt-on-wl330ge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MagiWOL 3.10</title>
		<link>http://www.jmedved.com/2012/01/magiwol-310/</link>
		<comments>http://www.jmedved.com/2012/01/magiwol-310/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 00:00:29 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3963</guid>
		<description><![CDATA[New version of my take on wake-up calls is up. Most noticeable change here is having everything accessible over toolbar. In past some options were in hidden menu but that menu is gone now. Other feature that is long overdue is upgrade functionality within application. There was also some bug-fixing involved but that stuff is <a href='http://www.jmedved.com/2012/01/magiwol-310/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/MagiWol310.png"><img src="http://www.jmedved.com/content/media/MagiWol310-300x178.png" alt="" title="MagiWOL" width="300" height="178" class="alignright size-medium wp-image-3965" /></a>New version of my take on wake-up calls is up.</p>
<p>Most noticeable change here is having everything accessible over toolbar. In past some options were in hidden menu but that menu is gone now.</p>
<p>Other feature that is long overdue is upgrade functionality within application.</p>
<p>There was also some bug-fixing involved but that stuff is too boring.</p>
<p>Enjoy <a href="http://www.jmedved.com/magiwol/">new version</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/magiwol-310/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running .NET 3.5 application on .NET 4 (and beyond)</title>
		<link>http://www.jmedved.com/2012/01/running-net-35-application-on-net-4/</link>
		<comments>http://www.jmedved.com/2012/01/running-net-35-application-on-net-4/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 00:00:17 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3842</guid>
		<description><![CDATA[Few days ago I tried to get my VHD Attach to run on Windows Thin PC. Initial diagnosis was easy &#8211; there was no .NET Framework installed. While there is no way to install .NET Framework 3.5 on Windows Thin PC, .NET Framework 4.0 installs just fine. Next run gave us another clue with System.IO.FileNotFoundException: <a href='http://www.jmedved.com/2012/01/running-net-35-application-on-net-4/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/VhdAttachCrashOnWindowsThinPc.png"><img src="http://www.jmedved.com/content/media/VhdAttachCrashOnWindowsThinPc-300x139.png" alt="" title="VHD Attach crashes on Windows Thin PC" width="300" height="139" class="alignright size-medium wp-image-3818" /></a>Few days ago I tried to get my <a href="http://www.jmedved.com/vhdattach/">VHD Attach</a> to run on <a href="http://www.microsoft.com/en-us/windows/enterprise/products-and-technologies/virtualization/thinpc.aspx">Windows Thin PC</a>.</p>
<p>Initial diagnosis was easy &#8211; there was no .NET Framework installed. While there is no way to install .NET Framework 3.5 on Windows Thin PC, .NET Framework 4.0 installs just fine.</p>
<p>Next run gave us another clue with <code>System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.</code></p>
<p>While .NET 4 is <a href="http://msdn.microsoft.com/en-us/library/ff602939.aspx">backward compatible</a>, Microsoft made intentional decision that it will not run applications made with earlier runtimes. This is not a big issue in Windows 7. There you have 2.0, 3.5 and 4.0 installed side-by-side and each application can pick whatever it needs. However, in Windows Thin  PC there is only 2.0 and 4.0. Notice that one version is missing and it was the one I needed.</p>
<p>To make long story short, there is solution that does not involve recompiling. Just add Application Configuration Files (App.config) and put following text into it:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;configuration&gt;
    &lt;startup&gt;
        &lt;supportedRuntime version=&quot;v4.0&quot; /&gt;
        &lt;supportedRuntime version=&quot;v2.0.50727&quot; /&gt;
    &lt;/startup&gt;
&lt;/configuration&gt;
</pre>
<p>This will tell application to run on .NET 4 if possible and to fallback to 3.5, 3.0 and 2.0 as a backup solution. This might not be most beautiful solution but it is a solution that works.</p>
<p>P.S. Yes, supportedRuntime cannot distinguish between .NET 2.0, 3.0 and 3.5.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/running-net-35-application-on-net-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Highly improbable</title>
		<link>http://www.jmedved.com/2012/01/highly-improbable/</link>
		<comments>http://www.jmedved.com/2012/01/highly-improbable/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 02:00:26 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3938</guid>
		<description><![CDATA[Welcome to my new web server. And for the first time ever, it is Linux-based. I haven&#8217;t moved because Windows were unstable (haven&#8217;t had any issues). I haven&#8217;t moved because of bugs (PHP is buggy on any platform). I haven&#8217;t got tired of .NET (C# rules!). I moved because of SSH. I grew tired of <a href='http://www.jmedved.com/2012/01/highly-improbable/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/Pumpkin.jpg"><img src="http://www.jmedved.com/content/media/Pumpkin-225x300.jpg" alt="" title="Pumpkin" width="225" height="300" class="alignright size-medium wp-image-3939" /></a>Welcome to my new web server. And for the first time ever, it is Linux-based.</p>
<p>I haven&#8217;t moved because Windows were unstable (haven&#8217;t had any issues). I haven&#8217;t moved because of bugs (PHP is buggy on any platform). I haven&#8217;t got tired of .NET (C# rules!).</p>
<p>I moved because of <a href="http://en.wikipedia.org/wiki/Secure_Shell">SSH</a>. I grew tired of plain-text FTP where any kid with <a href="http://www.wireshark.org/">Wireshark</a> could get my password.</p>
<p>My <a href="http://plus.hr">hosting</a> company made sure that server change went smoothly. They just switched DNS records and, poof, my website on new server started. It is true that, for a while, there was no CSS or JavaScript but culprit was found in <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> plugin. It just didn&#8217;t like being copied around and quick uninstall sorted that out. :)</p>
<p>There were few other minor issues with upgrade service for <a href="http://www.jmedved.com/vhdattach/">VHD Attach</a> and <a href="http://www.jmedved.com/qtext/">QText</a> but they had more to do with subtle differences between Windows and Linux hosting than with any real error.</p>
<p>Now let&#8217;s just hope that I don&#8217;t break everything. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/highly-improbable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VHD Attach 3.02</title>
		<link>http://www.jmedved.com/2012/01/vhdattach-302/</link>
		<comments>http://www.jmedved.com/2012/01/vhdattach-302/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 00:00:27 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3923</guid>
		<description><![CDATA[This is very small update to VHD Attach. I removed application config files introduced with last version. Of course that means that both Thin PC users will hate me. For them, there is FAQ with separate download. I do plan to sort things out in later version.]]></description>
			<content:encoded><![CDATA[<p>This is very small update to VHD Attach. I removed application config files introduced with <a href="http://www.jmedved.com/2012/01/again/">last version</a>. Of course that means that both Thin PC users will hate me. For them, there is <a href="http://www.jmedved.com/vhdattach/faq/">FAQ</a> with separate download.</p>
<p>I do plan to sort things out in later version.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/vhdattach-302/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 in your local network via DD-WRT</title>
		<link>http://www.jmedved.com/2012/01/ipv6-in-your-local-network-via-dd-wrt/</link>
		<comments>http://www.jmedved.com/2012/01/ipv6-in-your-local-network-via-dd-wrt/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 00:00:19 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3886</guid>
		<description><![CDATA[After sorting out tunneling on my computer, there came time to setup my router too. Idea is not to configure each client with separate tunnel but to have one tunnel on router and all computers connecting to it should use it transparently. Hurricane Electric gives /64 prefix and that ought to be enough. As a <a href='http://www.jmedved.com/2012/01/ipv6-in-your-local-network-via-dd-wrt/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/DDWrtIPv6Configuration.png"><img src="http://www.jmedved.com/content/media/DDWrtIPv6Configuration-300x148.png" alt="" title="DD-WRT IPv6 configuration" width="300" height="148" class="alignright size-medium wp-image-3887" /></a>After sorting out <a href="http://www.jmedved.com/2012/01/ipv6-in-ipv4-world/">tunneling on my computer</a>, there came time to setup my router too. Idea is not to configure each client with separate tunnel but to have one tunnel on router and all computers connecting to it should use it transparently. <a href="http://www.tunnelbroker.net/">Hurricane Electric</a> gives /64 prefix and that ought to be enough.</p>
<p>As a router I will use my trusty DD-WRT. Exact version used in this example is DD-WRT v24-sp2 (12/08/11) std-nokaid (SVN revision 17990M NEWD-2 Eko). Your mileage may vary depending on version of your choosing.</p>
<p>Obvious first step is to enable IPv6. It is easy enough to do. Under Administration -> Management find IPv6 support and enable IPv6 and Radvd. Radvd is configured as simple as it can be:
<pre class="brush: plain; highlight: [4]; title: ; notranslate">
interface br0
{
   AdvSendAdvert on;
   prefix 2001:db8:9:10ee::/64
   {
   };
};
</pre>
<p>Notice that prefix is same text &#8220;Routed /64&#8243; under your tunnel details.</p>
<p>Unfortunately this will not do. There is need for small script:</p>
<pre class="brush: plain; highlight: [3,4,5,6,7]; title: ; notranslate">
insmod ipv6

SERVER_IPV4_ADDRESS=&quot;216.66.22.2&quot;
SERVER_IPV6_ADDRESS=&quot;2001:db8:8:10ee::1&quot;
CLIENT_IPV4_ADDRESS=$(ip -4 addr show dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
CLIENT_IPV6_ADDRESS=&quot;2001:db8:8:10ee::2&quot;
ROUTED_IPV6_ADDRESS=&quot;2001:db8:9:10ee::1&quot;

if [ -n $CLIENT_IPV4_ADDRESS ]
then
    ip tunnel add he-ipv6 mode sit remote $SERVER_IPV4_ADDRESS local $CLIENT_IPV4_ADDRESS ttl 255
    ip link set he-ipv6 up
    ip addr add $CLIENT_IPV6_ADDRESS/64 dev he-ipv6
    ip route add ::/0 dev he-ipv6
    ip -6 addr add $ROUTED_IPV6_ADDRESS/64 dev br0
    kill $(ps | awk '/radvd / { print $1}')
    radvd -C /tmp/radvd.conf
    wget &quot;http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&amp;pass=9fc4d3d26b6ba921226c53e6c664c1ab0&amp;apikey=tb4f139f1c342fgbd4.44123289860&amp;tid=5511235463&quot;
fi
</pre>
<p>Script sets some variables, brings interface up, adds some routes and restarts radvd daemon in order to pickup latest settings. Last line is needed only for users with dynamic IP (full explanation can be got once you load page <a href="http://ipv4.tunnelbroker.net/ipv4_end.php">in browser</a>). This script needs to be saved with Save Firewall (under Administration -> Commands).</p>
<p>Once router gets restarted you will notice that all clients get IPv6 address alongside IPv4 (they have to support IPv6, of course). Easiest way to check it to run <code>ping -6 ipv6.google.com</code>. Or load <a href="http://ipv6.google.com">it</a> or one of many <a href="http://test-ipv6.com/">IPv6</a> <a href="http://ipv6test.google.com/">test</a> <a href="http://ipv6-test.com/">pages</a>.</p>
<p>Windows 7 works just beautifully with IPv6.</p>
<p>P.S. In case you are wondering where I pulled those IPv6 addresses from, here is what <a href="http://www.tunnelbroker.net/">Hurricane Electric</a> gave me:
<pre class="brush: plain; highlight: [2,3,4,5,8]; title: ; notranslate">
IPv6 Tunnel Endpoints
    Server IPv4 Address: 216.66.22.2
    Server IPv6 Address: 2001:db8:8:10ee::1/64
    Client IPv4 Address: 174.78.144.123
    Client IPv6 Address: 2001:db8:8:10ee::2/64

Routed IPv6 Prefixes
    Routed /64:          2001:db8:9:10ee::/64
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/ipv6-in-your-local-network-via-dd-wrt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 in IPv4 world</title>
		<link>http://www.jmedved.com/2012/01/ipv6-in-ipv4-world/</link>
		<comments>http://www.jmedved.com/2012/01/ipv6-in-ipv4-world/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 00:00:06 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3852</guid>
		<description><![CDATA[In order to get into modern era I decided to teach my computer to talk IPv6. Windows 7 already comes with IPv6. I mean, how hard can it be? Well, since my Internet provider does not give a **** about IPv6 first step is to get a tunnel. And there are quite a few IPv6 <a href='http://www.jmedved.com/2012/01/ipv6-in-ipv4-world/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/TestIPv6.png"><img src="http://www.jmedved.com/content/media/TestIPv6-300x253.png" alt="" title="IPv6 test result" width="300" height="253" class="alignright size-medium wp-image-3867" /></a>In order to get into modern era I decided to teach my computer to talk IPv6.  Windows 7 already comes with IPv6. I mean, how hard can it be?</p>
<p>Well, since my Internet provider does not give a **** about IPv6 first step is to get a tunnel. And there are quite a few IPv6 tunnel providers. In my case I decided to go with <a href="http://www.sixxs.net/">SixXS</a> since they have support for both Windows 7 and (via black magic) my DD-WRT router. For Windows 7 you do need to have their <a href="http://www.sixxs.net/archive/sixxs/aiccu/windows/">AICCU</a> client installed (and probably <a href="/openvpn.net/">OpenVPN</a>). Slight nuisance but bearable.</p>
<p>Once my account was ready (it took them less than a day) I created an Dynamic NAT-traversing IPv4 Endpoint using AYIYA (now repeat this really fast). All eager I awaited for confirmation. Instead of it I got &#8220;SixXS has discussed your request regarding a tunnel but have decided not to approve this request&#8221;. Nothing in mail pointed to what I did wrong. My guess was that they noticed I am trying to use Ashburn, VA (where I currently live) with my Croatian address (where I usually live). I elaborated my situation and waited for response. And waited. And waited. No response (10 days and counting).</p>
<p>Thus I decided to see what other brokers are out there and I found one that would work for me &#8211; <a href="http://www.he.net/">Hurricane Electric</a>. They give you  up to five /64 tunnels and upon that you can additionally request /48 prefix. Their tunnel endpoints are not that numerous but I think that they offer satisfactory range.</p>
<p>But that is not the best thing. After reading guides for <a href="http://www.shdon.com/blog/2011/03/27/tunneling-ipv6-over-ipv4-using-sixxs-on-win7-x64">setting up SixXS</a> I was pleasantly surprised that my configuration consisted of 4 lines:</p>
<pre class="brush: plain; title: ; notranslate">
netsh interface teredo set state disabled
netsh interface ipv6 add v6v4tunnel IP6Tunnel 192.168.1.2  10.20.30.40
netsh interface ipv6 add address    IP6Tunnel 2001:db8::1:0:0:2
netsh interface ipv6 add route ::/0 IP6Tunnel 2001:db8::1:0:0:1
</pre>
<p>And you do not need to remember those 4 lines since they will be generated automatically for you and available on Tunnel Details page. Just take care to fill first IP correctly (192.168.1.2 in this example) No additional software, no new drivers &#8211; Simplicity at it&#8217;s best.</p>
<p>So far I think I am convert. While SixSX has a little bit better support for dynamic IPs, things are not <a href="http://ipv6.he.net/certification/faq.php">too bleak</a> for Hurricane. And keep in mind that Hurricane does tunneling over <a href="http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers">protocol 41</a> so there is need for your network to support this (almost each one does).</p>
<p>In short, I would say that <a href="http://tunnelbroker.net/">Hurricane Electric</a> is much better choice if you have normal provider who does not block any traffic. In any case, I am IPv6 (and so can you). :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/ipv6-in-ipv4-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ReFS</title>
		<link>http://www.jmedved.com/2012/01/refs/</link>
		<comments>http://www.jmedved.com/2012/01/refs/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 00:00:22 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3872</guid>
		<description><![CDATA[For long time now NTFS is the system of choice for Windows. Well, that is about to change. For upcoming Windows 8 beta we shall get Resilient File System (ReFS for friends). Features are making my head spin: Compatible with NTFS application layer. Data is verified and auto-corrected. Live data recovery (bye, bye offline mode). <a href='http://www.jmedved.com/2012/01/refs/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/ReFsFileStructures.jpg"><img src="http://www.jmedved.com/content/media/ReFsFileStructures-300x168.jpg" alt="" title="ReFS file structures (from http://blogs.msdn.com/b/b8/archive/2012/01/16/building-the-next-generation-file-system-for-windows-refs.aspx)" width="300" height="168" class="alignright size-medium wp-image-3874" /></a>For long time now NTFS is the system of choice for Windows. Well, that is about to change.</p>
<p>For upcoming Windows 8 beta <a href="http://blogs.msdn.com/b/b8/archive/2012/01/16/building-the-next-generation-file-system-for-windows-refs.aspx">we shall</a> get Resilient File System (ReFS for friends). Features are making my head spin:</p>
<ul>
<li>Compatible with NTFS application layer.</li>
<li>Data is verified and auto-corrected.</li>
<li>Live data recovery (bye, bye offline mode).</li>
<li>Transactional model.</li>
</ul>
<p>From design point of view it looks more like unholy combination of relational database and version control than a file system (that <a href="http://en.wikipedia.org/wiki/WinFS">sounds familiar</a>). As I read I decided that it will be my new system to install Windows 8 on. And then I noticed two deal breakers: It will be available only on Windows Server 8 and you will not be able to boot of it.</p>
<p>At first this file system is intended for Windows Server 8 volumes only. You will boot good old NTFS and then store all your data on ReFS. And forget per-file encryption since <a href="http://en.wikipedia.org/wiki/Encrypting_File_System">EFS</a> is not supported. Well, at least there is BitLocker.</p>
<p>My developer life is <a href="http://www.jmedved.com/2009/01/windows-2008-workstation/">more aligned</a> with Windows client OS than server so I will skip it for now. I just hope that ReFS will not stay limited to server but that it will find it&#8217;s way into consumer&#8217;s life also. And, Microsoft, don&#8217;t forget booting&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/refs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Again</title>
		<link>http://www.jmedved.com/2012/01/again/</link>
		<comments>http://www.jmedved.com/2012/01/again/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 00:00:05 +0000</pubDate>
		<dc:creator>Josip Medved</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jmedved.com/?p=3817</guid>
		<description><![CDATA[More observant among you might notice that there is already new version of VHD Attach. Those who use it on Windows 7 and Windows Server 2008 R2 have no reason to worry: only difference between versions 3.00 and 3.01 is that VHD Attach now supports Windows Thin PC. If you happen to use Windows Thin <a href='http://www.jmedved.com/2012/01/again/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jmedved.com/content/media/VhdAttachCrashOnWindowsThinPc.png"><img src="http://www.jmedved.com/content/media/VhdAttachCrashOnWindowsThinPc-300x139.png" alt="" title="VHD Attach crashes on Windows Thin PC" width="300" height="139" class="alignright size-medium wp-image-3818" /></a>More observant among you might notice that there is already new version of VHD Attach. Those who use it on Windows 7 and Windows Server 2008 R2 have no reason to worry: only difference between versions 3.00 and 3.01 is that VHD Attach now supports <a href="http://www.microsoft.com/en-us/windows/enterprise/products-and-technologies/virtualization/thinpc.aspx">Windows Thin PC</a>.</p>
<p>If you happen to use Windows Thin PC than just remember to install <a href="http://www.microsoft.com/download/en/details.aspx?id=17718">.NET Framework 4.0</a> before VHD Attach and you should be just fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmedved.com/2012/01/again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

