March 2005 - Posts
Two years ago, I started collecting development tools for .NET on this weblog. This list quickly became a web site:
SharpToolbox.com.
Two years after, it references 680 tools including 186 libraries in 49 categories. To date, 33 tools have been flagged as discontinued.
I believe SharpToolbox is a comprehensive directory of the available tools for .NET. Let's hope its sister site,
JavaToolbox, will have the same future.
I continue to add improvements to the sites. Soon I will improve the search and filter functions.
Here comes a useful tool if you are working with multiple computers at the same time:
Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It's intended for users with multiple computers on their desk since each system uses its own monitor(s). Redirecting the mouse and keyboard is as simple as moving the mouse off the edge of your screen. Synergy also merges the clipboards of all the systems into one, allowing cut-and-paste between systems.
Synergy is open source.
Some fun and real geek attitude for the week-end:
It's interesting to know
how the Windows Forms designer in Visual Studio loads forms. Did you ever wonder how it is possible for you to design an instance of a form while the underlying class is not completed and compiled? Raghavendra Prabhu explains how it works.
One problem that remains unanswered is how to detect a form is in design mode, to avoid accessing to run-time resources. One would think the
DesignMode property is the solution.
Let's consider the following constructor for example:
public MyClass()
{
if (!DesignMode)
{
_Connection = new DatabaseConnection("aceofbase");
_Connection.Open();
}
}The small problem with the DesignMode property is that it is
not always telling the full truth!
The DesignMode property isn't set to true in the constructor.
Remember, there's no real magic here.
Visual Studio .NET creates your object as it parses the InitializeComponent() method. Once the object is constructed, Visual Studio .NET keeps track of the objects it creates, and simply says: newlyCreatedObject.DesignMode = true
There is no definitive solution to this problem.
All kinds of workarounds are used.
- We could call GetService(typeof(IDesignerHost)) and see if it returns something.
- Some are comparing System.Diagnostics.Process.GetCurrentProcess().ProcessName to "devenv" to see if the form is hosted in Visual Studio. But I don't like this one because in many cases it won't work (like with VS add-ins).
On a related note, Brian Pepin has written about
the problems with designing abstract forms.
Google has just added new features to its
AdSense program. Some are very cool like the ability to get money in your currency and directly on your bank account. Goodbye change rates and check deposit expenses!
Another feature is Ad Links units, which display a list of topics that are relevant to a page. Each topic, when clicked, brings the user to a page of related advertisements.
You can see how they look like and test them on this weblog. Look on the right. We'll see how they perform money-wise...
Google also updated its Terms and Conditions to allow users to reveal how much they make out of AdSense. A lot of people already started to release
some figures. And then we realize that
contextualized text ads are becoming quite a big opportunity, and a full-time job for some.
New players are starting to challenge Google and its AdSense and AdWords programs: Kanoodle, MSN, Overture/Yahoo!...
Definitely something to follow and that will heat up in the near future.
Microsoft Visual Studio 2005 beta 2 delayed
Nothing to add. We're getting used to this...
Yoshihiro Kawabata from Japan sent me a note on how to be able to search the
SharpToolbox from
RSS Bandit:
Step1: Menu "Tools | Options" (opens the "Options" dialog box)
Step2: Select "Web Search"
Step3: Click "Add"
Step4:
Url = 'http://sharptoolbox.com/Search.aspx?Query=ToolName%3d{0}'
Title = 'SharpToolbox ToolName'
Step5: Click OK
Additional steps:
Step1: Download http://www.sharptoolbox.com/favicon.ico
Step2: Open the 'Web Search Engine Properties' dialog
Step3: Select the favicon.ico file in the Picture text box
Thanks Yoshihiro!
You can
see pictures on Yoshihiro's weblog.
Note that if you want to perform a search on descriptions, you can use the following URL:
http://sharptoolbox.com/Search.aspx?Query=Description%3d{0}
This can be be used with the JavaToolbox as well of course.
Reminder: Search Plug-ins are available for Firefox and Mozilla.
I've just made an update to the
SharpToolbox (and
JavaToolbox): you can now
tag the tools to help categorizing them.
This works like
del.icio.us. After tags have been added to tools, people can use these tags with the search function to find the tools.
This should enable a looser classification, which could be better than the current category-based one.
To tag a tool, go to its page and click on the "Add tags" link. That's all!
Tags are words used to categorize tools and help people searching for them. Please only add tags that make sense for a specific tool.
The next step will be to have a
Google Suggest-like drop-down list to help using the tags...
More Posts