Richard Dudley

Pencil Bros. Geology, Inc. "We Deliver" Quality Assured * Satisfaction Guaranteed

<July 2008>
SuMoTuWeThFrSa
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789


Navigation

Pittsburgh Dot Net

Crystal Reports .NET

Subscriptions

Post Categories

Article Categories



Lazy Programmer (RSS)

I'll explain it later
Review: Free Components For ASP.NET 1.1

Jason Gaylord has a new article on ASP Alliance reviewing free components for ASP.NET

How many times have you looked for that one component that would complete your project? Of those times, how many times have you found a component that was extremely affordable (free)? Hopefully, you found those components. If not, maybe I'll have a component listed just for you.

Within this article, you'll find lots of components that can be used with ASP.NET to assist with better design and better code. I've tried to break down the components into categories and explain what each component contains.

13 pages of free goodies.  Sweet!  Check it out: Review: Free Components For ASP.NET 1.1

posted Friday, March 18, 2005 12:42 PM by richard.dudley

HttpBrowserCapabilities - Half The Story, Still Painful, Why I Still Dislike Browscap.ini

In the latest MSDN Magazine, George Shepard writes about determining whether or not a browser supports certain properties (”The ASP Column: Determining Browser Capabilities in ASP.NET”, Jan 2005).  While I think the HttpBrowserCapabilities class is a great improvement over the classic ASP methods, I still think that determining support is not going far enough, and its archaic reliance on browscap.ini makes its use impractical in the long run.

Let me explain the first point, which I touched on in a previous blog post (“Don't sniff browsers--sniff objects“).  If you need to determine whether or not a browser supports a certain property, it's obviously important to your needs.  In the past, we've had to detect support for JavaScript, 128 bit encryption, and document.all vs. document.layers, all for very good reasons.  Astute readers have just had a thought similar to “just because a browser supports JavaScript doesn't mean the user has it enabled”, and that's my point exactly.  So what if a browser supports JavaScript?  If the user has JS disabled, and you're relying on the idea that JS is supported, your scripts will not work.  With ad blockers that strip out HTML code before it reaches the client browser, security centers that lock down any number of settings, and generally screwed up client machines, you can't really be sure what should be there actually is.

Secondly, the browscap.ini file.  If you have the freshest version, it's not bad.  But it doesn't take long before new browser versions render it out of date.  If you're running IIS 5 on Win 2K, unless you've taken the time to track down a new version, your browscap.ini hasn't been updated since 2000.  Your file is missing IE 6, FireFox, Mozilla and all the WAP enabled smart devices we were dreaming of almost 5 years ago.  You can find updated versions (such as http://www.hpcfactor.com/developer/browscap/default.asp), but they suffer from the usual version conflicts when multiple independent sources are involved.  You can update it yourself, but best of luck keeping on top of what you need to.

Remember for a time, after IE 6 was released?  NS 4.7 and IE 5.5 were the major browsers.  I ran into a great number of poorly written browser sniffers that read the USER_AGENT and MAJOR_VERSION, determined that my browser was neither NS 4.x nor IE 5, and alerted me to upgrade to a more modern browser.  Nothing says “I'm clueless“ like telling someone with the latest browser they need to “upgrade“ to the older version.

The best way to determine support for what you need is to actually test for the creation and presence of objects and methods.  This takes some client-side scripting, but it's not hard.  And you'll have a definitive answer.  I reference a good example in my previous blog post listed above.  No guesswork, and it's actually much easier, and much more flexible.  If you encounter a browser not listed in the browscap.ini, you will know if it supports what you need, and that client will be able to take advantage of the richer and more advanced features of your website.

For small needs, a small amount of client-side scripting will probably be sufficient.  But, if you have needs for advanced detection, check out BrowserHawk ate http://www.browserhawk.com.

posted Wednesday, December 22, 2004 5:45 PM by richard.dudley

Community Server Now Available?

Every day or so, I make it a point to check out the new controls in the ASP.NET Control Gallery.  Right there on top today is this one:

Previously known as ASP.NET Forums, Community Server is a knowledge management and collaboration platform that includes a powerful forums engine, a blog engine, and a photo gallery engine. Used by Microsoft, Autodesk, Intel, and many other companies as the platform of choice for building communities.

More information: http://www.asp.net/ControlGallery/ControlDetail.aspx?Control=2443&tabindex=2

posted Wednesday, December 22, 2004 6:06 AM by richard.dudley

Issue Tracker Starter Kit Released

After being in beta for a while, the Issue Tracker Starter Kit has now been released, with both VB.NET and C# (only C# was available in beta), and SDKs (for Web Matrix) or VS.NET projects.

You'll find it at the top of the page: http://www.asp.net/Default.aspx?tabindex=8&tabid=47

The Issue Tracker enables project teams to keep track of outstanding issues, assigned owners, history and related issues through a Web-based interface.

posted Tuesday, November 16, 2004 9:28 AM by richard.dudley

koders.com - Open Source Code Search Engine

http://www.koders.com

From the site:

Koders is an open source search engine. It enables developers to easily search and browse source code in thousands of projects hosted at hundreds of open source repositories.

Koders.com: Find (open) source code fast
source: http://www.newsforge.com/article.pl?sid=04/11/01/1927212

How it works

Let's say you want to write a GPLed online card game, like bridge, in C. And wanted to see how others had handled shuffling the cards. On the Koders.com site, you could search for "shuffle cards" with the license option set to GPL and the language set to C. Then click on the Search button.

The results screen shows one hit: a program called server.c from the UNO - Card Game project on SourceForge. (SourceForge is another OSTG property, like NewsForge.) I find both the project and the specific program linked to from the results page. Clicking on server.c, I see plenty of meat for my own project. Very impressive.

After giving the site a spin, I sat down with Koders.com founder and chief architect Darren Rush.

posted Monday, November 08, 2004 9:59 AM by richard.dudley

Sweet (and free) Panel Control for WinForms

This is one snazzy WinForms control, and you can't beat the price:

PureComponents NicePanel for .NET WinForms V1.0
http://www.purecomponents.com/products/nicepanel/

PureComponents NicePanel is container component of active look, which will enrich your applications. NicePanel has header and footer, which widen its usage. Using gradient fill and color schemes you can easily and quickly set nice look, which can be further enhanced with images from integrated Clip Art or from file.

posted Wednesday, October 20, 2004 8:10 AM by richard.dudley

Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'.

I encountered this error while working with some dynamic SQL in a stored procedure:

Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'.

The solution is simple, and was a 'Doh!' moment after I figured it out.  Not much help in Google when I looked, so here's for the next poor soul.

sp_ExecuteSql accepts a list of parameters, the first two of which MUST be either ntext, nchar or nvarchar.  The @statement parameter is declared as ntext, so an implicit conversion is performed if you use either nchar or nvarchar.

If you are building dynamic SQL, you should declare your parameter as one of the accepted types (e.g., declare @sql nvarchar(4000)).  If you are using a direct statement as your query, you need to preface it with the letter N, as seen below.

incorrect:
execute sp_executesql 'select * from pubs.dbo.employee where job_lvl = @level', 
     '@level tinyint',
     @level = 35

correct:
execute sp_executesql N'select * from pubs.dbo.employee where job_lvl = @level',
     N'@level tinyint',
     @level = 35

More information is in the SQL Server Books Online, or at the following link: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_ea-ez_2h7w.asp

I was building dynamic SQL, and had declared the SQL parameter as varchar.  Doh!

posted Wednesday, September 29, 2004 1:26 PM by richard.dudley

Free and Interesting E-mail Address Obfuscator

Hide your e-mail address from SpamBots with this free tool.  It turns your e-mail address into a gif:

http://www.whois.sc/info/webmasters/email-protection.html

Anyone know if there's a .NET control that does this?

posted Thursday, August 19, 2004 1:53 PM by richard.dudley

IssueVision (SmartClient Helpdesk App) is Now Available

Developed specifically for the DevDays 2004 Smart Client track, IssueVision provides a sample help desk management application.

source: http://www.windowsforms.net/Applications/application.aspx?PageID=40&tabindex=9

Includes XP Themes, custom controls, hashing and encryption, and deployment.

posted Tuesday, August 03, 2004 12:40 PM by richard.dudley

ASP.NET RoundedCorner Web Control (Thanks Scott Mitchell!)

Introducing the RoundedCorner Web Control
source: http://aspnet.4guysfromrolla.com/articles/072804-1.aspx

...I decided to create a custom ASP.NET server control that would utilize the dynamic image-creation capabilities of GDI+ to create the corner images for me. The result is an ASP.NET Web control, which I call RoundedCorners, that you can drop on an ASP.NET Web page, set a few properties, and be presented with a nifty box with rounded corners, as shown on the right. In this article we'll examine how to use the RoundedCorners Web control in a page, as well as take a peek under the covers at the control's source code.

posted Wednesday, July 28, 2004 10:17 AM by richard.dudley

LLC, LLP, Sole Proprietor and insurance

For those of you working as independent contractors, what's been your experience with organizing your business?  LLP?  LLC?  Sole Proprietor?  Are there benefits to one over the other?  For liability purposes, LLP or LLC look more attractive than  SP.

Also, what about insurance?  Does anyone carry special or extra liability insurance?  Feedback greatly appreciated.

posted Monday, July 12, 2004 6:08 AM by richard.dudley

Save $10 on Microsoft Exam Vouchers from Amazon!

Save $10 on Microsoft Exam Vouchers

Click here to see this product at Amazon.com (Associate link)

Microsoft Certification Exam Voucher

• Valid for any Microsoft Certified Professional (MCP) exam (except beta exams). Visit the URL listed on the front of the voucher for a complete listing of available exams
• Good at over 1,300 Pearson VUE™ Authorized Centers throughout the US and Canada
• You must register for your exam online – via the URL listed on the voucher
• Voucher expires April 30, 2005 and cannot be extended or refunded
• Note: voucher ships in a CD-jewel case, but contains no CD

posted Saturday, July 03, 2004 8:11 PM by richard.dudley

Forms Authentication - Redirect User to Another Page

This post has been moved to http://aspadvice.com/blogs/rjdudley/archive/2005/03/17/2568.aspx.  Please update your bookmarks.  Thanks!

posted Friday, June 25, 2004 10:06 AM by richard.dudley

Screen Resolution and design...(don't forget about screen size!)

Stefano has some interesting stats in his Screen Resolution and design...  post.  A large part of the increase in higher resolution monitors is due to the rapid increase is LCD and plasma displays being sold (which I think are now outselling CRT displays--good news for us all with small desks).  Part of the LCD/plsma market is laptops, and Stefano's stats miss something important--screen size.  Laptops have a much smaller screen size, and in a number of cases are the primary or only computer.  Although designers can design for higher resolutions, it doesn't necessarily mean they can make larger pages.

My wife has one of those awesome little Sony Vaio TR-1A laptops.  Amazing monitor, and it has the dimension ratio of an HDTV.  But it's the size of a paperback book--such a small screen size!  Navigation can be a pain on sites that were built for 17” monitors at 1024x768.

posted Tuesday, June 22, 2004 6:05 AM by richard.dudley

MSDN Binders overflowing - what do I pitch?

I've become the keeper of an MSDN Enterprise subscription.  It's in two binders that are starting to swell in a scary manner.  Can I discard some of this stuff?  The main culprits seem to be the monthly index and quarterly library.  Any reason to keep anything other than the latest editions?  I'm hesitant to get rid of anything else, since the SDKs, servers, tools, etc. have the potential to be pretty useful.

Please help me--how do you keep your MSDN subscription organized?

posted Monday, June 21, 2004 11:55 AM by richard.dudley

ConnectionStrings.com - Forgot that connectionstring? You will find it right here!
The idea of connectionstrings.com is to provide an easy reference for connection strings.

All connection string and enumeration info are collected from other internet sites, books, helpfiles,
Microsoft msdn etc. A lot of info is sent in by developers from all arround the world (thank you!).

Hat tip: http://www.wwwcoder.com/main/parentid/111/site/3122/68/default.aspx

posted Friday, June 04, 2004 6:47 PM by richard.dudley

New FxCop Article on 4GFR

FxCop, Your .NET Cop

FxCop is a rule based engine which helps the development team to enforce best practices of the .NET platform and development standards. This article will help you understand how FxCop works and how you can make use of it in your ongoing .NET projects. You can download FxCop from http://www.gotdotnet.com/team/fxcop/. This tool is provided by the FxCop team from Microsoft for free. (The current version available at the time of writing is 1.30.)

posted Wednesday, June 02, 2004 6:43 AM by richard.dudley

How to programatically check if SSL is enabled

This post has been moved to http://aspadvice.com/blogs/rjdudley/archive/2005/05/21/2596.aspx.  Please update your bookmarks.

posted Monday, May 24, 2004 7:49 AM by richard.dudley

Protect PDF, DOC and other file types with Forms Authentication

This post has been moved to http://aspadvice.com/blogs/rjdudley/archive/2005/05/21/2595.aspx.  Please update your bookmarks.

posted Friday, May 21, 2004 4:38 PM by richard.dudley

CAPTCHA Images for your website

This post has been moved to http://www.rjdudley.com/blog/CAPTCHAImagesForYourWebsite.aspx.  Please updates your bookmarks.

posted Tuesday, May 18, 2004 10:17 AM by richard.dudley




Powered by Dot Net Junkies, by Telligent Systems