Adam Tibi on ASP.NET, C# & SEO

Working with other colleagues, I found these C# syntaxes are still not well-known and used, so I thought of blogging on them.

1 - Properties Without Members

In the old days, before C# 3.0, we used to write syntax like:

Read full post »
UK Software Consultant and Recruiting Agent

Working as a .NET software consultant in UK, I spent ages with the IT recruiting agents on the phone and had suffered their tricks. So, in this post, I thought of educating my software consultant colleagues of the agents' sneaky tricks and dodgy tactics.

Recruiting agents, especially in the current credit crunch, are having less 'productive' work to do due to the reduced demands in the market, so they are spending more time wasting our "software consultants" time and resources rather than doing their actual role which is, obviously, recruiting!

Below are some of their tricks, tactics and some commonly used phrases on the phone:

Read full post »
Security Holes in ASP.NET Validator Controls

I have explained in The Three Steps of Building an ASP.NET Validator Control, how to build a validator control from the ground up in three easy steps and in a reusable format. I highly recommend reading it before going any further.

Here I am discussing the common validator control security holes that might compromise your forms security when left untreated.

Read full post »
Credit Card Number ASP.NET Validator

The standard ASP.NET validator controls such as the RequiredFieldValidator or the RegularExpressionValidator do not cover all validation requirements, so usually developers tend to create a CustomValidator for such scenarios.

A major problem with the CustomValidator is reusability, as if you wanted to use the validator in another project then there would be some copying and pasting and code duplication, then you have to maintain multiple versions of the same control.

The solution, as you have guessed from the title, is to build your own validator control when possible to promote reusability.

In this post I will be showing you in three simple steps how to build an ASP.NET validator control and take credit card number format check to show by example. I will also be building the architecture so that your validator and other validators that you will develop in the future could be as reusable as possible.

How to Check a Credit Card Format

Luhn check is an algorithm that checks if a credit card number is valid (format wise), so in practice, before you even think of doing any further processing on the credit card, this check should be satisfied.

Read full post »
Google Sandbox, your website here

I got a question from Anthony Grace in the comments of my previous post Three Rules That ASP.NET Developers Should Know About SEO about Google Sandbox and thought of writing this short post to illustrate what is it and how to avoid it.

Google Sandbox is, in essence, the process of keeping your website outside Google search results for competitive keywords because your website has just been registered or changed owner.

When Google Sandbox

The sandbox usually starts when you register a new website and lasts from 6 months up to a year depending on factors that are only known to Google.

Google is also monitoring the domain registration information so this will also happen when the registered owner of the website changes i.e. you've bought a second hand domain.

Put simply, you are sandboxed when your website has valuable content and is SEO optimised and you are no where near the search engine top result pages.

Read full post »
ASP.NET & SEO

Search engines optimisation, SEO, is an evolving 'science' and it keeps changing on purpose. Most articles that I read which involve both SEO and ASP.NET usually focus on how to programatically set the meta keywords tag and they tend to make it look like very important while, as of today, it has minimal effect on optimisation.

Generally, web developers tend to turn the blind eye when it comes to SEO while a great part of SEO should be done by developers. Here are three rules for .NET developers to follow while building a site:

Read full post »
Visual Studio 2008 Perofrmance

Visual Studio 2008 is a huge resources consumer, it takes long to load then long to open your solution, long to run it and debug it. I have been using it for more than a year now after setting VS 2005 to retirement. I have VS 2008 set on a high perforamce Vista Business laptop with 2GB of memory.

While working with ASP.NET on VS 2008 my colleagues and myself started to notice some patterns when running or debugging a web project that will improve performance rapidally. Tricks that do really work and we laugh every time they work at how silly they are.

Here are two interesting tips that we encountered:

Read full post »
UI, BLL and DAL new architecture with LINQ to SQL

In the pre-LINQ days, I used to use the classical 3-tiers architecture for designing ASP.NET web projects, the user interface (UI), the business logic layer (BLL) and the data access layer (DAL).

My DAL layer used to rely on Microsoft's Data Access Application Block (DAAB) which abstracted the repetitive and boring ADO.NET implementations. There are some 3rd party tools such as SubSonic, which has some common features with LINQ, or NHibernate, however, I would rather use the enterprise library.

Let me quickly illustrate the way to solve a problem with the classical architecture. This is a simple business problem, a website that has many brands and each brand has an advertising campaign. To access the campaign stats, which are supplied by the campaign agency, we need to access the agency's webservice by providing our brand credentials. We simply store these login credentials in our database -> retrieve login info of a brand -> call the webservice -> display the stats on a web page.

Read full post »
Internet Explorer & Firefox visitors stats on adamtibi.net

I redesigned my website, adhered to the XHTML standards, validated on the W3C validator and everything went alright, now the last step, cross-browsers compatibility tests.

First step, I need to look at the previous stats to learn what browsers are support-worthy. And? Surprise, surprise! IE6 is still alive with quarter of the IE users! But why?! My blog is targeted at the IT pros which are expected to be on modern browsers.

Read full post »
knight on horse

The story began when my wife asked me "Oh my lord, I want a blog." I was extremely happy to fulfil her request as now she can post her thoughts and save me listening :) . I answered, "My dear queen, I shall grant thee a weblog."

.NET blog engines for non-techies anyone? I found only two, BlogEngine.NET and dasBlog and they both don't suit her royal needs. What do the majority of bloggers use? WordPress? But that is PHP?! I'm not touching PHP, I wouldn't be happy if a mate of mine told me "So, Adam, you are using PHP." I, who spent hours arguing with the open source blokes, from university professors to collegues to online forums to developers in meetings.

I thought, what is more important? Turning down her highness' request or betray my oath to Microsoft and .NET community? And the answer, as you have already guessed, the second option.

And the moral of the story is? Check my wife's blog AboutXena.com with WordPress engine, let me know your thoughts and forgive me if you feel that I have betrayed you as a .NET Developer.