Hey Steve, how was the earthquake?
Monday, May 18, 2009
Some journey home antidotes
On my drive from my friend’s house in Carlsbad to LAX, I had to take this toll road expressway through Irvine, CA. By the time that I got to the toll road, the fog was the thickest that I had ever seen. I had to slow down to 10 MPH to be able to see the toll plaza in time. Part of the issue was the low traffic volume that time of the day (about 8 AM).
Of course landing in PHL is always a challenge. My flight would be no exception. We made about two laps around the airport and were about to land, and got about 50 ft above the strip when the … pilot pulled up! He later said something like the tower waived him off because of traffic on the runway! I was afraid it was something like he didn’t have his gear all the way down or something!
Friday, May 15, 2009
Takeaways from the Conference – 2009 / 2010 Direction
Clay, Steve and I are putting this summary together.
Key Takeaways:
- We believe that we are heading in the right direction with the Silverlight application and the way that we are doing it.
- Other than a service pack that must be loaded, there are no major changes the SQL Server that we would need to worry about.
- Microsoft is Pushing Windows 7 , Windows Server 2008 R2 and IE 8. We can add response headers to our servers to force IE 8 to render in the IE 7 compatibility mode.
- We should push out IE 7 ASAP
- Microsoft is really pushing System Center
- Future enhancements planned for Visual Studio 2010 will enable easier deployment of web applications and synchronization of servers in your farm
- We need to spend more time with expression blend, which is the designer part of Silverlight.
2009 / 2010 Toolset
We don’t find any compelling changes on the horizon for our development practices or tools for 2009 and 2010.
- SQL Server 2008
- Visual Studio 2008 SP 1
- Silverlight 3.0
- Infragistics Silverlight Line of Business Controls
- Infragistics ASP .Net 8.X or 9.X
- SharePoint 2007 SDK with Visual Studio 2008
- Continue to use AJAX
2011 and Beyond
- ASP .Net 4.0
- Visual Studio 2010
- Windows 7, Windows Server 2008 R2, IIS 7 – Provided that Joe’s group has that in their plan
In conclusion, we believe that we already have the majority of our toolset implemented for 2009 and 2010. Our technical standards document is a little behind, but we do plan to document this tool set ASAP.
WUX205 – Designing and Prototyping in WCF and Silverlight – A Case Study – Billy Hollis
See Online Demo on .Net ROCKS. Nice menu structure. Sliding of user controls off the page, etc. Neat feature with note capturing. Look like Post-It notes.
Highly Intuitive UI. Had he started the app now, he would have done it in SL3 instead of WPF. He said that you could do the same app in SL3, but it “takes more work”.
First Step: Is advanced UI work it?
- Data Templates are powerful
- Try to be “non-linear”
- “Don’t think of the screen as a set of rectangular areas to pour things into”
MSC UI Demonstrator
Traditional navigation not good enough. Gradient color is effective. Translucency preserves mental context. In-place editing has usability obstacles (use child screen with hover for edit).
Next Phase: Multiple Prototypes
Home screen resonates with users
Semi-modal child screens essential
Visual “dirty record” signal essential
Animation essential to natural feel
Don’t try to cram too much animation in
Use both sides of your own brain
WUX317 – Easing ASP .NET Web Deployment with Microsoft Visual Studio 2010 and MSDeploy – Vishal R Joshi
Make your Web Deployment Way More Easier
XML Transformation Engine
Web.config
- Web.Debug.Config
- Web.Testing.Config
- Web.Release.Config
- <appSettings xdt:Transform=”Replace”> transform with code snippets to be able to have your web.config be transformed with your build.
MS Deploy Web Packag – makes a zip package of your app
Package / Publish tab added to project file. In IIS 7 it has an option of importing an application from a zip file package as prepared from VS 2010. You don’t have to make a zip file, you can just move the content. A command script is also generated for the option of running the installation from the command line.
Sharing Code between .Net and SilverLight
Building Modular applications in Silverlight and WPF
Fix your broken application: The Black Art of shims
WUX205 Designing and Prototyping in WPF and Microsoft Silverlight: A Case Study
Where is My Memory? Understanding Microsoft SQL Server Memory Usage and Management
- This session was very difficult to document because the instructor moved so quickly. The biggest point that can out of this session was the fact that SQL Server will suck up all the memory if you allow it, but when the OS or some other program needs some memory, it will release it back to the OS or App.
- If you have multiple instances of SQL Server on one server as we do, we may want to look at throttling each so one of the instances does not cause the other instances to perform poorly.
- I have a copy of his power point presentation and I will distribute via email when I return to the office.
Bill Engval show taping
Tonight Steve, Clay and I drove into Hollywood to witness our first ever taping of a sitcom, The Bill Engvall show. We were told that it could take 3-4 hours. They ushered us in, and like an airline waiting for a takeoff, it took a long time to get going. There were some vips in the studio audience like this chick from the show in previous years who is now on lost or something. We sat behind the family of the teenage actress (Jennifer Lawrence). Her family is from Luavul, so I tried to make some small talk.
The show taping was interesting. They tape each scene at least twice, and some like 4 times because people keep on messing up. Tim Meadows had a tough night remembering his lines.
The funniest part of the show was the “warm up act” who would entertain the audience while shots were being set up. He was hilarious and he tours. Tomorrow, he will be at the Brown Hotel in Luavul (it’s a historical renaissance hotel. The best hotel in Luavul).
We all got autographs after the show, especially Steve. It was a great experience, something that everyone should experience once.
Thursday, May 14, 2009
Taking AJAX to the Next Level – Jonathan Carter
What is the “next level?”
Why do some find JavaScript painful? - Intellisense and debugging
jQuery – write less, do more.
Three new AJAX Control Toolkit Controls – HTML Editor, Color Picker, and Combo Box added. Released last night. ACT will be getting much stronger
Very Important Point – AJAX supports the entire ASP .Net ecosystem and beyond. This session will concentrate on the client side support.
Client Controls (coming in 4.0)
DataView (templated UI master/detail)
DataContext (Service communication)
Demo
<tbody 'id=”customers-template” class=”sys-template”>
<td> {{ Id }} </td> - Client control mapping
jQuery stuff in *.js file
$(document).ready(function() {
var dataContext = $create(Sys.Data.DataContext, {
serviceUri: “Services/Customer.asmx”
});
var customersTemplate = $create(Sys.Ui.DataView,
{
autoFetch: true,
dataProvider: dataContext, fetchOperation: GETCustomers fetchParaneters: 20
}
, null, null, $get(“customers-template”))
});
Command Bubbling
<button sys:command=”select” … />
Live Bindings (one time, one way, and two way bindings between controls)
Demo on wiring up a master child relationship on adventure works database . This is done entirely in html and jquery. The point is that you can do AJAX purely on the client side. I am not sure we would ever need this. Possible impact would be to have another way to generate dynamic html in the client (see ExpenseTrack detail form). Another possible application is easier way to refresh values in our pages without using Javascript. I will try and follow up by downloading the example.
Change the service to DataService.
DTL326 Visual Studio Tips and Tricks – Scott Cate
@ScottCate ClouDB.com
Incremental Search – Cntrl – i
Sara Ford – 380 Tips and Tricks
http://ScottCate.com/Tricks/001
I will just list out the tips that he goes over by number.
Block Select – Cool – 002
050 – Turn off the setting to turn off the copying of blank lines
051 – Clipboard ring. Go Through Clipboard stack
091 – Driving from the find box – Get Intellisense on your find opearations. Awesome.
121 – News Channel – on load of VS – The ol’ trick that I showed you before
125 – Working with paths – Open Folder in Solution Explorer, Open Containing Folder
158 – Throwaway Project – Cannot be added to an existing solution
184 – Undocumented tip – Vertical Guidelines -
191 – Adding Code Snippets to Your Toolbox – Josh’s favorites
234 – Introduction to code snippets – easy to modify – Community web site with 1000’s of code snippets
237 – Trace Point - Conditional breakpoint – When breakpoint is hit
Cold in here…
242 – Font Size change on the fly – Alt-F8 Macros – Samples – bind a macro to a keyboard shutcut
274 – Disable the exception assistant
231 – XML visualizer – like XML notepad
331 – File Sorting for your open file list – Registry Hack – Awesome I think
332 - Edit the project (while unloaded)
359 – Bring in the using statement Cntrl-. (C#)
363 – Display Source Custom Results
Microsoft Office Excel 2007 Charting and Advanced Visualizations
This session is geared around business intelligence.
- What’s New in Excel 2007 Data Visualization
Top/Bottom Conditional Formatting
Conditional Coloring of Proportional Data Bars
Heatmaps
Sparklines
Chart Reference Points and Lines
Histograms
Labeling X-Y Scatter Charts
Floor Plan Conditional Formatting
- Charting
New UI: Ribbon, Modeless dialogs, Context Menus
Consistent experience across Excel, Word, and PowerPoint
Enhanced graphical effects
Publishing of charts to Excel Services
- Conditional Formatting
New UI for managing rules
Predefined cell highlighting rules
Data bars
Icon sets
Color Scales
- Example Excel file:
BIN303_Demo File (finished state).xlsx can send it to you if interested. Have it on my desktop.
- It looks to me that charting is fairly easy provided that you do the research to learn the details. Of course the instructor was moving so fast that I will never remember. But, it is really cool the new easier features that have been added to allow us to create charts. This stuff would be really useful for Jody and Deb for the monthly reporting that they do. It would really spruce up our Excel reporting.
Sharepoint Admins – The reluctant DBA
This session was intended for the SQL Server DBA that is responsible for the databases associated with SharePoint.
- WSS and MOSS
- Farm configuration is stored in SQL.
- All SharePoint content is stored in SQL
- Central admin is a web config
- Content Databases
- Sharepoint 2010 will only use 64 bit.
- Don’t do basic installs.
- Create maintenance plans
Check DB integrity
Reindex or rebuild DB
Update Stats
Backups
Defrag the file system
Run DBCCCHECKDB as often as backups.
- Consider compression for backups
- Need to defrag the File system. Use something like diskeeper.
- Never shrink databases because Databases always grow.
- Size your databases for 1 year of growth and set an initial size that allows for fee space so the file does not have to Auto grow.
- Database Best Practices and more:
Create multiple TempDB
Put database and corresponding transaction logs on different drives
Arrange db according to speed
Use autogrow sparingly
Keep you db under 100 GB
Don’t alter the sharepoint databases
If using SQL 2005, install SP2. SP1 breaks the Sharepoint search. Happens only when you rebuild indexes.
Can use Sharepoint farm backups to backup SQL
Don’t forget your system databases
Sharepoint 2007 SP1 supports SQL 2008
Use multiple contend databases.
Use database encryption. Has a 3 to 5 percent performance hit.
The presenters really did a great job of explaining how to administrator SQL Server databases. They were a little less technical so they spent more time explaining the detail. Really nice presentation.
Wednesday, May 13, 2009
WUX309 – Microsoft Expression Blend from a Developer’s Point of View – Markus Egger
Originally created for the WPF designer platform, as in designers are not inclined to use VS. He doesn’t do any visual editing in VS.
He recommends using Blend 3.0 (preview). Can’t use Blend 3 to do SL2 development.
VS and Blend Similarities
- WPF and SL templates only
- New (3.0) TFS support
- Blend 3 supports code editing and Intellisense
- Toolbox
- Properties and events window
VS and Blend Differences
- Richer UI editor
- UI hierarchy window
- Storyboards and Timelines
- Trigger and Visual State support
- Resources (XAML)
- Data Sources ( design time data binding). Data generation.
Designer Tips – Create Subtle Effects
- Create the project in VS first and then open in Blend
- Run your applications from VS
- Beware of having the same file open in both IDEs
Differences between WPF and SL
- Triggers vs Visual States
- Resource Dictionaries
Example app (download). Task : make this app “look good”. Apply a gradient color to your grid. Then use the gradient tool to bring the color a certain angle of direction.
Can’t really document this part as he is all over the Blend UI. Would be nice if this video becomes available. Tricks for making your buttons look like they are under glass. Applying a floataway grid, which reshuffles your list items when a move event happens. Resize the window and the items move around in the grid animated like.
SOA 309 – Load Balancing and Scaling your WCF Services Today and Tomorrow – Michele Leroux Bustamante
www.dasblonde.net – her blog for code samples after the conference
Performance – Time to complete a request – Execution time, response time
Throughput: Concurrent request processing (requests per unit of time – usually per second)
We can decide how many concurrent calls – defaults to 16 – per service. maxConcurrentCalls=”30”, maxConcurrentInstances=”30”, maxConcurrentSessions=”1000”
iis 6 – no concurrent request throttling – limit requests by application queue. Increase your maxWorkerThreads to something like 100. MaxRequestsThread.
iis 7 – process wide request queue. Defaults to 12 (set to 0 to use IIS IO thread). Usually don’t want to do this. Increase to 100-500.
California Angels Game
Steve, Alan and I attended a California Angels game last night. It is about the same distance to Angels stadium as it is to the Phillies park. We got to experience the LA traffic first hand. What a nightmare. All the freeways are like the Schuylkill. Got to the game and had to eat stadium food because of the time it took to get to the game.
The game itself was great. The Redsox won 4-3 in the 9th inning. It was unbelievable how many Redsox fans were there. The two teams fans bickered all night. I fixed them all by explaining that the World Champions reside in Philadelphia.
The stadium was nice but old. The RAMS used to play there and was renovated by Disney when they purchased the team.
We took pictures and I will have Alan post them because he has a card reader in his PC.
Worth a trip if you are in the LA area.
Ado Entity Framework(EF)
- Know what tiers are needed and why
- Consider service operations and Payload Types.
Concurrency mode property of entity field used to checking changed data. EF enables separate DAL business objects layers but less coding. T4 is a templating engine that comes with VS to auto generate code. Will need to download “ado 4.0 EF code generating template” T4 makes custom code generation easy. Register SavingChnages event handler during context constructions. Avoid modifying other entities in OnValidate. You can create a fake implentation of you data, so you are not mucking about the DB. Make a mental model of a repository as in memory collection. Decouples data from DB. Make some assumptions, you mark all properties changed not just 1, and concurrency value is from first read.
Expression Blend For Programmers
You can create WPF or Silverlight projects from Blend. Hold shift down to expand out toolbox list as you hover over, or click last one to see all controls. You can place controls inside other controls from object browser. When you see red trim around form, means you are in story board editing mode. Expression blend has no debugging, will still have to do that in VS. You can have solution open in blend and VS at same time. Always create projects in VS to insure you get everything VS needs. Grid in Blend is what you use to fix layout of form. Use gradients to make things look better…it should be very subtle tho. Put rectangles behind objects to give them nice color changes. Use gradients at same horizontal axis for glass looking effect. If you don’t know the size of an object put itside a view box, which auto size it to size of list item. Second pointer tool to manipulate parts of an object. Once a template is created you can then right click to apply to 2nd object. I they have differences ( ie data bound) do edit copy of template to just change the binding. You can also edit the template of layout of items.
Best Practices for Exception Handle and Defensive Programming in SQL Server
- Statement Terminating Error – On Error Resume Next
- Batch Aborting – anything before the GO is aborted
- Connection Aborting
- Everything is classified with Severities
Severity <10 – just a warning
Severity -11 – Exceptions
11-16 Errors that can be corrected
Severity 17 – 19 Resource Issues – Running out of space
Severity 20 and above – Drop everything and fix.
- Most exceptions are stement-terminatin, irrespective of severity - XACT_ABORT: turns statements into batch terminating as opposed to statement terminating. Recommended that we turn this on in all stored procedures that has more than on batch(GO). Only on procedures that do not use TRY/CATCH.
- Sys.Messages
- Error Format: Error Number, Error Severity, Error State, Procedure Name, Line Number,Message(Most Useful)
- RAISERROR – raise an error, specify severity, state and other:
Example: RAISERROR(‘General Exception’, 16,1)
Can create custom RAISERROR’s
- Exception Handling - this is TRY CATCH
Error Functions that can be used in the TRY CATCH:
ERROR_NUMBER
ERROR_MESSAGE
ERROR_SEVERITY
ERROR_STATE
ERRRO_LINE
- Transactions and Exceptions
Statement Transactions do not rollback
Batch Transactions do rollback.
- Conclusion: We seem to be handling our error handling properly. The speaker had some good examples, so we should link to his BLOG for some new idea. Especially, the items he described on Retry Error blocks.
Future of VB
What is coming out in VB 10. Built in WPF so csn use mouse wheel to change font size. The need for _ to continue lines no longer exists.
Multiline lambdas, can put code into threads call. The as Parallel method to run things in parallel. Function lambda, can write functions inside functions. They have removed having to type get and set properties in classes. Have added new From intializer to initialize lists and dictionaries, even supports multiple values for each list item. (Example Dim X as new list from {33,44,55} or {{1,A},{2,b}}.
They are adding DLR (Dynamic Runtime Library) in addition to CLR, so you can call libraries written in dynamic languages (like PYTHON or RUBY). Can add Imports Python.hosting. (will use late-binding tho)
No need for PIAs to compile. User properties for reference to PIA, a new property is called Embed Interop Types, this will tell compiler to only bring types that are used in your app.
Compiler as a service so you can write vb on console lines.
Even Faster Webs
Souders@google.com
14 things that need to be done to that can cut download times(these will be needed to be grabbed from presentation as they were not up there long enough). Yslow is addon that will show slow points.
Focus on Javascript.. First suggestion is split the JavaScript payload….only need what is necessary to render the page. 6 methods to do this, XHR Eval, XHR Injection, Script in Iframe, Script DOM element, Script Defer, document.write. Best depends on what results you are looking for. Script on load to help with async javascript loads..
Simplify CSS selectors… selectors are being applied left to right, not right to left. #toc > LI {font-wight:bold} will search all LI elements and check their parents. Avoid univeral seelctors. Don’t qualify ID selectors, don’t qualify class selectors, avoid descendant selectors, avoid tag-child selectors, be wary of child selectors. Beware reflow times, DHTML actions will cause a lot of reflow.
OFC305 - Creating Rich Business Applications Using MOSS, MS Excel and Excel Services – Dan Parish
What Excel Services is and What Excel Services is Not.
The only thing that I got out of this is the impression that if we were to run Excel Web Services, we might be able to do away with the FarPoint control? There was too much setup to integrate it to a SharePoint Form in my opinion.
- For the exploration and consumption of excel workbooks
- Access via Thin Rendering in Browser, Excel 2007 Client, or Custom Applications
Architecture – Web Front End(Excel Web Access, Excel Web Services) Application Server (UDFs and Excel Calculation Services)
Demo: SharePoint Lists, Excel Services (UDFs) and Excel Web Access Web Part
Step 1 – Create SharePoint List and UDF (not SQL Server UDF).
Step 1 Easy just create a form. UDF . Add a reference to Excel Services UDF Data Services and Microsoft SharePoint. Decorate your class with a UDFClass attribute. And set isvilotile to true to cause it to refresh every time you call it. ReturnPersonalInformation = true to be able to privatize the results.
Publish to SharePoint. Hookup UDF to Excel Workbook Sheets.
Team System 2010 Development Essentials – Doug Seven
DB Edition is free with 2008
Targeted at developer productivity. 400 person team working on this product.
- New Testing tools to target the “generalist tester”.
- Added tools for Lab Management
Actionable Bugs Demo
- Data Collectors can capture the steps in the test case.
- Testing tool has video recording of the steps done by the tester.
- UI Steps and framework details are collected as well.
- Execution Steps are captured an instrumented log file. This is a configurable option under Team Testing. This is collected from the ASP .Net worker process.
- Debug History – go back in time to find the point of failure.
- Objectives : “No More: No Repro”
SQL Code Analysis Demo
New Rule Sets (eg, Minimum Microsoft Recommended Rulesets, create your own ruleset)
- Avoid Select *
- Avoid sp_
- Avoid % in LIKE
- etc, (14 new rules)
Make builds a gated check-in. IE, you can’t check-in without a whole build being done and completed. IE, the check-in actually goes to a shelveset and a build is merged with the main line of code.
Test Impact Analysis – will compare the changes on your workspace and figure out which test cases should be re-run.
Can now use a windows workflow designer to work on build definitions.
Architecture Compliance Demo
Saw this in the Team Architecture Demo. Bottom line is the ability to make sure that if you diagram the architecture of an application ahead of time, if you make new changes you get some validation that the overall architecture has not changed. It is the layer diagram project type.
Database Change Management with Team System 2008
- Visual Studio Team System 2008 Database Edition GDR R2 is the latest version (We need to load this version).
Builds on top of Visual Studio 2008 SP1
Adds support for SQL Server 2008
All the database features as part of the Developer version. No additional cost.
New Architecture:
- Database Schema provider model
- Separation of Build and Deploy – knows the difference between new and incremental changes.
Build generates a DBSCHEMA file
Takes.DBSCHEMA file as input
Plus configuration files
- Public Extensibility
Power Tools
- T-SQL static
- All tools work on a single model
- No more Design DB or need for local DB instance
- Declarative DB Development
Saving all items as create scripts
Specify the shape of the schema about. ALTER is removed
Shape definitions are used to create model representation of the schema
Schema representation:
Can round trip source > mode > source> model
programmatic interaction for designers
Make model changes
Generate artifact, like incremental deployment scripts.
- Incrementally Deploying your Databases
- Versioning your DB Schema
This was a tough session to document in detail because of the many demos. The basic gist is that they have correct all the issues of the previous Versions of the DataDude. Including that there is no more charge for the application for our developers. Everything is stored in scripts so that the system can figure out if you have changes or if it is an initial creation.
Building Applications with SQL Data Services and Windows Azure
This was a session on building applications with SQL Data Services that can reside in the Cloud.
- Introduction to SQL Data Services and Azure
SQL Server in the Cloud. Azure is Microsoft’s cloud. Relational DB in the Cloud. You store your data on Microsoft’s Servers.
Supports common application patterns.
Logical based administration
Patterns work for SDS and SQL Server 2008
Throttling and load balancing
Limits on DB size, duration of transaction, etc.
- What is a Data Hub (Cloud)?
This is the idea of taking your data and bringing it into the Cloud. This is public data source. This will require syncing of data which can be difficult.
Each account has zero or more servers
Each server has one or more databases
Each database has standard SQL Objects.
Helps to reduce capital costs.
Conclusion: This is a neat concept, but I not sure it is practical for Weston. I don’t think we are in the business of using a third party to avoid capital costs.
WSV 304 – Deploying and Managing Scalable Web Server Farms with IIS7 – Faith Allington
My focus here is on replication of webs between servers.
Tools for Web Farms
Creating a Simple Web Farm – using Shared Config
Under the management section of the UI. Export the configuration of the settings of your server to an area of an UNC share. Read at startup. Does not replicate content.
- Simple redirection to a UNC share – consolidate
Web Deployment Tool – Synchronizes web servers, IIS, content, SSL certs, GAC and more. Not integrated into SharePoint. Not automated (yet) like Application Center. Could create scheduled tasks to run the command line.
- msdeply – sync between source and target .
Application Request Router – ships out of band - eleasrically scale your capacity ; intelligently route traffic in your farm
- Extending the Web Farm – Creating a server farm will optionally create an URL redirect rule. Seven options for load balancing. Can take a server offline gracefully, immediately, or disallow new connections. You can create a health test so that the server could be taken offline if it was deemed to be unhealthy.
Scaling the Web Farm
Web Platform Installer 2.0 Beta
DPR301 – Embrace Open Source on Codeplex – Sara Ford
Customers ask for transparency. Getting feedback from Codeplex.
- Team Explorer can connect to Codeplex.
- Voting on features
- Survey Comments
- Tweeks – Tweetdec?
Open Source – How to contribute and how to consume
- Open Source Initiative (OSI)
- Source Code Provided
Demo on consuming – only 400 or so are Microsoft projects out of the total 9050.
- Silverlight Contrib Project – Color Picker Control, etc.
- Vista Battery Saver?
Demo on Contributing – Connect through team explorer.
xUNit.net – testing framework
Tuesday, May 12, 2009
Solve Problems without Spending Money: Microsoft Access and SQL Server
The purpose of this session is to provide cost free solutions for five scenarios. The main thing learned here was that there is some new functionality in Access that can be used to quickly handle some of the problems shown below.
- Using MS Access as a front-end for SQL Server. Can empower the users to create their on solutions. Would be for power users only.
- Scenario 1 - Access RESTful data such as Twitter and Amazon.
Can use the REST technology which is an API. Write very minimal code and the item is parsed as XML. Code will be posted on the TechEd site. Can create forms from the table using the form features on the create menu.
- Scenario 2 - Ad hock querying and reporting
Use Access as a front-end adhoc report writer
Create specific reporting tables, stored procedures or functions and then create read access to all with an ODBC data source. They would then link to them. There is a new common table expression in SQL Server 2008.
SQL Pass-Through Query inside of Access – is a regular access query that has an ODBC connection. You have to provide a valid T-SQL to SQL Server. Can execute SQL Server store procedures this way.
- Scenario 3 - Scalable data entry with Table value parameters (TVPS)
Must use a SQL Pass-Through Query
Code sample is out on the TechEd site.
- Scenario 4 – Sharepont Integration
Performing analytics on the data in Sharepoint.
Run ad-hoc queries on a Sharepoint Lists. Go to external data and select sharepoint lists.
- Scenario 5 - Agile Prototyping Tool
Some neat stuff here, but might find some resistance by the developers because this is not their expertise.
WUX206 – What’s New in Silverlight 3 – By Jesse Liberty!
1st Demo – Real Estate on the internet is at a premium. One way animation can get out of the box of not being a toy. Flip transform to flip a page. Projection transform – allows you rotate across the x,y,and z axis.
Demos http://silverlight.net
Every Demo on his blog:
http://silverlight.net.blogs/jesseliberty
Every Demo Fully Demonstrated in a video
The Slider and the TextBlock – SL2 – Slider event changed. - Sl3 – Bind the textbox to the slider element. Small thing, but could have a big impact on scalability. Now SL apps can run on YouTube, the iPhone, Flash and Quicktime.
Easing – Made Easier. Easing is a change in acceleration.
Pixwls and Bitmaps – Pixel Shading (per pixel!). Written in HLSL. Effects: Drop Shadow and Blur
Demo – Taking a snapshot of a demo and capture it into a bitmap.
Local Messaging – Communicates From One Plug-In to Another. Across Pages, Across Browsers, Shared Memory, Messages are String-based. Great for Mixed HTML and Silverlight content.
UI Framework Improvements – Based on Styles, Merged Resource Dictionaries, Multi-select ListBox, ClearType, ImageImprovements, Save File dialog – developer has no control on where the file goes. Can base new styles on old styles. Not fully cascading style sheets.
Validation – Validate input against Data Object. Mechanism is via Binding & VSM. NotifyOnValidationErrors = true. ValidateOnExceptions = true. Now there is visual state as the standard part of the controls for handling validation errors.
IDE Tips and Tricks
Use ? {tab} to bring up Code snippets code.
Use {ctrl} . To bring up smart tag text.
In VS2008 can right click green area on code snippets to get rid of them.
In vs2010 if class not defined, Intellisense can create class.
CodeRush xpress will draw light lines to show blocks of code (ifs, loops) (use in VS2005/VS2008) Added a lot more colors to code in VS2010 (like types are colored cyan).
Use {crtl} , to bring up search of code for words in VS2010, and add CodeRush Xpress to get in VS2008.
{ctrl} {shift} {alt} o to bring up dev express opions in coderush Xpress.
{crtl} up {crtl} down to skip through methods.
Using CodeRush Xpress {crtl} ` to create dims from value declarations.
If intelligence is covering code you want to see press {crtl} to temporarily hide intelligence popup.
Data Driven RIA ASP.Net and Silverlight
Silverlight original name was shazamaml.
5 key aspects of a Rich Internet Application (ria): Profession feel, rich data query, validating input, authentication, different views.
Use DomianDataSource in xaml to work as aspx data source.
New activity control…binds to datsource and controls paging, along with DataPager. Use groupdescritors property to group data in domaindatasource, and Filerdescritpors for filtering.
Autocomplete box like ajax auto complete.
Datagrid is better for master data, data form is better for detail data.
Use metadata class to help validate on client and server. Can use ria.applicationservices to do authentication.
Sitemap page makes silver light site more searchable and will help with people who don’t have silver light (will need pluginnotinstalled template)
Tough Lessons Learned as Software Project Manager
The presentation was done by Gregg Boer, a Principal Program Manager of the Visual Studio Team Foundation Server Team. Let me first say that his presentation was outstanding. His presentation skills and his work experiences really stuck a cord with me when I am wear my PM hat. Many of his discussion points matched exactly some of the challenges that we face every day at Weston. This was by far the best presentation I have attended at any of the Tech-Ed events.
- Obviously he uses Visual Studio Team System (VSTS).
Prioritize Ruthlessly
- Everything takes longer than expected. Make sure you are working on the most important things.
- Rank the features
- Always have to be cutting features because always grow bigger than planned. The reason we are cutting features is that we are working on the most important features.
- PM’s job is to defend every feature cut and every feature was kept.
Understand “WHAT” and “WHY” we are doing it so we can understand the product to be delivered.
- Manage Scope, Schedule and Resources.
- Understanding the “WHY” guides the cutting knife.
- Keep the small items small. Don’t let them grow.
Define Scenarios and Testing
- Words from the customer on how they will use the product. This will allow us to test the app the way the customer uses it.
- Customer reviews
- Scenario driven testing
- End-To-End Testing.
Schedules
- Aggressive schedules don’t motivate
- Staff won’t believe your estimates.
- You have been branded as not meeting schedules.
- Never commit to unrealistic schedules.
- Ask why do you want to shorten the schedule?
- Never commit to a schedule you don’t think you can meet.
- How much OT is reasonable? Speakers is 45 hours per week over a long period of time. Most people developing software are not productive at more than that.
- Present and defend a realistic schedule.
Politics
- Politics are dumb, but ignoring politics is even dumber.
- Politics is simply people defending their territory
- Everybody has a stake like reputation, being right, principles, bonus, promotion, job and self worth.
- Need to manage the teams needs.
- Manage the politics so they make the project success.
Risk
- Need to manage risk. There is always going to be risk so plan for it.
- Most project risk is known, but not managed.
- Ask the team what could cause this project to fail.
- Hope is a 4 letter word. You have problems when the word hope is used.
- Creating plans and finding risks don’t mix. Create a plan and then go to your team a try to poke holes in it.
- Whiteboard the three biggest risks and manage them. When a risk is removed place another on the list to maintain the 3.
Popularity
- Project management is not a popularity contest. Need to gain respect by doing the things previously discussed above.
- You will nnver have all the _______ you need to do the job. You need to accept that.
- If we are doing our job we will eventually upset someone.
- Our job is to deliver the project in a way that you planned.
People
- You work with people not resources.
- Need to truly care about the people on your team.
- Treat them with respect like you would treat a member of your family.
- The people you work with are more than the job they do. Home life issue affect the job they do.
- Don’t minimize people to a resource checklist.
WUX303 – Building Data-Driven RIAs with Microsoft ASP.Net and Microsoft Silverlight – Scott Morrison
Five key aspects you want
1) Professional Feel
2) Rich Data Query
3) Validating Input
4) Authentication
5) Different Views
Stilverlight Navigation Application – Add a new page in the views folder.
SL3 – Perspective Transform – neat display
Drawbacks to being data bound. Middle tier will allow for better scalability. No ADO .Net built in controls in SL for this reason.
Ria – DomainServices class.
Paging – using XAML – new class (Domain Data Source). Similar to asp.net data source. Can set the load size (in this case 40). Includes a data pager. Can now sort on the column and include sorting on all of the data even though I have a subset of the data on the client.
Grouping – group by a column
Filtering – build a text box, and filter the content based on the contents of the text box.
Can now use an autocomplete box -
Validating input – new control – The data form – good control for showing details. Highly templatable. Will automatically keep track of the face that the record has changed. Datatype validation is built-in. Demo’s putting in validation decorations on your class so that it will use the same logic to validate on both client and server.
RIA with WPF
Three New controls were added in VS2010 these are: Datagrid,DatePicker and calendar control. DataGrid has that lers you show details with data, using datagridtemplates. Differences between Datagrid and list view: list viewis read-only where Datagrid isn’t. Datagrid has auto generation and list view doesn’t.
VS2010 lets you apply resources to help you pretty up your applications. This is goood so outside folks can do graphics/color schemes for the application. They have put out 8 themes on wpf.codeplex.com to download.
Updated one-click functionality to include background updates. Reduced .net framework size from 250 to 60 MB. This drops to 30 download to client. Added client profile configuration to help make setups look nicer.
Model-view-ViewModel helps separate UI from business logic. There is an m-v-vm toolkit at wpf.codeplex.com. Can have your apps have MS ribbon look and feel (in current CTP) Tho you must go th the Microsoft office site to download this. Jumplists let you customize what you see on taskbar in windows 7. WPF will work better with Office.
All the good stuff is on http://wpf.codeplex.com
Building Rich Clients in WPF
WPF is ready for Line of Business apps.
samand@microsoft.com
Datagrid RowDetails Template – Put a datagrid in a row details template. Can nest multiple grids through the rowdetails template.
Difference between list view and data grid
- List View – read-only; Datagrid will autogenerate columns when connected to datasource. Datagrid is focused on transactional editing. Listview can be a flexible templated presentation.
List View data template
Quick things to do to make it prettier. WPF Themes on the Codeplex site recently launched.
Styling – http://wpf.codeplex.com
Deployment – ClickOnce
- New Background Updates in .Net 4.0
.Net Framework 4.0 deployment
- Smaller Framework Redist packages
- (60 MB compared to 250 MD for 3.5)
- Client Profile subset < 30 MB subset of the Framework
Client Profile Configurator – Creates branded setup with chained pre-requisites
Preview at http://wpf.codeplex.com
Integration with Windows 7
WPF ribbon for Office. Launch Word to create an invoice from your data app.
msdn.microsoft.com/officeui CTP on Ribbon. CTP2 at the end of the summer. Will include a redesign.
Integrate WPF,LINQ,WCF, and VS Tools for Office (VSTO)
- Leverage Office API expertise
- access web services
The Famous Comedy Store
Anyway, we start back at the conference in 2.5 hours. Remember California time. :)
Monday, May 11, 2009
RIA with WPF
Complaint session
Thought that I would take an opportunity to whine about some things that Microsoft could do better with this conference.
- Hotel – can’t fully control AC, not enough power options, no in room safe, high parking charges, old TV.. Good shower head pressure though.
- Shuttle – no service in the middle of the day.
- Wireless service is unreachable in the breakout sessions
- Knuckleheads gave us a water bottle which causes cancer
- T-shirt instead of Polo Shirt
- Burnt spunkmyer cookies for snack.
- Landscape bags instead of backpack.
- Not enough rest rooms
- What’s with all the tofu in the meals?
Microsoft .net Connected Application Deployment
Application Users – a runtime without developer items like reference assemblies
Removes the need to reboot and have administrator access to install
Developer users a Profile consists of – reference assemblies to target a particular profile using VS 2010.
.Net Framework redist is 231 MB. Need to fix this with .Net client target coming out in .Net 4.0
Taking Your Database beyond Relations with SQL Server 2008
Company Named Blue Dasher Technology. Presented a really cool demo of what they do. Basically software that finds locations and then can give you a virtual ride on the road past a location. Great for real estate, but not a great fit for Weston because it requires more technology than we have.
- Filestreams – store data in the file system but have the ability to access the files from the SQL Server 2008 database. There are specific steps to enable this process. Not a great fit for us because it has the greatest cost per GB of data. Bottom-line: we should continue to do things the way we are currently doing them with files like photos etc…
- The Full-Text index and search is now fully inside of SQL Server as opposed to the way it was in SQL 2000. This creates better performance.
- Fully supported geometry and geography attributes of the Varbinary(MAX) data types. Interesting stuff, but require a specific need on our part to delve into further.
- XML Updgrade – they have made some upgrades to XML which I would list here if my battery was not about to run out. Can hit the Tech-Ed site later for the instructor’s slides.
What’s New in SQL Server 2008
Activity Monitor
- Right - Click on the server and open the activity monitor.
TSQL Shortcuts and new data types
- Insert Into can now be done in one statement:
- Insert Into TableName Values (ABC,23),(DFG,44).
- DateTime2 allows dates prior to 1900.
- The DATE data type.
- Can turn on the CLR (Common Language Runtime) to allow the developer to program inside SQL Server. This was also
- available in SQL 2005. Can change policy using this feature.
- New merge feature. Is nice to merge two data sources and the tables do not need to have the same schema.
- Table Value variables can be passed as a parameter to a stored procedure. Nice to use these variables because they are stored in local memory. Got to be careful with the size of the data.
- Resource Governor – ability to limit amount of resources that SQL Server uses. By default it is not turned on. Has to be enables. Three easy steps to setup. Must be careful cause you can cause data deadlocks.
- Geography data type – apps like Google Earth or Virtual Earth.
- Data Compression on Tables. Could cause performance issues. Got to find the right balance between storage and performance.
- Filestream attribute. Do you store data in the database or the file system. Will be able to store on the disc, but can access from the database.
WUX 201 – A Lap around ASP .Net 4.0 and VS 2010 – Jeff King
HTML Code snippets now supported. 200 built in code snippets. Just type button tab tab and generate the rest. Surround with also you can use to surround content.
Listview enhancements. More fine control of view state. Can turn it on and turn it off for a given control. Now can control the names of your client id’s for user controls.
QueryExtenderControl – enables you to filter database results. Can use say a search textbox to additionally filter results.
AJAX enhancements – Client-Side Templates, client-side controls, client-side data binding. Refactored AJAX Library (more files). Not sure if this is a breaking change or not.
Nothing really new announced in the AJAX Control toolkit.
ASP .Net Dynamic Data – Demo of validation of edit enabling dynamic data into the gridview. To make columns required, include metadata attributes with Required or UIHint attributes.
Now integrated with MSDeploy (now in CTP) to configure deployment for your web sites.
ARC201 A Lap Around Team System 2010 Architecture Edition, Cameron Skinner
Why – Complexity in the problems trying to solve. AE is designed to attack the problems by increasing communication between team members, understanding the existing system and the ability to gain and maintain control. To help developers trying to understand existing code and those trying to understand the Domain and how it relates to the implementation.
What – UML 2.x designers. Modeling Project and explorer. Sequence Diagram Generation, DGML Graphs. Layer Diagrams and Custom Build Tasks. Work Item Integration.
Architecture Explorer – reverse engineer your code base. Basically, you use it to generate a query against your code base. EG, I might have 485 classes, use the explorer to find the interfaces that they implement (11). Given those interfaces, find which classes implement those interfaces (44). This results in a DGML file which is used to query your code base.
This is limited to one solution at a time. Or by *.dll.
Easy SharePoint development with VSeWSS 1.3(in CTP now)
debugging tips and tricks in vs2008
When right click
- Can step over Properties and OPerators of Classes
- step into specific property
- I will like this one the most I think as i cant tell you how many atimes I had to step trough gets for properties being passed in to functions
BreakPoints
- Tracepoints - Print variety of step points w/o stopping
- This will be usefull when you call code repatedly to see valuse as they happen w/o stopping it with breakpoints continously
Symbols
- never ship w/o archiving them
- symstore - comes with window debugging tools
- can open application for just debugging when picking opne project
- VS never loads mismatched sybols - will never happen
Multi-threading Debugging
- VS runs about 30 theaads when debugging
- ctl-alt h Thread window
- added tips over location column to see (better to name thread tho using thread.name)
- can filter break points on name, so you can see specific threads
Post Mortem Debugging
- can set so MS error/log mails actually go to us not MS
- while debugging can create a dump of memory to look at later or elsewhere
Data Viewing
- Use the DebuggerDisplay attribute to customize your values
- use beguggerbrowsale attribute to not see proprties (`set to never)
Added some system variables that will show various information (2 shown below)
$user - finds user and sid the thread is run ning on
$env - enviromnet appp is running under
Key Note
Arrive in LA
Keynote
The keynote was nothing special this year although Geoff Bentley would have been interested in the Windows 07 and Windows Server 2008 which is to release at the end of the year. They also discussed virtualization. The only new items discussed on the applications side of the house was Office 2010 and SQL Server 2008 R2. You can really see that companies including Microsoft have cut way back. There is only about 1/2 the normal attendees this year. There were not stars being paid this year.
Keynote
Couple of interesting things about Windows 7 such as the System Debugging Recorder. Enables end users to record actions they perform. Also Powershell 2.0 enables remote command execution for admins.
Application virtualization looks neat where you would be able to say put an implementation of Office 2007 on a server and the user could run Office without having it on their PC, or it gives the impression that it is on their PC. If you combine that with folder redirection and roaming profiles, you could enable folks to log on to any machine and have it look the same as the one in their office.
We made it
After a long day, 6 hour flight and 3 additional hours due to the time change, we finally made it to L.A. We checked in the hotel and then did a little unintentional tour of the city trying to find a place to eat. Found a very good Mexican place. Anyway, the conference starts today with the Keynote. We will be keeping everyone posted as to our progress so you can follow along.
Travel Details
Well, we finally got off the ground at 2:40 PM (40 minutes late) due to an issue with a printer with US Airways and printing off the final list or something like that. Clay FF miles to upgrade to First Class. Steve and I were stuck in coach. We got to LAX finally around 5:20 PM. What was funny was the first turn out of the Avis rental lot was a street named Westchester Ave (one word). Quite ironic.
I had some goofy issue with my laptop which caused the machine to lose track of my my profile. I finally did a boot from safe mode and googled the issue and one registry hack later, all is well.
We had Mexican for dinner tonight and a dimly lit grille with a small print menu. Tough to see the menu. The rooms don’t exactly get chilly with the AC. Luckily, the window opens and the temp will get down to the 50’s in the overnight.
We will head over to registration at 8 AM tomorrow. The convention center is a 0.8 mile walk. Will most likely walk it, but it depend on how the extra poundage from the laptop will feel.
Wednesday, May 6, 2009
Angels Game Tuesday Night
We’re going to see the Angels play the Red Sox in Anaheim Tuesday night. We’ll be along the 3rd base side. Come say hello.
Monday, May 4, 2009
3 out of 3 Say Tech-Ed Scheduler Blows
We all said the same thing when we had the experience of trying to set up our Tech – Ed schedule. “Where did they get this thing?” “This is terrible”. Just a sample of the whining coming out of this year’s participants. We all wound up complaining to Microsoft about the schedule tool