Subscribe: Latest Microsoft Blogs
Added By: Feedage Forager Feedage Grade B rated
Language: English
analysis services  azure  code  core  https  ligatures  linux  net core  net  network watcher  network  ubuntu  urls  windows 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Latest Microsoft Blogs



Azure Analysis Services with Azure SQL DB and Data Warehouse

Thu, 20 Jul 2017 23:30:00 GMT

Josh Caplan, a Sr. Program Manager from the Azure Analysis Services team, joins Scott Hanselman to show how you can get started using Azure Analysis Services with Azure SQL DB and Data Warehouse. It includes how to build your first data model and how to use Analysis Services to benefit your users.

(image) Josh Caplan, a Sr. Program Manager from the Azure Analysis Services team, joins Scott Hanselman to show how you can get started using Azure Analysis Services with Azure SQL DB and Data Warehouse. It includes how to build your first data model and how to use Analysis Services to benefit your users. Follow @SHanselman Follow @JoshCaplan1984 Follow @JoshCaplan1984

Media Files:

Monospaced Programming Fonts with Ligatures

Thu, 20 Jul 2017 22:13:29 GMT

Typographic ligatures are when multiple characters appear to combine into a single character. Simplistically, when you type two or more characters and they magically attach to each other, you're using ligatures that were supported by your OS, your app, and your font. I did a blog post in 2011 on using OpenType Ligatures and Stylistic Sets to make nice looking wedding invitations. Most English laypeople aren't familiar with ligatures as such and are impressed by them! However, if your language uses ligatures as a fundamental building block, this kind of stuff is old hat. Ligatures are fundamental to Arabic script and when you're typing it up you'll see your characters/font change and ligatures be added as you type. For example here is ل ا with a space between them, but this is لا the same two characters with no space. Ligatures kicked in. OK, let's talk programming. Picking a programming font is like picking a religion. No matter what you pick someone will say you're wrong. Most people will agree at least that monospaced fonts are ideal for reading code and that both of you who use proportionally spaces fonts are destined for hell, or at the very least, purgatory. Beyond that, there's some really interesting programming fonts that have ligature support built in. It's important that you - as programmers - understand and remember that ligatures are just a view on the bytes that are your code. If you custom make a font that makes the = equals site a poop emoji, that's between you and your font. The same thing applies to ligatures. Your code is the same. Three of the most interesting and thoughtful monospaced programming fonts with ligatures are Fira Code, Monoid, and Hasklig. I say "thoughtful" but that's what I really mean - these folks have designed these fonts with programming in mind, considering spacing, feel, density, pleasantness, glance-ability, and a dozen other things that I'm not clever enough to think of. I'll be doing screenshots (and coding) in the free cross-platform Visual Studio Code. Go to your User Settings (Ctrl-,) or File | Preferences, and add your font name and turn on ligatures if you want to follow along. Example:// Place your settings in this file to overwrite the default settings{ "editor.fontSize": 20, "editor.fontLigatures": true, "editor.fontFamily": "Fira Code"}Most of these fonts have dozens and dozens of ligature combinations and there is no agreement for "make this a single glyph" or "use ligatures for -> but not ==> so you'll need to try them out with YOUR code and make a decision for yourself. My sample code example can't be complete and how it looks and feels to you on your screen is all that matters.Here's my little sample. Note the differences.// FIRA CODEobject o; if (o is int i || (o is string s && int.TryParse(s, out i)) { /* use i */ }var x = 0xABCDEF;-> --> ==> != === !== && ||<=< <=>i++; #### ***Fira CodeThere's so much here. Look at how "www" turned into an interesting glyph. Things like != and ==> turn into arrows. HTML Comments are awesome. Double ampersands join together.I was especially impressed by the redefined hex "x". See how it's higher up and smaller than var x?Monoid Monoid prides itself on being crisp and readable on retina displays as well as at 9pt on low-res displays. I frankly can't understand how tiny font people can function. It gives me a headache to even consider programming at anything less than 14 to 16pt and I am usually around 20pt. And my vision is fine. ;)Monoid's goal is to be sleek and precise and the designer has gone out of their way to make sure there's no confusion between any two characters.HaskligHasklig takes the Source Code Pro font and adds ligatures. As you can tell by the name, it's great in Haskell, as for a while a number of Haskell people were taking to using single character (tiny) Unicode glyphs like ⇒ for things like =>. Clearly this was a problem best solved by ligat[...]

Shh... Secrets are Coming to Windows in Docker 17.06

Wed, 19 Jul 2017 23:34:43 GMT

Elton Stoneman walks through migrating .NET Framework apps to use secrets for sensitive data.

Media Files:

ASP.NET Core - App Building Workshop

Tue, 18 Jul 2017 23:33:05 GMT

Jon Galloway shares his ASP.NET Core App Building Workshop, building a full-featured ASP.NET Core application from scratch in 7 sessions.

Media Files:

13 hours debugging a segmentation fault in .NET Core on Raspberry Pi and the solution was...

Tue, 18 Jul 2017 06:54:41 GMT

Debugging is a satisfying and special kind of hell. You really have to live it to understand it. When you're deep into it you never know when it'll be done. When you do finally escape it's almost always a DOH! moment. I spent an entire day debugging an issue and the solution ended up being a checkbox. NOTE: If you get a third of the way through this blog post and already figured it out, well, poop on you. Where were you after lunch WHEN I NEEDED YOU? I wanted to use a Raspberry Pi in a tech talk I'm doing tomorrow at a conference. I was going to show .NET Core 2.0 and ASP.NET running on a Raspberry Pi so I figured I'd start with Hello World. How hard could it be? You'll write and build a .NET app on Windows or Mac, then publish it to the Raspberry Pi. I'm using a preview build of the .NET Core 2.0 command line and SDK (CLI) I got from here. C:\raspberrypi> dotnet new consoleC:\raspberrypi> dotnet runHello World!C:\raspberrypi> dotnet publish -r linux-armMicrosoft Build Engine version for .NET Core raspberrypi1 -> C:\raspberrypi\bin\Debug\netcoreapp2.0\linux-arm\raspberrypi.dll raspberrypi1 -> C:\raspberrypi\bin\Debug\netcoreapp2.0\linux-arm\publish\Notice the simplified publish. You'll get a folder for linux-arm in this example, but could also publish osx-x64, etc. You'll want to take the files from the publish folder (not the folder above it) and move them to the Raspberry Pi. This is a self-contained application that targets ARM on Linux so after the prerequisites that's all you need.I grabbed a mini-SD card, headed over to and downloaded the latest Raspbian image. I used - a lovely image burner for Windows, Mac, or Linux - and wrote the image to the SD Card. I booted up and got ready to install some prereqs. I'm only 15 min in at this point. Setting up a Raspberry Pi 2 or Raspberry Pi 3 is VERY smooth these days.Here's the prereqs for .NET Core 2 on Ubuntu or Debian/Raspbian. Install them from the terminal, natch.sudo apt-get install libc6 libcurl3 libgcc1 libgssapi-krb5-2 libicu-dev liblttng-ust0 libssl-dev libstdc++6 libunwind8 libuuid1 zlib1gI also added an FTP server and ran vncserver, so I'd have a few ways to talk to the Raspberry Pi. Yes, I could also SSH in but I have a spare monitor, and with that monitor plus VNC I didn't see a need.sudo apt-get pure-ftpdvncserverThen I fire up Filezilla - my preferred FTP client - and FTP the publish output folder from my dotnet publish above. I put the files in a folder off my ~\Desktop.Then from a terminal Ipi@raspberrypi:~/Desktop/helloworld $ chmod +x raspberrypi(or whatever the name of your published "exe" is. It'll be the name of your source folder/project with no extension. As this is a self-contained published app, again, all the .NET Core runtime stuff is in the same folder with the app.pi@raspberrypi:~/Desktop/helloworld $ ./raspberrypi Segmentation faultThe crash was instant...not a pause and a crash, but it showed up as soon as I pressed enter. Shoot. I ran "strace ./raspberrypi" and got this output. I figured maybe I missed one of the prerequisite libraries, and I just needed to see which one and apt-get it. I can see the error, but that's a historical Debian-ism and more of a warning than a fatal. I used to be able to read straces 20 years ago but much like my Spanish, my skills are only good at Chipotle. I can see it just getting started loading libraries, seeking around in them, checking file status,  mapping files to memory, setting memory protection, then it all falls apart. Perhaps we tried to do something inappropriate with some memory that just got protected? We are dereferencing a null pointer.Maybe you can read this and you already know what is going to happen! I did not.I run it under gdb:pi@raspberrypi:~/Desktop/WTFISTHISCRAP $ gdb ./raspberrypi GNU gdb (Raspbian 7.7.1+dfsg-5+rpi1) 7.7.1Copyright (C) 2014 Free Software Foundation, Inc.This GDB was configu[...]

.NET Application Architecture Guidance

Mon, 17 Jul 2017 23:30:37 GMT

Use the Microsoft Application Architecture Guidance docs to gain practical advice, best practices, and sample applications for using .NET with microservices, Docker containers, Kubernetes, Xamarin,...

Media Files:

Use this helper CLI for switching .NET Core SDK versions

Fri, 14 Jul 2017 23:28:44 GMT

Fanie Reynders writes a helper CLI which exposes some handy commands for quickly switching SDK versions from within the command line.

Media Files:

Development time IIS support for ASP.NET Core Applications

Fri, 14 Jul 2017 01:56:39 +0000

With a recent update to Visual Studio 2017, we have added support for debugging ASP.NET Core applications against IIS. This blog post will walk you through enabling this feature and setting up your project to use this feature. Getting Started To get started: You need to install Visual Studio 2017 (version 15.3) Preview (it will... Read more

Azure Network Watcher

Fri, 14 Jul 2017 01:00:00 GMT

Matt Reat gives Scott Hanselman an overview of the new Network Watcher service and some of its features. Azure Network Watcher is Network Monitoring and Diagnostic service that recently became generally available in Azure Public Clouds. With Network Watcher you can understand your network's topology, diagnose networking issues, run packet captures, and much more.

For more information, see:

(image) Matt Reat gives Scott Hanselman an overview of the new Network Watcher service and some of its features. Azure Network Watcher is Network Monitoring and Diagnostic service that recently became generally available in Azure Public Clouds. With Network Watcher you can understand your network's topology, diagnose networking issues, run packet captures, and much more. For more information, see: Azure Network WatcherAzure Network Watcher DocumentationFollow @SHanselman Follow @AzureFriday

Media Files:

ASP.NET Core Futures Roadmap

Thu, 13 Jul 2017 23:12:58 GMT

David Fowler and Jon Galloway talk through the current thinking for the future of ASP.NET Core, beyond 2.0, in this talk from NDC Oslo. Topics include the potential features of Kestrel, SignalR, an...

Media Files:

NDC Oslo 2017

Wed, 12 Jul 2017 23:09:07 GMT

Over 170 sessions from NDC Oslo covering covering .NET, Agile, Cloud, Database, Design, Mobile, Security, Testing and more are available on their YouTube channel.

Media Files:

Routing in Razor Pages

Tue, 11 Jul 2017 22:58:07 GMT

Mike Brind takes a look at the routing system included in the Razor Pages framework and how it can be configured.

Media Files:

From 0 to 100 with this ASP.NET Core/AngularX Project Template

Mon, 10 Jul 2017 22:54:59 GMT

Greg Duncan introduces a startup Angular 4 / ASP.NET Core (cross-platform) project template with an end-to-end login, user and role management implementation, and other common functionalities for q...

Media Files:

Ubuntu now in the Windows Store: Updates to Linux on Windows 10 and Important Tips

Mon, 10 Jul 2017 21:43:39 GMT

I noticed this blog post about Ubuntu over at the Microsoft Command Line blog. Ubuntu is now available from the Windows Store for builds of Windows over 16215. You can run "Winver" to see your build number of Windows. If you run Windows 10 you can certainly sign up for the Windows Insiders builds, or you can wait a few months until these features make their way to the mainstream. I've been running Windows 10 Insiders "Fast ring" for a while with a few issues but nothing blocking. The addition of Ubuntu to the Windows Store may initially seem confusing or even a little bizarre. However, given a minute to understand the larger architecture it make a lot of sense. However, for those of us who have been beta-testing these features, the move to the Windows Store will require some manual steps in order for you to reap the benefits. Here's how I see it. For the early betas of the Windows Subsystem for Linux you type bash from anywhere and it runs Ubuntu on Windows. Ubuntu on Windows hides its filesystem in C:\Users\scott\AppData\Local\somethingetcetc and you shouldn't go there or touch it. By moving the tar files and Linux distro installation into the store, that allows us users to use the Store's CDN (Content Distrubution Network) to get Distros quickly and easily.  Just turn on the feature and REBOOTEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linuxthen hit the store to get the binaries!Ok, now this is where and why it gets interesting. Soon (later this month I'm told) we will be able to have n number of native Linux distros on our Windows 10 machines at one time. You can install as many as you like from the store. No VMs, just fast Linux...on Windows!There is a utility for the Windows Subsystem for Linux called "wslconfig" that Windows 10 has.C:\>wslconfigPerforms administrative operations on Windows Subsystem for LinuxUsage: /l, /list [/all] - Lists registered distributions. /all - Optionally list all distributions, including distributions that are currently being installed or uninstalled. /s, /setdefault - Sets the specified distribution as the default. /u, /unregister - Unregisters a distribution.C:\WINDOWS\system32>wslconfig /lWindows Subsystem for Linux Distributions:Ubuntu (Default)FedoraOpenSUSEAt this point when I type "bash" at the regular Windows command prompt or PowerShell I will be launching my default Linux. I can also just type "Ubuntu" or "Fedora," etc to get a specific one. If I wanted to test my Linux code (.NET, node, go, ruby, whatever) I could script it from Windows and run my tests on n number of distros. Slick for developers.TODOs if you have WSL and Bash from earlier betasIf you already have "bash" on your Windows 10 machine and want to move to the "many distros" you'll just install the Ubuntu distro from the store and then move your distro customizations out of the "legacy/beta bash" over to the "new train but beta although getting closer to release WSL." I copied my ~/ folder over to /mnt/c/Users/Scott/Desktop/WSLBackup, then opened Ubuntu and copied my .rc files and whatnot back in. Then I removed my original bash with lxrun /uninstall. Once I've done that, my distro are managed by the store and I can have as many as I like. Other than customizations, it's really easy (like, it's not a big deal and it's fast) to add or remove Linuxes on Windows 10 so fear not. Backup your stuff and this will be a 10 min operation, plus whatever apt-get installs you need to redo. Everything else is the same and you'll still want to continue storing and sharing files via /mnt/c. NOTE: I did a YouTube video called Editing code and files on W[...]

URLs are UI

Fri, 07 Jul 2017 22:49:07 GMT

What a great title. "URLs are UI." Pithy, clear, crisp. Very true. I've been saying it for years. Someone on Twitter said "this is the professional quote of 2017" because they agreed with it. Except Jakob Nielsen said it in 1999. And Tim Berners-Lee said "Cool URIs don't change" in 1998. So many folks spend time on their CSS and their UX/UI but still come up with URLs that are at best, comically long, and at worst, user hostile. Search Results that aren't GETs - Make it easy to share Even non-technical parent or partner things URLs are UI? How do I know? How many times has a relative emailed you something like this: "Check out this house we found!" That's not meant to tease non-technical relative! It's not their fault! The URL is the UI for them. It's totally reasonable for them to copy-paste from the box that represents where they are and give it to you so you can go there too! Make it a priority that your website supports shareable URLs. URLs that are easy to shorten - Can you easily shorten a URL? I love Stack Overflow's URLs. Here's an example:  The only thing that matters there is the 6380. Try it or also works. SO will even support this! Genius. Why? Because they decided it matters. Here's another again, the text after the ID doesn't matter. This is a great model for URLs where you want a to use a unique ID but the text/title in the URL may change. I use this for my podcasts so is the same as Unnecessarily long or unintuitive URLs - Human Readable and Human Guessable Sometimes if you want context to be carried in the URL you have to, well, carry it along. There was a little debate  on Twitter recently about URLs like this What's wrong with it? The _ is not intuitive at all. Why not Because obscure technical reason. In fact, all the top level menu items for doing stuff in VSTS start with _. Not /menu/ or /action or whatever. My code is and I clone from here That's weird. Where did Default Collection come from? Why can't I just add a ".git" extension to my project's URL and clone that? Well, maybe they want the paths to be nice in the URL. Nope. is a file. Compare that to at GitHub. Again, I am sure there is a good, and perhaps very valid technical reason. But another valid reason is very frank. URLs weren't a UX priority. Same with OneDrive vs. DropBox As a programmer, I am sympathetic. As a user, I have zero sympathy. Now I have to remember that there is a _ and it's a thing. I proposed this. URLs are rarely a tech problem They are an organizational willpower problem. You care a lot about the evocative 2meg jpg hero image on your website. You change fonts, move CSS around ad infinitum, and agonize over single pixels. You should als[...]