Showing posts with label Development. Show all posts
Showing posts with label Development. Show all posts

Tuesday, April 22, 2014

Want to be a Microsoft MVP? Here's a couple what, where and how's...

It happens every three months, Jan 1, April 1, July 1, Oct 1. There's a flood of tweets and posts about how someone is now, or isn't, a Microsoft MVP. So how you do, the enterprising MS Dev, become one? Are there any tips, tricks and information about becoming a MVP? Oh yeah... Here are two.

Charles Sterling has this one from 2008 that's still considered a must read.

Ozzie Rules Blogging - Recipe for making an MVP

One of the absolute best parts of my job is that I get to work with the VSTS MVP's on a regular basis.  Due to this interaction i have had a couple people ask: "How is a VSTS MVP chosen?"

Other variants of this question would include:

"What is the process for selecting an MVP?"

...

"What is the criteria for selecting an MVP?"

...

image ..."

Just yesterday, I saw this post from Mike McKeown;

Pluralsight blog - How can I become a Microsoft MVP?

Have you ever asked yourself that piercing question about the coveted Microsoft Most Valuable Partner (MVP) award? I certainly have, more times than I can count. Too often, though, that little doubtful voice inside said, “Those levels of accomplishments are for others who are better than you. Now, go on back to the production line like a good little elf and keep cranking out those widgets.”

And, for the most part, that’s how I dealt with it. Yet, I still had a passion to do more, to reach higher and to stretch further. The MVP traits lined up with my personality; an intense appetite for technology, a passion to evangelize, a burning desire to convey it, a love of writing and speaking about it. If you’re reading this, chances are you feel the same way. So, let’s kick that doubting internal voice to the curb and talk about some ways that you can become an MVP.

First, it takes passion....

...

In conclusion, realize this is a commitment that will consume large amounts of your personal time. It takes a while to accomplish this, due to the gradual building of your reputation, achievements and brand. Stick to it and understand that it will most likely take more time than you thought.

Also keep in mind that if you don’t enjoy interacting with others regarding the technology that you are passionate about, you probably won’t ever reach that MVP Award. In this case, it may be better to obtain an MCP certification and leave the soft skills to others. Above all, pursue the MVP award primarily because you love what you do, and you have fun doing it!

image ..."

In short, the Microsoft MVP's have to work their butts off to earn and keep this award. And best of all they do it for you too! It's you, the community, that help them keep their MVP'ness (um... don't say that out loud... ). If you have a question, the MVP's are much more than likely very happy to help. Head over to the MVP Award Homepage,

image

Also while you are there you can also nominate your favorite MS community guy or gal too.

image

If change is good, then changelogs are even better! Windows Phone 8.1 Store now has a "New in this version"

WP Central - Dear developers: Please start using changelogs for Windows Phone 8.1 apps

Changelogs. They’re the list of reasons why we want to update an app or game. It’s the simplest thing that some app creators often ignore. It’s baffling. Version 1.2 of your app is out? Great, umm, why do I care unless you tell me?

Granted, in Windows Phone 8.0, and earlier there was no real region for a proper list of changes, resulting in some developers creating pop-up screens detailing the fixes upon first launch, or a separate area under ‘About’ where they can detail their continuing hard work, or even jamming it under the app description in the Store. It wasn’t ideal, but people definitely appreciated the effort.

But developers, you no longer have such an excuse with Windows Phone 8.1. And we hope you notice.

For our audience, if you head to the Store in the 8.1 Preview, you can tap on an app to see the new layout. There are four sections, including Overview, Reviews, Details and Related. You’ll want to start paying attention to the Details page, because developers now have an optional ‘New in this version’ subheading. That’s where you’ll find those app changes (assuming the developer filled it out).

...

Please please WP Dev's use this. As a consumer I hate getting an app update and not knowing what was updated, refreshed, fixed or new. And now you don't have to invent your own wheel...

"Windows Phone 8.1 for Developers" series with 19 posts so far...

Jayway - Windows Phone 8.1 for Developers

We will during the next few weeks together with Microsoft evangelist Peter Bryntesson post a series of blog post regarding the new windows phone 8.1 platform.

We will publish our posts on the Jayway blog and also on Peters blog here. Peters posts will be linked to down below so they are easy to find.

After the release of windows phone 8.1 during Build there are many news for us windows phone developers. Hopefully you are as exciting about this as we are and will follow this series of blogs as they are published.

Links to all post in the series:

image

If you're interesting in developing for Windows Phone 8.1 this is a must read series...

Monday, April 21, 2014

Microsoft Posters Curah!

Curah! - Microsoft Posters

There are some great Microsoft posters around to provide visual representations of MS products, features, processes and solutions. This page captures those so that you can access them from a single location.

SNAGHTMLe94529

image

(via Kurt Shintaku's Blog - DOWNLOAD: Microsoft Posters collection)

I might be sorry I'm highlighting this. Not because the content isn't great, but I've just got bad feeling about Curah!. I have to wonder at its lifespan. Personally, I'm thinking about doing something like this, but using a public OneNote Notebook instead. Kind of, sort of the same thing, aren't they? Heck, I wonder if OneNote couldn't replace my blog! :P

In the mean time, this is still a cool resource and nice to have all these in one spot.

Prism continues its Windows Desktop/WPF/MVVM Love with v5

Francis K. Cheung - Prism 5.0 for WPF just shipped.

Prism version 5.0 for WPF is now available. This version of Prism includes updates to existing and several new NuGet packages:

  1. Prism
  2. Prism.Composition (New)
  3. Prism.Interactivity (New)
  4. Prism.Mvvm (New)
  5. Prism.MefExtensions
  6. Prism.UnityExtensions

We’ve updated Prism 4.1 with bug fixes and a few new features. ...

Developer's Guide to Microsoft Prism Library 5.0 for WPF

April 2014

Prism provides guidance in the form of samples and documentation that help you easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop applications. Using design patterns that embody important architectural design principles, such as separation of concerns and loose coupling, Prism helps you to design and build applications using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall application. In short, these applications are "built to last" and "built for change." These types of applications are known as composite applications.

This topic provides a brief overview of the Prism concepts with links to associated source code and documentation. If you are considering upgrading from Prism 4.1 to Prism 5.0 we include a "What’s New" and "Upgrading from Prism 4.1" topic that you should read.

...

...

image

What's New in Prism Library 5.0 for WPF

Prism 5.0 includes guidance in several new areas, resulting in new code in the Prism Library for WPF, new and updated QuickStarts, and updated documentation. Parts of the Prism Library changed between Prism 4.1 and Prism 5.0 to support the new guidance, fix existing issues, and respond to community requests.

...

New Guidance

Prism 5.0 contains several areas of new guidance as follows:

  • Prism.Mvvm is a portable class library that encapsulates Prism’s MVVM support. This library includes ViewModelLocationProvider. Views and view models can be wired up together using the new ViewModelLocationProvider’s convention-based approach as explained in Implementing the MVVM Pattern. View model construction can be accomplished using a dependency injection container. The ViewModel Locator’s extensibility points are discussed in Extending the Prism Library. DelegateCommands are now extendable and provide Async support. A new implementation of the INotifyPropertyChanged interface, the BindabaleBase class, was added.
  • The PopupWindowAction class was added to the Prism.Interactivity assembly to open a custom window in response to an interaction request being raised.
    The InvokeCommandAction action provided by Prism now passes trigger parameters to the associated command.
    For more information see Advanced MVVM Scenarios.
  • The EventAggregator classes have been moved to the Prism.PubSubEvents portable class library.
  • The NavigationParameters class can now be used to pass object parameters during navigation, using the overloads of the RequestNavigate method of a Region or RegionManager instance.

Changes in the Prism Library

Prism Library 5.0 includes changes related to new functionality, code organization, and APIs.

Code Organization

...

API Changes

...

Additions to the Prism Library Core API

The following namespaces were added to the Prism Library to support the new areas of guidance added in Prism 5.0:

  • Microsoft.Practices.Prism.PubSubEvents was added to help you send loosely coupled message using a portable class library.
  • Microsoft.Practices.Prism.Mvvm was added to assist you in implementing MVVM using a portable class library and several platform specific libraries.
  • Microsoft.Practices.Prism.SharedInterfaces has been added to share the IActiveAware interface between Prism and Prism.Mvvm assemblies, therefore the IActiveAware interface has been moved to this assembly. It is also intended for future use.

CodePlex Issues Resolved

  • ...

Example Code Changes

Prism 5.0 contains eleven separate code samples that demonstrate portions of the provided guidance. Several samples from Prism 4.1 were removed or replaced, and new samples added.

The following samples were added for Prism 5.0:

  • Basic MVVM QuickStart. This QuickStart shows a very simple MVVM application that uses the ViewModel Locator and show a parent and child ViewModels. For more information, see the MVVM QuickStart.
  • MVVM QuickStart. This QuickStart was removed for this version.
  • MVVM Reference Implementation. This reference implementation was removed for this version.
  • View-Switching Navigation QuickStart. This QuickStart now supports WPF. It demonstrates how to use the Prism region navigation API. For more information, see View-Switching Navigation QuickStart.
  • State-Based Navigation QuickStart. This QuickStart now supports WPF. It shows an approach that uses the Visual State Manager to define the views (states) and the allowed transitions. For more information, see State-Based Navigation QuickStart.
  • UI Composition QuickStart. This QuickStart now supports WPF. It replaced the View Injection QuickStart and the View Discovery QuickStart from Prism 2.0. In the current versions, both concepts are shown in one example application. For more information, see UI Composition QuickStart.
  • Interactivity QuickStart. This new QuickStart demonstrates how to exposes an interaction request to the view through the view model. The interactions can be a popup, confirmation, custom popup, and a more complex case where the popup needs a custom view model. It also shows Prism’s InvokeCommandAction action that passes the EventArgs from the trigger, as a command parameter. For more infromation, see Interactivity QuickStart.

NuGet Packages Now Available

In your application, you can now use NuGet to add references to the Prism assemblies. These packages include:

..."

Microsoft Downloads - Prism 5.0 for WPF – April 2014

Prism provides guidance designed to help you more easily design and build rich, flexible, and easy to maintain Windows Presentation Foundation (WPF) desktop applications.

...

MSDN Code Gallery - Getting Started Code Sample Using the Prism Library 5.0 for WPF

In this lab and associated sample, you will learn the basic concepts of modular application development using the Prism Library, and apply them to create a solution that you can use as the starting point for building a composite Windows Presentation Foundation (WPF) application. After completing this lab, you will be able to do the following:

  • You will create a new solution based on the Prism Library.
  • You will create and load a module.
  • You will create a view and show it in the shell window. 

This lab includes the following tasks:

...

MSDN Code Gallery - MVVM Code Sample using the Prism Library 5.0 for WPF

The Model-View-ViewModel (MVVM) QuickStart provides sample code that demonstrates how to separate the state and logic that support a view into a separate class named ViewModel using the Prism Library. The view model sits on top of the application data model to provide the state or data needed to support the view, insulating the view from needing to know about the full complexity of the application. The view model also encapsulates the interaction logic for the view that does not directly depend on the view elements themselves. This QuickStart provides a tutorial on implementing the MVVM pattern.

A common approach to designing the views and view models in an MVVM application is the first sketch out or storyboard for what a view looks like on the screen. Then you analyze that screen to identify what properties the view model needs to expose to support the view, without worrying about how that data will get into the view model. After you define what the view model needs to expose to the view and implement that, you can then dive into how to get the data into the view model. Often, this involves the view model calling to a service to retrieve the data, and sometimes data can be pushed into a view model from some other code such as an application controller.

This QuickStart leads you through the following steps:

  • Analyzing the view to decide what state is needed from a view model to support it
  • Defining the view model class with the minimum implementation to support the view
  • Defining the bindings in the view that point to view model properties
  • Attaching the view to the view model

..."

Finally:

That should be enough Prism for WPF to get you started at least...

Friday, April 18, 2014

//build/ –> //learn/-> //publish/ -> //your free new training sessions/

Building Apps for Windows - //build/ –> //learn/-> //publish/: new resources to help you publish your universal Windows apps

You’ve heard announcements at //build/ around the launch of Windows Phone 8.1 and the converged development platform; now get the details and support from community experts to bring your universal Windows apps to life. We’d like to invite you to join us over the next month for a series of educational and hands-on events.

First up is //learn/, a unique opportunity for you to get an introduction to building your own universal Windows apps for phone, tablet and pc. Ask questions and learn what’s new from Microsoft MVPs and get insights from your peers.

Jumpstart, a 3-day training course from Microsoft’s Virtual Academy follows, giving you an in-depth overview of the most important new features and platform capabilities.

Once you’ve started your app, be sure and register for one of our in-person //publish/ regional events, where Microsoft MVPs and local experts will be on hand to help you bring your apps over the finish line and into the Windows Store.

...

//learn/ - coming soon, April 24

Microsoft MVPs will present live webinars introducing the latest features and technologies for phones, tablets and PCs. ...

Date: April 24, 2014

Click here to register

Jumpstart

In this live training webinar by Microsoft Technical Evangelists Andy Wigley and Matthias Shapiro, you will learn how to design and build Windows Phone 8.1 apps using XAML and C# to share a high percentage of code. You will also learn...

Dates: April 29 – May 1, 2014

Click here to register. If you are unable to attend live, you can watch this course on-demand on Channel 9 after May 9, 2014.

//publish/

//publish/ is a global event series where you will bring your project to polish and complete, and receive support, incentives, prizes and just have a lot of fun along the way.

//publish/ events occur in more than 60 different locations worldwide - simultaneously, all connected by a big online digital dashboard (“The Board”) You will receive expert guidance and support for app design, performance, testing, publishing, and Unity porting in a cool and inspiring environment.

Attend in-person at one of the 35 Microsoft-led events or 30 MVP-led satellite events at locations worldwide. No matter which event you attend, you’ll find it an extraordinary opportunity to learn, share and code; connected to the others via a unique online experience. Register early as space is limited.

Dates: May 16 - May 17, 2014

Click here to register

...

//learn/

Whether you are a New Windows App Developer or an Experienced one- we have something for you!

Join us and take a deep dive into the latest features and technologies for Windows Phones, PCs and Tablets.//learn/ from our community in this “to the community, for the community and by the community” event where our MVPs and Expert Developers will help you better understand all that’s new with Windows.

Want to learn how to easily share code between store apps of different form factors? or Want to build your own universal App? You are at the right place. These sessions will cover all the basic concepts to develop Universal Windows apps –One App for all form factors (PC, Table and Phone), Windows Phone 8.1 apps: the new application lifecycle, the new XAML etc.-with live chat and Q&A with our speakers

No need to dress up or step out you can watch and learn from the comforts of your home/office in this online webcast of informative sessions delivered by our community experts. That’s not all, our local experts will deliver these sessions in not 1 but 8 languages from across the globe(each accommodating the local time zone) to help you learn and leverage the new features and technologies.

So get started and Register Now!

image

...

Building Apps for Windows Phone 8.1 Jump Start

If you're an app developer who wants to design and build Windows Phone 8.1 apps using XAML and C#, don't miss this exciting event. The two-and-a-half day, demo-rich course, taught by experts who have years of experience developing (and writing about the process), focuses on how to create apps for Windows Phone 8.1 in Visual Studio and how to create universal app projects that share a high percentage of code and that target both Windows and Windows Phone.

Course Outline:

  • Day 1: Introduction to Windows Phone 8.1 & Building Windows Store Apps
  • Day 2: Programming Windows Phone 8.1 Platform Features
  • Day 3: Store, Universal Apps, and Silverlight

image

publishwindows.com

SNAGHTML1fe3651

Now, get your learn on!

Thursday, April 17, 2014

Visual Studio 2013 gets Installer Projects support back!

The Visual Studio Blog - Visual Studio Installer Projects Extension

We have heard many customers express the desire that we bring back support for Visual Studio Installer projects. In fact this was one of the topmost voted on suggestions on User Voice for Visual Studio and with this extension release we hope to address your feedback both here on the blog and on UserVoice.

We’re happy today to announce the preview availability of the Visual Studio Installer Projects Extension. This preview release provides support for Visual Studio Installer projects in Visual Studio 2013. You can download the extension from the Visual Studio Gallery.

image

To use this extension you can either open the Extensions and Updates dialog, select the online node and search for “Visual Studio Installer Projects Extension” or you can click here to go directly to the Visual Studio Gallery page that hosts the control.

Once you have finished installing the extension and restarted Visual Studio you will be able to open existing Visual Studio Installer Projects or create new ones.

Our intention with this extension is to give those of you with Visual Studio Installer projects the same functionality that you currently have in Visual Studio 2010. This extension enables those customer who aren’t using Visual Studio Installer projects to have ISLE as their preferred installer project solution and those who are to have support for both ISLE and their existing Visual Studio Installer projects. While the extension is not localized it is fully supported on both localized and English versions of Visual Studio.

..."

THANK YOU... This was one of my big VS 2012/2013 whines. I'm more than happy to delete that whine from my list... :)

Wednesday, April 16, 2014

MonoGame gets its Samples Game On (One sample, nine platforms)

Dark Genesis - A new breed of samples for MonoGame

MonoGame has always been the quality of the samples currently maintained in the various branches of the project.

Being an opensource project this has always been a challenge to manage and maintain, sure there are a lot of samples provided by many hard working developers but they were very sporadic and not always kept up to date (some it was noted, don’t even run any more)

Seeing this, the core MonoGame team set out with a purpose to being a new samples repository for the project. Its goals were simple:

  • The samples had to be of high quality
  • They had to work on ALL platforms not just one
  • Best practice had to be used where possible
  • They had to be testable and re-usable to test the latest builds (builds may not pass if samples tests failed)

It has been an ambitious journey, with a lot of in depth discussions and debates, but now the first of the samples has just been accepted in to the new Samples Repo.

...

The first sample is just a taste of what is to come and is born of the already tried and tested Platformer 2D sample from the age old XNA library.

The sample itself isn’t too much to should about as it only implements basic rendering, input and audio capabilities. However it is laid out in such a format and is working on ALL supported platforms, including:

  • Android
  • Linux
  • MacOS
  • Ouya
  • PSM
  • Windows Phone
  • Windows 8
  • WindowsGL

The sample serves as a guide for how to build and manage your game project in a fully multi-platform way with all the code in one place and shared across all projects

...

Mono-Game/Samples

image

Now that's cross-platform!

Droning on with Tasks, Rx and some TPL

The Brain Dump - Tasks and awaits and Rx! (And Drones!) Oh My!

A few people I work with are tinkering with an off-the-shelf drone in our spare time and so we are writing a C# library to control it.

The way it works is you send UDP commands to the drone and you receive a stream of status & navigation UDP packets from it. So everything is asynchronous by default. You don’t send a command and get back an “I got it!” response. You have to send a command and then monitor the status for a change reflecting your desired state,

For example, to start flying, you must repeatedly send the “take off” packet every few milliseconds until you see the “is flying” flag set in the status packets. Lets see what that would look like.

We want the SendCommand method to be asynchronous and totally decoupled from the UI. So the send process looks like this.

image

...

Broken down, each function is simple enough to understand and debug. This simplicity only comes from the power of Rx, the TPL and the async/await functionality. Imagine what the code would look like before when all the timers and .NET events and state would have to be managed directly.

Mostly I just liked his title... :P

Well that and there are some tips in this post that will come in handy, right about, well, now...

Wednesday, April 09, 2014

Roslyn gets Mono

http://tirania.org/blog/ - Mono and Roslyn

Last week, Microsoft open sourced Roslyn, the .NET Compiler Platform for C# and VB.

Roslyn is an effort to create a new generation of compilers written in managed code. In addition to the standard batch compiler, it contains a compiler API that can be used by all kinds of tools that want to understand and manipulate C# source code.

...

Roslyn on Mono

At BUILD, we showed Roslyn running on Mono. If you want to run your own copy of Roslyn today, you need to use both a fresh version of Mono, and apply a handful of patches to Roslyn [2].

...

Adopting Roslyn: Mono SDK

Our goal is to keep track of Roslyn as it is being developed, and when it is officially released, to bundle Roslyn's compilers with Mono [6].

But in addition, this will provide an up-to-date and compliant Visual Basic.NET compiler to Unix platforms.

Our plans currently are to keep both compilers around, and we will implement the various C# 6.0 features into Mono's C# compiler.

...

Mono Project and Roslyn

Our goal is to contribute fixes to the Roslyn team to make sure that Roslyn works great on Unix systems, and hopefully to provide bug reports and bug fixes as time goes by.

We are very excited about the release of Roslyn, it is an amazing piece of technology and one of the most sophisticated compiler designs available. A great place to learn great C# idioms and best practices [5], and a great foundation for great tooling for C# and VB.

Thanks to everyone at Microsoft that made this possible, and thanks to everyone on the Roslyn team for starting, contributing and delivering such an ambitious project.

image

VB.Net on Linux? Awesome. Xamarin really is exciting to watch. I love those guys (and it's not just the free booze from their Build talking either... well.. much... ;)

19 Tips and Thoughts Toward Developer Productivity

Jon Gallant - My Thoughts on Developer Productivity

The best developers optimize every aspect of their lives. Optimization is built into their DNA. We are always looking for ways to not repeat ourselves and strive to make everything we do faster. Everything from doing the dishes to serialization. If it’s not as fast as it possibly could be, then we spend countless hours making it so. Now as a manager I get to code a bit, but a big part of what I’m responsible for is optimizing developer productivity. I have a long way to go, but I have definitely improved as a manager over the last 10 years, so I thought I would share what I have learned. Hopefully this will help the newbie and seasoned managers alike.

SNAGHTML628d9b4

Hours

The first thing you want to do is set the expectation that your developers will be working very long hours. They should be working from the moment they wake up to the moment they fall asleep. If not coding that whole time, they should at least be thinking about code. I find it best to set mandatory in-office core hours from 8am to 8pm. That way they get in a solid 12 hours a day in the office and then they can make up the remaining 4 hours of their 16 hour day on their own time. It’s fine if they chose to come in earlier or stay later, but everyone must be in their office for core hours. Try roaming the halls at the start and end of each day and take notes on who is and isn’t in their office. That way you know who the really productive people are. You could also go the punch card route or you could require them to install a service that monitors their activity and alerts you when they aren’t meeting their numbers.

Meetings

....

Do not do “No meeting Fridays” or “No meeting afternoons” and put a 30-60 minute gap in between meetings so they can get a good 20 minutes of coding time in between them. At the end of the day they should spend 80% of their time in meetings and 20% of their time developing.

WFH

Working from home?….it should be…..“Xboxing from home” because you know that’s what they are doing all day. It’s a trick. Don’t fall for it. You can let them have every other Sunday to themselves if they are hitting their “lines of code” count and code coverage percentage for the month. But, never on a regular basis.

When someone says they need to work from home immediately schedule an early morning meeting and require them to be there in person.

Software

Cloud

DevOps

Hardware

Process

Quality

TIP (Testing In Production) is cool, but TIP-WAU (Testing In Production With Actual Users) is even cooler. If you want to know where the bugs are in your software then just ship it. Users will report any bugs. That way you don’t need to distract developers from what they do best...creating new features. Those new features may break other features, but as long as the new feature somewhat works it’s all good.

Rewards

Fun

Furniture

Food

Personal

Reviews

Training

Credit

Vision

Visions are overrated. You want to keep them guessing about what you are thinking. ...

Attrition?

...

The above was fun to write, but it is obviously very bad advice. Keep reading to see my honest take on developer productivity.

SNAGHTML6292e1e

Hours

On my team the expectation is that you’ll work roughly 8 hours a day, but it is very self-managed. Some days you’ll work 10, some days you’ll work 6. I never track developer hours. The code you produce speaks for itself. I work an hour or so in the morning, get in around 9:30, leave at 4:30, then I’m back at it for a bit before I go to sleep. That allows me to eat breakfast and dinner with my family on a regular basis.

...

The funny part, in a sad way, is I'm not sure which is more valid in the real world, the first set or the last... :/

Tuesday, April 08, 2014

"Visual Studio 2013 Succinctly" free [reg-ware] now available from... you guessed it, Syncfusion

Syncfusion eBooks - Visual Studio 2013 Succinctly

image

Visual Studio 2013 brings many new improvements to the popular integrated development environment, including the long-awaited synchronized settings and notifications. With author Alessandro Del Sole as your guide, you will learn how to harness these features for increased productivity and efficiency. For novices and returning experts alike, Visual Studio 2013 Succinctly offers a point of entry into one of Microsoft’s most powerful tools.

Table of Contents

  1. Synchronized Settings and Notifications
  2. The Start Page Revisited
  3. Code Editor Improvements
  4. IntelliSense Improvements
  5. Visual Studio 2013 for the Web and Windows Azure
  6. New and Enhanced Tools for Debugging
  7. Visual Studio 2013 for Windows 8.1

125 pages of succinctly Visual Studio 2013 information.

image

BTW, if you like this, make sure you check out this Build 2014 sessionTips and Tricks in Visual Studio 2013. Like this eBook, this session is pretty "dense," fast paced and filled with a ton of great tips...

(via Tatworth - Free book from Syncfusion on Visual Studio 2013 Succinctly)

Monday, April 07, 2014

Mads Must Have Web Dev Visual Studio Extensions List

Mads Kristensen - Visual Studio extensions for web developers

This year at the //build/ conference I gave a session on Visual Studio Web Tools and Web Essentials. It’s now online on Channel 9 in case you want to watch it.

I was using a few extensions that are great for any web developer using Visual Studio 2013. I’ve compiled the list of extensions here and added a few additional ones that are really useful as well.

  • Web Essentials
  • SideWaffle
  • File Nesting
  • WebJobsVS
  • SlowCheetah – XML transforms
  • GruntLauncher
  • Mexedge Stylesheet Extension
  • PHP Tools for Visual Studio
  • Cobisi Routing Assistant
  • CssCop – FxCop for Stylesheets
  • Node.js Tools for Visual Studio

image

[Click through for the descriptions and download links]

Must review list of Visual Studio extensions for those who Web Dev (or who want too). If there's anyone who's a good curator for these kinds of extensions, it's Mads, so check them out... you still here?

Visual Studio 2013 Update 2 lets you build your own Scaffolder

.NET Web Development and Tools Blog - Creating a Custom Scaffolder for Visual Studio

With the release of Visual Studio 2013 last October, we introduced the concept of Scaffolding to Web Application projects. Scaffolding is the framework on which code generation for MVC and WebAPI is built. For more information on Scaffolding or the MVC Scaffolders check the following blog post: http://www.asp.net/visual-studio/overview/2013/aspnet-scaffolding-overview.

However, the true potential for the scaffolding framework comes from the new extensibility surface released in Update 2. With this new functionality, any VSIX can code against the Scaffolding API surface and have their scaffolds added to the Add New Scaffold Dialog. This blog post will walk through the creation of a custom scaffolder.

To get started make sure you have the following installed on your machine:

Creating a New Scaffolder Project Using Sidewaffle

  1. Go to create a new project.
  2. Click on the C#->Extensibility->Sidewaffle Node.
  3. Select new “Basic Scaffolder”.
  4. Input the desired name of your Scaffolder.
  5. Create the Project.

image

...

Next Steps

Now that you have the basics of creating a scaffolder down, here are some additional resources for what to do next:

Additionally you can look to create more complex scaffolders using the following services:

  • ICategoryRegistrationService – to add new Categories in the Add Scaffold Dialog

  • IServiceRegistrar – to add new ActionServices that you can invoke during scaffolding

  • IRollbackService – to make the services registered above be able to use the Scaffolding rollback feature

  • The Scaffolding.EntityFramework dll – to help with the processing of EF models (this is used by the MVC and WebAPI Entity Framework Scaffolders to create the controllers and for MVC the views)

ASP.NET Scaffolding in Visual Studio 2013

Overview

ASP.NET Scaffolding is a code generation framework for ASP.NET Web applications. Visual Studio 2013 includes pre-installed code generators for MVC and Web API projects. You add scaffolding to your project when you want to quickly add code that interacts with data models. Using scaffolding can reduce the amount of time to develop standard data operations in your project.

...

Tutorials

To customize the generated files, see How to customize the generated files from the New Scaffolded Item dialog.

For an example of using scaffolding with Database First development, see EF Database First with ASP.NET MVC.

For an example of using scaffolding in an MVC project, see Getting Started with ASP.NET MVC 5.

For an example of using scaffolding in a Web API project, see Create a REST API with Attribute Routing in Web API 2.

This was pretty lost in the Build news stream, but I think this is going to spawn some very interesting Extensions in the near future.

Succinctly eBook of the Day: "Twitter Bootstrap Succinctly" [Reg-ware]

SyncFusion Succinctly eBook Shelf - Twitter Bootstrap Succinctly

image

Twitter Bootstrap (TWB) is a free front-end framework built by Twitter developers to ensure visual and functional consistency across websites and applications. In Twitter Bootstrap Succinctly, Peter Shaw explains what makes up a consistent, attractive UI, and why having one is important. He then walks you through the basics of adding beautiful, user-friendly components to your projects with only a few lines of HTML and CSS. You'll learn how to add TWB to an existing project, and use it to customize attractive buttons, tabs, breadcrumbs, dropdowns, and more. There are even chapters dedicated to optional JavaScript and TWB extensions for when you're ready to take your UI's appearance a step further.

Table of Contents

  1. What is Twitter Bootstrap?
  2. Adding Bootstrap to Your Project
  3. Twitter Bootstrap Scaffolding
  4. Twitter Bootstrap Base CSS Classes
  5. Forms
  6. Buttons
  7. Components
  8. Twitter Bootstrap JavaScript
  9. Extending Bootstrap

If you've been hearing about Bootstrap but weren't sure what it was or how to get started with it [insert usual "this ebook is for you" statement here]

(via expression{web.blog} - Twitter Bootstrap Succinctly)

Friday, March 28, 2014

"What is Open Source..." the LEGO movie

What is Open Source explained in LEGO

image

Have you ever wondered - What is open source?

We made this stop motion video in an attempt to explain it for anyone. This, simply to help scale the positive principles within the open source paradigm.
The video itself is open for everyone to use, modify and share. So feel free to do that!

We made this video to explain the idea of Open Source. We wanted it to be easy to understand - even for people with no prior knowledge of Open Source or Free Software. However, history is never simple. We can only urge people to do further research into the history and as such the development of open source.

Kr├Žn Hansen wrote this blogpost to explain our thoughts behind the video: http://blog.bitblueprint.com/now-anyone-can-help-everyone-understand-open-source/

Please visit http://bitblueprint.com/ for more information on how to apply the open source paradigm to your organization. Visit http://movingmonday.com/ if you want to learn more about this awesome video production!...

If you're having a problem getting the idea of open source across, there's nothing like a fun video to help... and hey, it's LEGO's!

(via 404 Tech Support - Explaining Open Source with LEGO)

NuGet, Open Wrap, NPanday, Chocolatey, Chewie, Ninite, top Package/Dependency Management for .Net tools

Visual Studio Magazine - 6 Top .NET Package- and Dependency-Management Tools

They may not be sexy, but package managers are an integral part of every developer's work -- using the right ones can make you more productive. Read on to find out what -- and where -- they are.

...

For the app developer or system admin, however, the process of getting utilities, libraries and frameworks installed, along with any required dependencies -- particularly when dealing with the huge ecosystem of open source software -- represents a bigger problem. And this is where package management comes to the rescue.

Package managers help you download, install, configure and update software "packages" from repositories. A package contains the software itself (possibly as source), plus metadata specifying the locations of any dependencies that need to be installed and instructions for automatic compilation, when necessary.

... Here are some great package- and dependency-management tools created specifically for Windows-based development.

...

NuGet
NuGet is probably the best-known package and dependency manager for, in Redmond's words, "the Microsoft development platform including .NET." As with the other tools I've mentioned here, NuGet helps you find, install, update and remove packages. However, similar to CocoaPods, NuGet focuses primarily on package and dependency management at the development-project level.

...

Open Wrap
OpenWrap is another popular open source package-management sytem for .NET programmers. Created by Sebastien Lambla, OpenWrap is command-line only and supports both OpenWrap and NuGet packages. OpenWrap also includes ReSharper integration, so ReSharper knows about the packages you've installed and doesn't throw up spurious warnings.

...

NPanday
NPanday is an Apache Incubator project "to integrate Apache Maven into .NET development environments." Maven is more of a build-automation and dependency-management tool, and also developed more specifically for Java-based development, but developers have figured out how to Maven build for .NET applications.

...

Chocolatey NuGet
So, those are the big, established players in package management on Windows. But they're not the only options. Chocolatey is a general-purpose "tools enabler" and "silent application installer" for Windows, modeled after apt-get.

...

Chewie
Chewie is yet another NuGet offshoot that attempts to incorporate some features of the Ruby Bundler gem manager into the package\-management workflow on Windows.

...

Ninite
OK, Ninite isn't really a package manager in any typical sense of the word, and unlike the rest of the apps I've discussed, it's neither open source itself nor open source focused. But it is a handy utility and it does fall into the same general category as apt-get and Chocolatey.

...

image

..."

You mean there's more than NuGet? No, say it's not so! Kidding aside, this is a great article of tools you might not of heard of before. Make sure you click through to read the details.

Jetting to the new home of ManagedEsent, a new v1.9 and MSDN Doc's too!

JET - Welcome to the home of the JET (aka ESE or ESENT) team

The Extensible Storage Engine (ESE/ESENT), also known as JET Blue, is an Indexed Sequential Access Method (ISAM)data storage technology. Its purpose is to allow applications to store and retrieve data via indexed and sequential access.

ESE provides transacted data update and retrieval. A crash recovery mechanism is provided so that data consistency is maintained even in the event of a system crash. Transactions in ESE are highly concurrent making ESE suitable for server and client applications. ESE caches data intelligently to ensure high performance access to data. In addition, ESE is lightweight making it suitable for auxiliary applications.

The ESE Runtime (ESENT.DLL) has shipped in every Windows release since Windows NT 3.5, with native x64 version of the ESE runtime shipping with x64 versions as well (including IA64), and ARM. ESE is available on Windows, all flavors (server and client) and SKUs....

JET - ManagedEsent 1.9.0.1 is released

... To download the latest ManagedEsent version, visit the nuget project page at http://www.nuget.org/packages/ManagedEsent/

JET - ManagedESENT documentation now available on MSDN!

Check out the new ManagedESENT documentation on MSDN at http://msdn.microsoft.com/en-us/library/windows/desktop/dn375980(v=exchg.10).aspx. This documentation covers over 300 public methods exposed by ManagedESENT.

How is the ManagedESENT library different than ESENT?

ESENT is an embeddable, transactional database engine that allows you to create custom applications that need reliable, high-performance, low-overhead storage of data. The ESENT engine can help with data needs that range from something as simple as a hash table that is too large to store in memory, to something more complex, such as an application with tables, columns, and indexes. To create an application with ESENT, you use the esent.dll DLL that is part of the Windows operating system and write your code with C/C++. For more information about ESENT, see Extensible Storage Engine Reference.

ManagedESENT is built on top of esent.dll, which is part of Windows, so there are no extra unmanaged binaries to download and install. With the ManagedESENT library, you can create your application by using a managed language such as C# instead of C/C++. ...

Extensible Storage Engine Managed Reference

image

If you're using ManagedEsent, have heard of it but haven't started yet, or never heard of it before, you've got a new shiny blog, NuGet version and doc resource...

 

Related Past Post XRef:
Easing into the Extensible Storage Engine on Windows 8 with ManagedEsent v1.8
ESE C#/C++ Toolkit v1.2 for Microsoft Extensible Storage Engine (ESE) (ESE is the database engine that's been in the box since Windows 2000)
Did you know Windows (since Windows Server 2000) comes with a transactional database engine already baked into the OS, which you can use in your applications today, no download required?
Managed ESENT v1 released – Managed/.Net access to the free embedded database (“Extensible Storage Engine/ESE”) that ships with Windows

Tuesday, March 25, 2014

OneNote Dev isn't dead by a long shot! The OneNote team opens up about their near-term API roadmap

OneNote Dev Blog - OneNote API Near-Term Roadmap

Hey folks, this is James Lau - I am the Lead Program Manager on the OneNote API team. In this blog post, I’d like to share with your our near-term roadmap and get your feedback.

Last week, we launched the initial version of our API. The first set of features are focused on scenarios for creating pages in OneNote: mobile app scanners, hardware scanners, save-it-for-later for newsreaders, etc. Of course, we are far from done, and we have already started are busy working on the next set of features. Instead of "going dark" and then shipping features that we think you want, we would rather have a dialog with you on what we are building.

One of the core principles we have on our team is customer transparency. We understand that you are trusting us and taking a bet on our platform when you use our API. As such, not only do you deserve to know what we are planning, but you also deserve to have a say in what we do! We have set up a OneNote API feedback site so you can participate in our planning, vote on features and submit your ideas.

Here is a list of the capabilities and features that we are planning to deliver over the next 3 to 6 months. That is a very rough timeframe, and priorities can change at any time, so please don't base your plan on this timeframe. The features below are also not listed in strict priority order. We have multiple teams tackling this list simultaneously, so some of these will be built in parallel. Nonetheless, we would love to get your feedback on their relative importance to you.

...

Please let us know of anything you want that's missing and vote on the ones that you really want *right now*! Your feedback will really help us prioritize and influence what we work on next.

Other than transparency, our team also believes in delivering customer value early. That means we are going to be delivering new features as they are completed and not take a "big bang" approach. We do daily deployments to our service too, so there are tons of opportunities to get these features out on a regular basis.

image

Looking forward to these features. The current API is a good starting point, but just that, a starting point. I hope they can keep the momentum and cadence up.

JustMock Lite - Free and open source too...

Telerik - JustMock Lite

For developers who practice unit testing and want to deliver exceptional software, JustMock Lite is the superior free mocking framework that makes unit testing simpler for SOLID testable projects. JustMock Lite is an open source product that is easy to use, feature rich, with great power and flexibility, making it the superior choice. JustMock Lite cuts your development time and helps you create better unit tests. It enables you to perform fast and controlled tests that are independent of external dependencies like databases, web services or proprietary code.
Like any open source software, JustMock Lite allows for full code transparency as well as easy product update and support by the community. JustMock Lite is the same set of assemblies as the commercial edition of JustMock, and just like JustMock, it is commercially backed with 3 major releases per year and continuous product improvement.

If you are dealing with a legacy code project or tightly coupled code that requires elevated mocking (such as mocking private, static, or sealed items), you need the JustMock full edition.

...

Why Choose?

  • Superior Free Mocking Framework
  • Commercially Backed
  • Open Source
  • Mocks SOLID Code
  • Arrange, Act, Assert Oriented
  • Error-Free Mocking
  • Automocking
  • Easy Migration to JustMock Full Edition

image ...

telerik / JustMockLite 

Welcome to the Telerik JustMock Lite source code repository!

About

JustMock Lite by Telerik is a powerful free mocking library available for .NET developers. For more information, refer to our JustMock Lite website. You can suggest and vote for feature requests in our JustMock feedback website.

Nuget

JustMock Lite is also available in a Nuget package.

Building

You can compile the JustMock Lite project with Visual Studio Express 2012 for Desktop and greater.

  1. In Visual Studio, open the Telerik.JustMockLite.sln file.
  2. Dismiss any Unsupported project type warnings. You can still build JustMock Lite.
    Visual Studio Express shows this warning to indicate that it does not support the Silverlight projects included in the JustMock Lite solution.
  3. Build the project in a DebugFree or ReleaseFree configuration.
    This will ensure that the JustMock Lite unit tests remain green.
  4. Locate the JustMock Lite binaries in the ..\..\Binaries folder.

Let us know if you encounter any issues with the project.

License

JustMock Lite is licensed under Apache 2.0 (https://github.com/telerik/JustMockLite/blob/master/LICENSE).

Happy mocking!

Not only free, but open source too... Nice. :)

(via tweet from @alvinashcraft)

 

Related Past Post XRef:
Telerik, are you just mocking me? Yep! With the Telerik JustMock Free Edition
"Why I Hate Unit Testing"