<?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-27977196</id><updated>2011-04-21T21:14:12.782+01:00</updated><title type='text'>DexterTechWith</title><subtitle type='html'>The technical branch of &lt;a href="http://dextermixwith.blogspot.com/"&gt;DexterMixWith&lt;/a&gt; - containing techy notes, musings, comments etc. Largely relating to my work at &lt;a href="http://www.nep.co.uk/"&gt;NEP&lt;/a&gt;.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27977196.post-115960526301280765</id><published>2006-09-30T09:20:00.000+01:00</published><updated>2006-09-30T15:56:48.853+01:00</updated><title type='text'>Geeking-Up on RubyOnRails in MCR</title><content type='html'>&lt;p&gt;So here I am in Manchester at &lt;a href="http://manchesterdda.com/"&gt;MDDA&lt;/a&gt; for a (free) &lt;a href="http://geekup.org/rubyandrails/"&gt;training day&lt;/a&gt; on &lt;a href="http://www.rubyonrails.org/"&gt;Ruby and Rails&lt;/a&gt; - organised by those nice Geekup.org people. A few of them are familiar from my recent trip to d.Construct, so it'll be good to renew some acquantances. An early start, but the journey up up the train along the &lt;a href="http://en.wikipedia.org/wiki/Hope_Valley_Line"&gt;hope valley line&lt;/a&gt; was stunning - mist clearing, sun rising etc.&lt;/p&gt;&lt;p&gt;I've had a quick play with Rails, but haven't really dived into Ruby yet - the syntax looks a tad weird, but I think &lt;a href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt; has some Ruby-like stuff in it. So here goes...&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Tags : &lt;a href="http://technorati.com/tag/geekup" rel="tag"&gt;geekup&lt;/a&gt; &lt;a href="http://technorati.com/tag/manchester" rel="tag"&gt;manchester&lt;/a&gt; &lt;a href="http://technorati.com/tag/rubyonrails" rel="tag"&gt;rubonrails&lt;/a&gt;  &lt;a href="http://technorati.com/tag/rubyandrails06" rel="tag"&gt;rubyandrails06&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-115960526301280765?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/115960526301280765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=115960526301280765' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115960526301280765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115960526301280765'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/09/geeking-up-on-rubyonrails-in-mcr.html' title='Geeking-Up on RubyOnRails in MCR'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27977196.post-115832255137591090</id><published>2006-09-15T13:01:00.000+01:00</published><updated>2006-09-15T13:15:51.386+01:00</updated><title type='text'>Multi-Packing it in the Midlands!</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.multipack.co.uk/css/images/multipack.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width:" src="http://www.multipack.co.uk/css/images/multipack.png" border="0" alt="" /&gt;&lt;/a&gt;After grumbling to a few people at dConstruct that there didn't seem to be much web community activity in the Midlands, I've actually found a group called &lt;a href="http://www.multipack.co.uk/"&gt;Multipack&lt;/a&gt; from a story on &lt;a href="http://www.simonjobling.com/"&gt;Simon Jobling's&lt;/a&gt; rather neat site. They're meeting up in Wolverhampton on 14th October for a &lt;a href="http://upcoming.org/event/94708/"&gt;1st birthday social&lt;/a&gt; - so I guess it would be a bit rude not too...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-115832255137591090?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/115832255137591090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=115832255137591090' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115832255137591090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115832255137591090'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/09/multi-packing-it-in-midlands.html' title='Multi-Packing it in the Midlands!'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27977196.post-115826983717729508</id><published>2006-09-14T21:54:00.000+01:00</published><updated>2006-09-14T22:51:44.823+01:00</updated><title type='text'>I've been d.construct-ed (My trip to d.construct06) part 2 - APIs, Microformats (in the park) and Flex(ible) Mashups</title><content type='html'>&lt;p&gt;So, I'm back in the theatre after bumping into Craig Morey and co from Mindworks, slightly squashed in with my excessive luggage (damn - should've left everything in the cloakroom). Next.&lt;/p&gt;&lt;h3&gt;Web Services for Fun and Profit by &lt;a href="http://www.paulhammond.org/journal/"&gt;Paul Hammond&lt;/a&gt; and &lt;a href="http://simon.incutio.com/"&gt;Simon Willison&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6057/2192/1600/237634276_b2f9540fd5_m.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6057/2192/320/237634276_b2f9540fd5_m.jpg" border="0" alt="" /&gt;&lt;/a&gt;A pretty interesting and inspiring session looking at the what APIs are, what you can do with mash-ups. Largely from a Yahoo! perspective (not surprising since both the guys work there!) the talk was light on technical detail, but interesting in the way that Yahoo! approach this area of innovation - who days where developers get the chance to try out and show their ideas - great!&lt;/p&gt;&lt;p&gt;Perhaps more interesting was the Q &amp; A session afterwards - most interesting for me was the question of how to convince the big cheeses to free up their data and make it available through APIs. Still not sure there's a killer business arguement here - the normal ones are tend to run along the lines of "other people will scrape your site so you might as well make the data available - t'll cost you less, and you can keep an eye on them". I guess the best one (which is a bit more subtle, is the fact that (as long as you can ensure a path back through you site, like Amazon do) you could end up generating even more business by being ore open.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;The Joy of API by &lt;a href="http://www.adactio.com/"&gt;Jeremy Keith&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Continuing o neatly from Paul and Simon's talk, Jeremy Keith delivered an entertaining and inspiring talk going into a bit more depth about how to make a start on using and even building an API. Most interesting was his evangelistic take on &lt;a href="http://www.miroformats.org/"&gt;Microformats&lt;/a&gt;. I'd heard of Microformats before, but wasn't entirely clear about what they were - much less what to do with them. This was a good start, but then...&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Microformats Picnic&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6057/2192/1600/237635335_1fa9c55cc1_m.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6057/2192/320/237635335_1fa9c55cc1_m.jpg" border="0" alt="" /&gt;&lt;/a&gt;Following an invite from Mr.Keith (and after a quick dash for a bagel/sandwich/burger etc.) a pretty decent sized crowd gather in the pavillion gardens behind the Dome Theatre and in with the back drop of (guess what) the Pavillion. Laid back, but inspiring, and making the best of some great weather I learnt more.&lt;/p&gt;&lt;p&gt;Simply put, Microformats are a set of standards based on very smple semantic mark-up of XHTML to solve the problem of making it easily readable by external applications - a bit like an API!&lt;/p&gt;&lt;p&gt;It got me thinking - but more about that at a later date.&lt;/p&gt;&lt;p&gt;After lunch, things got even more interesting... that's in part 3&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-115826983717729508?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/115826983717729508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=115826983717729508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115826983717729508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115826983717729508'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/09/ive-been-dconstruct-ed-my-trip-to_14.html' title='I&apos;ve been d.construct-ed (My trip to d.construct06) part 2 - APIs, Microformats (in the park) and Flex(ible) Mashups'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27977196.post-115805432777975806</id><published>2006-09-12T10:45:00.000+01:00</published><updated>2006-09-12T10:45:27.790+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.technorati.com/claim/38rm7kfq2v" rel="me"&gt;Technorati Profile&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-115805432777975806?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/115805432777975806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=115805432777975806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115805432777975806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115805432777975806'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/09/technorati-profile.html' title=''/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27977196.post-115792638795757607</id><published>2006-09-10T22:45:00.000+01:00</published><updated>2006-09-11T11:19:14.220+01:00</updated><title type='text'>I've been d.construct-ed (My trip to d.construct06) part 1</title><content type='html'>&lt;p&gt;It's been about a day since I've returned from Brighton and I'm still slightly reeling from from the whirlwind of web-wonder that was &lt;a href="http://2006.dconstruct.org/"&gt;d.construct06&lt;/a&gt;. It was a great chance to meet a whole load of web people, drink, learn about some really interesting stuff (web related of course) and then meet more people and drink some more. What more could you ask for!&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/96/237510354_8fe51c5b05_m.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px;" src="http://static.flickr.com/96/237510354_8fe51c5b05_m.jpg" border="0" alt="" /&gt;&lt;/a&gt;It all started well with a pre-conference knees-up at the supperfiacially gothic "Heist" bar on Thursday. There, my comrade from NEP/A.N.D. Duncan and I met some great people within minutes - including &lt;a href="http://weblogs.asp.net/plip/"&gt;Phil Winstanley&lt;/a&gt;, &lt;a href="http://blogs.ipona.com/davids/"&gt;Dave Sussman&lt;/a&gt; and &lt;a href="http://macnewbie.wordpress.com/"&gt;Dave Verwer&lt;/a&gt;. For starters, most of them were Microsoft developers and mostly from up North! So, at a conference where the most common latop was an iBook/powerbook we weren't alone. We had a few beers and good gas about techy and non-techy things - including me blabing on about the wonders of &lt;a href="http://www.reveal-records.com/"&gt;Reveal Records&lt;/a&gt; (in Derby) and the mighty &lt;a href="http://www.tunng.co.uk/"&gt;Tunng&lt;/a&gt; - sorry guys! Even though I lightweight-ed and left pretty early I still woke up feeling pretty damn rough the next day!&lt;/p&gt;&lt;p&gt;So, we trundled round the corner to the &lt;a href="http://www.brightondome.org/"&gt;Corn Exchange&lt;/a&gt;, only to be met by a queue of eager "geeks" - some already clutching their goody bags. The anticipation mounted and the queues lengthened. When inside the pretty spatious, laden with the said bags of stuff and refreshed by tea/coffee the real thing started, so here's the real review:&lt;/p&gt;&lt;h3&gt;Session 1 : "Web Services: Fuelling Innovation and Entrepreneurship" by &lt;a href="http://2006.dconstruct.org/speakers/#barr"&gt;Jeff Barr&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;This was largely about the various &lt;a href="http://aws.amazon.com/"&gt;Amazon Web Services&lt;/a&gt;. Most notably:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2/104-2209861-5509559?ie=UTF8&amp;node=16427261&amp;no=3435361&amp;me=A36L942TSJ2AJA"&gt;The Amazon Simple Storage Service (Amazon S3)&lt;/a&gt; - Essentially a huge online, distributed binary storage facility that you can use to store almost anything and get it back easily.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Mechanical-Turk-AWS-home-page/b/ref=sc_fe_l_2/104-2209861-5509559?ie=UTF8&amp;node=15879911&amp;no=3435361&amp;me=A36L942TSJ2AJA"&gt;The Amazon Mechanical Turk&lt;/a&gt; - described as "Atificial Artificial Intelligence". The idea is that you have a task you want a real human to do, you submit it into the "turk", someone (anywhere in the world) does it, sends the results back, and (if you're happy) you pay them. Brilliant!&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/b/ref=sc_fe_l_2/104-2209861-5509559?ie=UTF8&amp;node=201590011&amp;no=3435361&amp;me=A36L942TSJ2AJA"&gt;Amazon Elastic Compute Cloud (Amazon EC2)&lt;/a&gt; - basicly, lots of computing power for hire.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Mr.Barr's session was pretty interesting, despite largely being a sales pitch for Amazon. It's unlikely many us there would have access to the raw computing power needed for applications at that scale, but there's a few possible ideas and a few wow's to be had in looking at them. Also, the brilliant &lt;a href="http://www.thesheepmarket.com/"&gt;Sheep Market&lt;/a&gt; project - a collection of 10,000 (count them!) drawings of sheep gathered using the Mechanical Turk!&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/88/237511181_bed84dd1d0_m.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px;" src="http://static.flickr.com/88/237511181_bed84dd1d0_m.jpg" border="0" alt="" /&gt;&lt;/a&gt;Whilst this was going on I managed to make use of the free wireless internet access to upload my first batch of pics to &lt;a href="http://www.flickr.com/photos/dexter_mixwith/tags/dconstruct06/"&gt;Flickr&lt;/a&gt;. &lt;a href="http://www.itwriting.com/blog/?postid=525"&gt;As has been noted elsewhere&lt;/a&gt; the laptop of choice was of the Apple brand - so I guess I was in the minority there! But it was great to have this facility.&lt;/p&gt;&lt;p&gt;So far, so good, and my head was starting to clear!&lt;/p&gt;&lt;p&gt;More fun in part 2 later...&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Technorati Tags : &lt;a href="http://technorati.com/tag/dconstruct06" rel="tag"&gt;dconstruct06&lt;/a&gt; &lt;a href="http://technorati.com/tag/web+2.0" rel="tag"&gt;web 2.0&lt;/a&gt; &lt;a href="http://technorati.com/tag/conference" rel="tag"&gt;conference&lt;/a&gt;  &lt;a href="http://technorati.com/tag/brighton" rel="tag"&gt;brighton&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-115792638795757607?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/115792638795757607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=115792638795757607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115792638795757607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115792638795757607'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/09/ive-been-dconstruct-ed-my-trip-to.html' title='I&apos;ve been d.construct-ed (My trip to d.construct06) part 1'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27977196.post-115791323821229634</id><published>2006-09-05T19:05:00.000+01:00</published><updated>2006-09-10T22:43:47.853+01:00</updated><title type='text'>innerHTML Concatenation Confusion!</title><content type='html'>&lt;p&gt;For a long time I've tended to do the majority of my DOM manipulation using the innerHTML properties on existing DIVs pre-placed into an HTML document. This seems to have been fine on the whole - and (I believe) can have some performance advantages.&lt;/p&gt;&lt;p&gt;However, recently, I've been building a paged "list view" widget thingamy to go along side a Google Map result display - i.e. plot the points on the map and list the results next to it too. I wanted to build up the list as a block of HTML added into a pre-existing DIV using statements of the style : &lt;/p&gt;&lt;br /&gt;&lt;cite&gt;&lt;br /&gt;$("myListDiv").innerHTML += "[the list control HTML]"; &lt;br /&gt;&lt;/cite&gt;&lt;br /&gt;&lt;p&gt;But I also thought I could use &lt;a href="http://prototype.conio.net/"&gt;Prototype's&lt;/a&gt; 'Insertion' class to insert certain blocks into the flow - in this case the div that contains the status information in the form "You are viewing page x of y" and the navigation links (the first/previous/next/last")&lt;/p&gt;&lt;p&gt;I tried for ages using &lt;a href="http://wiki.script.aculo.us/scriptaculous/show/Insertion.Top"&gt;Insertion.Top()&lt;/a&gt;, &lt;a href="http://wiki.script.aculo.us/scriptaculous/show/Insertion.Before"&gt;Insertion.Before()&lt;/a&gt;, &lt;a href="http://wiki.script.aculo.us/scriptaculous/show/Insertion.After"&gt;Insertion.After()&lt;/a&gt; etc. and the divs just kept appearing on the page in the same place.... grrrrrrrr!!!&lt;/p&gt;&lt;p&gt;Then I realised that if you use innerHTML concatination like this:&lt;/p&gt;&lt;br /&gt;&lt;cite&gt;&lt;br /&gt;$("myOuterDiv").innerHTML += "&amp;lt;div id=\"myInnerDiv\"&amp;gt;";&lt;br /&gt;$("myOuterDiv").innerHTML += "A whole load of content";&lt;br /&gt;$("myOuterDiv").innerHTML += "&amp;lt;/div&amp;gt;";&lt;br /&gt;&lt;/cite&gt;&lt;br /&gt;&lt;p&gt;The div I openned at the start automatically gets closed straight away by the browser's DOM engine - I didn't expect that! So, the easy way around that is to build up the HTML into a string, then concatenate this in using the '.inerHTML +=' way, everything is cool and groovy.&lt;/p&gt;&lt;p&gt;I guess this may be obvious, but it left me cursing Prototype for a while, and wondering whether I had the latest version.&lt;/p&gt;&lt;p&gt;On an asside to this I wonder why the &lt;a href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt; site still says the current version is only 1.4.0, when &lt;a href="http://script.aculo.us/"&gt;script.aculo.us&lt;/a&gt; uses at least version V1.5_rc5?!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-115791323821229634?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/115791323821229634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=115791323821229634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115791323821229634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115791323821229634'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/09/innerhtml-concatenation-confusion.html' title='innerHTML Concatenation Confusion!'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27977196.post-115692795041092390</id><published>2006-08-30T09:39:00.000+01:00</published><updated>2006-08-30T09:52:30.420+01:00</updated><title type='text'>One more Reason to Love Flickr!</title><content type='html'>&lt;p&gt;After buying out &lt;a href="http://www.geobloggers.com/"&gt;Geobloggers&lt;/a&gt; it seems like Yahoo! have done something really great with Dan Catt's "technology" for putting pictures on a map (i.e. &lt;a href="http://en.wikipedia.org/wiki/Geotagging"&gt;Geotagging&lt;/a&gt;).&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6057/2192/1600/FlickrMapScreenshot.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6057/2192/400/FlickrMapScreenshot.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;p&gt;Whilst &lt;a href="http://www.frappr.com/"&gt;frappr&lt;/a&gt; has been around for a while using the (supperior) Google Maps, Yahoo! seem to have been playing catch-up. However, now, by glueing this Geotagging concept into &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt; Flickr/Yahoo! now have a truelly awesome interface (following on from their truly great Organizr update earlier this year) that really makes Geotagging and browsing for Geotagged pictures fantasticly easy.&lt;/p&gt;&lt;p&gt;They seem to reeling from the sucess too - about &lt;a href="http://blog.flickr.com/"&gt;1.6m pictures Geotagging with 24hours&lt;/a&gt;! Having worked on mapping applications where data is being searched on spatially from very large databases (e.g. &lt;a href="http://www.housepricemaps.co.uk/"&gt;www.housepricemaps.co.uk&lt;/a&gt;) I know this is no mean feat! My only grumble is that the detail on Yahoo! maps is rubbish compared to Google maps for the UK - still can't have everything straight away.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-115692795041092390?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/115692795041092390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=115692795041092390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115692795041092390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/115692795041092390'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/08/one-more-reason-to-love-flickr.html' title='One more Reason to Love Flickr!'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27977196.post-114831251587070619</id><published>2006-05-22T16:24:00.000+01:00</published><updated>2006-05-22T16:53:11.546+01:00</updated><title type='text'>Prototype Number Extension doesn't mix well with GMap2!</title><content type='html'>&lt;p&gt;Ok so here's my starter for 10...&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It's no doubt about it, prototype javascript library makes coding javascript applications much much easier. However, I've notice a few people grumbling about how it extends base Javascript types (like &lt;span style="font-style: italic;"&gt;Object&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;Number&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;Array &lt;/span&gt;etc.). It's not been a problem for me until now. I've recently been updating the Google mapping code for a project I'm working on so it works with the v2 release of the Google Maps API. There's some pretty major changes (like proper Lat/Long points with the ordinals the right way round!) One thing I hadn't spotted though was the fact that the new &lt;span style="font-style: italic;"&gt;.setCenter() &lt;/span&gt;method on the &lt;span style="font-style: italic;"&gt;GMap2&lt;/span&gt; class is "type safe" - or should I say "type fussy"(?). So my code, that reads a set of query string values (lattude, longitude, zoom level and a few others). It looks a bit like this:&lt;/p&gt;&lt;pre&gt;http://www.mymappingsite.co.uk/map.aspx?lat=52.921&amp;lng=-1.473&amp;amp;z=11&lt;/pre&gt;&lt;p&gt;So this should send the map to: Latitude of 52.921, Longitude of -1.473 and Zoom level 11 (on the new scale).&lt;/p&gt;&lt;p&gt;That worked fine before, but now send the map off to zoom level 0 (now the furthest away).&lt;/p&gt;&lt;p&gt;To get the querystring parameters I'm using some code a bit like this:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; // Create an object to hold the parameters&lt;br /&gt; var params = new Object();&lt;br /&gt; ...&lt;br /&gt; // Use the prototype library method toQueryParams() to extract the values&lt;br /&gt; // into the holder object&lt;br /&gt; params = location.search.toQueryParams();&lt;br /&gt; ...&lt;br /&gt; // Read in intial parameters&lt;br /&gt; if (params.lat &amp;&amp;amp; params.lng) {&lt;br /&gt;   initialCentre = new GLatLng(params.lat.valueOf(), params.lng.valueOf());&lt;br /&gt; }&lt;br /&gt; if (params.z != null) initialZoomLevel = params.z.valueOf();&lt;br /&gt; ...&lt;br /&gt; // Create the map (GMap2 object) and set it's centre and zoom level&lt;br /&gt; myMap = new GMap2("myMapDiv");&lt;br /&gt; myMap.setCenter(initialCentre, initialZoomLevel);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;What was happening (as I eventually worked out grrrrr...) was that the &lt;span style="font-style: italic;"&gt;setCenter() &lt;/span&gt;method checks the type of the zoom level to make sure it's a primitive &lt;span style="font-style: italic;"&gt;number &lt;/span&gt;type. In our case, because prototype uses it's &lt;span style="font-style: italic;"&gt;Object.extend()&lt;/span&gt; method to extend the Javascript &lt;span style="font-style: italic;"&gt;Number &lt;/span&gt;base class, when the &lt;span style="font-style: italic;"&gt;typeof &lt;/span&gt;check is done, it returns "object" and not "number" as required - therefore it rejects my value and goes for 0 instead.&lt;/p&gt;&lt;p&gt;Now, how to fix it? Well you can't "cast" objects at all in JavaScript, let alone cast this one back to a primitive number - as I dicovered. However you can use the &lt;span style="font-style: italic;"&gt;valueOf() &lt;/span&gt;method to extract out the original primitive value of the object - i.e. in this case a "number".&lt;/p&gt;&lt;p&gt;So I changed the last bit to something more like this:&lt;/p&gt;&lt;pre&gt;&lt;br /&gt; initialZoomLevel = new Number(zoomLevel);&lt;br /&gt; myMap = new GMap2("myMapDiv");&lt;br /&gt; myMap.setCenter(initialCentre, initial.valueOf());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Easy - but not obvious, I thought.&lt;/p&gt;&lt;p&gt;I wonder if this a new strategy by those clever people at Google maps - type safe paramaters anyone?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27977196-114831251587070619?l=dextertechwith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dextertechwith.blogspot.com/feeds/114831251587070619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27977196&amp;postID=114831251587070619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/114831251587070619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27977196/posts/default/114831251587070619'/><link rel='alternate' type='text/html' href='http://dextertechwith.blogspot.com/2006/05/prototype-number-extension-doesnt-mix.html' title='Prototype Number Extension doesn&apos;t mix well with GMap2!'/><author><name>John</name><uri>http://www.blogger.com/profile/01375667255800046199</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
