Nik's Technology Blog

Travels through programming, networks, and computers

Website Compliance and The Disability Discrimination Act 1995

Following a recent on-line seminar I attended about Website Compliance with the UK's Disability Discrimination Act (DDA) I have been investigating what effects this will have on web designers who wish to design accessible websites.

The W3C have produced a set of guidelines called Web Content Accessibility Guidelines or WCAG for short. They are currently updating these, but the current version is 1.0.

The link below is my interpretation of the guidelines and the techniques developers and designers need to put into practice in order to make accessible sites.

There are three W3C priorities in which developers should aim to reach. If your sites conform to all three priorities then your site will be accessible by the disabled community and you can place a W3C WCAG logo on your site.

I have attempted to condense and organise the W3C guidelines into the three priorities with a view of what developers need to change.

I am in the process of making this site conform to all three priorities, but as you will soon find out when you read the guidelines this in some cases will mean re-writing pages of code.

Nik's Website Accessibility Guidelines

Active Directory Exports using CSVDE

CSVDE - Comma Separated Value Data Exchange

If you need to export all or part of Active Directory a handy Windows utility exists called CSVDE.exe which is located in the System32 directory of Windows 2000 servers.

CSVDE exports to a .CSV file which you can then manipulate in Excel or import into SQL Server.

CSVDE is run from the command prompt and has various switches to enable you to obtain the information you require.

The simplest export, which would export the whole Active Directory would be:

CSVDE -f activedirectory.csv

This would export a file called activedirectory.csv to the directory where CSVDE was run from and would contain all the fields, and there are a lot!

To specify certain fields like the NT logon and email address for example you would use the -l switch:

CSVDE -f activedirectory.csv -l "mailNickname,mail"

CSVDE uses the current users account to log into Active Directory by default, to use another account use the -b switch and specify username, domain and password.

CSVDE -f activedirectory.csv -b username domain password

CSVDE also allows you to create an LDAP search filter, so you can choose to only export only users who match certain criteria. Use the -r switch. The following only exports your details based on a surname match:

CSVDE -f activedirectory.csv -r "(&(objectClass=user)(sn=yoursurname))"

If you have more than one domain controller you can use the -s switch to select the correct one.

Active Directory imports can also be performed using CSVDE by using the -i switch, which sets the mode to import otherwise export is the default mode.

Cisco CCNA Certification

The CCNA, Cisco Certified Network Associate, is a networking exam designed to provide an introduction to networking skills and Cisco products. It is the first of three major Cisco exams the others being CCNP (Cisco Certified Network Professional) and CCIE (Cisco Certified Internetwork Expert).

The exam covers a great deal of topics, and will introduce you to Local Area Networks (LAN), Wide Area Networks (WAN), switching and routing. You will learn how to configure and troubleshoot Cisco routers, as well as basic configuration of Cisco switches, and of course, you will learn how to set up your own LAN and WANs.

My Cisco CCNA revision notes

Cisco CCNA Test Questions

The CCNA 640-607 exam lasts for 90 minutes and contains between 55-65 questions, which vary in difficulty. No two people sitting the exam will get the same questions as they are chosen from a pool of CCNA test questions, which are only used for a short period of time.

The exam has a several different types of questions, the site below is an excellent resource for testing your knowledge. CCNA test questions include multiple choice, multiple choice with multiple answer, drag and drop and fill in the blanks questions. Along with these you will get various router simulations, in which you will need to configure a network of routers or determine a fault in a network of routers and fix the problem. These are aimed at testing your knowledge of networking and Cisco IOS, however I advise you to read the test questions thoroughly and make sure you understand what is being asked of you, otherwise you WILL get caught out. For example, some test questions you will have to 'choose all that apply', if you miss read this and only check one box, you will not get any marks for that question.

Before the CCNA exam starts you will have to read and accept the terms of the Cisco Career Certifications and Confidentiality Agreement. Otherwise you will not be able to continue.

The exams are set in a controlled environment where you are not allowed notes or calculators and you must not talk to anyone else. You will be provided with blank paper for making notes, which will be collected at the end of the exam.

The time will fly past, and before you know it you will be running out of time unless you practise taking tests with test software, before you consider buying test software I advise you to look for free resources on the web, follow the link at the bottom of the page, and don't spend too long on each answer. Each type of question is allocated a different amount of marks. The router simulation questions are worth the most, so spend more time on those.

Currently the CCNA is under going a change and will be broken up into two separate exams.

I recommend the Sybex book below for your revision. It's explanations and examples helped me pass my CCNA with a score of 912. It also comes with CD test software which will help you practise answering questions to a set time, as well as getting you used to the terminology of the questions.

This material is not sponsored, endorsed or affiliated with Cisco Systems, Inc. Cisco, Cisco Systems, CCIP, the CCIP Logo, the CCNA Logo, the CCNP Logo, the CCDA Logo and the CCDP Logo are trademarks of Cisco Systems, Inc. and its affiliates. CCNA®, CCNP®, CCDA® and CCDP® are registered trademarks of Cisco Systems, Inc. and its affiliates.

Free Networking Quiz to help you prepare for the CCNA test questions

Importing data from one Database to another with slightly different sized fields?

Preparation is the key to a faultless import.

Sometimes it's useful to know the maximum length of the data you store in your database. Even if you know the maximum size of the cell, the actual data stored may be smaller.

In Microsoft SQL use:

SELECT MAX(LEN(firstname))

FROM tblData

This MS SQL command will find the maximum length of the data in the firstname field of tblData table.

Using this method you can avoid having to increase the destination tables field sizes in cases where you haven't actually used the full capacity in the source database.

So if the source field size for firstname is varchar 50 and the destination is varchar 40, you can use the above SQL to determine if anyone's first name is actually longer than 40 characters. If it's not then you don't need to increase the cell size in the destination table.

If you get the following error when you try to use the LEN() SQL statement above, then you are trying to find the maximum length of a text field.

Error: Argument data type text is invalid for argument 1 of len function.

For text fields in SQL use Datalength() instead of LEN().

SELECT MAX(DATALENGTH(Description))

FROM tblJobs

The Datalength() function which will return the length of any expression, in this case the maximum length of the description field from the tblJobs table.

This can be used on all data types including text, ntext, image and varbinary.

Of course a perfectly designed database would have as little spare capacity in fields as possible, but with fields such as people's names this is hard to achieve this.

Browsers in BT Internet kiosk phone boxes

While walking past a BT Broadband Internet kiosk I was intrigued to find out what browsers they used. This is useful if you are a web developer, since you want to make sure websites you design work on as many platforms as possible.

After surfing to nikmakris.com and navigating with the TAB key (since the tracker ball wasn't working) I was pleasantly surprised on the speed and usability.

I guessed that they were using a form of Internet Explorer, partly because I know what my site looks like on IE compared to Mozilla and Netscape etc.

On checking my web logs I confirmed my earlier suspicion that BT Broadband phone boxes use IE. In fact they use Internet Explorer 6 on a Windows NT 5.1 platform, (which I believe is Windows XP) they have Javascript enabled and except cookies and with screens of resolution 800x600 and a colour depth of 16, they are more than capable of viewing most sites.

Thinking of building a PC from scratch and on a budget?

Maybe you should consider a cardboard case like the one below?

Sounds odd, but when you think about it there are many things that you could fit a PC inside. All you need is an ATX PSU (Power Supply Unit) and a switch off an old power supply (ATX style only), or you could make your own Switch/Reset using momentary switches from Maplin or the like.

Cardboard PC Case

Construct your own ATX PSU switch

If you fancy creating your own ATX switch and reset button, it's easy check out this site.

http://www.taconuts.org/articles/2000/dec/21/page1.php

Apple Mac G4 PC Conversion

Maybe if you have an old G4 lying about you could convert the innards into a PC!

Article Image

Reciprocal Links - Link to Link - Increase PageRank

Trying to increase your PageRank in Google? Maybe this is could help your site.

I've created a links page on my site (see link below) which you can add your URL, providing your website is of similar web development content it will be accepted pending human verification at a later date.

Before submission of your link you will be required to link to nikmakris.com. Your site will then be checked for the reciprocal link automatically and if it passes you will be added to nikmakris.com links page.

How will this help your site?

Google uses an algorithm called PageRank, which gauges the usefulness of your pages based on the amount of inbound links to your pages. Each page has it's own Page Rank.

When you link to a page on another site you are essentially "voting" for that site. The site you link to will gain a proportion of the PageRank of that page depending on the amount of links on that page and if that page has any Page Rank at all.

If the page you link to also links to you, you will receive a "vote" as well.

PageRank is a multiplier which when combined with good search engine optimised HTML will give you much higher rankings in Google. So the higher Page Rank you have the better.

An indication of your PageRank can be found out if you install the Google Toolbar with advanced features from www.toolbar.google.com, although this is only an indicator since PageRank is logarithmic.

Why study for a Cisco CCNA ?

CCNA - Cisco Certified Network Associate, is a certification for people looking to gain a high level of knowledge in networking and Cisco products.

It is also a prerequisite for other high level Cisco certifications, such as CCNP, CCIE.

There are two ways to train for this exam.

You can either buy a book and learn yourself, (I bought the book below which is very useful, and I read it cover to cover before taking the exam) this method is good, but you will miss out on practical experience unless you have a couple of Cisco routers lying about in your garage. You can buy Cisco simulators which you can practise on, but I didn't like these too much.

The other way is to check out your local colleges for evening classes or boot camps, which will aid your learning providing you with exposure to Cisco equipment and teachers knowledge.

The CCNA 640-607 is a 75 minute exam with a varying number of questions. This exam is fairly difficult and you need to know your stuff inside out!

Last minute CCNA study tips

Cisco CCNA Networking Academy

The Cisco Networking Academy is an online learning resource which will guide you through the CCNA pathway, providing online assessment, training and hands-on labs.

Cisco Networking Academy

Cisco CCNA Threaded Case Study

Below is the Cisco Threaded Case Study (TCS) that I was involved with while studying for my CCNA.

A similar case study will need to be undertaken by you if you choose to study the Cisco Networking Academy.

Threaded Case Study

Determining which SQL Server Service Pack you have

Before installing Microsoft SQL Service Packs you need to find out which version you are currently running. The commands below should be run in Query Analyser.

SQL 2000

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

RTM 2000.80.194.0

SQL Server 2000 SP1 2000.80.384.0

SQL Server 2000 SP2 2000.80.534.0

SQL Server 2000 SP3 2000.80.760.0

SQL 7

SELECT @@VERSION

7.00.1063 SQL Server 7.0 Service Pack 4 (SP4)

7.00.961 SQL Server 7.0 Service Pack 3 (SP3)

7.00.842 SQL Server 7.0 Service Pack 2 (SP2)

7.00.699 SQL Server 7.0 Service Pack 1 (SP1)

7.00.623 SQL Server 7.0 RTM (Release To Manufacturing)

SQL 6.5

SELECT @@VERSION

6.50.479 SQL Server 6.5 Service Pack 5a (SP5a) Update

6.50.416 SQL Server 6.5 Service Pack 5a (SP5a)

6.50.415 SQL Server 6.5 Service Pack 5 (SP5)

6.50.281 SQL Server 6.5 Service Pack 4 (SP4)

6.50.258 SQL Server 6.5 Service Pack 3 (SP3)

6.50.240 SQL Server 6.5 Service Pack 2 (SP2)

6.50.213 SQL Server 6.5 Service Pack 1 (SP1)

6.50.201 SQL Server 6.5 RTM

Note: If the version number of your server is not listed here then please visit Microsoft's site for the latest versions. Hotfixes and security patches are not listed.

Fix Orphaned Users in SQL Server after Restoring a Database to another Server

Orphaned users can be created in a database when it is restored to a different server. This happens because not only does the database keep a record of users (sysusers), but so does SQL Server (sysxlogins) in the Master database.

So when you do a restore to a different server the SQL logins in the Master database don't link to the users in the restored database, this is the case even if a login exists with the same name. This is the case because each login has an associated SID (Security Identifier).

Common symptoms of this problem are:

  • Applications may experience 'login failed' error messages and fail to log into the database.
  • Users won't show up in Enterprise Manager, but when you try to add these users, you will get error messages saying 'User or role already exists in the current database'

Solution:

Used stored procedure - sp_change_users_login. You will need to create the account you wish to change users to before running this stored procedure.

--Change the user account to link with the 'NewHarry' login.

USE Books

go

EXEC sp_change_users_login 'Update_One', 'Harry', 'NewHarry'

This will change the user Harry in the restored database to link with NewHarry instead.

How to troubleshoot orphan users in SQL Server databases?