Marquee de Sells: Chris's insight outlet for category 'tools' via ATOM 1.0 csells on twitter

You've reached the internet home of Chris Sells, who has a long history as a contributing member of the Windows developer community. He enjoys long walks on the beach and various computer technologies.




ClickOnce + FireFox

If you're having trouble with ClickOnce while using FireFox as your default browser, then this post is for you. Thanks, Saurabh!

0 comments




Hello from ASP.NET 2.0

I ported sellsbrothers.com to ASP.NET 2.0 a while ago, but I wasn't happy with the experience, so I didn't pull the trigger on moving it to a production environment. I'm glad I waited. I ported the site again last night using the VS05 Web Application Project preview and it worked a treat. Recommended.

0 comments




Network bandwidth usage monitor?

Sometimes, for no reason I can discern, the network bandwidth on various computers in my house goes south. What I'd love is a tool that shows me how much traffic is going across my network, where it's going and where it's from, i.e. from the internet, from a machine in my house, etc. Ideally, it'd also show me the ports and even the processes on each machine that are producing/consuming the data. Does such a tool exist?

0 comments




Calling a Remote Index Server from .NET

I was building some code to access Index Server's results via .NET and I got this:

// Catalog specified in connection string
string query = "select Path from Scope() where FREETEXT('foo')";
using( OleDbConnection conn = new OleDbConnection("Provider=MSIDXS.1;Data Source=MyCatalog") ) {
  conn.Open();
  OleDbDataAdapter cmd = new OleDbDataAdapter(query, conn);
  DataSet ds = new DataSet();
  cmd.Fill(ds, "SearchResults");
  DataTable table = ds.Tables[0];
  ds.Tables.Remove(table);
  return table;
}

This came from a combo of stuff I found on the net and my own experimenting. However, I had to get an MS employee who know IS (thanks Chad Ray!) to figure out how to access IS remotely, which I was finally able to get working thusly:

// Server and catalog specified in query string, not connection string
string query = "select Path from MyServer.MyCatalog..Scope() where FREETEXT('foo')";
using( OleDbConnection conn = new OleDbConnection("Provider=MSIDXS.1") ) {
  conn.Open();
  OleDbDataAdapter cmd = new OleDbDataAdapter(query, conn);
  DataSet ds = new DataSet();
  cmd.Fill(ds, "SearchResults");
  DataTable table = ds.Tables[0];
  ds.Tables.Remove(table);
  return table;
}

Also, if the server or catalog name has anything "weird" in it, e.g. those wacky dashes, you're supposed to wrap it in double quotes. My experimenting showed that wrapping any server or catalog name in double quotes worked just fine, e.g.

string query = "select Path from \"MyServer\".\"MyCatalog\"..Scope() where FREETEXT('foo')";

However, if the server name is "localhost" or "127.0.0.1", IS doesn't like it, which meant that I had to check for those server names and drop the ones that used the loopback adapter (although using the machine name of the local machine worked just fine), e.g.

static bool IsLocalHost(string server) {
  return string.IsNullOrEmpty(server) || (string.Compare(server, "localhost", true) == 0) || (string.Compare(server, "127.0.0.1") == 0);
}

string GetPlainTextQueryString(string text, string columns) {
  // IS doesn't like "localhost"
  if( IsLocalHost(_server) ) {
    return string.Format("select {0} from \"{1}\"..Scope() where FREETEXT('{2}')", columns, _catalog, text);
  }
  else {
    return string.Format("select {0} from \"{1}\".\"{2}\"..Scope() where FREETEXT('{3}')", columns, _server, _catalog, text);
  }
}

I'm only posting this 'cuz I couldn't find it on the net and I want to be able to find it again later. : )

0 comments




.NET 2.0 Breaks NTD

Charles Sterling, Developer Evangelist, points out a problem with .NET 2.0 and No-Touch Deployment applications over the internet (where "problem" = "breaks completely").

0 comments




Bindows: Windows Implemented in AJAX

Holy User32 in a browser window, Batman!

I don't know what it's like to use an app built this way, but looking at the samples blows me away...

0 comments




New Workspace Link for RegexDesigner

Here.

The nice folks at GotDotNet have decided in their infinite wisdom to move all of the workspaces to a new hierarchy w/o forwarding the URLs and then leaving a message behind indicating that such a thing is temporary to keep users on their toes:

"Operational Troubleshooting in Progress
The Gotdotnet team is aware of the current site operational issues and is working on a solution. Thanks for your patience."

Anyway, due to popular demand, I've updated the GotDotNet workspaces link to the RegexDesigner and other tools. Enjoy.

0 comments




Windows Template Library (WTL) 7.5

It looks like my old friend Nenad Stefanovic is up to his old tricks with a new version of my favorite native framework, the Windows Template Library. This will go nicely with ATL Internals, 2e, which Chris Tavares is finishing up for Brent and me.

[via Shawn Wildermuth]

0 comments




Lots of WinForms 2.0 Chewy Goodness

Here. The WinForms team has put up all kinds of WinForms 2.0 resources, including a bunch of FAQs and samples. Enjoy.

0 comments




Windows Forms 2.0 UI Clones

Here.

The Windows Forms team has posted .NET 2.0 versions of their UI clone apps, including:

If you want a Windows Forms app in one of those styles, those samples are where I'd start.

0 comments




Using VS05 to build .NET 1.x apps

Jomo Fisher has put together a list of steps to take when you want to use Visual Studio 2005 to continue to maintain your .NET 1.x applications under the .NET 1.x Framework.

0 comments




Generics Q: Best way to convert a string to a T?

What's the best way to implement the following semantic (feel free to change the signature)?

bool ConvertFromStringToT<T>(string in, ref T out) {...}

I'd like to be able to call it like so:

int x = 452;
double y = 77.7;

ConvertFromStringToT("123", ref x); // x is now 123
ConvertFromStringToT("abc", ref y); // y remains 77.7

I came up with a solution that relies more than I'd like on run-time behavior rather than compile-time behavior, which is why I'm asking.

0 comments




Scraping old versions of VS05 off your system

If you read the ReadMe.htm from the Visual Studio 2005 setup, you'll see a detailed list of up to 23 things to uninstall in the right order (plus 2 notes if you have trouble).

To solve this problem, Dan Fernandez posts about a VS05 uninstall tool that worked wonderfully for me.

0 comments




VS05 Has Shipped! Wahoo!

Soma says it all.

0 comments




MS Dogfooding Avalon

As MS releases new frameworks, folks always ask "Does MS use this?" Of course, MS has tons of existing apps that would be silly to rewrite, but when we build new stuff, we generally use the latest frameworks that make sense.

Towards that end, John Gosman continues his history of Expression Interactive Designer aka Sparkle, mentioning the percentage of managed code in  (100%) and the number of P/Invoke calls (1 -- HtmlHelp) to get what is probably the most amazing app I've seen in years, whether managed or not.

0 comments




175 older posts       45 newer posts