Friday, November 07, 2008

NetMon Parsers – Existing parsers available and more coming via CodePlex

Network Monitor - Open Source Parsers for Network Monitor 3.2

“With the release of NM3.2, we revamped the parser management so that we can support parser upgrades. So I’m pleased to announce that we just released a new version of the parsers on http://www.codeplex.com/nmparsers. As new parsers become available or the current parsers become extended or improved, you’ll be able to get the latest version.

The Plan

Our plan is to release a new set parsers every month. The updates will be based on your feedback and bug/issue reports that are filed on the site. It may take us a bit of time to completely convert our development over to CodePlex. In the meantime there may be fixes for bugs that have been filed internally. But soon you’ll see the parser files updated live along with a matching MSI installer each month. We have already released a new MSI with the current parser changes. Just look at the Release tab off of our CodePlex site and choose the MSI package that matches your installed Network Monitor OS version.

Eventually, we will document and expose the code for MSI creation so that you can create packages for your own parser sets. Also, we are planning to provide documentation for how to test parsers so that you can understand how we test internally for regressions and compatibility.

…”

CodeProject - Network Monitor Open Source Parsers

“Welcome to the Network Monitor Open Protocol CodePlex Project!
This project will contain the latest updates for the Network Monitor parsers. All parser development will be done through this CodePlex site starting in November 2008, and we welcome your input as well as your parser bug reports.

Introduction
This project will contain the latest updates for Network Monitor parsers. All parser development will be done through this Codeplex site starting in November 2008 and we welcome your input as well as your parser bug reports.

While parsers for many protocols have always shipped with Network Monitor, we have now decided to ship parsers for the protocols described in the Windows Open Protocol Specifications and to move parser development into the CodePlex open source environment. This is a big step for us, so please be patient as we get settled in.

With the launch of this portal, we have also released an updated set of parsers for Network Monitor 3.2. Over the course of the next month, we’ll be moving to develop completely within CodePlex so parser developers, enthusiasts, and the like can have access to the latest parser changes immediately. In the meantime, we’ll be synching the CodePlex branch with our internal development once a week and dropping a couple of new tested parser installation packages every couple of weeks.

…”

Just looking at the amount of NetMon parsing code now in the CodePlex project is making my eyes bleed… Man I love open source (or Source Available or what ever ;)

To give you a feel for what the NetMon Team is releasing check out these two snaps of the source code trees. Each listed item is a parser (i.e. protocol)

Change Set 16184 / NPL / common

image

Change Set 16184 / NPL / Windows

image

See what I mean? That’s a ton-o-NetMon parsing!  :)

 

Related Past Post XRef:
NetMon API – Capture, Parse and and Capture File Access (with Managed P/Invoke example too)
Network Monitor 3.2 (aka NetMon, NM3) Beta Released – Now with application network conversation tracking UI
NetMon 3.1 Released
Network Monitor 3 (aka NetMon 3, aka NM3) Re-released for Vista
NetMon 3.0 RTW

IIS Media Pack 1.0 – Helps make IIS7 a happy, media serving, camper

Microsoft Downloads - IIS Media Pack 1.0 - 32-bit/IIS Media Pack 1.0 - 64-bit 

File Name: IISMedia32.msi
Version: 1.0
Date Published: 11/7/2008
Language: English
Download Size: 712 KB

 

File Name: IISMedia64.msi
Version: 1.0
Date Published: 11/7/2008
Language: English
Download Size: 931 KB


“IIS Media Pack 1.0 provides media-specific extensions that make delivering media from IIS simple, and cost-effective.  Building on the security, reliability and manageability of IIS 7.0, IIS Media Pack protects media assets as it increases scalability by supporting more concurrent users per server.  IIS supports all media file types, including WMV, FLV, and MP4, and provides a great way to use your existing Web infrastructure to deliver compelling rich media content to clients such as Microsoft Silverlight.

With IIS 7.0 and IIS Media Pack 1.0, you can:

  • Save bandwidth costs by throttling the speed at which content is downloaded
  • Decrease network traffic by metering your media deliveries
  • Monetize media assets with Web playlists that personalize content and prevent ad skipping
  • Intelligently deliver multiple media formats from a single server, including .wmv, .flv, and .mp4 files

…”

This is one of those, “I know I’m going to need this one day” posts. Plus I’ve not seen this mentioned much, so…

 

Update #1 11/7/2008 @ 8:00 PM PST:

Some more details on this release.

Chris Knowlton's Blog - IIS Media Pack 1.0 Released

“Following up on our Smooth Streaming announcement last week, today we released IIS Media Pack 1.0! This first release of the IIS Media Pack features two IIS 7.0 extensions that focus on the intelligent delivery of video and audio to end users: Bit Rate Throttling, and Web Playlists.

Bit Rate Throttling

Bit Rate Throttling gives Web server administrators the ability to automatically meter the delivery of 11 built-in media file types, including Windows Media Video (.wmv), Flash Video (.flv), and MPEG-4 (.mp4) files.

Web Playlists

Web Playlists let you deliver server-controlled media playlists from your Web server infrastructure, rather than using a dedicated streaming server. …”

SQL Server 2008 FileStream and VB.Net – The Sample

Dave Noderer's Blog - SQL Server 2008 Filestream and vb.net

“I’ve become interested in a few aspects of SQL Server 2008. One is the new FILESTREAM datatype.

The basic idea is to have a SQL datatype you can use in queries and searches and is managed by SQL but which does not have any particular size limitation.

There are a number of articles on the multiple  steps it takes to setup a database  to utilize the new FILESTREAM features. I’m not going to cover that in this article. I highly recommend reading Paul Randal’s white paper on the subject, now published on MSDN: http://msdn.microsoft.com/en-us/library/cc949109.aspx. Both he and Kim  Tripp have lots of great SQL server content online at www.sqlskills.com. Paul also has some performance graphs of that will give you an idea of when to use FILESTREAM vs image or text.

Unfortunately there is very little on how to actually utilize the FILESTREAM from a programming standpoint. Most of them show how to utilize Win32 API and the SafeFileHandle, I only found one (I’m sure there are more) that talked about using the managed interface, SQLFileStream.  You can find that paper at: http://blogs.microsoft.co.il/blogs/bursteg , this was also all C#, not VB.

So I have created a vb project which illustrates using FILESTREAM… The presentation, visual  studio project and sql script can all be found here: …”

While I could convert past reference C# FileStream samples into the language I dream in (yes, VB & T-SQL… sigh… I so need a life ;) why convert when Dave has already done such a great job with the heavy lifting? 

Make sure you grab the referenced zip as it has the T-SQL and VB all packaged nicely for you…

 

Related Past Post XRef:
SQL Server FileStream Whitepaper – A DBA/IT focused FILESTREAM paper
Run to Run As Radio for a great SQL Server 2008 FILESTREAM show
SQL Server 2008 FILESTREAM Attribute from Start to C#
SQL Server 2008, the FILESTREAM Attribute and Partitioning - Apparently not as easy as it looks (yet at least)...
A future world without the SQL Server Image/Text/NText data types. Now's the time to start planning for that future...
SQL Server 2008 FILESTREAM - Writing a file to a FILESTREAM column
More SQL Server 2008 FileStream Fun
Playing with the SQL Server 2008 FileStream Attribute

Battlestar Props and Costume Auction – I think I now know what Santa can bring me this year…

Gizmodo - Viper MkII from Battlestar Going Up for Sale Along With 100s of Other Props

“Want to be the coolest guy in your neighborhood? Slap a full-sized Viper MkII on your lawn. Too big? Well, how about sprucing up your office with President Roslin's desk? Or making yourself more intimidating by wearing Colonel Tigh's eyepatch? This is the motherlode, my friends.

All this stuff, along with costumes, set pieces, production art and loads more props, will all be available at a Battlestar auction in Pasadena, CA in January. Can't make it to the west coast? The auctions will be broadcast live on the internet and there will be full internet bidding capability, so you can bid on Callie's deck helmet from the comfort of your own home.

…”

http://www.battlestarprops.com/

bglogo

There are some “just too cool for words” things available, with XMas and my birthday right after, and it’s local too? Muhahhahaha (Now if it weren’t for the stupid economy… President Elect Obama, can you fix it by then? Pretty please? ;)

Hum how to convince my Domestic CFO that this would be an “investment”… :p

Lucene.Net Resource List – Books, links and API’s, oh my…

MyNotePad - Lucene.Net Resources

“Lucene.Net is a source code, class-per-class, API-per-API and algorithmatic port of the Java Lucene search
engine to the C# and .NET platform utilizing Microsoft .NET Framework.

image

…”

It’s been a few months since I’ve posted anything about one of my longest running, “I want to do something with this one day” background thread projects, Lucene, so when I saw this, well…

(via WF Community Bloggers - Lucene.Net Resources)

 

Related Past Post XRef:
Five pages to getting started with Lucene.Net - Introducing Lucene.Net
LINQ to Lucene
Lucene.Net & C# Indexing and Searching WinForm Example
Using Lucene.Net to Index And Search C# Source
Lucene.Net 2.0 Final Released
DotLucene 1.9 Final Released
"DotLucene / Lucene.Net has moved to ASF"
Indexing Database Content with dotLucene
DotLucene: Full-Text Search for Your Intranet or Website using 37 Lines of Code
Lucene.Net 1.4.0 Beta build-001
Open Lucene.NET - The Open Source Search Engine
SourceForge.net: Lucene.Net core moved from SF
SourceForge.net: Project Info - Lucene.Net search engine

SQL Server 2008 Full Text Search Best Practices from the SQL CAT Team

SQLCAT Blogs - Best Practices for Integrated Full Text Search (iFTS) in SQL 2008

“This blog is a result of lessons learned while working with the new Integrated Full Text Search in SQL Server 2008. It is not intended to be an in-depth tutorial on how to implement it. Instead, it will concentrate on best practices. The basics of how the new full text search feature works is found in Books On Line.

If you would like a good introductory tutorial, start with SQL 2008 Books Online, then read this whitepaper: http://msdn.microsoft.com/en-us/library/cc721269(SQL.100).aspx. It is one of the best whitepapers I’ve seen recently on a product feature.

Also for more introductory lessons here is an excellent link: http://sqlblogcasts.com/blogs/simons/archive/2008/02/19/SQL-Server-2008---iFTS-Introduction.aspx

Simon Sabin also has a nice series of posts on the new iFTS features: http://www.sqlskills.com/blogs/simon/2008/02/20/SQLServer2008IFTSNewFeatures.aspx

The new iFTS feature is not rocket science, but you should expect to spend some time learning about the new vocabulary, like Fragments, Master Merge, etc. You will also spend some time learning the new DMVs (like sys.dm_fts_index_keywords and sys.dm_fts_index_keywords_by_document) .

Performance

Here is what we noticed about the performance of iFTS in a production environment.

iFilters

Limitations

Memory Settings

Other notes about FDHost

Miscellaneous notes:

Upgrade

…”

With some of the recent discussions of SQL Server FTS going on, even though I don’t use SQL’s FTS, I thought it made sense to note this posting. While not an uber-deep article, there are a number of interesting points that might help if you’re using, or planning on using, FTS.

Wednesday, November 05, 2008

Making threading in Silverlight powerfully lighter, Wintellect & Jeffery Richter release new version of their Power Threading Library with SilverLight support

Jeffrey Richter's Blog - New version of Power Threading Library dated October 30, 2008

“The latest version of Jeffrey Richter’s free Power Threading Library, which includes a DLL for use by Silverlight applications and components is now available for download. The Silverlight version includes Jeffrey’s popular AsyncEnumerator class that allows developers to use a synchronous programming model while performing asynchronous operations. This allows developers to create very fast and responsive applications while using very few threads.

…” [Post Leach Level: 95%]

Wintellect - WINTELLECT ANNOUNCES RELEASE OF JEFFREY RICTHER’S POWERTHREADING LIBRARY FOR SILVERLIGHT
“Wintellect, a consulting, debugging, and training firm specializing in Microsoft .NET and Windows technologies, today announced that co-founder Jeffrey Richter’s Power Threading library for Silverlight is now available for immediate download from http://Wintellect.com/PowerThreading.

This new library includes a DLL for use by Silverlight applications and components. The Silverlight DLL weighs in with a size of 23KB (approximately ¼ the size of the desktop version) while still containing the most useful classes of the library.

…”

Wintellect - Jeffrey Richter’s Power Threading Library

“Wintellect’s own Jeffrey Richter has produced the Power Threading library (DLL) containing many classes to help with threading and asynchronous programming.

Jeffrey has described many of the classes contained in the library by way of his MSDN Magazine Concurrent Affairs columns.

The library also contains some non-threading related classes for working with exceptions, command-line parsing, the change journal, opportunistic file locking, and more.

The Power Threading Library is available for download here. [GD: Click through for the download link]

…”

If you’re going to use the SilverLight version make SURE you read the included license agreement. I’m far from a lawyer (cough… thank god… cough… ;), but there an “interesting” clause that states;

“…

SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Wintellect reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not: [GD: Emphasis added]

Use the software on any non-Microsoft produced platform [GD: Emphasis added] [For the curious, the reason for this is because I sold the patent rights to an idea I had to Microsoft. In return, I negotiated a license with Microsoft that allows people to use this patent invention for free as long as the use of the code is on a Microsoft produced platform.]

…”

So does this mean that you can’t use this on SilverLight on a Mac? I’d say that yes, you probably can, since SilverLight on a Mac is a Microsoft produced platform. Now for MoonLight? I’d say probably not…?

Still it’s free for what’s shipping now, and given that price, if you have a “power threading need” then you might want to check this out.

The download includes both binaries, the desktop AND SilverLight DLL’s

 

BTW, sorry for the post title, it’s been a long day…

 

Related Past Post XRef:
Wintellect's PowerCollections is now on CodePlex
"The C5 Generic Collection Library for C# and CLI"
Power Collections 1.0 Released
Power Collections version 1.0 is feature complete
Wintellect - Power Collections

Free addin to help make your Visual Studio fly (well a little at least) – Free CodeRush Xpress for C# Developers

DevExpress - Announcing CodeRush Xpress for C# Developers

“Glendale, CA – DevExpress is proud to announce the immediate availability of CodeRush Xpress – a free Visual Studio add-in for C# developers. CodeRush Xpress is a comprehensive IDE Productivity toolset specifically designed to help you simplify and shape complex code – making it easier to read and less costly to maintain.

More and more developers are recognizing that simple, easy-to-read code is the key to application flexibility and easy maintenance. However, uncertainty about maintenance costs and concern about breaking code keep many developers from cleaning up their code. CodeRush Xpress for Visual Studio 2008 solves this problem for C# developers by dramatically reducing the cost and complexity traditionally associated with improving, simplifying and refactoring existing code.

The following Integrated Code Navigation features are available to you and your team free-of-charge:

  • Duplicate Line
  • Highlight All References
  • Increase or Reduce Selection
  • Smart Clipboard Operations
  • Generate from Using (TDD)
  • Quick Navigation Window
  • Quick File Navigation

In addition, CodeRush Xpress Ships with the following 25 Code Refactorings:

…”

Free is a price that’s hard to beat. It’s not even reg-ware, just click and download…

 

(via Public Sector Developer Weblog - Free Coding Assistance Add-in for Visual Studio Developers)

.Net/Scrum Metaphors

The .NExT Step - Scrum metaphors with .net

“…

Scrum and the whole Agile movement use metaphors help people understand and reason about it. So as I have to blog about .net I will contribute with my own metaphors inspired on the .net Framework. I hope you find it useful and eventually become as powerful as the metaphors already available. Here we go:

  • If a Sprint were a .net Framework type it would be System.String type because it is immutable.
  • If the ScrumMaster were a .net Framework component it will be the CLR because it is the supervisor and responsible for the correct implementation of the Scrum process just as the CLR is the supervisor of all .net programs, guaranteeing certain properties and behaviors.

…”

The first metaphor made me laugh…

Tuesday, November 04, 2008

Another way to get all the PDC Videos… This time as a RSS feed, with WMV videos as an enclosure (i.e. Catch them all for your Zune/IPod)

granth's blog - Downloading all PDC2008 session videos

“If you missed out on PDC this year, you probably know that all the sessions were recorded and made available on MSDN’s Channel9. It’s not immediately obvious from the Channel9 site, but it is possible to get an RSS feed of all the videos that are available.

This makes it very easy to download all the videos and convert them to your Zune for commute viewing.

The RSS feed is: http://channel9.msdn.com/posts/pdc2008/RSS/Default.aspx

If you want to download all 130 videos (37Gb), then download the attached PDC2008_Videos.txt [GD: Click through to actually download the text file… I don’t want to leach ALL his traffic… ;) ] file and import it into your favourite download tool. I like Free Download Manager.

…”

Since this feed has the keynotes in it I’m thinking about tweaking my PDC List Maker to use this feed as its initial catalog… (Hum and that would let me use the cool Syndication stuff in .Net 3.5… okay, sold. Firing up VS now…  ;)

 

Related Past Post XRef:
My PDC Video Link List Maker project & source is now available on CodePlex
PDC 2008 Quick Video Link List updated with link verification
Another way to get all the PDC Video Sessions Downloaded - The DownloadThemAll FireFox addon and Luciano Evaristo Guerche’s PDC link lists
PDC2008 Quick Video Link List (Updated: Now with link verification)

Infragistics NetAdvantage Select 2008 Volume 3 released today

“We have a new volume of NetAdvantage Select 2008 Vol. 3 shipping today that includes updated ASP.NET and Windows Forms controls!


What's new in NetAdvantage Select 2008 Volume 3?
Please review the new features in the NetAdvantage ASP.NET controls (http://www.infragistics.com/dotnet/netadvantage/aspnet.aspx#NewFeatures) and the NetAdvantage Windows Forms controls (http://www.infragistics.com/dotnet/netadvantage/winforms.aspx#NewFeatures) in this release posted to our website.

…”

What’s New (WinForms)

“In this new release of the NetAdvantage Windows Forms controls we have added .NET 3.5-native assembly builds, support for the latest file formats, and numerous enhancements that will be of interest to WinCalcManager™ developers and users of the our Infragistics.Excel class library whether it is to import workbooks containing Excel functions or exporting the data grid to Excel.  Read on to learn about all of the added features.

…”

What’s New (WinForms) - 2008 Vol 2

“Empowering many data entry scenarios that will leave users appreciating the usability of your data-intensive applications, NetAdvantage for Windows Forms 2008 Vol. 2 has rewritten the book of what is possible with several new data grid features in the WinGrid™ control like row edit templates, column header rotation, CardView printing and custom checkbox glyphs. Combined with new controls like the WinValidator™ to ensure data input by users is correct, and the new intuitive suggest mode in WinCombo™, we think you'll agree this release delivers tremendous value.

WinChart™ - Adds Tree Map Chart Type

NetAdvantage for Windows Forms 2008 Vol. 2 has added the tree map chart type to WinChart. Tree maps are used to display large hierarchical data sets as nested rectangles, where the size of these rectangular regions correlate proportionately to the importance of the data point the rectangle represents. They are also sometimes referred to as heat map charts, although WinChart already has a separate chart type for measuring heat and other intensities over a continuous area or 3-D surface which is different from the tree map. Real world examples of tree map charts include maps of the stock market or hard disk defragmenting utilities.

Example of a Tree Map showing Level-of-Detail in a Customers Assets and Liabilities

…”

I didn’t know until talking to the Infragistics crew at PDC that they had a TreeMap component (well kind of a component, it’s part of their WinChart component). It was pretty funny. I was asking them, that if I had a wish, one thing I would like from them was a TreeMap. He looked at me funny, and said, “poof… We recently released one…” LOL

Getting the VSTS2010 CTP Virtual Machine working well on Hyper-V

granth's blog - Converting VS2010 CTP to Hyper-V

“…

You can download the VPC from here. It’s quite a large download at 7.11GB and I suggest you follow Brian Keller’s post on a more reliable and faster download experience.

The purpose of this post is to show you that it is possible to run the CTP under Hyper-V. This can yield better performance depending on your hardware configuration.

Caveats:

  • This is not an officially tested scenario. Things may or may not work. You’re on your own.
  • Microsoft Excel is immediately crippled to reduced functionality mode. You will need to install your own licensed copy if you want to use it.
  • Microsoft Project remains in countdown mode.

Summary:

  1. Download the CTP and uncompress it
  2. Create a new Virtual Machine in Hyper-V Manager
  3. Attach the extracted .vhd
  4. Boot the virtual machine
  5. Uninstall Virtual PC VM Additions by going to Control Panel > Programs and Features
  6. Run msconfig.exe and enable ‘Detect HAL’ under Advanced options
  7. Reboot
  8. Install the Hyper-V Integration Services
  9. Reboot
  10. Wait for all the new hardware to be detected
  11. Reboot
  12. Install your own copy of Excel
  13. Take a snapshot
  14. Enjoy!

Steps

…”

This post is a great guide for getting the VSTS2010 and updating it so it runs on Hyper-V. Make sure you click through to see the detailed steps…

This finally kicked me off the fence and I’m now copying the VM’s to our Dev Hyper-V host machine and will be executing these steps so my team can also play with VSTS2010,.Net 4 and Win7. These VM’s combined with Virtual Machine Manager (so they can request their own VM’s) should be pretty cool for the team…

 

Related Past Post XRef:
VSTS 2010 and .Net 4 CTP VPC now available for download

Monday, November 03, 2008

KILL With StatusOnly – Where Killing, isn’t. Using “KILL ## With StatusOnly” to get transaction rollback status information

I want some Moore - I KILL-ed you! Now can I go for a coffee break while you die?

“…

How many times have you issued a query that you had no idea how long it would run, just to loose your patience after 10 minutes and rolled it back, forgetting that it'll probably take 10+ minutes to rollback anyway?

Come on don't be shy... raise your hand... I know you're one of them :)

Although there is no way to get the rollback time from the ROLLBACK command (if there is do let me know) we can use an extended way of calling the KILL command.

KILL command has an option WITH STATUSONLY that tells you how long until will the killed process completes.

We call it like this:

KILL 60 WITH STATUSONLY;

…the message you'll get is this:

/*
spid 60: Transaction rollback in progress. Estimated rollback completion: 2% Estimated time left: 130 seconds.
*/

…”

From the SQL Server 2000 BOL;

“…

WITH STATUSONLY

Specifies that SQL Server generate a progress report on a given spid or UOW that is being rolled back. The KILL command with WITH STATUSONLY does not terminate or roll back the spid or UOW. It only displays the current progress report.

For the KILL command with WITH STATUSONLY option to generate a report successfully, the spid or UOW must be currently in the rollback status. The progress report states the amount of rollback completed (in percent) and the estimated length of time left (in seconds), in this form:

SpidUOW <xxx>: Transaction rollback in progress. Estimated rollback completion: yy% Estimated time left: zz seconds.


If the rollback of the spid or UOW has completed when the KILL command with the WITH STATUSONLY option is executed, or if no spid or UOW is being rolled back, the KILL with WITH STATUSONLY will return the following error:

Status report cannot be obtained. KILL/ROLLBACK operator for Process IDUOW <xxx> is not in progress.


The same status report can be obtained by executing twice the KILL spidUOW command without the WITH STATUSONLY option; however, this is not recommended. The second execution of the command may terminate a new process that may have been assigned to the released SPID.

…”

Let’s see, I’ve been using KILL for how many years? Sigh… Still I guess better late than never.

Sunday, November 02, 2008

My PDC Video Link List Maker project & source is now available on CodePlex

Just a quick note to let you know that the source for my PDC 2008 Video List Maker (used to generate the list in this post, PDC2008 Quick Video Link List (Updated: Now with link verification, MP4/ZIP links and Channel 9 session page links)) is now available in a new CodePlex project, PDC Resource List Maker.

Please use it responsibly…

 

Related Past Post XRef:
PDC 2008 Quick Video Link List updated with link verification
PDC2008 Quick Video Link List (Updated: Now with link verification, MP4/ZIP links and Channel 9 session page links)

RSS Bandit v1.8.0.885 Released – Now with sync’ing with Google Reader and NewsGator

Dare Obasanjo aka Carnage4Life - RSS Bandit v1.8.0.855 Released

“I've been talking about it for almost a year and now we've finally shipped it. To celebrate the new release, we've created a new website to capture the awesomeness of the latest version.

Download the installer from here

NEW FEATURES 
- Download manager for viewing pending podcasts/enclosures
- Ability to synchronize feeds with Google Reader, NewsGator Online and the Windows Common Feed List.
- Option to increase or decrease font size in reading pane

BUG FIXES 

…”

image

You’re using a feed reader, right? Any feed reader, online or off, right? If you’re not, stop right now and start using one. No, I mean it. Stop. Right. Now.

There’s simply no way to keep up with everything that’s happening if you’re not using a feed reader. If online ones (Google Reader, NewsGator online, Bloglines, etc) don’t float your boat then there are a number of outstanding full client ones like FeedDemon (my current fav) and RSS Bandit. And since they sync with online readers you can get the best of both worlds…

For example, I have FeedDemon sync’ing with NewsGator Online which lets me sync my reads on three different machines as well as online via the NewsGator web and mobile UI. There’s just NO way I would EVER go back to a non-feed world. I can scan the newness from hundreds of sites in the time it used to take me to do 10…

 

BTW, don’t forget that the source for RSS Bandit is available too…

 

Related Past Post XRef:
RSS Bandit 1.6 Released

Saturday, November 01, 2008

NetMon API – Capture, Parse and and Capture File Access (with Managed P/Invoke example too)

Network Monitor - Intro to the Network Monitor API

“I’ve recently played with a new tool here at MS, which analyzes HTTP traffic and provides performance information so that you can better tune your web servers and applications. I also have seen an internal SMB expert that summarizes SMB traffic, for instance open files and connects. These types of experts provide a protocol specific view of network data that is tailored to a specific protocol. The NMAPI provides a powerful way to access our parsing and capturing engine directly. This gives you a lot of flexibility to analyze network traffic in ways you can only imagine. I want to give a quick overview of how the API works so that you can harness the power of the NMAPI.

VRTA – Visual Round Trip Analyzer

Before I dig into the API, let me show you an example of what the API can accomplish for you. It is available here:

http://www.microsoft.com/downloads/details.aspx?familyid=119F3477-DCED-41E3-A0E7-D8B5CAE893A3&displaylang=en

This tool was recently released and allows you to visualize HTTP traffic so that you can diagnose performance of your HTTP server or Browser.

VRTA

What Does the API Allow?

I like to divide the API into 3 areas, though they tend to overlap some. They are Capturing, Parsing, and Capture File access. So let me start by explaining what each can do.

Capturing: You have most of the same capabilities as you do in the UI. You can Start/Stop/Pause the capture engine on any of the network interfaces. The API lets you enumerate the available adapters and setup a unique callback for each one, if you want. Each time a frame arrives, the callback is sent the raw frame which you can then evaluate or simply save to a capture file.

Parsing: With access to the parsing engine, you can inspect any data field that is parsed. You can reassemble data on the fly to quickly parse for a few fields or enumerate through them all. You also have the same UI filtering language available to you in the API. You can define a filter as part of your frame parser and then evaluate that filter, very quickly, on each frame.

Capture File Access: The API also allows you to read and write capture files using the Netmon 2.1 file format for NM3.2.

Where is the SDK?

Almost everything is included when you install NM3.2. This includes NetMonSDK.CHM which describes each of the API and contains examples as well. The only other requirement is that you need to install the WDK. This is because we reference the NDIS headers for each adapter, which is one of the functions the API provides.

For more information on setting up your environment, see the section called Network Monitor API Overview in the CHM file. This can be accessed from the help menu in NM3.2.

Managed Code

While we haven’t created an official Managed wrapper, we have included a simple NetmonAPI.CS file which uses PInvoke to call the DLL directly. We hope to release a more proper wrapper externally at some point. Perhaps in the shorter term we can also start an open project which wraps the API.

…”

I’m such a sucker for Managed code’able API’s… ;)

I’m thinking that this could be useful to build a custom capture feature into an app to help diagnose network issues. Think about a feature where, either on demand or automagically, an application starts capturing traffic, say based on some local benchmark, to help diagnose an intermittent connectivity or performance issue. Then submits that info to a central repository for analysis… Would have to look into the deployment of it (NetMon) though.

 

Related Past Post XRef:
Network Monitor 3.2 (aka NetMon, NM3) Beta Released – Now with application network conversation tracking UI
NetMon 3.1 Released
Network Monitor 3 (aka NetMon 3, aka NM3) Re-released for Vista
NetMon 3.0 RTW