Archive for October, 2008

Keynote 2 Day 2 @ PDC2008

No Comments »

Next up is  Don Box and Chris Anderson on Codename “Oslo”.

Stay tuned – live blogging.

Don Box – Distinguished Engineer
Chris Anderson – Partner Architect

A Lap Around The Azure Services Platform

NO Powerpoints on stage! Only VS2010 – DEV 10!

Standards: Uri’s, HTTP & XML

My left arm is killing me – think I’ll have to put away my computer for a while – sorry for that.

Keynote Day 2 @ PDC2008

No Comments »

Live blogging – clean up later:

Sorry, no pictures today – I had to leave the camera back at the hotel for charging :-(  Go find the live stream.

First off: Ray Ozzie

Yesterday: computing foundation

Today: User Interface

Front-end innovation – client OS – personal computing

PC – Phone – Web

* Full and high-performance access to displays & paripherals
* Natural UI & common controlsfor ink voice/audio, camera, touch, …
* Local data privacy, portability, reliable/fast/full access
* Use & recombine applications, data, documents, media as needed
* A ‘personal’ enviropnment, trusted & assumed to be under your control

* one common way to find, access, assemble & interact with people
* One common way to find, access, share & transact information

* As the PC, full and high-performance access to displays & peripherals
* As the PC, natural UI & common controls for ink, voice/audio, camera, touch…
* Always with you, and within arm’s reach…

PC: Windows 7 – Windows Vista, Windows XP
Continue to evolve the .NET framework and DirectX

Next: Steven Sinofsky, Senior VP

Welcome to Windows 7

1. introduce windows 7 client
2. software + services
3. transition from Vista
4. APIs
5. Fundamentals
6. Path to RTM
7. Call to Action

* Personalized experience
* Connect to devices and storages
* Bring together all the “stuff”

Demo: Julie Larson-Green, VP, Windows Experience

Hmm, looks quite cool – a new UI paradigm…

Cool new Task bar

Window snapping

Windows Explorer – Library locations

Networking at home: HomeGroup – plug’n’play connecting to everything in your home network

New Media player – including a lightweight version – super easy to play on other devices in the home

Mobile Devices – new device center

Gadgets – can be placed everywhere

New theming functionality – Pimp your desktop

System tray (notification area): user has full control over the items & notifications

Touch: HP TouchSmart (sub $2000 machine avail. today)
25% more space between item when using touch.

Multi-touch! Zoom etc.!

Easy on-screen keyboard with predictive typing

Flicks & gestures in IE8

Refresh of MS Paint, Calculator etc. etc.

Drag & drop.

Windows 7 + Windows Live Essentials & Windows Live Services
Software + Services

Transition from Windows Vista
* Windows Server 2008 and Windows Vista SP1
* Ecosystem Readiness
   * Standards
     * Compability
      * Scenarios

Develop for Windows 7
* Ribbon User Interface
* Jump Lists
* Multi-Touch, Ink, Speech
* DirectX family

* Memory
   Reference set, Graphics
* Disk I/O
   Registry Reads, Indexer
* Power
  DVD Playback, Panel, Timers

* Speed
   Faster Boot, Device Ready
* Responsiveness
   Start menu, Taskbar
* Scale
   256 processors

Demo Windows Development Environment (Steve S, Senior VP)

Bitlocker encryption on usb sticks!

Manage and create VHDs from the Disk Management Tool – at last.

Mount them directly! – Point the boot manager to a VHD and boot from it!

High DPI – managing multiple monitors – enhanced experience.

New Screen Magnifier – Windows Key + + key! (- for zoom out)

Windows key + P: Change output (display / projector type) – Dual projectors

Remote desktop into computers with multiple desktops – AT LAST!

Customize the task bar and shutdown buttons :-)

Pre-beta available today – beta early next year

Call to Action
1. Install and use Windows 7 pre-beta
2. Develop for 64-bit
3. Focus on Fundamentals in Your Code
4. Integrate with Windows 7 Desktop
5. Evaluate New APIs in Windows 7
6. Code to Web Standards with Internet Explorer 8
7. Download Windows Live Beta @

Next up: Corp. Vice President Scott Guthrie

Windows 7 Client Development

Yin/Yang with .NET / Win32

Focus on interop – combine managed and unmanaged code

Walktrough  – Autodesk case – Mudbox and AutoCAD 2009

Windows 7 Applications with Win32/C++

* New Windows 7 APIs
** Ribbon, Jump Lists, Libraries, Multi-touch, DirectX and more

* MFC for Windows 7
** Ribbon, Multi-touch. …

Windows Applications With .NET

.NET 3.5 SP1 Improvements
** Streamlined Setup
** Start Up Performance
** Graphics Improvements
** DirectX/Direct3D Interoperability
** More Controls

* Also built into Windows 7

ScottGu: Demo: Building a windows 7 Application with .NET

PhotoSuru – Photo album app (oh, not another one… – cool though)

This week MS will ship a new WPF Ribbon Control!

<WPF:RibbonWindow> ftw.

Jumplists – custom contextualized tasks on the task bar items.

Multi-touch: Easily handle multi-touch and gesture events in WPF.

DataGrid, DatePicker, Calendar, Ribbon, Visual State Manager controls

Windows Applications with .NET 4

* WPF improvements
** Multi-touch, deep zoom, visual state manager, text
* Fundamentals and interop
** In-prcess side by side support
** Managed / native code interop
** Dynamic Language support
** Extensible component model
* Improved tooling with Visual Studio 2010

Visual Studio 2010 Built On WPF !!!

Multi-monitor support – richer code visualization. Better TDD support, Managed Extensibility Framework

Demo: Visual Studio 2010 Extensibility

ScottGu’ru – MEF extensibility is a blast in VS2010!!!

.NET Client Momentum
Customer demo – Next Generation Grocery Shopping –

Nick Lansley – Head of New Technlogoy

Back to the Gu:
jQuery support in VS2008

ASP.NET 4 Improvements
* Web Forms
* Distributed Caching

VS2010 for web development
* Code focused improvements
* JavaScript / AJAX tooling
* Design View CSS2 support
* Publishing and deployment

Multiple configurations (web.config) for dev, test & prod in the project!

Announcing the Silverlight Toolkit

* Charting
* TreeView
* DockPanel
* WrapPanel
* ViewBox
* Expander
* AutoComplete
* …
MS-Pl licensed.

Silverlight Designer in VS2010!

Next: David Treadwell, Corp Vice President – Live  Platform

Live Services

Identity – Directory – Communication and Presence – Search and Geospatial

* Access A User’s Social Graph
* Easy Integration and Interoperability
* Leverages Familiar Services

Yawn! This guy should work on his speaking skills…

Announcing the Live Framework

Building applications for the Mesh / Live Services

* Provides Consistency
* Open and Interoperable
* Supports PC, Phone and Web

Demo: Enchancing a Windows Application
with Live Framework

Ori Amiga – Group Program Manager – Live Services

[Ori is a cool guy :-P Loved his Channel9 casts…]

HAHA – This is *the* bomb! Great stuff! As expected…

Takeshi Numoto – Office 14

Office 14 will deliver both web and desktop apps.


OneNote 14 – Digital Notetaking app.

Office in the browser looks cool – Ribbon and all.

Ray Ozzie back on the scene – bringing it together.

Next up: Don Box & Chris An – this day will truly be EPIC! If just someone could bring me some food!

The Future of C#

No Comments »

Live from the session:

Will cleanup later:


1.0 – 2.0 – 3.0

impedence mismatch – programming languages and data


Trends: Declarative / Dynamic / Concurrent

Declarative Programming

Imperative –> Declarative
How           -    What


Dynamic Languages

* Simple and succinct
* Implicitly typed
* Meta-programming
* No compilation

Static Languages

* Robust
* …


The elephant in the room
Moores law has stopped working
Not one single silver bullet

C# 4.0

Dynamic programming

Dynamically types objects
Optional and named parameters
Improved COM interoperability
Co- and Contra-variance

Dynamic Language Runtime
* Expression trees
* Dynamic dispatch
* Call Site Caching

IronPython & IronRuby today

Tomorrow: C# and VB.NET and others…

Object Binder: .NET
JavaScript Binder: Silverlight
Python Binder: python
Ruby Binder: Ruby
COM Binder: Office

Calculator calc = GetCalculator();
int sum = calc.Add(10, 20);

object calc = GetCalculator();
Type calcType = calc.GetType();
object res = calcTYpe.InvokeMember(…);
int sum = Convert.ToInt(res);

C# 4.0:
calc = GetCalculator();
int sum = calc.Add(10, 20);

=   : dynamic conversion
.Add  : Dynamic method invocation

dynamic x = 1;
dynamic y = “Hello”;
dynamic z = new List<int>  {1, 2, 3, 4};

When operand(s) are dynamic

* Member selection deferred to run-time
* At run-time, actual type(s) substituted for dynamic
Static result type of operation is dynamic

IDynamicObject ( duck typing)

optional and named parameters:

OpenTextFile(string path, Encoding encoding = null, bool detectEncoding = true, bufferSize = 1024);


Improved COM interop

No more ref missing…  doc.SaveAs(“Test.docx”);

Co- and Contra-variance

string[] strings = GetStringArray();
void Process(object[] objects) { … }

C# 4.0 supports safe co- and contra-variance.

public interface IEnumerable<out T>


out = Co-variant Output positions only

public IComparer<in T>


in = Contra-variant input positions only

Variance in C#4.0

*Supported for interface and delegate types
* “Statically checked definition-site variance”
*Value types are always invariant
** IEnumerable<int> is not IEnumerable<object>
** Similar to existing rules for arrays
* ref and out parameters need invariant types

Compiler as a Service

Source files –> Compiler –> .NET Assembly

* Meta-programming
* Read-Eval-Print loop
* Language Object Model
* DSL Embedding

CSharpEvaluator ev = new CSharpEvaluator();

[Damn, all this is so cool]
ev.Eval(“for (int i = 0; i < 10; i++) Console.WriteLine(i * i)”);

Microsoft Windows Azure revealed!

No Comments »


P1020459 Microsoft’s new services platform
US first – rest of the world later
CTP now
fraction of functionality now

Arrived at the Hotel Miyako Inn

No Comments »

Ok, just a couple of lines before I head out for some lunch. Arrived about an hour ago. My room is on the 9th floor and really really good – I got both cabled and wireless connection, a large LCD TV, 2x120cm beds and the best; an electronic toilet seat with a heating, bidet and ass washing features :-D

Signing out – lunch.

On my way to LAX

No Comments »


The flight from EWR was only half an hour delayed – nothing compared to yesterday’s “delay & stay-over at the Sheraton” marathon (no pun intended). The food served on board is *not impressive; we got a tray with warm Egg & Cheese biscuit, a small muffin, a non-fat Yogurt (A product that really should be called “Yogurt” – no fat – and wheat starch added, yuck!) and a small tray of fruit. I also managed to spill 2/3 of my glass of Coke, luckily my blanked caught most of it.

I managed to download some music before I boarded the plane, so now I’m listening to Stéphane Pompougnac, Thievery Corp. and Bonobo – way better than the crappy sound on the Onboard Entertainment System (or at least, with the supplied headsets that really sucks).

We’re currently flying over Missouri and I’m impressed by the never-ending sight of rectangular farm lands.

The picture is taken out the window from my seat 11F (same as yesterdays flight – right next to the right engine and noisy as hell…)

Eating breakfast at the “au bon pain” @EWR

No Comments »

Ok, got up at 0450AM local time, took a shower and packed my stuff. Left for EWR at 0530AM and here I am eating breakfast at a French-inspired baguette shop. Ate a multi-grain baguette with roast beef & basil pesto – it was not bad, but not great either (I’m really no early breakfast man after all).

Downed a bottle of Nesquik chocolate milk and am now finishing a Odwalla Super Protein drink. My flight for LAX leaves at 0815AM and go to gate will probably start in about 30 minutes.

I’ve brought a camera and my new computer got a SD card reader but I haven’t taken any photos yet – that will have to change!

Stuck in Newark (EWR) until tomorrow morning

No Comments »

Continental Airlines flight CO39 from OSL to EWR that (that I happened to be on today) was delayed about 50 minutes something that started a small chain reaction; I missed my connecting flight to LAX and when I went to the rebooking desk I was told that I already was booked for the first flight tomorrow morning. My first idea was to ask that I was put on the standby list but after some rethinking I decided to go for a hotel for the night. My seat was positioned right in front of the right wing and my ears are still full of static noise from the trip (and I used silicone ear plugs most of the time…)

I got a set of vouchers for a hotel room, dinner & breakfast and was initially sent to the Holiday Inn North with a shuttle bus. But the bus driver stopped at the Sheraton hotel instead – and here I am, half a Pizza Hut pizza & a Pepsi later.

My throat hurts after all the hours breathing the dry recycled air onboard – I really hope it is better tomorrow morning…

My internal clock says that the time is 0040AM – but the clock on my computer begs to differ; it’s 0640PM here in Newark/New York (Eastern Time). I’m dead tired but I have decided to try to stay up at least a couple of more hours to start adapting to the even harsher time difference in LA; –9 hours (compared to Norway).

24 hours wireless access costs $9.99 – but it is really crappy; it is capped at 25 kB/sec :-( I had hoped that I could fill up the hard drive with some music & movies during the night but that will have to wait.

The weather is really crappy outside so I have no intention of leaving the hotel – I Twittered with my colleague André which is in New York right now with a couple of other colleagues of mine (They’ve been to the OOPSLA conference and are on their way home). He asked me to join them for some drinks later – but I’m afraid I’m all worn out :-/

Stay tuned for on-topic stuff from PDC – I’m signing out…

PS: Some bonus self-shaming; I’ve worn my boxer shorts inside-out the whole day – hilarious :-P

Packing for the Microsoft PDC

No Comments »

image Ok, it’s been a bit quiet on the blog the last week, basically caused by too much to do @home (Torill has been sick, so there’s been extra stuff to do…)

Now it’s 10:15PM or so here in Norway and I’m leaving Oslo Airport Gardermoen (OSL) at 11:25AM tomorrow morning, heading for LAX via EWR.

I’m starting to see the end of the packing hell; my back hurts after ironing 7 shirts – I’ve probably packed 3 times the amount of clothing that I’m gonna use – but better safe than sorry :-P

I think I’ll use the time in the air to prepare some blog posts. I’m also planning on writing at least one blog post a day during the PDC to sum of the events of the day – but there may be more than one :-)

If you’re attending the PDC – please feel free to contact me at messenger: lars at sral dot org (that goes for mail too), twitter: larsw or voice/sms to +47 954 15 260 and we can hook up for a lunch or some after-sessions activities.

See  you at the PDC!

Steve Ballmer & The NNUG posse

No Comments »


On September 30th 2008,  Steve Ballmer held the keynote at MSDN Live Oslo. The Norwegian .NET User Group leaders where seated on two of the front rows, and had a great view of the “show”. Right after the keynote, we were rushed out to a backstage area where we got a handshake from the man as well as a photo. I’m the first person to the left on the front row.

Videos of the keynote can be found on YouTube:
Part1 Part2 Part3 Part4

I guess That photo will probably be something to show the grand children :-)