|
|
|
Welcome to .NET Performance
|
|
| |
|
Welcome to the Wienholt Services Pty Ltd web site. We hope you find our site
interesting. We are keen to here your feedback, or if you have question
relating to .NET, and in particular .NET Performance please contact us using
the Contact link.
|
|
Nick's Blog
|
| Full version up at
MSMVPs |
| Subscribe
(ATOM) Subscribe
(RSS)
|
|
|
| We
use the ABCpdf ASP PDF component for HTML to PDF conversion... |
Handango not posting negative reviewsA couple of weeks ago I purchased the eGlass BookReader from Handango, partly because of the problem with WMDC that I spoke about in my last post. The reader was pretty poor, particularly in its reading experience of PDF books. In reflow mode, you have to change back to scaled view before you can advance to the next page in the document, which makes for a tedious reading experience. In the end, I ditched the eGlass reader out of frustration.
I got an email from Handango asking for a review, and as the product had been particularly useless, I decided it was worth the time warning others not to waste their money. The rules for reviews on Handango are quite restrictive, but I made sure I stayed within the guidelines and only mentioned I was unhappy with the product because of the clumsy paging-turning support in the PDF reader. For the record, I gave the product the lowest review of 1 star.
Suspiciously, my review has yet to appear, and I've received no feedback or confirmation from Handango. Here is the page for the product, which miraculously contains no reviews at all.
It seems my sensored review is not an isolated case. Another one here. And another.
WM6 to Vista Sync Error 0x8503001c - Fixed by going back to WMDC 6.0I had the frustrating experience of having a new WM6 device (HTC Touch) developing a problem synching to a new Vista machine. The Touch was in its third week of a synch relationship with Vista, so it could be hoped that honeymoon bliss was still lingering in sufficient proportions to prevent a dreaded 0x8503001c error. The only change to the system has been to do a sync over Bluetooth, and that seems to have toasted WMDC somehow.
I tried deleting and re-creating the partnership (which didn't work), and taking off synch items, which produced the result of a successful sync with Mobile One Note and nothing else.
After trying the partnership delete, I tried an uninstall/ reinstall of WMDC 6.1, again with no success.
The next tactic I tried was creating a new PST file for Outlook and importing everything from the old file to the new one with no success.
The next tactic, which did work, was to unistall WMDC 6.1 and install WMDC 6.0. Amazingly, this fixed the problem.
Its a shame that WMDC seems to have all the same problems of ActiveSync, and yet has less features. I hope WMDC 6.2 will see a return of the file conversion functionality that was part of ActiveSync - at the moment I need to print PDFs to a third-party reader application because the file conversion that adds reflow support to a PDF file doesn't work with WMDC. Nick mentions the other side of this problem in this post.
If the Mobile Device team want to deliver on their sales pitch that they are the best platform for business and productivity and fight off the combined competition from the iPhone and Google, WMDC needs to be rock-solid.
Dealing with linked servers in VSTS Database ProWorking with linked servers in VSTS Database Pro can be a bit painful, especially when the linked server is a production server that should be (and typically is) inaccessible from developer's machines. If the appropriate linked server settings aren't set up on the design-time validation database server(which is the local database by default), the Database Pro project won't be able to build, which will prevent all sorts of useful things like schema compares for happening.
The solution to the problem is replicate the schema of the production database to another server (local is fine), and then to use sp_addlinkedserver to add the linked server using an alias rather than the actual server name, and then to use this alias in any stored procs that reference the linked server. The syntax for the call is:
EXEC sp_addlinkedserver @server='ServerAlias', @srvproduct='', @provider='SQLNCLI', @datasrc='ActualServerName'
Once sp_addlinkedserver has been called, the appropriate security settings still need to be set up, and this can be done from Management Studio or via sp_addlinkedsrvlogin.
By using an alias rather than the actual server name, the need for developers to have any login details for production systems on their machines is removed.

A few quick tips for using SQL Server 2005 Linked ServersI've just completed a short,rushed project that involved moving data from one SQL Server 2005 in a DMZ to another SQL Server 2005 server inside the network. The database in the DMZ is deployed on a per-web site basis, and there can be many copies of the same database sending data back into the central database. I initially choose a push model, which would ease the deployment burden, as each copy of the website database could point back to the central server to push its data back. If a new site was deployed, there was no configuration necessary to get the data pushed back to the central location apart from setting some meta-data in a particular table, and scheduling a stored procedure to run.
As is typical in rushed projects, there was no consultation with the infrastructure guys about the feasibility of the design, and we didn't find out a few issues till we where scheduled to deploy. The problems (in the order that they occurred) where:
For someone that has always had network guys to set up DTC, its not as straight forward as I'd assumed. I spent ages setting all the correct DTC configuration values on the remote machine without ever enabling it on the central server. When I tried to issue a BEGIN DISTRIBUTED TRANSACTION from the central server, I got an error saying that the remote server had disabled its support for distributed transactions. The error message was wrong - the local server hadn't been set up for distributed transactions. Turning on DTC on both servers (obviously) fixed the problem.
Getting DTC working through a firewall is hard. This KB article documents how to do it, but as there was no name resolution between the web server and the central server (to quote the KB article 'DTC also requires that you can resolve computer names by using NetBIOS or DNS'), distributed transactions weren't a goer.
@@IDENTITY and scope_identity() don't flow across servers. Using the push model, I needed to set a foreign key in one of the inserted tables, which means I needed to know the primary key on the row inserted earlier in the stored proc. In the end, I had to go to a pull model, which was a pretty easy change.
While it would have been nice to identity and sort out all these issues before we started baning out TSQL, the project scope was small enough that we could resort to heroics to overcome design short-comings.

Filling in a technical support web form, and getting a response- well done DiskView!A couple of months before Vista was release, I purchased a copy of DiskView to track down where all my hard disk space was being eaten up on a Windows XP install (it turned out to be several multi-gigabyte files that DivX converter had left lying around).
A version of DiskView that support Vista has recently been released, but when I tried it, I got an error with code 2738 during installation. I checked the website support page, and didn't see any resolution for this issue, so I tried filling in the support page without much hope of ever receiving an answer. Only a couple of hours later I got the following email:
Error 2738 may occur in Windows Vista when a custom install action is required by a software installer and VBScript is not registered. I'm not sure why it is occurring on your computer, as it seems to work fineon other Vista installations. I also just installed DiskView with no errors on a fresh Windows Vista Ultimate virtual machine.
Can you try the following?
Start Button > All Programs > Accessories Right-click on "Command Prompt"
Select "Run as Administrator"
Type cd \ and press ENTER
Type cd C:\Windows\System32 and press ENTER Type regsvr32 vbscript.dll and press ENTER You should receive a message that the DLL has been successfully registered.
Try the DiskView installation again. Please let me know how it goes.
Re-registering vbscript.dll fixed the problem
So, not only is DiskView a really good product, there technical support is excellent.
New CodeGuru article upThis months offering looks at upgrading an old MFC application to take advantage of Vista. Some months the article come quickly (less than 4 hours). This month, it took a couple of days. The documentation for the MFC 9 updates is still pretty minimal.
In Perth tomorrow nightThe website is up to date now - I'm in Perth tomorrow night for the Code Generation presentation (if APEC hasn't caused the too many problems with my flight)
Week 23 PicsAfter a long break, I've finally finished the gallery for Week 23 of my six month trip around Australia in 2005. As expected, the Tassie portion of the trip produced a lot of shots, and it took a long time to go through them. 15 shots in this gallery, which is the most since Week 8, which covered the Mt Isa rodeo and Ayers Rocks.
 
Printing a calendar for Christmas PresentsLast year I used 13 of the photos I took from my 6 month trip around Australia in 2005 to make a calendar for a Christmas present for family and friend. The print company I used was Kainos Print from the ACT, and the actual order form for the calendar is here - they make the process quite simple. The final proof for this years calanar (4+MB PDF) is up on my site if you're interested in seeing how it turned out. Generally I was very happy with the result, and plan on using Kainos again this year.
The main change I need to make for the years images is to lighten the dark images significantly (March and May look very dark when not in direct light). Other than that, the 2007 calandar looks great.
The 2008 images will come from my trip to Arizona, Utah and Nevada before the MVP summit. Wupatki Pueblo is pencilled in for Jan, and Antelope Canyon will be in there too.
If you're interested in purchasing a copy, please drop me an email. Cost will be around AU30 including postage in Australia. Happy to send OS for a bit extra postage, but be warned that the public holidays and school holidays in the calandar are mostly Australia-specific.
Visual C++ 2008 - CodeGuru Articles UpIts hard to believe that its been over three years since I started doing the C++ column at CodeGuru (and still no missed columns). I plan to keep going to beat Kate Gregory's record of 42 articles, at which point in time I'll demand to get the URL for the column changed (http://www.codeguru.com/columns/Kate/). I know Kate is fairly vindictive, and believe this is one possible response from Kate's fans:

(I've got into trouble before for not making it absolutely clear when I'm making stuff up, so for the record, I actually don't know Kate, and I'm sure she is not vindictive or has any knowledge of our relative article count).
The last two articles I've done have been on VC++ 2008, which has some pretty nice new features, particularly around Interop. The August article shows how easy it is to extend the marshaling library, and this is likely to be one of the most used new features of Orcas for C++ developers. Next months article will look at upgrading the version of Scribble that ships with the Visual C++ 6 sample to use the Vista common controls. If there is anything you'd like to see covered in upcoming articles, please leave a comment and I'll happily suggest it to my editor.
First INETA Speaker Bureau Gig coming up - Perth 6 SepThe site's not updated yet, but I'm happy to confirm that I'll be in Perth on 6 Sep to present my Code Generation in the Real World talk. The blurb for the talk is:
Real-world Code Generationby Nick Wienholt
There is a lot more to real-world code generation than simple spitting out a bunch of objects based on a database schema.What is the re-generation story?How are the generated objects extensible?How do I integrate custom stored procs?How do I return a collection with only a sub-set of fields populated?What is the performance like?How do I maintain source control on the database, the generated objects and the settings used for the generation?
This presentation will cover a code generation process using CodeSmith, .net Tiers and VSTS Database Professional that addresses all these points and more.The end result is a development process that can go from schema modification to full back-end regeneration in under 10 minutes.
The talk was well received when I did it at SDNUG, and the great Adam Cogan told me after the session it was his favorite session he seen so-far in 07.
I haven't been to the Perth User Group since Dec 04, and I'm looking forward to catching up with Mitch W and Nick R when I'm over there.
I'm flying out of Sydney on the day before APAC and coming back on the red-eye on the day of the start of the summit. Should be interesting.
Thanks to Sanjay and Sin from INETA APAC for making the trip possible by funding the flight.
SOA in the Real World Book from Microsoft Architecture GroupReleased a couple of weeks ago, SOA in the Real World is a good summary of the guidance that Microsoft has been putting out for the last 5 years. As my main task in the current gig is the writing a document of integration stategy and then working with the development team implementating web services for the first time, the e-book is a timely helper with this task. I'm still working through the first few chapters, but it looks promising.
|
|