Archive for February 2005

 
 

Sysinternals Process Explorer 9.0

A new version of Process Explorer is now available.

What’s new in 9.0:

  • System information dialog has per-CPU graph option with hyperthreaded and NUMA processor information
  • A Users menu duplicates the functionality of Task Manager’s Users tab, showing Terminal Services session information and supporting logoff, disconnect, and sending messages
  • On XP SP2 and higher the TCP/IP tab displays the thread stack at the time an endpoint was opened
  • The tray icon context menu includes the shutdown menu
  • Search engine option to use Google or MSN Search
  • Object address column is available for the handle view
  • Image signatures can be checked on-demand in the process properties dialog
  • Process explorer is digitally signed with Sysinternals’ Verisign Class 3 signing certificate

[ Via Dan Crevier's Blog ]

Fugue ( Software protocol checker for languages compiling to MSIL )

Fugue is a defect detection tool for .net software, which lets you record the rules for using a class or interface and then check whether code that uses the class or interface is obeying the rules. For example, Fugue can show you the places where null is stored in a field that should not be null, where your code neglects to call Dispose on an IDisposable object or uses the object after calling Dispose, where an object’s methods are being called in the wrong order, and even where the code makes domain-specific mistakes, such as creating a SqlCommand object on a bad sql query. When you run Fugue, it analyzes your code and prints a list of error messages and warnings, just like a compiler.

You can constrain the order in which an object’s methods may be called.

[WithProtocol(”raw”,”bound”,”connected”,”down”)]
class Socket
{
    [Creates(”raw”)]
    public Socket (...);
    [ChangesState(”raw”, ”bound”)]
    public void Bind (EndPoint localEP);
    [ChangesState(”raw”, ”connected”), ChangesState(”bound”, ”connected”)]
    public void Connect (EndPoint remoteEP);
    [InState(”connected”)]
    public int Send (...);
    [InState(”connected”)]
    public int Receive (...);
    [ChangesState(”connected”, ”down”)]
    public void Shutdown (SocketShutdown how);
    [Disposes(State.Any)]
    public void Close ();
}

 

You can use Nullness attributes To record whether an object can be null, you give the object’s declaration one of the following three attributes:
[NotNull] The object cannot be null.
[Null] The object is definitely null.1
[MayBeNull] The object might or might not be null.

 

class NullDemo
{
    [NotNull] private string name;
  [NotNull]
    public string Name
    {
        get
        {
            return name;
        }
    }
 
    public NullDemo([MayBeNull] string nm)
    {
        this.name = ( nm == null) ? "default" : nm ;
    }
 
    [return : MayBeNull]
    public string GetOrigName()
    {
        return this.name.Equals("default") ? null : this.name;
    }
 }
 
Download Figue

Aggregated reflection-based ToString() implementation

Instead displaying your object’s public fields(properties) in ordinary way ,that doesn’t so informative

string foo = string.Format( "My name is {0} {1} and my birthday is {2:MM/dd/yyyy}", 
                            p.FirstName, p.LastName, p.BirthDate );

you can print your object using FormattableObject library

Person p = new Person( "Scott","Hanselman",new DateTime(1974,1,22) );
string foo = p.ToString("My name is {FirstName} {LastName} and my birthday is {Birthdate:MM/dd/yyyy}");

Download FormattableObject 0.5

[ Via ComputerZen.com ]

RSS Bandit v1.3.x (Wolverine) Beta

New Features

  • Newspaper styles: Ability to view all unread posts in feeds and categories or all posts in a search folder in a Newspaper view.
  • Column Chooser: Ability to specify which columns are shown in the list view from a choice of Headline, Topic, Date, Author, Comment Count, Enclosures, Feed Title and Flag.
  • Category Properties: It is now possible to specify certain properties for all feeds within a category such as how often they should be updated or how long posts should be kept before being removed.
  • Identities: One can create multiple personas with associated information (homepage, name, email address, signature, etc) for use when posting comments to weblogs that support the CommentAPI.
  • del.icio.us Integration: Users who have accounts on the del.icio.us service can upload links to items of interest directly from RSS Bandit. 
  • Skim Mode: Added option to ‘Mark All Items As Read on Exiting a Feed’.
  • Item Deletion: News items can be deleted by either using the [Del] key or using the context menu. Deleted items go to the "Deleted Items" special folder and can be deleted permanently by emptying the folder .
  • UI Improvements: Tabbed browsers now use a multicolored border reminiscent of Microsoft OneNote.

RssBandit.1.3.0.18.Wolverine.Beta.zip

[ Via John Montgomery's Weblog ]

Whidbey Commands for Visual Studio 2003

Gaston Milano developed an excellent little utility called WhidbeyCommands for Visual Studio 2003 .The utility adds the following commands to the Solution Explorer context menu:

  • Collapse all projects - collapse all projects in the Solution Explorer
  • Open Project Folder
  • Visual Command Prompt Here

Also it adds the following commands to the Text Editor context menu:

  • Demo Font - swaps the editor font to a larger, clearer font
  • Copy File - copy the working file to some place
  • Send by Mail - select some text in a document right click and send it by mail
  • Wheel Font Sizing - by pressing Ctrl while rolling the mouse wheel, you can enlarge or reduce the font size

Page 3 of 41234