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

Tuesday, September 02, 2014

Sparking the dreams and imagination of young dev's with DreamSpark...

Canadian Developer Connection - What does Back to School mean for coders?

"...

Did you know DreamSpark gives students access to Microsoft developer software for free? That includes Visual Studio. Since not all schools teach .NET languages, it’s important to know that Visual Studio isn’t just a code editor for C#, you can use Visual Studio to code HTML& CSS, C++, Python, Unity, even nodeJS.

...

Another great way for students to stand out is the Imagine Cup. For coders and non-coders this is an opportunity to showcase their talent and potentially win a trip to represent Canada at the World finals at Microsoft headquarters in July 2016. For the coders there is usually a games category, innovation category (for all those great business ideas), and World Citizenship category (for those who want to help others). For the non-coders watch out for things like a pitch video challenge or the user experience challenge for those with a passion for design! Last year a team of students from New Zealand won $50,000 at the World Finals in the Innovation category for an app that allows you to see how far away your friends are when you meet up. I’ve seen lots of students building similar apps at hackathons, do you think they had any idea if they finished and polished up their app it could have put them on stage at the world finals? We will be announcing specific details for this year’s Imagine Cup soon!

..."

Dream the dream, my young dev's...

image

Wednesday, August 27, 2014

[Cool Feed Reader of the Day] rssheap - The web based feed reader for dev's...

Mike-Ward.Net - Friday Links #317

...

RSS Reader for Developers

...

rssheap

image 

rssheap is a web based reader for software developers

You subscribe to tags you are interested in (c#,java,ruby,...) and we find great articles for you to read

How does it work?

You read high quality content based on what you like, here is how:

  • Users upload feeds

    You can upload feeds from your favorite reader or, if you don't have any – no problem, we already have lots of cool feeds and articles from other users that you can read.

  • You subscribe to interesting tags

    You subscribe to tags you are interested in and we show you articles based on that. Articles are sorted by how many votes they have, so you will always read high quality content.

  • You vote and tag while you read

    You are the moderator of the site – as you read, you tag and vote on the articles and we give you reputation for that. The better reputation you have, the more things you can do on the site.

Try it out, it's free!

4801 users / 6944 feeds / 97291 articles

Here is a glimpse of what happens after you log in:

..."

Here's what I see when I log in...

image

Don't think I'll leave my fav reader, NewsBlur, but I still think this is kind of neat and an interesting way to feed my feed addiction... :)

Wednesday, August 20, 2014

"Localization for .NET Succinctly"

Syncfusion - eBooks - Localization for .NET Succinctly

Learn to write applications that support different languages and cultures, with an emphasis on .NET development. With the help of author Jonas Gauffin, Localization for .NET Succinctly will help you become an effective developer in the global community.

..."

NOTE: Ignore the Table of Contents on the above web page... They are already working to fix that. I know it confused me too

image Doh!

Here are some snips of the real ToC from the PDF;

imageimageimage

Introduction
This book will introduce you to the world of globalization and localization. The goal is to give you a deeper understanding of how to write applications that support different languages and cultures. I’ll guide you through the basics and then go into different implementations.

The book is primarily focused on .NET.

The book also contains strategies for web development. The examples for web development are written using ASP.NET MVC and JavaScript/Globalize. You can however apply the sample principles in any other type of application.

In the book I’ll be using .NET 4. There are some minor changes compared to earlier versions. You can for instance assign a neutral culture to CurrentCulture (see first chapter for more information). There are also some new features in .NET 4.5 that have not been included in this book.

Throughout this book I’ll skip the terms localization (i10n), internationalization (i18n) and globalization. If you look them up, you’ll find as many definitions as there are developers.

...

Another link for you the author's, Jonas Gauffin, blog and post on this book.

 

Related Past Post XRef:
"Visual Studio 2013 Succinctly" free [reg-ware] now available from... you guessed it, Syncfusion
"Windows Phone 8 Succinctly - The practical approach to Windows Phone 8 development" eBook (Reg-ware)
Succinctly eBook of the Day: "Twitter Bootstrap Succinctly" [Reg-ware]
Need some help up the WPF learning curve? "WPF Succinctly" from Syncfusion is now available (and free :)
TypeScript Succinctly - Free [Name/email-ware] eBook
Getting sharp with F# with the free "F# Succinctly" eBook [reg-ware]
Syncfusion helps shed a little succinct light on LightSwitch with "LightSwitch Succinctly" (Reg-ware)
"JavaScript Succinctly" - Another free (reg-ware) eBook from Syncfusion
Get into sync with HTTP with the new free (reg-ware) Syncfusion Succinctly eBook, "HTTP Succinctly"
Spelunk the technical details of the PDF format with "PDF Succinctly" from Syncfusion (Free/reg-ware PDF/Mobi ebook)
"Git Succinctly" Free/reg-ware PDF/Mobi ebook)
jQuery Succinctly - Free eBook (reg-ware, PDF and/or Mobi)

Tuesday, August 19, 2014

Conference networking for Geeks and Dev's err... I mean, "Conference networking for the socially awkward"...

simple-talk - Melanie Townsend - Conference networking for the socially awkward

Do you approach a room full of strangers with excitement at all the new people you’re going to chat to over coffee and a muffin as you swap tales of how you convinced your manager to give you the day “off”? Or, do you find rooms full of strangers intimidating and begin by scouting out a place you can stand quietly and not be in someone’s way until the next session begins?

If you’re on the train to extrovert city, that’s great, well done, move along.

If, on the other hand, a room full of strangers who all seem to inexplicably know each other already is more challenge than opportunity, then making those connections with other professionals can be more difficult. So, here’s some advice, some gleaned from other things I’ve read online when trying to overcome my own discomfort in large groups (hopefully minus the infuriating condescension), others are just things I’ve found helpful over the years.

...

Everyone’s got their own coping technique. Some people are able to remind themselves that “humans are fundamentally social creatures” and somehow that helps them, others drink which is not really something I recommend for professional conferences but to each their own, and some focus on the fact that networking can play a big role in their career path. Just do what works for you, and if there’re any tricks you’ve found helpful over the years, please share em.

image

..."

It's not that I am social awkward.... um... it's that.... um... well.... you know... people... um...

yeah...

Actually the key thing is to remember that your conference peers are probably as "awkward" as you. As is said, "Fake it until you make it." Just pretend you're comfortable, that all these people around you are not really staring at you, wondering what planet you just arrived from (and you KNOW you took a shower, so it's not THAT) and, well.... Ah hell...

Tell you what. Start with a smile and say "Hi" and see where it goes from there. Remember every journey starts with that first step...

The .NET Framework has LongPath (> MAXPATH) support? Yes! Well, kind of, it's private...

Did you know the .NET Framework has classes to handle "Long Paths" (i.e. Paths > MAXPATH)? How long have we been hoping for that? A decade+ (Look at my XRef below, been blogging about this since 2004... sigh). So when I saw them, I jumped for joy. Finally! Woot!

The problem is is that we can't use them! sigh...

They are private and not exposed for us to use, i.e. they are only .NET internal usage. And guess what? Had to chuckle at this, the .NET team uses them in the IsolatedStorage system. They handle their possible long path issues, but don't share. Didn't they go to kindergarten? Sharing is good! LOL

Think I'm smoking dope? Check this out...

system\io\longpath.cs

image image 

image

imageimage

.NET Framework Team, you guys are such a tease...  :)

Lets hope that maybe we'll see this, or something like it, publicly one day. We can only hope. In the mean time, there's a number of libraries you can use. I use AlphaFS mostly and while it's been around for a while, it's still alive and updates and fixes are still being checked in.

UPDATE (8/20/2014)

On the train into work today I realized that the LongPath.cs is focused on local drive only. It doesn't support file shares (i.e. \\?\UNC\...). Which makes since given its current use case, isolated storage (which is always local).

If you're spelunking that its source, keep this implementation limitation in mind...

 

Related Past Post XRef:
MAX_PATH got you down? Zoom over to the Zeta Long Paths project

AlphaFS v1.5 Released (think "The 'Long Path' IO support the BCL doesn't yet have..." or "Don't 'W' [Wide/Unicode API/etc] P/Invoke your Path API's when AlphaFS has done it already for you..." or "How I learned to love and use Volume Shadow Service paths from .Net")
AlphaFS – Some Max_Path, Transactional NTFS, hard links, and more .Net System.IO.File/Path/Directory Help (alpha)

Powering into RoboCopy with the PowerShell RoboCopy clone, RoboPowerCopy (which even includes Long Path support...)

The Long Path for the BCL Team
Introduction of the BCL CodePlex project (code samples, previews, prototypes, etc from the BCL team) – Includes “Long Path” library direct from the BCL Team (think “Breaking out of MAX_PATH”)

Subsytem for Unix (SUA) Utilities and SDK For Windows 2008 and Vista SP1
The PInvoke tool you've been looking for all this time... the "PInvoke Interop Assistant"
Using GetFileAttributes to Test for File Existence
Unicode Path Fun...

Monday, August 18, 2014

.NET vNext doesn't currently look like it's side-by-side "5.x," instead it's an in-place update like a 4.5.+ (so maybe 4.6'ish... ?)

We recently heard that after Jan 12, 2016, only .NET 4.5.2 would be getting technical support and security updates (Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)). In that same post there was mention about .NET vNext.

Today, we hear a little more about it and how we can start working with it (Visual Studio 14 CTP 3, which was also released today). But in reading the post it currently looks like the base .NET Framework vNext might be a 4.5.x or 4.6 kind of release. Now it's REALLY early in the release cycle and we're only talking CTP and there's a ton of other non base framework stuff we're getting, so don't freak out. Also Microsoft has been pretty clear that the base framework that we've known and lived with in the past is not going to be the primary deployment vehicle anymore....

In any case, here's the clip that I'm talking about;

.NET Framework Blog - Try out the new releases: .NET Framework vNext, ASP.NET vNext, .NET Native and RyuJIT

Today, we are announcing updated versions of .NET Framework vNext, ASP.NET vNext, .NET Native and RyuJIT. You can try out these new releases by installing Visual Studio “14” CTP3. Please tell us what you think.

The .NET Framework vNext

We are releasing an early build of the .NET Framework vNext with Visual Studio CTP 3. This early release includes a relatively small number of changes beyond what we shipped in the .NET Framework 4.5.2. Today’s release includes a handful of bug fixes, including many for WPF.

.NET Framework vNext is currently only available via Visual Studio 14 CTP3. We will include a separate installer later in the year. The .NET Framework vNext is an in-place update on top of the .NET Framework 4 and later versions. [GD: Emphasis added] It is supported on Windows Vista SP2, Windows Server 2008 SP2 and later versions. It does not yet have a “Go Live” license, so is not yet supported in production.

...

ASP.NET vNext...

.NET Native...

RyuJIT – Next Generation JIT Compiler...

..."

The in-place update makes it sound like the 4.5.1,4.5.2 kind of update... That it's not a stand alone, side-by-side kind of release we saw with 4, 4.5. Not sure if that's good or bad, and I can see both sides of that, but it is interesting as in my mind I was thinking we were about due for a new base, a side-by-side 5.x .Net. Looks like that's not the case.

Will be keeping an eye on this as the release progresses...

 

Related Past Post XRef:
Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)
Microsoft .NET Framework 4.5.2 Released
.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Bing Developer Assistant Beta for Visual Studio updated to include sample browser, offline support and more...

Bing Dev Center Team Blog - Bing Developer Assistant for Visual Studio focuses on improving productivity within the experience

Bing Developer Assistant for Visual Studio combines the functionality of two popular Visual Studio extensions into one: Sample Browser and Bing Code Search. This updated feature enables developers to find and reuse millions of code snippets and code sample projects from within the Visual Studio IDE.

The improved feature was developed after listening to customer feedback that a more efficient in-product search experience would allow them to not only find sample codes quickly while in Visual Studio, but would also have the capability to pull in relevant sample codes related to the developer projects themselves while coding, and include offline search. This collaboration across company and with our customers has helped us deliver all of these experiences within the New Bing Developer Assistant for Visual Studio!

What’s new with Bing Developer Assistant?

  • New Visual Studio IntelliSense experience to find code samples for API
  • Sample Browser one-stop shop
  • Offline search

Bing Developer Assistant delivers a major enhancement in Visual Studio IntelliSense. While coding, a relevant code snippet related to your current API will be automatically displayed in the IntelliSense window which is powered by Bing Code Search. Code snippets are short piece of code that you can easily learn and copy.

image

...

The Sample Browser window is now your one-stop shop for code samples. By entering your programming needs on the Visual Studio toolbar, you will get both code snippets and code sample projects. Code sample projects are complete Visual Studio demo solutions that you can download, build and run. With the new Bing Developer Assistant for Visual Studio, a world of code samples are now at your fingertips

...

We have also added a 3rd feature heated requested by our users – Offline search. The new plugin enables you to search for code samples among your local or downloaded sample projects even when you are disconnected from the Internet....

...

What’s next?

We have an ambitious roadmap for Bing Developer Assistant for Visual Studio. As we mentioned earlier, there are plans to support more programming languages in the Visual Studio IntelliSense window. In addition, we are investigating expansion of the tool into other developer experiences within the company; enterprise code search, compile / debug error assistance, and MSDN forum support.

...

Google code search with Bing... :P

 

Related Past Post XRef:
Bing your IDE to this new C# Code Search VS Extension (from Bing)

Monday, August 11, 2014

Visual Studio Item, Project Templates? SideWaffle!

You all already follow my Microsoft Channel 9 posts, right? Like this morning's Coding4Fun Blog post, No waffling here... SideWaffle and a step-by-step guide to create Visual Studio Item Templates?

So I don't need to tell you just how cool I found SideWaffle to be? What, you might have missed it? Well then...!

SideWaffle 

Templates for Visual Studio 2012/2013

Download a delicious side dish for Visual Studio

SideWaffle is an extension

The SideWaffle extension adds a bunch of useful Snippets, Project- and Item Templates to Visual Studio. The purpose is to make your daily work in Visual Studio a richer and more productive experience.

Content
  • Project templates
    • Basic Scaffolder
    • Blank App
    • Browser Link Extension
    • Browser Link Extension (simple)
    • Caliburn.Micro WPF Application
    • Code Snippet Extension
    • Console Application Async
    • Durandal451
    • Google Chrome Extension
    • Google Chrome Theme
    • Google Chrome Web Store App
    • HTML5 Boiler Plate v4.3
    • Nancy demo
    • Nancy empty project with ASP.NET host
    • Nancy empty project with ASP.NET host and Razor
    • Nancy empty self hosted
    • Nancy empty self hosted with razor
    • Nancy with ASP.NET host
    • Nancy with ASP.NET host with Razor
    • Nancy with self host
    • Nancy with self host with Razor
    • Template from html5up.net
    • Windows Azure WebJobs Console Application
  • Item templates
    • _preprocess.xml
    • A basic NuGet .nuspec file
    • An advanced NuGet .nuspec file
    • AngularJs Controller using $scope
    • AngularJs Controller using 'Controller as'
    • AngularJs Directive
    • AngularJs Factory
    • AngularJs Module
    • AngularJs TypeScript Controller using $scope
    • AngularJs TypeScript Controller using 'Controller as'
    • AngularJs TypeScript Directive
    • AngularJs TypeScript Factory
    • AngularJs TypeScript Module
    • ASP.NET Scaffolding T4 files.
    • Basic build script
    • Basic props file
    • Basic SignalR Hub and HTML Client Page
    • Basic targets script
    • Browser Link extension (VS2013 only)
    • Build script with NuGet automatic package restore.
    • Caliburn Micro Bootstrapper
    • CKEditor plugin
    • Code Snippet
    • Customize ASP.NET T4 Files
    • DurandalJs Controller
    • DurandalJs main.js
    • DurandalJs Service
    • DurandalJs ViewModel
    • Editor Drop Handler class
    • Empty PowerShell file
    • Favicon .ico File
    • FirefoxOS manifest
    • GruntJS configuration file
    • HTML Smart Tag (VS2013 only)
    • HTML Validator Class (VS2013 only)
    • HTML Whitespace Removal HttpModule
    • Humans.txt File
    • Jasmine Spec and HTML files
    • Jasmine Spec file
    • JavaScript IIFE
    • JavaScript IIFE Module/Namespace
    • jQuery Plugin
    • JSHint Ignore File (.jshintignore)
    • JSHint Rules File (.jshintrc)
    • JSON Schema File
    • JSON Schema Selector Extension
    • Karma Configuration File
    • Knockout Custom Binding
    • Mocha Test Framework
    • Nancy bootstrapper
    • Nancy module
    • Ninject Controller Factory
    • NUnit Fixture
    • Offline Application Cache Manifest
    • Package Definition (.pkgdef)
    • Package.json for NodeJS
    • QUnit Spec and HTML files
    • QUnit Spec file
    • Readme.md File
    • Readme.md Markdown File
    • RequireJs File
    • Robots.txt File
    • SideWaffle Definitions Folder
    • SideWaffle Item Template
    • SideWaffle Project Template Files
    • SVG File
    • TinyMCE plugin
    • TSLint Rules File (tslint.json)
    • VS Command Table (.vsct)
    • Web API 2 Empty Controller
    • WebVTT File
    • Windows Azure Blob Upload Helper
    • Windows Azure Cloud Service Plugin
    • Windows Azure Table Storage Entity
  • Snippets
    • Angular Controller
    • Angular Directive
    • Angular Service
    • Cross Browser Background Linear Gradient
    • Cross Browser Background Radial Gradient
    • Dispose
    • Nancy - Delete
    • Nancy - Get
    • Nancy - Head
    • Nancy - Options
    • Nancy - Patch
    • Nancy - Post
    • Nancy - Put
    • WCF Client Usage
Open Source

SideWaffle is open source and everyone is invited to contribute. The code is on GitHub.

The entire project is 100% community driven.

See what I mean? How cool is that!

And make sure you don't miss Richard Kerslake's post, A step by step guide to developing Visual Studio item templates using SideWaffle

 

Places you can find me on Channel 9;

Remember SketchFlow? It's still around and still a cool prototyping tool...

Illuminate - Blend for Visual Studio 2013 Prototyping Applications with SketchFlow

SketchFlow enables rapid creating of dynamic interface mockups very quickly. The SketchFlow workspace is the same as the standard Blend workspace with the inclusion of three panels: the SketchFlow Feedback panel, the SketchFlow Animation panel and the SketchFlow Map panel.

By using SketchFlow to prototype, you can get feedback early in the process. It helps to surface possible issues, lower development iterations, and increase stakeholder buy in. SketchFlow prototypes not only provide an initial look but also provide a way to add additional ideas and input and make sure the team is on track prior to investing in complete development.

When you have completed the prototyping, you can discard the prototype and just use the lessons learned to design the application from or extract individual elements from your prototype and include them in the application. I don’t recommend trying to transition the entire project into a development project.

Objects that you add with the SketchFlow style have a hand-sketched look. The sketch style is used to remind stakeholders that this is a prototype. This encourages them to focus on the flow and functionality without getting distracted by design details.

image..."

While I use PowerPoint Storyboards for most of my design/visual prototyping (yes, even though I didn't "get why" for the longest time... now you can take my PPSB from my cold de... ;), there's still much to be said for a prototyping solution you can "ship" to your users, one that they can play with an really see how stuff might really work, annotate it, etc.

You all know how it is. Users really need something to click on, something to run to really get what an app is going to do. Storyboards are great, but like I said... you know how it is. Clicking is the road to understanding.

If this is your world, SketchFlow might be something you should take another close look at, heck it's free (if you have VS Ultimate or Premium at least...)

 

Related Past Post XRef:
Blend for VS2013 Windows Phone SketchFlow Templates
For the Win[JS] - Blend for Visual Studio 2012 now available (and Blend for WPF/SilverLight & SketchFlow Preview too)
Will the real Windows Phone 7 SketchFlow Template please stand up...
Sketching out an WP7 user interface and interaction with SketchFlow
A SketchFlow Two-fer day - “Shawn Wildermuth on SketchFlow/dnrTV” and “Prototyping a WPF-3D game design workflow using TrueSpace 3D, Expression Blend 3 with SketchFlow, and exporting the prototype to XNA Game Studio.”
“Application Prototyping with SketchFlow” Refcardz
Four Expression 3 Starter Kits, two for Blend and two for Web, focusing on Sketchflow, Gaming, SuperPreview and SilverLight.

Your huge step-by-step guide to compiling 1992... I mean, Wolfenstein 3D (Yes, that Wolfenstein) circa 1992...

Fabien Sanglard's Website - Let's Compile like it's 1992

"I have been tinkering with the vanilla source code of Wolfenstein 3D from 1992. Even though it is more than 20 years old and has rotten for modern systems, you can still compile it if you recreate the environment. All you need is :

  • Wolfenstein 3D source code.
  • DosBox.
  • The Compiler Borland C++ 3.1.
  • Wolfenstein 3D shareware (for the assets).

...

imageimage

...""

Also note the links are provided to everything you need too. Looks like a fun weekend project... :)

Wednesday, August 06, 2014

Reactive Extensions for mere mortals (and using them to merge Window Closing KeyEvents and MouseClicks events)

Loek van den Ouweland - Use Reactive Extensions to merge KeyEvents and MouseClicks to close a window

After reading this post, you’ve learned how to convert MouseClick  and KeyDown events into observable collections. You’ll see how you can even make these collections more convenient by merging them into one stream that tells your window to close with or without saving data.

Before we begin

How would you do this with events? Easy. Create a KeyDown event and ButtonClick events.

  • VirtualKey.Enter -> Close(true)
  • VirtualKey.Escape -> Close(false)
  • ButtonOK.Click -> Close(true)
  • ButtonCancel.Click -> Close(false)

...

image..."

I thought this a cool example of how Reactive Extensions is shown to be useful and usable by mere mortals. As they say in RX land, "Life is but a stream [of data]"

How portable is your application? - The .NET Portability Analyzer knows...

Beth Massi - Channel 9 Interview - Fun with the Interns: Charles Lowell on the .NET Portability Analyzer

A couple weeks ago when I was up in Redmond I had the pleasure of interviewing some interns on the .NET team to talk about their experience as an intern at Microsoft and to show off the projects they are working on.

In this first interview I sit down with Charles Lowell, a Software Development Engineer in Test. He has been working on a cool Visual Studio extension called the .NET Portability Analyzer. As developers need to target more and more platforms this tool can be a big help in analyzing how portable your .NET code is. It gives you a quick overview of the changes that you would need to make in order to be able to port your code to a given platform. 

Watch: Fun with the Interns: Charles Lowell on the .NET Portability Analyzer

image

...

.NET Framework Blog - Leveraging existing code across .NET platforms

Today we are happy to announce the alpha release of the .NET Portability Analyzer extension for Visual Studio. Please try it out. This add-in was created by our software developer intern Charles Lowell.

Over the last few years, consumers and enterprise employees are using more devices than before which run different operating systems like iOS, Android, Windows Phone, and Windows 8. As a result developing apps for different platforms is almost a requirement now. With the release of the .NET Portability Analyzer extension we are integrating the ability to reason about portability of your existing code into your development environment. This will allow you an easy way to understand how portable your code is and get recommendations to write your code so that your code just works across platforms.

You may have seen Tech Ed 2014 announcements & .NET blog post on “Targeting Multiple Platforms”. This post continues from there.

Understanding portability with Visual Studio

In our previous post we introduced the command line .NET Portability Analyzer. However, we felt that the acquisition and discovery of the tool for developers would be aided if we were to integrate the experience into VS. Additionally the integration into Visual Studio allows us to pinpoint the source locations where incompatible APIs are found to be. You can download it here. ...

...

image

...

Wrapping Up

Using this tool enables you to quickly get a high level understanding of the work that needs to be done to port to a given platform. While it may appear that you would need to do work every time that you want to target a new platform, we on the .NET framework team are working to enable a vision of single .NET surface area. Our goal is to have parity across the APIs that we expose on our Modern framework stacks. The only reason for a missing API would be its lack of applicability to a given application model or platform.

The introduction of the Visual Studio extension makes it easy to reason about the migrating of code to a new platform. Depending on what your business requirements are you can easily prioritize and understand the costs of supporting a new platform. In addition this tool give us insights into the biggest pain points that you face when migrating your code. We would love to hear your feedback on how to make this tool better! Please let us know what you think by either leaving a comment on this post or reaching out to the team at NETAPIPort@Microsoft.com.

Visual Studio Gallery - .NET Portability Analyzer

How portable is your application?

The .NET Portability Analyzer helps you determine how flexible your application is across .NET platforms.

Features:

· Analyze assemblies for compatibility with your target platforms

       Get a report gauging the portability of your application:

image

..."

Need I really say more?

Wednesday, July 30, 2014

Did you know you could update/contribute to some (OpenXML for now) MSDN Doc's via a GitHub repo?

When writing my last post,Using the OpenXML SDK Productivity Tool to "decompile" Office documents (Turn *X files into the C# OpenXML SDK code that would generate them),  I came across this;

image

I'm like, "What?" No...

Yep!

OfficeDev/office-content

Contains content from dev.office.com that is openly editable by the public.

Ways to contribute

You can contribute to Office developer documentation in a few different ways:

*We're only taking documentation contributions for the OpenXML Conceptual content at this time

Repository organization

The content in the office-content repository is grouped first by article language, then by topic. The README.md file at the root of each topic directory specifies the structure of the articles within the topic.

Article within each topic are named by MSDN GUID rather than title name. This is a side effect of our document management process and cannot be changed at this time. We highly recommend using the table of contents within each topic directory (see links below) to navigate to the files you wish to view or edit.

Articles in this repository

Open XML

Before we can accept your pull request

...

SNAGHTML15f192b1image

Now that's cool...

Using the OpenXML SDK Productivity Tool to "decompile" Office documents (Turn *X files into the C# OpenXML SDK code that would generate them)

Ode To Code - Easily Generate Microsoft Office Files From C#

"...

These days, Office files are no longer in a proprietary binary format, and are we can create the files directly without using COM automation. A .docx Word file, for example, is a collection of XML documents zipped into a single file. The official name of the format is Open XML.

There is an SDK to help with reading and writing OpenXML, and a Productivity Tool that can generate C# code for a given file. All you need to do is load a document, presentation, or workbook into the tool and press the “Reflect Code” button.

image

The downside to this tool is that even a simple document will generate 4,000 lines of code. Another downside is that the generated code assumes it will write directly to the file system, however it is easy to pass in an abstract Stream object instead.

So while this code isn’t perfect, the code does produce valid document and..."

I've been blogging about the OpenXML SDK for years now, but I think this is the first time I've seen this part of it, this utility. And like he says, 4K LoC is like, well, allot, it does look like an awesome way to learn the low level OpenXML SDK ins and outs.

 

Related Past Post XRef:
Open Sesame - Open XML SDK is now open source

Using OpenXML to load an Excel Worksheet into a DataTable (or just how different OpenXML is from the old Excel API we're used too)

Using OpenXML SDK to generate Word documents via templates (and without Word being installed)
Checking for Microsoft Word DocX/DocM Revisions/Track Changes without using Word... (via OpenXML SDK, LINQ to XML or XML DOM)
LINQ to XlsX... Using VB.Net, LINQ, the OpenXML SDK and a little C# helper, to query an Excel XlsX
Using native OpenXML to create an XlsX (Which provides an example of why I highlight tools that make OpenXML easier...)
Generating Xlsx's on the Server? You're using OpenXML, right? With help from the PowerTools for OpenXML?

Official boat-load, as in supertanker, sized OpenXML content list (Insert "One OpenXML content list to rule them all" here)
So how do I get from here to OpenXML? Got a map for you, an Open XML SDK Blog Map…
Where to go to scratch your OpenXML dev info itch…
"Open XML Explained" Free eBook (PDF)
The Noob's Guide to Open XML Dev (If you know how to spell OpenXML but that's about it, this is your Getting Started guide...)

Reusing the PowerShell PowerTools for Open XML in your C# or VB.Net world
PowerShell, OpenXML, WMI and the PowerTools for OpenXML = Doc generation for our inner geek
Because it’s a PowerShell kind of day… PowerTools for Open XML V1.1 Released
OpenXML PowerTools updated – Cell your Excel via PowerShell
Powering into OpenXML with PowerShell

Open XML SDK 2.0 for Microsoft Office Released – Automate Office documents without Office

Open XML 2.0 Code Snippets for VS2010 (and VS2008 too)
Open XML Format SDK 2.0 Code Snippets for Visual Studio 2008 – 52 C#/VB Code Snippets to help ease your Open XML coding
Open XML File Format Code Snippets for Visual Studio 2005 (Office 2007 NOT required)

Open XML SDK v1 Released

OpenXML Viewer 1.0 Released – Open source DocX to HTML conversion, with IE, Firefox and Opera (and/or command line) support

[Cool Webook of the Day] "Eloquent JavaScript"

Eloquent JavaScript

This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, and a paper version is being worked on.

image

Written by Marijn Haverbeke.

Licensed under a Creative Commons attribution-noncommercial license. All code in this book may also be considered licensed under an MIT license.

image

A couple of my feeds mentioned this today, so I thought I'd take a look. Glad I did. This looks like an awesome book, while initially focused on the beginner dev, quickly it becomes something for the new, or returning, to JavaScript dev. And since js is the currently shiny...

Tuesday, July 29, 2014

"Killer Free [Free as in free from nag's, calls, whines, free] SQL Tools" from ApexSQL. Includes ApexSQL [Auto] Complete, ApexSQL Refactor and ApexSQL Search

Dirk Strauss - ApexSQL Provides Excellent SQL Tools For Free

"ApexSQL has a few free tools on their site. Before I carry on, I was in no way compensated for this blog post at all. Now that is out of the way, check out ApexSQL tools. I was amazed by the feature richness of these tools. I would be amiss if I didn’t share this with the developer community out there. If you are a developer using SSMS, you definitely must download their free tools and give them a try.

...

These tools are:

  • ApexSQL Complete
    • SSMS and VS integration
    • SQL syntax checking
    • SQL object descriptions
    • SQL code completion
    • SQL code visualization
    • Snippet management
  • ApexSQL Refactor
    • SQL parameter management
    • SQL formatting
    • Consistent code layout
    • Database object refactoring
    • Batch formatting
    • One-to-many relationship replacement
  • ApexSQL Search
    • Smart renaming
    • Text search
    • Database object search
    • Easy SSMS tab navigation
    • SQL code cleaning
    • Graphical dependencies

..."

ApexSQL - Killer Free SQL Tools

"...

image

Why choose ApexSQL free tools?

Great software

We strive to ensure that even though these tools are Free, we still strive for a "Best of Class" product, including, performance, usability, and quality in its respective product class. If you think we can improve our Free tools please contact us to let us know how!

Feature rich

Our free tools implement all the features you need for FREE, including SQL formatting, Database object and Text search, Smart renaming, SSMS and Visual Studio integration, SQL refactoring, and much more. These are features that you would actually have to pay for … but don’t have to!

Continuous development

Just like all of our other tools, we strive to release updates to our Free SQL tools regularly, fix problems, improve performance, and add features. We look to maintain host integration with new versions of SSMS and Visual Studio when they come out. See What's next, to check out our product roadmap

Killer support

Don’t think that because these tools are free that they are unsupported! We still offer Full support via bundle subscriptions including email, phone, and WebEx for all of our Free tools. Even without a subscription to a bundle we are happy to answer questions via our forum and attempt to address any and all issues quickly

Yes, these tools are really FREE

  • No crippleware, time bombs, or bait and switch
  • No annoying embedded ads or nag screens
  • No additional costs to upgrade to newer versions of SQL Server e.g. 2012, 2014
  • No professional version or non-free features you must pay for
  • No mandatory re-installs
  • No requirement to install additional, non-free software
  • No phone calls from sales people

..."

I'd recently seen, and have been meaning to blog about, ApexSQL Complete being free, but I didn't know about the other tools being available. Kudo's to Dirk for making it really clear what was free and how "free" they were!

FiddlerCore [Yes, that Fiddler]Core - A .Net Library that lets you add a little Fiddler to your apps

Rick Strahl's Web Log - Using FiddlerCore to capture HTTP Requests with .NET

Over the last few weeks I’ve been working on my Web load testing utility West Wind WebSurge. One of the key components of a load testing tool is the ability to capture URLs effectively so that you can play them back later under load. One of the options in WebSurge for capturing URLs is to use its built-in capture tool which acts as an HTTP proxy to capture any HTTP and HTTPS traffic from most Windows HTTP clients, including Web Browsers as well as standalone Windows applications and services.

To make this happen, I used Eric Lawrence’s awesome FiddlerCore library, which provides most of the functionality of his desktop Fiddler application, all rolled into an easy to use library that you can plug into your own applications. FiddlerCore makes it almost too easy to capture HTTP content!

For WebSurge I needed to capture all HTTP traffic in order to capture the full HTTP request – URL, headers and any content posted by the client. The result of what I ended up creating is this semi-generic capture form:

image

In this post I’m going to demonstrate how easy it is to use FiddlerCore to build this HTTP Capture Form. 

If you want to jump right in here are the links to get Telerik’s Fiddler Core and the code for the demo provided here.

Note that FiddlerCore is bound by a license for commercial usage – see license.txt in the FiddlerCore distribution for details.

...

[A whole bunch cut out]

Summary

FiddlerCore is a pretty sweet tool, and it’s absolutely awesome that we get to plug in most of the functionality of Fiddler right into our own applications. A few years back I tried to build this sort of functionality myself for an app and ended up giving up because it’s a big job to get HTTP right – especially if you need to support SSL. FiddlerCore now provides that functionality as a turnkey solution that can be plugged into your own apps easily.

The only downside is FiddlerCore’s documentation for more advanced features like certificate installation which is pretty sketchy. While for the most part FiddlerCore’s feature set is easy to work with without any documentation, advanced features are often not intuitive to gleam by just using Intellisense or the FiddlerCore help file reference (which is not terribly useful). While Eric Lawrence is very responsive on his forum and on Twitter, there simply isn’t much useful documentation on Fiddler/FiddlerCore available online. If you run into trouble the forum is probably the first place to look and then ask a question if you can’t find the answer.

The best documentation you can find is Eric’s Fiddler Book which covers a ton of functionality of Fiddler and FiddlerCore. The book is a great reference to Fiddler’s feature set as well as providing great insights into the HTTP protocol. The second half of the book that gets into the innards of HTTP is an excellent read for anybody who wants to know more about some of the more arcane aspects and special behaviors of HTTP – it’s well worth the read. While the book has tons of information in a very readable format, it’s unfortunately not a great reference as it’s hard to find things in the book and because it’s not available online you can’t electronically search for the great content in it.

But it’s hard to complain about any of this given the obvious effort and love that’s gone into this awesome product for all of these years. A mighty big thanks to Eric Lawrence  for having created this useful tool that so many of us use all the time, and also to Telerik for picking up Fiddler/FiddlerCore and providing Eric the resources to support and improve this wonderful tool full time and keeping it free for all. Kudos!

Resources

...

" [Click through for the rest... yes, you'll want too... oh just click already... ;]

I was first going to ask "When did Telerik buy Fiddler?" but then saw I already blogged about that almost two years ago. sigh... darn old brain.

Anyway, this is the first I'd heard of FiddlerCore (I think, lol) and Rick does a great job of introducing it and running it through its paces. If you need to packet/network sniff in your apps (i.e. you've said to your self, "Self, I wish I could build something like Fiddler into my app," well you can! (and stop talking to yourself, it's a little creepy ;)

 

Related Past Post XRef:
Fiddler (yes, that Fiddler) has been acquired by Telerik... [Updated with snips from Chris and Eric, Fiddler = Free++]

What do Fiddler, LinqPad, Excel and SharePoint have in common? Testing and consuming OData of course!
Fiddling as the web burns (or how to find out why it's burning) - “Debugging with Fiddler" book now available
eXpert Web Performance Analysis via Fiddler - Microsoft neXpert Performance Analysis Plugin [For Fiddler]
15 Second Introduction to Fiddler
Fiddler 2.1 Released...
Fiddler2 (Fiddler + HTTPS) Alpha Released
Microsoft Fiddler 1.2 Released and now Officially Out of Beta
Fiddler PowerToy - Part 1: HTTP Debugging
Fiddler HTTP Debugger - Fiddler

Bringing some Unity to Visual Studio - "Visual Studio Tools for Unity 1.9" now available for free for VS 2010/12/13

The Visual Studio Blog - Visual Studio Tools for Unity 1.9

Today we released the Visual Studio Tools for Unity add-on (formerly known as UnityVS). It is now available for download on the Visual Studio Gallery at the following links:

VSTU is Microsoft’s free Visual Studio add-on that enables a rich programming and debugging experience for working with the Unity gaming tools and platform. This is our first release since the acquisition of SyntaxTree, and we’re excited to have the opportunity to reach to the Unity community with Visual Studio.

image

Here are the highlights in today’s 1.9 release:

  • Faster debugger. Attaching and detaching the debugger as well as expanding local variables is now faster.
  • Faster startup. Opening VSTU projects is now faster.
  • Better handling of C# constructs. The local variables window is now properly populated when debugging iterators or when variables are accessed inside closures.
  • Start your game and your debugging session in one click. This feature is one of our most-requested: you can now attach the debugger and start the game by simply changing the debug target. This is only available in Visual Studio 2012 and 2013.

And many more new features and bug fixes as you can see in our changelog. ...

If you're doing Unity dev, this free tool looks like an important to have one.

Funny, before Build I WAG'd that Microsoft would buy Unity. Guess I was sort of right... kind of... :P

Thursday, July 17, 2014

Make your Debugger feel Pretty, with help from DotNet Pretty your Debugger*Attribute helper

<gordon's blog/> - Introduction to DotNet Pretty

Some Background on why

Another thing that come out of last weeks training was Visual Studio Debuggers. This lead to me finding the coolest visualizer ever called TPL Dataflow Debugger Visualizer which allows you to easily visualize your TPL Dataflow

image

Because I found this awesome visualizer I decided that everything while debugging could be awesome if there were more of these so I have created a GitHub project called DotNet Pretty where I plan on creating many visualizers to really try light up the debugging experience.

What is DebuggerDisplayAttribute?

In case you don't know DebuggerDisplayAttribute is used when you want to have a "pretty" representation of the properties in your class when seeing it in the debugger.

...

It doesn't seem like such a big deal with 1 object but think of how easy it would be to know stuff about objects when they in a list if they each implemented this attribute. Now obviously to use the attribute like this you need to own the object so you can add the attribute and release it.

DotNet Pretty's first contribution

The first contribution to DotNet Pretty is one that was used in the training which allows you to use the DebuggerDisplay Attribute in a different way.

Code

This time you specify the target in the attribute like below...

image

...

How is the TDL Dataflow visualizer done?

In short the TPL Dataflow visualizer uses the DebuggerVisualizerAttribute which looks something like below

image

I will do a in detail post on DebuggerVisualizer Attribute when I add one to DotNet Pretty. For now though you can browse the source code of the TPL Dataflow Debugger Visualizer on CodePlex.

So what's the plan?

My plan at the moment is to find the .net types that I use most and implement visualizers for them. I'm planning on trying to get some nice ones in for TFS objects like Work Items. I'm hoping that others will use this library of visualizers and fork the code and help grow it.

...

We, well I, really don't much action, press, chatter about Debugger*Attribute usage. That's why when I saw TPL Dataflow Debugger Visualizer I had to queue it up for a Coding4Fun Blog post. Now Gordon's post. Looks like it's time for a little Debugger*Attribute resurgence doesn't it?

Wednesday, July 16, 2014

Using OpenXML to load an Excel Worksheet into a DataTable (or just how different OpenXML is from the old Excel API we're used too)

dotnet thoughts - Read Excel as DataTable using OpenXML and C#

In the current project we were using OpenXML extensively for reading Excel files. Here is the code snippet, which will help you to read / convert Excel files to DataTable.

image

..."

You've heard me whine about how, while OpenXML is cool and how nice it is that we can access Office 2007+ files without Office or third party apps, yet the API is pretty darn different for traditional Office Object Model users? This screenshot shows why... Parts, SharedStringTables, oh my... It's not hard, just takes a while to wrap your head around.