Syringe.Net.Nz
Irregular Injection of Opinion
RSS 2.0|Atom 1.0|CDF

 Tuesday, September 06, 2005
To Target Or Not To Target..... That Is The Question....

OK... so according to the great Labour Party, Tax Cuts (aka. Working for Families) should be targetted, abeit to the level that sprog popping Catholics on $120k will get some of the goodies.

But, Health funding (doctor subsidies) and Education funding (Student loan interest) should be spread around as broadly and thinly as possible.

This is complete madness.....

I say we give everyhone in NZ a bit more of their money back- in recognition of the fact that we work our asses off to earn it in the first place. And, I also reckon that if we're going to spend an extra $400 million on tertiary education then it should be spent on people who are genuinely bright and hardworking and who may come from a background that might otherwise prevent them from undertaking advanced study. It should not be spent on families who'll really just se it to reduce the mortgage on their 6th investment property.

This election REALY is about a difference in ideology. Don't let anyone tell you it's not. 

Politics|Tuesday, September 06, 2005 9:25:02 PM UTC|Comments [1234]|    
Casting Strings to SqlDbType compatible types at runtime

I HATE doing monkey work and had the pleasure of such this afternoon.....

So herewith a switch statement that casts strings appropriatly for most SqlDbType type parameters.

string nodeValue = node.Value;

switch (prm.SqlDbType)

{

case SqlDbType.BigInt:

prm.Value = Int64.Parse(nodeValue);

break;

case SqlDbType.Bit:

prm.Value = Boolean.Parse(nodeValue);

break;

case SqlDbType.Char:

case SqlDbType.NChar:

case SqlDbType.NVarChar:

case SqlDbType.VarChar:

prm.Value = LeftStr(nodeValue,prm.Size);

break;

case SqlDbType.DateTime:

case SqlDbType.SmallDateTime:

prm.Value = DateTime.Parse(nodeValue);

break;

case SqlDbType.Decimal:

case SqlDbType.Money:

case SqlDbType.SmallMoney:

prm.Value = Decimal.Parse(nodeValue);

break;

case SqlDbType.Float:

prm.Value = Double.Parse(nodeValue);

break;

case SqlDbType.Int:

prm.Value = Int32.Parse(nodeValue);

break;

case SqlDbType.Real:

prm.Value = Single.Parse(nodeValue);

break;

case SqlDbType.SmallInt:

prm.Value = Int16.Parse(nodeValue);

break;

case SqlDbType.Text:

prm.Value = nodeValue;

break;

case SqlDbType.TinyInt:

prm.Value = Byte.Parse(nodeValue);

break;

case SqlDbType.UniqueIdentifier:

prm.Value = Guid.NewGuid(nodeValue);

break;

}

.NET|Tuesday, September 06, 2005 4:40:54 AM UTC|Comments [16]|    
 Monday, September 05, 2005
Forthcoming Webcast On Workflow

Expat 'softie Paul Andrew has posted a schedule of forthcoming webcasts on Workflow in Windows Applications.

I'm one of the presenters.

Monday: Simple Human Workflow Using EMail
Monday, September 26, 2005

10:00 A.M.–11:00 A.M. Pacific Time 

In this session New Zealand based Regional Director, Chris Auld, will walk attendees through a simple worked example of the use of SMTP email as part of a workflow solution. Chris will demonstrate how to create custom activities to query Active Directory to retrieve user data, send email and finally wait for email responses to continue the workflow process. The code intensive session will give users taking their first steps with workflow a good grounding in some of the key extensibility concepts.

Now that is REALY early for you kiwis but it would be GREAT to see you there..... I'll post a bit more about workflow stuff after PDC :-)

.NET|Monday, September 05, 2005 12:49:08 AM UTC|Comments [1]|    
 Sunday, September 04, 2005
Hotel Review: Sky City Grand

Bless them all, Microsoft put us up in the new Sky City Grand Hotel for Tech Ed this year.
Thought I'd pen a quick review of my thoughts on the place. I was there for 6 nights - had sessions on Fri, Tue and Wed.

General thoughts are that it was a bloody good pad. Room was comfortable, king size bed, seperate bath AND shower.
There was broadband in the room but I thought the cost was exorbitant going on extortionate. $33 per day is a bit rich in my mind.
The Gym was fantastic. A full suite of brand new equipment.
2 Treadmills, 2 Exercycles, 1 Cross Trainer, 1 Reclined Bike. All these were fancy new Technogym units so they integrated with my Polar HRM strap and also had built in Polar Own Zone adaptive training. i.e. resistance changes to keep you in zone.
Good set of weights machines including a lat machine, bench press machine and a more general cable machine. For legs they had quad and hamstring machines. I couldn't get the hamstring one to work- but I think that was ignorance as much as anything.
It would have been nice if they'd had a few more larger size dumbells- they topped out @ 10kg.
Anyway had a few good sessions in the gym.

Had room service a couple of times. Top quality but a bit rich and hard to spot the health options. My mussel chowder was VERY creamy and the corn fritters I ordered were done in a deep fried 'bannana fritter' style. Well presented, top quality, but a coronary waiting to happen.

Travel|Sunday, September 04, 2005 9:23:02 PM UTC|Comments [2]|    
Holy Smoke: People Actually Read My Blog

Seems that at east some people read my blog.... I was in the top 10 referrers to DPFs blog this month.

Not sure about others but it's where I go for my NZ news while traveling... :-) Missed the whole PM on the Plane thing last week as I was coming back from BNE at the time.

Human Aggregation | Politics|Sunday, September 04, 2005 9:01:03 PM UTC|Comments [200]|    
 Thursday, September 01, 2005
ARC312 Tech Ed Auckland

Herewith the:

.NET|Thursday, September 01, 2005 4:05:44 AM UTC|Comments [1040]|    
 Wednesday, August 31, 2005
Tactical Voting

I reckon there are some fantastic opportunities for tactical voting during this coming election.....

E.g.

If Rodney Hide pushes ahead in Epsom the best thing that Labour could do would be t have their supporters back Richard Worth. If Worth wins, all that ACT vote gets wasted.

I wonder just how educated the electorate is about these sorts of perverse incentives?

But anyway, it looks like he has a pretty good chance so any right leaning voter with half a brain in that electorate should really switch their vote. ACT's still in the game people!

Politics|Wednesday, August 31, 2005 3:05:57 AM UTC|Comments [8]|    
 Tuesday, August 30, 2005
Blog Casts from Tech Ed Auckland

Last Friday we did some interviews with a few of the guys and girls out from Redmond.

You can find them on the NZ Dot Net Users Group page. http://www.dot.net.nz/Default.aspx?tabid=76

.NET|Tuesday, August 30, 2005 8:03:16 PM UTC|Comments [6]|    
Session Slides ARC307 Tech Ed Auckland

Here are my slides for Tech Ed Auckland session ARC307

ARC307_Auld_Blog.ppt (2.69 MB)

No demos. If you didn't get a Fabrikam DVD from the session and want one email me. The Generico stuff can be ordered from MSDN.

Happy to take any questions here.

.NET|Tuesday, August 30, 2005 3:37:53 AM UTC|Comments [1407]|    
 Monday, August 29, 2005
Global Plus ... Not So Fast Anymore....

Does everyone remember Global Plus? BNZs airpoints earning credit card?

Well they've changed their tag line from 'the fastest way to earn airpoints' to 'the fast way to earn airpoints'.... Guess they're not so fast after all :-)

Human Aggregation|Monday, August 29, 2005 10:56:56 AM UTC|Comments [10]|    
 Sunday, August 28, 2005
Tech Ed Live Blog - Avalon and Win Forms with Tony Goodhew

Live Blogging WIndows Forms and Avalon with Tony Goodhew

Avalon not necessarily a replacement of WInforms. Will be able to start to easily integrte the two.

Quick slide on Avalon Framework
.NET and DirectX based.
Unifying Documents, Graphics and Metadata. Tony says that it is borrowing ideas from the web world and applying to richer desktop UI. Avalon aimed at bringing cmpelling UI to the client.
e.g. Data Viz- more graphicly rich display model. Can increase the rentention in knowledge of users.

Will be shipping as part of Windows Vista. Will be on the machine but will not be dehydrated until 1st run. JIT deploy will be seemless. First startup there will be some overhead but after that WinFX just available.
Redist package available for WinXP and Win Server 2003. Will need to bundle the redist with apps for those platforms.

Tony left his demo cheat sheet in his bag *grins*..... I've done that before.....

Demo is MediaMania demo. Running in XP not Vista. So miss some of the Glass UI stuff.
Key things that help us now:
Vector Graphics
Scaling
Animation

A key problem with windows apps is they are built around a bitmap drawing system. Avalon changes this. Renders correctly even if we scale right up. Developer doesn't need to right scaling code.

Calls out to Amazon Web Service. Returns list of music albums. Tony starts talking about XAML and how we have split UI defnintion in Avalon.
e.g. We have a standard Avalon list box and we have written some XAML to skin it with new look including images. Tony now talking about scaling- the application is good at taking advantage of more screen real estate. VEry clever though- not just scaling. E.g. Text label control. One column when narrow. As you make it wider at run time by making wind bigger it will add more clumns and flow text correctly.

Lots of great new UI features all done in Markup language. Tony showing how we can 'reskin' the list box. \Can achieve MAJOR change.
Went from standard list to a 3D array of tiles.

Now back to slides and talking interop.
We can use Avalon to enhance existing winforms app. Might already have a set of controls that encapsulate business logic- might want to just add avalon look over the top. Avalon has a much more detailed eventing model for change notification. Still easy to take data code from 1.1/2.0 and take it into Avalon.

New control called ElementHost that allows hosting Avalon control within a winforms app. Deals with some of the background properties and that sort of host related stuff. GOing the other way you can drop a WIndowsFormsHost component into Avalon to host a windows control- strictly can host anything that has an HWnd.
Forms and WIndows just work together.
Some tehcnlogies don't transfer across... e.g. TRansparency, some styling stuff. If the WinForms control doesn't support what you want, you can't just get it by hosting inside Avalon. Some limitations are around ZOrder- HWnd host has to be at the top of the Z-Order.

THey are looking at ways to allow stuff to be rendered out to Metro- this will be preoblematic around WinForms controls... still working on the problem.

Demo
Showing a stock ticker that pulls details from NYSE.
Shows list being populated and chart being brought up. Going to show WInforms Charting Control being hosted. We've opened up the XAML. At the moment we see XML. Assured that we will get some graphical tools soon. At the moment it is a case of editing raw XML with Schema support. Unsure right now as to whether this will be available in 2005 or whether we will have to wait until Orcas (VS.2005.Next).

So we are now loking at how to embed WIndows Forms chart control. NOt much code to write. Can't really see it though- this room (Elliot in the crown) is too long for the size of the screen.

Good demo. Just works. Looks good and not out of place having WInforms control in there.

Back to PPT.
So when do we want to use what?
Not telling us to reqrite existing application in WinFX. But, are there areas of the app whch we could take advantage of WinFX in.

Can we use both?
Can we build apps that take advantage of WInFX when we find it.
We need to seperate the UI and the business logic. Make sure that you sperate the UI from the business logic. Abstract it out correctly. use events appropriately- observer patters, MVCs etc...

If you have a dependency then take it on the basis of broadest platform appeal. e.g. If you need a bitmap use a Windows Forms Bitmap not an Avalong bitmap so things can still be used on nw non WInFX platform.

So we are now looking at putting an Avalon Listbox into a WinForms app. We have the form in design view. Drops in the Element host, some databinding support controls to allow binding the Avalong control to windows forms dataset. Not able to drag and drop the Avalon control yet :-( BOooo... I was getting excited for a minute there!

Actually write some code to add it during a runtime formload handler.

Demo worked well... TOny happy......

Now we're goi9ng to look at how to make it adaptive- i.e. so it still works on Windows 2000... i.e. non WInFX platforms. So what did we do to determine it was running on WInFX? At present can check in code by trying to find the actuall class using reflection. Thus doen't require a dependancy... late bound not early bound.

If it doesn't exist we can just use our normal code and display a non Avalon Control.

Really need to do something about the screen in this room. A bit hopeless..... can't see squat. TOo much looking at code that I can't see in this demo now. BUt we get the idea. Runtime detection of WInFX support and draw either Avalon or WinForms  depending on our actual machine. Has used two seperate cotrol projects thus allowing us to avoid any early bound (depency) references
 in our actual Winforms project. DOn't need an Avalon dependency until we actually dyaniclally load the Avaol styled listbox cntrol at runtime. We do similar stuff to this in order to make our applications run on the same code base on WIndows Mobile and on WinForms desktop.


Back into PPT.

The obligatory Call to Action Slide
Key message here is to seperate the Business and UI logic. Says to use PAG P&P guidance.
Need to look at two to three year plan and plan how we will get there with introduction of WInFX.

We will need to look at some of this as check that we can migrate our metedata driven WInforms and CF Forms engine to Avalon at some point.

 

.NET|Sunday, August 28, 2005 11:57:59 PM UTC|Comments [5]|    
Tech Ed Podcasts Coming Soon

I did the Podcasts on Friday. Just need to finish encoding the video and upload them. Keep your eyes peeled.

.NET|Sunday, August 28, 2005 9:58:20 PM UTC|Comments [6]|    
New Orleans

Been watching CNN this morning at my Hotel (hotel review to follow) and it looks like New Orleans is going to get a serious pasting. Details at www.cnn.com

Human Aggregation|Sunday, August 28, 2005 9:57:09 PM UTC|Comments [3]|    
Tech Ed 2005 Keynote Live Blog

Ross Peat (NZ MD)
Usual ra ra and blah blah. Spoke about forthcoming technology wave. Announced a new partnership with Incubators NZ worth NZ$3.5 mill. This is good. Directly affects me.

Iain McDonald (Director in Windows Team Redmond)
Wanted to piss take about the rugby couldn't. Didn;t want to talk about the cricket either :-)

Michael Kleef (Aus D&PE- IT E from Perth) came out for Demo.

  • Showed split token admin privs. Eaiser to run with lower priv.
  • Showed event log that can in turn trigger other jobsand tasks
  • Showed new policy stuf
    • Showed virtualised HKEY local machine. I.e. apps write to user specific apps while still able to write to HKEY local machine. Old stuff will thus keep running under new Longhorn Security
  • Search
    • Spoke about metadata tagging of file system objects. But what about WinFS? That is what they SHOULD have done.
  • Browser Security. Support for talking about certificates and other security stuff in IE. Anti phishing stuff. Little bit of demo hell :-)

Back into PPT with Iain.

Longhorn Ship Date H2 2006.

Now talking about VS2k5 and SQL2k5.
SOme figures

  • Up to 70% CODE REDUCTION
  • Up to 40% better performance

Prishant (some VS PM from Redmond... don't know him) showing VSTS.

  • Showed applicaton designer.
  • System designer
    • Validation. Both pretty uncompelling demos IMHO. Sorry guys.
  • Unit testing. Feeling rushed. Not enough detail given as to what is going on. Showed the code coverage support- this was VERY cool. VSTS can enforce 100% code coverage.
  • Security. Showed a CPP demo. Showed security warning around potential buffer overrun. Basically the same tools used for security analysis internally.
  • Web Load Testing. All runs within VSTS. Can generate work items directly from within test envrionment. Looks good but again..... not keynote RA RA sort of stuff.... the crowd has yet to really go *WOW* to anything.

Back into PPT. Talking about SQL Server.

Showed the 'death by PPT' slide listing new features in SQL.

Demo with (Andrew Coates another Aussie DPE guy from Sydney) showing reportng services. Showing end user reporting. Clickonce application. Hooray real world Clickonce.

  1. Asks t choose datasource- pre cnfigured by DBA
  2. Drag and drop report designer. Looks quite nice.
  3. Very nice drag and drop simple reporting.
  4. Showed a good 3 minute report build.
  5. Showed ability to save report back into sharepoint. Showed reporting services web part.
  6. Allows paremeters to be passed into report from the web part.
  7. Thought this was a pretty good demo. Still not super *WOW* factor though.

Now we're into WIndows Server. Talking about being non disruptive around updates. Help users to better manage updates. Spoke about 4 yearly majors releases and 2 yearly update releases. Trying t show value in Software Assurance.

Speaking about Windows Server 2003 R2. Sharepoint Services, .NET 2.0, Unix Interop tools.

  • Better support for management of Branch offices- remote backup, management, file and print. Minimal bandwidth requirements.
  • Better Web Single sign on support. E.g. Fidelity uses Web Single SIgn On for MS Staff with the MS AD authentication.
  • Storage. Speaking about archival of documents. Better SAN support. Better quota support- not allow JPGs, MP3s etc... Better UNIX NFS support.

Now talking abut 5 major windows server strategy areas

  1. Distributed Applications - Indigo
    Coudn't remember the new 'Foundation name'.
    Spoke about new Connected Systems Division (Biztalk, AD and Indigo teams). Spoke about how WIndows Server sits in here.
    Spoke about WCF. Interop play all based around web services.
    Easy service and management models. 
  2. Storage
    More and more storage is on edges of network. Smartphones, notebooks. Better replication of file system for these devices. Looks GREAT. Not sure if he made the case as strongly as he could have.
  3. Integrating the Edge
    Dealing with machines at the edge. Less control. How do you use plicy to define and protect the edge.
    1. Federated identity
    2. Multifactor and improved auth.
    3. Universal addresability-IPv6.
    4. Define the boundaries. Good IPSec cert based
    5. Network access protection. When laptop returns to physical network after being out in internet land. Quarantine and re-connect scanning and automated patching. Anti malware being built in.
    6. Per application VPSs and Firewalls.

Dynamic Systems Initiative
A move to model based management and development.

Virtualization.
Building virtualization into the core of windows. All very much about management. (Not cost me thinks).
Licensed the VHD format for Virtual Server.
Virtual Server R2 end of 2005. Will support Linux and other *nix's. BIG step for MSFT.
Longhorn will have Hypervisor and will support new virtualizaton chips from iNTEL AND amd.

Wrap Up
Showed product waves.
All finished.
In the end a not too bad keynote.

.NET|Sunday, August 28, 2005 8:56:55 PM UTC|Comments [7]|