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

<channel>
	<title>Mike Plate &#187; Conference</title>
	<atom:link href="http://www.mikeplate.com/category/conference/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mikeplate.com</link>
	<description>Freelance web and mobile developer</description>
	<lastBuildDate>Tue, 17 Aug 2010 20:12:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Scandinavian Web Developers Conference Day 2</title>
		<link>http://www.mikeplate.com/scandinavian-web-developers-conference-day-2/</link>
		<comments>http://www.mikeplate.com/scandinavian-web-developers-conference-day-2/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 13:57:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[SWDC]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=312</guid>
		<description><![CDATA[This is a short summary of the talks during the second day of Scandinavian Web Developers Conference in Stockholm, June 3, 2010. Please note that it is a very short summary with abbreviations and contexts that might only make sense to me (if even that). The second day is about the mobile web development. Wolfram [...]]]></description>
			<content:encoded><![CDATA[<p>This is a short summary of the talks during the second day of  Scandinavian Web Developers Conference in Stockholm, June 3, 2010. Please  note that it is a very short summary with abbreviations and contexts  that might only make sense to me (if even that).</p>
<p><span id="more-312"></span></p>
<p>The second day is about the mobile web development.</p>
<h2>Wolfram Kriesing &#8211; Cross-platform mobile apps.</h2>
<ul>
<li>From Uxebu.</li>
<li>App vs widget.</li>
<li>Chosen name is &#8220;Html5 Apps&#8221;. Named by PPK. Better sale with html5 in the name.</li>
<li>Makers of Event Ninja.</li>
<li>bit.ly/distimo-appstores</li>
<li>eventninja.net/webkit/</li>
<li>Feels like iPhone native.</li>
<li>TouchScroll is a JavaScript and css3-based scroller.</li>
<li>yourappshop.com selling web apps for mobile, just iPhone currently.</li>
<li>W3C Widget contains alyout, design, ajax, config.xml, icon in a zip renamed to &#8220;.wgt&#8221; file extension.</li>
<li>Using Dojo.</li>
<li>No great tools.</li>
<li>You can stay on your desktop as long as you need.</li>
<li>Opera DragonFly can debug on the phone.</li>
<li>Runtime coming to Android, N60. TV widget has appeared.</li>
<li>W3C Specification, JIL Specification, BONDI.</li>
<li>Vodafone offering JIL.</li>
<li>JavaScript is becoming first class citizen on phones via widgets.</li>
<li>Platform adaptions.</li>
<li>Blackberry will switch to WebKit.</li>
<li>PhoneGap filling the gap since all phones don&#8217;t support everything natively.</li>
<li>PhoneGap is open source. PhoneGap+SDK is about 240 kB.</li>
<li>Dojo-mobile. Have to optimize js-libs. Took apart dojo, Just what you need. dojo-webkit-mobile.js.</li>
<li>bit.ly/webdev-events</li>
<li>[Mentions YQL.]</li>
<li>Can stay offline &#8211; no roaming charges.</li>
<li>Is loving Google Calendar as a data store.</li>
<li>Titanium. Custom tags, not as good. Just iPhone, Android and Blackberry.</li>
</ul>
<h2>Mikael Kindborg &#8211; The New Mobile Web &#8211; A Web of Scripted Applications</h2>
<ul>
<li>From Dynamic.</li>
<li>MoSync, tools for cross platform programs.</li>
<li>Magic Words game written in Smalltalk.</li>
<li>JavaScript rediscovered, similar to Lisp.</li>
<li>CoffeeScript.</li>
<li>Theme: What happens when you go late bound.</li>
<li>Showing artist doing lego sculptures. brickartist.com. Nathan Sawaya.</li>
<li>Spredsheets are actuall an example of a functional programming model.</li>
<li>wpri.org doing research.</li>
<li>DroidScript by Micke.</li>
<li>Clamato project is Smalltalk implemented in JavaScript.</li>
<li>Seaside, code browser in web browser. [Nice demo. Would be nice to do in .NET]</li>
<li>DroidScript is open source. Based on Mozilla Rhino.</li>
<li>No byte code generation on Android. Would be needed for subclassing.</li>
<li>Typing code on desktop and sending via tcp to phote to run it. Can open urls. [Smart!]</li>
<li>DragonFly editor.</li>
<li>Access to native via packages.</li>
<li>With Smalltalk you select some thing and run it. Considered old today.</li>
<li>divineprogrammer.se.</li>
</ul>
<h2>Claes Nilsson and Thomas Bailey &#8211; The phone in the cloud</h2>
<p>From Sony Ericsson, main sponsor.</p>
<ul>
<li>Claes Nilsson first. Doing device APIs.</li>
<li>The phone as a service.</li>
<li>Main place is W3C DAP APIs.</li>
<li>All define JavaScript API.</li>
<li>One approach is to use trusted control widgets, like Android, BONDI, JIL.</li>
<li>Implicit user consent is other way to go.</li>
<li>Just drafts. No candidates yet.</li>
<li>In addition policy based.</li>
<li>Google suggested REST http as API to local phone.</li>
<li>[Interesting! Why not all APIs accessible by REST?]</li>
<li>Powerbox another suggestion/submission by Google.</li>
<li>Example, user selects images from cloud services or local gallery in phone.</li>
<li>Same code in web application.</li>
<li>Powerbox gives access to resources posted anywhere, including local.</li>
<li>Thomas Bailey. What to do here and now. PlayNow is Sony Ericsson app store.</li>
<li>PhoneGap only Android+Symbian [In Sony Ericsson products.]</li>
<li>Simplifying html development with PhoneGap. Sony Ericsson WebSDK has a small ide in the browser. Not necessary with Eclipse for PhoneGap development. Proof of concept (beta).</li>
<li>WARP = Web Applicaiton Runtime</li>
</ul>
<h2>Tom Hughes-Croucher &#8211; Mobile Data &#8211; How to avoid the latency trap when using web services</h2>
<ul>
<li>From Yahoo.</li>
<li>Microwaves and baby monitors fuck up wifi. Interference.</li>
<li>Ofcom in UK = Swedish Post och Telestyrelsen.</li>
<li>Up to 90% bandwidth used on protocol.</li>
<li>1, 6 and 11 channels for every device. All others overlap.</li>
<li>Reduce sequential requests. Gzip.</li>
<li>Yahoo Performenace Guidelines.</li>
<li>Mike Belshe researches page load times.</li>
<li>Browserscope.org</li>
<li>Maximize concurrent requests with labjs.com.</li>
<li>Packet research from Yahoo.</li>
<li>YQL bindings to services. (Don&#8217;t like XML/RPC based Dave Winer.)</li>
<li>YQL is a unified interface to web services. Self-describing. [Feels a bit like fluiddb?]</li>
<li>Help bundle lots of requests into a single one.</li>
</ul>
<h2>Tom Blackmore &#8211; Handling spatial data on the web</h2>
<ul>
<li>Formed own company Arctic Tiger. Did mapping for hitta.se. Geobased solutions.</li>
<li>We can remove a lot of questions in user interfaces with knowing geolocation data.</li>
<li>Your phone has better accuracy than car navigator, thanks to AGPS.</li>
<li>W3C Geolocation API (the html5 name).</li>
<li>navigator.geolocation, watchPosition. Don&#8217;t forget clearWatch.</li>
<li>getCurrentPosition(usePos, posErr, { enableHighAccuracy&#8221; : true });</li>
<li>geo.js code.google.com/p/geo-location-javascript</li>
<li>Done via TurboGears in older Android.</li>
<li>Lantmäteriet, cost for single internet public facing site, one purpose, one company, is 1,3 MSEK.</li>
<li>Google Maps. Yahoo Geoplanet Data. OpenStreetMap (creative commons). GeoNames (good zips).</li>
<li>Spatial databases, PostGIS, SpatialLite, GeoCouchDB.</li>
<li>github.com/vmx/couchdb</li>
<li>ST-Contains, ST-GeometryFromText</li>
<li>2 decimals in lat/long is about 1 kilometer precision.</li>
</ul>
<h2>Nikolai Onken &#8211; Human APIs, expanding the mobile web to the real world</h2>
<ul>
<li>From Uxebo.</li>
<li>Dojo committer.</li>
<li>Gordon JavaScript for Flash.</li>
<li>Raphael cool lib.</li>
<li>blog.uxebo.com, humanapi.org</li>
<li>Arduino board.</li>
</ul>
<h2>Michael Mahemoff &#8211; HTML5 gives you wings</h2>
<ul>
<li>From ajaxpatterns and ajaxian.org.</li>
<li>Just been to uxcamp Europe.</li>
<li>Automatic persistance is new ux pattern.</li>
<li>piratepad.</li>
<li>Jolicloud.</li>
<li>Cross-origin Resource Sharing (html5).</li>
<li>Application Cache (html5).</li>
<li>3.ly/timer</li>
<li>&lt;html manifest=&#8221;timer.manifest&#8221;&gt;</li>
<li>Cache manifest. Fallback network.</li>
<li>window.applicationCache.status, localStorage, sessionStorage tied to the domain.</li>
<li>WebSQL Data. IndexedDB soon.</li>
<li>JSON.stringify, JSON.parse</li>
<li>localStorage strings only right now. Events.</li>
<li>Same application can be opened in multiple tabs and communicate with each other.</li>
<li>&lt;a rel=&#8221;pingback&#8221;&gt;</li>
</ul>
<h2>Henk Jurriens &#8211; Building linked data applications for the iPhone</h2>
<ul>
<li>Data sets. DBPedia, GeoName, FADF.</li>
<li>Linked data is about semantic web.</li>
<li>URI. RDF. SPARQL.</li>
<li>RDFa names things with URIs.</li>
<li>Dublin Core. FOAF.</li>
<li>data.gov. BBC.</li>
<li>Drupal and WordPress uses linked data. Also Facebook.</li>
<li>jQTouch.js, iProcessing.js, Lodsy.</li>
</ul>
<h2>Tim Caswell &#8211; Node.js powered mobile apps for end-to-end JavaScript development</h2>
<ul>
<li>Ryan is creator of Node.js.</li>
<li>Creator of node framework Connect.</li>
<li>Built-in filter modules. Data providers.</li>
<li>Single stack model.</li>
</ul>
<p>A bit shorter in the wrap-up of the conference, but a good two days.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/scandinavian-web-developers-conference-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scandinavian Web Developers Conference Day 1</title>
		<link>http://www.mikeplate.com/scandinavian-web-developers-conference-day-1/</link>
		<comments>http://www.mikeplate.com/scandinavian-web-developers-conference-day-1/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 19:42:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[SWDC]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=303</guid>
		<description><![CDATA[This is a short summary of the talks during the first day of Scandinavian Web Developers Conference in Stockholm, June 2 2010. Please note that it is a very short summary with abbreviations and contexts that might only make sense to me (if even that). Peter Svensson welcomes us to the conference. No wifi for [...]]]></description>
			<content:encoded><![CDATA[<p>This is a short summary of the talks during the first day of Scandinavian Web Developers Conference in Stockholm, June 2 2010. Please note that it is a very short summary with abbreviations and contexts that might only make sense to me (if even that).<br />
<span id="more-303"></span><br />
Peter Svensson welcomes us to the conference. No wifi for all, unfortunately. 3G coverage inside the cinema was just ok to work.</p>
<p>The first day is about the front-end and back-end of web development.</p>
<h2>Robert Nyman &#8211; HTML5</h2>
<p>Overview of HTML5 with a slight focus to the actual HTML and not so much all the new apis.</p>
<ul>
<li>In 200 the WhatWG group was formed from Mozilla, Opera and Apple out of dissatisfaction with the W3C work on next HTML. Now Google is also a member of WhatWG.</li>
<li>HTML5 is about semantics, accessibility and apis.</li>
<li>&lt;!DOCTYPE html&gt; Note that there is no version in doctype declaration.</li>
<li>HTML5 isn&#8217;t necessarily XHTML. HTML5 interprets the html in a friendly mannor.</li>
<li>For XHTML no doctype is needed. Must have correct contenttype from server.</li>
<li>Many new input types: color, week range, search. Default to text if type is unknown/unimplemented by browser.</li>
<li>&lt;meta charset=&#8221;utf-8&#8243;&gt;</li>
<li>&lt;header role=&#8221;banner&#8221;&gt; Headers can occur multiple times in the page (for sections within the page).</li>
<li>Role attribute can be used by screen readers.</li>
<li>&lt;nav role=&#8221;navigation&#8221;&gt; Encloses the primary navigation structure of the site.</li>
<li>&lt;article&gt; &lt;section&gt; &lt;header&gt; &lt;hgroup&gt; &lt;h2&gt;title&lt;/h2&gt;</li>
<li>An article element&#8217;s content should make sense outside the page context.</li>
<li>&lt;aside role=&#8221;complimentary&#8221;&gt;, &lt;footer&gt;</li>
<li>Problem with ajax and accessibility. aria-attributes. aria-live. aria-relevant. WAI-ARIA Live Regions.</li>
<li>Video. &#8220;Without Flash we wouldn&#8217;t have youtube&#8221;, &#8220;Things can actually coexist&#8221;, &#8220;Not everything has to kill something&#8221;</li>
<li>video element can follow with several source elements for different codecs. First one supported will be used by browser. object-element fallback can also be used for Flash etc.</li>
<li>WebM project made everyone happy. Will get hardware acceleration. Matters how content providers will support WebM. &#8220;Is optimistic about WebM&#8221;. Kaltura and more.</li>
<li>Canvas. getContent(&#8220;2d&#8221;). A &#8220;3d&#8221; context is also coming. shadowBlur. rotate.</li>
<li>explorercanvas by Emil is canvas for MSIE, translates canvas to VML. Now hired by Google.</li>
<li>Mozilla Bespin is text editor on the web with syntax highlighting.</li>
<li>Geolocation sort of bundled but not part of official specifikation.</li>
<li>Watch dot box on Google Maps if your browser (Firefox) supports geolocation.</li>
<li>Cross document messaging.</li>
<li>Drag&#8217;n drop. Reverse engineered from old MSIE. Not liked. May change.</li>
<li>Nice that HTML5 is here today. Google.com uses HTML5. Hired the guy working on the specification.</li>
<li>Sjoerd Visscher, html5 shiv(?). IE8 does not recognize new elements like article as css styleable. But if the page calls document.createElement for the element name, it does! The return value of createElement can be thrown away.</li>
<li>IE9 looks much better. Nice stuff.</li>
</ul>
<h2>Stefan Pettersson &#8211; Developing Large-Scale JavaScript Web Sites</h2>
<p>Not so technical/concret, but still a good overview of some things to think about for web sites with heavy loads (and I would think, even good for small sites).</p>
<ul>
<li>Worked with Netlight, Aftonbladet. Did the map for http://www.hitta.se.</li>
<li>Getting questions from customers wanting to &#8220;do it like Google does&#8221;. Sites with lots of traffic, much content, much functionality, complex mess.</li>
<li>Read books by Steve Souders on JavaScript performance (by O&#8217;Reilly).</li>
<li>Establish an architecture. Best practices. A way to work.</li>
<li>New job type &#8220;front-end engineer&#8221; in the middle.</li>
<li>Load scripts on demand.</li>
<li>Load scripts after rendering.</li>
<li>Cache renewal, append build number to url.</li>
<li>XHR or JSONP? Go JSONP. For cross-site-scripting solutions.</li>
<li>Go with REST.</li>
<li>Use YUI3 for dependencies, module loading. Has sandbox.</li>
<li>Static content servers like LiteHttp. Cookieless. Cache friendly headers. Gzip.</li>
<li>Don&#8217;t put onclick in tags, attach event by jquery or other framework.</li>
<li>Progressive enhancements.</li>
<li>Pixelperfect in all browsers? Drop it! Too muc work. Sample with pin &#8220;bubble&#8221; for hitta.se.</li>
<li>Avoid putting things in global namespace.</li>
<li>Module pattern. Simulating missing private/public distinction in JavaScript.</li>
<li>Know the client. Embrace the client. Peer code reviews.</li>
<li>Build and deploy: Aggregate. Minify. (Preprocessor.) Automation.</li>
<li> Now working for Expansive Worlds.</li>
</ul>
<h2>Alexander Lang &#8211; Designing domain models with document databases</h2>
<p>Some patterns on how to design the domain model for a document database.</p>
<ul>
<li>Creator of <a href="http://github.com/langalex/couch_potato">Couch Potato</a>.</li>
<li>Don&#8217;t understands why MongoDB gets so much attension.</li>
<li>Every document has an id.</li>
<li>Get info by url. CouchDB has builtin http server.</li>
<li>Polymorphic associations.</li>
<li>Reporting.</li>
<li>Map function. function(doc) { &#8230; emit(doc.id, &lt;value&gt;); }</li>
<li>Reduce function. function(key, values) { }</li>
<li>Nested attributes (3D forms).</li>
<li>Sample with survery, questions, choices.</li>
<li>Copy versus associations.</li>
<li>Because map reduce is built in, query code can analyze.</li>
<li>Always fast through static indexes.</li>
<li>Indexes are built on reads, not writes. Writes not expensive at all.</li>
</ul>
<h2>Rik Arends &#8211; Developing applications in the cloud</h2>
<p>Showing a complete development IDE in the browser. Not available publicly just yet.</p>
<ul>
<li>From ajax.org, which are 15 people.</li>
<li>Doing JavaScript Charting and Live Markup.</li>
<li>Collaborative applications in the cloud. Refering to Google Docs.</li>
<li>Google BigTable map/reduce.</li>
<li>MongoDB soon autosharding. Redis.</li>
<li>[Nosql is actually sql without transactions, joins and predetermined schemas.]</li>
<li>Yahoo Geolocation Service.</li>
<li>Timeslider.</li>
<li>EtherPad.</li>
<li>Ajax.org Cloud IDE. Integrated with github.com. Demonstration a user interface in the browser. Looks a lot like Visual Studio with forms editor, property lists etc. Debugging.</li>
<li>Testing ui is hard. Selenium.</li>
<li>Chrome has socket open over which you can do debugging.</li>
<li>Sample with node.js and socket. Using GoogleGears like extension for now. Hoping that browsers will expose internal debug apis.</li>
<li>Next: read/write github, php, ruby, python, addon tooling, share code fragments.</li>
<li>Editor bindings.</li>
<li>@cloudeide for preview.</li>
</ul>
<h2>Daniel Glazman &#8211; Browser War 2010</h2>
<p>A frenchmen showing languages skills in Swedish too. Inside W3C working groups.</p>
<ul>
<li>Creator of Nvu. Did the styling engine of Netscape/Mozilla.</li>
<li>CEO of Disruptive Innovations.</li>
<li>W3C CSS working group co-chairman.</li>
<li>Blink and marqee tags are two proofs of the existence of the devil.</li>
<li>Handling bloody disputes from company strategists.</li>
<li>Must admin IE9 is very promising.</li>
<li>Never so many contributions to the working groups as today.</li>
<li>XHTML2 was big failure. Not backwards compatible.</li>
<li>&#8220;Reinventing HTML&#8221; by Tim Berners-Lee</li>
<li>HTML-WG =&gt; WhatWG 2006-10-27</li>
<li>HTML5 2009-10-06</li>
<li>HTML5: The most unreadable specification I have read in 20 years of standardization. Lots of internal links. The language.</li>
<li>Bluegriffin is new editor.</li>
<li>CSS2 object model was really bad with holes in the specification.</li>
<li>Canvas is going to shake the game industry too.</li>
<li>Impressed by Mozilla Bespin. Using frame buffer.</li>
<li>Properietary formats are doomed.</li>
<li>No flexible box model (yet).</li>
<li>Please stop supporting IE6.</li>
<li>JavaScript toolkits will have a hard time fighting for existence will new CSS3 support for transitions and animations.</li>
<li>Tensions in the standards communities.</li>
<li>Mozilla gets 80% of its revenue from Google. What will happen with that with regards to Chrome?</li>
<li>Infamous Apple tag &lt;meta name=&#8221;viewport&#8221; /&gt;</li>
</ul>
<h2>Dylan Schiemann &#8211; Programming to patterns</h2>
<ul>
<li>Working with SitePen, Dojo.</li>
<li>Dojo 2.0 drops support for IE6/7. 50% less code.</li>
<li>Comparisions between Dojo and MooTools.</li>
<li>Mixins with Dojo.</li>
</ul>
<h2>Sergey Ilinsky &#8211; Managing complex client-side GUI Apps the right way</h2>
<ul>
<li>Creator of Ample SDK.</li>
<li>XBL2 doesn&#8217;t look to happen.</li>
<li>Put everything in script tags.</li>
<li>Declarative UI in the xml.</li>
<li>Open Source GUI frameworks ExtJS, Dojo, Qooxdoo, jQuery UI.</li>
<li>Events for removal in the document level.</li>
<li>Ample has a DOM and the browser has its DOM.</li>
<li>Div elements are not enough for datepickers and listviews.</li>
</ul>
<h2>Mark Wubben &#8211; Building browser extensions with Chrome.</h2>
<ul>
<li>Much easier than on Firefox with XUL and XPCom.</li>
<li>chrome://extensions/</li>
<li>An extension is a folder with a manifest.json file in it. Must have a name and a version.</li>
<li>Content scripts = User scripts from Greasemonkey (Aaron Boodman).</li>
<li>Isolated worlds.</li>
<li>Content scripts run in separate contexts, but shares the DOM.</li>
<li>Use events to communicate between scripts/extensions.</li>
<li>Sample: expand bit.ly urls on Twitter.</li>
<li>Background pages.</li>
<li>[Maybe someone should make a Firefox extension to read/run Chrome extensions for compatiblity between the browsers.]</li>
<li>[Secure also means less flexible.]</li>
<li>Chrome APIs.</li>
<li>Page actions. Browser actions. Popups.</li>
<li>Browser actions can talk between extensions.</li>
<li>Desktop notifications (in WebKit).</li>
<li>Url permissions shown on install.</li>
<li>[What's "Allow incognito" in extension configuration.]</li>
<li>11born.net/swdc</li>
<li>Someone has done something for Mozilla JetPack.</li>
</ul>
<h2>Malte Ubl &#8211; Getting started with node.js</h2>
<ul>
<li>The web is changing. We&#8217;re doing i/o wrong.</li>
<li>Comet.</li>
<li>JavaScript is popping up as a library language for the first time.</li>
<li>CommonJS, goal of server side JavaScript.</li>
<li>Node.js is all about non-blocking operations on the server. [Like .NET asynchronous requests.]</li>
<li>No breaking changes anymore to Node.js.</li>
<li>nonblocking.io</li>
<li>Cloud provider for Node.js.</li>
<li>Dependent on Python.</li>
<li>No Windows binary (yet), not a true Posix platform.</li>
</ul>
<h2>Patrick Chanezon &#8211; Google for developers</h2>
<ul>
<li>AppEngine for business.</li>
<li>Infrastructure As A Service = Amazon.</li>
<li>Platform As A Servuce = Google AppEngine [Windows Azure].</li>
<li>If you have an OpenID support and a notion of separate domains, you can integrate with Google App Marketplace.</li>
<li>Prediction API.</li>
<li>The APIs for Google Storage is the same as for Amazon S3, just change the domain. Adds a few features.</li>
</ul>
<h2>Chris Heilmann &#8211; Clever re-use of web technologies</h2>
<ul>
<li>From Yahoo.</li>
<li>Nobody cares what the html looks like.</li>
<li>Problems is that we love our technologies. Truism.</li>
<li>Play to push the envelope.</li>
<li>Not everyone has JavaScript on in their browsers.</li>
<li>Drag and drop is still confusing for a lot of users.</li>
<li>iPad is not the end of web design as we know it.</li>
<li>Not everything is solved with jQuery.</li>
<li>Issues in html5+css3: security, hardware access, native rich controls, layout, internationalization, accessibility, media.</li>
<li>A lot of &#8220;using newest technology&#8221; is a lame excuse for not architecting our solutions.</li>
<li>Yeah, we annoy people with open technology [not better than to annoy with closed technologies].</li>
<li>Progressive enhancement.</li>
<li>If you put a button on a web page that doesn&#8217;t work, you&#8217;ve broken a promise to your user [cause JavaScript is off].</li>
<li>Companies happy about Facebook blocking IE6.</li>
<li>developer-evangelism.com, wait-till-i.com.</li>
<li>Doesn&#8217;t matter what Apple makes since is is a religion and not a company. I buy 2nd and 3rd generation products these days.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/scandinavian-web-developers-conference-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scott Guthrie in Stockholm</title>
		<link>http://www.mikeplate.com/scott-guthrie-in-stockholm/</link>
		<comments>http://www.mikeplate.com/scott-guthrie-in-stockholm/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 20:27:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=163</guid>
		<description><![CDATA[Scott Guthrie&#8217;s first visit to Sweden was of course nothing I was going to miss. It sounded especially interesting since the top was Visual Studio 2010, ASP.NET 4.0 and Silverlight 4.0, none of which I thought had gotten due attention at TechEd Europe in Berlin last month. This is the man that co-invented ASP.NET and [...]]]></description>
			<content:encoded><![CDATA[<p>Scott Guthrie&#8217;s first visit to Sweden was of course nothing I was going to miss. It sounded especially interesting since the top was Visual Studio 2010, ASP.NET 4.0 and Silverlight 4.0, none of which I thought had gotten due attention at TechEd Europe in Berlin last month. This is the man that co-invented ASP.NET and more recently the MVC framework on top of ASP.NET. Would he wear that red tennis t-shirt that has become his signature? Yes! And the presentation was well worth waiting for also. <span id="more-163"></span></p>
<h2>Visual Studio 2010</h2>
<p>Scott showed quite a lot of enhancements in VS2010 that I was not aware of, and that I&#8217;m sure I will use a lot in the future.</p>
<ul>
<li>Scott used the source code for MVC to show off some code navigation techniques.</li>
<li>Multimonitor support now means that you can drag tool windows out of VS main window an on to another monitor.</li>
<li>When selecting a variable, all other usages of that variable are also lightly highlighted.</li>
<li>Intellisense filtering means that what you type does not have to be the beginning of the class/method.</li>
<li>Intellisense is also smart about camel and pascal casing in members, so that you can use the abbreviation consisting of all first letters. Example: you can insert a call to GetParamValue by just typing GPV.</li>
<li>New dialog &#8220;Navigate to&#8221; with shortcut Ctrl+, [not sure exactly what the advantage is]. New intellisense features work here too.</li>
<li>View Call Hierarchy is a new command to not only view all calls to a specified method (via view all references) but also view what methods call those methods and so on up the call tree. Great feature!</li>
<li>Generate Sequence Diagram is a new command to generate a visual representation of the method calls. Looked quite complex (visually) so I&#8217;m not sure how much value this will be. But you can also draw/comment on top of that visual interface so could maybe be good for code reviews? Got applause from the audience.</li>
<li>Vertical selection by holding down the Alt key and selecting with the mouse is nothing new, but now, I you start typing, you can also replace all selected row-columns with what you type. Got laughs from the audience.</li>
<li>Snippets now supported in html editor. Almost all asp.net controls now have snippet with some default attribute values. Type &#8220;runat&#8221; and then tab, tab, and you don&#8217;t have to type &#8220;server&#8221;. Also supported in javascript files (with tab between placeholders and so on).</li>
<li>There will be (is?) an online gallery of snippets.</li>
<li>Intellitrace is a new feature while debugging. Is a tool window with messages about what has happened during the debugging so far. Not just a call stack, but trace messages such as a certain event has been fired.</li>
<li>Debugging now also supports going backward! If you&#8217;ve debugged past some place, you can now step back line by line and restore the executing context back in time. Great feature!</li>
<li>If running a crashing application on a remote machine, you can start that application with a special tool that will dump everything about the execution into a file which you can later load in your debugging environment and see what actually happened. Not sure exactly how much info is contained. I guess you can&#8217;t set breakpoints anywhere in the execution context before the crash/exception actually happened? Also called the &#8220;Flight recorder feature&#8221;. Can also include video recordings of the screen before the crash and have the crash dump attached.</li>
</ul>
<h2>ASP.NET 4 (and more)</h2>
<p>ASP.NET also has some really good improvements, although maybe not as surprising as the Visual Studio ones.</p>
<ul>
<li>.NET 4 is a side-by-side release, which means that it does not replace any existing .NET files. This was also the case when .NET 2.0 was released and could exist side-by-side with .NET 1.1. .NET 4 is however also backwards compatible and should be able to run all 2.0, 3.0, 3.5 code. After install, IIS has separate application pool for .NET 4.</li>
<li>New project types &#8220;Empty&#8221; that does not contain any sample/starter files.</li>
<li>Cleaner web.config (second element in beta 2 will go away in release version).</li>
<li>Separate configuration in files such as web.debug.config and web.release.config.</li>
<li>Cleaner html for all controls. No inline styles from controls (if not explicitly set).</li>
<li>ClientIDMode new attribute on controls to better control the id of the resulting html element.</li>
<li>Better control over ViewState, app/page level per control (type?).</li>
<li>VS2010 designer supports CSS 2.1.</li>
<li>URL Routing support. Set in Application_Start: RouteTable.Routes.MapPageRoute. Answer to question about routing configuration was negative (not supported in product &#8211; but third party code exists [of course]).</li>
<li>Meta-tag api for setting Page.Description and Page.Keywords (for instance, in master/content pages).</li>
<li>New Response-methods RedirectPermanent (301) and RedirectToRoute.</li>
<li>IIS SEO Toolkit is downloadable and installs in IIS Manager where you can run an analysis of how seo-friendly a site is. The analyzed site does not have to be in IIS &#8211; can be any site. (Strage placement of the tool, then?)</li>
<li>Chart controls included.</li>
<li>QueryExtender control for help with sorting and filtering in the user interface of queries from the server.</li>
<li>Dynamic Data has lots of features.</li>
<li>Web form controls data validation can look at data model attributes to perform its validation.</li>
<li>Scott does not run the ADO.NET framework team, but some news nonetheless: Model first, Lazy loading, Plural/singular, Foreign keys, T4 templates, Disconnected api.</li>
<li>VS2010 JavaScript intellisense improved. Extremely impressive handling of interpreting code such as setting a window variable one way, and listing it in intellisense list thereafter. Example: window["Test"] = &#8220;x&#8221; means that the variable Test will be known as window variable and presented in intellisense drop down in that context.</li>
<li>CDN (Content Delivery Network) hosting available for Microsoft Ajax Library and jQuery.</li>
<li>VS environment profile &#8220;Web Development Code Optimized&#8221; where design-tab for aspx-files has been removed (among other things). Can also be set from Tools, Options.</li>
<li>ASP.NET Core is the name for the parts that ASP.NET WebForms and ASP.NET MVC share.</li>
<li>AppFabric for your Windows Servers will ship next year and includes Velocity for memory caching. Interesting, haven&#8217;t heard about Velocity in quite some time!</li>
<li>&lt;%: str %&gt; automatic html encoding.</li>
</ul>
<h2>MVC</h2>
<p>With MVC, Scott takes a little bit more time to explain the basics. From an audience poll it is evident that the previous experience of MVC is very different amongst the people in the audience.</p>
<ul>
<li>VS2010 uses templates according to the T4 templating engine a lot, which includes MVC.</li>
<li>Normal sequence is to first add a controller and than a view.</li>
<li>Routing rule sample &#8220;/Browse/{category*}&#8221;, the * means that everything after &#8220;/Browse/&#8221; will be included in parameter &#8220;category&#8221; value.</li>
<li>Create view dialog box has drop down for different views, which are generated by T4 templates.</li>
<li>Other http verbs such as [HttpDelete] for an action method can be simulated in a web form by a hidden field (automatically).</li>
<li>Data annotation can be used in the model to specify validation rules. Found in namespace System.ComponentModel.DataAnnotation.</li>
<li>[Required]</li>
<li>[Required(Message="Must type")] &#8211; can localize messages in resource. [How to do it if you want to store translations in database?]</li>
<li>Html.ValidationMessageFor specifies the place to put the validation error message in html.</li>
<li>Html.EnableClientValidation inserts javascript in page that performs the same validation on the client side.</li>
<li>Client side validation has support for calling web service for validation.</li>
<li>Validation rules does not have to be attributes in the data model. Can be pulled from anywhere, like xml files. Brad Wilson has sample (blog post?).</li>
<li>Html.EditorFor and Html.DisplayFor can output complete display/form. Takes lambda expression to specifiy the field to generate html for.</li>
<li>Demoing putting Product.ascx in EditorTemplates folder for customization of Html.EditorFor.</li>
<li>[UIHint("name")] on CategoryId field can be used to accomplish drop down list for a foreign key.</li>
<li>Areas new feature: encapsulation of controllers, models and views.</li>
<li>Asynchronous controllers.</li>
<li>&#8220;Unit testing is about confidence to add features&#8221; (not only catching bugs).</li>
<li>Demoing unit test with pattern Arrange, Act, Assert (what to do in the unit test method).</li>
<li>Uses a &#8220;fake&#8221; to factor out database dependency in unit test (doesn&#8217;t work correctly).</li>
<li>TDD (Test Driven Development) support in VS2010 via a few features: consume first intellisense can be turned on with Ctrl+Shift+Space [I think], where intellisense does not &#8220;get in the way&#8221; when typing code for classes and methods that does not exist yet.</li>
<li>Generate Class From Usage command. [Did however not generate the method for which there was a call.]</li>
<li>MVC has a controller factory pattern [no details].</li>
<li>For BDD (Behavior Driven Design) third party frameworks exist (nothing in VS).</li>
</ul>
<p>T4 is interesting and should be looked at more closely to adjust how what autogenerated code actually contains. As someone in the audience pointed out, however, the tooling support in VS for T4 is very (very) low. Not even color coding of T4 (&#8220;.tt&#8221;) files!</p>
<h2>Silverlight 4</h2>
<p>The Silverlight talk was the last of the day and did not contain that much demos or code. In fact, Scott talked quite a lot about already built Silverlight apps and sites using Silverlight. It was more about the end result, than on details on how to get there. But interesting nonetheless.</p>
<ul>
<li>Microsofts programs for developers to get application licenses: BizSpark, WebsiteSpark (websitespark.com).</li>
<li>Expression 3 Blend contains Sketchflow. Sketchflow Player shortly demoed. Impressive annotation capabilities, for instance when showing a sketch to a customer. Can save to Word document. Even used by some Flash agencies, so it seems Sketchflow is the first Microsoft application to make it into the visual designer space?</li>
<li>Sunday night football player is impressive Silverlight application for controlling live tv on your own. Source code available on CodePlex.</li>
<li>Bloomberg other company that builds on Silverlight.</li>
<li>Demoing Webcam capabilities with a Silverlight app (name &#8220;archetype&#8221;??). The same as he did in the PDC keynote with funny snapshot of his forehead.</li>
<li>IIS Media Services can be installed via Web Platform Installer.</li>
<li>IIS Smooth Streaming can adjust bitrate according to network and local cpu utilization.</li>
<li>Other areas with new support in Silverlight 4:</li>
<li>Printing</li>
<li>Rich text (showed a nice Silverlight Text Editor &#8211; source code?)</li>
<li>Clipboard</li>
<li>Right click [wasn't aware that this was missing]</li>
<li>Mouse wheel</li>
<li>Drag and drop between Silverlight and operating system.</li>
<li>Html control &#8211; can be used as a brush &#8211; showing demo (also from PDC) with Rick Astley on youtube and with the video still running after html control has been split up into puzzle pieces. However, I dont&#8217;t think you can interact with the html surface in that way?</li>
<li>Shared binary assemblies between .NET and Silverlight (no recompilation).</li>
<li>UDP, REST, WCF RIA Services.</li>
<li>Elevated trust: windowing with custom chrome.</li>
<li>Running code twice as fast as Silverlight 3.</li>
<li>Profiling support.</li>
<li>Silverlight feature voting on User Voice.</li>
<li>Release Candidate in early 2010, final release later [dare we guess at Mix10?]</li>
</ul>
<p>In a response to a question about Silverlight versus WPF, Scott saids that there is a new Office app coming out that is built on WPF. No more details though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/scott-guthrie-in-stockholm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Microsoft TechEd Europe 2009 in Berlin, Friday</title>
		<link>http://www.mikeplate.com/teched-2009-berlin-friday/</link>
		<comments>http://www.mikeplate.com/teched-2009-berlin-friday/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 18:00:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[TEE09]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=88</guid>
		<description><![CDATA[So the last day of TechEd is over. After a full week, my brain is a little tired. The last day doesn&#8217;t have the same energy as the other days. I find it somewhat unfortunate. The lunch was only a bag with sandwich, salad and stuff. The lunch break is shortened and only one session [...]]]></description>
			<content:encoded><![CDATA[<p>So the last day of TechEd is over. After a full week, my brain is a little tired. The last day doesn&#8217;t have the same energy as the other days. I find it somewhat unfortunate. The lunch was only a bag with sandwich, salad and stuff. The lunch break is shortened and only one session after lunch. Of course, people want to go home since I assume their brains are as tired as mine. But I did manage to retrieve some previously unknown facts for Silverlight.<span id="more-88"></span></p>
<h2>WIA308 The Biggest Little-Known Features in Silverlight &#8211; Jeff Prosise</h2>
<p>Name an extremely good, speedy and focused presenter that comes well prepared! Yes, you might say <a href="http://www.wintellect.com/CS/blogs/jprosise/default.aspx">Jeff Prosise</a>. This was one of the best sessions at TechEd. And definitely the most valuable code demos with <a href="http://www.wintellect.com/downloads/TechEdEurope2009.zip">zip download</a>. Stuff I already know I&#8217;ll use in my Silverlight projects in the future.</p>
<p>Things that Jeff went through:</p>
<ul>
<li>WebClient, HttpWebRequest and web services proxies all use the browser stack for communication as default. Can&#8217;t get soap exceptions, will be 404 instead.</li>
<li>Silverlight 3 has true client stack, not owned by browser.</li>
<li>Note that the browser stack will cache data, and the client stack will not.</li>
<li>Turn on by HttpWebRequest.RegisterPrefix(&#8220;http://&#8221;</li>
<li>Use event CompositionTarget.Rendering.</li>
<li>Intended for pictures in sample to load one by one, but they don&#8217;t. Because of threading model. Switching to this event fixes that. [But what about my own threads? Same thing?]</li>
<li>Enhanced frame-rate counter for diagnostics.</li>
<li>Vectors are gone when handing over to GPU. Canvas.CacheMode. Could lead to zooming pixelation.</li>
<li>BitmapCache.RenderAtScale = 4, assumes scaled up to 4 times when zooming.</li>
<li>Analytics class. About cpu load and GPU collection.</li>
<li>AssemblyPart class. Only download required assemblies. Better to deploy small .xap file. You do not have to give up strong typing either with a trick.</li>
<li>Some controls are in separate dll, Calendar is in System.Windows.Controls.</li>
<li>&#8220;The Calendar control might be one of the most useless controls in Silverlight&#8221; [but will serve our purpose as an example]</li>
<li>LayoutRoot.</li>
<li>Set Copy local = false. Uses OpenReadCompleted, OpenReadAsync, AssemblyPart, Load(e.Result).</li>
<li>Can&#8217;t register handler to Assembly.Resolver in Silverlight.</li>
<li>Put call in separate method &#8211; might work (if not inlined by compiler optimization).</li>
<li>[MethodImpl(MethodImplOptions.NoInlining)]</li>
<li>Application Extension Services &#8211; can plug in into app with same lifetime.</li>
<li>IApplicationService, Start/StopService, ApplicationLifetimeObjects.</li>
<li>Build your own services.</li>
<li>Visual.TreeHelper &#8211; Get to generated xaml by system, like templates.</li>
<li>No ItemCreated event exists for listbox (like in an ASP.NET Repeater).</li>
<li>&#8220;Visual.TreeHelper is the key to unlock modification of generated xaml&#8221;</li>
<li>Child windows = Modal dialogs</li>
<li>VirtualizingStackPanel &#8211; default for alist box. Not for combobox, need retemplating.</li>
<li>{RelativeSource} equivalent of two-way template binding.</li>
<li>[What is "SuperSlider" ?]</li>
<li>AutomationPeer &#8211; can simulate button clicks.</li>
<li>NetworkInterface.GetIsNetworkAvailable, NetworkChange.NetworkAddressChanged.</li>
</ul>
<p>Final verdict: this session was great!</p>
<h2>WIA301 Architecting Microsoft Silverlight Applications with MVVM &#8211; Shawn Wildermuth</h2>
<p><a href="http://wildermuth.com/">Shawn</a> knows a lot about the Model-View-ViewModel pattern but unfortunately he isn&#8217;t able to communicate that much of his knowledge. There is way too much code writing going on during his presentation. Also, even though there are a few pointers to take with you, I didn&#8217;t really feel that I got the whole gist of what is so great with the MVVM pattern.</p>
<p>Not that many notes:</p>
<ul>
<li>&#8220;The real problem is tight coupling.&#8221;</li>
<li>Prism + MVVM is a good match [watch other session about Prism]</li>
<li>The ViewModel&#8217;s goal is to take data from the model and format it suitable for the view to consume.</li>
<li>You should understand the pattern before using a framework to implement it.</li>
<li>ViewModel need to include INotifyPropertyChanged.</li>
<li>Error message handling belongs in the ViewModel.</li>
<li>Formatting is typically done in the View.</li>
<li>View: 100% xaml if possible, Silverlight 3 behaviors and element binding help.</li>
</ul>
<p>Final verdict: this session was ok.</p>
<h2>DEV05-IS Building Extensible Systems in Microsoft .NET Framework 4.0 and  Microsoft Silverlight &#8211; Magnus Mårtensson</h2>
<p>This session was first scheduled, then removed, and now reintroduced as the last session on friday. I don&#8217;t know the reasons behind this, but since it was the only session on MEF (Managed Extensibility Framework) I was pleased that it wasn&#8217;t killed after all. This should have meant less than perfect preparations for <a href="http://blog.noop.se/">Magnus</a>, which might have shown through &#8211; or he was just going with the fact that it was an interactive session. Anyway, it was a relaxed presentation where he took requests about what to demo and a lot of questions from the audience. As it turned out, it isn&#8217;t that much to the core of MEF, which I guess is only a good thing.</p>
<p>Last notes:</p>
<ul>
<li>ExtensibleApplication</li>
<li>Drop dll:s in folder &#8211; need [Import] and [Export] attributes.</li>
<li>Finding extensions: AssemblyCatalog + DirectoryCatalog = AggregateCatalog = CompositionContainer</li>
<li>SatisfyImportOnce(myObj);</li>
<li>[Export] class Foo</li>
<li>[Export(typeof(IFoo))] class Foo: IFoo</li>
<li>[Import] ILogger</li>
<li>Performance hit not that bad.</li>
<li>Visual Studio is moving into MEF for extensibility [not 2010?]</li>
<li>Can&#8217;t answer question about Prism, but Glen Block moved from Prism to MEF team.</li>
<li>Silverlight Grid Extensions.</li>
<li>Silverlight implementation of MEF is a one-liner PartInitializer.SatisfyImports(this) &#8211; catalogs not needed.</li>
<li>MEF basic parts: Export, Import, Compose.</li>
<li>[ImportMany] for multiple plugins at a single extension point.</li>
<li>Lazy&lt;T, TView&gt;, parts can have metadata.</li>
<li>Question about versioning of plugins &#8211; no clear answer.</li>
<li>&#8220;The pain-point of extensibility is gone.&#8221;</li>
<li>An extension can be marked as a singleton.</li>
</ul>
<p>Final verdict: this session was ok.</p>
<p>And the end has come.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/teched-2009-berlin-friday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft TechEd Europe 2009 in Berlin, Thursday</title>
		<link>http://www.mikeplate.com/teched-2009-berlin-thursday/</link>
		<comments>http://www.mikeplate.com/teched-2009-berlin-thursday/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 18:00:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[TEE09]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=67</guid>
		<description><![CDATA[Half time has passed and it is time to secure the most valuable knowledge before the week has ended. The tactics of session selection is complex. You could go for the topics that interest you the most, but since all of the breakout sessions are being recorded I would recommend to go more on the [...]]]></description>
			<content:encoded><![CDATA[<p>Half time has passed and it is time to secure the most valuable knowledge before the week has ended. The tactics of session selection is complex. You could go for the topics that interest you the most, but since all of the breakout sessions are being recorded I would recommend to go more on the speaker than the subject. That is, do you recognize the speaker name as someone who usually presents with passion, knowledge and wit, choose that session even if the actual topic isn&#8217;t your highest priority.<span id="more-67"></span></p>
<h2>DEV07-IS Developing a Language with the Dynamic Language Runtime &#8211; Harry Pierson</h2>
<p>Second session with Harry Pierson for me. It is obvious that I find myself more and more interested in dynamic languages. Harry was genuinely surprised to get an almost full interactive session about developing your own language on the DLR. However, I did find that the presentation was more in the direction that I had hoped for. It supplied a little background information about how the DLR and dynamic languages work on .NET and not so much about the specifics of developing your own language (which I don&#8217;t think I will).</p>
<p>Notes:</p>
<ul>
<li>Even back in .NET 1.0 there was a lot of language building blocks such as a rich meta data infrastructure and dynamic code generation with Emit.</li>
<li>[ASP.NET and its compilation-on-the-fly-need for aspx files might have been the/a driving force]</li>
<li>.NET 2.0 brought generics, dynamic method and fast delegates.</li>
<li>.NET 3.5 brought linq and expression trees.</li>
<li>Jim Hugunin, the inventor of Jython, set out to write about while the .NET platform was a bad foundation for dynamic languages but after 6 weeks failed and found .NET to be really good</li>
<li>Bad scenarios for IronPython: exceptions, which are used in Python for more than out-of-the-ordinary errors, are really slow on .NET. (some sort of lightweight exceptions has been discussed?)</li>
<li>.NET 4 brings dynamic dispatch, expression trees v2 and call site caching.</li>
<li>DLR also brings Hosting API, expression tree interpreter, lightweight debugger.</li>
<li>IronPython 2.6 is on the verge to ship.</li>
<li>Resolver is the largest customer of IronPython.</li>
<li>DLR is shipped in unusual way, some part of .NET 4 box, but also on Code Plex.</li>
<li>System.Core is available as open source on Code Plex.</li>
<li>Ruby and Ruby on Rails took one year to port to the DLR platform &#8211; evidence of efficiency in using the platform.</li>
<li>Expression trees v2 brings: Linq + Assignment + Control flow + Dynamic dispatch (=DLR expression trees).</li>
<li>LamdaCompiler takes expression tree and returns delegate for the compiled code.</li>
<li>CallSite&lt;T&gt; polymorphic inline cache</li>
<li>Dino lead dev on team</li>
<li>IronPython generates only one .NET class under the hood, unless if you derive from .NET classes/interfaces.</li>
<li>DLR Meta object protocol, MetaObject, GetMetaObject, Invoke MemberBinder.</li>
<li>CallSiteBinder.Update calls into DLR MetaObject binder, that calls into LanguageBinder which by default talks to CLR metadata reflection.</li>
</ul>
<p>Final verdict: this session was good.</p>
<h2>WIA303 Microsoft ASP.NET AJAX: Taking AJAX to the Next Level &#8211; Stephen Walther</h2>
<p>A session in a somewhat slower tempo, but still with good solid information. Stephen feels more like an educator, used to describing content to students, even though I don&#8217;t think he does that &#8211; probably just has personality (in all good ways).</p>
<p>And the notes:</p>
<ul>
<li>New areas: CDN (Content Delivery Network), Tools, Library</li>
<li>Improve performance by refering to Microsoft CDN for your jquery library.</li>
<li>Jquery-ui not available, but investigated.</li>
<li>&lt;ScriptManager EnableCdn=&#8221;True&#8221;&gt;</li>
<li>Tool: Microsoft Ajax Minifier &#8211; everyone should run a minifier.</li>
<li>Supports normal minification and also hypercrunching, meaning also changing names etc.</li>
<li>Can be run as command line or MSBuild task or component.</li>
<li>Library is delivered out-of-band, meaning not synced with .NET 4.0.</li>
<li>Open source aspect is rapidly evolving [taking contributions?]</li>
<li>&#8220;We pride ourselves in providing good client data access from javascript.&#8221;</li>
<li>Client Data Context</li>
<li>Client Templates</li>
<li>Client Data Binding</li>
<li>{{ can contain javascript }}</li>
<li>sys:src attribute on img-tag worries some people.</li>
<li>VS2010 supports intellisense with CDN hosted files.</li>
<li>start.js is the kick-off for the library.</li>
<li>Library can use jquery selector as argument.</li>
<li>Sys.bind, Sys.get, Sys.require</li>
<li>[Maybe more features/connection should be by convention and not declaratively or in code?]</li>
<li>When asking audience about who uses ADO.NET Data Services, only one raised his hand.</li>
<li>Data tracking in binding is great.</li>
<li>[But I want an event to hook up to, also. Is there an event system here also?]</li>
<li>Client Script Loader</li>
<li>All Microsoft Ajax Library controls are exposed as jquery plugins.</li>
<li>JQuery plugins show up in intellisense.</li>
</ul>
<p>Final verdict: this session was good.</p>
<h2>BOF14 Microsoft SharePoint, jQuery and Microsoft Silverlight: Better Together &#8211; Jan Tielens</h2>
<p>Full speed forward with demos during 40 minutes. Very good presentation by <a href="http://weblogs.asp.net/Jan/">Jan Tielens</a> from u2u &#8211; an education company in Belgium. Very interesting &#8220;injection&#8221; way of building user interfaces on top of SharePoint with jQuery and Silverlight. I assume using web services of the current site/list displayed, although he didn&#8217;t show any code.</p>
<p>A new notes jotted down during the demos:</p>
<ul>
<li>ContentEditorWebPart used for adding html with script</li>
<li>$(document).ready(function() { }); &#8211; jquery for onload</li>
<li>AdditionalPageHead delegate (delegate control in a feature).</li>
<li>MasterPage for adding html with script.</li>
<li>Site Page in uploaded aspx-file in document library.</li>
<li>Only running javascript when installing (no server code); uploading js-files etc.</li>
<li>Found in SmartTools JQuery Loader on Code Plex.</li>
<li>Task notifications.</li>
<li>Jquery Sparklines for clock.</li>
<li>Extended Edit Control Block for menu items in a context menu.</li>
<li>Client side object model for JavaScript in SharePoint 2010.</li>
<li>Silverlight is .xap files &#8211; uploaded to document library.</li>
<li>SPTubePlayer silverlight sample for videos found in a document library, read by the player.</li>
<li>SL.Visifire.Charts.xap beautiful charts in Silverlight with data from SharePoint.</li>
</ul>
<p>Final verdict: this session was great!</p>
<h2>ARC308 Credit Crunch Code: Time to Pay Back the Technical Debt &#8211; Gary Short</h2>
<p>Should be nice to get some architectural advice. I&#8217;ve been around long enough in this business, listening to architectural talks, that it is hard to come up with something really new and earth-shattering (impossible?). Given that fact, Gary delivers a solid reflection on how to use numbers and economics to find bad parts in your projects and have the businesses understand and act on them [my interpretation of what Gary said].</p>
<p>Final verdict: this session was ok.</p>
<h2>DEV03-IS Using Microsoft Visual C# 4.0 and Visual Basic 2010 Interop Features with Microsoft Silverlight, Office and Python &#8211; Alex Turner</h2>
<p>Alex Turner is the program manager for the C# compiler at Microsoft. He demonstrated new features in C# that has more or less existed previously in Visual Basic. It is about writing prettier and more succinct code when calling out to other object models, specifically dynamic languages like JavaScript or Python and COM interop. Nice info, but the session finished early because there was not that much content to talk about. Good things nonetheless.</p>
<p>Basically, the C# compiler will know a few things about COM, specifically againt Office Interop, and do some magic so we don&#8217;t have to write so much code anymore.</p>
<p>Disparate notes:</p>
<ul>
<li>Silverlight scenario calling out to hosting page.</li>
<li>ScriptObject, win.CreateInstance remains, can&#8217;t create type other way from other technology domain.</li>
<li>Browser specific issues (Firefox) stopped Silverlight from caring about removing properties.</li>
<li>Dynamic interop using Word = Microsoft.Office.Interop.Word.</li>
<li>Intellisense in brackets, argument is optional.</li>
<li>Bad typing in Office objet models works i VB because it doesn&#8217;t care as much about types, but is troublesome in C# and now works better with dynamic keyword.</li>
<li>Keyword dynamic &#8211; better than object, and returned from Com Interop.</li>
<li>dynamic xl = new Excel.App();</li>
<li>xl.Cells[1, 1] = &#8220;x&#8221;;</li>
<li>xl.Range["A1", "C4"].Copy();</li>
<li>Fills in vtMissing automatically.</li>
<li>word.Selection.PasteSpecial(Link: true); &#8211; named parameters.</li>
<li>IronPython 2.6 CTP Beta 2 now available.</li>
<li>IronPything.Hosting, Microsoft.Scripting.Hosting</li>
<li>Python.CreateRuntime, py.UseFile(&#8220;myfile.py&#8221;)</li>
<li>CallSite: DLR has cached the delegate, next time the binding is in place</li>
<li>Natural interop with diverse object models.</li>
<li>DynamicDispatch.</li>
<li>No colourization when working with dynamic, expect 3rd parties to pick it up since code model is in VSIP.</li>
</ul>
<p>Final verdict: this session was ok.</p>
<h2>OFS321 Building Powerful Business Intelligence Solutions on the SharePoint 2010  Platform &#8211; Zlatan Dzinic</h2>
<p>Oops. Wrong session for me. Don&#8217;t know how I ended up here, but this was really boring stuff and the demos didn&#8217;t go that well for Zlatan either. Excel Services, Performance Point Server, and now there is PowerPivot. Not my cup of tea. Unfortunately, the whole concept of BI on SharePoint felt very messy and unfocused.</p>
<p>Zlatan reminds me of sales guy that doesn&#8217;t have a clue about what he is talking about and overtries to communication passion where there is none. However, I do have a suspicion that Zlatan knows much more than he is able to communicate and that the passion is real and not as fake as it comes across.</p>
<p>Final verdict: this was a complete waste of time (for me, at least)!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/teched-2009-berlin-thursday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft TechEd Europe 2009 in Berlin, Wednesday</title>
		<link>http://www.mikeplate.com/teched-2009-berlin-wednesday/</link>
		<comments>http://www.mikeplate.com/teched-2009-berlin-wednesday/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 18:00:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[TEE09]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=58</guid>
		<description><![CDATA[Day three at TechEd was the best one this far. Maybe getting better at selecting good sessions and speakers, which is always somewhat of a science in itself. The food is great, even better than in Barcelona. After some glitches with queuing to the lunch rooms the first day, everything has run smoothly. Warm food [...]]]></description>
			<content:encoded><![CDATA[<p>Day three at TechEd was the best one this far. Maybe getting better at selecting good sessions and speakers, which is always somewhat of a science in itself.</p>
<p>The food is great, even better than in Barcelona. After some glitches with queuing to the lunch rooms the first day, everything has run smoothly. Warm food buffet style with vegetables and rolls. Very tasty indeed.<span id="more-58"></span></p>
<h2>WIA06-IS The Orchard Project &#8211; An interactive discussion on delivering.NET-based  open source applications and components &#8211; Bradley Millington</h2>
<p>This could be one of the most unknown release sessions of all of TechEd. In fact, the code for <a href="http://orchard.codeplex.com/">Orchard</a> was released to Code Plex yesterday, so today is the first time Bradley Millington from the team is speaking publicly about it. Although he didn&#8217;t want to make a big deal of it. It is, after all, a project in its very early stages.</p>
<p>Orchard is an open source project with a Microsoft team of seven people. It is a platform for content management and more. You can easily compare it to <a href="http://wordpress.org/">WordPress</a>, and think of it as a &#8220;WordPress killer&#8221;, but those are my words and nothing that Bradley referred to at all. However, it is pretty easy to see the similarities with WordPress although far far far from the feature set (as of today).</p>
<p>There are of course open source content management systems for the .NET platform, but I find this very interesting since it is coming from Microsoft and therefore has potential for being important. I felt this was the most interesting project of all the projects presented in one form or the other (commercial or otherwise) at this year&#8217;s TechEd. Lets hope it will live a long and happy life.</p>
<p>Some notes from Bradleys talk:</p>
<ul>
<li>Project will accept contributions &#8220;soon&#8221;.</li>
<li>Step one is a cms, and it&#8217;s likely to be the successor to Oxite.</li>
<li>Currently the team is working on: CMS Pages, Drafts, Publishing, Media Management, Users, Roles and LiveWriter compatibility.</li>
<li>Working in 3-week iteration cycles, at the tail of 2nd iteration now.</li>
<li>Please comment on specifications on Code Plex.</li>
<li>For now, focusing on admin and not so much the front end.</li>
<li>Using MVC 2 Preview 2, uses &#8220;area&#8221; feature.</li>
<li>A web page consist of zones with content.</li>
<li>Other content types than web pages will be introduced.</li>
<li>Question raised about how zones will work with LiveWriter.</li>
<li>Looking at using Lucene for search.</li>
<li>Extension model within 6 months.</li>
<li>Send feedback to <a href="mailto:ofeedbk@microsoft.com">ofeedbk@microsoft.com</a>.</li>
<li>Public mailing list is coming.</li>
<li>Uses <a href="http://nhforge.org/Default.aspx">NHibernate</a> for ORM, and <a href="http://www.sqlite.org/">Sqlite</a> is the default database (MSSQL supported).</li>
<li>Uses <a href="http://tinymce.moxiecode.com/">TinyMCE</a> as the html editor. Not much customization yet.</li>
<li>Used <a href="http://mef.codeplex.com/">MEF</a> (Managed Extensibility Framework) in prototyping but didn&#8217;t like it. Has built a custom lightweight IOC container. MEF was too explicit in demanding import and export attributes. Not as convention based as wanted.</li>
<li>Question about multi-tenant, and the team is looking at that also.</li>
<li>Question about how close this could be to SharePoint &#8211; far away but certainly valid question.</li>
<li>Used to run on <a href="http://www.mono-project.com/">Mono</a>, but a new dependency [according to attendee] made it fail. Will probably be resurrected on Mono.</li>
</ul>
<p>Final verdict: this session was great!</p>
<h2>DEV306 F# for Parallel and Asynchronous Programming &#8211; Don Syme</h2>
<p>Another fast and beatifully performed demo of F# by <a href="http://blogs.msdn.com/dsyme/">Don Syme</a>. Not that much discussion about the F# language (all correct according to the session description), but I think he stilled managed to give everyone a short introduction to F# in the more general sense also. Some code snippets was very briefly looked at and although I didn&#8217;t understand everything he went through, I liked the pace and the content.</p>
<p>A few notes:</p>
<ul>
<li>Don Syme was involved in the generics work on the .NET platform.</li>
<li>F# keywords are: simplicity, economics, parallel.</li>
<li>Comparing F# to C#: C# has more noise than signal.</li>
<li>.NET 4 has introduced tuples [which was used in the demo].</li>
<li>&#8220;I sometimes think of F# as a strongly typed Python&#8221;</li>
<li>Whitespace matters in F#.</li>
<li>(1,2,3) |&gt; show is equivalent to show(1,2,3) [approx]</li>
<li>let! (pronounced let-bang) for asynchronous assignments.</li>
</ul>
<p>Final verdict: this session was good.</p>
<h2>DEV01-DEMO Microsoft Visual Studio Team System 2010 Team Foundation Server:  Become Productive in 30 Minutes &#8211; Brian Randell</h2>
<p>In under 30 minutes <a href="http://www.mcwtech.com/blogs/brianr/">Brial Randell</a> manages to install Team Foundation Server on a client operations system such as Windows 7. Brian is very entertaining in his presentation and makes a good case for using TFS on your laptop or otherwise &#8220;disconnected&#8221; (from central server) development machine.</p>
<p>No specific notes from this session.</p>
<p>Final verdict: this session was good.</p>
<h2>DEV204 Unit Testing Best Practices &#8211; Roy Osherove</h2>
<p>Unfortunately Roys guitar was broken so we didn&#8217;t get to hear him <a href="http://www.youtube.com/watch?v=XV5fViOoV_8">sing one of his songs</a>. On attendee left after this breaking news story &#8211; no, just kidding. <a href="http://weblogs.asp.net/rosherove/">Roy</a> is very competent and highly knowledgeable in his field, which is unit testing (and more, I&#8217;m sure!). He calmly and thoughtfully presents his views and tips when doing unit testing in your projects. Nothing earth shattering here (either), but still very good advice to think about in your daily development life.</p>
<ul>
<li>All your tests must be: trustworthy, maintainable and readable.</li>
<li>&#8220;TDD works because it starts with a failed test&#8221;</li>
<li>&#8220;Unit tests are small use cases for your code&#8221;</li>
<li>Do test reviews, not just code reviews.</li>
<li>Beware: don&#8217;t mix unit testing with integration testing.</li>
<li>Use separate folders in your projects for unit and integration tests.</li>
<li>Roy uses TestDriven.NET.</li>
<li>Good code coverage is usually 95-100% but coverage in itself is not enough, the goal must be to have good tests.</li>
<li>Roy is using Resharper in the demos.</li>
<li>Test check: change if conditions to constant true (or false), some tests should fail!</li>
<li>Avoid test logic (if, for etc). Tests should only be a bunch of calls &#8211; no logic. An if statements in a test method probably means you should have two test methods in stead.</li>
<li>Don&#8217;t repeat production logic in your tests.</li>
<li>Use hard-coded values in tests (not DateTime.Now).</li>
<li>Don&#8217;t remove old tests. Add in stead of change, if possible.</li>
<li>&#8220;Range tests are not unit tests&#8221;</li>
<li>Don&#8217;t run a test from another test.</li>
<li>Avoid multiple asserts in a single test. Unless testing the same concept.</li>
<li>No magic numbers in your arguments, use constants in stead where the name clearly indicates why that number is used in the test.</li>
<li>Naming your test methods: What is under test? What is the scenario? What is the result?</li>
<li>Naming sample: Add_LessThanZero_ThrowsException.</li>
<li>Use simplest values when testing. If any integer will do the test, don&#8217;t use &#8220;123&#8243;, but rather &#8220;0&#8243; or &#8220;1&#8243;.</li>
<li> Roy performs test reviews on his blog &#8211; for further reading.</li>
</ul>
<p>Final verdict: this session was good.</p>
<h2>WIA404 Data Driven Microsoft ASP.NET Web Forms Applications Deep Dive &#8211; <span>Jeff King</span></h2>
<p>Jeff King delivers yet another solid walk through of new features in ASP.NET web forms for .NET 4.0. Quite a few things has happened. Better JavaScript integration, usage of ADO.NET data services and more. The templating story has improved. You can now template field types and/or individual fields.</p>
<p>Some classes and/or methods that Jeff showed (look them up to learn more):</p>
<ul>
<li>EnablePersistedSelection</li>
<li>SortedAscendingCellStyle</li>
<li>EnableDynamicData(typeof(xyz))</li>
<li>Look at field templates (int, string etc) placed in ascx-files.</li>
<li>MetaDataType, ScaffoldColumn, Display, DataType, Range (for validation)</li>
<li>MetaModel</li>
<li>ContentTypeName</li>
<li>DynamicDataManager, DynamicField, DynamicEntity</li>
<li>Page templates &#8211; for the entire application</li>
<li>Routing, url routing module (as in MVC), dynamic route.</li>
<li>QueryBlockExtender, QueryExtender, SearchExpression, ControlParameter</li>
<li>DomainDataSouce control after .NET 4.0.</li>
</ul>
<p><span>Final verdict: this session was good.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/teched-2009-berlin-wednesday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft TechEd Europe 2009 in Berlin, Tuesday</title>
		<link>http://www.mikeplate.com/teched-2009-berlin-tuesday/</link>
		<comments>http://www.mikeplate.com/teched-2009-berlin-tuesday/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 18:00:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[TEE09]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=54</guid>
		<description><![CDATA[Day two was also mixed. Three good presentations and two wastes of time. Berlin Messe is really a huge complex. I&#8217;ve noted that some have complained about the long distances between session rooms, technical learning center, lunch and so on. Yes, it was more compact in Barcelona, however I didn&#8217;t find it to be a [...]]]></description>
			<content:encoded><![CDATA[<p>Day two was also mixed. Three good presentations and two wastes of time.</p>
<p>Berlin Messe is really a huge complex. I&#8217;ve noted that some have complained about the long distances between session rooms, technical learning center, lunch and so on. Yes, it was more compact in Barcelona, however I didn&#8217;t find it to be a big issue. With 30 minutes between sessions it is not a problem. The conference material states that there would be no wifi connectivity inside session rooms (which seemed a bit odd in these times of twittering), but it turned out that it was only in a few session rooms this was true. I had good enough connectivity in most session rooms.<span id="more-54"></span></p>
<h2>OFS215 Microsoft SharePoint Server 2010 Introduction for Developers &#8211; Paul Andrew</h2>
<p><a href="http://blogs.msdn.com/pandrew/">Paul Andrew</a> is on the SharePoint team and provided a very good overview of the new features in 2010 for developers. The level of speed and depth were perfect for me, which is seldom the case in a session. However, if you knew more about SharePoint it might have been a little too slow. But it is of course impossible to please all listeners.</p>
<p>A few things I particularly liked:</p>
<ul>
<li>Developer dashboard. A placer for debugging info and a way to turn on diagnostics and traces as part of a rendered web page. Can even click sql-statements that has been sent to server and look at them.</li>
<li>SharePoint 2010 public beta will be available in november.</li>
<li>A package in Visual Studio 2010 project represents the wsp file. [WSPBuilder may not have a bright future.]</li>
<li>Inline web parts in a wiki text.</li>
<li>Linq-to-SharePoint.</li>
<li>Old WSS (Windows SharePoint Services), the free stuff, is now SharePoint Foundation.</li>
<li>Old BDC (Business Data Catalog) is now Business Connectivity Services and is included in SharePoint Foundation (=free). Also has write capability (read-only previously).</li>
<li>You can &#8220;generate&#8221; SharePoint lists in your own .NET code, a sort of virtual SharePoint lists. Other sources for a virtual list [actually called an external content type, I think] are sql connection strings and web services.</li>
<li>BDC explorer in Visual Studio 2010.</li>
</ul>
<p>Final verdict: this session was good.</p>
<h2>DEV317 Agile Patterns: Agile Estimation  &#8211; Stephen Forte</h2>
<p>Getting your estimates correct is always difficult. I can&#8217;t say that <a href="http://www.stephenforte.net/">Stephen Forte</a> introduced something substantially new that will make all your estimates be right from now on. But that was of course not his intention either (pigs can&#8217;t fly). He did have a few tips and points though, and it is obvious that he has been around enough projects to know what he is talking about.</p>
<p>Some good points to remember:</p>
<ul>
<li><a href="http://www.construx.com/Page.aspx?hid=1648">The Cone of Uncertainty</a> is a diagram borrowed from <a href="http://www.stevemcconnell.com/">Steve McConnell</a> that shows the correlation between time/experience/data and certainty in estimates.</li>
<li>&#8220;By definition, estimates are wrong&#8221;</li>
<li>&#8220;Agile is about involving the business&#8221;</li>
<li>&#8220;Deviations are not deviations, they are more accurate estimations&#8221;</li>
<li>Make sure the business writing the user stories also includes acceptance criteria.</li>
<li><a href="http://www.planningpoker.com/">Planning Poker</a> is a good way to get estimates from the team without enforcing any predefined perceptions on your team members (like a boss sayin &#8220;this must be easy&#8221;).</li>
<li>Set story points for user stories. Unit can be one day, but doesn&#8217;t have to &#8211; use other if you want.</li>
<li>Velocity is the number of story points per an iteration.</li>
<li>Always re-estimate your stories before the next iteration.</li>
<li>Putting everything in the backlog means items will get stale, so avoid that.</li>
<li>&#8220;My favorite card when playing planning poker is infinity&#8221;</li>
<li>&#8220;Business people are always wrong. They think easy things are hard, and hard things are easy&#8221;</li>
<li>The users / the business should be able to see the backlog and the estimates.</li>
<li>The business sets the priority.</li>
</ul>
<p>Final verdict: this session was good.</p>
<h2>INT305 Code Walkthrough of a Cloud Application Running on the Windows Azure  Platform &#8211; Kurt Claeys</h2>
<div>This session was presented by last years winner of Speaker Idol. I don&#8217;t know if that knowledge beforehand, would have changed my choice, though, since that should mean that the presenter has really taken the time to prepare a great session. This was unfortunately not the case. Not that the code didn&#8217;t work, but it was really really boring with no feeling for what the audience might be interested in.</div>
<div>Anyway, I did write down a few notes:</div>
<div>
<ul>
<li>When running a fabric simulation locally, Azure tables are actually tables in a sql server express database. [This confused some participants, Kurt didn't explain exactly what the difference is.]</li>
<li>Azure Blobs has a REST api.</li>
<li>There is both a PartitionKey and a RowKey when dealing with Azure tables. [Need to investigate exactly what this means - another missed opportunity for the presenter to enlighten the audience.]</li>
<li>Windows Azure can run in full trust, but you need to set attribute enableNativeCodeExecution in config file.</li>
<li>There is a Linq-to-Azure-tables api.</li>
<li>WCP has support for duplex binding, and the NetEventRelayBinding can be used to have your code be notified.</li>
</ul>
</div>
<div>Final verdict: this session was a waste of time!</div>
<h2>DAT206 Microsoft SQL Server 2008 R2 Demo Power Hour &#8211; Donald Farmer</h2>
<div>This was a waste of time for me. Some part because it was an IT session and not a developer session. Some part because the presentors had some problems and didn&#8217;t seem prepared. For that matter, maybe also because SQL2008 R2 doesn&#8217;t really have anything new or interesting in it besides Powerpivot which seemed more like an Office/Excel update.</div>
<div><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<ul>
<li>SQL2008 R2 is simply a refresh and not a new release with upgrade paths etc.</li>
<li>SQL2008 R2 was known as the BI release, but since then more features have been added.</li>
<li>Project Madison = SQL2008 R2 Parallel Warehouse, will handle hundreds of terabytes on commodity hardware.</li>
<li>Powerpivot is a separate application/download. Looks like Excel 2010. Instant sorting and filtering of 100.000.000 rows. Data file only takes up 200 MB, good compression.</li>
<li>SQL2008 R2 CTP releases next week.</li>
<li>Powerpivot gallery in SharePoint 2010.</li>
</ul>
</div>
<div>Final verdict: this session was a waste of time!</div>
<h2>DEV04-IS Pumping Iron: Dynamic Languages on the Microsoft .NET Framework &#8211; Harry Pierson</h2>
<p>First &#8220;interactive session&#8221; of this years TechEd for me. This format is a bit of an oddball. I normally prefer to sit back and enjoy a lot of information and demos. Now, as it usually turns out, most interactive sessions end up this way anyway and so did this one. <a href="http://www.devhawk.net/">Harry Pierson</a> is obviously very passionate about <a href="http://ironpython.codeplex.com/">IronPython</a> (in a good way!). It was very interesting to hear his thoughts about dynamic languages place in the .NET world.</p>
<p>Google is doing a project where they are trying to improve Python performance by a factor of 5. Harry didn&#8217;t think they would make it because of inherent problems with performance of dynamic languages.</p>
<p>Some notes from the session:</p>
<ul>
<li>Powershell is a dynamic language.</li>
<li>Dynamically typed languages are much more flexible.</li>
<li>It is relatively easy to write a language within a language with for instance Ruby [Linq comparison to class Customer &lt; ActiveRecord::base from Ruby on Rails.]</li>
<li>MIT now uses Python as an introduction language for students.</li>
<li>Dynamic languages are &#8220;short on ceremony&#8221; compared to statically typed.</li>
<li>Aspect oriented programming is native to Python. Python brings verbs together.</li>
<li>IronPython is a first class citizen in .NET.</li>
<li>Python has no new keyword.</li>
<li>C# 4.0 has dynamic keyword.</li>
<li>Easy to extend your application with Python. ScriptRuntimeSetup, ScriptRuntime, CreateEngine.</li>
<li>Lightweight debugging concept in Python [or the DLR?]</li>
<li>Very small team at Microsoft, only 8 people.</li>
<li>Mono platform runs the <a href="http://dlr.codeplex.com/">DLR</a> (Dynamic Languages Runtime).</li>
<li><a href="http://ironruby.codeplex.com/">IronRuby</a> is not as mature as IronPython right now. vNext for IronRuby is still in the works.</li>
</ul>
<p>Final verdict: this session was great!</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 1339px; width: 1px; height: 1px;"><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm;">SQL2008 R2 was known as the BI release, but since then more features have been added</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/teched-2009-berlin-tuesday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft TechEd Europe 2009 in Berlin, Monday</title>
		<link>http://www.mikeplate.com/teched-2009-berlin-monday/</link>
		<comments>http://www.mikeplate.com/teched-2009-berlin-monday/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 20:00:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[TEE09]]></category>

		<guid isPermaLink="false">http://www.mikeplate.com/?p=52</guid>
		<description><![CDATA[First day at TechEd was a little mixed. I don&#8217;t understand the thinking behind putting the keynotes after lunch and after we&#8217;ve already had a few sessions. Isn&#8217;t a keynote suppose to kick off a conference? On the other hand, keynotes with nothing to launch is usually really boring and so was this one. More [...]]]></description>
			<content:encoded><![CDATA[<p>First day at TechEd was a little mixed. I don&#8217;t understand the thinking behind putting the keynotes after lunch and after we&#8217;ve already had a few sessions. Isn&#8217;t a keynote suppose to kick off a conference? On the other hand, keynotes with nothing to launch is usually really boring and so was this one. More passion for great products, please! Also, note that I&#8217;m talking about the developer keynote (called &#8220;general session&#8221;) and not the &#8220;real&#8221; keynote that was only for IT guys (in my opinion) and skipped by me.<span id="more-52"></span></p>
<h2>ARC201 The Windows Azure Platform: When and Why to Use It &#8211; <span>David Chappell</span></h2>
<p><span><a href="http://www.davidchappell.com/blog/index.php">David Chappell</a> is a really nice calm guy with a lot of intelligent ways (like pauses) to get his message across in a presentation. He doesn&#8217;t feel like a technical geek (like me), but still at least seems to have a lot of knowledge about the things he is talkning about albeit at a higher (architectural) level. Simply put: he is really easy to listen to.</span></p>
<p><span>So, what did he say?</span></p>
<ul>
<li>The cloud is the sixth category of computing platforms since the beginning, the other ones are mainframes, minicomputers, pc:s, mobiles and servers.</li>
<li><span>Azure applications only run in user mode. Can&#8217;t use admin mode. (Not clear exactly what he defined as admin mode &#8211; probably just in the general sense.)</span></li>
<li><span>Future versions of Azure will probably allow more and more access to the VM.</span></li>
<li>Azure storages facilities are blobs, tables and queues.</li>
<li><span>Azure Tables are not tables, and should therefore never have been called that.</span></li>
<li>.NET Services are part of the Azure platform, but have little to do with .NET. Is a service bus and an access control helper.</li>
<li>More VM sizes will be announced at PDC. Now only the smallest type of VM has a price.</li>
<li>Scenarios where Azure is valid are for: scale, reliability, variable load, short lifetimes, parallel processing, startups failing quickly, neutral grounds.</li>
<li><span>There is no lock-in like cloud lock-in.</span></li>
<li>Remember that if you shut down a VM or Sql Azure database, everything is gone the next month.</li>
<li>Hosting is in no way going away.</li>
<li>Three biggest competitor are Amazon (AWS, EC2, EDS), Google (AppEngine) and Force.com.</li>
<li>Amazons VM:s runs Windows and are your own &#8211; better admin capabilities, no fabric/autoscaling. RDS for data is based on MySQL.</li>
<li>Google AppEngine only supports Python and Java. Has no relational data story. Focused on web startups.</li>
<li>Force.com has bigger differences. Targets business people. Lock-in forever, but otherwise works great. Microsoft xCRM might happen and be a contender.</li>
</ul>
<p>Final verdict: this talk was great!</p>
<h2>DAT204 What&#8217;s New in Microsoft SQL Azure (*PDC at TechEd) &#8211; David Robinson</h2>
<p>David Robinson is on the Sql Azure team and sure enough had some information to deliver to us directly from Redmond. Now, my feeling is that Sql Azure is about being as equal to Microsoft Sql Server as possible and therefore it is hard to find features that appeal to you or that you can set to use immediately. What matters is simply what you need to avoid in an application based on Windows Azure and Sql Azure.</p>
<p>Session notes:</p>
<ul>
<li>Sql Azure is not database hosting (locked down but autoscalable).</li>
<li>European data center is only weeks away.</li>
<li>Dropped server is gone &#8211; but might be resurrected with support phone call (only flagged for deletion initially).</li>
<li>Firewall rules are stored in Master database on server.</li>
<li>Usage metrics via sys.bandwidth_usage.</li>
<li>Coming up: sys.database_usage.</li>
<li>Coming up: automatic partitioning of data in tables between servers (since there is a 1/10 GB limit). Until then there are code drops for doing it in code.</li>
<li>Limits of 1/10 GB will likeley increase after release of V1.</li>
<li>Time limit for idle connections are 5 minutes. Be prepared in your code to retry.</li>
<li>Patterns &amp; Practices will come out with guidance for connections etc.</li>
<li>Backups will be available after V1.</li>
<li>Also working on spatial and clr support.</li>
<li>Reporting services can pull data from Sql Azure today.</li>
<li>BI in the cloud is in the plans.</li>
<li>Profiling and visible cpu cycles etc will come after V1.</li>
<li>Sql Azure will release updates continuously, minor very 8 weeks and mayor twice a year.</li>
<li>Microsoft Sync Framework will sync between Sql Azure and local Sql Server.</li>
<li>Don&#8217;t put mission critical apps in Sql Azure (yet)!</li>
<li>Sql Management Studio will be updated this month in order to work with Sql Azure (not only query window, which works today).</li>
</ul>
<p>Final verdict: this talk was good.</p>
<h2>DEV-GEN Developer General Session &#8211; Visual Studio 2010: New Challenges, New  Solutions &#8211; Jason Zander</h2>
<p>As already stated, this was a really boring keynote. Of course, it may not have helped that it was right after lunch. I had a hard time staying awake and I don&#8217;t even remember what he and other presentors talked about. I do remember that Jason had rewarded a few customers with the opportunity to demonstrate their products or services as the demo part of the keynote. Maybe this was part of the program. I don&#8217;t think this is a good idea since it is sooo easy that it turns into a sales talk and a praise talk of Microsoft that lacks credibility.</p>
<p>Final verdict: this talk was a waste of time!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikeplate.com/teched-2009-berlin-monday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: www.mikeplate.com @ 2010-09-07 11:11:21 -->