OFS215 Microsoft SharePoint Server 2010 Introduction for Developers – Paul Andrew
Paul Andrew is on the SharePoint team and provided a very good overview of the new features in 2010 for developers. The level of speed and depth were perfect for me, which is seldom the case in a session. However, if you knew more about SharePoint it might have been a little too slow. But it is of course impossible to please all listeners.
A few things I particularly liked:
- Developer dashboard. A placer for debugging info and a way to turn on diagnostics and traces as part of a rendered web page. Can even click sql-statements that has been sent to server and look at them.
- SharePoint 2010 public beta will be available in november.
- A package in Visual Studio 2010 project represents the wsp file. [WSPBuilder may not have a bright future.]
- Inline web parts in a wiki text.
- Linq-to-SharePoint.
- Old WSS (Windows SharePoint Services), the free stuff, is now SharePoint Foundation.
- Old BDC (Business Data Catalog) is now Business Connectivity Services and is included in SharePoint Foundation (=free). Also has write capability (read-only previously).
- You can “generate” SharePoint lists in your own .NET code, a sort of virtual SharePoint lists. Other sources for a virtual list [actually called an external content type, I think] are sql connection strings and web services.
- BDC explorer in Visual Studio 2010.
Final verdict: this session was good.
DEV317 Agile Patterns: Agile Estimation – Stephen Forte
Getting your estimates correct is always difficult. I can’t say that Stephen Forte introduced something substantially new that will make all your estimates be right from now on. But that was of course not his intention either (pigs can’t fly). He did have a few tips and points though, and it is obvious that he has been around enough projects to know what he is talking about.
Some good points to remember:
- The Cone of Uncertainty is a diagram borrowed from Steve McConnell that shows the correlation between time/experience/data and certainty in estimates.
- “By definition, estimates are wrong”
- “Agile is about involving the business”
- “Deviations are not deviations, they are more accurate estimations”
- Make sure the business writing the user stories also includes acceptance criteria.
- Planning Poker is a good way to get estimates from the team without enforcing any predefined perceptions on your team members (like a boss sayin “this must be easy”).
- Set story points for user stories. Unit can be one day, but doesn’t have to – use other if you want.
- Velocity is the number of story points per an iteration.
- Always re-estimate your stories before the next iteration.
- Putting everything in the backlog means items will get stale, so avoid that.
- “My favorite card when playing planning poker is infinity”
- “Business people are always wrong. They think easy things are hard, and hard things are easy”
- The users / the business should be able to see the backlog and the estimates.
- The business sets the priority.
Final verdict: this session was good.
INT305 Code Walkthrough of a Cloud Application Running on the Windows Azure Platform – Kurt Claeys
This session was presented by last years winner of Speaker Idol. I don’t know if that knowledge beforehand, would have changed my choice, though, since that should mean that the presenter has really taken the time to prepare a great session. This was unfortunately not the case. Not that the code didn’t work, but it was really really boring with no feeling for what the audience might be interested in.
Anyway, I did write down a few notes:
- When running a fabric simulation locally, Azure tables are actually tables in a sql server express database. [This confused some participants, Kurt didn't explain exactly what the difference is.]
- Azure Blobs has a REST api.
- There is both a PartitionKey and a RowKey when dealing with Azure tables. [Need to investigate exactly what this means - another missed opportunity for the presenter to enlighten the audience.]
- Windows Azure can run in full trust, but you need to set attribute enableNativeCodeExecution in config file.
- There is a Linq-to-Azure-tables api.
- WCP has support for duplex binding, and the NetEventRelayBinding can be used to have your code be notified.
Final verdict: this session was a waste of time!
DAT206 Microsoft SQL Server 2008 R2 Demo Power Hour – Donald Farmer
This was a waste of time for me. Some part because it was an IT session and not a developer session. Some part because the presentors had some problems and didn’t seem prepared. For that matter, maybe also because SQL2008 R2 doesn’t really have anything new or interesting in it besides Powerpivot which seemed more like an Office/Excel update.
- SQL2008 R2 is simply a refresh and not a new release with upgrade paths etc.
- SQL2008 R2 was known as the BI release, but since then more features have been added.
- Project Madison = SQL2008 R2 Parallel Warehouse, will handle hundreds of terabytes on commodity hardware.
- Powerpivot is a separate application/download. Looks like Excel 2010. Instant sorting and filtering of 100.000.000 rows. Data file only takes up 200 MB, good compression.
- SQL2008 R2 CTP releases next week.
- Powerpivot gallery in SharePoint 2010.
Final verdict: this session was a waste of time!
DEV04-IS Pumping Iron: Dynamic Languages on the Microsoft .NET Framework – Harry Pierson
First “interactive session” of this years TechEd for me. This format is a bit of an oddball. I normally prefer to sit back and enjoy a lot of information and demos. Now, as it usually turns out, most interactive sessions end up this way anyway and so did this one. Harry Pierson is obviously very passionate about IronPython (in a good way!). It was very interesting to hear his thoughts about dynamic languages place in the .NET world.
Google is doing a project where they are trying to improve Python performance by a factor of 5. Harry didn’t think they would make it because of inherent problems with performance of dynamic languages.
Some notes from the session:
- Powershell is a dynamic language.
- Dynamically typed languages are much more flexible.
- It is relatively easy to write a language within a language with for instance Ruby [Linq comparison to class Customer < ActiveRecord::base from Ruby on Rails.]
- MIT now uses Python as an introduction language for students.
- Dynamic languages are “short on ceremony” compared to statically typed.
- Aspect oriented programming is native to Python. Python brings verbs together.
- IronPython is a first class citizen in .NET.
- Python has no new keyword.
- C# 4.0 has dynamic keyword.
- Easy to extend your application with Python. ScriptRuntimeSetup, ScriptRuntime, CreateEngine.
- Lightweight debugging concept in Python [or the DLR?]
- Very small team at Microsoft, only 8 people.
- Mono platform runs the DLR (Dynamic Languages Runtime).
- IronRuby is not as mature as IronPython right now. vNext for IronRuby is still in the works.
Final verdict: this session was great!
SQL2008 R2 was known as the BI release, but since then more features have been added