Posted by Mehul Harry (Developer Express) on Mar 4, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Last week, you saw a sneak peek of the new ASP.NET Captcha control that’s coming out in the DXperience v2010.1 release. In this follow-up post, you’ll learn about the ASPxCaptcha control and:
- how it creates the Captcha images
- why ASPxCaptcha doesn’t use background noise
- how ASPxCaptcha performed in an OCR test versus a competitor’s Captcha control
Guidelines And Character Set
While designing the ASPxCaptcha, our team reviewed proper guidelines and recommendations:
"Strong CAPTCHA Guidelines by Jonathan Wilkins" [http://www.scribd.com/doc/24497942/Strong-CAPTCHA-Guidelines-v1-2]
Using one of the article’s recommendations, the ASPxCaptcha uses a default character set which excludes symbols that are hard for the end user to recognize. However, you can still define your own set of characters and length using the ASPxCaptcha’s properties.

Algorithm Challenge
The primary goal of the Captcha control is to make it easy to use for people but difficult for machines. And the problem of “machine recognition” is really divided into three parts:
- Pre-processing - removal of your background and noise
- Segmentation - selection of regions in the original image that contain the individual characters
- Classification - identification of the characters in each region
The first and third problems are easily solved by most modern and public optical character recognition (OCR) software.
However, the segmentation problem seems to be the last one for spammers to crack easily. So far, there is no universal and trivial algorithm for this step of machine Captcha solving. This ‘recognition’ step requires more researching and computing power from the spammers. And lucky for us, most spammers either do not have this computing power or they do not want to invest in it.
Revealing Microsoft Study
Don’t believe me? Check out this study conducted by Microsoft Research which confirms these findings:
"Building Segmentation Based Human-Friendly Human Interaction Proofs (HIPS)" - [http://research.microsoft.com/en-us/um/people/kumarc/pubs/chellapilla_hip05.pdf]
The research reveals some very unexpected results.
Based on the research from Microsoft, machines understand skewed images with noise much better than humans. So, we can conclude that noise and strong distortions are not very effective methods of protection. In fact, the noise in images hampers recognition for the end-users.
This is why the ASPxCaptcha does not use noise in the images. Instead, the image generation algorithm focuses more on the segmentation, specifically, cutting away the segments between the characters.
OCR Test
And the results are easy to verify. Using any moderately priced OCR (for example, FineReader), we verified that NONE of the ASPxCaptcha images were recognized!
For comparison, we took a look at one of our competitor’s Captcha controls. The competitor’s Captcha was identified about 90% of the time by the OCR.
So What Are The Big Companies Using?
Most giants like Google are using the approach of generating a picture similar to how the ASPxCaptcha generates ones.
| |
| Google | ASPxCaptcha |
Vector Not Bitmap Fonts
The ASPxCaptcha uses vector fonts for characters instead of bitmap fonts.
Why does this matter to you? Because it gives you more customization options with the ASPxCaptcha!
All other implementations that we examined used bitmap fonts during the process of gap removal between characters. This way of removing gaps is easier to implement but you can’t fit rendered text in a bigger image than the one that it was designed for without a loss in quality. Therefore, these other Captchas are not as customizable as the ASPxCaptcha which allows developers to customize its image size.
Anti-Aliasing FTW!
To give you better looking images, our ASP.NET team went the extra mile and developed a better way to render the Captcha image. Specifically, they developed a modification for bilinear filter for the anti-aliasing. This bilinear filter makes the image smoother and avoids the pixel staircase effect during skewing.
… anti-aliasing is the technique of minimizing the distortion artifacts known as aliasing when representing a high-resolution signal at a lower resolution. [Wikipedia]
This type of modification is used for rendering textures in computer graphics. For example, when you are close to a wall, you see blurred texture, not large square pixels. And this anti-aliasing also works very well for the ASPxCaptcha.
Coming in DXperience v2010.1
ASPxCaptcha will be available in DXperience v2010.1 which should be released sometime around the April timeframe.
DXperience? What's That?
DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

Tags: Application Packaging, DXperience, Features, v2010.1, Virtualization
Posted by Mehul Harry (Developer Express) on Mar 2, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Good news!
The upcoming ASP.NET Captcha control will support audio!
And it was your great feedback on the ASPxCaptcha announcement that made the difference!
The DevExpress ASP.NET team will add audio support to the ASPxCaptcha in a future minor release for v2010.1.x. The little x denotes the minor release version which will be determined once the major v2010.1 is released.
Click here to learn more about the ASPxCaptcha control.
DXperience? What's That?
DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

Tags: Application Packaging, ASPxEditors, DXperience, Features, v2010.1, Virtualization
Posted by Mehul Harry (Developer Express) on Feb 18, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Check out this CodeRush plugin video about DX_MoveCode. The plugin is super simple because you can move lines of code using your arrow keys! It’s so intuitive that you’ll wonder why Visual Studio doesn’t have a feature like this built-in.
Download DX_MoveCode
Get the free plugin (and source code) from the Google ‘DXCore Community plugins’ website here:
http://code.google.com/p/dxcorecommunityplugins/wiki/DX_MoveCode

Thanks Rory!
Check out the DX_MoveCode plugin video with the plugin creator, Rory Becker!
Then drop me a line below to thank Rory for this sweet little plugin.
Want to experience a better Visual Studio?
Install CodeRush by downloading the a lite free version here: CodeRush Xpress
Or better yet, try the full blown package free for 30 days – CodeRush and Refactor Pro Download!

Tags: Application Packaging, CodeRush, plugin, Video, Virtualization
Posted by Mehul Harry (Developer Express) on Feb 16, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Chris White recently sat down with me to discuss EdgeRater and how DevExpress was able to help him deliver a fantastic user interface. After publishing the video, Chris White saw an increase in hits and downloads for EdgeRater.
So, to thank DevExpress customers and fans, Chris is offering a discounted price for the next 10 days. Check out the discount details using this special URL:
http://www.edgerater.com/promo/j/k/devexpress/
EdgeRater Video Overview
To learn more about EdgeRater, click the image below and watch the Chris White PDC video interview:
In the video, Chris demos EdgeRater and describes how he used the DevExpress tools to save time and create a great user interface.
To learn more about EdgeRater, visit: http://www.edgerater.com/
Be sure to take advantage of the EdgeRater special offer before Friday, February 26th, 2010.
DXperience? What's That?
DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

Tags: Application Packaging, DXperience, Video, Virtualization
Posted by Mehul Harry (Developer Express) on Feb 11, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Check out the “Using The Project Converter” video. The video gives an overview and explains the new features that have been added to the project converter:
Visual Studio Integration
It’s useful to integrate the project converter into Visual Studio’s external tools menu. Here’s how:
How to Add DevExpress Project Converter to Visual Studio
For faster access, you can easily integrate this tool into Visual Studio. So you can launch it from the Visual Studio 2008 menu or the toolbar. Let me show you how:
- Click on the Tools -> External Tools menu option inside Visual Studio.
- Click Add and then define the following properties:
- Title: Name as you would like to see it in the menu, e.g., DevExpress Project Converter
- Command: Location where the Project Converter is installed. Typically this will be in a directory such as: "C:\Program Files\Developer Express .NET v9.3\Tools\DXperience\ProjectConverter.exe". Please note, that with every major release from us, you'll want to update the command path to the latest location.
- Arguments: These are arguments that will be passed to the Project Converter tool. Visual Studio should generate the "$(SolutionDir)\" for you but if not, enter it. This argument is the location of the project currently open in Visual Studio.
- Finally, click OK. You should now see a new menu item under your Tools menu.
DXperience? What's That?
DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

Tags: Application Packaging, DXperience, Video, Virtualization
Posted by Mehul Harry (Developer Express) on Feb 8, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Check out this great CodeRush plugin which allows you to share snippets of your code with the world. Travis Illig is the mastermind who created this CodeRush plugin.
Watch the “Share Code On Twitter (Travis Illig)” video below and learn how the plugin works:
Installation
Follow these 3 easy steps:
- Download the free plugin here: CR-CodeTweet CodeRush Plugin
- Watch the “Share Code On Twitter (Travis Illig)” video and follow the few steps to setup the plugin.
- The plugin uses the http://codepaste.net/ website by uploading your selected code snippet from Visual Studio to CodePaste.net. Then it provides you a dialog to to enter a short twitter message with the shortened CodePaste.net url. Brilliant!
- Install and start sharing your code with the world.
This is one of my favorite plugins and I’ve already used it a few times to help answer DevExpress ASP.NET questions on twitter.
Check out Travis's free CR-CodeTweet plugin and drop me a line below with ideas on creative ways to use it.
PS. – Post your CodePaste.net profile link too please.
Want to experience a better Visual Studio?
Install CodeRush by downloading the a lite free version here: CodeRush Xpress
Or better yet, try the full blown package free for 30 days – CodeRush and Refactor Pro Download!

Tags: Application Packaging, CodeRush, plugin, Twitter, Video, Virtualization
Posted by Mehul Harry (Developer Express) on Feb 5, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Check out Brendon Muck’s awesome utility that helps you deploy DevExpress runtime DLLs to your servers. Brendon has created a free and open source tool that’s built with DevExpress controls.
Check out Brendon’s guest post for this blog that describes the tool. Oh and please ignore Brendon’s request in the PS line below. :)
----------------------------------------------------------
DX Server Installer By Brendon Muck
----------------------------------------------------------
Based on some of the comments from Julian's EULA blog, I whipped up a little application to handle deploying DevExpress assemblies to a list of target servers and installing them into the Global Assembly Cache of those target machines.
How it Works:
This application uses the Microsoft PsExec tool to invoke console line commands on a remote machine. In this case, it calls the .NET GacUtil executable to install an assembly into the Global Assembly Cache. You select the assemblies you want to install, they are copied to the target server(s), and installed.
How to Use It:
Rather than retrieve assemblies from the Global Assembly Cache, I went the lazy way and simply browse a directory for DevExpress dlls. This defaults at start-up to the directory where I have MY DevExpress dlls installed. Browse for a directory, or start typing one in (the ButtonEdit control will autocomplete your path for you--did you know that you can do that?) and click "Load Assemblies".
Next, select the file(s) you'd like to deploy, and then head on over to the Target Machines group and enter the machine name for any server you'd like to deploy to.
Finally, click the big install button at the bottom, and cross your fingers that it works.
Requirements:
This was built using DevExpress v9.3.2.0, so that would help. If you have a higher version of DevExpress installed, then use the Project Converter tool to change the references.
The PsExec and GacUtil executables are already included with the package, so there's no need to download/install them.
You will need appropriate network rights to be able to copy your files to the deployment target(s) and install into the GAC.
Screens:

Downloads:
Binaries only
Source
Feedback
Please leave suggestions and application issues through the CodePlex project page: http://dxserverinstaller.codeplex.com/
Support
Please keep in mind that this application is not sanctioned or affiliated with DevExpress in any way. Please do not contact them regarding it.
Disclaimer: (Some web site I copy and pasted this from)
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PS. In lieu of sending me monetary donations to express your gratitude, feel free to just punch Mehul in the stomach next time you see him at a TechEd or similar event.
---------------------------------------------------------------------------
Download the DX Server Installer tool and it’s source code for free from the CodePlex project home page. However…
Please keep in mind that this application is not sanctioned or affiliated with DevExpress in any way. Please do not contact them regarding it. –Brendon
You can leave Brendon feedback through the CodePlex project page: http://dxserverinstaller.codeplex.com/
Thanks Brendon for the guest post and fantastic utility!

Tags: Application Packaging, DXperience, Virtualization, WinForms
Posted by Mehul Harry (Developer Express) on Feb 5, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Check out this short 2 minute video of highlights from the Paris training class:
The 2010 DevExpress European Training Road Show is over as Oliver and I have said goodbye to Paris.
Paris is an amazing city and we had a great time meeting all the developers there. And we want to thank everyone who attended!
DXperience? What's That?
DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

Tags: Application Packaging, training, Video, Virtualization
Posted by Mehul Harry (Developer Express) on Feb 2, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
Check out this short mix of the developer feedback from the recent Zurich stop of DevExpress European road show/tour:
Oliver and I began our epic 4 city journey in London, UK then drove to Frankfurt, Germany and arrived at Zurich, Switzerland.
Our goal is to train developers on the “Business Apps with DXperience ASP.NET” course. From the attendees feedback below, they enjoyed the class and experience very much:
Thanks to everyone in the Zurich class!

Tags: Application Packaging, training, Video, Virtualization
Posted by Mehul Harry (Developer Express) on Jan 30, 2010 in
ASP.Net,
Dotnet,
Silver Light |
View Original Article
It’s time to say Ciao (goodbye) to Zurich and the excellent group of developer attendees we met there. To sum up the 3 days we spent here: It was incredible!
I’m On A Mountain!
Let’s start with the location: the Hotel Kulm in Zurich is where the 2 day training was held. This hotel sits at the top of Uteilberg, has fantastic views and at this time of the year, there is snow everywhere:
The location put everyone in a good mood. Sort of. A snow storm followed us to Zurich, just the same as Day 1 in Frankfurt. While a couple of attendees were delayed, everyone made it to the class and enjoyed the course.
Fantastic Attendees!
The group of attendees here were a sharp bunch of developers. A few of them were also owners and founders of their own successful software companies. Check out the some of the pics from the class:



Special Guest
Marc Greiner also attended the class to both learn about the DevExpress ASP.NET controls but also meet with Oliver and myself. Both Oliver and I were humbled and honored to have Marc there and to finally meet him in person.
Marc’s involvement with the DX-Squad goes back many years as he’s helped many developers in the DevExpress forums. Thanks Marc!
Paris Or Bust
Now we drive to the last stop, Paris!
Stay tuned for more news from the European Road Tour.

Tags: Application Packaging, training, Virtualization