<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1352305136035831661</id><updated>2011-11-28T01:37:29.089+02:00</updated><title type='text'>Simmers</title><subtitle type='html'>I'll create a GUI interface using Visual Basic, see if I can track an IP address.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://asymingt.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://asymingt.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>simmers</name><uri>http://www.blogger.com/profile/02468171413154805113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_HwBqkm2KJn8/SOCc3GyVe2I/AAAAAAAAABU/aONHXtpQsiQ/S220/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1352305136035831661.post-6898264169882728804</id><published>2008-10-09T18:08:00.005+02:00</published><updated>2008-10-09T18:24:56.940+02:00</updated><title type='text'>Some pictures of our GTC accommodation</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:180%;"&gt;The outside of the house&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4tFfDPpdI/AAAAAAAAADQ/8veVPkGpw3k/s1600-h/o-front.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4tFfDPpdI/AAAAAAAAADQ/8veVPkGpw3k/s400/o-front.jpg" alt="" id="BLOGGER_PHOTO_ID_5255187387445650898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The front of our house&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4tFWVOaEI/AAAAAAAAADY/cMNHj-gnr-E/s1600-h/o-frontdoor.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4tFWVOaEI/AAAAAAAAADY/cMNHj-gnr-E/s400/o-frontdoor.jpg" alt="" id="BLOGGER_PHOTO_ID_5255187385105147970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Our front door&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HwBqkm2KJn8/SO4tFpBTXsI/AAAAAAAAADg/2eE2gOlgLJ0/s1600-h/o-garden.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_HwBqkm2KJn8/SO4tFpBTXsI/AAAAAAAAADg/2eE2gOlgLJ0/s400/o-garden.jpg" alt="" id="BLOGGER_PHOTO_ID_5255187390121860802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The back garden (braai place coming soon)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4tFhRmQOI/AAAAAAAAADo/HzkT2Mf18Hw/s1600-h/o-bikes.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4tFhRmQOI/AAAAAAAAADo/HzkT2Mf18Hw/s400/o-bikes.jpg" alt="" id="BLOGGER_PHOTO_ID_5255187388042723554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Our bikes (note the mudflaps!)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;The inside of the house&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4uAt5-qpI/AAAAAAAAADw/sbtZBtZKbbg/s1600-h/h-bigkitchen.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4uAt5-qpI/AAAAAAAAADw/sbtZBtZKbbg/s400/h-bigkitchen.jpg" alt="" id="BLOGGER_PHOTO_ID_5255188405045602962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The large kitchen&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4uAmZ9lOI/AAAAAAAAAD4/aQ5H3r6WM8k/s1600-h/h-smallkitchen.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4uAmZ9lOI/AAAAAAAAAD4/aQ5H3r6WM8k/s400/h-smallkitchen.jpg" alt="" id="BLOGGER_PHOTO_ID_5255188403032265954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The small kitchen&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HwBqkm2KJn8/SO4uA-YqOJI/AAAAAAAAAEA/Ri_vBEHIM_o/s1600-h/h-victorianbling.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_HwBqkm2KJn8/SO4uA-YqOJI/AAAAAAAAAEA/Ri_vBEHIM_o/s400/h-victorianbling.jpg" alt="" id="BLOGGER_PHOTO_ID_5255188409469253778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Victorian window bling&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4uA6y5BzI/AAAAAAAAAEI/z8D13chR-O0/s1600-h/h-lightswitchesbitchz.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4uA6y5BzI/AAAAAAAAAEI/z8D13chR-O0/s400/h-lightswitchesbitchz.jpg" alt="" id="BLOGGER_PHOTO_ID_5255188408505534258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Our ethereal blue and timed corridor light switches&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4uA91QSQI/AAAAAAAAAEQ/ugdUBQiiI3s/s1600-h/h-dehumidifier.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4uA91QSQI/AAAAAAAAAEQ/ugdUBQiiI3s/s400/h-dehumidifier.jpg" alt="" id="BLOGGER_PHOTO_ID_5255188409320753410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;The dehumidifier drying the floor after a water pipe burst!&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;Our spacious room (number 11)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4vSxqsyLI/AAAAAAAAAEY/KMWBxUDoIVw/s1600-h/r-bed.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_HwBqkm2KJn8/SO4vSxqsyLI/AAAAAAAAAEY/KMWBxUDoIVw/s400/r-bed.jpg" alt="" id="BLOGGER_PHOTO_ID_5255189814804531378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;The bed&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4vS3vplLI/AAAAAAAAAEg/c7MU8jrWvhA/s1600-h/r-shower.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4vS3vplLI/AAAAAAAAAEg/c7MU8jrWvhA/s400/r-shower.jpg" alt="" id="BLOGGER_PHOTO_ID_5255189816435905714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The bathroom fittings&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4vSwaNNCI/AAAAAAAAAEo/J-1xwddXSXM/s1600-h/r-storage.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4vSwaNNCI/AAAAAAAAAEo/J-1xwddXSXM/s400/r-storage.jpg" alt="" id="BLOGGER_PHOTO_ID_5255189814466917410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Cupboards and storage&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HwBqkm2KJn8/SO4vS5EvA0I/AAAAAAAAAEw/AttiiV2xy3E/s1600-h/r-work.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_HwBqkm2KJn8/SO4vS5EvA0I/AAAAAAAAAEw/AttiiV2xy3E/s400/r-work.jpg" alt="" id="BLOGGER_PHOTO_ID_5255189816792777538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The working wall&lt;br /&gt;&lt;/span&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/1352305136035831661-6898264169882728804?l=asymingt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asymingt.blogspot.com/feeds/6898264169882728804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1352305136035831661&amp;postID=6898264169882728804' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/6898264169882728804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/6898264169882728804'/><link rel='alternate' type='text/html' href='http://asymingt.blogspot.com/2008/10/some-pictures-of-our-house.html' title='Some pictures of our GTC accommodation'/><author><name>simmers</name><uri>http://www.blogger.com/profile/02468171413154805113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_HwBqkm2KJn8/SOCc3GyVe2I/AAAAAAAAABU/aONHXtpQsiQ/S220/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_HwBqkm2KJn8/SO4tFfDPpdI/AAAAAAAAADQ/8veVPkGpw3k/s72-c/o-front.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1352305136035831661.post-8234221860527348165</id><published>2008-09-30T22:40:00.017+02:00</published><updated>2008-10-01T10:26:03.212+02:00</updated><title type='text'>Miserable weather, bicycles and 33 St. Margarets</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SOKQRuUCQTI/AAAAAAAAACo/GyuZxLMhWZc/s1600-h/DSC03680.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 176px; height: 235px;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SOKQRuUCQTI/AAAAAAAAACo/GyuZxLMhWZc/s320/DSC03680.jpg" alt="" id="BLOGGER_PHOTO_ID_5251918749631660338" border="0" /&gt;&lt;/a&gt;Yesterday, the reality of the British weather hit. Kerry and I have had ridiculously sunny days since our arrival in Oxford. However, the clouds over Oxford yesterday loitered somewhere between "I'm about to rain" and "let's drizzle a little to catch those people out who didn't bring umbrellas". Thankfully, however, it was not cold.&lt;br /&gt;&lt;br /&gt;We decided to have lunch today at Green Templeton which, in hindsight, was a fantastic idea. Kerry, who is used to res meals, has become accustomed to fighting for scraps of oily food in a hall filled with hungry academics and little order to speak of. In contrast, Green Templeton had a chef, three course meal and a waiter to dish out food and clear plates. Oh my god - the opulence. Naturally, Kerry is loving every minute of it. In addition, the food was scrumptious and really cheap - it worked out to about £4 in total for soup and a cold meal for both of us!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HwBqkm2KJn8/SOKQRAfG_2I/AAAAAAAAACQ/loFQy3A0o2g/s1600-h/DSC03671.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 216px; height: 162px;" src="http://3.bp.blogspot.com/_HwBqkm2KJn8/SOKQRAfG_2I/AAAAAAAAACQ/loFQy3A0o2g/s320/DSC03671.jpg" alt="" id="BLOGGER_PHOTO_ID_5251918737330077538" border="0" /&gt;&lt;/a&gt;At lunch we met a few of the Oxford freshers. Sam and Vivec (have I spelled that correctly?), who are each studying Global Health and Pharmacology respectively are keen to join the College football club. I'm not sure if I'll be entitled to join them, but if I can it would be really great. Although Jackie, the MCR of Green Templeton, said that I might be eligible if I join pay common room fees. I shall investigate...&lt;br /&gt;&lt;br /&gt;After lunch we dashed off up the road to check out the inside of 33 St. Margarets (our home for the next year). Turns out there are 13 rooms and we are, in fact, on the top floor facing the back garden. The house has a laundry room and two large kitchens to share. Best of all, our en suite room is ridiculously spacious.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SOKQRFS8SDI/AAAAAAAAACY/a9OE7PTk_5E/s1600-h/DSC03673.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 228px; height: 304px;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SOKQRFS8SDI/AAAAAAAAACY/a9OE7PTk_5E/s320/DSC03673.jpg" alt="" id="BLOGGER_PHOTO_ID_5251918738621220914" border="0" /&gt;&lt;/a&gt;In the afternoon I visited Vicon to see where I'll probably be taking up an internship over the next 6 months. The offices are really great - there are lots of friendly people working with cool media equipment. I look forward to starting there next week.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Today we're going to Oxford University orientation in town. It starts at the examination rooms on Queen Street and we're not quite sure what exactly will happen. Thankfully, the weather seems to have picked up a bit.&lt;br /&gt;&lt;br /&gt;Last night our bikes arrived and we're both pretty keen to test them out. Since orientation begins at 8.30 this morning and we only have a basic familiarity with the Oxford road network, cycling through is a little out of the question.&lt;br /&gt;&lt;br /&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/1352305136035831661-8234221860527348165?l=asymingt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asymingt.blogspot.com/feeds/8234221860527348165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1352305136035831661&amp;postID=8234221860527348165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/8234221860527348165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/8234221860527348165'/><link rel='alternate' type='text/html' href='http://asymingt.blogspot.com/2008/09/so-oxford-really-isnt-ugly-place.html' title='Miserable weather, bicycles and 33 St. Margarets'/><author><name>simmers</name><uri>http://www.blogger.com/profile/02468171413154805113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_HwBqkm2KJn8/SOCc3GyVe2I/AAAAAAAAABU/aONHXtpQsiQ/S220/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_HwBqkm2KJn8/SOKQRuUCQTI/AAAAAAAAACo/GyuZxLMhWZc/s72-c/DSC03680.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1352305136035831661.post-2149292690851773974</id><published>2008-09-29T11:24:00.008+02:00</published><updated>2008-10-01T10:13:39.293+02:00</updated><title type='text'>Oxford, finally.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.sunnyseychellesvacations.com/airline/QatarAirways.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 111px; height: 111px;" src="http://www.sunnyseychellesvacations.com/airline/QatarAirways.jpg" alt="" border="0" /&gt;&lt;/a&gt;On Friday afternoon Kerry and I arrived (after a grueling 20+ hour trip via Johannesburg and Doha) at London Heathrow airport.  Qatar was an amazing airline - their legroom was substantial, service was excellent and food was both tasty and filling. Apart from the duration of the flight, pretty much everything else was A+.&lt;br /&gt;&lt;br /&gt;The day we arrived happened to be my mom's birthday, so that evening Adrian treated us to an incredible supper at an Italian restaurant in Headington. Both Kerry and I were so tired from all the traveling, we crashed very early and slept well that night.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HwBqkm2KJn8/SODDntSrOwI/AAAAAAAAACA/Hn4dPcrfFX0/s1600-h/IMG_4851.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 412px; height: 309px;" src="http://4.bp.blogspot.com/_HwBqkm2KJn8/SODDntSrOwI/AAAAAAAAACA/Hn4dPcrfFX0/s400/IMG_4851.JPG" alt="" id="BLOGGER_PHOTO_ID_5251412252454238978" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Green College&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;The next morning we travelled into Oxford to mainly smash some administrative chores, but also to see Kerry's college (Green Templeton) and where we'd be living for the next six months. Green College was incredible. The gardens were immaculately kept and the building screamed of Coloumbian druglord money. Even more impressive, however, was the residence at which we will be staying - a recently restored Victorian mansion with a HUGE back garden on St. Margarets Rd, a 10 minute walk from Oxford centre.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HwBqkm2KJn8/SOCgJXk3KfI/AAAAAAAAAB4/z4EuFvo9B0Q/s1600-h/DSC03656.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 415px; height: 310px;" src="http://3.bp.blogspot.com/_HwBqkm2KJn8/SOCgJXk3KfI/AAAAAAAAAB4/z4EuFvo9B0Q/s400/DSC03656.jpg" alt="" id="BLOGGER_PHOTO_ID_5251373248321890802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;St. Margarets Rd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;On Sunday Kerry ordered her first Mac, which we're both super excited about. It's so much cheaper buying it using the higher education discount - around £713 vs. £829 normally and £880 in South Africa. The UK apple store offers a &lt;span style="font-style: italic;"&gt;back to school &lt;/span&gt;deal, where you can effectively get an 8 GB iPod nano for free when you buy a Macbook, which is totally cool. Naturally, Kerry seized the offer and we should receive the bounty in the next week or so.&lt;br /&gt;&lt;br /&gt;As some of you might know, Oxford is a town dominated by cyclists. Owing to price of petrol and the fact that you cannot drive into central Oxford, it makes sense to use bicycles to get from one place to another.  Today both Kerry and I ordered "town bikes", which will be delivered today or tomorrow. These will give us both a little more freedom and excercise. Thankfully, the weather at the moment is great - we had a braai (yes a braai, not a barbeque) last night - so cycling should not be too hard on us!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1352305136035831661-2149292690851773974?l=asymingt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asymingt.blogspot.com/feeds/2149292690851773974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1352305136035831661&amp;postID=2149292690851773974' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/2149292690851773974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/2149292690851773974'/><link rel='alternate' type='text/html' href='http://asymingt.blogspot.com/2008/09/landed-in-oxford.html' title='Oxford, finally.'/><author><name>simmers</name><uri>http://www.blogger.com/profile/02468171413154805113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_HwBqkm2KJn8/SOCc3GyVe2I/AAAAAAAAABU/aONHXtpQsiQ/S220/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_HwBqkm2KJn8/SODDntSrOwI/AAAAAAAAACA/Hn4dPcrfFX0/s72-c/IMG_4851.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1352305136035831661.post-8296072308189476801</id><published>2008-06-29T00:40:00.009+02:00</published><updated>2008-06-29T02:07:01.090+02:00</updated><title type='text'>Networking/Wireless hardware</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://paininthetech.com/files/images/wrt54g.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 117px;" src="http://paininthetech.com/files/images/wrt54g.png" alt="" border="0" /&gt;&lt;/a&gt;Perhaps it is related to having a deep interest in the field of computing, but for a long time I have been fascinated by the arcane field of microelectronics. While I don't claim to have any real ability in this field, I have been known to brandish a soldering iron periodically. Perhaps my greatest claim to fame is using&lt;a href="http://en.wikipedia.org/wiki/JTAG"&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;JTAG&lt;/span&gt; &lt;/a&gt; to &lt;a href="http://www.freewebs.com/wrt54grevival/wrt54grevial.htm.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;debrick&lt;/span&gt; a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Linksys&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;WRT&lt;/span&gt;54G&lt;/a&gt; (see the picture on the left) after a bad firmware upgrade. &lt;a href="http://www.redbutton.co.za/"&gt;Red &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Butto&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.redbutton.co.za/"&gt;n&lt;/a&gt; eventually asked me to help me out with a few of their bricked devices, which is quite cool.&lt;br /&gt;&lt;br /&gt;Despite my very small bedroom, I have a remarkably large quantity of broken &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;ADSL&lt;/span&gt; routers, spare &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;WiFi&lt;/span&gt; access points and general electronic bits and pieces I have collected o&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ver&lt;/span&gt; the years. I accumulate it thinking "one day I'll get round to investigating this device", which seldom happens.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m-newera.co.za/images/4_ports_adsl_modem.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://www.m-newera.co.za/images/4_ports_adsl_modem.gif" alt="" border="0" /&gt;&lt;/a&gt;Over the years &lt;a href="http://www.telkom.co.za/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Telkom&lt;/span&gt;&lt;/a&gt; has managed, with the help of &lt;a href="http://www.marconisa.co.za/"&gt;Marconi SA&lt;/a&gt;, to coax unsuspecting &lt;s&gt;victims&lt;/s&gt; customers into purchasing various networking-related hardware. I made the unfortunate mistake of trying to upgrade the firmware of the &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;ADSL&lt;/span&gt; Router Pots&lt;/span&gt; product, after it kept dropping our connection. Despite following the instructions precisely and taking every precautionary measure, the upgrade failed and the router b0&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;rk&lt;/span&gt;3d.&lt;br /&gt;&lt;br /&gt;As any practicing geek would, I opened up the router and found out that it has a Motorola &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;XPC&lt;/span&gt;850&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;ZT&lt;/span&gt;50&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;BT&lt;/span&gt;&lt;/span&gt; microprocessor, whose &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;datasheet&lt;/span&gt; can be found &lt;a href="http://www.alldatasheet.com/view.jsp?Searchword=XPC850ZT50BT"&gt;here&lt;/a&gt;. Apparently, this is what the device is capable of doing:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;MPC&lt;/span&gt;850 is a versatile, one-chip integrated microprocessor and peripheral combination that can be used in a variety of controller applications, excelling particularly in communications and networking products. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;MPC&lt;/span&gt;850, which includes support for Ethernet, is speciﬁcally designed for cost-sensitive, remote-access, and telecommunications applications. It provides functions similar to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;MPC&lt;/span&gt;860, with system enhancements such as universal serial bus (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;USB&lt;/span&gt;) support and a larger (8-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Kbyte&lt;/span&gt;) dual-port RAM.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SGbGPO2ghhI/AAAAAAAAABA/j7A8fHcYN4Y/s1600-h/telkom-wi.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SGbGPO2ghhI/AAAAAAAAABA/j7A8fHcYN4Y/s200/telkom-wi.jpg" alt="" id="BLOGGER_PHOTO_ID_5217075183342355986" border="0" /&gt;&lt;/a&gt;Now, wouldn't it be awesome to do exactly what the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;OpenWRT&lt;/span&gt; /DD-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;WRT&lt;/span&gt; people did with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;WRT&lt;/span&gt;54G and leverage the power of a ultra lightweight Linux &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;kernel&lt;/span&gt; (perhaps based on &lt;a href="http://www.uclinux.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;uClinux&lt;/span&gt;&lt;/a&gt;) to build a small, custom firmware for this device. You could possibly revive the functionality of the device or even think of creative alternative uses (like for a robotics project of sorts).&lt;br /&gt;&lt;br /&gt;Another interesting device produced by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Telkom&lt;/span&gt;/Marconi team was/is the &lt;a href="http://www.marconisa.co.za/adslwifirouter.htm"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;ADSL&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;WiFi&lt;/span&gt; Router&lt;/a&gt; (see picture on the right). This router was kindly donated to me by my supervisor at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;UCT&lt;/span&gt;. As far as I can tell, it is based on the Conexant AccessRunner ARM microprocessor, which is commonly used in USB ADSL modems. There are a number of interesting unused header pins marked JU1 on the board - perhaps it's a JTAG, serial or (very unlikely) USB interface.&lt;br /&gt;&lt;br /&gt;One would be inclined to think that the ADSL Wifi Router makes use of an onboard or Mini-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;PCI&lt;/span&gt; wireless radio, like the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;Linksys&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;WRT&lt;/span&gt;54G. However, opening it up revealed a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;Senao&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;NL&lt;/span&gt;-2511CD Plus EXT2 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;cardbus&lt;/span&gt; card, based on the Prism 2.5 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;chipset&lt;/span&gt;.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HwBqkm2KJn8/SGbH0rJ38QI/AAAAAAAAABI/8ED8Koq4aPA/s1600-h/telkom-wii.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_HwBqkm2KJn8/SGbH0rJ38QI/AAAAAAAAABI/8ED8Koq4aPA/s200/telkom-wii.jpg" alt="" id="BLOGGER_PHOTO_ID_5217076926106562818" border="0" /&gt;&lt;/a&gt; The cool thing about &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_36"&gt;this&lt;/span&gt; cards is that, when they first came out, they were one of very few cards that could be switched to promiscuous mode to &lt;span style="font-style: italic;"&gt;sniff&lt;/span&gt; wireless traffic (you didn't have to be associated with an access &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_37"&gt;point&lt;/span&gt; to see the traffic). If I recall correctly, that was a prerequisite for &lt;a href="http://www.smallnetbuilder.com/content/view/24244/98/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;WEP&lt;/span&gt; cracking&lt;/a&gt;. Nowadays, there are plenty cards that can achieve this.&lt;br /&gt;&lt;br /&gt;On a side note, if you're planning to do some serious &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;wifi&lt;/span&gt; hardware purchasing soon, please take note of the following three points:&lt;ol&gt;&lt;li&gt;Try not to buy &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;pre&lt;/span&gt; standard 802.11n&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;IEEE&lt;/span&gt; 802.11n&lt;/span&gt; draft hardware. Firstly, it is not fully-guaranteed to operate with the final standard (it relies on firmware updates to fill in the missing gaps) and it really goes against what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;stadardisation&lt;/span&gt; tries to achieve as a whole.&lt;/li&gt;&lt;li&gt;The actual card manufacturer (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;Belkin&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;Linksys&lt;/span&gt;, Apple etc.) tends to count less than the radio &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;chipset&lt;/span&gt; manufacturer (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;Atheros&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;Broadcom&lt;/span&gt;, Intel, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;RaLink&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;Realtek&lt;/span&gt;, Prism etc.). Intel and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;Atheros&lt;/span&gt; have really good open source support.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I've worked with Broadcom, Atheros, Intel, Prism and Ralink hardware. I'd recommend either the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;Atheros or Intel&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;chipset&lt;/span&gt; over anything else. For Atheros the &lt;a href="http://www.madwifi.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;MadWiFi&lt;/span&gt;&lt;/a&gt; project provides a really good set of drivers for most cards (the modern ones tend to lag slightly). To check if a specific card is based on an Atheros chipset, check this &lt;a href="http://madwifi.org/wiki/Compatibility"&gt;compatibility list&lt;/a&gt;. &lt;a href="http://intellinuxwireless.org/"&gt;Here's a link&lt;/a&gt; with more information about Linux drivers for Intel's wireless cards.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I went a little off the topic there, so I'm going to steer straight back on course. I'd like to pursue hardware tinkering more seriously, so I'm appealing for more information on reputable forums or IRC channels where relatively new people to the field can exchange ideas and learn. Please leave a comment if you know of any resource for me. Thanks :o)&lt;br /&gt;&lt;div style="text-align: right;"&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/1352305136035831661-8296072308189476801?l=asymingt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asymingt.blogspot.com/feeds/8296072308189476801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1352305136035831661&amp;postID=8296072308189476801' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/8296072308189476801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/8296072308189476801'/><link rel='alternate' type='text/html' href='http://asymingt.blogspot.com/2008/06/networkingwireless-hardware.html' title='Networking/Wireless hardware'/><author><name>simmers</name><uri>http://www.blogger.com/profile/02468171413154805113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_HwBqkm2KJn8/SOCc3GyVe2I/AAAAAAAAABU/aONHXtpQsiQ/S220/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_HwBqkm2KJn8/SGbGPO2ghhI/AAAAAAAAABA/j7A8fHcYN4Y/s72-c/telkom-wi.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1352305136035831661.post-1128341502755663772</id><published>2008-06-28T21:51:00.011+02:00</published><updated>2008-06-28T23:55:55.420+02:00</updated><title type='text'>Part I: WiFi, DCF and performance issues</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HwBqkm2KJn8/SGad-jyy0jI/AAAAAAAAAAg/EIgyJF08Bis/s1600-h/nodes.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 202px; height: 160px;" src="http://1.bp.blogspot.com/_HwBqkm2KJn8/SGad-jyy0jI/AAAAAAAAAAg/EIgyJF08Bis/s320/nodes.JPG" alt="" id="BLOGGER_PHOTO_ID_5217030916441035314" border="0" /&gt;&lt;/a&gt;Right - as promised, today I shall attempt to explain what I have been doing for the last 18 months as part of my Master's research. My work is in the field of wireless networking and is, basically, a performance study of a channel access control protocol within &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;IEEE&lt;/span&gt; 802.11. More specifically, I am looking how this protocol performs in Internet access networks (like wireless Internet cafes etc.). In order to do this, I shall perform a number of experiments using a test network, kindly provided by research lab (there's a picture of it on the left.&lt;br /&gt;&lt;br /&gt;Imagine you put lots of people together in a room and tell them to talk. Normally, there is some form of structure to the conversation and people contend for speaking rights, usually by waiting until there is some idle time in the conversation. If everybody spoke at once, most of the chatter would be indiscernible from the chatter next to you.&lt;br /&gt;&lt;br /&gt;In single channel wireless networks things happen in the much same way. Computers contend for access to a shared wireless channel (they can't all just transmit when they want to) using some &lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;medium access control&lt;/span&gt;&lt;/span&gt; mechanism. There are two broad types of control - (1) contention-based and (2) contention-free. We've already looked at (1) above. In (2) the "conversation" is regulated by some central manager.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.e-cosmos.nl/cms/e107_images/newspost_images/wifi.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 53px;" src="http://www.e-cosmos.nl/cms/e107_images/newspost_images/wifi.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;IEEE&lt;/span&gt; 802.11 (you probably know this by it's commercial name, &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;WiFi&lt;/span&gt;&lt;/span&gt;) is a standard for wireless networks. Basically, it provides a guide for manufacturers so that they produce interoperable products; it would really suck if your laptop could only connect to certain wireless networks. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;IEEE&lt;/span&gt; 802.11 normally operates in one of the license-free channels in the 2.4 GHz or 5.2 GHz ISM bands. However, since &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Bluetooth&lt;/span&gt;, microwaves and some cordless phones also operate in this band, there's normally lots of interference to contend with. To illustrate this problem, here are two snapshots from a &lt;a href="http://www.metageek.net/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;WiSPY&lt;/span&gt; 2.4 GHz spectrum analyser&lt;/a&gt;. The first image shows a 30 second recording of near-perfect channel conditions - there is some mild activity on channels 6 and 12. In the second image I turned a microwave on... I think the image speaks for itself.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HwBqkm2KJn8/SGauDwdQfPI/AAAAAAAAAAw/KcxpgUcPZ4s/s1600-h/idle.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 245px; height: 145px;" src="http://4.bp.blogspot.com/_HwBqkm2KJn8/SGauDwdQfPI/AAAAAAAAAAw/KcxpgUcPZ4s/s320/idle.jpg" alt="" id="BLOGGER_PHOTO_ID_5217048597925756146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HwBqkm2KJn8/SGauRlcA11I/AAAAAAAAAA4/d8cY1-YYa1Y/s1600-h/microwave.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 244px; height: 146px;" src="http://3.bp.blogspot.com/_HwBqkm2KJn8/SGauRlcA11I/AAAAAAAAAA4/d8cY1-YYa1Y/s320/microwave.jpg" alt="" id="BLOGGER_PHOTO_ID_5217048835485914962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Technically,  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;IEEE&lt;/span&gt; 802.11 specifies both a contention-based and contention free mechanism to coordinate access to the channel, which they call &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;DCF&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PCF&lt;/span&gt;. However, some naughty companies fought over the "ambiguous" details of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;PCF&lt;/span&gt;, which resulted in it never being implemented in any products.&lt;br /&gt;&lt;br /&gt;Wireless radios have one major problem - you can't transmit and receive at the same time. Even if you could, the signal coming out your antenna would be so powerful that it would be difficult to hear any signal other than your own. Wired networks don't have this problem. In fact, you are able to detect and recover from errors much quicker in wired networks, because of this. In contrast, wireless networks use &lt;span style="font-style: italic;"&gt;collision avoidance&lt;/span&gt; strategies to try and limit the number of collisions that occur between stations.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;D&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HwBqkm2KJn8/SGah9794KPI/AAAAAAAAAAo/l3tETSiIyYk/s1600-h/basic.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 259px; height: 159px;" src="http://4.bp.blogspot.com/_HwBqkm2KJn8/SGah9794KPI/AAAAAAAAAAo/l3tETSiIyYk/s320/basic.jpg" alt="" id="BLOGGER_PHOTO_ID_5217035303796615410" border="0" /&gt;&lt;/a&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;CF&lt;/span&gt; is what most &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;WiFi&lt;/span&gt; networks use these days (see the figure on the right). In 2005 the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;IEEE&lt;/span&gt; made a cooler version called &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;HCF&lt;/span&gt;, but it's not used widely enough yet. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;DCF&lt;/span&gt; stands for the Distributed Coordination Function and it's quite a clever method of coordinating channel access. Without going into too much detail, all that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;DCF&lt;/span&gt; does is enforce a certain amount of waiting time before it attempts to transmit information. The random waiting time &lt;span style="font-style: italic;"&gt;x&lt;/span&gt;(0) is chosen uniformly in the integer range [0, 16] or [0, 32] depending on what type of hardware you have.  The station now counts down for x(0) ticks (the time of each tick is really small - either 9 or 20 microseconds, again depending on your hardware). If another station starts transmitting at any point this 'back-off counter' is suspended and resumes again when the channel is sensed idle.&lt;br /&gt;&lt;br /&gt;When the counter reaches zero the station tries to send the data. If, after a little bit of time, there is no response from the receiver the sender assumes that a collision took place. To recover from this, a new waiting time x(1) is chosen from an integer range that is double the size of the last one. The station then backs-off again for x(1) ticks and attempts to transmit. The integer range is doubled until it's size in 1024. Thereafter, it stays at that size until a maximum retry counter is met, which normally happens after 5 to 7 retries. If it collides on the last attempt the data is dropped - you have to really be stressing the network to get to this point!&lt;br /&gt;&lt;br /&gt;Naturally, this is only a brief intro to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;DCF&lt;/span&gt;. I haven't even talked about the inter-frame spaces (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;SIFS&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;PIFS&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;DIFS&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;EIFS&lt;/span&gt;), all of which are crucial to the operation of the protocol - they enforce a hierarchy of actions, &lt;span style="font-style: italic;"&gt;viz. &lt;/span&gt;they enforce DATA-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;ACK&lt;/span&gt; sequences complete before new DATA-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;ACK&lt;/span&gt; sequences start. There is also an optional four-way handshaking mechanism, in which a station sends a curt warning (called a request to send message, or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;RTS&lt;/span&gt;) to stations in the area warning about an upcoming transmission. The receiver immediately sends a brief clear to send message, or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;CTS&lt;/span&gt;, back. The extra two messages tell stations in the area to keep quiet for a while, so as not to crash the party.&lt;br /&gt;&lt;br /&gt;Now I could waffle on four hours about DCF (my remaining friends will vouch for that) but to cut straight to the chase - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;DCF&lt;/span&gt; adds lots of &lt;span style="font-style: italic;"&gt;overhead&lt;/span&gt; to the network. When combined with all the headers that are appended to messages, the random back-off process, control packets (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;ACK&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;RTS&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;CTS&lt;/span&gt;) and inter-frame spaces used in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;DCF&lt;/span&gt; eat a huge chunk out of your available network capacity. To give you an idea, modern &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;WiFi&lt;/span&gt; radios can transmit data at up to 54 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Mbps&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;megaBITS&lt;/span&gt; per second) and control packets at up to 24 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;Mbps&lt;/span&gt;. The absolute maximum performance you can get is heavily-dependent on the amount of data in each message. However, in typical cases a standard-abiding network will peak at around 45% efficiency. This means that your network will run at 24.3 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;Mbps&lt;/span&gt;, which is just over three &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;megaBYTES&lt;/span&gt; per second! Now this is shared amongst all users in the network. For example, an 800 MB &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;XviD&lt;/span&gt; movie will take 5 minutes to transfer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;accross&lt;/span&gt; a wireless network in these optimal conditions, which is significantly longer than on a regular wired network.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Storage : 1 Megabit = 1024 Kilobits = 1024 x 1024 bits&lt;br /&gt;Transmission : 1 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;Mbps&lt;/span&gt; = 1000 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;Kbps&lt;/span&gt; = 1000 x 1000 bits a second&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Now, hopefully you understand why wireless networks run so slowly when compared to their wireless counterparts. Although &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;IEEE&lt;/span&gt; 802.11n (an upcoming standard revision) promised to provide much faster transmit rates, the problem of channel coordination remains. I think it's clear why we need models to predict &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;IEEE&lt;/span&gt; 802.11 performance - deploying&lt;br /&gt;&lt;br /&gt;Up next in Part II : Modelling Wireless Internet Traffic&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1352305136035831661-1128341502755663772?l=asymingt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asymingt.blogspot.com/feeds/1128341502755663772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1352305136035831661&amp;postID=1128341502755663772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/1128341502755663772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/1128341502755663772'/><link rel='alternate' type='text/html' href='http://asymingt.blogspot.com/2008/06/part-i-wifi-dcf-and-performance-issues.html' title='Part I: WiFi, DCF and performance issues'/><author><name>simmers</name><uri>http://www.blogger.com/profile/02468171413154805113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_HwBqkm2KJn8/SOCc3GyVe2I/AAAAAAAAABU/aONHXtpQsiQ/S220/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_HwBqkm2KJn8/SGad-jyy0jI/AAAAAAAAAAg/EIgyJF08Bis/s72-c/nodes.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1352305136035831661.post-5194352048725052366</id><published>2008-06-27T12:11:00.004+02:00</published><updated>2008-06-29T02:10:05.176+02:00</updated><title type='text'>Time management and when to say "No, thanks"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.embeddedarm.com/products/board-pictures.php?product=TS-7800"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.embeddedarm.com/products/board-pictures.php?product=TS-7800" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'd like to start with an apology to all my computer science friends who will, no doubt, be rolling on the floor laughing at me as they read this. The reason I say this is that I am the ultimate anti-blog zealot, having once been quoted as saying&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The sum total content of blogs is a chronic misallocation of valuable terabytes of storage media and bandwidth.&lt;/blockquote&gt;&lt;br /&gt;My reasoning was straightforward - most blogs simply reveal another day in the life of somebody who loiters somewhere between "acquaintance" and "friend" to you. Also, it's another example of how technology and the Internet is making it to easy for all of us to cocoon... but that is a rant I will reserve for another day.&lt;br /&gt;&lt;br /&gt;My justification for adding my ten cents worth to the steaming pile of festering internet scrap is simple. Imperial College requires that I keep a textual record of my movement for the next three years in either a traditional "burn-down-the-amazon-rain-forest" (diary) or "leverage-the-power-of-mass-Internet-storage" (blog) form.  After years of computing my handwriting has deteriorated into something that looks more like hieroglyphics than English (even GPs would be impressed). I think my choice was obvious.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lakewoodconferences.com/direct/dbimage/50119360/Universal_Remote_Control.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 145px; height: 145px;" src="http://www.lakewoodconferences.com/direct/dbimage/50119360/Universal_Remote_Control.jpg" alt="" border="0" /&gt;&lt;/a&gt;I thought I'd begin my blog with a simple problem that I have had over the last two years - time management. During postgraduate study one is constantly bombarded with fascinating ideas, projects and, periodically, employment opportunities. In an ideal world one would be able to simply push the pause button on life's remote control and spend some "time" on something fun - for example, writing the Bayesian prediction engine for my Honours project. Unless somebody invents a remote control that could make a person or their surroundings travel really fast (~ the speed of light) we are forced to surrender to the sad fact that there is an opportunity cost to working on other projects. If I do not wish to join the &lt;span style="font-style: italic;"&gt;three year Master's plan&lt;/span&gt; reluctantly offered by the UCT Computer Science department, it is my duty to learn when to say "no, thanks".&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.embeddedarm.com/images/boards/large/ts-7800.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 145px;" src="http://www.embeddedarm.com/images/boards/large/ts-7800.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In addition to the chlorophyll project, I was recently offered an opportunity to work for a really cool Internet-based start-up in South Africa / London. Sadly, I had to decline the offer - it was clear that my time frame could not accommodate their project in addition to my Master's experimentation and write-up. This sacrifice was clearly not enough, so life threw a new-ish &lt;a href="http://www.nvidia.com/object/cuda_get.html"&gt;CUDA SDK&lt;/a&gt;, the &lt;a href="http://www.embeddedarm.com/products/board-detail.php?product=TS-7800"&gt;TS-7800 SBC&lt;/a&gt; (pictured right), DoTA (always), Battlestar Galactica and protein folding to distract me...&lt;br /&gt;&lt;br /&gt;OK - that's enough of an introduction. Of late, I seem to be getting many people asking me what my Master's work entails. In my next post I shall attempt to explain this in a funny and witty manner. I will probably fail dismally, as there is a finite and negligible amount of happiness that can be milked from IEEE 802.11 and internet workload modelling.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1352305136035831661-5194352048725052366?l=asymingt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asymingt.blogspot.com/feeds/5194352048725052366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1352305136035831661&amp;postID=5194352048725052366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/5194352048725052366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1352305136035831661/posts/default/5194352048725052366'/><link rel='alternate' type='text/html' href='http://asymingt.blogspot.com/2008/06/its-all-about-time-management-and.html' title='Time management and when to say &quot;No, thanks&quot;'/><author><name>simmers</name><uri>http://www.blogger.com/profile/02468171413154805113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_HwBqkm2KJn8/SOCc3GyVe2I/AAAAAAAAABU/aONHXtpQsiQ/S220/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
