Tag: Microsoft

  • The Build Book of News

    Every year Microsoft has held the Build conference for developers. I’ve been lucky enough to go a few times, and I was hoping to get the chance to attend again. With the pandemic, the entire event went virtual, and was held across 48 continuous hours. I was slightly disappointed as a few sessions I wanted to see were early in the morning or late at night, but I am sure most of these will be available on demand later, so I can watch them if I wish.

    One of the things Microsoft has done is produce a Build Book of News, a 55 page PDF book of all their announcements and changes. You can download it from Paul Andrew’s blog, or you can look at the announcements online at Microsoft News.

    I randomly watched Build on and off this past week, having some of the sessions in the background while doing other things. There certainly were some interesting sections, though not a lot of data platform focus, but I found a few items that you might like.

    We’re all remote now, or the majority of us are, and I can see that remote tools are
    important. I know there has been some remote code work in Visual Studio in the past, but I didn’t think many people would use it. Now in watching some of the remote code demos, I think these tools might be interesting, especially when a few people are trying to debug a crisis situation. Being able to see the code on my own machine, and seeing what others might change or think is a better (or worse) solution could be very helpful.

    The mobile GitHub tools for review are getting better, and that’s good. Since it’s likely more of us might be in different locations, on different schedules, the ability to approve a PR could prove really helpful. Codespaces are especially interesting. Maybe not so much for databases, but maybe. I wonder if we could easily get data provisioning in here.

    Azure CosmosDB is still something I want to play with, though I’ve been hesitant to set up a db because of cost. Serverless CosmosDB might get me to try something. I have no real excuse since they’re an emulator, so maybe not. I wonder how many of you might try CosmosDB out. There are also announcements about PostgreSQL and MySQL on as PaaS services getting feature parity with SQL Server in many ways.

    Lots of Synapse changes, which might be of interest to those of you with larger warehouses and looking to take advantage of the cloud offering. Quite a few AI changes as well, with Bots, speech, ML, and more. I especially liked the keynote on AI, which I think was interesting. It provides some vision of what could be possible.

    Tons of developer sessions, and I’d suggest that you browse or search the sessions to see what interests you. There aren’t a ton on demand as I write this, but likely more will appear this coming week. I hope the Cloud Skills Challenge will also remain up there, as I’d like to spend some time experimenting with services. If you haven’t worked with the Azure services, I might give that a try and get a feel for what’s possible.

    Build is always interesting, and I’m not sure if I love this virtual format, but I’m glad the event was still available and once again I’m impressed with all the work Microsoft is doing to help developers build solutions.

    Steve Jones

  • A New Windows Terminal

    Watching the Build keynotes, I saw that the new Windows Terminal has been released. It looks mildly interesting, as I really like ConEmu, but it’s something that will be on every machine at some point, and I ought to get used to using it. I like that Bash and Azure Cloud Shell are in here, so I decided to try it.

    The URL given in the keynote was aka.ms/terminal. This gets you to the Windows Terminal site, with a great animated opening. Give it a moment if you don’t see anything right away.

    Installing

    The “Get/Install” link you see will want to open the Microsoft Store app on Windows 10. You do need to have version 18362.0 or better. Type “Ver” at a command prompt to get your version.

    It installs quickly and you can get moving right away.

    2020-05-19 14_03_10-Microsoft Edge

    When my new Windows Terminal launched, it started with PowerShell, which is likely a good default. Most cmd utilities work, so this makes some sense. I find myself in PoSh quite often when I run ConEmu.

    2020-05-19 14_05_48-Windows PowerShell

    In the title bar are two things. There is a +, which opens a new tab. This is your default tab, which seems to be PoSh. I’m sure you can change this.

    2020-05-19 14_06_11-Windows PowerShell

    The drop down arrow next to this gives you choices. The defaults I see are shown below (PoSh, Ubuntu, cmd.exe, and Azure Cloud Shell). There are shortcuts here you can use.

    2020-05-19 14_06_18-Windows PowerShell

    The settings is interesting. If I click this, I was surprised that this happened:

    2020-05-19 14_07_02-Microsoft Visual Studio Enterprise 2019

    This is a settings.json file, and you’ll need to know JSON to edit this. You can see my default file below:

    2020-05-19 14_07_09-settings.json - Microsoft Visual Studio

    There are quite a few things you can change here, and I keep debating about the copyOnSelect option, which might be useful, but it might also be something I’m not expected.

    One thing I was interested in is changing the colors a bit. There’s a bit description of colors on their site, and I added a property to me default section. I’m not digging into profiles now, but I do want the colors to change. Let’s try one of the built in styles.

    2020-05-19 14_12_43-settings.json - Microsoft Visual Studio

    I tab back and I see the change immediately.

    2020-05-19 14_12_40-Windows PowerShell

    I’ll play with the schemes and see how I like them. For now, the Vintage one looks good.

    I need to do more Azure stuff and play with Linux more, so I’m going to give Windows Terminal a chance and see how it works.

    If you don’t love the built in cmd.exe, you can give this a try and see what you think. I do like the choice of terminals handy, and I can see myself adding one for Python at some point.

  • Moving to a New SqlClient

    DotNet developers, if you’re using the System.Data.SqlClient, stop. Move over to Microsoft.Data.SqlClient now.

    It’s easy to do, well, it’s relatively easy to say that. The actual work isn’t that hard, but it can be a challenge to move assemblies. In any case,  you need to reference the new assembly in your code, and ensure you’ve downloaded the NuGet package.

    Vicky Harp wrote a piece introducing this new provider, and you can find plenty of posts around the Internet (and videos) that explain how to change and why.

    Essentially, when you have the new assembly, you change this line:

    Using System.Data.SqlClient;

    to this:

    Microsoft.Data.SqlClient;

    If you haven’t fully qualified the assembly at the top and did it in code, you can search and replace.

    The big reason for the change is to allow the ADO.NET provider to release quicker and keep up with changes in technology. When the SqlClient has shipped with dotNet or dotNet Core, it upgraded rather rarely, and the pace of change was disconnected from features being added to SQL Server. Now Vicky’s team has responsibility here and is upgrading this at a more rapid pace.

    Let your friends know, and if you see System.Data.SqlClient in a code review, consider trying to refactor that out.

  • Is 100% Security Possible?

    Microsoft has spent a lot of resources working to ensure their software can be automated, audited, and configured securely. After the SQL Slammer worm, there was an effort made by the organization to code more securely. Secure by design and by default was the goal, and they’ve continued in the years since to try and ensure we can better secure our systems. There’s even a Zero Trust methodology that they push these days.

    Microsoft is notoriously strict with security, disallowing networking to potential threats, and they encourage you to do this as well. They have SAWs and PAWs and auditing recommendations and advanced threat protection. They have an incredible security operations center, which I’d like to think they use for their internal resources.

    And yet, we have Microsoft support mis-configuring a database and exposing customer PII. How does this happen when security is a big part of the Microsoft business, and something that many of us rely on them doing well? This was human error, an issue with network security rules, and likely due to the complexity of these rules, because managing these and understanding the end result of a large set of rules is difficult for a human.

    Still, it’s disappointing and daunting. As I talk with people about DevOps and ensuring we automate our best practices, I find many people embracing the idea of using software to ensure our systems are set up consistently and securely, in the same way in all environments. I find plenty of people that prefer having the computer make the changes for them and removing the chance they make a mistake.

    However, if all of the staff doesn’t buy into the new process, it opens up potential places for problems. One human and cause problems by circumventing the system. In this case, Microsoft admits they have solutions to prevent and detect this, but they were not enabled. Again, this was likely a human mistake, but this isn’t clear from their post.

    Perhaps the most disappointing thing about this data breech is the lack of details. I’d like to know what rules failed, and maybe more importantly, what systems are in place to protect against this and how are they configured. This is a great opportunity for Microsoft to share some knowledge and educate their customers, but they didn’t take it. Specifics on the failure would help many of us ensure we don’t fall victim to the same issue.

    Security is hard. It’s a constant, ongoing battle to ensure we are following best practices, as well as learning and updating our knowledge all the time. If Microsoft can’t do it, can we hope to? Maybe more importantly, if Microsoft doesn’t help us understand how do secure systems well, with their experts and specialists, can we hope to do better?

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.