I like to have SQL Server Management Studio (SSMS) installed as part of my standard development environment. Usually this is because I also have an instance of SQL Server Developer or Express Edition installed, but not always.
One thing I noticed with the separate distribution of SSMS is that it also includes all the other management tools that used to be bundled with the server, like SQL Server Configuration Manager.
I wanted to change the SQL Client configuration settings and Configuration Manager is the tool I’d use to do that. But when I fired it up (it’s named SQL Server vNext CTP2.0 Configuration Manager in the latest release of SSMS), I’ve been greeted with this message:
I don’t see this problem when an instance of SQL Server is installed though.
The fix is documented in KB 956013. I ran the following from an elevated command prompt:
mofcomp "%programfiles(x86)%\Microsoft SQL Server\140\shared\sqlmgmproviderxpsp2up.mof"
Now SQL Server Configuration Manager starts up without error
Oh, and the easiest way to install SSMS is to use Chocolatey!
choco install sql-server-management-studio
TL;DR - Make sure your tsconfig.json file has the Build Action set to Content
I have some TypeScript files included in a .NET project. I added the Microsoft.TypeScript.MSBuild NuGet package to the project to enable the TypeScript compiler
I almost pulling out my hair in frustration, so I decided to dig in deeper to find out why this was happening.
First, I ran msbuild with detailed logging. That showed up the following line just before the CompileTypeScript
target was run:
Target "PreComputeCompileTypeScriptWithTSConfig" skipped, due to false condition; ('@(ConfigFiles)' != '') was evaluated as ('' != '').
A bit more digging led me to
packages\Microsoft.TypeScript.MSBuild.2.3.1\tools\net45\Microsoft.TypeScript.targets – This defines
PreComputeCompileTypeScriptWithTSConfig target which is looking for
which in turn is set in target
FindConfigFiles. That target calls the
that is in TypeScript.Tasks.dll.
Firing up JetBrains dotPeek to reflect on the code for FindConfigTasks shows that it uses the
ContentFiles property to look for existing tsconfig.json files, and that property is set to
@(Content) in the targets file.
Jumping back to my project, I notice this:
Ah haa! Let’s set that Build Action to Content and try again..
Yes! Building the project shows
tsc.exe being passed the
--project parameter pointing to the tsconfig.json file!
Well this happened!
Yes, my talk “Life is like a Box of Chocolate(y)
” was accepted for NDC Sydney!
I’ll be speaking
about using Chocolatey
as a way of scripting out the configuration of your developer workstation. You might think of these as more “IT” tools, but I want to show developers how easy they are to use.
Combined with Windows 10’s Reset
, this means you can rebuild your Windows environment in a matter of minutes, allowing you to apply the “cattle, not pets
” approach to your own PC.
Last year I attended NDC as a volunteer crew member and afterwards said that “this is THE developer event in Australia
So go have a look at the speakers
. I reckon it’s a pretty compelling line-up, and if you register
before Sunday 14th May, you can take advantage of early bird prices.
I hope to see you there!
One in a series of
posts on Facebook Security and Privacy
First off, don’t panic! Unless you have a really poor password, it’s unlikely that you have been hacked. Instead an
annoying person has just created a new Facebook account, copied your profile picture and name, and is presumably now
going through your friend list asking to become friends, and confusing all your friends who thought you were already
What can you do?
Use the Facebook “Report” function to ask Facebook to delete the fake account.
- Open the fake profile page (Just click on the name)
- Click on the ‘…’ button (to the right of the Message button), then click
- Select Report this profile and click Continue
- Select They're pretending to be me or someone I know and click Continue
- Select Me and click Continue
- Select Submit to Facebook for Review
- Usually within a matter of hours, someone at Facebook will review the details and shut down the offending
How can you reduce the risk of this happening?
Review your Facebook privacy
and sharing settings to stop non-friends from seeing your friends list and your profile photo.
Enable Two Factor
Authentication to reduce the risk of your actual Facebook account being really compromised.
One in a series of posts on Facebook Security and Privacy
If you use Facebook, you should take the time to review your privacy settings and be deliberate about what details you share with the public (as distinct from just your friends). Setting this appropriately can help prevent annoying people from creating fake Facebook accounts that have the same profile photo and name as you, and that then try to trick all your Facebook contacts into become friends with them.
There’s no one answer to setting privacy settings. Some people might be quite happy to share everything with everyone whereas others will prefer to keep things strictly between friends. The important thing is that you understand and are comfortable with what you’re sharing to whom.
To review your general privacy settings
- Click on the drop-down menu on the top right in Facebook in your web browser
- Click Settings
- On the left, click Privacy
- Review the settings and change to your preference if necessary.
To restrict who can see your profile picture
- Go to your Facebook profile (click on your name in the top menu bar in Facebook in your web browser)
- Click on your profile photo
- To the right of the photo, click on the icon next to the date
- Review the current setting and change to your preference if necessary. Choosing a non-public option will reduce the risk of someone copying your profile photo. On the other hand it will make it harder for potential friends to find you.
To restrict who can see your friends
- Go to your Facebook profile
- Click on Friends
- Click on the ‘Pencil’ icon (Manage)
- Click Edit Privacy
- Review the current settings. Choosing a non-public option will reduce the risk of someone pretending to be you trying to contact all your friends.
Don’t just accept the defaults, be deliberate and intentional about exactly how much and to who you are sharing your Facebook information with.