Tuesday, December 16, 2008

Java for .Net? Ja!

InfoQ - Java 1.5 for the .NET Platform

“Ja.NET is a port of Java 1.5 SE to the .NET platform. The compiler is based on the Eclipse JDT, which has been modified to generate IL as well as Java Byte Code. Java traditionally compiles each class into a separate file, but this creates an unacceptable overhead for .NET. To address this, a tool based on Cecil is used to create larger assemblies much in the same way Jar files are created for Java.

In order to get a head-start on library support, the Ja.NET JDK is based on the open source project Apache Harmony …”

Ja.NET - Java Development Tools for .NET

“Welcome to Ja.NET -- a new web site building an open community dedicated to enabling Java as a first class development and runtime environment for .NET.  Our vision is simple: Establish a community of interest, together with a set of projects, focused on delivering the tools and middleware required to leverage the enormous investments that exist today in Java software on the .NET platform.

Our first project is the development of a Java 5 JDK for .NET. We've named it "Ja.NET SE", and we are making good progress towards delivering our first release. We are posting builds regularly, so feel free to download a build and give it a try. If you run into any problems, please let us know.

So if you have a need for Java on .NET, then we’d encourage you to get involved by joining the Ja.NET SE project or starting one of your own. Whether you have a specific Java on .NET need, or you just have an opinion you'd like to share with us, provide us some feedback below, or start up a forum discussion.

…”

Ja.NET - Java Development Tools for .NET - Ja.NET SE Overview

“…

Developer Scenerios

Ultimately, the goal of the Ja.NET SE project is to provide developers with the tools and runtime environment to support the following developer scenarios:

  • Take existing Java class library source code and recompile it using the Ja.NET SE JDK producing .NET versions of those libraries. The new libraries should be easily incorporated into new or existing .NET-based applications (likely written in other .NET languages). The existing Java-based source could be reused as is, or it could be extended to incorporate or integrate new capabilities found in other .NET-based class libraries.
  • Take an existing Java-based application, recompile the source code using the Ja.NET SE JDK, and incorporate other .NET-based class libraries. This will create a new version of the application which can be run on .NET. Using the Ja.NET SE-provided launcher, the new .NET version of the Java application runs on .NET and behaves as it did on the Java RI, yet also provides new functionality derived from incorporating the new .NET class libraries.

…”

Interesting…

Use the Sysinternals Utilities? The EULA bug dialog you? Then try this…

Ask the Performance Team - Batch Files, Task Scheduler and PSTools – and a EULA?

“… The problem that he was running into was that the task never executed the query when run from Task Scheduler, but they ran fine when executed manually.

In these instances, the immediate assumption is that the problem must be due to permissions.  However, in this instance, the task was running in the context of a service account with administrative privileges.  Thus, the immediate culprit was ruled out.  When reproducing the problem, we noticed that when we ran the batch file manually that both PsService and PsTools have a EULA that has to be accepted before the tool(s) will execute:

The service account currently had no way to “click” the Agree button to allow the task to process.  However, all was not lost.  There were a couple of workarounds that we could use to get past this …

Workaround 1: Via the registry – using the REG ADD command in the custom script to ensure that the EULA was flagged as being accepted

Workaround 2: Use the –accepteula switch when running the tools so that the EULA acceptance is not displayed when the script is launched via Task Scheduler.

…”

This is a tip I know I’ll need. I want to use BGInfo so that all of our ‘workhorse” machines (over 140) have the cool and very useful wallpaper that the utility provides. But I didn’t want my users to have to accept the EULA. Sure they would only have to do it once per machine, but still, it would be lame. Which this tip, I should be able to automate the acceptance and remove one more deployment and usage barrier.

As noted in the post not all the utilities may support the “accepteula” switch. Some may require both. YMMV..

Five Minute Guide to Live Framework – What is it and why should you care in eight pages…

Microsoft Health and Life Sciences Evangelism Team - Live Framework and why should you care?

“The Live Framework team recently published a short (but to the point) white paper entitled The Live Framework: What is it and Why Should I Care?

Contents include:

  • From My Computer to My Mesh
  • For what scenarios is the Live Framework relevant?
  • What problems does the Live Framework help you solve?
  • What is a cloud / client symmetric programming model?
  • How do application developers benefit from the Live Framework?
  • What is the programming model exposed by the Live Framework?
  • What application types are supported by the Live Framework?
  • What are the different flavors of Live Operating Environment available today?
  • Do I need the Client Live Operating Environment for creating client side applications?
  • What is the Live Framework Resource Model? How can applications interact with it?

…”

A quick overview for those of us trying to explain, or wrap our own heads around, the Live Framework

image

Microsoft P&P App Arch Guide 2.0 (The Book) Released

J.D. Meier's Blog - Application Architecture Guide 2.0 Final Release

“We released our final release of the patterns & practices Application Architecture Guide 2.0 on Codeplex.  It's the "Microsoft playbook for application architecture."  This is our guide to help solution architects and developers make the most of the Microsoft platform.  It's a distillation of many lessons learned.  It’s principle-based and pattern-oriented to provide a durable, evolvable backdrop for application architecture.  It's a collaborative effort among product team members, field, industry experts, MVPs, and customers.

Key Links

Key Changes Since Beta 2

  • Added a foreword by Scott Guthrie.
  • Incorporated feedback from internal and external reviewers.
  • Tuned and pruned the recommendations across the entire guide.

Architecture Meta Frame (AMF)
The Architecture Meta Frame integrates context, application types, architecture styles, and an architecture frame to help map out the application architecture space. 

ArchitectureMetaFrame_2

The Architecture Meta Frame serves as a durable, evolvable backdrop for the guidance in the patterns & practices Application Architecture Guide 2.0.

Key Scenarios for the Guide

  • Choose the right architecture for your application.
  • Choose the right technologies.
  • Make more effective choices for key engineering decisions.
  • Map appropriate strategies and patterns.
  • Map relevant patterns & practices solution assets.

…”

CodePlex - patterns & practices Application Architecture Guide 2.0

“Welcome to the patterns & practices Application Architecture Guide 2.0 project site! provides design-level guidance for the architecture and design of applications built on the .NET Framework. It focuses on the most common types of applications, partitioning application functionality into layers, components, and services, and walks through their key design characteristics.This guide is a collaborative effort between patterns & practices, product teams, and industry experts. This guide is related to our Application Architecture Guide v2.0 Knowledge Base Project.

…”

381 pages of Application Architecture guidance from Microsoft.

Now I’m not going to say I’m going to drop everything, read this and re-architect my apps, but I AM going to say that every bit of shared knowledge and wisdom helps. Seems silly to re-invent the wheel doesn’t it?

image

 

Related Past Post XRef:
Patterns and Practices Application Architecture Guide 2.0 Pocket Guides Released

We don’t need no stink’n WPF in our Line of Business apps.. right? Wrong! Here’s ten reasons to consider WPF in your next LOB application

The Joy of Code - 10 reasons you should consider WPF for your next desktop application

“…

I'm going to try and prove this with 10 short posts offering 10 reasons why you should consider WPF for your next desktop application, even a Line of Business one.

Note that I said "Consider" not "Must use". Therefore, let me start with an important disclaimer: 2 reasons why you might consider WinForms over and above WPF.

  1. Learning Curve.
    WPF is huge and different. It offers the best of both worlds, taking ideas from both traditional desktop development and the web and combines the two. It then goes further. Much further. It takes a while to get used to all this functionality - don't expect to be as productive with WPF as you are with your current UX platform without putting some effort in first.
  2. Tooling.
    Don't expect to open Cider (the Visual Studio WPF designer) and to start banging out forms in exactly the same way as you did with the fantastic WinForms designer. For one, it's just not reached the high standards of the older WinForms designer yet and, as David Chappell points out, these designers currently have a different focus.
Having said all that, I am a fan of WPF and I've found myself to be at least as productive with this platform once I'd cleared the learning curve.

Let the reasons begin...

…”

I’m currently fighting a like battle, “We don’t need WPF, all we do are LOB apps…” “WPF? No, we don’t need to spend any time or training on that. Why would you need it? We do internal app’s and WPF isn’t for that…” “How does WPF add to the value of the app? Where’s the payback when we’re not doing a flashy consumer application?” etc, etc.

Personally, with what I’ve heard and read, I think WPF is the future, but I’m just one voice.

Which is why this article caught my eye. Any help I can get to sell WPF, to prove that it’s not just dev porn, but will allow us to provide better applications faster to our users, is welcome.

 

Now to walk the walk and stop using WPF in my personal projects…  :/

(via UK Application Development Consulting - 10 reasons to consider WPF for your next desktop application - Reason 10. Validation)

Monday, December 15, 2008

IronPython 2.0 Released - Now built on top the DLR

CodePlexIronPython- IronPython 2.0 Release

Released: Dec 10 2008
Updated: Dec 10 2008 by dfugate
Dev status: Stable Stable: This software is believed to be ready for use
Downloaded: 6149 downloads

IronPython-2.0-Bin.zip
application, 2122K, uploaded Wed - 1102 downloads

IronPython.msi
application, 5137K, uploaded Wed - 2750 downloads

IronPython-2.0-Src.zip
source code, 2881K, uploaded Wed - 743 downloads

IronPython-2.0-Samples.zip
example, 639K, uploaded Wed - 1554 downloads

Release Notes

The IronPython and Dynamic Language Runtime teams are proud to announce the release of IronPython 2.0 final. IronPython 2.0 is the culmination of nearly two years worth of work resulting in a CPython 2.5 compatible release on .NET 2.0 SP1. By far, the biggest change to 2.0 is that our 1.1 codebase was refactored to run on top of the Dynamic Language Runtime. With this we automatically get improvements in many feature areas such as better .NET interop support and hosting Python from managed code. There have been many other major improvements as well. The most notable are:

  • An MSI installer for Windows platforms which includes parts of the CPython 2.5 standard library
  • IronPython assemblies targeting Silverlight and tools such as Chiron to improve the Silverlight dynamic development experience
  • The addition of more C-based standard modules such as cmath and _winreg
  • Significant improvements in importing compatibility and features
  • Distribution of IronPython under the Microsoft Public License which has been approved by OSI
  • Performance improvements. On that note, a new Wiki page has been created for IronPython performance reports - see http://www.codeplex.com/IronPython/Wiki/View.aspx?title=IronPython%20Performance
  • Over 500 bugs have been closed in 2.0. 453 of these were reported on CodePlex
  • Support for precompilation of Python source files into a single dll

This seems like an opportune time to remind everyone that we fix bugs based on the number of votes they have on CodePlex. As we’re planning on releasing IronPython 2.0.1 fairly soon, please vote for your favorite bugs at http://www.codeplex.com/IronPython/WorkItem/AdvancedList.aspx to help ensure they get fixed in time for the next release.

…”

I don’t Python, yet, but I still think this is an important milestone for .Net developers

(via less than dot - IronPython 2.0 has been released, now runs on top of the Dynamic Language Runtime (DLR))

 

Related Past Post XRef:
IronPython Studio 1.0 released with both Isolated and (Visual Studio) Integrated versions
Visual Studio 2005 SDK V3 (September 2006) Released
IronPython 1.0 Beta

Thursday, December 11, 2008

thumbtack – A new link, bookmark, note, photo sharing, thing. Think virtual pushpin board you can share with select people or the world at large

Microsoft Live Labs - thumbtack

image

use thumbtack to

collect a list of your favorite restaurants and share them with your friends

plan a trip- collect information about places to stay and things to do

research your next purchase- store, analyze and sift through your options in thumbtack

take notes and share them with your team…”

A kind of fun little new site/service from Microsoft Live Labs to play with. A simple way to save and share web “stuff.” Here’s an example board where I’ve created a list of sites I’m building for a series of future posts called “A Feed You Should Read.”

Nice to see that Feed support is already baked in (A Feed You Should Read RSS) and of course there’s an embed

I’d like to see an API so I can easily access, add, manage my stuff from external sources, such as maybe a Windows Live Writer plugin… ;)

(via Microsoft Live Labs Blog - Introducing Thumbtack)

Tuesday, December 09, 2008

Isolation Framework, are you Mocking me?

Derik Whittaker - Changing Terms from Mocking Framework to Isolation Framework

“The other day on Twitter Roy Osherove made the statement that he was teaching a class on TDD and he was showing how to use the various Isolation Frameworks.  When I read this I had to ask if he talking about Mocking frameworks when he said Isolation frameworks.  And indeed he was.

As I sat back to reflect on the semantic differences between the terms Mocking and Isolation I had an 'ah-ha' moment. 

However, when you tell someone you are working with an isolation framework the idea should click in their head as to what is going to take place and how it is going to be used.  By using the term isolation framework we are telling our end users (developers) that what we are really trying to do with the framework is remove external dependencies from our test in order to make them more granular and reliable.

…”

Yes! Perfect! Names have power. Names mean and convey a great deal. “Isolation Framework” is a name that, in my mind, makes so much more sense. No Mocking for me anymore, now it’s Isolating!

I’ve been talking about Mocking with my team and others in the building and they give me that blank, deer in the head lights, stare. I explain that mocking is important to unit testing in that it will help isolate the code from its external dependences (which in our case is 99% of the time databases). But they can’t seem to get beyond the name, “mock”. And in my mind, “mock” has a negative cogitation (maybe because of childhood memories and being mocked as a “News Nerd” even today… ;)

Isolation Framework, IMHO, seems to be a great name and like Derik I think if start using it instead of “Mocking” we might great broader understanding and adoption…

Monday, December 08, 2008

WiX 3 is now officially in “Beta”

Aaron Stebner's WebLog - WiX v3.0.4805.0 build is declared an official beta build

“Last week, Rob Mensching and Bob Arnson posted some information on their blogs about the upcoming declaration of a beta build of WiX v3.0 in preparation for locking down WiX v3.0 to get it ready to ship in Visual Studio 2010 (an older 3.0 build is currently available in the CTP).

This morning, the WiX 3.0.4805.0 build was published to the SourceForge release page (in addition to the normal weekly release page) and declared an official beta build.  Here are links to more information about this build:

If you're using a build of WiX v3.0 to create your installers, you should upgrade to the 3.0.4805.0 build if possible in order to help validate the fixes that have been made over the past few months and help the WiX development team determine how close WiX v3.0 is to being done and ready to ship.

…”

I’m a fan of WiX and it’s really nice to see it progress into official beta status… Don’t know about WiX? It’s going to be in VSTS2010, so now is probably a good time to add it to your mental “look into this” keyword list.

 

Related Past Post XRef:
WiX Resources – Some help up the learning curve

The VSTS 2010 CTP, 1/1/2009 and you Hyper-V conversion nuts (myself included ;)

Skinner's Blog - VSTS 2010 CTP, Hyper-V, and January 1st, 2009

“For those of you folks who have converted the VSTS 2010 CTP ( see Grant's post ) to take advantage of the performance improvements in hyper-v, here's a manual way to get around the fact that VSTS will expire Jan. 1st 2009. ( If you're using the CTP with VPC, see Brian's post for a similar workaround ).

1) The first thing to do is snapshot your current image ( if you followed Grant's steps, that should have been the last thing you did while you converted your image to hyper-v ). You'll need this to rollback as needed.

…”

Skinner provides a step by step “going backward in time on Hyper-V” guide for everyone who converted their VSTS2010 VHD over to Hyper-V and are facing the CTP expiration deadline.

 

Related Past Post XRef:
Getting the VSTS2010 CTP Virtual Machine working well on Hyper-V

Happy Two Year Birthday to IE7Pro

IE7pro for Internet Explorer 7 - IE7Pro 2 years

“It’s very glad that IE7Pro is 2 years! Thank all the people who help and support for us. …”

Wow, IE7Pro is only two years old? Seems like I’ve been using it for forever (if you’re an IE user and not using IE7Pro, stop reading this now and get this must have IE addin…)

Congrats to the IE7Pro team for providing such a essential utility!

 

Related Past Post XRef:
IE7Pro 2.1 Released
IE7Pro v2.0 Released
IE7Pro 1.2 Released
IE7Pro v1.0 Released
IE7Pro v0.9.18 Released - Inline, Firefox like Spell Checking Added
IE7Pro - Must have IE7 Add-on?

Excel Financial functions for .NET, implemented with F#

MSDN Code Gallery - Excel Financial functions for .NET

“What is it?
This is a .NET library that provides the full set of financial functions from Excel. The main goal for the library is compatibility with Excel, by providing the same functions, with the same behaviour. Note though that this is not a wrapper over the Excel library; the functions have been re-implemented in managed code so that you do not need to have Excel installed to use this library.

Where I can find documentation on these functions?
Just open Excel and click on Formulas/Financial or go to this link: http://office.microsoft.com/client/helppreview.aspx?AssetID=HP100791841033&ns=EXCEL&lcid=1033&CTT=3&Origin=HP100623561033

I don't think one of the function is right. Excel produces the wrong results! Why don't you do it right?
My goal is to replicate Excel results (right and wrong). Feel free to contribute to the effort by coding what you think is the right solution and I'll add an ExcelCompliant flag to the function to conditionally invoke your code.

How do I use the library?
Just add Financial.dll to the references in your project. The functions are provided as static methods on a Financial class in the System.Numeric namespace.

I see the library was implemented with F#. But I don’t want to redistribute F# along with my application. What should I do?
There are two versions of the library. One of them statically links the F# libraries so that there is no dependency on F#. However, this assembly larger, so if you have F# installed, you can use the FinancialNotStandalone.dll instead.

…”

I found this project interesting in a number of different ways;

  • Getting the Excel Financial functions in a .Net assembly is pretty darn cool
  • The fact it was written in F#
  • The source was included
  • There are 201,349 test cases
  • That F# can be statically linked (meaning you can use this assembly without having F# installed)

(via less than dot - Financial Functions for .NET released)

Saturday, December 06, 2008

SQL Server 2008 – To buy Enterprise or Standard, that is the question…

Microsoft Downloads - SQL Server 2008 Enterprise and Standard Feature Compare

“SQL Server 2008 Enterprise and Standard Feature Compare

File Name: SQLServer2008EnterpriseandStandardFeature Compare.pdf
Version: 3.0
Date Published: 12/4/2008
Language: English
Download Size: 125 KB

image

A pretty simple and straight forward five page comparison grid between SQL Server Enterprise and Standard.

I’ll need this one of these days when we start moving toward SQL 2K8…

 

Related Past Post XRef:
SQL Server 2008 Edition Side–by-side Feature Comparison - (aka. What Edition do I need so I can get feature X,Y or Z?)

Saturday, November 29, 2008

Microsoft Image Composite Editor v1.2 Released – Stitch your way to panorama photo happiness

Microsoft Research - Microsoft Image Composite Editor

File Name SetupICE_x86_1.2.msi
Version 1.2
Date Published 26 November 2008
Download Size 2.9 MB

An application to stitch multiple source images into a seamless panorama.”

Microsoft Research - Image Composite Editor

“What is Image Composite Editor?

Microsoft Image Composite Editor is an advanced panoramic image stitcher. The application takes a set of overlapping photographs of a scene shot from a single camera location and creates a high-resolution panorama incorporating all the source images at full resolution. The stitched panorama can be saved in a wide variety of formats, from common formats like JPEG and TIFF to multi-resolution tiled formats like HD View and Silverlight Deep Zoom.

Composite

Features

  • State-of-the-art stitching algorithms automaticaly place source images and determine panorama type
  • Advanced orientation adjustment view allows planar, cylindrical, and spherical projections
  • Support for different types of camera motion
  • Excellent exposure blending using Microsoft Research fast Poisson algorithm
  • Automatic cropping to maximum image area
  • No image size limitation - stitch gigapixel panoramas
  • Native support for 64-bit operating systems such as 64-bit Vista
  • Output in a wide variety of image formats:

Support

Microsoft Image Composite Editor is provided free of charge and without official support….

…”

This takes the current MS panorama tech adds some magic, gives you some knobs to tweak and the capability to export it into a number of different formats.

Using ICE, I quickly created this is about panorama. It is a 140 degree view from one of my walking routes; from on top of Mt McCoy, the Reagan Library around into Simi.

DCP_2809_stitch

 

Note that like most MSR projects this has a non-commercial usage license clause in the EULA.

Friday, November 28, 2008

Visual Studio, Log Thy Self

Sara Ford's WebLog - Did you know… There’s a way to have Visual Studio log its activity for troubleshooting? - #366

“There’s a built-in command line switch devenv.exe /log to log Visual Studio activity, e.g. which packages got loaded, etc. I’ll call out immediately that the documentation is wrong, but you should read Paul’s comments at the bottom of the page for the real documentation (Paul was a dev on VS). http://msdn.microsoft.com/en-us/library/ms241272.aspx

…”

This is a tip that I’ve been needing for a bit now, but to lazy to look for.

Every so often, when I shutdown VS, I get the “This application has generated an error, do you want to restart it” dialog (which doh, I don’t want to restart it because I was shutting down the app…;)

I’ve been trying to resolve it off and on for the a while now, but since it’s not a show stopper and only an irritant, I don’t invest too much time. Well with the log switch, maybe I can stop the hunt and peck resolution/debugging I’ve been using and get to the root of the issue. It’s worth a try at least…

OpenXML Viewer (CTP) – Open DocX files in FireFox (Windows/Linux) or via command line DocX to HTML utility

CodePlex - OpenXML Document Viewer

“The Office Open XML format specification has been approved as a free and open Ecma International standard. A newer improved version is approved as an ISO/IEC standard.

The OpenXML Document Viewer project is an outcome of the feedback from participants of a series of Document Interoperability Initiative workshops. The main goal of the OpenXML Document Viewer project is to create software tools, plus guidance, showing how documents created using Open XML Format can be translated to HTML. As a result, Independent Software Vendors (ISVs), Solutions Integrators & Mobile Solution providers can use these tools to enable their customers view Open XML documents on heterogeneous platforms and browser applications. The OpenXML Viewer is available under the open source Microsoft Public License (MS-PL), which allows anyone to use the tools, submit bugs and feedback, or contribute to the project …


Milestone1: November 2008 Community Technology Preview

For the first milestone, the focus of the project will be on building the core architectural components for the OpenXML to HTML translator that can be leveraged to build the plug-ins for various platforms to enable cross-platform support.

The following features are planned for the first milestone:

  • Core transformation framework
  • Browser plug-ins for Firefox 3.0.x on Windows and Linux
  • Word Document features including translation of
    • font types
    • images
    • text styles
    • diagrams
    • tables
    • hyperlinks
  • Test Results

…”

OpenXML Document Viewer - November 2008 Community Technology Preview

“…

 OpenXMLViewer_linux_firefox.tar
application, 10920K, uploaded Wed 

 OpenXMLViewer_linux_src.tar
source code, 186K, uploaded Wed 

 OpenXMLViewer_win_firefox.zip
application, 3577K, uploaded Wed 

 OpenXMLViewer_win_src.zip
source code, 138K, uploaded Wed 

 Release Notes.doc
documentation, 176K, uploaded Wed 

 OpenXMLViewer_linux_cmdline.zip
application, 10810K, uploaded Today 

 OpenXMLViewer_win_cmdline.zip
application, 3590K, uploaded Today 

Release Notes

The OpenXML Document Viewer team is pleased to announce the release of the first version of the Open XML to HTML project. The OpenXML Document Viewer project provides plug-ins and tools to view MS Word 2007 documents on platforms where Word 2007 is not available. This is achieved by using the OpenXMLViewer browser plug-in or the command line interface to convert the Word document (.docx) into HTML.

…”

Interesting project… OpenXML is a monster (7k pages to the spec = monster in my book ;) so it’s good to see both someone implementing it and making that implementation available to others. No matter your feeling about OpenXML/ODF, I think you’ll agree that having open, cross platform, OSS and free access to the DocX’s is a good thing?

Wednesday, November 26, 2008

MicrosoftPDC.com – Words from the Lead Developer

Jon Galloway - Looking back at MicrosoftPDC.com (from the inside)

“I had the privilege of working on the MicrosoftPDC.com website as lead developer for the past several months. The process hasn’t been kind to my blogging schedule lately, but the experience definitely taught me quite a bit: working with the top-notch Microsoft developer evangelism team, setting up a site for maximum flexibility, setting up the Silverlight experience, and troubleshooting some interesting issues during the conference. I’m going to run through several of these at a high level and may dig into some of these in more detail later (so comment if you want to hear more about something).

…”

Jon provides a great write up for a site I, and thousands of my closest friends, were all over for a number of days and weeks. It’s officially cool to get some of the behind the scenes views into the work he and the team put into it.

That must have been an exciting, and kind of scary, project. Scary? Whenever, as a dev, you build something for other dev’s, that can be a scary feeling. Who else do we really want professional approval from, besides our peers in the dev space? (yeah, yeah… we want approval from our users, friends, family, etc… but you get the idea) So putting yourself, through your work, out there directly in front of other dev’s… well I know I would be stressing about it… lol

Nice work Jon (and team)!

 

Oh yeah, you asked for suggestions? What would be cool is an “official” API to the data (say via REST?). That way other people could mash-up the data in new and exciting ways (like say providing alternate view of the videos and session lists… ;)

Data Dude Updated for SQL Server 2008 – VSTS 2008 Database Edition GDR RTW’s (Think “VSTS 2008 Data Dude SP1++”)

Microsoft Downloads - Microsoft® Visual Studio Team System 2008 Database Edition GDR

Version: RTM
Date Published: 11/25/2008
Download Size: 285 KB - 25.8 MB*


In addition to providing support for SQL Server 2008 database projects, this release incorporates many previously released Power Tools as well as several new features. The new features include distinct Build and Deploy phases, Static Code Analysis and improved integration with SQL CLR projects.

Database Edition no longer requires a Design Database. Therefore, it is no longer necessary to install an instance of SQL Express or SQL Server prior to using Database Edition.

…”

This is a major release, with a ton of very cool and must have features. And now that the Database Edition SKU has been merged into the Developer Edition (in short, if you own a license for one you get the other for free)…

Make sure you read the installation notes on the download page, as there are some points you might want to consider.

 

Now if only our SQL Server 2008 license, installation and usage process would move forward… :/

CSI Trick of the day: How do you look “under” black Magic Marker’ed text?

{ride the lighting} - WILL SOMEONE PLEASE SAVE THESE PEOPLE FROM THEMSELVES? THE ABYSMAL STATE OF REDACTION IN THE U.S. MILITARY

“I didn’t know whether to laugh or cry when I saw a recent Army draft intelligence (definitely a misnomer) paper on potential terrorist uses of technology. Mind you, some of the subject matter absolutely bears study. …

But hey guys, if you want to be taken seriously on the subject of technology, you don’t use a MAGIC MARKER to redact someone’s e-mail address before converting it to PDF. Think I’m kidding? The draft report may be found at [GD: click through for the PDF link… I don’t want to leach her traffic…;] Look at the bottom of numbered page “1” and you’ll see an e-mail address clearly “redacted” by a magic marker. I was able to read it without even blowing it up …

…”

image

If you look at the PDF you can easily see “under” that “redacted” text.

My first thought is that this would be cool for a CSI, Law and Order, etc show. Where they have a piece of paper with something black marker’ed and then they use a scanner to look “under it”…

My second thought was, “These guys (our Gov) can’t seem to win.” They try to directly redact on a PDF and mess that up. They then try to be clever and redact it (badly) before it goes into the PDF and we see how well worked…

sigh…

Note #1: You cannot remove/replace humans in the work product review process. If humans are going to use the end result work product, then humans need to be in the review process.

Note #2: Reviewing of the work product only counts if you compare the original with the final output product. Reviewing in the middle of the process isn’t good enough. For example, reviewing the paper after the black marker was used, it probably looked pretty good. But was that work product, the redaction, reviewed in its final output form, in the PDF?

Start to finish, “In to Out,” QA is a song my peers know I sing all the time, and are probably as tired of hearing it as I am of singing it, but that doesn’t lessen its importance. In the age of multistep electronic processing, the only way you’re going to have any level of comfort is if you look at the original “In” and compare it to the final “out”. Sure, due to the volume, there’s no way everything can be checked, but that’s not an excuse to not do it at all…

 

Wow, sorry about that… I guess this topic struck a cord or something. ;)

I guess now would be a good time to restate that all my comments are 100% my own, that my employer cannot be held libel for anything I say or write. My opinions are my own and may not be shared by my employer, peers, family, friends, co-workers, people in the same city, state, country or planet.

Tuesday, November 25, 2008

Patterns and Practices Application Architecture Guide 2.0 Pocket Guides Released

CodePlex - patterns & practices: App Arch Guide 2.0 Knowledge Base

“The Pocket Guides in the Application Architecture Pocket Guide Series are modular, focused guides that provide overviews and prescriptive guidance for a particular topic.

Agile Architecture Method Pocket Guide

The Agile Architecture Method Pocket Guide provides an overview and prescriptive guidance for the Agile Architecture Method.

 

Web Application Architecture Pocket Guide

The Web Architecture Pocket Guide provides an overview and prescriptive guidance for designing Web applications on the .NET platform.

 

Mobile Architecture Pocket Guide

The Mobile Application Architecture Pocket Guide provides an overview and prescriptive guidance for designing mobile applications on the .NET platform.

 

RIA Architecture Pocket Guide

The RIA Architecture Pocket Guide provides an overview and prescriptive guidance for designing RIA applications on the .NET platform.

 

Rich Client Architecture Pocket Guide

The Rich Client Architecture Pocket Guide provides an overview and prescriptive guidance for designing rich client applications on the .NET platform.

 

Service Architecture Pocket Guide

The Service Architecture Pocket Guide provides an overview and prescriptive guidance for designing services on the .NET platform.

…” [Post leach level: 90%]

image

image

Pocket Guide = 100+ Page’s… (so a big pocket… like a cargo pocket on my old BDU’s… ;)

(via J.D. Meier's Blog - Pocket Guide Series for Application Architecture)

ObjectListView - “How I Learned to Stop Worrying and Love .NET's ListView”

CodeProject - A Much Easier to Use ListView

ObjectListView

  ReportModernExample

All projects suffer creeping featurism. Things that start simple and elegant end up as the "before" image in a weight-loss ad. This control has grown considerably since it was first written. For those in a hurry, this control has the following major features:

  • It can easily display a list of objects in a ListView, including automatically sorting and grouping.
  • It has a version (FastObjectListView) that can build a list of 10,000 objects in less than 0.1 seconds. [v1.9.1]
  • It can easily edit the values shown in the ListView [v1.8].
  • It can trivially produce nice reports from the ListView [v1.7].
  • It supports data binding.
  • It supports millions of rows through ListView's virtual mode.
  • It supports all ListView views (report, tile, large and small icons).
  • It supports owner drawing, including rendering animated GIFs.
  • Its columns can be fixed-width or limited to a minimum/maximum.
  • It shows a "list is empty" message when the list is empty (obviously).
  • Its row height can be explicitly set.
  • It supports user selection of visible columns by right clicking on the header [v1.9].
  • It supports columns that automatically resize to fill any unoccupied width [v1.10].

This control has many features. If you want to do something with a ListView, this code probably has some code to help you do it.

This control now has its own website, hosted by SourceForge: ObjectListView - How I Learned To Stop Worrying and Love .NET's ListView. This is not an empty shell site. It actually has lots of useful information.

Those who aren't in a hurry can now read the rest of the article. :-)

The ListView "Problem"

I often find that I have a collection of objects which I want to present to the user in some sort of tabular format. It could be the list of clients for a business, a list of known FTP servers or even something as mundane as a list of files in a directory. User interface-wise, the ListView is the perfect control for these situations. However, I find myself groaning at the thought of using the ListView and secretly hoping that I can use a ListBox instead.

The reason for wanting to avoid the ListView is all the boilerplate code it needs to work: make the ListViewItems, add all the SubItems, catch the header click events and sort the items depending on the data type. Each of these tasks is slightly different for each instance of a ListView. If you want to support grouping, there's an even bigger chunk of boilerplate code to copy and then modify slightly.

For a basically lazy person, this is far too much work. ObjectListView was born to relieve this workload.

Unlearn You Must

For those of you who have struggled with a ListView before, you must unlearn. An ObjectListView is not a drop in replacement for a ListView. If you have an existing project, you cannot simply create an ObjectListView instead of creating a ListView. An ObjectListView operates in a more declarative manner than a ListView -- you tell an ObjectListView what you want it to do, and it does it for you.

Beware of ListViewItems. You never need to add ListViewItems to an ObjectListView. If you find yourself adding things to the Items collection, creating ListViewItems, or adding sub-items to anything, then you need to stop — you are being seduced to the dark side. An ObjectListView does all that work for you. You tell it the aspects you want to show on each object (via the OLVColumn objects) and then you give it the list of objects to show.

…”

ObjectListView Project Home

“ObjectListView is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and provides some neat extra functionality.

Larry Wall, the author of Perl, once wrote that the three essential character flaws of any good programmer were sloth, impatience and hubris. Good programmers want to do the minimum amount of work (sloth). They want their programs to run quickly (impatience). They take inordinate pride in what they have written (hubris).

ObjectListView encourages the vices of sloth and hubris, by allowing programmers to do far less work but still produce great looking results.

You can download a demonstration of the ObjectListView in action. This demo includes ObjectListView.cs which is the file you need to include in your project.

Once you have the demo, you might want to look at the Getting Started and the Cookbook sections. …”

It’s a good day when I find a new (well, okay it’s been around for a couple years… so it’s new to me… ;) WinForm ListView. Like many .Net developers I have a love/hate relationship with the ListView, so am almost always willing to enhance/replace it with a better implementation. From what I’ve read, ObjectListView looks to be easily worth a look. It’s been active for a couple years, has a nice level of doc’s, it’s free and best of all the source is available. And any project that tries to help you from “being seduced to the dark side” can’t be all that bad? 

 

(via WindowsClient.NetArticles [GD:There’s no permalink to the WindowsClient.Net entry… :( ] )

Monday, November 24, 2008

TFS 2008 (Team Build) Reference Desksheet – Ton’s of TeamBuild Properties, one little sheet…

FreeToDev - Team Foundation Server Build 2008 Reference DeskSheet – V2.0

few minor updates. A handy reference to aid your work with building software in TFS 2008

image

A cool single page TeamBuild 2008 reference sheet, with links (on the group headers) to get more information…

Saturday, November 22, 2008

Publish To [Bunch of Places] – Getting your Live Wave 3 Photo Gallery and Movie Maker stuff onto different, non-MS, services

Windows Live Wire - Plug-ins for publishing photos and movies

“Windows Live wants to make it easier than ever to connect from your PC to the web and we give you all the pieces. But sometimes, we realize that you might have accounts with other companies, so Windows Live is making it really easy to connect with other websites, too. 

For example, in the coming weeks, as changes to Windows Live are released, you’ll be able to see updates from services like Twitter and Flickr on your Windows Live Home page. And now, with the help of plug-ins, Windows Live Photo Gallery beta and Windows Live Movie Maker beta allow you to publish photos and videos to sites outside of the Microsoft family, like Facebook or YouTube.

…”

Windows Live Photo & Video Blog - Plug-ins

“Windows Live Photo Gallery (Beta) and Windows Live Movie Maker (Beta) make it simple to add publishing support for 3rd party sharing services. Simply download and install a plug-in and start publishing. Note: plug-ins only work with the new beta versions of Photo Gallery and Movie Maker available here.

…”

My first thought in seeing all these plug-ins was to wonder if a Publish to Blogger would make sense. Right from within Photo Gallery publishing selected pictures to my blog (i.e. like the existing “Publish to Windows Live Spaces” feature but to Blogger instead). I’m thinking it would be a combination of the photo services publishing, like those above, and then a blog post. Wouldn’t be hard as I’ve done both already, just need to find the time (and LOTRO Mines of Moria is just SO distracting… ;)

 

Related Past Post XRef:
Windows Live Photo Gallery Flickr Plug-in (C# Soup to Nuts sample)

Friday, November 21, 2008

ADSdotNET – Access NTFS Alternate Data Streams from your managed languages without P/Invoke

CodeProject - ADSdotNET: A DLL for using alternate data streams from .net languages

Introduction

ADSdotNET is a library which makes it possible for .NET-based programming languages like C# or Visual Basic .NET to access alternate data streams (ADS). Without this DLL it would be neccessary to use P/Invoke or C++/CLI to work with ADS and to benefit from .net-based languages at the same time.

ADSdotNET was developed in C++/CLI by the way. The zip file ADSdotNET-0.1.0-src.zip contains a Visual Studio 2005 project. The other zip file (ADSdotNET-0.1.0-bin.zip) contains the compiled DLL only.

Background

When I tried to access ADS from my C# code I found out that the .NET framework currently does not support file streams. So I decided to write a class which I could use for my C# project. I decided to use C++/CLI for writing ADSdotNET because in my opinion using this language for accessing the Windows API is more "natural" than using P/Invoke.

Using the code

After including the DLL as reference in your Visual Studio project (you can do that in the Solution Explorer) you can see a new entry inside the folder References named ADSdotNET.

From now on you can use a new namespace called AdsDotNet. It contains the class AdsHandler. First of all you have to create an object of this class. Every object of type AdsHandler points to one file or directory. The methods of these objects can be used for adding/deleting/modifying the alternate data streams of the corresponding file or directory (will be called “root object” in the future). To root objects alternate data streams can be attached.

Now I will describe the methods of the class AdsHandler. Examples will help to understand the usage (I hope).

…”

mickbitsoftwareAdsManager [GD: AdsManager is a C# application written using the ADSdotNET library...]

“AdsManager is a tool to find, add, or remove alternate data streams on NTFS-formatted drives.

Many applications cannot access ADS because they think colons are invalid characters in filenames. For that reason applications based on .NET Framework are not capable of using alternate data streams as well.

The DLL shipped with AdsManager makes it possible for .NET applications to access ADS anyway. Internally it uses native Windows API functions (which can deal with ADS) and provides an interface for .NET developers.

…”

NTFS Alternate Data Streams is just one of those things I know I’m going to need to do more with one day…

 

Related Past Post XRef:
Accessing NTFS Alternate Data Streams with C#
CopyFileEX ALL API Example
"Practical Guide to Alternative Data Streams in NTFS"

Wednesday, November 19, 2008

Extending the Team Members feature in the VSTS 2008 TFS Power Tools October 2008 Release. For example, adding Skype support…

Visual Studio Team System (VSTS) Blog - by Neno Loje - Skype Collaboration Provider for TFS

“The Team Foundation Server Power Tools (October 2008) introduced a new "Team Members" node, which offers the ability to quickly identify which subteams and actual team members belong to a TFS team project. Additionally you can see their online status.

Support for Office Live Communicator and Windows Live Messenger is already built-in. There is an API to extend this to other IM software as well.

Nico Orschel from our team used this API to implement support for Skype …” [Post leach level: 95%]

CodePlex - TFS Collaboration Providers

Project Description

The Team Foundation Server 2008 Power Tools enable rich integration with other team members via IM and VoIP chat. Out the box the power tools integrate with Live Communicator and Window Live Messenger (MSN). This project is for community contributed providers for other systems.
Current Providers
  • Skype (Initial version is now available)

…”

How cool is that? Heck I didn’t even think to ask if there was an API for this…

While I can’t use Skype (comment deleted about how I’m told it’s “banned” software) I can use Windows Live Messenger. That’s already supported you say? Yep, you’re right, we have our own personal ID’s and not work ones (another long story). So the TFS accounts don’t map. Well I’m thinking that with this sample, I might be able to jury-rig something up (lol… about a million years ago I wrote an MSN Messenger add in for VS… but doing it this way would be much cooler ;)

(via Team System News - VSTS Links - 11/17/2008)

 

Related Past Post XRef:
VSTS 2008 TFS Power Tools - October 2008 (aka 2.3) Released – Manage Source Files via Windows Shell/Explorer extension, new PowerShell extensions and Team Members tool

Windows Live ID SDK and LiveFX – Two great tastes and two SDK’s… (err… um… that didn’t quite work, but you get the idea)

LiveSide.Net - LiveFX + Windows Live ID Client SDK = Safer Program

Building an application that uses the LiveFX is easy. So is building an application that uses Windows Live ID. Using the Windows Live ID Client SDK also means that you’re not asking a user to supply your application with the username and password which means that the user can remain safe that they’re not just giving out their username and password for the program to with as he wishes. So if both sorts of programs are easy, is it easy to combine the two? Well, yes.

In Visual Studio, I created a quick Windows Form that looks like the following:

…”

Scott you must be reading my mind (wow, what a scary thought… ;)

I was JUST thinking about this today on the drive in. Wondering if it was possible, how hard, how to do it, etc. I’m just starting to think about LiveFX development and was wondering if I could avoid login/UserID crud and just use Windows Live ID.

After reading this post, I guess so… :)

ODF for Microsoft Office v2.5 Released

SourceForge - OpenXML/ODF Translator Add-in for Office

image 

OpenXML/ODF Translator - OpenXML/ODF Translator Team Blog - Mission Accomplished... OpenXML/ODF Translator Release 2.5 Available on SourceForge!

“Our previous blog entries already described the main features and improvements we’ve included in version 2.5. Thus, we will just summarize the highlights of the new release in this entry.

Common New Features

  • Single MSI installer for all translator add-ins
  • Associating ODF files with the Microsoft Office applications (during installation): This feature allows you to convert and open an ODF file by double-clicking in Explorer.
  • Shortcut from the Windows Start menu to the OpenXML/ODF Translator ReadMe file

…”

If you’re in a mixed MS Office & ODF world this add-in is a must have.

Still I have wonder about this project’s future now that MS Office 2007 is getting ODF baked into it? Maybe MS is taking this and baking it in? From the outside, that would seem to make sense but you never know…

 

Related Past Post XRef:
ODF for Microsoft Office v2.0 (Word, Excel, PowerPoint) Now Available
Word ODF Addin v1.1 Released
ODF Translator (ODF for Word Addin) 1.0 Released

Tuesday, November 18, 2008

Vista Bridge (v1.3) available on MSDN Code Gallery

MSDN Code Gallery - Vista Bridge Sample Library 1.3

“The Vista Bridge Sample Library contains source code for assemblies that provide managed code developers access to Windows Vista features that are not available in the .NET Framework. Some of the features included in Vista Bridge Sample Library are - Vista style Task and File Dialogs, Common Open and Save dialogs, Application Recovery and Restart, Known Folders, Network Lists, Power Management, User Account Control, CommandLink control, Aero Wizard Control, System provided icons etc.

The Vista Bridge Sample Library also includes sample applications that demonstrate many of the features included in the library. It also contains a help file (vistabridgedocumentation.chm) that describes the library.

To build the library in Visual Studio, please extract the contents of the ‘VistaBridge1.3.1.zip’ file in a folder, open the included ‘vistabridge.sln’ file and build it.” [Description leached in full]

Vista Bridge Sample Library 1.3 - Vista Bridge 1.3.1

“Vista Bridge 1.3.1

source code, 1502K, uploaded Nov 11 - 299 downloads”

A shot of the CHM

image

A view inside the Zip

image

 

Besides the UI stuff I’ve previously blogged about that the Vista Bridge Library makes easier, one area I’m interested in is the “Application Recovery and Restart” topic/sample. I like the idea that the OS can help me help my users by better handling “catastrophic events”.

(via Kate Gregory's Blog - Vista Bridge on Code Gallery!)

 

Related Past Post XRef:
It’s the Bridge to… Vista – Getting and installing Vista Bridge Sample Library
Ease Use of Vista Task/Common Dialogs with Project Glidepath Windows Vista Bridge Package

Monday, November 17, 2008

Extending the SharePoint calendar to stop double-booking room/resource reservations

CodeProject - SharePoint Reservations

“…

After rejecting the Room and Equipment template, I decided to create a new custom SharePoint list based on the Calendar so I could leverage the existing features and functionality. The interface is well known to my users, so extending it would result in minimal training requirements. My biggest requirement was to prevent collisions. Since I wanted to keep things generic, I called the project Reservations. Once a user reserves a time slot, no other user could create an overlapping reservation. Additional requirements included: a custom POC field, and the start date has to be before the end date. The POC field is used when the user doing the scheduling is not the same as the person using the resource, but it can be removed if necessary. As additional resources need to be tracked, new reservation lists can be created by the site administrators.

Summary

In conclusion, I used a simple approach to a common problem that was based on existing standards. Since standards were followed, the resulting tool can be extended with typical SharePoint tools. Training requirements were reduced to a message about how to handle collisions since the user interface was unchanged.

…”

This, double-room booking, is an issue that we have. No matter how many, “check to make sure someone else hasn’t already booked a room” emails that go out we still get people double (in once case triple) booking our conference rooms (silly humans). An automated, systemic solution is needed which is why this caught my eye. I doubt I’ll be able to push this through here for implementation, but it’s good about this just in case…