<?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:blogger='http://schemas.google.com/blogger/2008' 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-875457922584169320</id><updated>2021-04-10T23:28:36.225+12:00</updated><category term="dojo"/><category term="gsoc2008"/><category term="IP"/><category term="OLPC"/><category term="Wellington"/><category term="aws"/><category term="barcamp"/><category term="barcampauck07"/><category term="broadband"/><category term="futureintech"/><category term="ghop"/><category term="gsoc"/><category term="kiwifoo08"/><category term="koordinates"/><category term="learning"/><category term="nzwc"/><category term="open source"/><category term="oss"/><category term="selenium"/><category term="students"/><category term="testing"/><category term="web1.0"/><category term="web2.0"/><category term="webstock08"/><title type='text'>Rob Coup - the rest is missing</title><subtitle type='html'>Musings of a kiwi geek on technology and life.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.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>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-3285332182832010745</id><published>2008-06-29T22:21:00.009+12:00</published><updated>2008-06-30T12:47:12.852+12:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="ghop"/><category scheme="http://www.blogger.com/atom/ns#" term="gsoc"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="oss"/><category scheme="http://www.blogger.com/atom/ns#" term="students"/><title type='text'>Fame and Fortune from Open Source Development</title><content type='html'>In May I presented to students and staff from the University of Auckland as part of the &lt;a href=&quot;http://www.ece.auckland.ac.nz/&quot;&gt;Electrical and Computer Engineering&lt;/a&gt; seminar series. What was I talking about? Getting involved in open source software - why would you want to? how to get started? and what to expect once you&#39;re there.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;width: 425px; text-align: left;&quot; id=&quot;__ss_491116&quot;&gt;&lt;object style=&quot;margin: 0px;&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=uoaoss-1214736136824638-8&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=uoaoss-1214736136824638-8&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/?src=embed&quot;&gt;&lt;img src=&quot;http://static.slideshare.net/swf/logo_embd.png&quot; style=&quot;border: 0px none ; margin-bottom: -5px;&quot; alt=&quot;SlideShare&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.slideshare.net/rcoup/fame-and-fortune-from-open-source-491116?src=embed&quot; title=&quot;View Fame and Fortune from Open Source on SlideShare&quot;&gt;View&lt;/a&gt; | &lt;a href=&quot;http://www.slideshare.net/upload?src=embed&quot;&gt;Upload your own&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As usual, the slides would be a lot more helpful with some words to go along with it :) Basically I talked about my experiences with a number of open source projects, and particularly my work with the &lt;a href=&quot;http://www.dojotoolkit.org/&quot;&gt;Dojo Toolkit&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Google&#39;s &lt;a href=&quot;http://code.google.com/soc/&quot;&gt;Summer of Code&lt;/a&gt; and &lt;a href=&quot;http://code.google.com/opensource/ghop/&quot;&gt;Highly Open Participation&lt;/a&gt; programmes have been a fantastic source of new contributors to open source, and at Dojo we&#39;ve been lucky to be involved for the last three years with Summer of Code. GHOP last year showed what a huge range of relatively easy things can be done to make an open source project better and just how many ways there are to get involved.&lt;br /&gt;&lt;br /&gt;A few of us have been gently pushing for ECE to get software students to work on open source for their final-year undergraduate projects where it makes sense. This year there are two students adding new features to the &lt;a href=&quot;http://playerstage.sourceforge.net/&quot;&gt;Player/Stage&lt;/a&gt; robotics project, and it was interesting to talk to them after the seminar and find out how they&#39;d been getting along and what issues they&#39;d run into.&lt;br /&gt;&lt;br /&gt;Key things out of all this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;projects &lt;span style=&quot;font-weight: bold;&quot;&gt;want&lt;/span&gt; new contributors&lt;/li&gt;&lt;li&gt;the best way to get started is to &lt;span style=&quot;font-weight: bold;&quot;&gt;do&lt;/span&gt; something&lt;/li&gt;&lt;li&gt;there are a pile of ways to get involved, of which coding is only one&lt;/li&gt;&lt;li&gt;what you get out is proportional to what you put in&lt;/li&gt;&lt;li&gt;anyone can do it, especially you :)&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/3285332182832010745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=3285332182832010745' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/3285332182832010745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/3285332182832010745'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2008/06/fame-and-fortune-from-open-source.html' title='Fame and Fortune from Open Source Development'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-8174618257934048392</id><published>2008-06-29T20:57:00.009+12:00</published><updated>2008-06-30T12:46:56.955+12:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="futureintech"/><category scheme="http://www.blogger.com/atom/ns#" term="koordinates"/><category scheme="http://www.blogger.com/atom/ns#" term="web1.0"/><category scheme="http://www.blogger.com/atom/ns#" term="web2.0"/><title type='text'>Web 2? Web 1? What does it mean?</title><content type='html'>Back in March (yeah, I know) I got invited to do a presentation to a group of high school technology students at &lt;a href=&quot;http://www.avcol.school.nz/&quot;&gt;Avondale College&lt;/a&gt;. So, I decided to talk to about Web 2.0 and why it matters, and what the big deal is anyway. Specifically what the differences between 1.0 and 2.0, and what it practically means for students, as well a company like &lt;a href=&quot;http://koordinates.com/&quot;&gt;Koordinates&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;width: 425px; text-align: left;&quot; id=&quot;__ss_491118&quot;&gt;&lt;object style=&quot;margin: 0px;&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=futureintech-avondalecollege-mar2008-1214736158505214-8&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=futureintech-avondalecollege-mar2008-1214736158505214-8&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/?src=embed&quot;&gt;&lt;img src=&quot;http://static.slideshare.net/swf/logo_embd.png&quot; style=&quot;border: 0px none ; margin-bottom: -5px;&quot; alt=&quot;SlideShare&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.slideshare.net/rcoup/changing-of-the-web-491118?src=embed&quot; title=&quot;View Changing of the Web on SlideShare&quot;&gt;View&lt;/a&gt; | &lt;a href=&quot;http://www.slideshare.net/upload?src=embed&quot;&gt;Upload your own&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The slides are best when they go along with the talk, but hey :) I thought it went really well, and I got some really good questions.&lt;br /&gt;&lt;br /&gt;I spend a few minutes afterwards talking more closely to one of the senior classes. The students were working on the process of technology development projects, and we talked about how we work at Koordinates. I was a little disappointed (but not surprised) that the waterfall model is the standard still being taught, and nobody knew what agile was. At Koordinates we do cycles of 1-2 weeks for decent sized work, and we&#39;re releasing code every day or two for bug fixes and minor tweaks. It is much easier for us to manage, design, code, test, and deploy many small changes than massive changes that affect everything. In fact, the more changes that stack up the itchier we get to push it out to production. To support all this we&#39;ve built and tied together a bunch of tools so it is damn simple to push changes between the different environments in controlled ways.&lt;br /&gt;&lt;br /&gt;The talk was part of &lt;a href=&quot;http://www.futureintech.org.nz/&quot;&gt;FutureInTech&lt;/a&gt;, a programme run by the &lt;a href=&quot;http://www.ipenz.org.nz/&quot;&gt;Institute of Professional Engineers&lt;/a&gt;, aiming to get students of all ages interested in science and technology as career options by involving young engineers. The regional facilitators do a really great job getting all sorts of people into schools to talk and work on projects. If you&#39;re interested in talking or getting someone into your school, &lt;a href=&quot;http://www.futureintech.org.nz/initiatives-facilitators.cfm&quot;&gt;get in touch&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/8174618257934048392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=8174618257934048392' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/8174618257934048392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/8174618257934048392'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2008/06/web-2-web-1-what-does-it-mean.html' title='Web 2? Web 1? What does it mean?'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-744139481522111299</id><published>2008-04-21T20:08:00.006+12:00</published><updated>2008-04-21T20:27:21.974+12:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="gsoc2008"/><title type='text'>Dojo from the Air</title><content type='html'>While I&#39;m sitting here 35,000 feet above the Tasman I thought it&#39;d be a good time to update you all on the goings on in the world of Dojo from my point of view.&lt;br /&gt;&lt;span style=&quot;font-size:180%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;span style=&quot;font-size:180%;&quot;&gt;1.1!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Dojo released 1.1 after a lot of hard work. The team worked really hard to get this release out, and it adds a lot of polish to 1.0 and a number of cool new features. Some quick snippets from me:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;dojo.attr()&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;We now have a smooth &amp;amp; nice way to access attributes on DOM elements, normalising access much in the way dojo.style() does. And, just like dojo.style() can now, if you pass in an object as the name, it&#39;ll set a bunch of attributes for you in one go:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;blockquote&gt;&lt;br /&gt;// get the current value of the &quot;foo&quot; attribute on a node&lt;br /&gt;dojo.attr(dojo.byId(&quot;nodeId&quot;), &quot;foo&quot;);&lt;br /&gt;&lt;br /&gt;// we can just pass the id:&lt;br /&gt;dojo.attr(&quot;nodeId&quot;, &quot;foo&quot;);&lt;br /&gt;&lt;br /&gt;// use attr() to set the tab index&lt;br /&gt;dojo.attr(&quot;nodeId&quot;, &quot;tabindex&quot;, 3);&lt;br /&gt;&lt;br /&gt;// set multiple values at once, including event handlers:&lt;br /&gt;dojo.attr(&quot;buttonId&quot;, {&lt;br /&gt; &quot;name&quot;: &quot;myButton&quot;,&lt;br /&gt; &quot;value&quot;: &quot;123&quot;,&lt;br /&gt; &quot;onclick&quot;: function(e){&lt;br /&gt;     // an onclick handler connected via dojo.connect()&lt;br /&gt; }&lt;br /&gt;});&lt;/blockquote&gt;&lt;/pre&gt;&lt;a href=&quot;http://api.dojotoolkit.org/&quot;&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;api.dojotoolkit.org&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Our API browser is back, newer and better. You can search and browse all the code in Dojo, see method arguments and examples, and dig into the code if necessary. And when you figure out a tip you can comment in the appropriate place to help others out. We think this is a fantastic addition, and I&#39;ve been using it on a daily basis for a while now.&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;br /&gt;dojox.help&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Not really part of 1.1, but happened about the same time. The talented Neil Roberts whipped up an awesome demo based on some &lt;a href=&quot;http://dojocampus.org/content/?p=62&quot;&gt;suggestions from a dojo cookie&lt;/a&gt;. Basically it accesses the API site live and allows you to get method arguments and descriptions directly in Firebug. I often get some code semi-working and test and experiment using the Firebug console while I finalise it, so this is a real boon.&lt;br /&gt;&lt;br /&gt;Let&#39;s have a go:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;load &lt;a href=&quot;http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/help/demos/demo_Console.html&quot;&gt;this page&lt;/a&gt; in Firefox with Firebug enabled&lt;/li&gt;&lt;li&gt;in the Firebug console, type the following:&lt;ul style=&quot;font-family: courier new;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;dojo.require(&quot;dojox.help.console&quot;)  // loads the help infrastructure&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;dojo.attr  // prints the method arguments for dojo.attr()&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;dojo.attr.help()  // prints the method description, examples, etc&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;revel in its coolness, dig in if you&#39;re using trunk, or wait patiently for it to appear in 1.2&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-size:180%;&quot;&gt;Summer of Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On Monday the Summer of Code students for 2008 will be announced. Dojo received a huge pile of great applications, and we had a really hard time evaluating and ranking them. Unfortunately the funding isn&#39;t infinite and neither is our mentoring capacity, so we&#39;ve chosen what we think is a pretty exciting mix of projects. More to follow next week after the announcements!&lt;br /&gt;&lt;br /&gt;The coding exercise we set went down pretty well. I suspect many of the students spent a lot more time on it than we asked, but there are some damn cool demos in there, which I&#39;ll try to show off over the next few weeks. Next year we&#39;ll try something a little more focussed, but its actually fairly tricky to think up the right balance.&lt;br /&gt;&lt;br /&gt;Anyway, time to land now. Better be off. :)</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/744139481522111299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=744139481522111299' title='65 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/744139481522111299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/744139481522111299'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2008/04/dojo-from-air.html' title='Dojo from the Air'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>65</thr:total></entry><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-4003182202272588769</id><published>2008-03-18T18:58:00.004+13:00</published><updated>2008-03-18T20:55:06.149+13:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="gsoc2008"/><title type='text'>Prepping for the Summer of Code</title><content type='html'>So, it was announced today that &lt;a href=&quot;http://dojotoolkit.org/&quot;&gt;Dojo&lt;/a&gt; will be part of the &lt;a href=&quot;http://code.google.com/soc/2008/&quot;&gt;Google Summer of Code&lt;/a&gt; in 2008. w00t! For students, you get a modest amount of fortune (US$4500) and some degree of fame (TBA), and Dojo gets your nice shiny code. This is our third year and the second time I&#39;ve been involved. Looking at the quality of some of the applications that &lt;span style=&quot;font-style: italic;&quot;&gt;didn&#39;t&lt;/span&gt; make it this year, I&#39;m a little scared that we only just scraped in.&lt;br /&gt;&lt;br /&gt;Since the &lt;a href=&quot;http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline&quot;&gt;programme&lt;/a&gt; was announced on 25 February, we&#39;ve achieved quite a bit, so I thought I&#39;d jot it down:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Figured out who&#39;s organising it: me, since I volunteered again ;)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Thought about what was good and bad from 2007 and 2006 and what we&#39;d change&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Write up a pile of documentation:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;An &lt;a href=&quot;http://www.dojotoolkit.org/book/summer-code-2008&quot;&gt;overview of SoC and Dojo&lt;/a&gt; for mentors and students&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A &lt;a href=&quot;http://www.dojotoolkit.org/book/summer-code-2008/student-faqs&quot;&gt;FAQ for students&lt;/a&gt; about what we and they should expect&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Created our &lt;a href=&quot;http://www.dojotoolkit.org/book/summer-code-2008/summer-code-project-ideas&quot;&gt;project ideas list&lt;/a&gt; - basically we need to list some projects we think are both interesting and achievable by a new student in a couple of months. This involved a huge brain dump from me, followed by trying to herd our contributors into reviewing it and adding their own ideas, notes, and corrections. We&#39;ve got some pretty good stuff down, but I know there&#39;s more great ideas out there still.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Posted to the blog and our mailing lists &lt;a href=&quot;http://dojotoolkit.org/2008/03/06/summer-code-here&quot;&gt;looking for mentors and more ideas&lt;/a&gt;. We&#39;re trying to get 2 mentors per student this year, with one from the &quot;core&quot; Dojo team and someone else from the Dojo community who wants to get more involved - we have a lot of smart &amp;amp; talented people and we want to pull them closer.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Answered a pile of emails, forum posts, IRC, and IM conversations with students and potential mentors.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Wrote our application to Google. Only 175 out of 505 organisations have been accepted, so it needed to be good.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Wrote a &lt;a href=&quot;http://www.dojotoolkit.org/book/summer-code-2008/dojo-coding-test&quot;&gt;coding test &lt;/a&gt;- shamelessly ripping off the idea from my good friends at &lt;a href=&quot;http://silverstripe.com/&quot;&gt;SilverStripe&lt;/a&gt; we decided that our students should do something practical as part of their application too. Still some more tweaking to do there too.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;That took until this morning. Phew. What&#39;s next?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Start matching enquiries to mentors&lt;/li&gt;&lt;li&gt;Hassle some more of the core committers to get involved&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Figure out how we&#39;re going to deal with version control &amp;amp; ticketing for the SoC projects&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sketch out our mentor &#39;teams&#39; and fill in any gaps&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Decide how many projects we can handle&lt;/li&gt;&lt;li&gt;Keep on top of the emails and other enquiries&lt;/li&gt;&lt;/ul&gt;Student applications start flowing in on the 24th, then they need to be reviewed and voted on by the 11th. Then I can relax for a bit (unless I end up mentoring a project as well) and just make sure everyone is communicating and making progress. Until evaluation-time.</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/4003182202272588769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=4003182202272588769' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/4003182202272588769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/4003182202272588769'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2008/03/prepping-for-summer-of-code.html' title='Prepping for the Summer of Code'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-6619631699096105918</id><published>2008-02-22T01:16:00.005+13:00</published><updated>2008-02-25T20:24:50.655+13:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aws"/><category scheme="http://www.blogger.com/atom/ns#" term="broadband"/><category scheme="http://www.blogger.com/atom/ns#" term="kiwifoo08"/><category scheme="http://www.blogger.com/atom/ns#" term="nzwc"/><category scheme="http://www.blogger.com/atom/ns#" term="webstock08"/><category scheme="http://www.blogger.com/atom/ns#" term="Wellington"/><title type='text'>February in NZ Tech - KiwiFoo, Webstock, Amazon...</title><content type='html'>So I&#39;m both late and lazy getting around to my writeups!&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://baacamp.org/&quot;&gt;KiwiFoo&lt;/a&gt; was awesome! So many interesting people, and everyone was open for sharing and discussing - the corporate walls were down for a couple of days. I was involved in some great sessions - both issues I&#39;m passionate about - open government data, student internships, IE8, developing OSS communities; and stuff that was just plain interesting - Meraki, getting Internet to Puhoi library, blog ads.  There was a bit of linux-ness (Toby trying to use my Macbook for his 3D augmented reality demo didn&#39;t go as smoothly as we&#39;d hoped), and hundreds of chats with like-minded and interesting folk. The weather was great (even a bit of cricket on Saturday night), and the venue and food was top notch. Nat may have gotten us there, but Jenine made everything work, and we appreciate it!&lt;br /&gt;&lt;br /&gt;Last week was &lt;a href=&quot;http://webstock.org.nz/&quot;&gt;Webstock&lt;/a&gt;, and 3 of us took the trip to Wellington. &lt;a href=&quot;http://simonwillison.net/&quot;&gt;Simon Willison&#39;s&lt;/a&gt; session on &lt;a href=&quot;http://openid.net/&quot;&gt;OpenID&lt;/a&gt; was great - particularly how Sun has OpenID identities for each of its 34K employees. For SaaS applications, especially cross-company collaborative ones, this is fantastic. The authentication stays inside each person&#39;s &#39;home&#39; company, but any service anywhere can easily utilise it, and thats just the first benefit. Microsoft: add an OpenID provider to Windows Server!&lt;br /&gt;&lt;br /&gt;Lots of other memorable stuff, but &lt;a href=&quot;http://blogs.msdn.com/nigel/&quot;&gt;Nigel Parker&#39;s&lt;/a&gt; 5 minutes on online privacy in social networks had lots of peoples eyebrows climbing up their foreheads. And as he said, for his daughter he&#39;s making decisions about whether and where she&#39;ll be online before she knows what online is. It&#39;s standard for me to drop names of people into Google to see what comes up and what I can find out about their backgrounds and involvements - and not just job applicants, but any business or personal contact.&lt;br /&gt;&lt;br /&gt;Heading down to the Brewery Bar on the waterfront on Thursday evening for a few beers outside was great, especially with the background sounds of Phoenix Foundation&#39;s gig up the road. Thanks again to Mike, Tash, Siggy and the others for your hard work!  And to the &lt;a href=&quot;http://blog.projectxtech.com/&quot;&gt;ProjectX&lt;/a&gt; and &lt;a href=&quot;http://www.makeithappenhq.com/&quot;&gt;PlanHQ&lt;/a&gt; folks for hanging with us visitors :)&lt;br /&gt;&lt;br /&gt;This morning I was at Mike Culver&#39;s presentation on &lt;a href=&quot;http://aws.amazon.com/&quot;&gt;Amazon Web Services&lt;/a&gt; put on by the &lt;a href=&quot;http://www.csi.ac.nz/&quot;&gt;UoA Centre for Software Innovation&lt;/a&gt;. A good mix of people who quickly grasped the issues. AWS makes it &lt;span style=&quot;font-weight: bold;&quot;&gt;so&lt;/span&gt; easy for US businesses to get off the ground without investing huge amounts in infrastructure and the ops to make it work. The problem from this (and other) ends of the world is international bandwidth costs. As far as I&#39;m concerned, the NZ government should be bending over backwards to get the likes of Amazon to set up here to help our software startups get up and running and growing (as should every other government, but they&#39;re not mine). Mike&#39;s talk in Wellington went well too, so at least he knows we&#39;re all enthusiastic.&lt;br /&gt;&lt;br /&gt;Only downside: another mention from an international guest of how NZs broadband is sucky and expensive. &lt;a href=&quot;http://www.drury.net.nz/2008/02/20/internet-quality-is-part-of-our-brand/&quot;&gt;As Rod said, this is our national reputation to global influencers.&lt;/a&gt; Not good.</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/6619631699096105918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=6619631699096105918' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/6619631699096105918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/6619631699096105918'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2008/02/february-in-nz-tech-kiwifoo-webstock.html' title='February in NZ Tech - KiwiFoo, Webstock, Amazon...'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-2868555425851939373</id><published>2008-02-22T00:25:00.006+13:00</published><updated>2008-02-22T01:09:53.502+13:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IP"/><category scheme="http://www.blogger.com/atom/ns#" term="learning"/><category scheme="http://www.blogger.com/atom/ns#" term="OLPC"/><title type='text'>Children, Lego, OLPC, and IP</title><content type='html'>So, I stumbled across an &lt;span style=&quot;font-style: italic;&quot;&gt;absolutely fascinating&lt;/span&gt; article care of Nat&#39;s &lt;a href=&quot;http://feeds.feedburner.com/%7Er/oreilly/radar/atom/%7E3/238718145/radar-roundup-2.html&quot;&gt;Radar&lt;/a&gt; roundup: &lt;a href=&quot;http://www.rethinkingschools.org/archive/21_02/lego212.shtml&quot;&gt;Why We Banned Legos&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, I grew up in a Lego-mad house. It&#39;s probably one reason why both my brother Mikey and I are working in engineering-related fields. For years and years we had Lego structures and contraptions erected around the house, and one of my very first memories is playing with Lego with my cousin Hamish. Mikey and I had wars about lots of stuff as we grew up, but and I&#39;m sure more than one was about Lego - I&#39;ll have to ask Mum.&lt;br /&gt;&lt;br /&gt;I read this article just after reading &lt;a href=&quot;http://www.plasticbag.org/archives/2008/02/on_the_olpc_movement/&quot;&gt;Tom Coates&#39; review of OLPC&lt;/a&gt;, and that sparked some thoughts. The Legotown issues are about access to physical property - Lego bricks. I&#39;d say western society in general feels that physical property is commonly understood with similar attitudes. Intellectual property (patents, trademarks, copyright, ownership of ideas &amp;amp; discoveries, the whole shebang...) is a whole different kettle of fish, and I&#39;d say society as a whole barely grasps the concepts, is only starting to get to grips with it, let alone has common understanding and agreement.&lt;br /&gt;&lt;br /&gt;OLPC is all about giving knowledge and the capability to learn to kids around the world. Great. But this is physical property (a cool green high-tech laptop) combined with intellectual property (information and access). If I was a kid I&#39;d be pretty disenfranchised if the kid down the road knew everything about everything because she had an OLPC and I didn&#39;t. Much more so than if she had a cool toy and I didn&#39;t (hey, everyone grows up like that right?).&lt;br /&gt;&lt;blockquote style=&quot;font-style: italic;&quot;&gt;we were struck by the ways the children had come face-to-face with the frustration, anger, and hopelessness that come with being on the outside of power and privilege.&lt;br /&gt;&lt;/blockquote&gt;Francis Bacon once said &quot;Knowledge is power&quot;, and he was right.  Magnitudes more powerful than controlling physical property. Normally kids don&#39;t need to deal with IP issues, but they learn about physical property early. I think the OLPC will change that, especially if only a handful of kids in a community have one. And I suspect the frustration and anger will be bigger.&lt;br /&gt;&lt;br /&gt;Now, don&#39;t get me wrong, I think OLPC is a fantastic scheme, I&#39;m a supporter, and I&#39;ve had plenty of lively discussions around it over the past couple of years. And was lucky enough to have a play with one in San Francisco in October!&lt;br /&gt;&lt;br /&gt;But just something to ponder :)</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/2868555425851939373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=2868555425851939373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/2868555425851939373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/2868555425851939373'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2008/02/children-lego-olpc-and-ip.html' title='Children, Lego, OLPC, and IP'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-1086791099826236644</id><published>2008-01-03T13:02:00.000+13:00</published><updated>2008-01-05T17:52:51.161+13:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="selenium"/><category scheme="http://www.blogger.com/atom/ns#" term="testing"/><title type='text'>Automated Dojo testing - DOH &amp; Selenium-RC</title><content type='html'>Before the 0.9 release, &lt;a href=&quot;http://dojotoolkit.org/&quot;&gt;Dojo&lt;/a&gt; replaced its old unit-testing framework with a new one named &lt;a href=&quot;http://dojotoolkit.org/book/dojo-book-0-9/part-4-meta-dojo/d-o-h-unit-testing&quot;&gt;D.O.H.&lt;/a&gt; that is miles nicer and cleaner. It&#39;ll run in both the browser &amp;amp; under &lt;a href=&quot;http://www.mozilla.org/rhino/&quot;&gt;Rhino&lt;/a&gt;, supports defferrables and is relatively easy to customise.&lt;br /&gt;&lt;br /&gt;At &lt;a href=&quot;http://www.onetrackmind.co.nz/&quot;&gt;One Track Mind&lt;/a&gt; we&#39;ve been using &lt;a href=&quot;http://www.openqa.org/selenium-rc/&quot;&gt;Selenium-RC&lt;/a&gt; to drive unit-testing of JS code since Dojo 0.4 (of our stuff mostly, not Dojo itself) and it wasn&#39;t ever particularly clean. The basic idea is to run a suite of unit tests across a series of browser/version/OS combinations and collate the results. So you can find that some irrelevant little change b0rked Opera but only on Windows.&lt;br /&gt;&lt;br /&gt;Selenium&#39;s API for writing tests (for JS stuff anyway) is pretty awful compared with DOH and we&#39;d done ours in Python, which was then launched from Ant after the Dojo build was done. But what Selenium-RC does do well is fire up browsers on multiple operating systems, do magic proxying, and allow you to interrogate the pages.&lt;br /&gt;&lt;br /&gt;A &lt;a href=&quot;http://www.nabble.com/-1.02--ReferenceError%3A-%22navigator%22-running-tests-in-Rhino-td14400798.html&quot;&gt;thread on dojo-interest&lt;/a&gt; this week sparked me back into looking at it again. I noticed that Selenium-RC now supports &lt;a href=&quot;http://www.openqa.org/selenium-rc/js.html&quot;&gt;running from Javascript&lt;/a&gt;. (to be honest, the java bindings would have always worked but someone&#39;s actually spelt it out in small words now). Since the Dojo build system is now Javascript-based, why not make the Selenium test runner as well?&lt;br /&gt;&lt;br /&gt;Plan:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Have a config file defining which browsers to launch, which machines they&#39;re on, and what tests to run.&lt;/li&gt;&lt;li&gt;Launch each browser via Selenium-RC&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Run the tests via the normal DOH browser runner.&lt;/li&gt;&lt;li&gt;Use Selenium to extract the results from DOH.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Collate the results from the various browsers and produce something useful.&lt;/li&gt;&lt;/ul&gt;So, after a bit of toying I came up with this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Drop &lt;a href=&quot;http://rob.coup.net.nz/seleniumRunner.js&quot;&gt;seleniumRunner.js&lt;/a&gt;, &lt;a href=&quot;http://rob.coup.net.nz/seleniumRunner.config.js&quot;&gt;seleniumRunner.config.js&lt;/a&gt;, &lt;a href=&quot;http://rob.coup.net.nz/seleniumRunner.sh&quot;&gt;seleniumRunner.sh&lt;/a&gt; (or the &lt;a href=&quot;http://rob.coup.net.nz/seleniumRunner.bat&quot;&gt;.bat&lt;/a&gt; if you&#39;re on Windows), and &lt;a href=&quot;http://rob.coup.net.nz/selenium-java-client-driver.jar&quot;&gt;selenium-java-client-driver.jar&lt;/a&gt; into &lt;span style=&quot;font-style: italic;&quot;&gt;util/doh/&lt;/span&gt; in your Dojo install.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Put &lt;a href=&quot;http://rob.coup.net.nz/selenium-server.jar&quot;&gt;selenium-server.jar&lt;/a&gt; on each test machine, then run &lt;span style=&quot;font-family:courier new;&quot;&gt;java -jar selenium-server.jar -multiWindow&lt;/span&gt; so it listens for the browser-control messages.&lt;/li&gt;&lt;li&gt;Edit &lt;span style=&quot;font-style: italic;&quot;&gt;seleniumRunner.config.js&lt;/span&gt; and change &lt;span style=&quot;font-style: italic;&quot;&gt;browsers&lt;/span&gt; and &lt;span style=&quot;font-style: italic;&quot;&gt;rootUrl&lt;/span&gt; to match your setup. The &lt;span style=&quot;font-style: italic;&quot;&gt;rootUrl&lt;/span&gt; needs to be reachable from each test machine.&lt;/li&gt;&lt;li&gt;run &lt;span style=&quot;font-family:courier new;&quot;&gt;./seleniumRunner.sh seleniumRunner.config.js&lt;/span&gt; from &lt;span style=&quot;font-style: italic;&quot;&gt;util/doh/&lt;/span&gt; on your workstation&lt;/li&gt;&lt;li&gt;It&#39;ll load the config, fire up the browsers on each machine, run the unit tests from Dojo core, and print the pass/fail/error stats for each.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Each browser is kicked off and monitored in a separate thread (not strictly necessary but too cool to resist doing).&lt;/li&gt;&lt;/ul&gt;Some issues I ran into:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;unless I ran the selenium server in multiWindow mode Safari and Firefox would pop up Print dialogs (!?!) whenever the test page was loaded. But Safari never initialised the test page if it was in multiWindow mode. On OSX and Windows. gah.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Opera on OSX didn&#39;t set up the Selenium proxy properly (&lt;span style=&quot;font-family: courier new;&quot;&gt;localhost:4444&lt;/span&gt; for reference).&lt;/li&gt;&lt;li&gt;IE didn&#39;t like doing a dojo.connect() via the selenium javascript commands for some reason.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The next step is to improve the reporting. This will probably necessitate writing another browser runner that produces a JSON report (or changing the existing one). Modifying DOH to have an isComplete flag would make life simpler as well. I&#39;d want to know which tests were run on each browser (since not all tests run everywhere), which ones passed and failed and had errors. A hunk of JSON which could be loaded into a Dojo Grid for exploration might make an interesting way of viewing the results.</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/1086791099826236644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=1086791099826236644' title='28 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/1086791099826236644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/1086791099826236644'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2008/01/automated-dojo-testing-doh-selenium-rc.html' title='Automated Dojo testing - DOH &amp; Selenium-RC'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>28</thr:total></entry><entry><id>tag:blogger.com,1999:blog-875457922584169320.post-2343297912789095553</id><published>2007-12-16T22:28:00.001+13:00</published><updated>2007-12-17T10:15:48.093+13:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="barcamp"/><category scheme="http://www.blogger.com/atom/ns#" term="barcampauck07"/><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><title type='text'>Cool data in the browser with Dojo</title><content type='html'>This is basically what I talked about on Saturday at &lt;a href=&quot;http://bca.ludwignz.com/&quot;&gt;Barcamp&lt;/a&gt; (which was heaps of fun and big props to Ludwig for organising it all!).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Cool data in the browser with Dojo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We&#39;re now at a place with Javascript development where we can handle structured data really well in the browser. And then we can start doing some cool stuff - grids, charts, maps, and so on. The &lt;a href=&quot;http://bca.ludwignz.com/&quot;&gt;Dojo toolkit&lt;/a&gt; calls it &lt;a href=&quot;http://dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/data-retrieval-dojo-data-0&quot;&gt;dojo.data&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Basically dojo.data is an abstraction - sitting between where the data comes from (tables, lists, xml, csv, json, Flickr...) and what you want to do with it (querying, widgets, graphs, grids, maps, ...).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Stores&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A data store describes &lt;span style=&quot;font-style: italic;&quot;&gt;where&lt;/span&gt; the data comes from. This could be from in the HTML page (from inline lists or tables), from static sources (XML, CSV, JSON), dynamic sources (database-backed querying) or external APIs (like Flickr). Different stores can implement different sections of the dojo.data API depending on what the source supports - reading, writing, identities, and so on. Its pretty easy to create your own store implementation if none of the &lt;a href=&quot;http://dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/what-dojo-data/available-stores&quot;&gt;existing ones&lt;/a&gt; suit.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Data Widgets&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Data widgets present data from a store. The idea is that we can create kick-ass widgets &lt;span style=&quot;font-style: italic;&quot;&gt;once&lt;/span&gt; that work with data from any source. The widgets interface to the data via the dojo.data APIs and then do cool things to present it. Data-driven widgets include form components like ComboBox, the tree, the grid, charting, image galleries, and so on. We&#39;ll just talk about a couple of them.&lt;br /&gt;&lt;br /&gt;The Dojo Grid was released in September by SitePen, Mozilla, and others. It is the Javascript table to end all tables, with a &lt;a href=&quot;http://www.sitepen.com/blog/2007/09/16/the-dojo-grid/trackback/&quot;&gt;truly impressive feature list&lt;/a&gt; - paging, sorting, filtering, subgrids, events, formatting, internationalisation, and the list goes on. Of course, the grid can consume data from a store, so we can have all these impressive features for CSV data, XML data, or anything else. SitePen has a &lt;a href=&quot;http://www.sitepen.com/blog/2007/11/06/simple-dojo-grids/trackback/&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;http://www.sitepen.com/blog/2007/11/13/dojo-grids-diving-deeper/trackback/&quot;&gt;part&lt;/a&gt; tutorial on a few of the grid features, or you can check out the &lt;a href=&quot;http://www.dojotoolkit.org/book/dojo-book-0-9/docx-documentation-under-development/grid&quot;&gt;documentation&lt;/a&gt; (still in-progress) and the &lt;a href=&quot;http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/&quot;&gt;tests&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dojo Charting provides vector-based charting in 2D, and now 3D thanks to the work of Kun Xi and Neil Joshi during this years Google Summer of Code. Underneath it uses &lt;a href=&quot;http://www.dojotoolkit.org/book/dojo-book-0-9/part-5-dojox/dojox-gfx&quot;&gt;dojox.gfx&lt;/a&gt; which leverages SVG, VML, Silverlight, or Canvas depending on the browser to draw the vector graphics. Charting is pretty new but already has an impressive set of features: lines, columns, areas, bars, pies, grids, axes, themes, ... see the &lt;a href=&quot;http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/charting/tests/&quot;&gt;tests&lt;/a&gt; for some examples. The dojo.data implementation in charting isn&#39;t fully complete yet but its still easy enough to get it working.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Demo Time&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enough talk - lets see all this in action. I&#39;ve grabbed some 10-minute weather readings in CSV format from 18 Auckland stations for a 24 hour period in November from &lt;a href=&quot;http://www.niwa.cri.nz/&quot;&gt;NIWA&lt;/a&gt;&#39;s &lt;a href=&quot;http://cliflo.niwa.co.nz/&quot;&gt;climate database&lt;/a&gt;. Then built a simple data explorer where you can select a station in the table and see a line chart of the temperature and wind speed over the 24 hour period for that station. And there&#39;s a map, because that&#39;s what I do.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://rob.coup.net.nz/cool_data_in_the_browser.html&quot;&gt;Play with the demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.blogger.com/cool_data_in_the_browser.html&quot;&gt;&lt;/a&gt;You&#39;ll notice that there is no page-loading involved (AJAX goodness), you can sort the grid by clicking on the column headings, and that it&#39;s all very smooth and responsive. View the source and read the comments to see what is happening underneath.&lt;br /&gt;&lt;br /&gt;Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://rob.coup.net.nz/feeds/2343297912789095553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=875457922584169320&amp;postID=2343297912789095553' title='64 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/2343297912789095553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/875457922584169320/posts/default/2343297912789095553'/><link rel='alternate' type='text/html' href='http://rob.coup.net.nz/2007/12/cool-data-in-browser-with-dojo.html' title='Cool data in the browser with Dojo'/><author><name>Rob</name><uri>http://www.blogger.com/profile/05096198530493752948</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>64</thr:total></entry></feed>