Archive for November, 2009

Another excellent podcast in which .NET Rocks! interviews Dean Gou about Project Trident. Project Trident was created for the real/near-time monitoring of thousands of oceanic sensors, in short it helps to crunch large quantities of data.

The boys talk to Dean Gou about Project Trident, a scientific workflow workbench. With Project Trident, you can author workflows visually by using a catalog of existing activities and complete workflows. The workflow workbench provides a tiered library that hides the complexity of different workflow activities and services for ease of use.

While the project sounds very interesting in its own right I have to wonder at what other possible applications there are for Project Trident.

Trident is part of a collaborative project between The University of Washington, Monterey Bay Aquarium Research Institute and Microsoft, to provide Project NEPTUNE with a scientific workflow workbench for Oceanography. Trident, implemented on top of Windows Workflow Foundation, allows scientists to explore and visualize oceanographic data in real-time and provides an environment to visually compose, run and catalog workflows.

If Trident is used by oceanographic scientists then it should also be useful to educational researchers, while enhancing the fidelity of their work.

Other features in Trident for data-intensive research include: automatic provenance capture, “smart” re-running of different versions of a workflow, on-the-fly updatable parameters, cost estimation of the resources a workflow will require, monitoring of long-running tasks, and support for fault-tolerance and recovery from failures.

Trident Screenshot

Fascinating stuff!

via .NET Rocks!.


Read Full Post »

Decent overview of wikis at work, the ways in which they can be used, and an overview of typical concerns before implementing them with rebuttal.

The wiki crops up in many companies’ internal discussions about process improvements and efficient collaboration, but it is often shot down because so few people have exposure to good models of what a really successful business wiki can do. Ars is here to help with a practical introduction based on real-world examples.

In general, wiki’s would be a great addition to work but I worry that the editing environment might not be quite rich enough. Our various Word documents often contain simple diagrams, and the Microsoft-Project style add-on we purchased for Sharepoint also gets a lot of use. Maybe there’s some feature-rich wiki’s available?

via Wikis in the workplace: a practical introduction – Ars Technica.

Read Full Post »

Ugh, grids. Seems like no matter what I want to do it ends up being more complicated than I’d like. Same goes for binding to nested properties…

My workmate Vijay is playing with WCF with a small project, and was asking me how to display a “nested” property of his business object in a DataGridView. I'll walk through an example here, changing the class names to protect the innocent.

via Binding to Nested Properties : Mad Props! – Matt Hamilton.

also DataGridView: How to ind Nested Objects.

And while I’m at it here’s a good overview of binding combo boxes to your grid. (Yes, I’m too lazy to make another post.) Exploring DataGridViewComboBoxColumn Databinding.

For proof that I’m cleaning out Firefox tabs, here’s  a decent post about binding a grid to a binding source. BindingSource and BindingList Of T – DataBinding Made Simple! And an MSDN link that you’ve probably already found via Google.

Read Full Post »

As I looked into the ITypedList interface I realized that perhaps everything I needed was already implemented as my business objects are generated by Linq-To-Sql? The answer turns out to be “sort-of”.

I’m taking a peek at both the Entity Framework and LINQ to SQL, and while I like the systems (and of course the LINQ integration) I’m a little skeptical on the data-binding aspect. I’ve taken query results and inspected them, and they don’t appear to implement the standard .NET list-binding interfaces (IBindingList, and more importantly ITypedList), leading me to believe that binding them to a grid (or anything else) is going to use reflection to get/set my entity properties. This seems like a comparatively expensive operation, especially when all of the code is generated anyway and could implement the interfaces.

via Does Entity Framework/LINQ to SQL Data Binding use reflection? – Stack Overflow.

Read Full Post »

This looks to be the solution to my current struggle with binding a collection of multiple types of related objects to a grid. (Or a Devexpress XtraGrid!)

Let’s start with an overview of the problem. If you want to create a grid-like user interface in an application, the easiest solution is to use the Microsoft DataGrid class or an off-the-shelf third party grid control such as the Infragistics UltraGrid, and assign the grid’s DataSource property to the data of interest.

This is simple if the data of interest is a DataSet object or other collection designed for easy integration with grids. But it’s not so easy if you want to connect the grid to a collection of application-specific objects. Most grids are designed such that if you assign the DataSource property to an arbitrary list of objects, something reasonable happens. The grid will typically use reflection to get the names and datatypes of the object’s members. But if you want to control which columns are displayed, how the values are formatted, and so on, then this solution is inadequate. And if the objects contain lists of other objects and you want the grid to be able to display the sublists, the problem is even more difficult.

Microsoft’s ITypedList interface provides a solution. It’s even rather elegant and minimal, although you wouldn’t think so from reading the documentation and examples. Underlying this solution is the PropertyDescriptor class, which provides all of the information required to deal with a particular table column, i.e. its datatype, display name, how to get its value given a row-level object, and so on. Specifically this class’s PropertyType property returns the column’s datatype as a Type object, it’s DisplayName property returns the column’s display name as a string, it’s GetValue method takes a row-level object and returns the column’s value, and so on. This is a great building block. All we need to do is provide the grid with a suitable list of property descriptors whenever the grid needs to know how to display a row. That’s where the ITypedList interface comes in. It provides a method called GetItemProperties which returns a list of PropertyDescriptor objects providing the grid with the information it needs.

via Tips for binding grids to hierarchical data using the ITypedList interface » Lab49 Blog.

Read Full Post »

Scenario: Important meeting! Too much coffee! Bad lighting! In walks the killer! Wait…

No, that’s wrong. In walks Visual Studio 2010 Beta 2 with an inability to open an EDMX created with Visual Studio 2010 Beta 1, asking if I’d like to open the file in an XML editor. Ack! A previously printed paper diagram (for the meeting) and a bit of time later I resolved the differences between my EDMX and a test EDMX created with Beta 2.

  1. The Schema tag,next item after <edmx:StorageModels>, had the correct xmlns property but was missing entirely the xmlns:store property. Adding xmlns:store=”http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator&#8221; was required.
  2. The Schema tag,next item after <edmx:ConceptualModels>, had the correct xmlns property but was missing entirely the xmlns:annotation property. Adding xmlns:annotation=”http://schemas.microsoft.com/ado/2009/02/edm/annotation&#8221; was required.
  3. Changing all “store:” prefixed properties of elements within  ConceptualModels to be “annotation:” prefixed.
  4. Swore at Microsoft a little for giving me the “prividledge” of hand-editing a 2400 line xml file.

A save and compile later I could open my diagram and proceed. Hope that helps!

Read Full Post »

After migrating a web application from IIS6 to IIS7 I experienced issues with the ReportViewer rendering incorrectly and incompletely. Google and Antonio Ooi to the rescue with an easy fix that required just a bit of web.config editing…

OTK Founder’s Column: Solving ReportViewer Rendering Issue on IIS7.

Read Full Post »