<?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>PeterKellner.net &#187; Presentations</title>
	<atom:link href="http://peterkellner.net/category/presentations/feed/" rel="self" type="application/rss+xml" />
	<link>http://peterkellner.net</link>
	<description>Microsoft Focussed, JavaScript (ExtJS, SenchaTouch &#38; Windows 8 Metro)</description>
	<lastBuildDate>Tue, 07 Feb 2012 21:14:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Building Hugely Performant Websites: Taking advantage of HTML5 Storage, 3rd DevConnections Orlando Presentation</title>
		<link>http://peterkellner.net/2011/03/31/building-hugely-performant-websites-taking-advantage-of-html5-storage-3rd-devconnections-orlando-presentation/</link>
		<comments>http://peterkellner.net/2011/03/31/building-hugely-performant-websites-taking-advantage-of-html5-storage-3rd-devconnections-orlando-presentation/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 12:08:56 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Sencha]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/03/31/building-hugely-performant-websites-taking-advantage-of-html5-storage-3rd-devconnections-orlando-presentation/</guid>
		<description><![CDATA[&#160;  For my final of 3 presentations at DevConnections Orlando is about building a hugely performant web application with html5 storage.&#160; The app we built was a simple photo viewer that let you first look at hour images on line, then view them being pulled from local storage.&#160; Here are a couple screen shots [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>  <p>For my final of 3 presentations at <a href="http://www.devconnections.com/conf/sessions.aspx?s=159">DevConnections</a> Orlando is about building a hugely performant web application with html5 storage.&#160; The app we built was a simple photo viewer that let you first look at hour images on line, then view them being pulled from local storage.&#160; Here are a couple screen shots of what we built:</p>  <p><a href="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/image_thumb.png" width="201" height="244" /></a><a href="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/image_3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/image_thumb_3.png" width="244" height="102" /></a></p>  <p>And, here is the Visual Studio 2010 Project File:</p>  <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:e52bcc8c-8f42-4c4d-952d-3ec1008e07cd" class="wlWriterEditableSmartContent"><p><div><a href="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/MvcApplication1.zip" target="_self">Visual Studio Project File Zip</a></div></p></div>  <p>&#160;</p>  <p><a href="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/image_4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/image_thumb_4.png" width="159" height="244" /></a><a href="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/IMAG0176.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0176" border="0" alt="IMAG0176" src="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/IMAG0176_thumb.jpg" width="244" height="148" /></a><a href="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/IMAG0199.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0199" border="0" alt="IMAG0199" src="http://peterkellner.net/FilesForWebDownload/Building-Hugely-Performant-Websites-Taki_6E8B/IMAG0199_thumb.jpg" width="244" height="148" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/03/31/building-hugely-performant-websites-taking-advantage-of-html5-storage-3rd-devconnections-orlando-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DevConnections Orlando, Build Advanced Web UIs with a Rich JavaScript UI Language</title>
		<link>http://peterkellner.net/2011/03/30/devconnections-orlando-build-advanced-web-uis-with-a-rich-javascript-ui-language/</link>
		<comments>http://peterkellner.net/2011/03/30/devconnections-orlando-build-advanced-web-uis-with-a-rich-javascript-ui-language/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 14:26:30 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[MVC3]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Sencha]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/03/30/devconnections-orlando-build-advanced-web-uis-with-a-rich-javascript-ui-language/</guid>
		<description><![CDATA[   To build fully-featured web applications that support complex interaction in a reasonable amount of time requires a high-end JavaScript library. Someday, maybe JQueryUI will be good for this, but for now, the choices are few and include ExtJS, Dojo, YUI and a handful of others. This session will use ExtJS as the [...]]]></description>
			<content:encoded><![CDATA[<blockquote>   <p>To build fully-featured web applications that support complex interaction in a reasonable amount of time requires a high-end JavaScript library. Someday, maybe JQueryUI will be good for this, but for now, the choices are few and include ExtJS, Dojo, YUI and a handful of others. This session will use ExtJS as the example. We will use Microsoft’s ASP.NET MVC as the data / CRUD layer and from that, we will build a typical LOB (line of business) application using complex UI elements. Those elements include layout managers, data grids, extensive validation, spinner controls and other advanced UI features. To get an idea of what I’m talking about, spend five minutes looking at the examples on the ExtJS web site demonstrating these advanced web UI features <a href="http://www.sencha.com/products/js/">http://www.sencha.com/products/js/</a>. You will be convinced that spending hundreds of hours trying to build something not nearly as well done as this is a waste of time when there are such excellent libraries already built for you.</p> </blockquote>  <p>The source attached below for my demos.</p>  <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:e83cd384-32b1-473e-a4b3-7328eea142cb" class="wlWriterEditableSmartContent"><p><div><a href="http://peterkellner.net/FilesForWebDownload/P_8B12/DemoApp.zip" target="_self">Project Used For Demo (Including Notes as txt files)</a></div></p></div>  <p><a href="http://peterkellner.net/FilesForWebDownload/P_8B12/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/P_8B12/image_thumb.png" width="244" height="208" /></a></p>  <span id="more-1455"></span>  <p>Final <a href="http://sencha.com">ExtJS4</a> JavaScript (that didn’t quite work, but working now)</p>  <div id="codeSnippetWrapper">   <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #008000">// Load dependencies</span><br />Ext.require([<br />    <span style="color: #006080">'Ext.data.*'</span>,<br />    <span style="color: #006080">'Ext.button.*'</span>,<br />    <span style="color: #006080">'Ext.form.*'</span><br />]);<br /><br />Ext.onReady(<span style="color: #0000ff">function</span> () {<br /><br />    <span style="color: #008000">// Date renderer</span><br />    <span style="color: #0000ff">var</span> dateConvert = <span style="color: #0000ff">function</span> (val, record) {<br />        <span style="color: #0000ff">if</span> (val.split(<span style="color: #006080">'('</span>).length == 2) {<br />            <span style="color: #0000ff">var</span> dateObj = <span style="color: #0000ff">new</span> Date(parseInt(val.substr(6)));<br />            <span style="color: #0000ff">return</span> Ext.util.Date.format(dateObj, <span style="color: #006080">'m/d/Y'</span>);<br />        } <span style="color: #0000ff">else</span> {<br />            <span style="color: #0000ff">return</span> val;<br />        }<br /><br />    }<br /><br />    Ext.regModel(<span style="color: #006080">'Users'</span>, {<br /><br />        fields: [<br />            { name: <span style="color: #006080">'Id'</span>, type: <span style="color: #006080">'int'</span> },<br />            { name: <span style="color: #006080">'Username'</span> },<br />            { name: <span style="color: #006080">'CreationDate'</span> },<br />            { name: <span style="color: #006080">'FirstName'</span> },<br />            { name: <span style="color: #006080">'LastName'</span> },<br />            { name: <span style="color: #006080">'PlanExpirationDate'</span> }<br />        ],<br />        <span style="color: #008000">// Proxy</span><br />        proxy: {<br />            type: <span style="color: #006080">'ajax'</span>,<br />            url: <span style="color: #006080">'/Users/JsonData'</span>,<br />            api: {<br />                read :    <span style="color: #006080">'/Users/JsonData'</span>,<br />                create :  <span style="color: #006080">'/Users/Create'</span>,<br />                update :    <span style="color: #006080">'/Users/Edit'</span>,<br />                destroy : <span style="color: #006080">'/Users/Delete'</span><br />            },<br />            <span style="color: #008000">// Json Reader</span><br />            reader: {<br />                type: <span style="color: #006080">'json'</span>,<br />                idProperty: <span style="color: #006080">'Id'</span>,<br />                totalProperty: <span style="color: #006080">'total'</span>,<br />                root: <span style="color: #006080">'data'</span><br />            },<br />            writer: {<br />                type: <span style="color: #006080">'json'</span>,<br />                encode: <span style="color: #0000ff">false</span>,<br />                listful: <span style="color: #0000ff">true</span>,<br />                writeAllFields: <span style="color: #0000ff">true</span><br />            },<br />            headers: { <span style="color: #006080">'Content-Type'</span>: <span style="color: #006080">'application/json; charset=UTF-8'</span> }                    <br />        }<br /><br />    });<br /><br />    <span style="color: #0000ff">var</span> usersStore = <span style="color: #0000ff">new</span> Ext.data.Store({<br />        model: <span style="color: #006080">'Users'</span>,<br />        autoLoad: <span style="color: #0000ff">true</span>,<br />        pageSize: 10<br />    });<br /><br />    <br /><br />    <span style="color: #0000ff">var</span> gridForm = Ext.create(<span style="color: #006080">'Ext.form.FormPanel'</span>, {<br />        id: <span style="color: #006080">'userFormPanel'</span>,<br />        frame: <span style="color: #0000ff">true</span>,<br />        title: <span style="color: #006080">'Users Data'</span>,<br />        store: usersStore,<br />        bodyPadding: 5,<br />        width: 910,<br />        layout: <span style="color: #006080">'column'</span>,    <span style="color: #008000">// Specifies that the items will now be arranged in columns</span><br /><br />        fieldDefaults: {<br />            labelAlign: <span style="color: #006080">'left'</span>,<br />            msgTarget: <span style="color: #006080">'side'</span><br />        },<br /><br />        items: [{<br />            columnWidth: 0.65,<br />            xtype: <span style="color: #006080">'gridpanel'</span>,<br />            id: <span style="color: #006080">'usersGrid'</span>,<br />            store: usersStore,<br />            height: 410,<br />            title: <span style="color: #006080">'Users'</span>,<br /><br />            headers: [<br />        {<br />            text: <span style="color: #006080">'User Name'</span>,<br />            flex: 1,<br />            sortable: <span style="color: #0000ff">true</span>,<br />            dataIndex: <span style="color: #006080">'Username'</span><br />        },<br />        {<br />            text: <span style="color: #006080">'CreationDate'</span>,<br />            width: 100,<br />            sortable: <span style="color: #0000ff">true</span>,<br />            renderer: dateConvert,<br />            dataIndex: <span style="color: #006080">'CreationDate'</span><br />        },<br />        {<br />            text: <span style="color: #006080">'First Name'</span>,<br />            width: 100,<br />            sortable: <span style="color: #0000ff">true</span>,<br />            dataIndex: <span style="color: #006080">'FirstName'</span><br />        },<br />        {<br />            text: <span style="color: #006080">'Last Name'</span>,<br />            width: 100,<br />            sortable: <span style="color: #0000ff">true</span>,<br />            dataIndex: <span style="color: #006080">'LastName'</span><br />        },<br />        {<br />            text: <span style="color: #006080">'Plan Expiration Date'</span>,<br />            width: 120,<br />            sortable: <span style="color: #0000ff">true</span>,<br />            renderer: dateConvert,<br />            dataIndex: <span style="color: #006080">'PlanExpirationDate'</span><br />        }<br />    ],<br /><br />    listeners: {<br />        selectionchange: <span style="color: #0000ff">function</span> (model, records) {<br />            <span style="color: #0000ff">if</span> (records[0]) {<br />                <span style="color: #0000ff">var</span> recordToLoad = {<br />                    Username: records[0].data.Username,<br />                    CreationDate: dateConvert(records[0].data.CreationDate),<br />                    FirstName: records[0].data.FirstName,<br />                    LastName: records[0].data.LastName,<br />                    PlanExpirationDate: dateConvert(records[0].data.PlanExpirationDate)<br />                }<br />                <span style="color: #0000ff">this</span>.up(<span style="color: #006080">'form'</span>).getForm().setValues(recordToLoad);<br />            }<br />        }<br />    },<br />    bbar: <span style="color: #0000ff">new</span> Ext.PagingToolbar({<br />        store: usersStore<br />    })<br />        }, {<br />            columnWidth: 0.35,<br />            margin: <span style="color: #006080">'0 0 0 10'</span>,<br />            bodyStyle: {<br />                margin: <span style="color: #006080">'4px'</span><br />            },<br />            xtype: <span style="color: #006080">'form'</span>,<br />            id: <span style="color: #006080">'userForm'</span>,<br />            title: <span style="color: #006080">'Add / Edit User Details'</span>,<br />            defaults: {<br />                width: 260,<br />                labelWidth: 120,<br />                margin: <span style="color: #006080">'7px'</span><br />            },<br />            defaultType: <span style="color: #006080">'textfield'</span>,<br />            items: [{<br />                fieldLabel: <span style="color: #006080">'User Name'</span>,<br />                name: <span style="color: #006080">'Username'</span><br />            }, {<br />                xtype: <span style="color: #006080">'datefield'</span>,<br />                fieldLabel: <span style="color: #006080">'Creation Date'</span>,<br />                name: <span style="color: #006080">'CreationDate'</span><br />            }, {<br />                fieldLabel: <span style="color: #006080">'First Name'</span>,<br />                name: <span style="color: #006080">'FirstName'</span><br />            }, {<br />                fieldLabel: <span style="color: #006080">'Last Name'</span>,<br />                name: <span style="color: #006080">'LastName'</span><br />            }, {<br />                xtype: <span style="color: #006080">'datefield'</span>,<br />                fieldLabel: <span style="color: #006080">'Plan Expiration Date'</span>,<br />                name: <span style="color: #006080">'PlanExpirationDate'</span><br />            }],<br />            buttons: [{<br />                text: <span style="color: #006080">'Update Record'</span>,<br />                scale: <span style="color: #006080">'medium'</span>,<br />                handler: <span style="color: #0000ff">function</span> (btn, e) {<br />                    <span style="color: #0000ff">var</span> userSelectionModel = Ext.getCmp(<span style="color: #006080">'usersGrid'</span>).getSelectionModel();<br />                    <span style="color: #0000ff">if</span> (userSelectionModel.hasSelection()) {<br />                        <span style="color: #008000">// get the form</span><br />                        <span style="color: #0000ff">var</span> formCmp = Ext.getCmp(<span style="color: #006080">'userForm'</span>);<br />                        <span style="color: #008000">// get the form field values</span><br />                        <span style="color: #0000ff">var</span> formValues = formCmp.getForm().getValues();<br />                        <span style="color: #008000">// get the selected record</span><br />                        <span style="color: #0000ff">var</span> recordSelection = userSelectionModel.getLastSelected();<br />                        <span style="color: #008000">// update the record with the form fields</span><br />                        recordSelection.set(formValues)<br />                        <span style="color: #008000">// sync store</span><br />                        usersStore.sync();<br />                    }<br />                }<br />            }, {<br />                text: <span style="color: #006080">'Add As New Record'</span>,<br />                scale: <span style="color: #006080">'medium'</span>,<br />                handler: <span style="color: #0000ff">function</span> (btn, e) {<br />                    <span style="color: #008000">// get the form</span><br />                    <span style="color: #0000ff">var</span> formCmp = Ext.getCmp(<span style="color: #006080">'userForm'</span>);<br />                    <span style="color: #008000">// get the form field values</span><br />                    <span style="color: #0000ff">var</span> formValues = formCmp.getForm().getValues();<br />                    <span style="color: #008000">// add to the the store</span><br />                    usersStore.add(formValues);<br />                    <span style="color: #008000">// sync with the store</span><br />                    usersStore.sync();<br />                }<br />            }, {<br />                text: <span style="color: #006080">'Delete Record'</span>,<br />                scale: <span style="color: #006080">'medium'</span>,<br />                handler: <span style="color: #0000ff">function</span> (btn, e) {<br />                    <span style="color: #008000">// get the user grid selection model</span><br />                    <span style="color: #0000ff">var</span> userSelectionModel = Ext.getCmp(<span style="color: #006080">'usersGrid'</span>).getSelectionModel();<br />                    <span style="color: #008000">// check if there's a selection</span><br />                    <span style="color: #0000ff">if</span> (userSelectionModel.hasSelection()) {<br />                        <span style="color: #008000">// remove the selected record</span><br />                        usersStore.remove(userSelectionModel.getLastSelected());<br />                        usersStore.sync();<br />                    }<br />                }<br />            }]<br />        }],<br />        renderTo: <span style="color: #006080">'extjs-grid'</span><br />    });<br /><br />});</pre>

  <br /></div>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/03/30/devconnections-orlando-build-advanced-web-uis-with-a-rich-javascript-ui-language/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DevConnections Presentation Orlando, How To Make Your Browser fly</title>
		<link>http://peterkellner.net/2011/03/29/devconnections-presentation-orlando-how-to-make-your-browser-fly/</link>
		<comments>http://peterkellner.net/2011/03/29/devconnections-presentation-orlando-how-to-make-your-browser-fly/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 21:08:27 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/03/29/devconnections-presentation-orlando-how-to-make-your-browser-fly/</guid>
		<description><![CDATA[(About 100 People)  The Presentation was broken down into three parts.&#160;   Part 1  Created a windows razor project that cached in image on a web site using best practices for threading and locking.&#160; The code and project to do this are below:     var downloadByteArray = HttpContext.Current.Cache[cacheName] as [...]]]></description>
			<content:encoded><![CDATA[<p>(About 100 People)</p>  <p>The Presentation was broken down into three parts.&#160; </p>  <h2>Part 1</h2>  <p>Created a windows razor project that cached in image on a web site using best practices for threading and locking.&#160; The code and project to do this are below:</p>  <div id="codeSnippetWrapper">   <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">var downloadByteArray = HttpContext.Current.Cache[cacheName] <span style="color: #0000ff">as</span> <span style="color: #0000ff">byte</span>[];<br /> <span style="color: #0000ff">if</span> (downloadByteArray == <span style="color: #0000ff">null</span>)<br /> {<br />     <span style="color: #008000">// make sure multiple requestors are not filling up the cache</span><br />     <span style="color: #0000ff">lock</span> (LockVal)<br />     {<br />         downloadByteArray = HttpContext.Current.Cache[cacheName] <span style="color: #0000ff">as</span> <span style="color: #0000ff">byte</span>[];<br />         <span style="color: #0000ff">if</span> (downloadByteArray == <span style="color: #0000ff">null</span>)<br />         {<br />             Thread.Sleep(sleep * 1000);<br /><br />             <span style="color: #0000ff">string</span> imageLocation = HttpContext.Current.Server.MapPath(<span style="color: #006080">&quot;~&quot;</span>) + imageUrl;<br /><br />             downloadByteArray = File.ReadAllBytes(imageLocation);<br />             <span style="color: #0000ff">if</span> (cacheExpiresSeconds &gt; 0)<br />             {<br />                 HttpContext.Current.Cache.Insert(cacheName, downloadByteArray,<br />                                                  <span style="color: #0000ff">null</span>,<br />                                                  DateTime.Now.Add(<span style="color: #0000ff">new</span> TimeSpan(0, 0, 0, cacheExpiresSeconds)),<br />                                                  TimeSpan.Zero, CacheItemPriority.NotRemovable, <span style="color: #0000ff">null</span>);<br />                 CacheInsertCounter = 9999; <span style="color: #008000">// any touch of this increments the global counter</span><br />             }<br />         }<br />     }<br /> }</pre>

  <br /></div>

<p>&#160;</p>

<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:2267f0db-4ee6-46f0-8cec-12de6f76545d" class="wlWriterEditableSmartContent"><p><div><a href="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/WebFormsPreSprite.zip" target="_self">WebFormsPreSprite.zip</a></div></p></div>

<p>&#160;</p>

<h2>Part 2</h2>

<p>Tips from Steve Souders</p>

<p>&#160;</p>

<h2>Part 3</h2>

<p>Sprite Library from Microsoft Example:&#160; <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:62dccea0-5635-435b-b07a-d12f2bec4e7e" class="wlWriterEditableSmartContent"><p><div><a href="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/WebFormsPreSprite_3.zip" target="_self">WebFormsPreSprite.zip</a></div></p></div>
</p>

<p>&#160;</p>

<p><a href="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/image_thumb.png" width="312" height="451" /></a><a href="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/IMAG0174.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0174" border="0" alt="IMAG0174" src="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/IMAG0174_thumb.jpg" width="148" height="244" /></a><a href="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/IMAG0177.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0177" border="0" alt="IMAG0177" src="http://peterkellner.net/FilesForWebDownload/DevConnections-Presentation_EE06/IMAG0177_thumb.jpg" width="244" height="148" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/03/29/devconnections-presentation-orlando-how-to-make-your-browser-fly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Presentation in San Francisco This Past Wednesday Night to Bay.Net</title>
		<link>http://peterkellner.net/2011/03/18/my-presentation-in-san-francisco-this-past-wednesday-night-to-bay-net/</link>
		<comments>http://peterkellner.net/2011/03/18/my-presentation-in-san-francisco-this-past-wednesday-night-to-bay-net/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 05:14:00 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/03/18/my-presentation-in-san-francisco-this-past-wednesday-night-to-bay-net/</guid>
		<description><![CDATA[This past Wednesday, I presented a front end performance session for how to make web sites work well.&#160; I primarily covered the content from from Steve Souders Excellent book, High Performance Web Sites: Essential Knowledge for Front-End Engineers.  


High Performance Web Sites: Essential Knowledge for Front-End Engineers (9780596529307): Steve Souders: Books
  &#160;  [...]]]></description>
			<content:encoded><![CDATA[<p>This past Wednesday, I presented a front end performance session for how to make web sites work well.&#160; I primarily covered the content from from Steve Souders Excellent book, High Performance Web Sites: Essential Knowledge for Front-End Engineers.</p>  <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:7dc1bd33-94bd-46fd-a20b-0131235bcd47:faed04b6-6f7e-4aeb-a15b-ffd092991571" class="wlWriterEditableSmartContent"><table cellspacing="0" cellpadding="2" width="400" border="0" unselectable="on">
<tbody><tr>
<td valign="top" width="400">
<p><a title="High Performance Web Sites: Essential Knowledge for Front-End Engineers (9780596529307): Steve Souders: Books" href="http://www.amazon.com/exec/obidos/ASIN/0596529309/petkelsblo-20"><img src="http://images.amazon.com/images/P/0596529309.01.MZZZZZZZ.jpg" border="0" align="left" style="float:left">High Performance Web Sites: Essential Knowledge for Front-End Engineers (9780596529307): Steve Souders: Books</a><br /><br /></p>
</td></tr></tbody></table></div>  <p>&#160;</p>  <p>Not being a browser engineer, my knowledge is not the best in that area so probably the talk was a little dry.&#160; We did spend a bunch of time talking about the the Sprite library just released to codeplex from the <a href="http://www.asp.net/">Asp.Net</a> team.&#160; That was&#160; a great discussion!&#160; I plan on talking more about that at my upcoming <a href="http://devconnections.com/conf/default.aspx?s=159">DevConnections talks in Orlando</a> (very soon).&#160; One interesting note was that there was a browser compatibility slide regarding sprites from Microsoft.&#160; One of the attendees said “Peter, are you sure that Sprites are only supported on IE 8 and above?”.&#160; I said I was sure that is what the document that I got from Microsoft said.&#160; Well, I had several emails today with the Asp.Net team including the author of the document and though I don’t know the final answer, I’m sure that the Microsoft document was wrong on browser compatibility.&#160; It seems that css and sprite support would work all the back to IE6.&#160; When I know more, I’ll post a comment below with a link.&#160; I’m sure Microsoft plans on updating that doc.</p>  <p>That’s it for now.&#160; Below are some pictures from before the meeting.&#160; I’d say that we had about 75 people in attendance.</p>  <p>&#160;</p>  <p><a href="http://peterkellner.net/FilesForWebDownload/My-Presentation-in-San-Francisco-Wed.Net_135A6/IMAG0137.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0137" border="0" alt="IMAG0137" src="http://peterkellner.net/FilesForWebDownload/My-Presentation-in-San-Francisco-Wed.Net_135A6/IMAG0137_thumb.jpg" width="244" height="148" /></a><a href="http://peterkellner.net/FilesForWebDownload/My-Presentation-in-San-Francisco-Wed.Net_135A6/IMAG0138.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0138" border="0" alt="IMAG0138" src="http://peterkellner.net/FilesForWebDownload/My-Presentation-in-San-Francisco-Wed.Net_135A6/IMAG0138_thumb.jpg" width="244" height="148" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/03/18/my-presentation-in-san-francisco-this-past-wednesday-night-to-bay-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presenting 15 Web Performance Tips: Getting things Right on the Client March 16th at Bay.Net in San Francisco</title>
		<link>http://peterkellner.net/2011/03/05/presenting-bay-dot-net-san-francisco-web-performance-tips/</link>
		<comments>http://peterkellner.net/2011/03/05/presenting-bay-dot-net-san-francisco-web-performance-tips/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 22:47:53 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/03/05/presenting-bay-dot-net-san-francisco-web-performance-tips/</guid>
		<description><![CDATA[&#160;  Register Here:&#160; http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=480&#38;mid=49  When:&#160;   Wednesday, 3/16/2011 at 6:30 PM  Where:&#160;   Microsoft San Francisco Office, 835 Market Street, Suite 700  Event Description  All web developers need to know how to write web apps that give users great experience. In this presentation, Peter Kellner will talk first [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>  <p>Register Here:&#160; <a title="http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=480&amp;mid=49" href="http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=480&amp;mid=49">http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=480&amp;mid=49</a></p>  <p>When:&#160; </p>  <p>Wednesday, 3/16/2011 at 6:30 PM</p>  <p>Where:&#160; </p>  <p>Microsoft San Francisco Office, 835 Market Street, Suite 700</p>  <p>Event Description</p>  <p>All web developers need to know how to write web apps that give users great experience. In this presentation, <b>Peter Kellner</b> will talk first about the top 15 programming tips that you can use in your web site to make sure it&#8217;s as fast as it can be. Following Peter’s general discussion of client side optimization techniques, <b>Doris Chen</b> will talk about JavaScript best practices in web client development.</p>  <p>Many client side improvements can be implemented in under 10 minute. You will come away knowing a handful of tools you can use to analyze your web site as well as know what to do to make your web site perform faster. This presentation will focus on client site performance tips, that is things like cache headers, JavaScript optimizations, CDN&#8217;s and Sprite&#8217;s. JavaScript techniques such as clean separation of concerns, De-referencing objects, and thinking asynchronous when working with objects will be discussed. Server technologies and optimizations will be discussed, but the focus will be on what it takes to make your browser deliver your web application faster.</p>  <p>Agenda</p>  <ul>   <li>6:00 doors open (pizza and drinks) </li>    <li>6:10 &#8211; 6:25 Lightning talks </li>    <li>6:30 announcements </li>    <li>6:45 &#8211; 8:15 presentation </li>    <li>8:15 &#8211; 8:30 raffle </li> </ul>  <p>Presenter&#8217;s Bio</p>  <p><b>Peter Kellner</b>, a Microsoft ASP.NET MVP since 2007, is founder and president of ConnectionRoad, and a seasoned software professional specializing in high quality, scalable and extensible .Net web applications. His experience includes building and leading engineering teams both on and off shore. When not working, Peter spends most his free time biking. He has ridden his bike across the globe. Most recently he and his wife, Tammy, rode across the U.S., from California to Georgia, in just 27 days. </p>  <p><b>Doris Chen</b> is a Developer Evangelist at Microsoft for the Western region of the United States, specialized in web technologies (Ajax, jQuery, ASP.NET, and Java). Doris has over 13 years of experience in the software industry working in several open source web tier technologies, Java platform, .NET and distributed computing technologies. She has developed and delivered over 400 keynotes, technical sessions, code camps worldwide, published widely at numerous international conferences and user groups including Bay.Net, JavaOne, O’Reilly, SD Forum and worldwide User Groups. Doris works very closely to create and foster the community around NetBeans, Glassfish, and related technologies. </p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/03/05/presenting-bay-dot-net-san-francisco-web-performance-tips/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Defending Yourself From the Internet, Presented at the Kendal Retirement Community in Northern Ohio at Oberlin</title>
		<link>http://peterkellner.net/2011/01/21/defending-yourself-from-the-internet-presented-at-the-kendal-retirement-community-in-northern-ohio-at-oberlin/</link>
		<comments>http://peterkellner.net/2011/01/21/defending-yourself-from-the-internet-presented-at-the-kendal-retirement-community-in-northern-ohio-at-oberlin/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 02:38:40 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/01/21/defending-yourself-from-the-internet-presented-at-the-kendal-retirement-community-in-northern-ohio-at-oberlin/</guid>
		<description><![CDATA[I had a great time tonight presenting to about 40 people at Kendal, an awesome retirement community in Northern Ohio, at Oberlin.&#160; This was my first ever presentation to a group of people that were as mature as this group is.&#160; As always, I encouraged lots of questions and I was not disappointed.&#160; I taught [...]]]></description>
			<content:encoded><![CDATA[<p>I had a great time tonight presenting to about 40 people at <a href="http://kao.kendal.org/">Kendal</a>, an awesome retirement community in Northern Ohio, at Oberlin.&#160; This was my first ever presentation to a group of people that were as mature as this group is.&#160; As always, I encouraged lots of questions and I was not disappointed.&#160; I taught the meaning of https and when to use it, I went over lots of topics around email, we talked about public/private key in detail, purchasing on line, paypal and lots of other topics.&#160; I had originally planned on Tuesday, their normal day for presentations, but unfortunately I a little bout with a virus and had to postpone. </p>  <p><a href="http://peterkellner.net/FilesForWebDownload/Defending-Yourself-From-the-Internet-Pre_12EB7/IMAG0062.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0062" border="0" alt="IMAG0062" src="http://peterkellner.net/FilesForWebDownload/Defending-Yourself-From-the-Internet-Pre_12EB7/IMAG0062_thumb.jpg" width="244" height="148" /></a></p>  <p>The computer steering committee took me to dinner before the presentation</p>  <p><a href="http://peterkellner.net/FilesForWebDownload/Defending-Yourself-From-the-Internet-Pre_12EB7/IMAG0064.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMAG0064" border="0" alt="IMAG0064" src="http://peterkellner.net/FilesForWebDownload/Defending-Yourself-From-the-Internet-Pre_12EB7/IMAG0064_thumb.jpg" width="244" height="148" /></a></p>  <p>Part of the group showed up on schedule, but quite a few wandered in. I actually heard people went out and got their friends.&#160; </p>  <p>And finally, my slide deck</p>  <div style="width: 425px" id="__ss_6658896"><strong style="margin: 12px 0px 4px; display: block"><a title="Defending yourself from the internet" href="http://www.slideshare.net/peterkellner99/defending-yourself-from-the-internet">Defending yourself from the internet</a></strong><object id="__sse6658896" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=defendingyourselffromtheinternet-110121202918-phpapp02&amp;stripped_title=defending-yourself-from-the-internet&amp;userName=peterkellner99" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed name="__sse6658896" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=defendingyourselffromtheinternet-110121202918-phpapp02&amp;stripped_title=defending-yourself-from-the-internet&amp;userName=peterkellner99" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>    <div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/peterkellner99">Peter Kellner</a>.</div> </div>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/01/21/defending-yourself-from-the-internet-presented-at-the-kendal-retirement-community-in-northern-ohio-at-oberlin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adding A Sessions Page That Includes a Query Parameter In Silverlight VS2010 Beta2 (Article 6 of 7)</title>
		<link>http://peterkellner.net/2010/01/25/adding-a-sessions-page-that-includes-a-query-parameter-in-silverlight-vs2010-article-6-of-7/</link>
		<comments>http://peterkellner.net/2010/01/25/adding-a-sessions-page-that-includes-a-query-parameter-in-silverlight-vs2010-article-6-of-7/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 23:22:47 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[RIA Services]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2010/01/25/adding-a-sessions-page-that-includes-a-query-parameter-in-silverlight-vs2010-article-6-of-7/</guid>
		<description><![CDATA[&#160;              &#160;        Title Of Each Article        Video Included With Each Post                  [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>  <table width="90%"><tbody>     <tr>       <td width="70">&#160;</td>        <td>Title Of Each Article</td>        <td style="width: 100px" width="150">Video Included With Each Post</td>     </tr>      <tr>       <td width="70">Part 1</td>        <td><a href="/2010/01/20/riaservices-silverlight-4-tutorial-svcc-part1of7-introduction/">Introduction To RIA Services In Silverlight (This Article)</a></td>        <td style="width: 100px" width="150">7 Minutes</td>     </tr>      <tr>       <td width="70">Part 2</td>        <td><a href="/2010/01/25/basic-ria-services-and-datagrid-with-vs-2010-tooling-article-2-of-7/">Basic RIA Services And DataGrid With&#160; VS 2010 Tooling</a></td>        <td style="width: 100px" width="150">14 Minutes</td>     </tr>      <tr>       <td width="70">Part 3</td>        <td><a href="/2010/01/23/adding-a-datagrid-with-connect-the-dots-databinding-in-vs-2010-article-3-of-7/">Adding A DataGrid With Connect The Dots DataBinding in VS 2010</a></td>        <td style="width: 100px" width="150">13 Minutes</td>     </tr>      <tr>       <td width="70">Part 4</td>        <td><a href="/2010/01/25/adding-a-navigation-page-to-a-silverlight-business-application-template-article-4-of-7/">Adding a Navigation Page to a Silverlight Business Application Template</a></td>        <td style="width: 100px" width="150">11 Minutes</td>     </tr>      <tr>       <td width="70">Part 5</td>        <td><a href="/2010/01/25/adding-speakers-page-template-with-converters-in-visual-studio-2010-beta2-article-5-of-7/">Adding Speakers Page Template With Converters In Visual Studio 2010 Beta2</a></td>        <td style="width: 100px" width="150">11 Minutes</td>     </tr>      <tr>       <td width="70">Part 6</td>        <td><a href="/2010/01/25/adding-a-sessions-page-that-includes-a-query-parameter-in-silverlight-vs2010-article-6-of-7/">Adding A Sessions Page That Includes a Query Parameter In Silverlight VS2010 Beta2</a></td>        <td style="width: 100px" width="150">10 Minutes</td>     </tr>      <tr>       <td width="70">Part 7</td>        <td><a href="/2010/01/25/authentication-and-authorization-using-ria-services-article-7-of-7/">Basic Authentication and Authorization In RIA Services</a></td>        <td style="width: 100px" width="150">5 Minutes</td>     </tr>   </tbody></table>  <br />  <br />  <br /><img src="http://video.peterkellner.net/video/RIAServicesBayNet20090120/P6_AddingSessionsPageWithRequestParam_Thumb.jpg" alt="media" /><br />
  <br />  <br />  <p>In this section, we will talk about what happens when the users presses the “Sessions” hyperlink from the speakers page.&#160; If you remember from the last article, we used a special converter on the Speakers.xaml page and bound that to the hyperlink titled sessions as shown below.</p> <span id="more-482"></span>  <p>&#160;</p>  <p><a href="http://peterkellner.net/FilesForWebDownload/AddingASessionsPageThatIncludesaQueryPar_DF36/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/AddingASessionsPageThatIncludesaQueryPar_DF36/image_thumb.png" width="376" height="323" /></a></p>  <p>&#160;</p>  <p>When this link is clicked, the navigation created is as follows:</p>  <pre class="csharpcode">&#160;</pre>

<pre class="csharpcode"><a href="http://localhost:9951/Presentation1TestPage.aspx#/Sessions?SpeakerId=903">http://localhost:9951/Presentation1TestPage.aspx#/Sessions?SpeakerId=903</a></pre>

<!-- code formatted by http://manoli.net/csharpformat/ -->
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: Consolas, "Courier New", Courier, Monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }
</style>
<div class="csharpcode">
<pre class="alt"><span class="rem">// Executes when the user navigates to this page.</span></pre>
<pre><span class="kwrd">protected</span> <span class="kwrd">override</span> <span class="kwrd">void</span> OnNavigatedTo(NavigationEventArgs e)</pre>
<pre class="alt">{</pre>
<pre>    <span class="rem">//Handle SpeakerId</span></pre>
<pre class="alt">    var qs = NavigationContext.QueryString;</pre>
<pre>    <span class="kwrd">if</span> (qs.ContainsKey(<span class="str">"SpeakerId"</span>))</pre>
<pre class="alt">    {</pre>
<pre>        <span class="kwrd">this</span>.sessionsOverviewDomainDataSource.FilterDescriptors =</pre>
<pre class="alt">            <span class="kwrd">new</span> FilterDescriptorCollection();</pre>
<pre>        <span class="kwrd">this</span>.sessionsOverviewDomainDataSource.FilterDescriptors.Add(</pre>
<pre class="alt">              <span class="kwrd">new</span> FilterDescriptor(<span class="str">"AttendeeId"</span>,</pre>
<pre>                  FilterOperator.IsEqualTo, qs[<span class="str">"SpeakerId"</span>]));</pre>
<pre class="alt">    }</pre>
<pre>}</pre>
</div>

<p>This simply adds a filter to the current DomainDataSource that filters the column AttendeeId with the passed in query parameter SpeakerId.</p>

<p>&#160;</p>

<p>The resulting page looks as follows assuming <a href="http://www.siliconvalley-codecamp.com/Sessions.aspx?ForceSortBySessionTime=true&amp;id=151">Peter Kellner’s Session link</a> was clicked.</p>

<p>&#160;</p>

<p><a href="http://peterkellner.net/FilesForWebDownload/AddingASessionsPageThatIncludesaQueryPar_DF36/image_3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/AddingASessionsPageThatIncludesaQueryPar_DF36/image_thumb_3.png" width="523" height="207" /></a></p>

<p>&#160;</p>

<p>The video referenced in this article goes into building this page in more details, but fundamentally, the major point is just the query parameter.</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2010/01/25/adding-a-sessions-page-that-includes-a-query-parameter-in-silverlight-vs2010-article-6-of-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://video.peterkellner.net/video/RIAServicesBayNet20090120/P6_AddingSessionsPageWithRequestParam.flv" length="1" type="video/x-flv"/>
	</item>
		<item>
		<title>Will Be Presenting at Bay.Net Users Group Wednesday 1/20/2010 RIA Services in Silverlight 4 With VS2010</title>
		<link>http://peterkellner.net/2010/01/13/baynet-presentation-riaservices/</link>
		<comments>http://peterkellner.net/2010/01/13/baynet-presentation-riaservices/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 15:13:46 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[RIA Services]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2010/01/13/baynet-presentation-riaservices/</guid>
		<description><![CDATA[  NOTE ADDED 1/25/2010 by PETER KELLNER:&#160;&#160;&#160; Just finished 7 blog posts that each have video that basically follows was was done in the presentation.&#160; They are linked here on this blog at:&#160; http://peterkellner.net/category/ria-services/          I just volunteered to present at the next Bay.Net Meeting (San [...]]]></description>
			<content:encoded><![CDATA[<p><em><span style="color: #ff0000"></span></em></p>  <p><em><span style="color: #ff0000">NOTE ADDED 1/25/2010 by PETER KELLNER:&#160;&#160;&#160; Just finished 7 blog posts that each have video that basically follows was was done in the presentation.&#160; They are linked here on this blog at:&#160; <a title="http://peterkellner.net/category/ria-services/" href="http://peterkellner.net/category/ria-services/">http://peterkellner.net/category/ria-services/</a></span></em><em><span style="color: #ff0000">        <br /></span></em></p>  <p>I just volunteered to present at the next Bay.Net Meeting (San Francisco, at the Microsoft office) <a href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx">RIA Services</a> in <a href="http://www.microsoft.com/silverlight/">Silverlight</a> 4 (Visual Studio 2010).&#160; The original speaker couldn’t make it so this is a last minute thing.&#160; I’m busy preparing an example of using the Silicon Valley Code Camp Session Listings as an example.&#160; The example will hopefully including authentication (logging in and out), special admin access to certain functions, validation as well as other cool tricks.</p> <span id="more-402"></span>  <p>RIA Services is an inspirational technology.&#160; Let me show you why I think so!</p>  <p><a title="http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=411&amp;mid=49" href="http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=411&amp;mid=49">http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=411&amp;mid=49</a></p>  <p><a href="http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=411&amp;mid=49"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/FilesForWebDownload/Wil.NetUsersGroupWednesday1202010RIAServ_65A3/image.png" width="577" height="367" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2010/01/13/baynet-presentation-riaservices/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>My Two Presentations Today at VSLive in Las Vegas (ExtJS, Then High Performance ASP.NET Web Sites)</title>
		<link>http://peterkellner.net/2009/06/08/vslive-las-vegas-presentations/</link>
		<comments>http://peterkellner.net/2009/06/08/vslive-las-vegas-presentations/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 05:41:51 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 3.5]]></category>
		<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2009/06/08/vslive-las-vegas-presentations/</guid>
		<description><![CDATA[Today was my first time doing 2 presentations during the same day at a professional conference (VSLive, Las Vegas).&#160; Both sessions were fun to present and hopefully the audience got as much out of it as I did.&#160; Lots of great questions, several twitter posts and best of all, they both finished on time (that [...]]]></description>
			<content:encoded><![CDATA[<p>Today was my first time doing 2 presentations during the same day at a professional conference (<a href="http://vslive.com/2009/lasvegas/aspnet.aspx">VSLive, Las Vegas</a>).&#160; Both sessions were fun to present and hopefully the audience got as much out of it as I did.&#160; Lots of great questions, several twitter posts and best of all, they both finished on time (that is, I finished the material at the time I meant to!).</p>  <p>Here is the material for the first presentation:</p> <span id="more-319"></span>  <p><strong>Build Blazingly Fast ASP.NET Apps with 100% Clientside UI ExtJS</strong></p>  <blockquote>   <h6>Intermediate</h6>    <p>Need a web application that has the responsiveness and interactivity of a forms app but still looks and feels like a web? One of the best kept secrets (at least to the Microsoft community) is ExtJS. It&#8217;s a different paradigm then we are all use to, but the results are spectacular. <a href="http://extjs.com/deploy/dev/examples/samples.html">Take a look at this url</a> and you will see as well as learn how to do this yourself. The hardest part is shuttling the data back and forth. A lot of this session will be talking about how to do a real world app that does this. Once you go this way, you&#8217;ll be gone from serverside forms for almost ever.</p>    <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:b6cf28fe-f692-47a2-af5a-540c990696b2" class="wlWriterSmartContent">     <p>Presentation Files <a href="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/Vegas09extjs.zip" target="_blank">Download</a></p>   </div>    <p>&#160;</p> </blockquote>  <p><strong>Building High Performance ASP.NET Web Applications </strong></p>  <blockquote>   <h6>Intermediate</h6>    <p>Topics will include appropriate use of Cache and Session State, as well as how and when to use them. Viewstate management and methods to minimize its use will be discussed. Code to pop up a warning when a threshold is met in development will be shown. When and how to take advantage of Server Farms will be discussed, as well as trouble shooting techniques to find problems. The evils of Server Affinity, as well as a common pattern for caching database queries will be shown to be wrong. Time permitting, we will talk about using Microsoft’s Ajax.asp.net with UpdatePanel and webservices and how these affect performance and scalability.</p>    <p>&#160;</p>    <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:5cd78bd5-c095-4d51-a9a1-130871cbdc92" class="wlWriterSmartContent">     <p>Presentation Files <a href="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/Vegas09Perf.zip" target="_blank">Download</a></p>   </div> </blockquote>  <p>&#160;</p>  <table border="0" cellspacing="0" cellpadding="2" width="597"><tbody>     <tr colspan="2">       <td valign="top" width="583"><a href="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/vslive1.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="vslive1" border="0" alt="vslive1" src="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/vslive1_thumb.jpg" width="502" height="392" /></a> </td>     </tr>      <tr>       <td valign="top" width="583">&#160;</td>        <td valign="top" width="6">&#160;</td>        <p><a href="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/IMG_1389.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_1389" border="0" alt="IMG_1389" src="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/IMG_1389_thumb.jpg" width="244" height="184" /></a> <a href="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/vslive3.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="vslive3" border="0" alt="vslive3" src="http://peterkellner.net/FilesForWebDownload/MyTwoPresentationsTodayatVSL.NETWebSites_13F02/vslive3_thumb.jpg" width="244" height="184" /></a>             <p></p>            <p></p>         </p>     </tr>   </tbody></table>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2009/06/08/vslive-las-vegas-presentations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides and Demo Code From Southern Cal Rock and Roll Code Camp (ExtJS was the topic)</title>
		<link>http://peterkellner.net/2009/01/25/codecamp-presentation-extjs-javascript/</link>
		<comments>http://peterkellner.net/2009/01/25/codecamp-presentation-extjs-javascript/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 23:25:23 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2009/01/25/codecamp-presentation-extjs-javascript/</guid>
		<description><![CDATA[It was fun to do my first presentation on ExtJS at the Southern California Rock and Roll Code Camp at Fullerton.&#160; It was also great to see so many friends.&#160; As promised, I&#8217;m attaching the code and PowerPoint here.&#160; I started my talk with a little introduction on RIA (rich internet applications), then moved into [...]]]></description>
			<content:encoded><![CDATA[<p>It was fun to do <a href="http://www.socalcodecamp.com/session.aspx?sid=33e8ceaf-6812-4310-8070-e54fed099a6d">my first presentation on ExtJS</a> at the <a href="http://www.socalcodecamp.com/default.aspx">Southern California Rock and Roll Code Camp</a> at <a href="http://www.fullerton.edu/">Fullerton</a>.&#160; It was also great to see so many friends.&#160; As promised, I&#8217;m attaching the code and PowerPoint here.&#160; I started my talk with a little introduction on RIA (rich internet applications), then moved into <a href="http://extjs.com">ExtJS</a>.&#160; I realize now, that because the audience all pretty much knew the RIA story, it would have been better to just dive into ExtJS.&#160; As it was, I ran out of time.&#160; Next time, I&#8217;ll go with plan B.</p>  <p>My guess is we had about 50 people in the room.&#160; I took a picture about 10 minutes before class started that I&#8217;m showing below.&#160; I&#8217;m thinking a lot more showed up after the picture.&#160; The guy in the second row mentioned that they should be taking a picture of me, but then, I was running out of prep time so I figured I better go with what I had.</p> <span id="more-242"></span>  <p>One thing that came up often was how to interact with the ExtJS library.&#160; I did talk a bunch about another open source project (<a href="http://coolite.com">Coolite</a>) that has lots of asp.net stuff (custom controls) to help with that.&#160; they wrap all the things you expect from asp.net like SqlDataSource,ObjectDataSource, etc.&#160; Overall, it&#8217;s a great product and a huge help in learning ExtJS.</p>  <p>&#160;</p>  <p><a href="http://peterkellner.net/FilesForWebDownload/SlidesandDemoCodeFromSouthernCalRockandR_D832/IMG_1232.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="IMG_1232" src="http://peterkellner.net/FilesForWebDownload/SlidesandDemoCodeFromSouthernCalRockandR_D832/IMG_1232_thumb.jpg" width="345" height="260" /></a></p>  <p>And, Here is the code:&#160; (much of this code comes from adaptations of code I got at a <a href="http://extjs.com/support/training/">ExtJS training class put on by ExtJS</a> themselves.&#160; BTW, it was an awesome class!)&#160;&#160; </p>  <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:2ffb9339-4fab-42fd-b9a1-9b1eafd4cc7c" class="wlWriterSmartContent">   <div><a href="http://peterkellner.net/FilesForWebDownload/SlidesandDemoCodeFromSouthernCalRockandR_D832/LACodeCampJan09_3.zip" target="_self">LACodeCampJan09.zip</a></div> </div>  <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:82de1f48-9a09-41c0-ad2e-15480dd2ead6" class="wlWriterSmartContent">   <div></div> </div>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2009/01/25/codecamp-presentation-extjs-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Heading to Southern Ca on January 24th to Talk about ExtJS at SoCal Rock &amp; Roll Code Camp</title>
		<link>http://peterkellner.net/2008/12/17/heading-to-southern-ca-on-january-24th-to-talk-about-extjs-at-socal-rock-roll-code-camp/</link>
		<comments>http://peterkellner.net/2008/12/17/heading-to-southern-ca-on-january-24th-to-talk-about-extjs-at-socal-rock-roll-code-camp/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 15:25:29 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/12/17/heading-to-southern-ca-on-january-24th-to-talk-about-extjs-at-socal-rock-roll-code-camp/</guid>
		<description><![CDATA[I just signed up to give a session at the SoCal Code Camp at CALSTATE Fullerton.&#160; I&#8217;ve been to this event before and it&#8217;s totally awesome.&#160; Those SoCal guys really know how to throw a camp.&#160; If you&#8217;re from around there, please stop by and see me.&#160; It&#8217;s going to be a lot of fun. [...]]]></description>
			<content:encoded><![CDATA[<p>I just signed up to give a session at the <a href="http://www.socalcodecamp.com/default.aspx">SoCal Code Camp at CALSTATE Fullerton</a>.&#160; I&#8217;ve been to this event before and it&#8217;s totally awesome.&#160; Those SoCal guys really know how to throw a camp.&#160; If you&#8217;re from around there, please stop by and see me.&#160; It&#8217;s going to be a lot of fun.</p>  <p>My Session which covers some basics of <a href="http://extjs.com/">ExtJS</a> (a rich <a href="http://www.javascript.com/">JavaScript</a> library) is:</p> <span id="more-229"></span>  <p><a href="http://www.socalcodecamp.com/session.aspx?sid=33e8ceaf-6812-4310-8070-e54fed099a6d">Build a Rich JavaScript (with ExtJS) Applications for highly interactive Web Pages</a></p>  <p>&#160;</p>  <p><a href="http://www.socalcodecamp.com/session.aspx?sid=33e8ceaf-6812-4310-8070-e54fed099a6d"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://peterkellner.net/blogimages/HeadingtoSouthernCaonJanuary24thtoTalkab_688F/image.png" width="587" height="302" /></a></p>  <p>If you&#8217;ve never seen anything done with pure JavaScript, take a look at the <a href="http://extjs.com/products/extjs/">ExtJS demos</a>.&#160; Very impressive.&#160; Just the demos got me hooked.</p>  <p>&#160;</p>  <p>Looking forward to seeing lots of friends there.&#160; BTW, nice job on the new web site!</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/12/17/heading-to-southern-ca-on-january-24th-to-talk-about-extjs-at-socal-rock-roll-code-camp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking Next Week (Wednesday 6/25) At Microsoft Office in San Francisco</title>
		<link>http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/</link>
		<comments>http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 16:02:33 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[asp.net performance]]></category>
		<category><![CDATA[asp.net scaling]]></category>
		<category><![CDATA[speaking asp.net]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/</guid>
		<description><![CDATA[<br />
<p>Speaking at  835 Market Street, Suite 700 on Building High performance ASP.NET web applications - In this meeting, Peter Kellner will present on and discuss techniques and methodologies for developing highly performant and scalable web sites.</p>
<br />]]></description>
			<content:encoded><![CDATA[<p><a title="http://www.baadd.org/NET/tabid/56/Default.aspx" href="http://www.baadd.org/NET/tabid/56/Default.aspx">http://www.baadd.org/NET/tabid/56/Default.aspx</a></p>  <p>June Meeting &#8211; Wednesday, June 25, 2008</p>  <p>Remember Our New Location:&#160; 835 Market Street, Suite 700.</p> <span id="more-117"></span>  <h2>Building High performance ASP.NET web applications &#8211; In this meeting, Peter Kellner will present on and discuss techniques and methodologies for developing highly performant and scalable web sites. </h2>  <p>Topics will&#160; include appropriate use of Cache and Session State, as well as how and when to use them.&#160; Viewstate management and methods to minimize its use will be discussed.&#160; Code to pop up a warning when a threshold is met in development will be shown.&#160; When and how to take advantage of Server Farms will be discussed, as well as trouble shooting techniques to find problems. The evils of Server Affinity,&#160; as well as a common pattern for caching database queries will be shown to be wrong.&#160; Time permitting, we will talk about using Microsoft&#8217;s Ajax.asp.net with UpdatePanel and webservices and how these affect performance and scalability.</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/baad.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="baad" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/baad-thumb.png" width="406" height="401" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft TechEd 2008 Orlando MVP Community Meeting Place</title>
		<link>http://peterkellner.net/2008/06/06/tech2008-mvp-community-center/</link>
		<comments>http://peterkellner.net/2008/06/06/tech2008-mvp-community-center/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 17:06:34 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[MVP]]></category>
		<category><![CDATA[TechEd2008]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/06/06/tech2008-mvp-community-center/</guid>
		<description><![CDATA[<p>Helping out at the MVP Community Location at Microsoft's TechEd 2008 Meeting in Orlando.  One of the volunteer game show hosts!</p>]]></description>
			<content:encoded><![CDATA[<p>This year I had the opportunity to work in the <a href="https://mvp.support.microsoft.com/gp/mvpawardintro" target="_blank">Microsoft MVP</a> Community meeting place (next to the wireless community center) as a game show host, computer runner of the questions, general answer person as well as just hanging out with the gang.&#160; I have to admit it was very fun.&#160; Turns out I was much better at running the computer than being the game show host, but after 4 days this, I realized I had not hosted one game.&#160; Today (Friday) things changed.&#160; Just before leaving for the airport&#160; I got my chance.</p>  <p>Below are pictures taken by Terry showing my solo performance.&#160; No one got any questions right.&#160; We were forced into a tie breaker.&#160; The first tie breaking question (what color was Spok&#8217;s blood) was answered incorrectly.&#160; The second question, what color was George Washington&#8217;s white horse was fortunately answered correctly.&#160; Otherwise, I might still be there.</p> <span id="more-115"></span>  <p>Seriously though, the purpose of this meeting place was to let people know about the MVP program.&#160; Even though Microsoft heavily advertises the program in lots of technical magazines, lots of people don&#8217;t know about.&#160; As an MVP for the past two years, I was a good person to talk about it.&#160;&#160; It was fun for me to talk to lots of people who came by, both MVP&#8217;s as well as potential MVP&#8217;s.</p>  <p>Here are some fun pictures.</p>  <table border="0" cellspacing="5" cellpadding="2" width="400"><tbody>     <tr>       <td valign="top" width="200"><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp6.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="techedmvp6" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp6-thumb.jpg" width="296" height="223" /></a> </td>        <td valign="top" width="200"><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp1.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="techedmvp1" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp1-thumb.jpg" width="296" height="223" /></a> </td>     </tr>      <tr>       <td valign="top" width="200"><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp2.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="techedmvp2" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp2-thumb.jpg" width="296" height="223" /></a> </td>        <td valign="top" width="200"><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp3.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="techedmvp3" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp3-thumb.jpg" width="296" height="223" /></a> </td>     </tr>      <tr>       <td valign="top" width="200"><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp4.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="techedmvp4" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp4-thumb.jpg" width="296" height="223" /></a> </td>        <td valign="top" width="200">&#160;<a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp5.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="techedmvp5" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/techedmvp5-thumb.jpg" width="168" height="223" /></a></td>     </tr>      <tr>       <td valign="top" width="200">&#160;</td>        <td valign="top" width="200">&#160;</td>     </tr>   </tbody></table>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/06/06/tech2008-mvp-community-center/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Silverlight Dev Camp San Francisco, Friday Night Opening Ceremonies!</title>
		<link>http://peterkellner.net/2007/09/15/silverlightdevcampsf/</link>
		<comments>http://peterkellner.net/2007/09/15/silverlightdevcampsf/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 16:49:04 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2007/09/15/silverlightdevcampsf/</guid>
		<description><![CDATA[<p>Silverlight Dev Camp starts out with a bang!  Lots of attendees and lots of fun.</p>
<a href="http://peterkellner.net/wp/Images/SilverLightDevCampSF/SilverlightDevCampLeadersFridayNight.jpg">
<img src="http://peterkellner.net/wp/Images/SilverLightDevCampSF/SilverlightDevCampLeadersFridayNight_t.jpg" alt="Joe Kleinschmidt promising more beer for everyone" class="style1" /></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://peterkellner.net/wp/Images/SilverLightDevCampSF/SilverlightDevCampLeadersFridayNight.jpg"><img class="style1" alt="Joe Kleinschmidt promising more beer for everyone" src="http://peterkellner.net/wp/Images/SilverLightDevCampSF/SilverlightDevCampLeadersFridayNight_t.jpg" /></a></p>  <p>For those that have never been to a <a href="http://barcamp.org/SilverlightDevCampSF">Silverlight Dev Camp</a> (OK, maybe nobody has ever been to one), this is an event where people on he (b)leading edge get together and talk about how much fun they are having and share war stories.&#160; For me, life couldn&#8217;t get any better.&#160; Well, as one of the other moderators on asp.net forums recently pointed out to me&#8230; Get a life.</p> <span id="more-78"></span>  <p>Just a week ago, it seemed there were only a couple dozen signups for this event which is being hosted by Microsoft in their nice San Francisco office in the Landmark Office Building (1 Market Street, Thanks Anand),&#160; Somehow, now, there are over 100 people signed up.&#160; I was talking to <a href="http://barcamp.org/SilverlightDevCampSF#Organizers">Kevin Marshall and Kurt Brockett</a> (the main organizers) and I asked them how they rocketed attendance 5x in the last week.&#160; They said things like Twitter and lots of    <br />email.&#160; Since most (OK all) of you know I&#8217;m organizing <a href="http://www.siliconvalley-codecamp.com/">Silicon Valley&#8217;s second code camp</a> at the end of October I was taking careful notes.&#160; We currently have 260 signed up and I&#8217;m thinking&#8230; 260 x 5 = ???&#160; Wow, I need to pay attention.&#160; Then <a href="http://www.leveragesoftware.com/company/management.html">Joe Kleinschmidt, CTO of LeverageSoftware</a> mentioned that he had announced about a week ago that he&#8217;d buy beer for everyone.</p>  <p>Where was I.&#160; Oh yes, Sitting in a Starbucks in San Francisco waiting for day two to start, wondering why my notebook&#160; is not charging, and of course just signed up for twitter.</p>  <p>So, last night was a big group presentation of Silverlight.&#160; Today is lots of smaller discussions about <a href="http://silverlight.net/Default.aspx">Silverlight</a>.&#160; I&#8217;ve got one at 4PM where I&#8217;ll be talking about my latest Silverlight apps, <a href="http://searchlight.peterkellner.net/Default.html">Searchlight</a> and <a href="http://diggpopular.peterkellner.net/Default.html">DiggPopular</a>.&#160; It&#8217;s only 30 minutes and I could easily talk all day about it.&#160; If you sign up for twitter, you can read about how I did!</p>  <p>Time to go, That&#8217;s about it for now besides some pictures.&#160; Enjoy.</p>  <p>&#160;<a href="http://peterkellner.net/wp/Images/SilverLightDevCampSF/JoekPromisingMoreBeet.jpg">     <br /><img class="style1" alt="Joe Kleinschmidt promising more beer for everyone" src="http://peterkellner.net/wp/Images/SilverLightDevCampSF/JoekPromisingMoreBeet_t.jpg" /></a></p>  <p><a href="http://peterkellner.net/wp/Images/SilverLightDevCampSF/SLCampFullHouse.jpg">     <br /><img class="style1" alt="Full House" src="http://peterkellner.net/wp/Images/SilverLightDevCampSF/SLCampFullHouse_t.jpg" /></a></p>  <p>&#160;</p>  <p>&#160;</p>  <p><a href="http://technorati.com/tag/silverlightdevcamp" rel="tag"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0.4em; vertical-align: middle; border-left-width: 0px" alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlightdevcamp" />silverlightdevcamp</a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2007/09/15/silverlightdevcampsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking Saturday 9/15 4PM at Silverlight DevCamp, San Francisco</title>
		<link>http://peterkellner.net/2007/09/13/silverlightbarcamp/</link>
		<comments>http://peterkellner.net/2007/09/13/silverlightbarcamp/#comments</comments>
		<pubDate>Fri, 14 Sep 2007 05:24:19 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2007/09/13/silverlightbarcamp/</guid>
		<description><![CDATA[<br />
<p><strong>Topic:  Building animation into "Community Media Browser" for Leverage Software with Silverlight Alpha 1.1</strong></p>
<br />
<a href="http://barcamp.org/SilverlightDevCampSF">
<img src="http://peterkellner.net/wp/Images/silverlightDevCamp_sf_t.png" class="style1" /></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Topic: Building animation into &quot;Community Media Browser&quot; for Leverage Software with Silverlight Alpha 1.1</strong></p>  <p><a href="http://barcamp.org/SilverlightDevCampSF"></a></p>  <p><img class="style1" src="http://peterkellner.net/wp/Images/silverlightDevCamp_sf.png" /></p> <span id="more-77"></span>  <p>SilverlightDevCampSF is an upcoming gathering, inspired by <a href="http://www.barcamp.org">BarCamp</a>, to build <a href="http://silverlight.net">Silverlight</a> applications, It&#8217;s organized by volunteers &amp; Silverlight enthusiasts, with attendance free to all. At this event, I will be presenting a 30 minute presentation on how to build animation into a Silverlight application. I&#8217;ll talk about the implementation details of building the picture slider used in the <a href="http://labs.leveragesoftware.com/silverlight.html">Community Media Browser</a> preview hosted at     <br /><a href="http://labs.leveragesoftware.com/gallery.html">     <br />http://labs.leveragesoftware.com/gallery.html</a> .&#160; In this informal talk I&#8217;ll discuss how LoadXaml() was critical to this process as well as other tricks.&#160; Because the picture slider is running from a live web feed, there is no way to know ahead of time how many picture we may have to scroll so clipping type solutions just don&#8217;t make sense.&#160; Time permitting, we&#8217;ll talk about other issues involved in building this application and of course take     <br />questions.</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2007/09/13/silverlightbarcamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Camp At Foothill College on 10/7 and 10/8 is Going Great!</title>
		<link>http://peterkellner.net/2006/09/30/code-camp-at-foothill-college-on-107-and-108-is-going-great/</link>
		<comments>http://peterkellner.net/2006/09/30/code-camp-at-foothill-college-on-107-and-108-is-going-great/#comments</comments>
		<pubDate>Sat, 30 Sep 2006 15:08:41 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2006/09/30/code-camp-at-foothill-college-on-107-and-108-is-going-great/</guid>
		<description><![CDATA[As many of you know, I've been organizing CodeCamp here in Silicon Valley (Northern California) for the past month or so.  We are up to almost 700 attendees and over 40 presenters!   Oh my.]]></description>
			<content:encoded><![CDATA[<p>As many of you know, I&#8217;ve been organizing CodeCamp here in Silicon Valley (Northern California) for the past month or so.</p>

<a href="http://www.siliconvalley-codecamp.com">http://www.siliconvalley-codecamp.com</a>

<p>We have over 40 sessions signed up now and closing in on 700 attendees!   Yee ha, this is getting fun.  Please visit the site and if you have any feedback, please send it to me through the contact me page on this blog.  Included in the 14 class rooms that are available to us, we plan on using 5 that are fully equipped with internet connected PC&#8217;s.  Through these PC&#8217;s, I expect people to be constantly checking the schedules and adding feedback to classes they are attending.  I&#8217;m currently having some trouble with printing the schedule through the sessions page, buth hopefully some one will come to my rescue soon on that.</p>

<p>I&#8217;ve been busy running SqlServer Tracing to Cache every database access I can possibly cache.   The sessions page, which touches almost every table, does not create one database hit once the data is cached.   My ISP (ultimate hosting) assures me we have a beefy server at the other end of the pipe.  It&#8217;s a college campus on a weekend so the pipe from codecamp will be wide open.  Hopefully all my hard work will run well when put to the test.</p>

<p>Wish us luck</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/09/30/code-camp-at-foothill-college-on-107-and-108-is-going-great/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roll your own ObjectDataSource Presentation, Seattle Code Camp October 23, 2005</title>
		<link>http://peterkellner.net/2005/10/24/presentation-on-objectdatasource-in-aspnet-seattle-washington-codecamp/</link>
		<comments>http://peterkellner.net/2005/10/24/presentation-on-objectdatasource-in-aspnet-seattle-washington-codecamp/#comments</comments>
		<pubDate>Tue, 25 Oct 2005 06:48:49 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.Net 2.0]]></category>
		<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=21</guid>
		<description><![CDATA[<p>Roll your own ObjectDataSource, Seattle Presentation Oct 23, 2005</p>]]></description>
			<content:encoded><![CDATA[<p>Class Description:   <br /><b><i>Roll your own ObjectDataSource (and some Neat ADO Tricks) Presentation, Seattle Code Camp October 23, 2005 </i></b></p>  <p>In this session, we will build an updateable ObjectDataSource from scratch that accesses a sql database. There are many tricks to make an ObjectDataSource truly reusable. Most of the tricky attributes and how to use them will be presented.</p>  <p>Web Site With Full Description</p> <span id="more-11"></span>  <p><a href="http://pacwest.ms/codecamp/sea/1/sessions.html#web_development">http://pacwest.ms/codecamp/sea</a></p>  <p><a href="/zdm_1_2/index.php?file=5">Click     <br />Here for Downloads to Code and Powerpoint Presentation</a></p>  <p><b>All Comments From Class Evaluations</b></p>  <p><b>Average score of 8.8 / 10.0&gt;</b></p>  <p>Comments:   <br /><i></i>    <ul>     <li>I don&#8217;t really know how to evaluate this session. I will have to digest it for awhile. I suspect there is huge value hidden just beyond the horizon of my understanding. </li>      <li>Really enjoyed this. This was the talk that I had marked on my schedule from early on. Well done. A bit soft spoken in the begining. </li>      <li>I was 5 or so minutes late for this session &#8211; so my difficulties might well have been due to that. I had trouble at first following what was going on. In the end, I think Peter did a great job of limiting the material he presented, and of fleshing out and motivating the material he chose. I will definitely be able to give it a go at creating my own ODS as a result of this talk. Nice job! </li>      <li>started in low key &#8211; one of the rare speaker one see how he thinks and can explain &#8211; NOT monkey see MONKEY do- MUST be pedagog in his real life &#8211; but at the end we had solid understanding of ObjectDataSource. </li>   </ul></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2005/10/24/presentation-on-objectdatasource-in-aspnet-seattle-washington-codecamp/feed/</wfw:commentRss>
		<slash:comments>2</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)
Database Caching 8/15 queries in 0.013 seconds using disk

Served from: peterkellner.net @ 2012-02-10 04:34:27 -->
