Monday, September 28, 2009

“Getting Started with Windows Presentation Foundation” (WPF) Cheatsheet/Refcard from DZone

DZone Refcardz - Getting Started with Windows Presentation Foundation

“… The intent of this DZone Refcard is to help you understand the basics of WPF.  In this DZone Refcard, the Authors work to bring you a solid foundation of the basics of WPF ranging from XAML to Data Binding.

image 

Six pages (well 5 1/2) of pages of dense “getting started” WPF information. If you’re “WPF Guy!” already, then this will likely all be old hat to you, but if you’re like me, and just starting to dip your toes into WPF (sigh), then this seems to be a pretty cool resource.

The marketing message is limited to that quarter column on page one you can see below and half page on page 6, which is perfectly acceptable IMHO (As I always seem to say, “What do you want for free, you’re money back?”)

image

Sunday, September 27, 2009

A Feed You Should Read #5 – Team System Rocks

Today’s “A Feed You Should Read” continues with the link blog theme, yet with a minor twist. Quantity is great, yet so is focus. This feed focuses on one general technology, Microsoft’s Visual Studio Team System (VSTS).

Team System Rocks - Team System News

image

Background:

One tech, is that enough to sustain a link blog over the long haul?

LOL, if you are asking yourself that question, then this really IS a feed you should read. Visual Studio Team System, which encompasses the different Visual Studio Team editions and Team Foundation Server (TFS), is a huge monster and has easily filled Mickey Gousset's link hopper for years. And that monster is going to roar with next year’s release of VS2010.

Team System News has provided constant VSTS links and information since mid-2005 (looks like my first reference was in March 2006).

Why do I like this feed and think you might also?

Why? Because Mickey is one of the VSTS/TFS guys! He speaks on the subject often, co-hosts the Radio TFS podcast, and has a driving and determined interest in all things VSTS.

I hung out with Mickey for a few hours at TechEd09 and watched him as he interacted with people. His eyes would light up and his interest and knowledge about the product was almost palatable. From word one, you knew this guy knew his shit (um… err… DEL DEL DEL… “knew his stuff” …yeah… ;)

The links in his posts show that interest and depth. Also I like how the posts, a couple+ a week at least, are simple, straight forward and easily digestible.

You should read this feed if you are using, or interested in using, Visual Studio and/or Team Foundation Server. Even if you’re using an Express edition, you should check out this feed. Why? Because a number of the “Team” features have moved down the stack toward you… And to help you answer the question, “Why do we need Team Edition XXX…”. You’ll be able to answer with real world solutions and information, curtsy of Team System News, and not be dependant on sales/marketing-ware from Microsoft.

Needless to say, if you are already a Visual Studio Team Edition user, then this feed should be one of your first stops of the day (in your feed reader of course… Please let me you’re using a feed reader… “Daily Favorites” web browser is SO 90’s)

Some (none that I follow, but some) link bloggers do it for the money, some the fame. Mickey/Visual Studio News is for the love of it.

Snap of the latest post:

image

Blog Information:

Name: Team System News
URL: http://teamsystemrocks.com/blogs/team_system_news/default.aspx
Feed: http://feeds.feedburner.com/TeamSystemNews
Post Types: Primary – Visual Studio Team System links

Saturday, September 26, 2009

SP6 for VB6 (and VC6, SourceSafe 6) Released

UPDATE: SP6 for VB6 is not new. Looks like it was originally released in 2004. Why the new MS Download, with the new dates? Don’t know… Still, it’s a good reminder to apply this if you missed it (or are rebuilding a machine, etc)

Microsoft Downloads - Service Pack 6 for Visual Basic 6.0

“Service Pack 6 for Visual Basic 6.0 provides the latest updates to Visual Basic 6.0. It is recommended for all users of Visual Basic 6.0.

File Name: Vs6sp6B.exe
Version: 6
Date Published: 9/25/2009
Language: English
Download Size: 390 KB - 53.8 MB*

…”

Microsoft Downloads - Service Pack 6 for Visual Basic 6.0, Visual C++ 6.0 with Visual Source Safe 6.0d

“Service Pack 6 for Visual Basic 6.0, Visual C++ 6.0 with Visual Source Safe 6.0d provides the latest updates to these products. It is recommended for all users of Visual Basic 6.0, Visual C++ 6.0 and Visual Source Safe 6.0.

File Name: Vs6sp6.exe
Version: 6
Date Published: 9/25/2009
Language: English
Download Size: 993 KB - 122.1 MB*

…”

Yes, there are still VB6’ers our there in the wild (cough… like me… sigh… cough).

No sure yet what’s in this SP, if I find any specific details I’ll update this post.

Friday, September 25, 2009

Tired of entering your login info every time you open a CodePlex hosted Solution in Visual Studio?

Scott's Blog - Save Your Codeplex Repository Credentials

“I recently setup my first project ever in CodePlex and naturally I am very excited about its tight integration with TFS since my group uses TFS internally for source control as well.  Connecting to CodePlex through the Visual Studio Team Explorer is very easy, you just use one of the tfs0x.codeplex.com servers as your target, and then give them a variation of your username and password to connect.

The prompt for your password will come up every time you open VS, and there is no option to save your credentials.  I like security as much as the next guy, but after a while this becomes tedious and it was proving to be a stumbling block to adoption among some team members.

How To Store Your Credentials

The solution I came up with was to use the Windows credential manager to save my CodePlex credentials.  Here are the steps:

The next time you open up any project on that codeplex TFS server, your credentials will automatically be passed!

…”

I don’t want to steal all his thunder, so please click though for the details. But for my future reference (in case the OP goes away, etc), it’s done via “Credential Manager” and “Add a Windows Credential”

Following Scott’s simple instructions, this worked like a charm. Thanks Scott!

 

Notes to Self:

  • The Windows domain for Codeplex is “snd\”
  • That for every TFS server you have a project on, you’ll need an Credential entry (I have projects on 5 different TFS0x servers ;)
  • That this is meant for Visual Studio/Team Explorer and not the CodePlex web site
  • And to spell everything right (funny that tfs01.codeplex.xom doesn’t work… lol)

Thursday, September 24, 2009

Make your ASP.Net site IE8 happy with new Web Application Toolkit for Internet Explorer 8 Extensibility. That and six more Web App Toolkits too! (Bing, Mobile, REST, Social, etc)

Giorgio Sardo Blog - ASP.Net Controls for IE8 released!

“…

I’m happy to announce we just released a Web Application Toolkit for Internet Explorer 8!

The kit include sample projects and the following controls:

  • ASP.NET Web Slice control: Enabling users to subscribe to your content directly within a Web page
  • ASP.NET Accelerator control: To facilitate the access to your Web application or services from any Web page through contextual menu options
  • ASP.NET Visual Search control: Allowing users to search within your site through the browser Visual Search Box
  • ASP.NET Browser Helper control: Used to detect if the visitor of your site is using Internet Explorer 8

…”

Web Application Toolkits - Announcing Web Application Toolkits

“Today with the announcement of Microsoft WebsiteSpark, we are launching a number of Web Application Toolkits to the Web. Web Application Toolkits are designed to enable Web Developers to simply extend their web application capabilities by providing them with a packaged set of running samples, templates and documentation.

The goal for the Web Application Toolkits is to provide Web Developers with resources such as project templates, controls, and code samples along with simplified documentation all in a consistent packaged format that is easy to download and run in a very short period of time. One of the key criteria around the Web Application Toolkits is to enable Web Developers to get to an F5 (Run) experience very quickly to ensure that this is the right solution for their problem; How many times have you heard developers trying for hours to get a sample to work only to find it does not do what they expected. The expectation is that with the correct prerequisites installed, a Web Developer can have a Web Application Toolkit sample application installed and running in 5mins.

For the Microsoft WebsiteSpark launch, we have released 7 Web Application Toolkits, together with an introduction to the Web Application Toolkits video on Channel9 by James Senior and Jonathan Carter. The scenarios were selected based on feedback from community developers with the first 7 being detailed below.

Web Application Toolkit for Internet Explorer 8 Extensibility

Web Application Toolkit for Bing Search

Web Application Toolkit for REST Services

Web Application Toolkit for Mobile Web Applications

Web Application Toolkit for Template-Driven Email

Web Application Toolkit for making Your Web Site Social

Web Application Toolkit for FAQs

image

MSDN Code Gallery - Web Application Toolkit for IE8

“…

The goal of this Web Application Toolkit is to leverage the new features in Internet Explorer 8 (Web Slices, Accelerators and Visual Search Providers) to extend the reach of your Web site and services also to those users that are not on your site. The Web Application Toolkit includes a set of ASP.NET Web controls that you can use to take advantage of these Internet Explorer new features in your own Web application, including:

background

Things that make our dev lives easier are good. I like easier… ;)

EDD (Electronic Data Discovery, eDiscovery, ESI, etc) for IT Webcast – Don’t let those legal guys bully you, learn the speak so they can’t BYWB (Reg required)

eDiscovery for IT (“Can you please repeat that in English?”)

Date: Wednesday October 14, 2009
Time: 11 am pt/2 pm et
Duration: One Hour

IT and Legal often need to work together in a corporate environment, but you know how frustrating it can be at times—IT’s tech speak and general counsel’s legalese can seem like foreign languages to each other. And in an environment where Legal depends on IT for everything from contract management to eDiscovery, this failure to communicate can spell disaster for your company.

In this webinar eDiscovery expert Mark Diamond will discuss what Legal and IT need from each other and how this at-times contentious relationship between Legal and IT can be made to work. It will include a review on how responsibilities should be divided between Legal and IT, what IT needs from Legal to do its job, and potential pitfalls to avoid

…” [GD: Description Leached In Full]

[Insert usual Greg Statement about “IT needing to get up to speed on EDD stuff NOW, that if you’ve already responding to a request, it’s too late…” here]

BYWB = Baffle You With Bull… You know, that thing you do to “those” users?  ;)

 

Related Past Post XRef:
You’re IT! You are a tech pro, your company is involved in a legal matter and you’re now hearing all about “ESI” “EDD” and E-Discovery. So what is this E-Discovery thing?
Speaking of Electronically Stored Information (ESI) - “The Know-IT-All's Guide to eDiscovery” free (reg-ware) eBook
A pocket guide I hope you never need, but probably will… The E-Discovery Pocket Guide from the California Bar
Learning About Electronic Data Discovery? RenewData has a free book for ya...
The Pocket Guide to Electronic Discovery for Judges
An Electronic Data Discovery Bible Gets Updated - "The Sedona Principles, Second Edition" (June 2007) Released
A Couple EDD Articles...
EDD Reading List
Litigation Support Technical Standards, Free eBook

[Geek Humor] If Chuck Norris used SharePoint… (it would be called MyPoint, we’re talking Chuck here! ;)

Sharing The Point (SharePoint) - ShareComic – Chuck Norris and SharePoint

image

Some Thursday humor. Also make sure you also check out the comments…

Wednesday, September 23, 2009

Free Windows 7 Developer Boot Camp at PDC09 (yes, free for attendees AND non-PDC attendees, space is limited)

Microsoft Press - Author news: Russinovich and free Windows 7 Developer Boot Camp at PDC09

Good morning, everybody. Here’s a quick note about a free offering at PDC09:

Just announced – a free Windows 7 Developer Boot Camp on November 16, open to PDC09 attendees and non-attendees.  Registered attendees can secure their spot by updating their registration record (contact pdc09@ustechs.com with questions).  Space is limited, so spread the word with your customers, partners and developer communities today!

Windows 7 Developer Boot Camp

This fast-paced Windows 7 marathon will cover it all:

» Kernel  and architectural improvements

» New shell integration points: taskbar, libraries, and search

» Applied tips for getting the most out of today’s hardware with the sensor & location platform, multitouch, and the new graphics libraries (Direct2D, DirectX 11) that take advantage of the GPU

Whether you’re a C++, C# or Visual Basic developer, building a .NET or a Win32 application, we’ll give you actionable tips to get the most out of the Windows platform.

…”

pdc09 What’s Happening Blog - FREE Windows 7 Developer Boot Camp, Nov 16

“Jump-start your Windows 7 experience, the day before the conference begins (November 16), by joining some of the top Windows 7 engineers, including Mark Russinovich, Landy Wang, and Arun Kishan, for an intense, high quality training session. Whether you are looking to create more performant, reliable, or secure applications, or you are an application developer looking to leapfrog past your competition, this FREE Boot Camp can get you from zero to hero in less than eight hours!  More About the Boot Camp >>

REGISTER TODAY AND SECURE YOUR SPOT!  You must register for this free Boot Camp to attend, and space is limited. 

Instructions for PDC09 conference attendees.  Enter the regular registration process through the Registration page, and click on the orange register now button.  Select ‘register for the event’ as your registration type.  You’ll be able to add the Boot Camp as a workshop during the registration process.  If you have already registered, simply login and update your registration record to include the Boot Camp. 

Instructions for non-attendees.  Enter the regular registration process through the Registration page, and click on the orange register now button.  Select ‘register for workshop only pass’ as your registration type.  When you get to the workshop selection page of the registration form, you'll be able to pick the Windows 7 bootcamp as a free item.

…” [GD: Post Leach Level: 98%]

Eight hours of free Windows 7 dev training? Nice!

I’ve already signed up and paid for another pre-con workshop, so won’t be attending this one, but if I hadn’t, I would be ALL over this… ;)

Empowering your My Computer Context Menu – Make some commonly used applications and features just a right click away

Tweaking with Vishal - [UPDATE] Add Control Panel, Task Manager, Windows Update and Other Useful Shortcuts “WITH ICONS” in My Computer Context Menu

“…

Add Control Panel, Registry Editor and Other Useful Shortcuts in My Computer Context Menu

The only missing thing in the above trick was the icon of the shortcut. The newly added shortcuts don't have any icon with them.

Heads up to our reader "Michael White" who sent us a modified registry script which also adds the missing icons with the shortcuts:

My_Computer_Context_Menu_Shortcuts_

It also adds 2 new shortcuts: Disk Cleanup and Windows Update. So now you get following 11 new shortcuts in My Computer context menu:

…”

Nice thing about the zip download is that you can easily pick and chose which menu item to add/remove. Also as a dev/geek/nerd/etc I appreciate having the actual reg file and not have to rely on a utility/code (unless that code is OSS/Source Available ;)…

image

 

Related Past Post XRef:
Making Task Manager (or any app) just a “right-click on your Desktop” away
Windows 7 and two click access to Windows Update – “Or how I learned to love pinning Windows Update”

Everything a mere mortal needs to know about encryption and AES, stick figure style

Moserware - A Stick Figure Guide to the Advanced Encryption Standard (AES)

(A play in 4 acts. Please feel free to exit along with the stage character that best represents you. Take intermissions as you see fit. Click on the stage if you have a hard time seeing it. If you get bored, feel free to jump to the code. Most importantly, enjoy the show!)

Act 1: Once Upon a Time...

 

image

image

image

image

All I can say is… ZOMG (okay, I also said, “Wow”, etc).

Now all I need is this put into a slideshow with music and I’d be set!  :p

Tuesday, September 22, 2009

U need some .Net training and/or course materials? Then .Net U is for you…

.NET University

“What is .NET University?

Welcome to .NET University! Our mission is very simple. We want to give you a good developer-oriented overview of new and existing Microsoft technologies, and empower you to help others learn about .NET-related technologies

image

…”

.NET University - FAQ

  • Why did you do this?
    The purpose of .NET University is to provide a quick and easy way to get an overview of the new features in various developer technologies, as well as provide materials for the community to re-present to other technical audiences.
  • Why isn’t the content deeper?
    .NET University is here to provide you a way to get an introduction to the technical concepts, so you’ll have an idea of what is available in a particular technology. Deeper teaching is available at numerous partners. Contact your local Developer Evangelist for recommended training partners in your area.

  • Can I teach this content to anyone?
    Yes, this content is designed to be presented to developer audiences as long as you do not charge a fee for the course. The courseware is intended to offer a no-cost overview to any and all developers interested in learning about .NET. It also offers first time teachers a well-defined and organized set of slides and labs to train others.

…” [GD: Page Leach Level: 95%]

.NET UniversityCourse Downloads

“.NET 3.0 Introduction

BizTalk Server 2006 Introduction

SharePoint 2003 Fundamentals

ASP.NET Introduction

Data Access Fundamentals

Programming with Silverlight

Vista for Developers

Selected Developer Topics

image

I dig how this is MEANT for you to share with others, that as long as you don’t charge for the class, you can use the material to teach others. When your training budgets are, um… constrained, and you’re doing all you can to keep yourself, friends and coworkers fresh, this material could be a godsend.

(Why re-invent a brown-bag session when you can just steal it?… err… um… DEL DEL DEL… borrow it… yeah, that  ;)

(via Charlie Calvert's Community Blog - .NET University is Live)

Monday, September 21, 2009

That Posh is Delicious… Posh-Delicious that is

Dev Central - Joe Pruitt - Introducing Posh-Delicious - The PowerShell Library For The Delicious Bookmark Service

“For those of you who don't know what Delicious.com is (yes it's the same as del.icio.us), I'll just borrow their overview from their getting started page:

Delicious is a social bookmarking service that allows you to tag, save, manage, and share Web pages all in one place.  With emphasis on the power of the community, Delicious greatly improves how people discover, remember and share on the Internet.

Here on DevCentral, when new content is added, we regularly add it to various social networking sites, including Delicious.  There are some great browser plugins that help you with sharing content and I regularly use the Shareaholic Firefox plug-in.  But, it's still too much manual work for me so I figured I'd try to automate it a bit.

I previously published a PowerShell library for Twitter (PoshTweet), for TwitPic (PoshTwitPic) as well as one for the Bing Search API (PoshBing) so I figured I'd build on those and write one for Delicious.  The Delicious API documentation is defined here

The API is broken down into the following functions:


image

Okay, that’s pretty darn cool. The coolest being how he melded .Net (System.IO, System.Web, System.Net.NetworkCredential, etc), the Delicious API and PowerShell.

I’m going to be keeping his PS1 around as an example and reference (and also check out his other PS scripts… ;)

Sunday, September 20, 2009

A Feed You Should Read #4 – This Week on Channel 9

This week’s feed is a actually “video” feed/podcast, so this post could have been called “A Feed You Should Watch”, but that just doesn’t rhyme… Deal with it. ;)

Channel 9 - This Week on Channel 9

image

Background:

This Week on Channel 9 (TWC9) has been on my weekly “must watch” list since it first started in February 2008 (The “Name this Show” episode). You can think of this weekly (weekly… funny that given it’s name) 30 minute’ish podcast as a kind of a video link blog with extra depth++. A highlights reel of interesting Microsoft development related news found on the net.

Take a number, 10 to 20’ish, of Microsoft/developer related news stories, add additional depth and discussion, interesting hosts, cool guest hosts, random fun stuff, record it and share it. You have TWC9

The hosts, Brian Keller and Dan Fernandez, whom I’ve meet and hung out with at a PDC08 and TechEd09, and hopefully PDC09, are some funny dudes. What really blows me away is that this show is a “effort of the love.” This isn’t their “job” and they (including the behind the scenes team) have full time gigs already and still shoehorn in the time to make this show happen.

Why do I like this feed and think you might also?

Who says programmers/developers are boring? Well you need to catch some of these shows! Beer tasting contest? Check. Roman Candle fights? Check. Dev news/information you might have missed? Check. Character? Check.

Great Microsoft Dev Info? Check.

These guys just make me laugh… And yet provide some great highlights, links, info that I may have missed.

You know me, I scan like a gazillion posts a week, yet almost weekly TWC9 shows me something I’d missed. Or their additional coverage depth drives me to look again at something I’d blown off (this has happened a number of times… sigh).

Their scope of interest is in line with mine, but not TOO closely, thereby mostly avoiding echo chamber issues. For example, two of the three picks of the week from this weeks show were something I’d also blogged about, yet even so, the extra depth to those stories showed me something I’d missed.

I don’t watch many video podcasts, they just don’t fit into my current info gathering methodology. Yet every week I make time to catch the latest TWC9. ‘nuff said?

Are you a developer? In the Microsoft space/time continuum? Like to see cool stuff? Watch the show…

Snap of the latest post:

image

Blog Information:

Name: This Week On Channel 9
URL: http://channel9.msdn.com/shows/This+Week+On+Channel+9/
Feed: RSS, iPod/MP4, WMV (high quality), Zune, MP3
Post Types: Primary – Microsoft Development Information (with Links in the show notes)

 

Related Past Post XRef:
This Week On Channel 9 - TechEd 2009 Edition (and my world videocast debut ;)

Saturday, September 19, 2009

DBA’s & PowerShell? Yep, PowerShell is not just for your IT brethren, you can have PS fun too!

The SQL Snapshot - PowerShell 101 for the DBA: Querying Your Servers with PowerShell

“In my last blog post, I discussed how to get PowerShell and SQLPS up and running on your machine(s). And much like my dog chasing its tail, you’re probably asking yourself, “Now that I have it, what do I do with it?”

The first thing you’ll want to learn is how to actually connect to, and get information about, your servers. So, go ahead and go to your Start>Run or Start>Search box and type SQLPS. If everything is installed correctly, you should see:

Alright, let’s start off with looking at the SQL Server services running on a given machine. Use the cmdlet “get-service” to find out about services on either your local or a remote machine. This is not a SQLPS specific command, but rather a PowerShell command:

When run, this command returns no output to the command line screen, but dumps the file to the specified directory. Using this method will get you a slightly more usable list of rows to review. Again, use get-help invoke-sqlcmd to get more info.

At this point, you have enough information to be dangerous! Be sure you’re careful when querying any production servers, because if you have the right credentials, you could do a lot of damage. In the next post, I’ll talk about how to create scripts using basic PowerShell and SQLPS cmdlets that access system objects in SMO and Windows. Until then, have fun!”

Just this week, I’ve finally been given the “go” to start moving to moving my product to SQL Server 2008 (sigh… It’s a long story). While this is going to be a 6+ month project (not due to any technical reasons… you guys know the deal… another sigh), at LEAST it’s moving forward! [Insert “Two steps forward, X.x back] whine here… okay, that’s enough whining… ;]

This means my mental “SQL Server 2008” key will be more active and so I’ll likely be capturing more related articles, like this one.

Personally, I have to start using PowerShell more. It’s THE Windows command line, with power that’s hard to believe. As I might of said in the past, PS IS the future. Now I just need to get off my butt, rise above and move outside my comfort zone jump into it. (sigh… so much easier said that done… LOL )

BTW, if you’re new to PowerShell also check out, The SQL Snapshot  - PowerShell 101 for the DBA – Installing PowerShell.

(via Alvin Ashcraft's Morning Dew - Dew Drop – September 18, 2009)

 

Related Past Post XRef:
PowerShell and SQL Server 2008 Whitepaper
More details about SQL Server 2008 and its PowerShell support
SQL Server 2008 & PowerShell - Better Together
SQL Server Provider/Namespace for PowerShell (Think "Easy Command Line/PowerShell Access to SQL Server Data")

Thursday, September 17, 2009

Team System User Group – Virtual Edition (TSUG-VE) Meeting Archives – When you wanted to be there, but couldn’t (does that make it virtual virtual attendance?)

Ponder .NET - Team System User Group – Meeting Archives

“The TSUG-VE online Team System User’s Group has meeting archives supporting the recordings from our old meetings for the last several months.  Here is a current inventory in case you’re interested:

  • August 2009 Americas: DB Pro, BIDS and Team Build with John Burns
  • August 2009 EMEA: Team System Custom Controls with Tiago Pasoal
  • July 2009 Americas: Reporting in Team System Made Easy with Steven Borg
  • July 2009 EMEA: VSTS 2010 New Architecture Features with Cameron Skinner
  • June 2009: Real World TFS with Ed Blankenship
  • May 2009: TFS 2010 Project Management with Ian Ceicys
  • April 2009 Americas: Advanced Developer Features in VSTS 2010 with Daryush Laqab [Slides only]
  • April 2009 EMEA: Lessons Learned through Dogfooding with Brian Harry
  • March 2009 Americas: Estimation Madness with Joel Semeniuk
  • March 2009 EMEA: Requirements Management with Thomas Schissler
  • And More!!!!

…”

TSUG – VE - 2009 Archives (Free registration required)

image

If you’re interested in anything Team Foundation Server/TFS/Visual Studio Team System related, then you need to take a quick glance at the both TSUG-VE and the recordings of the past meetings.

As you can see in Dave’s list above, there’s a bucket load of great information, just waiting for you. It’s all technical, no marketing-ware and code demo heavy. It’s captured knowledge that you can likely use today.

(via @ponderdotnettweet)

 

Related Past Post XRef:
If no one is there, is it really a user group meeting? Yep! If it’s virtual at least…

Open XML Format SDK 2.0 Code Snippets for Visual Studio 2008 – 52 C#/VB Code Snippets to help ease your Open XML coding

Brian Jones: Office Extensibility - Open XML SDK Code Snippets

“In my previous post, I announced the release of the Open XML SDK August 2009 CTP. Today, I want to announce the release of the Open XML SDK code snippets. This package of code snippets provides over fifty reusable code samples, in both C# and VB.NET, which accomplish many common tasks involving Excel, PowerPoint, or Word documents. Looking back at the architecture diagram for the Open XML SDK 2.0, these code snippets are part of the high level helper functions:

Using the Open XML SDK Code Snippets

Let's walk through a quick example of using the Open XML SDK code snippets. In this example, we are given a spreadsheet with a table of data and are asked to read and change a particular cell value. Here is a screenshot of the spreadsheet:

Let's say we are asked to read the value of C4 and then change the value from "Austin" to "Houston".

Here is how you would accomplish this scenario using the Open XML SDK code snippets and the Open XML SDK 2.0:

  1. Create a solution in Visual Studio 2008
  2. Add references to the Open XML SDK 2.0 (DocumentFormat.OpenXml.dll) and WindowsBase.dll
  3. Enable the code snippets for your solution by following these steps
  4. To read a cell value, add a new method to your solution based on the Open XML SDK code snippets. In particular, add the "Excel: Get cell value given row and column" code snippet, which retrieves a cell value given its row and column numbers, or a row number and column name
  5. Use the following code to read and display the value for C4:

    string c4Value = XLGetCellValueRowCol("output.xlsx", "Sheet1", "C", 4); Console.WriteLine("The value for C4 is: " + c4Value);

  6. To change a cell value, add a new method to your solution based on the "Excel: Insert string into cell" code snippet, which given a document name, a worksheet name, a cell name, and a value, inserts text into the specified cell
  7. Use the following code to change the value of C4 to "Houston"

    XLInsertStringIntoCell("output.xlsx", "Sheet1", "C4", "Houston");

At the end of step #7 we end up with the following Excel spreadsheet:

…”

Microsoft Downloads - 2007 Office System Sample: Open XML Format SDK 2.0 Code Snippets for Visual Studio 2008

“Download this package to install Open XML Format SDK 2.0 code snippets for use with Visual Studio 2008.

File Name: Office2007OpenXML20Snippets.msi
Version: 0809
Date Published: 8/27/2009
Language: English
Download Size: 417 KB


…The snippets in this download use the Open XML SDK 2.0 to accomplish many tasks involving Microsoft Excel 2007, Microsoft PowerPoint 2007, and Microsoft Word 2007 documents. You can use the enclosed code snippets with the Microsoft Visual Studio® 2008 Code Snippet Manager. Each snippet provides unique functionality that you can reuse within an application. This download provides snippets written in Microsoft Visual Basic.NET® and Microsoft C#® development languages. …

…”

From the Readme.doc (yes .Doc and not .DocX… I find some irony in that… ;)

“…

Microsoft Office Excel Snippets

Excel: Add custom UI
Add custom ribbon markup to a specified workbook.

Excel: Delete comments by user
Delete comments from a workbook, given an author name. Pass an empty author name to delete all comments.

Excel: Delete row
Given a document name, a worksheet name, and a one-based row index, delete a row from the worksheet.

Excel: Delete worksheet
Delete the specified sheet from within the specified workbook.

Excel: Delete XL4 macro sheets
Given a document name delete all the XL4 macro sheets.

Excel: Export chart
Given a workbook and the name of a chart, export the chart to an XML file.

Excel: Get all sheets
Retrieve a List of all the sheets in a workbook.

Excel: Get cell for reading
Given a document name, a worksheet name, and a cell name, retrieve a reference to the cell for reading. Raise an exception of the cell doesn't exist.

Excel: Get cell for writing
Given a spreadsheet document, a sheet name and an address, return a reference to a cell ready to accept a value. Create the cell if necessary.

Excel: Get cell format
Given a document name, a worksheet name, and a cell name, return the CellFormat instance associated with the cell.

Excel: Get cell value
Given a document name, a worksheet name, and a cell name, get the value of the cell.

Excel: Get cell value given row and column
Rertrieve a cell value given its row and column numbers, or a row number and column name.

Excel: Get column header
Given a document name, a worksheet name, and a cell name, get the column of the cell and return the content of the first cell in that column.

Excel: Get defined names
Given a document name, return a dictionary of defined names.

Excel: Get hidden rows or columns
Given a document name, and a worksheet name, return a list of either hidden rows or columns.

Excel: Get hidden worksheets
Retrieve a list of all the hidden worksheets in a workbook.

Excel: Get style border
Retrieve information about a cell's border.

Excel: Get style border info
Get style border information.

Excel: Get style fill
Retrieve information about a cell's fill style.

Excel: Get style fill information
Retrieve specific font formatting information about a cell.

Excel: Get style font information
Retrieve specific font formatting information about a cell.

Excel: Insert Custom XML
Insert a custom XML part into a workbook.

Excel: Insert header or footer
Insert a header or footer into a workbook.

Excel: Insert number into cell
Given a file, a sheet, and a cell, insert a specified numeric value.

Excel: Insert string into cell
Given a document name, a worksheet name, a cell name, and a value, insert the text into the specified cell.

Excel: Insert string into cell
Insert a string into a specified cell.

Excel: Set recalc option
Given a file name, set the recalculation behavior of the workbook. Return the previous calc mode.

Excel: Worksheet part by name
Retrieve an entire worksheet part, given its name.

Microsoft Office PowerPoint Snippets

PowerPoint: Add comment
Add a comment to the first slide in a presentation.

PowerPoint: Delete all comments, by author
Delete all comments in a PowerPoint presentation for a specific author. Pass an empty string for the author name to delete all comments.

PowerPoint: Delete slide by title
Given a presentation and a slide title, delete the slide.

PowerPoint: Get List of Slide Titles
Given a presentation file, retrieve a generic list of strings containing the slide titles. Some slide titles might be empty strings.

PowerPoint: Get slide count
Given a file name, retrieve the number of slides in the presentation.

PowerPoint: Get slide index, by title
Find the zero-based index of a slide within a presentation, given its title.

PowerPoint: Reorder slides
Given a PPT deck, an original position, and a new position, attempt to place the slide in the original position into the new position within the deck.

PowerPoint: Replace image on slide
Given a presentation, a slide title, and an image file, replace the first image on the selected slide with the new image.

PowerPoint: Replace slide title
Given a presentation, a slide title, and a new slide title, find the slide, and modify its title.

Microsoft Office Word Snippets

Word: Accept all revisions
Given a document name and an author name, accept all revisions by the specified author. Pass an empty string for the author to accept all revisions.

Word: Add Table
Add a table, including text from an array, to the end of a document.

Word: Convert DOCM to DOCX
Convert a macro-enabled document to a standard document.

Word: Delete all comments
Given a document name and an author name, delete all comments by the specified author. Pass an empty string for the author to accept all revisions.

Word: Delete headers and footers
Delete headers and footers from a document.

Word: Delete hidden text
Delete hidden text from a document.

Word: Extract Styles
Extract the Styles part from a document, so you can insert it into another document.

Word: Get application property
Retrieve the value of an application property from a document.

Word: Get Content Control
Retrieve the markup for a specific content control.

Word: Get core property
Retrieve the value of a core property from a document.

Word: Get custom property
Retrieve a custom property for a document.

Word: Replace the styles part
Replace the entire styles part with a styles part extracted from another document.

Word: Retrieve comments
Retrieve all the comments from a document in an XDocument instance.

Word: Retrieve Table of Contents
Retrieve the table of contents markup, if it exists.

Word: Set application property
Given a document name, a property to set, and a value, update the document.

Word: Set core property
Set a core Word property (like Version, or LastModifiedBy).

Word: Set custom property
Given a document name, a property name/value, and the property type, add a custom property to a document.

Word: Set print orientation
Set the print orientation for each section in a document.

…”

Now that’s a good number of useful Open XML code snippets! Something for everyone…

The important point is that Office 2007 is does NOT have to be installed to use these. That’s the beauty of the OpenXML format (and ODF too, of course).

 

Related Past Post XRef:
Where to go to scratch your OpenXML dev info itch…
Open XML File Format Code Snippets for Visual Studio 2005 (Office 2007 NOT required)

Microsoft Visual Basic Power Packs 10.0 – Big version jump, tiny update (i.e. It’s a bug fix release…)

Microsoft Downloads - Microsoft Visual Basic Power Packs 10.0

Microsoft Visual Basic Power Packs 10.0 has same feature as Power Packs 3.0, but contains some bug fixes. [GD: Emphasis added]

File Name: VisualBasicPowerPacksSetup.exe
Version: 10.0
Date Published: 9/17/2009
Language: English
Download Size: 437 KB


Overview

The DataRepeater control allows you to display rows of data in a scrollable container providing more flexibility and customization than standard grid controls.

The Line and Shape controls are a set of three controls that enable you to draw lines, ovals, and rectangles on forms and containers at design time making it much easier to enhance the look of your user interface. These shape controls also provide events such as click and double-click allowing developers to respond and interact with end users.

The Printer Compatibility Library allows projects that used the Printer and Printers Collection in Visual Basic 6.0 to be upgraded without having to re-write your printing logic. By simply adding a reference to the library, declaring a Printer and making a few minor syntax changes, your project will be able to print using the Printers collection and Printer object as it did in Visual Basic 6.0. This version adds a new Write method to the Printer object which allows you to print text without a forced carriage return similar to the semicolon syntax used by Print method in Visual Basic 6.0.

The PrintForm component is designed to bring back the ability to easily print a Windows Form. With this new PrintForm component you can layout the Windows Form exactly as you want it and allow your users to print the form as a quick report.

…”

I’m guessing the big version jump is to sync it with VS2010/VB10 (since I think I’ve read that VS2010 will include this…)?

[A few minutes later]

Yep! Looks like I guessed right. As I installed it, here’s a snip form the EULA;

“MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS

MICROSOFT VISUAL STUDIO 2010 PRODUCT FAMILY PRE-RELEASE

image

…”

With that verbiage, on my VS2008 machine it installed and works fine.

(via Alvin Ashcraft's Morning Dew - Dew Drop – September 17, 2009)

 

Related Past Post XRef:
Visual Basic Power Packs 3.0 Released (Now with a DataRepeater Control)
Microsoft Visual Basic 2005 Power Packs 2.0 - Line/Circle/Square Shapes + PrintForm and Printer Compatibility Library Now all in One Assembly
Visual Basic Power Pack

Wednesday, September 16, 2009

Like .Net/Mono development? Have an iPhone? Want to do .Net apps on your iPhone? Want to try it for free? Download the MonoTouch 1.0 Eval (Mac required though)…

Chris Hardy - Monotouch for Free?

“You may have noticed that Novell released a way of creating native iPhone applications with C# and potentially any other .Net language with Monotouch, only to find out that it's $399 for a single developer license. Fear not, last night Novell released a "trial" version of Monotouch which will enable you to develop these apps without the need to pay for a license. Using this trial means that you will not be able to run your application on the device (which is important for testing if you're looking to sell an application), this is similar to the way NimbleKit handle the way users can develop using their framework.

…”

MonoTouchDownload Evaluation Version

image

Miguel de Icaza's web log - MonoTouch 1.0 goes live.

MonoTouch is a commercial product based on Mono and is made up of the following components:

  • MonoTouch.dll The C# binding to the iPhone native APIs (the foundation classes, Quartz, CoreAnimation, CoreLocation, MapKit, Addressbook, AudioToolbox, AVFoundation, StoreKit and OpenGL/OpenAL).
  • Command Line SDK to compile C# code and other CIL language code to run on the iPhone simulator or an iPhone/iPod Touch device.
  • Commercial license of Mono's runtime (to allow static linking of Mono's runtime engine with your code).
  • MonoDevelop Add-in that streamlines the iPhone development and integrates with Interface Builder to create GUI applications.

The MonoTouch API is documented on the Mono site. The MonoTouch API is a combination of the core of .NET 3.5 and the iPhone APIs.

We have created some tutorials on how to use MonoTouch and you can read the design documentation on the MonoTouch framework.

Some History

Almost a year ago when we released …

…”

MonoTouch 10 goes live - Miguel de Icaza

When I first saw MonoTouch I thought it pretty cool, but given it had a $399 price tag, and since I don’t have an iPhone/iTouch nor a current desire to write apps for it, I just mentally cached it for future possible reference (for when I run out of stuff to play with… :P )

But seeing that there’s now a free Trial/Eval version has increased its thread priority a little for me (think Charisma +2 buff ;) I really doubt I’m going to get around to playing with this (cough… cause I’d rather be spending time on Zune HD dev… cough… ;) but still it’s good to know that if I do, I can play with it for free.

NOTE: You’ll need a Mac…

MonoTouchInstallation

“…Basic Requirements

To begin using MonoTouch, you will need to have:

  • Apple's iPhone SDK 3.0 or higher, available from Apple's iPhone Dev Center (http://developer.apple.com/iphone/).
  • An Intel Mac computer running MacOS 10.5 or 10.6 (Leopard or Snow Leopard).

…”

Lucene.Net and Azure, yes you can…

Microsoft Research - Azure Library for Lucene.Net

“Lucene works on top of an abstract store object called Directory. There are several Directory objects, including FSDirectory, for file systems, and RAMDirectory, for in-memory store. Azure Library for Lucene.Net implements a smart blob-storage Directory object called AzureDirectory which enables the use of Lucene.NET on top of Azure Blob Storage. AzureDirectory automatically creates a local cache of blobs and intelligently auto-uploads them on the fly.
Download Details
File Name: AzureDirectory.zip
Version: 1.0
Date Published: 28 July 2009
Download Size: 0.29 MB
…” [GD: Description Leach Level:95%]
PLEASE NOTE the license;
“…You may use, copy, reproduce, and distribute this Software for any non-commercial purpose, subject to the restrictions in this MSR-LA. Some purposes which can be non-commercial are teaching, academic research, public demonstrations and personal experimentation. You may also distribute this Software with books or other teaching materials, or publish the Software on websites, that are intended to teach the use of the Software for academic or other non-commercial purposes…”
Here’s the contents of the download;
 image
From the Readme.html;
“…
Background
Lucene.NET
Lucene is a mature Java based open source full text indexing and search engine and property store.
Lucene.NET is a mature port of that library to C#.
Lucene/Lucene.Net provides:
* Super simple API for storing documents with arbitrary properties
* Complete control over what is indexed and what is stored for retrieval
* Robust control over where and how things are indexed, how much memory is used, etc.
* Superfast and super rich query capabilities
  • Sorted results
  • Rich constraint semantics AND/OR/NOT etc.
  • Rich text semantics (phrase match, wildcard match, near, fuzzy match etc)
  • Text query syntax (example: Title:(dog AND cat) OR Body:Lucen* )
  • Programmatic expressions
  • Ranked results with custom ranking algorithms
AzureDirectory
AzureDirectory smartly uses a local Directory to cache files as they are created and automatically pushes them to Azure blob storage as appropriate. Likewise, it smartly caches blob files on the client when they change. This provides with a nice blend of just in time syncing of data local to indexers or searchers across multiple machines.
With the flexibility that Lucene provides over data in memory versus storage and the just in time blob transfer that AzureDirectory provides you have great control over the composibility of where data is indexed and how it is consumed.
To be more concrete: you can have 1..N worker roles adding documents to an index, and 1..N searcher webroles searching over the catalog in near real time.
image
There’s been a good number of Lucene.Net posts in the last few weeks (that are in my “stuff I’d like to blog about, but there was something else shiny that distracted me” folder ;) and so this caught my eye.
Azure and Lucene.Net? That’s cool (aka “shiny” ;) I just wish the license was less restrictive…
Update 2/2/2011:
Based on the below comment, seems this project is now MS-PL and can be found at http://code.msdn.microsoft.com/AzureDirectory
Note: Seems that URL returns a "page not found" right this second, but in search the site, it appears this project is indeed there and this error is temporary...

Tuesday, September 15, 2009

XNA Game Studio 3.1 Zune Extensions Released – Get your Zune HD Dev On

XNA Team Blog - XNA Game Studio 3.1 Zune Extensions

“Are you as excited as we are at today’s arrival of the Zune HD? If you've already picked yours up from your local retailer or are eagerly awaiting your delivery from Zune Originals, we are pleased to announce the immediate availability of XNA Game Studio 3.1 Zune Extensions to support Zune HD.

Barring the new input models available, your game should port over relatively easily.

Beyond the changes outlined here, all of the other XNA Game Studio functionality with the Zune HD remains the same as it did with earlier versions of the device.

…”

Microsoft Downloads - Microsoft XNA Game Studio 3.1 Zune Extensions

“This release adds extensions to XNA Game Studio 3.1 to target and develop for the Zune HD media player.

File Name: zuneextensions.msi
Version: 3.1
Date Published: 9/15/2009
Language: English
Download Size: 11.0 MB


This add-on for XNA Game Studio 3.1 adds the following functionality to the product:

  1. The ability to target and develop for the Zune HD media player.
  2. The addition of new Touch APIs to the XNA Framework for use on the Zune HD.
  3. The addition of new Accelerometer APIs to the XNA Framework for use on the Zune HD.

Also included are documentation and examples integrated into Visual Studio help that will show you how to leverage the new APIs. You'll even find a tutorial on how to update the Platformer Game Starter Kit to use the new Touch API's!

Instructions

1. Ensure Microsoft XNA Game Studio 3.1 is successfully installed before proceeding.
2. Download and run the Microsoft XNA Game Studio 3.1 Zune Extensions installer.
3. Follow the instructions displayed during setup.
4. Launch Visual Studio 2008 from the Microsoft XNA Game Studio 3.1 folder on the Start Menu.

Related Resources

  1. XNA Game Studio 3.1 Readme
  2. XNA Developer Center
  3. XNA Creators Club
  4. XNA Game Studio 3.1

…” [GD: Leach Level:95%]

Interesting… kind of. Not as much released as I expected. Maybe more information will be released in the come days? (Like getting apps onto the Marketplace, etc)

Zune dev via the XNA Game Studio was okay to start, expect for the deployment story. Releasing/deploying a game previously was a major pain. I’m not yet seeing much yet to ease my mind there. Also I’m bummed there’s no internet API yet? MS will be releasing a Facebook and Twitter app, so…

I’m betting that there’s more to the Add Dev story, it’s just we’ve not heard it yet (and given how the XNA app deployment/marketplace story improved SO much for the 360, I think it’s a good bet)

 

Related Past Post XRef:
Zune 4.0 Software
As promised, XNA Game Studio 3.0 RTM’ed today
XNA Game Studio 3.0 RTM/RTW October 30th, 2008
XNA Game Studio 3.0 CTP Available (Get your Zune Gaming on! :)

PDC09 – See you there!

Just a quick note to say if you’re going to PDC09 in Los Angeles, you should let me buy you lunch… ;)

I lucked out and am able to attend PDC 09, both the pre-con and all three days of conference. If you’re going, we should meet up and geek out.

PDC09Bling_General_ThreadsConnected_240

BTW, looks like I’m NOT going to be doing a “PDC Session List” post this year. The team has taken the idea and will be running with it; Mike Swanson’s Blog - Evolving the PDC09 Event Site, “Last, we’ll make it easy to download keynote and session content after the event. We’ve learned that many of you like the ‘all you can eat’ plan, so we’ll do our best to make this a simple scenario.” Cool!  :)

Zune 4.0 Software

Microsoft Downloads - Zune Client software, version 4.0

“PC software for Zune

File Name: ZunePackage40.exe
Version: 4.0
Date Published: 9/15/2009
Language: English
Download Size: 464.9 MB


To see if the Zune is available at your location please click the link below: http://support.microsoft.com/kb/952586?sd=zune

…”

Zune.NetZune Software What’s New

“…

quickplay

Get instant access to the stuff you care about most with shortcuts to favorites, recently downloaded or played music, videos, and more.

smart dj

From any artist, album, or song, Smart DJ will generate a related playlist from the music on your computer and new music from Zune Marketplace.

mini mode

Putting the Zune software into mini mode while listening to music allows you to use your other programs while continuing to see what's playing.

image

While there’s going to be TONS of Zune HD news and links today, I wanted to capture the direct download link for the software.

I’m going to try to limit any further Zune posts to those related to App’s and Zune App Dev (i.e. where’s the new XNA Game Studio? Or will it be renamed to XNA App Studio? Or Zune App Studio? or…? What will the deployment story be for Zune app dev’s, etc, etc)

Monday, September 14, 2009

Have VS 2008 SP1 and a Data Dude/WiX/SilverLight Project and the right-click Create Unit Tests wizard is “borked?” There’s a hotfix for that…

Microsoft Help and Support - FIX: Problems occur in the Create Unit Tests wizard when you create a unit test for a method in a solution that contains a GDR project, a Silverlight project, or a WIX project in Visual Studio 2008 Service Pack 1

“Consider the following scenario. You open a solution that contains one of the following projects in Microsoft Visual Studio 2008 Service Pack 1:

  • A Microsoft Visual Studio 2008 Team System Database Edition General Distribution Release (GDR) project
  • A Microsoft Silverlight project
  • A Windows Installer XML (WIX) project
Then, you open a source file, right-click a public method, and then select the Create Unit Tests item. In this scenario, the Create Unit Tests wizard starts. However, the following problems occur in the Create Unit Tests wizard:
  • There are no type lists in the Types panel.
  • The Output project list is missing.
  • When you click the Settings button, the wizard closes immediately.
  • The OK button is unavailable.

…”

This is something I think we’ve seen (at least I know I’ve heard the team mention “WiX” and problems with Unit Testing in same sentence… Am confirming now) and given my interest in WiX and Data Dude I wanted to capture this for future reference…

(via RobMensching.com /Blog - Fixing Unit Tests in VS2008 SP1 with the WiX toolset.)

Sunday, September 13, 2009

A Feed You Should Read #3 - Alvin Ashcraft's Morning Dew

This week’s “A Feed You Should Read” continues down the road of focusing on link blogs/bloggers.

Link blogs are a quick and easy way to satisfy your “need for information feeds.” Powered by someone with a driving need to read, to be on top of the latest and yet also a burning desire to share, link bloggers are an invaluable resource.

Some might thing link bloggers are technically crazy. They scan thousands of posts every darn day, picking out some gems and instead of hording those gems, take the time to share them with the world. And all just for the joy of it… Again, some could call that level of effort crazy. I say, that’s my kind of crazy! (And how many “exceptional” people and effort have been called “crazy” over the years…?)

Alvin Ashcraft’s Morning Dew is like a dragon horde of gems, shared freely…

Alvin Ashcraft's Morning Dew

 image

Background:

Alvin Ashcraft’s Morning Dew has been around for a couple years, with his first link post in November 2007 (and looks like my first reference to it was in May 2008, Dew Drop - May 5, 2008).

“Ahh… a new comer…” you say? Nay, I say, nay. You all know that two years is long time for a blog’s life. There are countless millions of blogs that have died on the vine, never going beyond a first few posts. Some of those may resurrect, blossoming into something beautiful, yet more likely they just fading away.

Alvin’s blog is one of those wonderful exceptions. If you look at his early archives you can see that his blog was much like one those “I should blog” blogs (you know like those we’ve all created at one time or another). First an initial blast, then fading to a few posts a month on it’s way to blog never-never land.

Then with a blast he starts his Daily Bits posting in November 2007 and hasn’t looked back since. The Daily Bits has since morphed into the Dew Drops we know and love today.

Why do I like this feed and think you might also?

There’s a quote that comes to mind when I catch the daily Dew Drop, one that sounds kind of “bad” but is NOT meant to. It’s meant to be a “wow”,a “zomg he must read like a trillion posts”, a “this one post looks like the titles in unread feed list” kind of thing…

“Quantity has a quality all of its own” (Joseph Stalin)

See what I mean? Taken out of context, you might think that there’s only quantity, but there’s much more than that. It’s just that each Dew Drop is filled to the gills with links. Tons and tons of links. We’re talk’n links-o-plenty here… But there is also a very high quality to the links. They are not just a dump random of links, but a well sorted, gathered and topically relevant group of links.

The links are well categorized, with a cool table of contents/categories at the top of the post. The topics covered are development, mostly Microsoft related, with other interesting stuff mixed it.

Two categories have always stood out for me when reading the Dew Drop, the “More Link Collections” and “Book of the Day.” I’m actually very jealous of his “Book of the Day” as not only does it provide links to great on-topic books, but must also really help his Amazon affiliate numbers. That’s a classic win-win, for him and his readers.

If you have time for just a very few morning post reads, are looking for development, Microsoft, community and events, links to other similar content link blogs, then Alvin Ashcraft's Morning Dew has to be in your Daily Read list…

Snap of the latest post:

 image

Blog Information:

Name: Alvin Ashcraft's Morning Dew - .NET Development Resources from a Progressive.NET Perspective
URL: http://www.alvinashcraft.com/
Feed: http://feeds2.feedburner.com/alvinashcraft
Post Types: Primary – Links (Dew Drops)