The original version of the Kinect camera had an Xbox version and a PC version, and this sucked for a few reasons. Fast forward to the days of Xbox One, and the Kinect v2 for Xbox One has changed a lot. It has a 1080p color camera, IR capabilities that are separate from color, a wider FOV (field of view), and can track 6 skeletons. AND, most importantly, you can use your existing Xbox One Kinect with your PC with an adapter. No need for a second Kinect. The Kinect Adapter for Windows is $50 and took me 5 min to set up. It's basically a power brick and a USB 3 bridge to your PC.
You do need a decent machine to handle the Kinect for Xbox One, so there's a Kinect Configuration Verifier Tool that can quickly tell you if you're up to spec. If you are developing applications, download and install the free SDK 2.0. It's worth getting this even if you aren't, if only to see the cool stuff your Kinect can see about you.
Setting up your Kinect v2 to support Windows Hello on your Windows 10 PC
Here's how you setup Windows Hello. It's pretty awesome because my home computer unlocks and logs in when I sit down and look at it.
Update the Registry to get Drivers that aren't available yet. Make a text file "kinectdrivers.reg" and put this text in it. Double-click it to import into your Registry.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DriverFlighting\Partner] "TargetRing"="Drivers"
If you've already set up your Kinect, refresh it's drivers in the Device Manager.
Open Device Manager (Windows Key + X, then press M)
Expand “Kinect sensor devices”.
Right-click on "WDF KinectSensor Interface 0"
Click "Update Driver Software..."
Click "Search automatically for updated driver software"
Allow it to download and install the new driver
Reboot
Set up Windows Hello. Press the Start button and type "hello" or "face sign-in" and you'll get here. You'll want to setup a PIN first.
Run through the wizard, except look nicer than this.
You're all set! Now when you sit at your computer and see the Lock Screen, it will look for you.
Privacy Note: The camera isn't on and looking all the time. It's just looking when the screen is locked AND the screen saver (power saver) isn't going. Additionally, the Kinect light will turn on showing you that it's on. It's not streaming your face to any remote servers, it's using what it knows about your face as a key to unlock secure storages locally.
Then you just hit the space bar or click the mouse and you're in!
Windows Hello is also built into the Surface Pro 4 and the SurfaceBook, but you can add this functionality to your PC with a Kinect...OR....
The Tobii $139 device can let you (or a disabled relative) control your computer with just your eyes. There's a wonderful open source tool called OptiKey that helps folks with Motor Neuron disease or ALS control their Windows machines, and I had the developer on my podcast recently. Definitely check it out as a compelling and accurate alternative way to control your PC!
Sponsor: Big thanks to Infragistics for sponsoring the feed this week! Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls. Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
Windows Live Writer 2012 was the last version Microsoft released and can still be downloaded from http://www.windowslivewriter.com. If you're not comfortable using Open Source Software, I recommend you stick with classic WLW.
If you're willing to put up with some bugs, then join us in this brave new world, you can download Open Live Writer from http://www.openlivewriter.org. We're calling today's release version 0.5.
Here's some of the added features, the removed features, the stuff that doesn't work, and our plans for the future:
REMOVED: Spell Checking. The implementation was super old and used a 3rd party spell checker we didn't have a license to include an open source release. Going forward we will add Spell Check using the built-in spell checker that was added in Windows 8. Open Live Writer on Windows 7 probably won't have spell check.
REMOVED: The Blog This API. It was a plugin to Internet Explorer and Firefox and was a mess of old COM stuff.
REMOVED: The "Albums" feature. It uploaded photos to OneDrive but depended on a library that was packaged with Windows Live Mail and Live Messenger and we couldn't easily get permission to distribute it in an open source project.
ADDING VERY SOON: Google runs the excellent Blogger blog service. We've worked with the Blogger Team within Google on this project, and they've been kind enough to keep an older authentication endpoint running for many months while we work on Open Live Writer. Soon, Google and Blogger will finally shut down this older authentication system. Blogger will use the more modern OAuth 2 and Open Live Writer will be updated to support OAuth 2. Windows Live Writer will never support this new OAuth 2 authentication system, so if you use Blogger, you'll need to use Open Live Writer.
BROKEN/KNOWN ISSUES: We are actively working on supporting Plugins. We have an plan in place and we are looking for your feedback on the most popular plugins that you want brought over from the Windows Live Writer ecosystem.
NOTE: Open Live Writer is NOT a Microsoft product. It is an open source project under the .NET Foundation and is managed and coded by volunteers. Some of the volunteers work for Microsoft and are doing this work in their spare time.
Are you an existing user of Windows Live Writer?
We encourage you to install Open Live Writer and try it out! OLW will run side-by-side with your existing Windows Live Writer installation. Open Live Writer installs VERY quickly and updates itself automatically. Try it out! It's early but it's a start. Please bear with us as we work to improve Open Live Writer.
if you do find bugs, please share your bugs at https://github.com/OpenLiveWriter/OpenLiveWriter/issues and be specific about what's not working. And please, be patient. We are doing this as volunteers - we are NOT representing Microsoft. Open Live Writer is no longer a Microsoft project, so while we will do our best to support you, let's all try to support one another!
Are you a developer/designer/writer?
We've got dozens of volunteers and a few dedicated core committers. Your Pull Requests and code ARE appreciated, but please talk to the team and comment on issues before submitting any major Pull Requests (PRs). Community is appreciated and we don't want to reject your hard work, so it's best you talk to the team in a GitHub Issue and get approved for large work items before you spend a lot of time on OLW. We welcome http://firsttimersonly.com to open source as well! Help us with our docs, as well!
IMPORTANT HISTORICAL NOTE: Much of the code in Open Live Writer is nearly 10 years old. The coding conventions, styles, and idioms are circa .NET 1.0 and .NET 1.1. You may find the code unusual or unfamiliar, so keep that in mind when commenting and discussing the code. Before we start adding a bunch of async and await and new .NET 4.6isms, we want to focus on stability and regular updates.
Building Open Live Writer and making your own personal copy!
To be clear, you don't need to be a programmer to run OLW. Just head over to http://www.openlivewriter.org and download now. However, if you do want to hack on OLW here's how!
Clone the sources: git clone https://github.com/OpenLiveWriter/OpenLiveWriter.git
Alternatively, you can build at the command prompt:
Run .\build to compile. The binaries are dropped in .\src\managed\bin\Debug\i386\Writer\
Run .\run to launch Writer.
Going Forward
I know it felt like it took a long time to open source Open Live Writer. In fact, my buddy John Gallant found the first email where we started asking questions in April of 2013. There was a lot involved both legally and technically as we were breaking new ground for Microsoft. Consider this. We've successfully open sourced a previously completely proprietary piece of Windows software that shipped as part of Windows Live Essentials. This software was used by millions and contained code as old as a decade or more. Persistence pays off.
This is just the beginning! Big thanks to the team that made this possible. Specifically I want to call out Will Duff, Rob Dolin, and Robert Standefer who have been there from the beginning offering coding, logistical, and legal support. Thanks to Ben Pham for our logo, and Martin Woodward from the .NET Foundation for his support, Azure Storage account, and code signing certificate! I can't thank everyone here, there's a longer list of contributors on our home page!
We are looking forward to hearing from you and perhaps you'll join us in our open source journey.
Sponsor: Big thanks to Infragistics for sponsoring the feed this week. Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls. Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
My 8 year old (recently 7, they grow so fast) asked recently, "are we nerds yet?" Being a nerd doesn't have the negative stigma it once did. A nerd is a fan, and everyone should be enthusiastic about something. You might be a gardening nerd or a woodworking nerd. In this house, we are Maker Nerds. We've been doing some 3D Printing lately, and are trying to expand into all kinds of makings.
NOTE: We're gearing up for another year of March Is For Makers coming soon in March of 2016. Now is a great time for you to catch up on March 2015's content!
Here's a Christmas List of things that I've either personally purchased, tried for a time, or borrowed from a friend. These are great toys and products for kids of all genders and people of all ages.
It's been extremely reliable. Some folks complain that the Dremel system and software is proprietary, but it's very easy to use. Additionally, if you really don't like their custom software, companies like Simplify3D have Dremel support built right in. You can also use third party filament like Proto-pasta with great success. We even extended the Dremel with a custom 3D printed spool adapter for Proto-pasta and upgraded nozzle and build plate. It's been fantastically reliable and I recommend the Dremel highly.
littleBits Electronics Gizmos and Gadgets
LittleBits are a more expensive than Snap Circuits, but they operate at a higher level of abstraction. While Snap Circuits will teach you about resistors and current and voltage, litlteBits is more oriented towards System Thinking. The littleBits Electronics Gizmos & Gadgets kit is massive and has kept my kids entertained for the last few weeks. It includes motors, wheels, lights, switches, servos, buzzers even a remote control. In fact, the remote control lets you remote any signal and make any gadget you come up with a wireless one.
LittleBits also has a LEGO compatibility system which, while a little persnickety, has allowed the kids to create remote controlled LEGO cars in minutes. They are very expandable and everything is modular. You can build more with additional kits, or you can get just one sensor or that one motor that you need.
The HP Stream 11.6 Laptop
First, let's be serious. The HP Stream is a $199 laptop with an 11.6" screen. Surprisingly, you can get a 13.3" screen for just $210. But on the real, it's not for office workers. It's not even for you. It's for the kids in your life. It's a good, solid, beginner laptop for kids. 2 gigs of ram, and a very modest 1.6 Ghz processor with just a 1366x768 screen, it runs Windows 10 pretty well, in fact and even includes Office 365 Personal for a year (that's Word, Excel, etc).
I've even heard a parent call the HP Stream the "Minecraft Laptop." My sons took a week-long summer school Minecraft class with a room filled with these little laptops and they did just fine. It has just a 32gig SSD for a hard drive, but for <$20 you can add and drop in a 64gig SD Card and tell Windows 10 to put downloaded apps onto the SD Card directly.
This is a great machine for <$200 that you can feel comfortable giving to an 8 year old or tween and teach them how to code.
Raspberry Pi (any kind!)
Every STEM house should have a Raspberry Pi or six! We've got 4? Or 5? They end up living inside robots, or taped to the garage door, or running SCUMMVM Game Emulators, or powering DIY GameBoys.
I recommend a complete Raspberry Pi Kit when you're just getting started as it guarantees you'll be up and running in minutes. They include the SD Card (acts as a hard drive), a power supply, a case, etc. All you need to provide is a USB Keyboard and Mouse. I ended up getting a cheap Mini USB wired keyboard and cheap USB wired mouse for simplicity.
If you want to save money, get just a Raspberry Pi alone for <$40 and use a micro-USB Cell Phone Power Supply, and whatever electronics you have around the house. Once I took a local kid to Goodwill (a thrift store) and we found the power supply, mouse, keyboard, AND LCD Monitor all in the electronics junk pile of the store for $25 total.
OWI Robotic Arm Edge
The OWI Robotic Arm Edge isn't a kit but it's a reasonably priced robotic arm to get kids thinking in terms of command and control and multiple dimensions. OWI also has a cool 3in1 robot RC kit if you prefer driving robots around and more "rebuildability."
What educational toys do YOU recommend this holiday season?
FYI: These Amazon links are referral links. When you use them I get a tiny percentage. It adds up to taco money for me and the kids! I appreciate you - and you appreciate me- when you use these links to buy stuff.
Sponsor: Big thanks to Infragistics for sponsoring the feed this week. Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls. Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
First, a disclaimer. I have no idea what I'm talking about. I'm learning and exploring some ideas, and I wanted to see what the development process looks like today (December 2015) with Docker, ASP.NET, and Visual Studio on my Windows 10 machine. I'm also interested in your ideas in the comments, and I'll share them directly with the folks who are working on making Docker integration with Visual Studio.
This post uses the bits and stuff and hacks that are working today. Some of this is alpha, some is hacky, but it's all very interesting. What do you think?
Setting up Docker on Windows
I got a new laptop and needed to set it up. This seemed like a good to time re-discover Docker on Windows.
Note, you'll need hardware virtualization enabled in your systems BIOs, and if you are already running HyperV, either turn it off (I just to go Windows Features and uncheck it. It can be quickly turned back on later) or create a boot menu to switch between Hyper-V and VirtualBox.
The Docker website could get to the point faster, but they are making sure you're prepped for success.
Download Docker Toolbox which has a great chained installer that includes:
Docker Machine - Docker Machine creates Docker hosts anywhere and configures Docker to talk to those machines.
Docker Compose - This is a tool for defining multi-container Docker applications.
Docker Kitematic - Kitematic is really accessible. It's the Docker GUI and runs on Mac and Windows.
I like to think of Docker Kitematic as "GitHub for Windows for Docker." Just as GitHub for Windows is an attractive and functional GUI for 80% of the things you'd want to do with Git, then Kitematic is the same for Docker. I personally think that while Kitematic is in alpha, it will be the thing that gets new people using Docker. It definitely made onboarding more comfortable for me.
VirtualBox - Oracles free and excellent Virtual Machine software. I use this instead of Hyper-V on the client. Hyper-V is great on the server or in the cloud, but it's not optimized for client software development or running Ubuntu VMs and remoting into them. Also, VirtualBox is extremely easy to automate, and Docker and Kitematic will be automating creating the VMs for you.
When you run Kitematic the first time it will automate VirtualBox and use a "boot2docker.iso" to boot up a new that will host your Docker containers.
If you want to test things, click New in Kitematic and search for "Ghost." Kitematic will download the Dockerfile, create a VM and Container, provision everything, and run Ghost inside Docker within your (hidden from view) VM. Click Settings and you can see what port it's running on, or just click the Arrow next to Web Preview and Kitematic will launch a web browser talking to the node.js-based Ghost Blog running in Docker.
NOTE: You can get and install ASP.NET here http://get.asp.net. Visit it from any OS and it will give you the details you need to install and get started.
An example Dockerfile for your basic ASP.NET 5 application would look like this:
FROM microsoft/aspnet:1.0.0-rc1-final
ADD . /app
WORKDIR /app/approot
ENTRYPOINT ["./web"]
It says, "start from this base docker file, add the files in . to ./app, and we'll be running from /app/approot. Then run ./web."
Deploy to Docker from within Visual Studio
The Visual Studio 2015 Tools for Docker are just a Preview, but they are pretty useful even in their Alpha state. Install them in Visual Studio 2015 - it just takes a second.
Make a new ASP.NET application with File | New Project. I made one without authentication.
Go into the Project.json and change this line to include the --server.urls bit. The important part is the *, otherwise the Kestrel web server will only listen for localhost and we want it to listen everywhere:
Right Click Solution Explorer and click Publish and you should see this:
From here, select Docker, and you will have a change to make a VM in Azure or publish to an existing VM.
Instead, click "Custom Docker Host" because we are going to public to our local VM.
Here's what my settings look like. Yours will be different.
In order to get the settings YOU need, go to Kitematic and click Docker CLI to get a cool PowerShell preconfigured command prompt all setup with knowledge of your system.
Type "docker-machine config default" and you'll get a command line showing where your certs are and the IP and port of your Docker setup.
Note the result is missing a carriage return there after the port 2376.
Fill out the form with the Server Url, and image name, and some ports. I mapped port 5000 inside the container because I'll have the ASP.NET Kestrel web server listening on Port 5000.
Here's what my "Auth Options" text box looks like. Your paths will be different.
Click Validate Connection and you'll hopefully get a green checkbox.
WEIRD BUG: As of this writing the November 2015 version of the preview Docker Tools for Visual Studio 2015 has a bug when publishing to a custom host. The generated .ps1 in the PublishProfile is wrong. I think they'll fix it ASAP but the fix is to fake publish a Hello World ASP.NET project to a Docker container in any Azure VM and grab the .ps1 it generates. You don't need to hit publish, the file gets generated when you hit Next. Copy that file off somewhere and copy it OVER the wrong one in your actual project. You only have to do this once. I'm sure it will get fixed soon. You can confirm you have the right .ps1 because it'll say "Docker" at the top of the file.
When you hit publish, the project will build locally, and deploy into a new Docker container. You can watch Kitematic update as the deploy happens. The selected Container there is ASP.NET, and I know it worked because Kitematic puts a nice Web Preview there as well!
Brainstorming Improvements
So this is what I was able to do with existing bits. What I'd like to see is:
Press Ctrl-F5 in Visual Studio and have it build the project, deploy to Docker, and launch the browser all in one go. Do you agree?
I was thinking to make a "docker" command in the ASP.NET 5 "launchSettings.json" which would appear like this in Visual Studio.
Today you have to delete the container manually in Kitematic and publish again. How would you want things to work?
If Docker is promoting Kitematic as the best way to get started with Docker, should Visual Studio plugins know that Kitematic and Docker Machine are there and auto-configure things?
Additionally, when Windows Containers happens, Visual Studio should clearly be able to publish an ASP.NET 5 application to the container, but even better, if this Docker flow works cleanly, I should be able to publish via Docker to Linux OR Windows from the same dialog in VS. Then after a local deployment to Docker I could Right-Click Publish and publish to Docker in an Azure VM and or Azure Container Service.
IMHO given an ASP.NET 5 app, you should be able to:
Publish to a folder
Publish to a Docker container (Linux or Windows)
Ctrl-F5 build AND F5 debug that container.
Publish to Docker in any cloud
Publish to an Azure VM, Web Site (App Service), or Docker within Azure Container Service
Editor support and syntax highlighting for Dockerfiles and Docker Compose files.
Docker Tools for VS should make a basic Dockerfile if one doesn't exist
Run xUnit and tests in the Docker Container
What do you think, Dear Reader? How much Visual should Visual Studio have? I personally like these lightweight dialogs that launch command line tools. How do you expect Docker to integrate with Visual Studio?
Sponsor: Big thanks to Infragistics for sponsoring the feed this week. Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls. Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
I'm using VirtualBox on a Windows 10 machine along with Docker to deploy ASP.NET websites to local Linux Containers. To be clear, this isn't accessing websites with http://localhost, this is accessing locally an VirtualBox virtual network.
For example, my local IP and subnet is here, but my VirtualBox is here:
Make sense? A Linux VM running Docker containers is then http://192.168.99.100, for example, on various ports.
Strangely, however, I was unable to access these VirtualBox-hosted websites with Microsoft Edge, while they worked on Chrome and Firefox. I wanted to fix this. Just saying "use another browser" isn't enough, I like to figure it out.
I ended up trying this, and oddly, I was right. Go to Start, type "Internet Options" then then the Security Tab, then click Local Intranet, then Sites. Add your Virtual Machine's IP (in this case, the Docker Host) in that list and you're golden.
Now about the WHY....I have no idea. I'll report back as I keep poking around.
Sponsor: Big thanks to Infragistics for sponsoring the feed this week. Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls. Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.