<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/&quot;DE8EQXc9cCp7ImA9WxBUFkQ.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566</id><updated>2010-03-04T11:00:00.968+01:00</updated><title>Håvard Sørbø</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/hsorbo" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="hsorbo" /><entry gd:etag="W/&quot;CEUGQX48eCp7ImA9WxBUFU8.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566.post-4370851957316039160</id><published>2010-03-02T10:20:00.003+01:00</published><updated>2010-03-02T10:30:20.070+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-02T10:30:20.070+01:00</app:edited><title>Flash / SIlverlight video-download in Safari</title><content type="html">I have a very poor internet connection at home, and as a result i prefer to download movies from the web. One common problem is that the videos are run from flash or silverlight, and the url is not available. There is a neat trick one can do in Safari to get the url for these movies (provided the video uses http).&lt;br /&gt;Steps:&lt;br /&gt;- You first need to enable the developer menu in Safari.&lt;br /&gt;- Go to the page showing the video.&lt;br /&gt;- Go to the developer menu, press "Show web inspector"&lt;br /&gt;- In the web inspector select resource tracking. (enable for this session)&lt;br /&gt;(This will show all resources the webpage is using, if you sort them by size, the video will soon become the largest element)&lt;br /&gt;- Sort by size&lt;br /&gt;- Wait a few seconds of video playback&lt;br /&gt;- Select the topmost resource.&lt;br /&gt;- Copy the url and paste it the address field of Safari.&lt;br /&gt;- Hit alt+enter (This tells safari to download the url instead of opening it)&lt;br /&gt;- Enjoy!&lt;br /&gt;&lt;br /&gt;Here is a demo:&lt;br /&gt;&lt;object width="640" height="505"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AKT-y361SbA&amp;hl=en_US&amp;fs=1&amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/AKT-y361SbA&amp;hl=en_US&amp;fs=1&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2165432947546540566-4370851957316039160?l=blog.hsorbo.no' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/4370851957316039160/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.hsorbo.no/2010/03/flash-silverlight-video-download-in.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/4370851957316039160?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/4370851957316039160?v=2" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/2010/03/flash-silverlight-video-download-in.html" title="Flash / SIlverlight video-download in Safari" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03311692441433388005" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;A0ANRn88cCp7ImA9WxBUEUs.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566.post-4979320345254242198</id><published>2010-02-26T05:22:00.005+01:00</published><updated>2010-02-26T08:36:37.178+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-26T08:36:37.178+01:00</app:edited><title>Reverse engineering the Airport Express Part 3</title><content type="html">&lt;a href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express.html"&gt;Part 1&lt;/a&gt;, &lt;a href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express_23.html"&gt;Part 2&lt;/a&gt;&lt;br /&gt;A small update.&lt;br /&gt;Memory alignment took a few hours. I did this by dumping a lot of the string offsets in the firmware using standard unix console tools:&lt;br /&gt;strings -n 10 -o | grep "Audio" | awk '{print $2}'&lt;br /&gt;I then wrote a IDA script that dumped all load operation offsets, made a second script that brute-forced matching the offsets. The best match was 0x80010000 and not to anybody's surprise this made IDA pro very happy and she started auto analyzing the firmware.&lt;br /&gt;Here is a screen shot of the memory-offsets:&lt;br /&gt;&lt;img src="http://static.hsorbo.no/re-airport/ida_memory_airport.png" /&gt;&lt;br /&gt;&lt;br /&gt;Here is a in-action screen shot of IDA:&lt;br /&gt;&lt;img src="http://static.hsorbo.no/re-airport/ida0.png" /&gt;&lt;br /&gt;&lt;br /&gt;I've done a good amount of reversing and everything is going well, still have no ETA on anything though. Subscribe to the blog or check back after the weekend if you are curious.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2165432947546540566-4979320345254242198?l=blog.hsorbo.no' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/4979320345254242198/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express_26.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/4979320345254242198?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/4979320345254242198?v=2" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express_26.html" title="Reverse engineering the Airport Express Part 3" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03311692441433388005" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0EDQ3wzcSp7ImA9WxBUFUw.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566.post-3660626086641241921</id><published>2010-02-23T17:53:00.007+01:00</published><updated>2010-03-02T09:47:52.289+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-02T09:47:52.289+01:00</app:edited><title>Reverse engineering the Airport Express Part 2</title><content type="html">&lt;a href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express.html"&gt;Part 1&lt;/a&gt;, &lt;a href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express_26.html"&gt;Part 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yesterday I was analyzing my firmware-dump and I couldn't make sense of very much. One thing that got my attention was that scattered around the firmware-dump were a lot of 0xFF. I Found a pattern, and I tried to convince myself that this was some sort of container or padding between important chunks of data. Then as the night approached BOOM, it hit me. The pattern was like this: 512 bytes of data, 16 bytes of 0xFF, 512 bytes of data and 16 bytes of 0xFF. This was significant and here is the problem/solution.&lt;br /&gt;&lt;br /&gt;The flash chip on AT45DB321B is like a book with 8192 pages and 528 letters on each page. When I dumped it my program just read through the book carefully noting every letter. Now the airport express doesn't do it this way, the airport just turns to the page it wants and reads what is needed (random access). Now there is one other limitation, the Airport Express doesn't read more than 512 letters from each page. This means that he doesn't care about the last 16 letters I have been carefully putting into my dump/analysis. I Fixed this and my brute-force decopression-program (15 line python script) found both the bootloader and the main firmware. Their md5-sums are: ff4c561a6dcce8686749594d84ff4e7d and 7db70daf035f085eb455d8de3c2099fb. A guy name James seems to have done the deployment of this firmware :)&lt;br /&gt;I think all that remains now is spending time with IDA Pro. I need to get a memory alignment as the start address of memory seems to be 0x8000000 + some offset.&lt;br /&gt;&lt;br /&gt;A screenshot of the strings-window in IDA Pro (strings used in the Airtunes authentication):&lt;br /&gt;&lt;img src="http://static.hsorbo.no/images/strings1.png" /&gt;&lt;br /&gt;&lt;br /&gt;I really think this discovery makes for part 2 as I now am pretty sure the rest is doable, albeit time consuming.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS. I had to replace every occurence of dump with firmware-dump as the text became very questionable&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2165432947546540566-3660626086641241921?l=blog.hsorbo.no' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/3660626086641241921/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express_23.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/3660626086641241921?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/3660626086641241921?v=2" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express_23.html" title="Reverse engineering the Airport Express Part 2" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03311692441433388005" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;A0cHRXw6fCp7ImA9WxBUEUg.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566.post-7205490621383544788</id><published>2010-02-22T20:18:00.011+01:00</published><updated>2010-02-26T05:37:14.214+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-26T05:37:14.214+01:00</app:edited><title>Reverse engineering the Airport Express Part 1</title><content type="html">For quite some time I've wanted to reverse engineer the airport express base station. There are two reasons for this. The first is that within this firmware are the private Airtunes keys. The second and more important part, at least for me, is that it is almost identical to a wrt54g plus it adds usb and sound-card. Getting linux/openwrt running on this would be wicked cool. The main issue with reversing apples firmwares for these access points is that they are encrypted and the airport express decrypts the firmware when flashing so you can't really do anything fun with the firmware-update files.&lt;br /&gt;&lt;br /&gt;A time back I posted on twitter that I needed a broken airport expresss! I go really lucky, a friend of mine saw the tweet and gave me his broken airport. I disassembled it and found out that the flash was  AT45DB321B, which is nice because Atmel keeps their datasheet public, the not so good news was that it was BGA-mounted and my old soldering station wasn't up for this. Everybody knows I'm a real ebay-whore, so I went to ebay and ordered this excellent hakko rework-station clone (YIHUA 852D+). This had the hot-air-gun that I needed. Here is a short video when I'm detaching the IC:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EB8PNZNsLVk&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EB8PNZNsLVk&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;After desoldering I glued it to a breadboard and hooked up some wires, this was a bit tricky as this is quite small.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/hsorbo/4378757090/" title="IMGP2126 by Håvard Sørbø, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2485/4378757090_b4e7519a57.jpg" width="375" height="500" alt="IMGP2126" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After everything was hooked up, I attached it to my &lt;a href="http://code.google.com/p/the-bus-pirate/"&gt;Bus Pirate&lt;/a&gt; and after a lot of trial and error managed to communicate with the chip.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/hsorbo/4378005219/" title="IMGP2123 by Håvard Sørbø, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2791/4378005219_3eafb4b57e.jpg" width="500" height="375" alt="IMGP2123" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally i wrote this small python-script that dumped the content of the chip.&lt;br /&gt;&lt;br /&gt;I'm now in the possession of the unencrypted firmware for airport express, but still there are a lot of stuff remaing. The firmware is compressed, and I have had no success brute-force inflating it, so I may have to start reverse-engineering the bootloader just to get to the uncompressed firmware. Another option could be running it under qemu, the decompression-part that is, should be fairly generic arm-code. A third option would be to flash it on my wrt54g and do jtag-debugging, if I'm really lucky I'd get serial-port and bootloader on the linksys.&lt;br /&gt;&lt;br /&gt;There are a lot for options going forward, I'll post a new blog-entry when I make further progress.&lt;br /&gt;Please excuse the bad language in this post, I don't want to spend time on grammar now that I have this very sexy binary blob right in front of me.&lt;br /&gt;&lt;br /&gt;Happy hacking!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2165432947546540566-7205490621383544788?l=blog.hsorbo.no' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/7205490621383544788/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/7205490621383544788?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/7205490621383544788?v=2" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/2010/02/reverse-engineering-airport-express.html" title="Reverse engineering the Airport Express Part 1" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03311692441433388005" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUAFSHo7cCp7ImA9WxBWE00.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566.post-5194081538952186386</id><published>2010-02-04T17:27:00.006+01:00</published><updated>2010-02-04T18:15:19.408+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-04T18:15:19.408+01:00</app:edited><title>I want union of types in c#</title><content type="html">I would really like something that defines a field or argument as a union of types in c#. I'm not sure about the best syntax but something like this would be nice: &lt;div&gt;BindCollection(&amp;lt;ICollection&amp;lt;T&amp;gt; , INotifyCollectionChanged&amp;gt; collection);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Currently I'm achieving some of this functionality using naked type constraints. Like this:&lt;/div&gt;&lt;div&gt;BindCollection&amp;lt;U&amp;gt;(U collection)  where U : ICollection&amp;lt;T&amp;gt; , INotifyCollectionChanged&lt;/div&gt;&lt;div&gt;This has some limitations, like you cant use it in a constructor. The sweet thing about this is you don't have to do casting, you get some checking from your compiler and you'll get code-completion for the union of types&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2165432947546540566-5194081538952186386?l=blog.hsorbo.no' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/5194081538952186386/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.hsorbo.no/2010/02/i-want-union-of-types-in-c.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/5194081538952186386?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/5194081538952186386?v=2" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/2010/02/i-want-union-of-types-in-c.html" title="I want union of types in c#" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03311692441433388005" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUQAQXw8fCp7ImA9WxBWEUs.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566.post-308565421191243544</id><published>2010-02-02T13:24:00.006+01:00</published><updated>2010-02-03T04:22:20.274+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-03T04:22:20.274+01:00</app:edited><title>Flah on iPad</title><content type="html">I love the fact that the iPad doesn't have support for flash! I believe removing flash support is a big win for an open standard-based web and a rather small loss for consumers. Personally I've never missed flash on my iphone, although browsing the web is kept at a minimum. Flash is closed source and proprietary and adobe should not be able to dictate which platforms are suitable for browsing the web and not (linux-x86-64, linux-ppc, mac-ppc has no recent releases). Apple, by having a substantial deployment, can change the consensus around RIA to focus on standard-based solutions.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the user its mostly a &lt;b&gt;loss&lt;/b&gt; except for battery-time which would probably be greatly reduced if flash was available. Flash is such a battery hog that even firefox in maemo has &lt;a href="http://www.fonearena.com/blog/2010/01/28/firefox-rc3-for-maemo-released-disables-flash-2.html"&gt;disabled&lt;/a&gt; it. &lt;/div&gt;&lt;div&gt;If the loss is to big for you, you should look to another system that fits your needs or sse if there is an application that allows you to circumvent this.&lt;/div&gt;&lt;div&gt;Apple has gone to some extent to fix the lack of flash by having an iphone-app for youtube, the no1 flash site. (if you don't support youtube, you are fucked). Youtube also enabled html5-support at &lt;a href="http://youtube.com/html5"&gt;youtube.com/html5&lt;/a&gt;. Limitations of html5 on youtube is lack of fullscreen and only H.264 and &lt;a href="http://weblogs.mozillazine.org/roc/archives/2010/01/video_freedom_a.html"&gt;not theora&lt;/a&gt; (which is license-free) video codec.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Being in the same shoes as Apple I would have done the same. Imagine you have source-code for the entire stack of iPhone, iPad, iPod, except one known trouble-maker and doing support for 40.000.000 customers. Imagine if there is an exploit and you can't fix it yourselves, you'll be owned by Adobe.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Comments are welcome!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2165432947546540566-308565421191243544?l=blog.hsorbo.no' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/308565421191243544/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.hsorbo.no/2010/02/flah-on-ipad.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/308565421191243544?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/308565421191243544?v=2" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/2010/02/flah-on-ipad.html" title="Flah on iPad" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03311692441433388005" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEEMRXoyeSp7ImA9WxBXGUQ.&quot;"><id>tag:blogger.com,1999:blog-2165432947546540566.post-8473566963982860504</id><published>2010-02-01T04:34:00.001+01:00</published><updated>2010-02-01T04:58:04.491+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-01T04:58:04.491+01:00</app:edited><title>Moved blog</title><content type="html">I ended up upgrading my blog-engines more frequently than posting blogs. I'm lazy so I switched to blogger.com. Lets se how this works out :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2165432947546540566-8473566963982860504?l=blog.hsorbo.no' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.hsorbo.no/feeds/8473566963982860504/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.hsorbo.no/2010/02/moved-blog.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/8473566963982860504?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2165432947546540566/posts/default/8473566963982860504?v=2" /><link rel="alternate" type="text/html" href="http://blog.hsorbo.no/2010/02/moved-blog.html" title="Moved blog" /><author><name>Håvard Sørbø</name><uri>http://www.blogger.com/profile/13371166545791586367</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03311692441433388005" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry></feed>
