Today is the 11th towel day in remembrance of a truly remarkable author.
–jeroen
PS: not sure if this is legal, but I just came across a H2G2 PDF.
Posted by jpluimers on 2012/05/25
Today is the 11th towel day in remembrance of a truly remarkable author.
–jeroen
PS: not sure if this is legal, but I just came across a H2G2 PDF.
Posted in Opinions | Leave a Comment »
Posted by jpluimers on 2012/05/24
In the previous post, you saw some XPath to find the ProviderManifestToken attribute in an .edmx file.
Writing XPath queries can be quite consuming, so it is nice of you can test it somewhere on-line.
Out of the on-line XPath testers, these two worked best:
Both of them support namespaces, including these XPath functions: local-name and namespace-uri.
These failed:
If you have more on-line tools that work: please let me know!
Edit (20120524T0930):
Danny Thorpe tweeted an interesting comment:
@jpluimers If you’re compiling XPath support, make note of whether it’s XPATH 1.0 or 2.0. I think .NET only implements XPATH 1.0
Indeed, .NET only supports XPath 1.0, and worse, .NET 4 introduced a couple of issues with XSLT (see XPath and XSLT 2.0 for .NET? – Stack Overflow).
Luckily there are some goot XPath 2.0 libraries for .NET (see XPath 2.0 Libraries for .Net – Stack Overflow).
–jeroen
Posted in Development, Software Development, XML, XML/XSD, XPath | Leave a Comment »
Posted by jpluimers on 2012/05/23
Yes. Dorothy. There are people using the ADO .NET Entity Framework with SQL Server 2000 in parallel of moving towards a more modern Microsoft SQL Server version.
Entity Framework is lovely for developing data-centric applications.
By default, Visual Studio 2010 will target SQL Server 2008 as a database. That is fine, but it is kind of invisible it does: there is no property or dialog where you can change this.
A few caveats:
The ProviderManifestToken is usually at this place:
/edmx:Edmx/edmx:Runtime/edmx:StorageModels/Schema/@ProviderManifestToken
Note this is not a full XPath query to it (as you’d have to add the namespaces see also namespaces in XPath), that would be the one below this post’s signature.
From the ProviderManifestToken documentation:
ProviderManifestToken Schema Attribute
ProviderManifestToken is a required attribute of the Schema element in SSDL. This token is used to load the provider manifest for offline scenarios. For more information about ProviderManifestToken attribute, see Schema Element (SSDL).
SqlClient can be used as a data provider for different versions of SQL Server. These versions have different capabilities. For example, SQL Server 2000 does not support varchar(max) and nvarchar(max) types that were introduced with SQL Server 2005.SqlClient produces and accepts the following provider manifest tokens for different versions of SQL Server.
- “2000″ for SQL Server 2000
- “2005″ for SQL Server 2005
- “2008″ for SQL Server 2008
Note: Starting with Visual Studio 2010, the Entity Data Model Tools do not support SQL Server 2000.
Finally, with SQL Server 2000, be sure to set multipleactiveresultsets=false in your connectionstrings to disable MARS (Multiple Active Result Sets) which SQL Server 2000 does not support.
–jeroen
via: SqlClient for the Entity Framework.
Full XPath query would either have you to add namespaces using an XmlNameSpaceManager instance, or use the full namespace urls like here:
//*[namespace-uri()='http://schemas.microsoft.com/ado/2009/02/edm/ssdl']/@ProviderManifestToken
or more precisely
/*[local-name()='Edmx' and namespace-uri()='http://schemas.microsoft.com/ado/2008/10/edmx']/*[local-name()='Runtime' and namespace-uri()='http://schemas.microsoft.com/ado/2008/10/edmx']/*[local-name()='StorageModels' and namespace-uri()='http://schemas.microsoft.com/ado/2008/10/edmx']/*[local-name()='Schema' and namespace-uri()='http://schemas.microsoft.com/ado/2009/02/edm/ssdl']/@ProviderManifestToken
or on multiple lines:
[sourececode language='text']
/*[local-name()='Edmx' and namespace-uri()='http://schemas.microsoft.com/ado/2008/10/edmx']
/*[local-name()='Runtime' and namespace-uri()='http://schemas.microsoft.com/ado/2008/10/edmx']
/*[local-name()='StorageModels' and namespace-uri()='http://schemas.microsoft.com/ado/2008/10/edmx']
/*[local-name()='Schema' and namespace-uri()='http://schemas.microsoft.com/ado/2009/02/edm/ssdl']
/@ProviderManifestToken
[/sourcecode]
for this .edmx file (hoping that WordPress doesn’t mess with the xml as it usually does).
[sourececode language='xml']
[/sourcecode]
Yup, it did it again; please see this file for the XML.
–EOM–
Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, Development, EF Entity Framework, Software Development, SQL Server, SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 | Leave a Comment »
Posted by jpluimers on 2012/05/22
Raymond Chen:
what if you don’t want the fault-tolerant heap? For example, during program development, you probably want to disable the fault-tolerant heap for your program: If the program is crashing, then it should crash so you can debug it!
–jeroen
via: How do I disable the fault-tolerant heap? – The Old New Thing – Site Home – MSDN Blogs.
Posted in Software Development, Development | Leave a Comment »
Posted by jpluimers on 2012/05/21
The introduction of the Ribbon in Office 2007 and 2010 often makes me ask “why are things so complicated now, that were so easy until Office 2003″.
One of the things that were very close together in Word 2003, was converting text to and from tables: they were in adjecent menu items.
Not any more, as you can see in the Convert text to a table or vice versa topic on the Microsoft site. There is even a Dummies article on this topic.
Summarized:
Of course the keyboard shortcuts are “easy” to remember: Alt, N, T, V
Of course the keyboard shortcuts are “easy” to remember: Alt, J,L, V
–jeroen
via: Convert text to a table or vice versa – Word – Office.com.
Naming of ribbon UI elements
Posted in Office, Power User, Word | Leave a Comment »
Posted by jpluimers on 2012/05/18
(Thanks to a “Missed Post” problem on WordPress.com, this one didn’t get posted on the scheduled date. Sorry for any inconvenience)
First Lenovo did away with 1920×1200 screens. Now they done away with the ThinkPad keyboard layout.
Both were my compelling reasons for buying Lenovo.
In fact, they are now marked as forum.thinkpads.com • non-ThinkPad Lenovo Hardware.

New Lenovo X1 keyboard. No more ScrLk, Pause and local-menu keys, PrtScr key moved to impossible place. 6-key navigation split.
–jeroen
PS: Anyone in The Netherlands who has a new ThinkPad W701 with 1920×1200 screen for sale?
Posted in Keyboards and Keyboard Shortcuts, Power User | Leave a Comment »
Posted by jpluimers on 2012/05/18
Some shortcuts on the Mac are difficult for me to remember. For instance the one to move s
omething from the Finder to the Trash.
The guides on Trash at MacRumours.com to the rescue:
You delete files and folders by moving them to the Trash. You can:
Drag and drop a file on the trash icon in the dock
Control-click on a file and select “Move to Trash” from the menu
Select a file or files and use the keyboard shortcut: command-backspace
Select a file or files and choose “File > Move to Trash” from the menu bar
Note that on many Mac keyboards, the backspace key is called delete. It in fact functions as backspace which removes the character left of the cursor; to delete a character under the cursor you have to press Fn-delete.
–jeroen
via: Trash – Mac Guides.
Posted in Apple, OS X Leopard, OS X Lion, OS X Snow Leopard, Power User | Leave a Comment »
Posted by jpluimers on 2012/05/17
When trying to dissect .NET 1.1 web services from their .asmx and WSDL, you need some tooling.
You’d think the WCF Test Client works, but it only partially generates the calls; it gets the methods OK, but not the parameters.
Importing the .NET WebService in Visual Studio is another option, but not for a “quick play around with the calls”.
For that, Soap UI seems a good option.
If you know better tools, please let me know in the comments.
It works, and when you get it to work it is dead slow (it keeps one core running at 50%).
Getting it to work gives many people this kind of error message: Read the rest of this entry »
Posted in .NET, C#, Development, SOAP/WebServices, Software Development | Leave a Comment »
Posted by jpluimers on 2012/05/16
As a Delphi user, I’m missing the “Reverse Assignment” feature in the Visual Studio version of CodeRush.
Since CodeRush is very extendable (Mark is still explaining to people how the idea for that came from Delphi Packages back in the mid 90s), you can add this one yourself, as the a answer to this DevExpress support issue shows:
Q:
Is there a quick way to reverse the assignment in CodeRush? For example:
FROM:
Field[“test1”] = edTest1.Value;
Field[“test2”] = edTest2.Value;TO:
edTest1.Value = Field[“test1”];
edTest2.Value = Field[“test2”];I know Delphi had this capability in its refactoring, does CodeRush for Visual Studio?
Thanks
Daniel Schipper
Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, Development, Software Development, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2012/05/15
(Thanks to a “Missed Post” problem on WordPress.com, this one didn’t get posted on the scheduled date. Sorry for any inconvenience)
One of the next steps in the automated build process I’m setting up is increasing AssemblyVersion values after succesful builds.
It is is in a CCnet / TFS2010 / VS2010 environment.
Some links:
–jeroen
via: change assemblyversion during checkin ccnet – Google Search.
Posted in .NET, C#, Continuous Integration, CruiseControl.net, Development, Software Development, Source Code Management, TFS (Team Foundation System) | Leave a Comment »
Posted by jpluimers on 2012/05/15
When in a DTAP environment, you cannot always have complete clean boundaries. Issues in production don’t reproduce in acceptance, you cannot develop in production, etc.
So sometimes you have to simulate or connect to Test or Acceptance Database Servers from a Develop workstation.
There it can get hairy to keep track of which applications connect to which database server.
That’s where the below batch file comes in handy: it scans your systems on connections to common TCP ports used by SQL server, then for each connection give you some process details (or – if you add a commandline parameter – all details that TLINK can get).
The batch file uses the built in tools tasklist, netstat, find and sc (the latter to show information on the local running SQL Services).
It also uses TLIST, which can be a bit awkward to get.
Posted in .NET, Batch-Files, Database Development, Development, Scripting, Software Development, SQL, SQL Server, SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 7 | Leave a Comment »
Posted by jpluimers on 2012/05/14
(Thanks to a “Missed Post” problem on WordPress.com, this one didn’t get posted on the scheduled date. Sorry for any inconvenience)
You need to be administrator to see the output of the “net config server” command.
The inbound/outbound limit is 20:
Running ‘net config server’ at the command-line suggests that Windows 7 can support up to 20 inbound / 20 outbound incomplete connections.
–jeroen
via: Inbound TCP connection limit in Windows 7 – Super User.
Posted in Power User, Windows, Windows 7 | Leave a Comment »
Posted by jpluimers on 2012/05/14
A few tools to prevent your screensaver to run:
Windows (most seem to work with Windows 7 too)
Mac OS X
Note: on Windows 7 this will not prevent the inactivity timer on an RDP connetion!
–jeroen
via: windows xp – How to prevent screensaver – Super User.
Note: no need to write it yourself
Posted in OS X Leopard, OS X Lion, OS X Snow Leopard, Power User, Windows, Windows 7, Windows 8, Windows Vista, Windows XP | Leave a Comment »
Posted by jpluimers on 2012/05/14
(Thanks to a “Missed Post” problem on WordPress.com, this one didn’t get posted on the scheduled date. Sorry for any inconvenience)
I must try to see if this is going to work with my mentally retarted brother: Kidi.Net: Kinderen VEILIG op het Net.
–jeroen
Posted in About, Personal, Power User | Leave a Comment »
Posted by jpluimers on 2012/05/11
(Thanks to a “Missed Post” problem on WordPress.com, this one didn’t get posted on the scheduled date. Sorry for any inconvenience)
You can fix the “temporary profile” in Windows 7 if you have access to the registry.
So it totally depends on how tight security at your clients is, and how fast their alternative processes are…
–jeroen
Posted in Power User, Windows, Windows 7 | Leave a Comment »
Posted by jpluimers on 2012/05/11
The “route print” command in Windows will show you some “On-link” entries in the gateway column. This is from Windows Vista and up. Before that, you would see “127.0.0.1″.
While creating Windows Vista and Windows Server 2008, Microsoft built a “Next Generation TCP/IP Stack” (Wikipedia link) that – apart from adding IPv6 – added many new features and performance improvements.
Since traffic routable through the local machine can have multiple IPv4 and IPv6 addresses, it is not called ” 127.0.0.1″ any more, but “On-link” as the answers to the windows 7 – What does “On-link” mean on the result of “rout print” command? on SuperUser nicely point out:
They are addresses that can be resolved locally. They don’t need a gateway because they dont need to be routed.
Yep, the other three answers are correct: it’s just a route thats directly reachable the NIC is in direct contact with it; on the same subnet. To explain a little further though: by contrast, the routes that have a gateway IP listed must be contacted through that gateway.
Note that sometimes the new TCP/IP stack needs some arm wrestling in order to have it do what you want (for instance to have it honour TCP metrics).
Note that the “default gateway” line is also missing, as it is in the 0.0.0.0 network destination.
A few examples of what route print shows: Read the rest of this entry »
Posted in Power User, Windows, Windows 7, Windows 8, Windows Vista, Windows XP | Leave a Comment »
Posted by jpluimers on 2012/05/10
To bad that Greg Beechs Blog only has “42 Entries” as those entries (from the start of 2006 till the end of 2009) are well worth reading on various .NET related topics.
–jeroen
Posted in .NET, C#, C# 2.0, C# 3.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2012/05/09
A few notes on TLIST.EXE:
This is what I downloaded as I prefer ISO files prefer web-installers:
I got there through these pages (in reverse chronological order)
–jeroen
Posted in Debugging, Development, Power User, Software Development, Windows, Windows 7, Windows Vista, Windows XP | 1 Comment »
Posted by jpluimers on 2012/05/08
Some clients generate their VPN connection settings using the CMAK (Connection Manager Administration Kit). Apart from the cumbersome way to support both x86 and x64 at the same time, they usually add in some kind of time-out feature, and often route the whole 10.0.0.0/8 network over the VPN to just host a couple of dozen machines. Having done most of my VPN connections by hand, and automating them using rasdial to dial these from the commandline, I also found out the hard way that you cannot use rasdial for CMAK generated VPN connections: it will give you the error “This function is not supported on this system.”. The funny thing is: you can disconnect using rasdial. Luckily, the far less well documented rasphonedoes work for dialing. The batch file below uses a few tricks, and you can set the parameters in the top of the batch file.
Posted in Development, Power User, Scripting, Software Development, Windows, Windows 7 | Leave a Comment »
Posted by jpluimers on 2012/05/07
Posted in Power User | Leave a Comment »
Posted by jpluimers on 2012/05/04
One of the things about the Office 2007 and 2010 Ribbon is that it makes the things that you have remembered for 10+ years go into hard to find places.
My point is that according to the ribbon documenation:
A ribbon can replace both the traditional menu bar and toolbars.
Microsoft has decided to read the ”a ribbon can replace” as “the ribbon replaces”. Thereby also introducing a whole new naming for the UI elements used in ribbons (see at the bottom).
Protecting a worksheet and workbook have been in the menu “Tools”, submenu “Protection” forever. But alas: No more “Tools” menu, and accompanying keyboard shortcut productivity (and I needed “unprotect workbook” because you cannot copy workbooks inside a protected workbook).
As “password protect worksheet” shows, it is now under:
–jeroen
Posted in Excel, Office, Power User | Leave a Comment »
Posted by jpluimers on 2012/04/30
If you love photography, be sure to read Ken Rockwell’s website. It is filled with useful information on photography and audio ranging from generic tips on making better pictures to specialized tips for many brands of equipment.
Since I use a Nikon D700 and D300, these are the most important for me, with a few quotes: Read the rest of this entry »
Posted in About, Opinions, Personal, Photography, Power User | Leave a Comment »
Posted by jpluimers on 2012/04/27
Gearing down to WAP:
Zoals Donny al zegt, je hebt GPRS voor 2G, wat redelijk werkt voor lage-bandbreedte dingen zoal mail en mobiele websites (http://tweakers.mobi) bezoeken.
Vroeger had je ook nog WAP (wireless access protocol). Hele lage bandbreedte. Daarvoor moet je browser wel wap begrijpen. Zo is wap.tweakers.net nog in de lucht.
Moderne browsers snappen WAP iig. niet. Voor een simulator voor WAP: http://tagtag.com/site/info/emulator (en probeer maar wap.tweakers.net)
–jeroen
via: Providers vergroten capaciteit netwerken voor Koninginnedag | Mobile | Tweakers.net Nieuws.
Posted in Power User | Leave a Comment »
Posted by jpluimers on 2012/04/27
Dit was 1 van de dingen die ik midden jaren ’90 van de vorige eeuw voorzag: oude info blijft tot in de eeuwigheid beschikbaar.
- Naam: PLUIMERS SOFTWARE ONTWIKKELING
- Vestigingsadres: HOOFDSTRAAT 207 B
- Vestigingsplaats: 2171BC SASSENHEIM
Toen het nog een eenmanszaak was en je de 500 meter van je favoriete vereniging naar huis blind kon afleggen.
–jeroen
via: Kamer van koophandel: handelsregister : Kiezen informatieproduct.
Posted in About, Opinions, Personal, Power User | Leave a Comment »
Posted by jpluimers on 2012/04/26
Some very interesting tips from game development that apply juts as well to general software development.
On code health:
Now I always try to dig right down to the root cause of a bug, even if a simple, and seemingly safe, patch is available. I want my code to be healthy. If you go to the doctor and tell him “it hurts when I do this,” then you expect him to find out why it hurts, and to fix that.
Though tools like SourceMonitor can help you track your code health, the best tool is between your ears.
–jeroen
Posted in .NET, Batch-Files, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Delphi, Delphi x64, Delphi XE2, Development, JavaScript/ECMAScript, PHP, PowerShell, Scripting, Software Development | 1 Comment »
Posted by jpluimers on 2012/04/25
I’ve been really busy lately with a couple of migration projects, so I totally missed the various SQL Server 2012 is Generally Available! announcements.
Which is important because for one client, this opens the possibility of move from SQL Server 2000 right to SQL Server 2012 in stead of SQL Server 2008 R2 and make a more smooth path for Azure.
–jeroen
via:
Posted in Database Development, Development, SQL Server, SQL Server 2000, SQL Server 2008 R2, SQL Server 2012 | Leave a Comment »
Posted by jpluimers on 2012/04/24
While transitioning from SQL Server 2000 to 2008, I recently had the “A severe error occurred on the current command. The results, if any, should be discarded.” occurring on SQL Server 2000 in the form as shown at the bottom of this message.
Many of the search results point you into the area of atabase corruption, or in using NVARCAR parameters with SQL Server 2000 or SQL Server 2005 (the app didn’t use NVARCAR, nor did it use large VARCHAR parameters).
The cool thing on the SQL Server Forums – System.Data.SqlClient.SqlException: A severe error occurred on the current command post was that it summed up causes, and asked for more:
Posted - 06/17/2004 : 15:05:20
Rashid writes “Hi: Gurus I am getting these errors when I try to execute my application. According to MS knowledge base (http://support.microsoft.com/default.aspx?scid=kb;en-us;827366) these errors happen due to following resons
- You use a SqlClient class in a Finalize method or in a C# destructor.
- You do not specify an explicit SQLDbType enumeration when you create a SqlParameter object. When you do not specify an explicit SQLDbType, the Microsoft .NET Framework Data Provider for SQL Server (SqlClient) tries to select the correct SQLDbType based on the data that is passed. SqlClient is not successful.
- The size of the parameter that you explicitly specify in the .NET Framework code is more than the maximum size that you can use for the data type in Microsoft SQL Server.
None of these are true in my case. Are there any other reasons that can cause these problems..
There is one more: sending huge SQL Statements to your SQL Server is always a bad idea and gives this error too. Read the rest of this entry »
Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, Database Development, Development, Software Development, SQL Server, SQL Server 2000, SQL Server 2008 R2 | Leave a Comment »
Posted by jpluimers on 2012/04/23
Someone forgot to kick the VDI instances in the farm to perform an automatic reboot.
Patch Tuesdays only work when you make sure that mandatory reboots are actually being done.
That also prevents users of getting confused by these System Modal dialogs:
[System Restart Required]
A newly installed program requires this computer to be restarted.
Please save your work and restart your computer. Your computer needs to be restarted by wo 11-4-2012 2:43.
[Restart Now] [Close]
[Restart Alert]
A system restart cannot be completed while another software installation is in progress. Please allow the software installation to complete before attempting a system restart.
[OK]
–jeroen
Posted in Power User, Windows, Windows XP | Leave a Comment »
Posted by jpluimers on 2012/04/23
Hmm, interesting*:
Gbridge lets you sync folders, share files, chat and VNC securely and easily between friends or your own computers. Google Apps users can create their own free VPN within the organization instantly!
- EasyBackup: Backup to remote computer!
- DesktopShare: Technical support made easy.
- SecureShare & AutoSync: Share files within group!
Either a portable version of Gbridge (currently non-existent) or Gbridge running under a portable VM solution (would vbox.me or VirtualBox on a USB stick work?) running as a non-admin would open up a can of worms for syadmins, and at the same time make a lot of life hackers extremely happy
–jeroen
via: Google Apps Marketplace – Gbridge: Free instant VPN for everyone!.
PS: *If you hear a programmer mumble “Hmm, interesting” be wary as either something very smart or very stupid came to mind.
Posted in LifeHacker, Power User | Leave a Comment »