Wednesday, July 22, 2015

Visual Studio 2015 "The request was aborted. Could not create SSL/TLS secure channel" when Signing In or NuGet? Check your IE Settings...

As you all know VS 2015 was released on Monday, 7/20. [Missed the event? No you didn't! Catch it all here On Demand on Channel 9, Visual Studio 2015 Final Release Event]

Being me, I of course downloaded the RTM bits as soon as they were released and installed it on my main work machine.

Install was smooth, no errors, just installed.

I fire it up, try to sign in and...

image 

... sigh. Okay, maybe it's just a hiccup?

Let's fire up a project and, hey check NuGet for updates...

image

...Doh!

Fall back to VS 2013, NuGet and all still works like a charm. Access the https://api.nuget.org in IE, works like a charm.

Fiddler was installed with it's awesome HTTPS support, maybe that's it? Turn off Fiddler HTTPS, remove cert, uninstall, reboot. VS 2015 Sign-in/NuGet for work now? Nope.

Repair VS 2015. Reboot. Work? Nope.

Devenv.exe /resetsettings help? Nope.

Look at the /Log, ActivityLog.xml and see anything that stands out (except the big red errors when I try to use the NuGet Package Manager. Nope.

Add Nuget.org to IE's trusted sites? Nope.

Anyone else here on the same network have VS 2015 yet (so I can see if it's just me)? Nope.

I was about to throw in the towel and ping the ALM MVP's when I tried one more thing. Was I using a proxy? OH, I am! My "Use automatic configuration script" was checked. Hum... Let's uncheck that and see if THAT helps.

YES! That was it.

image

The proxy, setup up by my company, seemed to make VS 2015 an unhappy camper. Unchecked, everything in VS 2015 worked like a charm!

I was able to easily repro this, checking, broke VS 2015, unchecking, VS 2015 was happy (of course restarted VS 2015 between all these checks/unchecks).

Morale of the Story: If you install VS 2015 and get some weird behavior when access web resources, like "The request was aborted. Could not create SSL/TLS secure channel," check your IE Settings.

Wednesday, May 06, 2015

[Today only] It's DRM Freedom Day! Packt Celebrates Day Against DRM - 24 hours, $10 sale on no DRM eBooks!

2015 Banner

Packt celebrates International Day Against DRM, May 6th 2015

Packt Publishing firmly believes that you should be able to read and interact with your content when you want, where you want, and how you want – to that end they have been advocates of DRM-free content since their very first eBook was published back in 2004.

This year, to demonstrate their continuing support for Day Against DRM, Packt is offering all its DRM-free content at $10 for 24 hours only on May 6th – with more than 3000 eBooks and 100 Videos available across the publisher’s website www.packtpub.com, there’s plenty to discover, whatever you’re interested in.

“Our top priority at Packt has always been to meet the evolving needs of developers in the most practical way possible, while at the same time protecting the hard work of our authors. DRM-free content continues to be instrumental in making that happen, providing the flexibility and freedom that is essential for an efficient and enhanced learning experience. That’s why we’ve been DRM-free from the beginning – we’ll never put limits on the innovation of our users.”

– Dave Maclean, CEO

Advocates of Day Against DRM are invited to spread the word and celebrate on May 6th by exploring the full range of DRM-free content at www.packtpub.com - all eBooks and Videos will be $10 for 24 hours, including the latest hot titles.

The team at Packt is doing it again this year, 24 hour, $10 DRM Free eBook and video sale. Check it out here, http://bit.ly/1KgMzkl

image

This is today only, so load up your cart and library now!

 

Disclosure of Material Connection: I received one or more of the products or services mentioned above for free in the hope that I would mention it on my blog. Regardless, I only recommend products or services I use personally and believe my readers will enjoy. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.

Tuesday, April 28, 2015

My Build 2015 Schedule (One time slot, lots'O sessions)

image

Here's my first pass for my session selection for this week's Build (which I'm obviously going to).

Some take-aways:

  • You will NOT be able to go to every session you'd like too (which is common with past Builds). The Channel 9 2015 Build page is your friend. Since all the sessions will be available for free on-demand viewing, create a schedule on Ch9, queue your sessions and come back and see them later
  • The event is for networking, connecting with vendors and Microsoft at the booths. The sessions are great, but again you simply will not be able to go to them all. So don't sweat it! If you get stuck behind "stinky guy" or it's standing room only, don't stay. Go network! You'll be able to see the session later. The ONLY time I suggest you stay is if you want to connect directly with the speakers
  • WPF isn't mentioned once. LOB dev doesn't seem to get much love. I also didn't see any .NET 4.6 sessions. This is common with past Builds, but still, as a LOB WPF dev, it bugs me
  • Check out the "After Keynote" sessions. Looks like the Keynote is going to have some cool news, as you'd expect!

Whine's aside, I think this is going to be a great event and I am very excited to attend!

 

Here's my current Build Schedule (very subject to change ;)

    • 2:00PM to 3:00PM
      Sessions
      • Office Development Matters, and Here's Why...

        In this kick-off session you will learn about what's new for developers in Office with demos and code.

      • What's New in XAML for Universal Windows Apps

        The Universal Windows Platform provides developers with a real opportunity to create meaningful, familiar, and tailored apps that run across a wide set of device families. To help with that, XAML UI took a big step forward in Windows 10 with new controls and new features to simplify tailoring app…

      • Developing Universal Windows Apps in Visual Studio 2015

        Come and learn how to build a Universal Window app in Visual Studio 2015. In this session, we will explore creating adaptive apps, building UI for different device families, using platform and 3rd-party extension SDKs, and integrating Application Insights. Also learn a lot more about the developer…

    • 3:30PM to 4:30PM
      Sessions
      • A Lap Around .NET 2015

        .NET 2015 is the next generation of .NET. This release encompasses several new innovations that improve developer productivity and enhance application performance. .NET 2015 builds on the advancements available in .NET 4.5, 4.5.1 and 4.5.2 to deliver a highly compatible platform for building…

      • Game Developers: Get the Most Out of Windows 10

        In this session, we will tour the new APIs, learn techniques and design considerations for building multi-device Windows games, explore how to integrate Windows games with Xbox Live, and discuss updates on the most popular gaming middleware and engines now ready for Windows 10.

      • Microsoft Passport and Windows Hello: Moving Beyond Passwords and Credential Theft

        Credential theft has become one of the most widespread attacks affecting our customers and users. Security experts have been advocating for years the needs to raise the bar on user authentication and move away from passwords. Multiple solutions on the market attempt to address this problem, but so…

      • Overview of Cross-Platform Mobile Development with Office 365

        Office 365 has a plethora of data and services that enable people and organizations. This session will detail how to hook into these services and data with any platform using our cross-platform tools and SDKs.

      • A Studio in the Palm of Your Hand: Developing Audio and Video Creation Apps for Windows 10

        Existing Windows APIs for media manipulation are powerful and flexible, but they require deep domain knowledge and are not easily accessible to C#/JS developers. Windows 10 introduces a powerful creative media platform that makes your original audio/video scenarios simpler to implement. Windows 10…

      • Get Your Hands Dirty with the Office 365 APIs, Authentication and SDKs

        This session will deep-dive into the available scenarios when using the OneDrive for Business, Calendar, Mail, Contacts and Sites services in the Office 365 APIs.

    • 5:00PM to 6:00PM
      Sessions
  • Thursday, April 30, 2015

      • Gaining Real-Time IoT Insights using Azure Stream Analytics, AzureML and PowerBI

        Devices are becoming smarter and more connected, and the expectation of what can be done with the data generated and collected from these devices continues to evolve both in the commercial and consumer spaces. Whether you are doing health monitoring, building or home automation, social media…

      • Azure API Apps for Web, Mobile and Logic Apps

        Azure API Apps makes APIs easy, whether they are APIs you author or APIs you use. In this demo-filled talk, we’ll look at building APIs with ASP.NET and open source languages, proxying existing API such as Office 365 and Salesforce, and taking advantage of SaaS connectors for the most popular SaaS…

      • Deep Dive into XAML and .NET Universal Windows App Development

        Universal Windows Apps require you to learn a number of new concepts to harness the full power of the platform and deliver the best possible experiences to the widest set of customers including .NET native, adaptive layouts, a plethora of device targets, and more - all in a world of where the…

    • 6:30PM to 7:30PM
      Sessions
      • Building Big Data Applications Using Azure HDInsight Service

        Come to this session to learn how to use Azure HDInsight service to build solutions that can handle any shape data at massive scale. We will build an end to end application that uses both data in motion (Streaming) as well as data at rest (Batch). In this session we will use Big Data technologies…

      • Screen Casting: Develop Multi-Screen Universal Windows Apps Using Casting Technologies

        In this session, we will explore how you can use Universal Windows Platform APIs to enable productivity and media scenarios across different screens and devices. We’ll discuss best practices for leveraging a wide variety of approaches like casting a media element, remote app launching, and creating…

      • Windows for Makers: Raspberry Pi 2, Arduino and More

        In Windows 10 we have enabled the creation of the next generation of intelligent devices. In this session you’ll learn about how to leverage the value of Windows when building these next generation devices based on hardware like the Raspberry Pi 2, as well as how to extend your Windows devices with…

      • Cortana and Speech Platform In Depth

        Build natural language speech experiences that start with Cortana. Learn about new options for authoring natural language Voice Command Definitions (VCDs).

      • Debugging Performance Issues Using Visual Studio 2015

        Come to this demo-driven session to learn how to use Visual Studio 2015 to continuously improve the performance of your applications during normal development. You’ll learn how to use the new capability of running diagnostic tools with the debugger and how to use the tools without the debugger to…

  • Friday, May 1, 2015

    • 9:00AM to 10:00AM
      Sessions
      • Deep Dive into ASP.NET 5

        This talk will take you deep into the internals of the all-new ASP.NET 5 framework. This new, fully open source web framework sits on top of the new composable cross-platform .NET Runtime - the Core CLR. Damian Edwards and Scott Hanselman will show you how ASP.NET 5 enables more choice than ever…

      • Camera: Developing Powerful Camera Apps

        Finally you can build a single camera app for Windows that will run on phones, tablets, and desktops. In Windows 10, the camera API sets have converged so you have support for the same feature set regardless of device. Features previously available only on phone (preview frame access) or desktop…

      • Application Insights for Any App: A Must-Have Tool for Understanding Your Customers

        Are you a product owner working in an agile world and building a modern service, web or mobile application? If so, then you know how critical it is to understand who your customers are and how they are using your product. You want to understand usage trends to better target the right personas and…

      • The "Project Spartan" Rendering Engine That Makes the Web Just Work

        We’ve made literally thousands of changes to jettison the legacy of the past and to dramatically improve support for the web of today and tomorrow. Our web platform roadmap at status.modern.ie also shows dozens of new features in preview and in development. Come and learn about the new capabilities…

      • What's New in C# 6 and Visual Basic 14

        C# 6 and Visual Basic 14 both add a number of bite-sized new features, all aimed at making your everyday code cleaner and clearer. Instead of introducing new concepts, each feature makes a common coding pattern simpler, and removes boilerplate to let the intent of the code stand out. In this talk…

      • API Contracts (or How I Learned to Stop Checking OS Versions and Love Feature Detection)

        Learn how to create an adaptive Universal Windows app that runs on multiple Windows 10 device families. While many APIs are present on all devices, sometimes you want your app to take advantage of device-specific APIs when the app is running on that device. Adaptive apps allow you to do that and…

      • New OneDrive APIs for Developing Against OneDrive AND OneDrive for Business

        Come learn how to use the OneDrive API and Microsoft Office 365 Files REST API to work with OneDrive and OneDrive for Business files and folders. Learn how to build solutions and apps using APIs to create folders and content, get folder properties, create or update a file, update file properties,…

    • 10:30AM to 11:30AM
      Sessions
      • Deploying Complex Open Source Workloads on Azure

        Microsoft is embracing open source like never before. In this session, you will see real-life scenarios using OSS on Azure, including LAMP, containers, big data and IoT scenarios. You will learn about how Microsoft makes different OSS technologies thrive on Azure, and how Microsoft is providing…

      • Case Studies of HoloLens App Development

        Microsoft HoloLens gives developers and designers creative opportunities unlike any seen before. Creating apps for this platform uses both existing skills as well as new skills. In this session, we’ll discuss the experience of three organizations with early access to developer kits. And we’ll get…

      • Vision APIs: Understanding Images in Your App

        Vision APIs enable you to build the most compelling app experience by providing ways to present the media in best form: • Use Thumbnail, Color Detection to help you present images in best form • Use Categorization to organize your content • Restrict\filter suggestive content appropriate for your…

      • Building a Single-Page App Using Angular and TypeScript Using Office 365 APIs

        Fresh from presenting at ng-conf in March, Andrew Connell, Dan Wahlin, and Jeremy Thake will show you how to build a single page application using the Angular and TypeScript frameworks. They will show how to leverage the ADAL.JS framework to call the Office 365 APIs using cross-origin resource…

      • Fast and Powerful Diagnostics, and Problem Solving with Application Insights

        Too many developers and product teams are still running blind. They are either not aware of problems with their apps, or do not have concrete information to fix those problems. Application Insights can help you turn the lights on with quick & proactive 360° information about your apps'…

      • .NET Compiler Platform ("Roslyn"): Analyzers and the Rise of Code-Aware Libraries

        We've rewritten (and open sourced!) the C# and Visual Basic compilers, and exposed their functionality through APIs as the .NET Compiler Platform. But what do these APIs mean for those who aren't compiler jocks?

    • 12:30PM to 1:30PM
      Sessions
      • Azure Virtual Machines Deep Dive

        Microsoft Azure is the best place for developing, testing and deploying your applications. The Virtual Machines service in Azure will allow you to deploy the widest range of applications from small micro services to large applications running across 32 of the latest Intel processors with almost half…

      • New XAML Tools in Visual Studio 2015

        Visual Studio 2015 is an exciting new release for developers building any kind of XAML app – be that a Windows universal app or a Windows Presentation Foundation (WPF) app. In this session, learn about some of its new capabilities including the re-designed Blend experience, UI debugging tools and…

      • Logic Apps

        In this session, learn how you can use Azure Logic Apps to automate business processes without using code. This course will demonstrate the new graphical designer, speak to the architecture of the underlying system, and how to best take advantage of different Logic App capabilities.

      • The Skype Developer Platform and Skype Web Developer Capabilities

        Learn more about the Skype Developer Platform and how Microsoft provides powerful developer and customization opportunities around Lync, Skype for Business and Skype. Learn how to build new web experiences that seamlessly integrate a wide variety of Skype for Business services and the larger Skype…

      • Building Consumer and Enterprise Device Solutions with Windows 10 IoT

        As component costs decrease and connectivity increases, the demand for intelligent IoT devices continues to accelerate rapidly. IoT fragmentation drives development, management and support costs up at the same time. Windows Internet of Things (IoT) offers solutions enabling you to build anything…

    • 2:00PM to 3:00PM
      Sessions
      • Azure Media Services Developer Deep Dive

        Azure Media Services is a platform-as-a-service which enables you to build a customizable media workflow. you could upload, encode, encrypt, package and deliver video content to multiple platforms and devices. In this session you will see how to build that workflow using Azure Media Services APIs…

      • App-to-App Communication: Building a Web of Apps

        The world wide web is one of the most powerful tools available to us. A lot of its power comes from how easily web sites can work with each other to answer questions and solve problems. Wouldn't it be great if every device contained a web of apps working together rather than just the silos we see…

      • Go Mobile with C#, Visual Studio and Xamarin

        Xamarin enables C# developers to become native iOS, Android, and Windows mobile app developers overnight. In this session, learn how to leverage your existing Microsoft .NET and C# skills to create iOS and Android apps in Visual Studio with Xamarin and share your business logic across all platforms.…

      • Historical Debugging with IntelliTrace in Visual Studio 2015

Friday, March 27, 2015

Blog Dead? Nope! Just taking a break (and if you need a Cool Thing fix, check these out...)

As if you haven't noticed, I'm on something of a blogging sabbatical. I'm still scanning my 2.5K+ feeds daily and sourcing stories for other areas (see below), but I've kind of run out of blogging want too. No, it's not dead and yes, I'll be back, but for now am just taking a little break...

Still need a Greg/Cool Thing fix? Then you should check out these blogs and casts that I'm  sourcing stories for or helping produce... :)

So yeah, all that and a full time day job (and a science fiction reading addiction), I think you can see why my blogging has been lacking recently. :)

Wednesday, February 25, 2015

IoT? Sensors? Devices? What's in what? "Understanding Internet of Things (IoT) Device Choices" Whitepaper

Understanding Internet of Things (IoT) Device Choices

File Name: Understanding Internet of Things_IOT_ Device Choices.docx

Date Published: 2/24/2015

File Size: 13.2 MB

This paper provides an introduction to the landscape of the Internet of Things (IoT) for devices, including accompanying high-level patterns for communications and enabling technologies, and serves as a primer for IoT. It is based on a variety of experiences with large-scale customers and deployments. This paper does not provide detailed guidance, such as how to choose a device for a specific purpose or decide on a communication pattern for devices.

...

Executive summary

As stated in the press, at conferences, and in publications[1], the Internet of Things (IoT) represents a huge opportunity across industries and customer segments. The paper “Building the Internet of Things”, which is available at http://aka.ms/iotwhitepaper discussed a broad set of topics associated with building IoT solutions. This paper is a follow on to that earlier paper and focuses on the "things" within IoT solutions.

First, it explains the concept of smart objects that contain devices, sensors and actuators, the combination of which will gather, process, send and receive data. Smart objects may or may not interact with a local gateway, which is sometimes used to provide external communication capabilities or provide local processing.

This paper also explains the set of considerations for device capabilities, and how they affect an overall solution. These considerations include cost, communications requirements, power availability, security requirements, and compute capacity. Next, it explains the options for device connectivity and the implications of choosing between common options.

Security in the IoT is critical, and a failure to consider security early in IoT design can lead to unfortunate and even catastrophic hacks that often end up in the news, potentially impacting human lives. Because overall system security starts at the device itself, the paper offers a set of device security principles and provides guidance on how to address those principles.

Interoperability in the IoT is also important today, and will continue to grow in mindshare and be seen as a critical requirement for emerging devices. This paper discusses standardization efforts, including the AllSeen Alliance, Open Interconnect Consortium, and several others. All of these efforts have strong industry supporters, but with the exception of AllSeen they are in their early stages. Although AllSeen and OIC are currently dominant, it’s too soon to call out a clear leader.

The final section of the paper discusses some example prototyping devices, their capabilities and some of the considerations when going from prototype to production.

This paper will give the reader a broad understanding of many of the aspects of device design for IoT solutions. For decision makers planning projects, this paper helps with scoping and knowing where more research is required to lay the groundwork for a successful IoT project.


[1] How IoT will disrupt the world, http://betanews.com/2014/11/17/gartner-how-internet-of-things-will-disrupt-the-world/.

...

image

..."

If you're trying to grok IoT and what it means (not like it's going to be, if not already is, the overused and misunderstood terminology of the year....um... yeah) this 37 page whitepaper does a pretty bang up job of making the devices used in IoT a little clearer.

For example, "What's a Sensor versus a device?" Answered...

Do you not do contracts because legalize isn't your thing? Then you should contract( ) ('Do Contract')!

gamasutra - announcing contract( ), a free builder for plain English agreements

Legalese is for attorneys. contract( ) is for game developers.

contract( ) (pronounced ‘do contract’) generates free, plain English agreements for and between game developers. It’s based on the idea that developers do not need legalese to come to an agreement or to resolve a disagreement.

After many iterations on contract( ), using feedback from experienced game developers and attorneys, I’m super excited to announce that contract( ) is now ready for public use. What started as a homemade tool to quickly make agreements between me and my collaborators, quickly developed into a full-fledged agreement builder that anyone can use. The builder currently includes templates for defining the work per project or per milestones, templates for giving out IP rights, and templates for compensation through a fixed fee, fixed rate, per milestone, or through revenue share.

...

docontract.com

image

...

What you need to know about contract( )

contract( ) offers a free agreement, using common language, covering most things you want to agree on before working together with someone in the games industry. contract( ) is based on the idea that two people or two companies do not need legal talk to come to an agreement or to resolve a disagreement.

For the sake of simplicity and clarification, contract( ) tries not to use the specific terminology of the laws of your country or state. Several attorneys have reviewed contract( ) to make sure it doesn't conflict with most country- or state-specific laws.

A legal document without legal talk?

The law is very advanced in handling situations between people or companies. When an attorney writes a legal document, he tries to match the terminology of those laws so that they connect one-to-one and make sure that the agreement is enforceable. However, this does not mean that a document with a different terminology is automatically invalid.

Every written agreement you make can be considered a legal document, even if your agreement is two sentences on a napkin. In case you and the contractor get into a disagreement and decide to take it to court (which is uncommon), much of the conversation in court will be about what is what, and only sections of the agreement that are very unclear or in direct conflict with country- or state-specific laws may be held unenforceable.

Country-specific laws?

...

In short: while contract( ) is designed to cover most cases, it is also designed to be short and straight forward. Be aware that contract( ) therefore still relies on local laws for a number of things like those listed above.

A personal note

contract( ) is my attempt to transfer my experience, but also the experiences of dozens of other developers and attorneys, to other game developers. I (Adriaan de Jongh) use the agreements from contract( ) myself, and feel that this is the only way to make it as unbiased, practical, honest, but also as legit as possible. I'm not responsible for your agreements with others, but I do not want to push anyone into an agreement I would not want to be in myself.

In the end, contract( ) isn't legal advice because that's exactly what it tries to avoid. If you wish to cover any of the legalese mentioned earlier, or want to know what the law provides if cases are not included in contract( ) agreements, hire a qualified attorney-at-law from your country or state to go over the agreement from contract( ) before signing it.

Attorneys recommended by other developers

In case you feel that this agreement does not fit your needs...

...

Made by & thanks to

contract( ) was made by game designer Adriaan de Jongh with the help of dozens of experienced game developers and attorneys. I have been in numerous tricky situations with contractors, IP transfers, and publishers, and found that it was never the legal talk that saved my relationship with a collaborator or contractor, but rather the inclusiveness of the contract: a contract in common language, simple and straightforward, can serve an equally good purpose if it reflects the conversation between two parties rather than the conversation between two attorneys.

..."

Something new and different and not something I'd usually share, but I think many of you will like, or might be able to use. Personally, thinking about "doing a contract" makes my... well... um... errr.... well, makes me not feel well... Now, make sure you read and understand this, but worse case, it's a great starting point!

.NET in 2015... Is it .NET 4.6, .NET Core 5, both? Beth knows and shares... (Hint: Both)

Beth Massi - Understanding .NET 2015

Last year after BUILD I posted Exciting Times for .NET and since then I have had the pleasure of working much closer with the .NET team, which includes the runtime, framework, languages & compilers. Although my focus has been a lot more on internal community in the last year, such as helping run internal conferences for our field employees, I’ve also spent time helping get the .NET Foundation off the ground and learning a lot about open source communities and all our .NET Foundation projects. Oh right, I also got married. :-) It’s been a transition period for me. Going from community “evangelist” to more of a “facilitator” or “connector”.  I really like Alex Hillman’s term: Tummler.

Now that we’re approaching the next BUILD, I’m even more excited about the progress we’ve been making, particularly around the .NET platform itself, and the team’s approach to open source. There are multiple tracks of .NET innovations happening so I thought I’d write a high-level “sign-post” style blog post to help people understand the major pieces and how and where to get involved with the projects. In other words, a good place to start learning about .NET 2015. At least that’s my hope!

.NET 2015 – 10,000 foot view

At a very high level, here’s the rundown of the major components that fall under the “.NET 2015” umbrella.

image

...

Major components of .NET 2015
Frameworks and Runtimes

The .NET Framework is a managed execution environment that provides a variety of services to its running applications. It consists of two major components: the common language runtime (CLR), which is the execution engine that handles running applications; and the .NET Framework Class Library, which provides a library of tested, reusable code that developers can call from their own applications.

.NET Framework 4.6 builds upon 4.5.2 and contains new APIs, improvements to event tracing, and many bug fixes. This is the next version of the full .NET Framework we know today. .NET Framework 4.6 will be included in Windows 10 and will also ship on Windows Update for previous OSes (Vista and above). See: .NET Framework 2015 Preview

.NET Core 5 is a general purpose, modular framework that can be used across a wide variety of app models and platforms, is available as open source, can be deployed modularly & locally (side-by-side), and will be supported by Microsoft on Windows, Linux and Mac OSX. It is a refactored set of base class libraries (corefx) and runtime (coreclr) which includes a new JIT compiler (“RyuJIT”), the .NET Garbage Collector, native interop and many other .NET runtime components. Today, .NET Core builds and runs on Windows. We are adding Linux and Mac implementations of platform-specific components over the next few months.

..."

I know YOU all know and understand what .NET 4.6, .NET 5 (Core), etc. etc. are, but I bet some (many/most) of your co-workers don't. Beth does a great job in detailing both, what's in what and what's not, what's open source (now and in the future) and what's not... In short, read her article. AND keep if for reference, as it IS a little confusing right now (and for a few years into the future, I'll bet...)

Tuesday, February 24, 2015

[I so want/need this] Kitchen Safe - Helping you from helping yourself...

technabob - Time Locking Kitchen Container Keeps Cookie Monsters Away from Cookies

...Well, this time locking container will help.

image

The Kitchen Safe is a plastic container that locks your goodies up. Just put the food in, set the timer from 1 minute to 10 days and lock it. It won’t open until the timer runs out. Unless you get a hammer out, you cannot get around it. You just have to wait it out. It will help you with your diet, since it keeps you from your mortal enemy. It’s also a fun way to present a gift, by locking it away inside with a the countdown timer set to secure the item until the appropriate occasion.

...

You can also get one that has a white (i.e. non-see through) base... talking about making people crazy... LOL

Kitchen Safe: Time Locking Container (Pink Lid + White Base)

image

  • Featured on Shark Tank! Build good habits by locking temptations in the Kitchen Safe. USA Today and TIME Magazine call it "Brilliant!"
  • Simply place an item in the Kitchen Safe, rotate the dial to set the time, and press the dial to activate the lock! Once locked, it cannot be opened until the timer reaches zero. No overrides! Now, you can enjoy the occasional snack, and keep it around the house, without worrying about blowing your entire diet. :)
  • The product is built from thick, sturdy, high quality, BPA free materials. Container walls are very rigid and 3X thicker than typical containers. A large, high contrast display shows the amount of time remaining. The locking mechanism is driven by a high quality motor.
  • The interface takes seconds to learn. Kitchen Safe can be locked for any amount of time between 1 minute to 10 days. Batteries last 6 to 12 months.
  • Studies of highly successful people show that the best strategy for achieving goals is to avoid relying on willpower in all situations. These people are more likely to use something called precommitment, which significantly improves odds of achieving goals. Precommitment is the notion of committing to a smart choice early, when we know we will be tempted by a bad choice later. The Kitchen Safe is a tool that enables us to precommit to smart choices. Plus, it's really fun to use. Who doesn't like spinning and pressing a giant button? Learn more at www.TheKitchenSafe.com.

...

Kitchen Safe

image 

They had me until the "As handy as duct tape". Sorry, beyond a towel, there is nothing as handy as duct tape! It's a universal law. :P

Qualcomm Releases the NoSQL DB Qizx [Java, Amazon EC2, EBS hosted]

I Programmer - Qualcomm Releases NoSQL Qizx

Qualcomm has launched Qizx, a noSQL, native XML database for text-intensive projects where you need quick access and searching of documents.

Qualcomm acquired Qizx when it bought Axyana Software back in 2013, and has been developing the database since then. The new version was launched at the start of the year and is now available on the AWS Marketplace.

Qualcomm describes the new version as enterprise ready with high availability, improved performance, reliability, and efficient document indexing and search power. It works with well-formed XML documents, with no DTD or schema required.

...

Qualcomm Qizx

XML is an extremely versatile way of representing scientific data, technical documents, medical information, books, manuscripts, catalogs, regulatory filings, intellectual property, and business and accounting records. The Qualcomm® Qizx™ software is a NoSQL, document-oriented, native XML database that stores, retrieves, and manipulates XML files, documents, and semi-structured data.  Qizx is enterprise-ready and is well-suited for high volume, high throughput, workflow environments and text intensive projects where documents need to be quickly loaded and indexed for searching.

Why Qizx?
  • Automatic Indexing:  Qizx indexes XML content automatically, eliminates the classic burden of defining ad-hoc indexes for application queries, and provides query and transformation performance that saves time, money, and resources in the development process.
  • Query Performance:  Thanks to automatic indexing, queries are fast.  Document Type Definition (DTD) and schema are optional.  Qizx takes advantage of the XML structure to optimize queries automatically.
  • Standards Based:  Qizx supports XQuery (including Full-Text and Update extensions) and conforms to W3C specifications.
  • Scalable:  Qizx is proven to manage data repositories of several terabytes in size that contain millions of documents.
  • ACID Transactions:  Atomicity, Consistency, Isolation, and Durability support enables concurrent transactions and updates; queries can be completed without interfering with concurrent updates; backups can be performed while the Qizx engine is running; and modifications are journaled, enabling crash recovery.
  • Extensible:  It also comes integrated in a REST server that can be accessed by remote clients and applications

image

...

Embeddable engine

Qizx is written in Java and can be integrated into a standalone application. It can also be used in the J2EE environment and conforms to the Java J2EE Servlet API. Qizx offers a simple, ready-to-use server based on HTTP protocols, thereby making it usable by applications written in a variety of languages. C++ and Python bindings are included for database access.

Enterprise ready

Qizx offers high availability, improved performance, reliability, and clustering, which allows for database replication and scalability.

Security

Qizx offers per user, hierarchical, fine-grained Access Control Lists.

System requirements

Entirely written in Java and officially supported platforms:

  • Windows 7, Vista, XP
  • Linux 2.4+
  • Mac OS X 10.5+

Java runtime

JRE 1.7

Qualcomm Qizx

image

This is just one of those announcements that I thought different and cool. Sure it's so far outside my sphere that I doubt I'll ever use it, but the fact that Qualcomm released it, I still found interesting...

"Top 10 Changes in ASP.NET 5 and MVC 6" [The post that has the WebForm/VB'ers in an uproar...]

Stephen Walther - Top 10 Changes in ASP.NET 5 and MVC 6

I spent the last couple of weeks writing sample code for ASP.NET 5/MVC 6 and I was surprised by the depth of the changes in the current beta release of ASP.NET 5. ASP.NET 5 is the most significant new release of ASP.NET in the history of the ASP.NET framework — it has been rewritten from the ground up.

In this blog post, I list what I consider to be the top 10 most significant changes in ASP.NET 5. This is a highly opinionated list. If other changes strike you as more significant, please describe the change in a comment.

1. ASP.NET on OSX and Linux

2. No More Web Forms [GD: Click through and read the comment & comment]

3. No More Visual Basic [GD: Lots of comments about this. Click through for support links, comment & comment)

4. Tag Helpers

5. View Components

6. GruntJS, NPM, and Bower Support

7. Unified MVC and Web API Controllers

8. AngularJS

9. ASP.NET Dependency Injection Framework

10. xUnit.net

image..."

WebForms is not going away, not any more than WPF is. It IS going to live in the 4.6 line though.

What about Web Forms?

You can continue developing Web Forms apps and have confidence that Web Forms is an essential part of the .NET web development platform. We remain focused on adding new features to Web Forms to improve the development experience and keep the technology up-to-date with web practices.

Web Forms 4.6 includes the following new features for Web Forms:

  • HTTP 2
  • Async model binding
  • Roslyn CodeDOM compilers

Your existing Web Forms apps will continue to run without modification on IIS with .NET 4.6. You can’t use Web Forms apps with the cloud-optimized runtime.

For a video about the new features in Web Forms 4.6, see Web Forms 4.6. For information about the many recent changes for Web Forms in Visual Studio 2013 Update 2, see Improvements to ASP.NET Web Forms.

VB? Again VB "IS NOT DEAD" but for ASP.NET v5 it won't be in the RTM.

Visual Basic Support? #236

paullyvenne commented on Dec 14 2014

I was interested in trying out vNext with VB.NET? It seems to be promoted on most of the news but I don't see anything but C#. What's the latest news?

matthewhancock commented on Dec 15 2014

Yeah, it's a little frustrating re-installing the latest versions of Visual Studio 2015 hoping VB will have vNext templates with no luck.

coolcsh commented on Dec 15 2014

ASP.NET 5 is C# only at this point and that will not change before we RTM. We plan to have extensibility points so other languages like VB, F#, etc can be added via the form of a support package or such.

Guys look, ASP.NET v5 is a complete, from the ground-up rewrite. It's a v1, but built by those that have decades of experience and have learned the many hard lessons that entails ad built for today's web, not the web of the late 99's...

Don't take it from me, check out today's Scott Gu post;

Introducing ASP.NET 5

The first preview release of ASP.NET 1.0 came out almost 15 years ago.  Since then millions of developers have used it to build and run great web applications, and over the years we have added and evolved many, many capabilities to it. 

I'm excited today to post about a new release of ASP.NET that we are working on that we are calling ASP.NET 5.  This new release is one of the most significant architectural updates we've done to ASP.NET.  As part of this release we are making ASP.NET leaner, more modular, cross-platform, and cloud optimized.  The ASP.NET 5 preview is now available as a preview release, and you can start using it today by downloading the latest CTP of Visual Studio 2015 which we just made available.

ASP.NET 5 is an open source web framework for building modern web applications that can be developed and run on Windows, Linux and the Mac. It includes the MVC 6 framework, which now combines the features of MVC and Web API into a single web programming framework.  ASP.NET 5 will also be the basis for SignalR 3 - enabling you to add real time functionality to cloud connected applications. ASP.NET 5 is built on the .NET Core runtime, but it can also be run on the full .NET Framework for maximum compatibility.

With ASP.NET 5 we are making a number of architectural changes that makes the core web framework much leaner (it no longer requires System.Web.dll) and more modular (almost all features are now implemented as NuGet modules - allowing you to optimize your app to have just what you need).  With ASP.NET 5 you gain the following foundational improvements:

  • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
  • Built on .NET Core, which supports true side-by-side app versioning
  • New tooling that simplifies modern Web development
  • Single aligned web stack for Web UI and Web APIs
  • Cloud-ready environment-based configuration
  • Integrated support for creating and using NuGet packages
  • Built-in support for dependency injection
  • Ability to host on IIS or self-host in your own process

The end result is an ASP.NET that you'll feel very familiar with, and which is also now even more tuned for modern web development.

Microsoft Health for Developers (no, not a MS Diet for Dev's) - Microsoft Band SDK for WinPhone/Android/iOS(coming soon)

Microsoft Band SDK

Create amazing app experiences for Microsoft Band.

Extend the experience of your application to your users' wrists via a new dimension of interaction. Create an app that can send UI content to the band, keeping users engaged when they're in motion. Your app can also receive data directly from the band sensors, giving your users more reasons to interact with it. Create a personalized, data-rich, custom experience and enhanced scenarios that will engage users in ways only possible with Microsoft Band.

The Microsoft Band SDK Preview gives developers access to the sensors available on the band, as well as the ability to create and send notifications to tiles. Enhance and extend the experience of your applications to your customers' wrists.

Band SDK Preview for Windows Phone

Download

Sample code

Band SDK Preview for Android

Download

Sample code

Band SDK Preview for iOS

(coming soon)

Additional resources

Documentation

Experience design guidelines

Release notes

Access sensors

Use a range of sensors including heart rate, UV, accelerometer, gyroscope, and skin temperature, as well as fitness data, to design cutting-edge user experiences.

Create your tile

Keep users engaged and extend your app experience to Microsoft Band. Create tiles for the band that send glanceable notifications from your app to your users.

Personalize your app

Monetize your app by offering users ways to customize the band. Change the color theme, or bring the Me Tile to life by changing the wallpaper.

image..."

I bet you can guess what the next Coding4Fun Hardware Friday post is going to be on... :P

The above mentioned doc's are currently just a 19 page PDF, so if you're interested just grab it.

imageimageimage

From the PDF:

Overview
Introduction
The Microsoft Band SDK Preview is designed to allow 3rd party application developers to harness the power of the Microsoft Band hardware. The SDK gives developers access to the sensors available on the Band, as well as the ability to create Tiles on the Band and sending notifications to these tiles for their applications. Through the SDK you as an application developer will be able to enhance and extend the experience of your application to your customers’ wrists. This opens up a whole new dimension of interaction and enables new, richer scenarios for your applications that make use of the capabilities of the Microsoft Band.

Applications that work with Microsoft Band essentially make use of the Microsoft Band SDK Preview to communicate to and from the Microsoft Band. The application logic runs on the host OS (iPhone, Android, Windows Phone) and it remotely controls the UI of the Microsoft Band as well as receives contextual information and sensor data from the Band.

Features
The features offered by the SDK are as follows:
 Multi-platform support
 Subscribing to sensor data from the Band
 Sending application notifications to the Band
 Allowing and application to personalize the theme of the Band
The following subsections describe these features in more detail.

Multi-Platform Support
Given the multi-platform support of Microsoft Band, the SDK is also supported on all of the same platforms the current Microsoft Health and Sync applications are released on. This includes:
 Windows 7 or later
 Windows Phone 8.1
 Mac OS X 10.9
 iOS 8
 Android 4.2 (API 17)

Wednesday, February 11, 2015

TouchDevelop [Browser Client] is now Open Source (MIT) and on GitHub

Canadian Developer Connection - Microsoft Research makes Touch Develop open source

Touch Develop is a tool developed by Microsoft Research that allows developers to build mobile apps, games and websites in a browser. As of this week it is now open source on Git!

The TouchDevelop project was inspired by the programmability of 8-bit computers of the 80s that introduced many of us to the power of programming. TouchDevelop brings that magic to modern touch-based devices. The result is a tool that you can use to write basic code using a browser and can play on websites or mobile devices

What is TouchDevelop? ...

...

TouchDevelop has always been a very open tool, with developers having the ability to share their scripts with other Touch Develop users. But now they take the next step – they have released the TouchDevelop web app under the MIT license. The team at Microsoft Research remains dedicated to leading its further development, but you, our users, fellow researchers, and hackers of the world, are invited to contribute.

TouchDevelop sits in a GitHub repository. You can fork it there, submit pull requests with bug-fixes or new features, submit and comment on issues in the bug-tracker, and check on latest activity. TouchDevelop consists of about 160,000 lines of TypeScript plus some CSS and a tiny bit of HTML. ...

TouchDevelop - TouchDevelop goes open-source

The TouchDevelop project was inspired by the programmability of 8-bit computers of the 80s. This is how many in our team learned about programming and we wanted to bring that magic to modern touch-based devices. In very beginning, with our first Windows Phone 7 app, it was about programming your own device, 80s style.

Soon after, we have moved to the open web as the platform and added the capability to publish and share your programs (scripts) with other users in source form, so others can learn from and even improve upon them. We believe this openness has helped the platform quite a bit, with over 200,000 scripts published over the past 3 years.

Today, we’re taking another step on this path – we’re releasing the TouchDevelop web app under the MIT license. The team at Microsoft Research remains dedicated to leading its further development, but you, our users, fellow researchers, and hackers of the world, are invited to contribute.

image

Join the party!

TouchDevelop sits in a GitHub repository. ...

What’s not there

You’ll notice we’re not releasing the source of our Windows Phone and Android apps, as they will become obsolete very soon, when we switch to Apache Cordova. Also, running a cloud back-end for a major service like TouchDevelop is costly and complicated. We’re thus not expecting you to do that (and we’re not releasing the back-end). Instead, you can run your forked version of the TouchDevelop client web app against our cloud services. This will work as long as you’re running the client on localhost. If you want to run it from a different domain, drop us an email and we can talk about it.

...

Microsoft/TouchDevelop

image

TouchDevelop is a touch-friendly app creation environment for iPad, iPhone, Android, Windows, Mac, Linux developed with <3 at Microsoft Research. Our mobile-friendly editor makes coding fun, even on your phone or tablet!

This repo contains the source code of the TouchDevelop editor. If you are intending to write TouchDevelop scripts, you probably want to go to touchdevelop.com:

Other pages of interest:

What's in this repo?

The repo is mostly written in Typescript with tiny pieces of HTML gluing.

This repo contains the source code for:

  • the browser client
    • the compiler
    • the editor
    • the runtime
  • the node.js client

However, you will not find the cloud backend code here. Indeed, https://www.touchdevelop.com takes care of storing and managing the scripts.

Contributing

There are many ways to contribute to TouchDevelop....

I tweeted this earlier, but wanted to follow-up with a normal blog post (and there's also going to be a Coding4Fun, http://channel9.msdn.com/coding4fun/blog,  post on it next Wednesday too ;)

The two words a DBA or Dev loves to hear, "It's Slow..."

Brent Ozar - “It’s Slow” Is Not A Metric

When I start a SQL Server Critical Care with a client, the first thing I ask is, “What is your #1 pain point? Where does it hurt?” The answer I hear most often is, “The server is too slow”.

I’m a runner. If I was able to run a 5K race at an 8:30 per mile pace, I would think I was the fastest runner on earth. The world record for a 5K by a woman is at a 4:34 per mile pace. She would think an 8:30 pace was…slow.

Slow is relative.

Slow is not a metric.

image

In order to effectively measure our systems, we need metrics.This is why baselines for our systems are so essential.

Getting Started with Baselines ...

Tools for Baselines ...

Have metrics, not feelings

“Slow” is relative. “Slow” is not a metric. You never know when someone is having a bad day and everything feels slow to him, or he needs to rush out the door early because his kid is sick, or she is getting ready for vacation and time has slowed down in her world. Measure and track. Numbers don’t lie.

Brent says: You get what you measure. The instant you start putting a graph on your cubicle wall, people start paying attention.

Kendra says: User complaints per day is also a metric! Find out what parts of the application people are complaining about and what their experience is specifically. As you work through issues, “Numbers of complaints solved” is a really useful metric for your next performance review.

I swear, Brent and team have someone slipping them information from my day job [Yes, I'm looking at you... ;] We've recently been having some "It's Slow" and conversations and "Prove It" benchmark tests so this topic is nice and timely.

It's also funny just how long us Dev's and DBA's have been having this conversation. I remember fielding "It's slow" questions around my VB1 app running on Windows 3.1 (where we had to use a floppy disk to do our daily information transfers... lol...). The answer is still the same today, "define slow"...

Monday, February 09, 2015

"Mort"

image

I see this on the train home and chuckle every time. Do you know why? (As a long time MS Sphere Dev, where would I have heard this before...hum...)

.

.

.

Yep, you guessed it [and I'm not going to say a thing about someone being something of an old timer...(in Net Years at least;) ], one the VS 2005 Personas.

You all remember the "Mort" flamewars? Seeing this brings me back... (I was, and am, a Mort and damn proud of it! :)

Pluralsight Learning Path Dev Insanity ("Understanding the .NET Framework", "C# End to End" & "T-SQL CRUD")

Pluralsight blog - Learning Path: Understanding the .NET Framework

...

Learning path objective:

The courses outlined in this learning path provide a comprehensive look at the operation of the CLR, as well as a tour of key classes in the Framework Class Library that every .NET developer — regardless of the type of application or service they’re building — should understand.

Target audience:

This learning path is designed for developers who have been introduced to C#, and want to develop a deeper understanding of the foundation upon which every .NET application is built.

...

image

...

Pluralsight blog - C# End to End

...

Learning path objective:

The goal of this learning path is to take you from having little to no experience with C# to understanding how to leverage the language’s advanced features and how it works on the CLR. This includes basic logic flow, generics, interfaces, collections and enumerables, extension methods, asynchronous operations and LINQ.

...

image

...

Pluralsight blog - T-SQL CRUD

CRUD! It’s everywhere. And by CRUD I mean the Create/Read/Update/Delete operations used by applications that rely on persistent storage. In my career, I would venture that 90 percent of the applications on which I’ve worked have revolved around CRUD operations against a relational database. Transact Structured Query Language (otherwise known as T-SQL) is a superset of the ANSI SQL language that operates on Microsoft SQL Server. Being able to leverage T-SQL is key to incorporating SQL Server in your business workflows and custom software applications.

Learning path objective:

This learning path aims to help make you proficient in using T-SQL to query and manage data on SQL Server 2012. The path begins with gentle introductions to reading and updating data using ANSI SQL, and then guides you through more specialized aspects of applying T-SQL to business problems including working with dates and times, XML data, Common Table Expressions and analytic functions.

...

image

Want even more? Check out all their Learning Paths, http://blog.pluralsight.com/category/learning-paths