Passed 70-494

Thursday, 4 June 2015

Back in April, I sat the Microsoft exam 70-494 Recertification for MCSD: Web Applications.

And failed Sad smile

And not by that much – 663 (the pass mark for Microsoft certification exams is always 700). So it’s hard to say, but it was probably around 2 – 4 incorrect questions.

But fortunately Microsoft were running the “SecondShot” promotion until the end of May, so if you failed an exam you could try it again later for no extra cost.

So today I re-sat the exam, and this time I passed (764 this time). Yay Smile

I think this might be the first time I’ve done a recertification/update type exam. Because they are essentially combining what would otherwise be two separate exams (70-486 and 70-487) it does make it a bit more challenging as the breadth of subjects covered is essentially also doubled. Take a look at the Skills Measured section – there’s a fair bit there!

You don’t get told which specific questions you got wrong, but I was able to recall a number of topics that came up in the first exam that I was unsure about so I took a bit of time to review those areas and become more familiar with them for the second time around. These were largely areas in which I don’t normally cover either for work or leisure. Of course there’s no guarantee that you’ll get the same questions – but it would be silly not to be prepared if something similar came up again.

So now that’s done – it should keep the Microsoft Certified Solutions Developer: Web Applications certification active for another two years. It will be interesting to see what kind of skills they’ll be testing next time around.

ANZ Coders Conference–10 unusual tips & tricks for .NET

Thursday, 28 May 2015

My second talk for the ANZ Coders virtual conference is now online. “10 unusual tips & tricks for .NET” manages to demonstrate 10 different tips in under 30 minutes.

Source code for the demos is on Github. Over time, I hope to add to this repo as I come across new tips. If you prefer to see something in-person (and with pizza), then come along to the next Adelaide .NET User Group meeting on June 10th, when I’ll be doing an “extended play” version of this talk (and probably by then with a couple of extra tips thrown in to boot!). Register on MeetUp.

ANZ Coders Conference–Hot Dates

Tuesday, 26 May 2015

My first talk at the ANZ Coders virtual conference titled “Hot Dates” is now online. In it I give an overview of some of the issues you need to deal with when working with dates and times in software.

The resources I referred to at the end are:

ANZ Coders

Sunday, 3 May 2015

If you haven’t heard, there’s a free virtual conference being run later this month – 24-29th of May to be exact. It’s called ANZ Coders.

The format will be 3 sessions each evening. If you’re in Adelaide, it will be from 7.30pm – 9.30pm (or equivalent time elsewhere).

Voting for which sessions are presented is now on (until May 10th).

I’ve nominated a number of sessions – feel free to vote them up if you’d like to see one (or more) of them!

There’s 28 proposals in total, but only 15 will get the nod (5 evenings x 3 sessions = 15!)

Then go register and make time to check out the sessions in a few weeks when they’re presented live!

Sharing common assemblies with aspnet_intern.exe

Thursday, 23 April 2015

I’m reviewing the skills measured for exam 70-494 Recertification for MCSD: Web Applications, and came across this item towards the end of the list:

“Prepare the environment for use of assemblies across multiple servers (interning)”

Hmm, that’s something I wasn’t familiar with.

Curiously there’s only a couple of significant places I’ve found it mentioned online: First, Sateesh gives an overview in his post Look at Sharing Common Assemblies in ASP.NET 4.5, and then it gets a mention in the What’s New in ASP.NET 4.5 and Visual Studio 2012 notes under the heading Sharing Common Assemblies.</p>

So for situations where you’re hosting a number of ASP.NET web applications on the same server and they share some common assemblies, aspnet_intern can help mitigate the problem that each assembly copy has to be read separately during cold site startup and kept separately in memory.

On a machine with Visual Studio 2013 installed, aspnet_intern.exe can be found in C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\.

Here’s the usage details:

Microsoft (R) ASP.NET Intern version 4.0.30319.33440
Utility to analyze ASP.NET web applications and intern common .NET assemblies found in the Temporary ASP.NET Files directory.
Copyright (C) Microsoft Corporation. All rights reserved.

aspnet_intern [-mode analyze|exec|clean|query] [-sourcedir <input source path>] [-interndir <output target interned path>]

-?                  Display this help text.
-mode analyze       Analyze source directory for managed assemblies that can be
                    interned for cross application sharing (default)
-mode exec          Perform interning of managed assemblies for cross
                    application sharing
-mode query         Display information about shared assemblies in the intern
                    directory
-mode clean         Deletes the intern directory and all symbolic links in the
                    source directory pointing at files in the intern directory
-sourcedir          Source directory to scan for potential assembly interning
                    candidates.  Use either the Temporary ASP.NET Files
                    directory location, or the location defined in the
                    system.web/compilation/tempDirectory web.config attribute.
-interndir          The location where interned assemblies are stored for
                    sharing across ASP.NET applications.
-v                  Verbose output
-bpc                Bypass platform checks
-minrefcount        The minimum number of times an assembly was found in
                    different locations for the assembly to be considered an
                    interning candidate. (Default: 3)
-whitelist          Only allows interning of managed assemblies that are
                    contained in this file.  Value should be the full file path
                    to a line delimited list of patterns which may contain a
                    trailing asterisk which will turn the pattern into a prefix
                    match.  i.e. MyAssembly-1.*

Examples:

       aspnet_intern -mode analyze -sourcedir "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files"
       aspnet_intern -mode exec -sourcedir "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files" -interndir C:\ASPNETCommonAssemblies
       aspnet_intern -mode clean -sourcedir "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files" -interndir C:\ASPNETCommonAssemblies
       aspnet_intern -mode query -interndir C:\ASPNETCommonAssemblies