||
|
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 29 | 30 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 10 | 11 | 12 | | 13 | 14 | 15 | 16 | 17 | 18 | 19 | | 20 | 21 | 22 | 23 | 24 | 25 | 26 | | 27 | 28 | 29 | 30 | 31 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|
|
|
|
|
|
 |

 |
Sign In
|
|
 Tuesday, July 08, 2008
Controlling the update order in T-SQL on SQL Server 2005
Sometimes you just want to do this
update foo set bar=123 order by foo.lastmodifiedtimestamp
Why.... well you may rely on the order of the timestamp.
It's suprprisingly hard to do but is possible using CTEs.
WITH InvoicesNumbered AS
(
SELECT *, ROW_NUMBER() OVER(ORDER BY LastModifiedTimestamp desc) AS RowNum
FROM Invoice
)
UPDATE InvoicesNumbered
set createdby =
( select top 1 userID from [user] where clientid = InvoicesNumbered .invoiceclientid)
WHERE RowNum < 20000; --Use a number larger than the row count of the table.
Idea pinched from here. Reposted in search of better Live Search ranking for the obvious search query 'controlling update order in SQL Server'
.NET|Tuesday, July 08, 2008 9:12:25 AM UTC||
|
 Tuesday, April 08, 2008
Web Management for Hyper-V
So in the move from Virtual Server 2005 R2 to Hyper-V we lost the Web management capability for the VM server. Hyper-V management is all MMC based.
This has +'s and -'s but plenty of people are going to miss the web UI.
My friend Sondre has kickstarted an Open Source project to build a Web UI using the Virtualization WMI interfaces.
http://www.codeplex.com/HVWM
Well worth taking a look. I'll be doing a bunch of new posts on Virtualization on Hyper-V over the next few months as I build up my new Hyper-V box for http://www.medrecruit.com
.NET|Tuesday, April 08, 2008 3:34:35 PM UTC||
|
 Thursday, February 28, 2008
Non GPL Implementation of ODF Not Very Feasible At All
Feel free to take a look at the comments to the last post as this is a followup. You may want to ignore the snipey content devoid comments from our friend in the NZOSS community.
Herewith a follow up post that hopefully addresses the substantive questions that were actually raised (thanks Stu)
Sorry for the delay. I've been busy trying to get a high quality specification progressed through the ISO standards process. Oh and I've also managed to get outside to do some skiing in the Montana backcountry.

The issue is that the GPL aims to enforce the distribution of any derived work under the GPL also.
I do not want to release my applications under the GPL and inparticular I do not want to release any Open Source code I write under the GPL as I do not believe in the 'Copyleft' philosophy to which it subscribes.
Now that's fine. As a general rule I avoid GPL code like the plague (we do use LGPL code in some of our products). In fact our contracts at Kognition included a clause requireing neither party to the agreement to provide GPL code to the other.
So the question then comes to can I implement ODF without having to derive my work from any GPL based code. My feeling is that even looking at the code for say OpenOffice will get me into trouble. Likewise decompiling the code will be problematic.
I am actually comfortable reverse engineering by observation for features like 'blink', I do not believe that is going to breach copyright in the work.
But the question is, will reverse engineering by observation be sufficient. And to be honest I just don't know the answer to that question. I don't really see myself spending that much time working with ODF as I tend to agree with The Burton Report as to its likely levels of adoption and indeed the likely market segments to adopt it- selling software to people who are philosophically opposed to paying for software is unlikely to be a sustainable business. That said I did find a very interesting bit of commentary on the web about just this problem quite recently.
http://www.gnome.org/projects/gnumeric/announcements/1.8/gnumeric-1.8.shtml
"The Gnumeric team does not envision using the OpenDocument Format as its native format.
The spreadsheet part of ODF, in its current form, is ill defined and has many, many problems. For example: (1) there is no meaningful discussion of what functions a spreadsheet should support and what they should do. Without that, there is little point in trying to move a spreadsheet from one program to another; (2) there is no provision for sharing formulas between cells; (3) there is no implementation -- writing an ODF exporter consists of reverse-engineering OpenOffice to see what parts of the standard it can handle. (Note: the preceding comments relate to the spreadsheet part of ODF only; we do not have an informed opinion on ODF for word processing documents, for example.)
We may revisit this decision in the future, should the situation improve. In the meantime, we will strive to maintain a reasonable importer and exporter."
Those guys look to have actually broached the problem and to be honest that kinda answers my question. If I can't realisitically use ODF without reverse-engineering OpenOffice then I'm pretty much stuffed in terms of writing a GPL free implementation.
.NET | Adventure Sports | PoliTechLaw|Thursday, February 28, 2008 10:56:12 PM UTC||
|
 Monday, December 10, 2007
We're all going on a summer holiday.... well kinda
JB, Darryl and myself are doing a big road trip around New Zeaand in February showing off some of the great new bits that are shipping this year.
We're going to build and deploy a full blown application live on stage. And we're not talking about some basic console application here... this thing is going to be as mission ready as we can do in two hours! In particular it's going to be hosted across a pair of clustered virtual servers- it's basically the sort of setup that we'd be happy to pick up and drop into the Intergen Data Center.
Some of the things we'll be showing off...
- Live mapping
- AJAX Enabled WCF calls
- Virtualization with Windows Server 2008
- IIS7
- Powershell Scripting for data center and VM administration
- ADO.NET Entities
- Spatial Queries with SQL 2008
- Mirroring with SQL 2008
... and a whole lot of other cool things.
I don't want to give the game away yet and tell you what we're building, but, I'll give you a clue.....
You'll be able to keep an eye on where the three Amigos are going Mountain Biking and Whitewater Kayaking and Rafting and Skydiving and things as we make our way around the country.
.NET|Monday, December 10, 2007 11:04:28 PM UTC||
|
 Thursday, November 01, 2007
IIS Log Analyzer - OOXML Sample
Thought I'd chunk a quick note up here about a cool sample we built recently.
It shows off using .NET to put together Office Open XML documents (ECMA 376).
It can pull odwn your IIS log files and process these into things like spreadsheets.
It shows just how easy it is to build up office documents as XML.
http://www.codeplex.com/IISAnalyzer
.NET|Thursday, November 01, 2007 10:40:42 PM UTC||
|
 Wednesday, October 03, 2007
 Wednesday, September 26, 2007
Debunking the Analysts on Microsoft SOA Strategy
This was originally posted by meon our Intergen Company Blog. Reposted here for completeness.
Service Oriented Architecture: everyone is still talking about it. Recently there was a bit of a blog-o-thread happening among a bunch of US analysts about Microsoft’s SOA strategy. I refer in particular to articles by Lorraine Lawson at IT Business Edge and Dana Gardner at ZDNet.
Gardner is right when he says ‘SOA is a style and conceptual computing framework, not a reason to upgrade.’ Yet, maybe through lack of time at the coalface, he thinks that massive upgrades are required to put this framework in place. The answer couldn’t be further from the truth. The vision of SOA, that is systems demarcating themselves into atomic reusable services accessible by explicitly defined interfaces and open protocols, is easily implementable in the old faithful .NET 1.0 of several years ago. Sure you may not be able to pass transaction scope across interface boundaries or rely on non-transport level message delivery guarantees, but if people are required to upgrade in pursuit of these features then it must surely be called for what it is - the evolution and maturation of the entire SOA ecosystem - there were no vendors offering this six years ago, let alone Microsoft.
Even among its chief critics, Microsoft is considered a key initiator and implementer of the broad set of WS-* standards. The irony of the criticism levelled at Microsoft in the above articles is that, unlike the other vendors mentioned, the Microsoft stack does not require expensive application servers (beyond the operating system and the cost of that pales against say WebSphere) to actually make the conceptual framework of SOA a concrete reality.
Criticism is levelled at the Connected Systems Division vision of agility in SOA applications. Having seen the future, to an extent, this is somewhere that I think shows great promise. It’s arguable whether we’ll actually be able to compartmentalize enterprise applications much longer. Increasingly I see organisations where our approach, even in relation to users on the ground, is about surfacing features out of a broader IT ecosystem within the organisation. The future of IT agility will centre on the recombination of existing services and function more than it will the creation of new ones.
Lawson’s focus is a lot closer to the coal face. However twice in her post she notes some association between what she calls ‘Open Code’ and SOA. For example:
“I think what’s confusing matters is Microsoft’s inability, thus far, to reconcile SOA’s demands for open code and standards with a business model that’s thrived on proprietary solutions.”
This could not be further from the truth. While SOA certainly demands Open Standards it most explicitly frees us from the need to have ‘Open Code’. By making the boundaries of the application explicit and well described we are freed from knowing anything of their internal workings - if communication with a service requires us to see the ‘Open Code’ then we have surely failed. The SOA landscape and vision is very much one of highly optimised proprietary systems communicating by way of poorly optimised, but open, protocols. As Microsoft moves from a Desktop and Operating Systems company to being a broader vendor of both those tools and more vertically focused platforms it is inevitable that those teams, at the very least, will see the value in exposing their revenue generating applications for use by other vendors platforms. To ignore the need to have Sharepoint Server or Microsoft CRM participate in a broader Serviced ecosystem is to ignore a good portion of the market who don’t buy into the Windows Everywhere vision.
While analysts in glass towers gaze at their Service Oriented Navels, there are a good chunk of us out in the world making at least part of their utopian vision a reality. They would do well to talk amongst us in addition to themselves every once in a while.
.NET|Wednesday, September 26, 2007 3:27:51 AM UTC||
|
 Wednesday, September 12, 2007
Getting Admin from the Vista Search Box
I'm a huge fan of the Vista search box.
Press the Windows Key -> Type What You Want -> Hit Enter
Wham... no moe mousing around.
Just got a hot tip from Kate Gregory that pressing Ctrl-Shift-Enter runs the program 'As Administrator'
.NET|Wednesday, September 12, 2007 9:28:04 PM UTC||
|
 Monday, September 10, 2007
 Sunday, September 09, 2007
IIS Log Analyzer - An Office Open XML Example
The team @ Intergen (Simon 'Skip' Gardiner of Kognition fame was the project lead) have been beavering away recently on an Open Source application for parsing and reporting on IIS log files.
It's called IIS Log Analyzer and it shows how easy it is to use the Office Open XML file formats to do document generation.
While the application is hosted inside Excel (by way of Visual Studio Tools for Office) all the document generation is done with plain old XML generation and some help from the .NET packaging APIs.
OOXML really does open up a wealth of additional options for doing document generation really easily.
Check it out here:
http://www.codeplex.com/IISAnalyzer
.NET | Intergen|Sunday, September 09, 2007 3:28:08 AM UTC||
|
 Monday, August 20, 2007
Ful WCF vs .NET Compact Framework WCF
Here's a useful table that compares desktop with mobile for WCF work.
|
Feature |
Desktop WCF |
Compact WCF |
|
Bindings: |
|
|
|
· BasicHttpBinding |
Yes |
Yes |
|
· CustomBinding |
Yes |
Yes |
|
· WindowsMobileMailBinding |
N/A |
Yes |
|
· ExchangeWebServiceMailBinding |
Yes, via NetCF install |
Yes |
|
Formatters: |
|
|
|
· SoapFormatter |
Yes |
Yes |
|
· BinaryFormatter |
Yes |
No |
|
Encoders: |
|
|
|
· TextMessageEncoder |
Yes |
Yes |
|
· BinaryMessageEncodingBindingElement |
Yes |
No |
|
· MTOMEncoder |
Yes |
No |
|
· GzipEncoder |
No |
Sample available |
|
Transports: |
|
|
|
· HttpTransportBindingElement |
Yes |
Yes |
|
· HttpsTransportBindingElement |
Yes |
Yes |
|
· MailTransportBindingElement |
Yes, via NetCF install |
Yes |
|
· MsmqTransportBindingElement |
Yes |
No |
|
· TcpTransportBindingElement |
Yes |
No |
|
· |
|
|
|
XmlDictionaryReader/Writer |
Yes |
Yes; stub around XmlTextReader/Writer |
|
DataContractSerializer |
Yes |
No; but can be wire-compatible with DCS via XmlSerializer |
|
Service proxy generation |
Yes; via SvcUtil.exe |
Yes; via NetCFSvcUtil.exe, not integrated into VS2008 |
|
· Non-HTTP transports |
Yes |
No |
|
· Custom headers |
Yes |
No |
|
WS-Addressing |
Yes |
Yes |
|
WS-Security message level security |
|
|
|
· X.509 |
Yes |
Yes |
|
· Username/password |
Yes |
No |
|
WS-ReliableMessaging |
Yes |
No |
|
Patterns |
|
|
|
· Service model |
Yes |
No |
|
· Message layer programming |
Yes |
Yes |
|
o Buffered messages |
Yes |
Yes |
|
o Streaming messages |
Yes |
No |
|
· Endpoint descriptions in .config files |
Yes |
No |
|
Extensibility |
Yes |
Yes |
.NET | Mobility|Monday, August 20, 2007 11:34:20 PM UTC||
|
 Thursday, June 07, 2007
Stripping Line Numbers from Code....
Say you've got some code with line numbers
1: using System; 2: using System.IO;
...
1430: else if (1==0)
blah blah...
And you want to strip out the line numbers.
This regex: ^[ 0-9]*\:
will do it for you. THanks go to the new regex building in Orcas 
.NET|Thursday, June 07, 2007 6:03:04 AM UTC||
|
 Sunday, May 06, 2007
 Thursday, May 03, 2007
Calling All User Experience eXperts- Come Design the Next Gen Internet
So I'm looking to hire more talented designer/developers/UXEs... that is people who have great design ability but are also able to think about the code impacts of their designs- i.e. ho can we take that design and make it into great Silverlight/WPF and AJAX experiences..... Ping me an email... chris@kognition.co.nz
If you're just a fantastic designer I'd love to talk too!
.NET|Thursday, May 03, 2007 6:59:53 PM UTC||
|
.NET 3.5 - WCF Support of URI Based Access
So URI based services are super popular right now. REST/POX etc...
SOme great stuff coming in .NET 3.5 to do this really easily by basically allowing URI based access into WCF services. Includes things like the ability to push back raw binary data across the HTTP stream.
This allows .NET developers to QUICKLY do 'Webby' style web services.
All these bits are there to be played with in the Biztalk Services SDK. Basically they have branched off a good chunk of the new .NET 3.5 Beta 2 bits and shipped them in this SDK.
The blog to watch on this is Steve Maine- he's the PM for Web Access features in WCF.
http://hyperthink.net/blog/
There is more great stuff around this in the Biztalk Services SDK. Particularly ServiceModel.WebClient namespace. This is basically client side stuff for easily accessing URI based content.
SO the new web response has a generic GetBody method... so you can do response.GetBody< . At the moment the list of Types is bounded (any XML serializable type, stream, string, SyndicationSerializable type)... it's easy to subclass the type and then override GetBody<>.
It's all just syntactic sugar across HttpWebRequest so it works very similar in terms of resource usage (little) and auto prroxy config.
.NET | Biztalk Services|Thursday, May 03, 2007 5:26:23 PM UTC||
|
Biztalk Services - Cool Tools
Just saw a cool piece of tooling that shipped with the BT Services CTP yesterday.
It allows you to copy a piece of example XML to the clipboard.
Then go Edit > Paste XML as Serializable Type
It then infers schema and does an xsd.exe all under the hoods and pastes in a serializabl .NET type.
It's a batch file in the tooling directory.
So to get it RIGHT NOW go and grab the Biztalk Service SDK.
This SDK is Biztalk in name only.... it's a far more broadly applicable to general distributed .NET development.... This is definitely something you should be downloading if you do WCF dev.
.NET | Biztalk Services|Thursday, May 03, 2007 5:20:40 PM UTC||
|
Biztalk Services SDK
I'm in a Software Design Review around Biztalk Services and Web Programability. It's being announced to us a s a small (about 15) group... and we're allowed to blog it...
So I'll be blogging live Updating this post....
Web Programability with Steve Maine
How can we program against the web. How do we wite programs such that they can be programmed as part of the web.
Stuff that shipped already
Stuff shipping in Orcas
Stuff that is more experimental (some not blogable)
Talking about processes to get an abstraction over URIs... effectivly URI templates per Joe Gregorio. This is available in System.UriTemplate (Orcas bits)...
Two directional abiliy to map name value pairs into and out of structured URLs.
Still need to use HTTP andlers to process tis sort of stuff in IE.
Orcas now has a [WebGet] attribute for WCF service operations and effectivly creates a templated URI space for that operation.
.NET|Thursday, May 03, 2007 12:32:20 AM UTC||
|
 Wednesday, May 02, 2007
Biztalk Services SDK
I'm in a Software Design Review around Biztalk Services and Web Programability. It's being announced to us a s a small (about 15) group... and we're allowed to blog it...
So I'll be blogging live Updating this post....
Web Programability with Steve Maine
How can we program against the web. How do we wite programs such that they can be programmed as part of the web.
Stuff that shipped already
Stuff shipping in Orcas
Stuff that is more experimental (some not blogable)
Talking about processes to get an abstraction over URIs... effectivly URI templates per Joe Gregorio. This is available in System.UriTemplate (Orcas bits)...
Two directional abiliy to map name value pairs into and out of structured URLs.
Still need to use HTTP andlers to process tis sort of stuff in IE
.NET|Wednesday, May 02, 2007 10:51:56 PM UTC||
|
 Tuesday, May 01, 2007
Mix 07 my best MSFT event ever.
So I'm pretty sure that this is the best MS event I've ever been to. 2nd place would be Mix from last year.
I've been to such a variety of sessions and I love the fact that there are non technical Busines Decsision Maker Sessions. I just got out of a great one where I sat next to Ade from TVNZ. It was a mixture of people from Coke Digital Strategy, ABC and Sandisk talking about online advertising and market perceptions thereof. Probably the best session yet- well worth downloading.
I've been to the MySpace sesion where they talked about how they scale out across almost 10,000 mach | |