Domino Address Book with 40,000+ Pretend Names
Ages ago I asked for your help in adding names to this "address book"-like database. Since then I used the same data to demonstrate lots of AJAX methods and, in particular, the Name Picker I created.
As good as this data was (and I thank you for it) some of it was a little spurious (people called "a a" or "test test") and there were never more than a couple of thousand records. What I really needed was a real address book with thousands of pretend people.
Well, now I have one. Here's a Domino Directory with more than 40k made up names.
To do this I started with an empty NSF based on the Directory template. Then I obtained a load of pretend names — half from fakenamegenerator.com and half from Davopedia.com's Data Maker. All I needed to do then was modify this CSV import script and I was off.
The result is a huge directory against which I can do some real stress testing of applications that refer to address books. It's still not perfect though. I need to add more "foreign" names with things likes accented characters. I also need there to be more occurrences of unique names, both first and last. From there I can use it in developing things like the "ultimate Domino name picker", which I'm working on now.
Would this database be useful as a download? If anybody wants a copy let me know. If there's interest I'll Zip and upload it.
Updated: You can download it here (23MB Zip). Take a moment to thank Prominic.NET for the free bandwidth as you do!
I haven't posted for a while so..
Congratulations x 2 (Marriage + Baby).
Happy New Year.
I'd be interested in a copy.
Why not add 40,000 pretend email addresses and then sell it to the spammers ;-)
Sure it's interesting, because most of the time we're developing with a quite empty address book (maybe 100 or 200 entries) whereas most of the companies do use very large address book, and sometimes we are backstabed with performance issues, or even domino limits.
Well. I'm interested.
I'll take that as a general interest in a download of it then. Give me a while and I'll post something up here...
Hey Jake --
First, Happy New Year to you and your family!
I have to say that this is an EXCELLENT resource that you've given us. It's a perfect example of one of those simple first-steps/tasks to application development that can take up development cycles and detract from us getting the job done.
I found this in Jack Slocum's forum too.
@Val ... that link rocks!
Happy New Year to you and yours.
Do I take it that you are of like mind
, if so can I persuade you otherwise, or is this just an interesting discussion topic ?
Whichever, if it's at all relevant here is the response that I attempted to post to tetlw.id.au for anyone else that's read that blog.
To follow your own example of validation. It is frequently necessary to validate quite a large number of <inputs> in a form, especially on the type of intra/extranet stuff that I mainly work on.
The only way to create the necessary one to one relationship between a given <input> and the validation code to be run against it is to use attributes.
Trying to limit this to the use of XHTML's restricted subset (id,class etc) leads to complex and obscure code and immense problems if the environment is at all dynamic. How do you know what to do with the required min/max/regex etc for id="XXX" when the id keeps changing because the whole thing is database drive and index ordered at the backend. Or added to by a maintenance coder. It's a coding and maintenance nightmare.
X(HT)ML is eXtensible. It's MEANT TO BE eXtensible, it is, pardon my French, the WHOLE BLOODY POINT of it.
It has the potentially very important advantage of being human and machine readable with clear intent to both people and robots.
Both DOM and MS support getAttribute() and setAttribute() for this very purpose, as do almost all old browsers via expandos.
There is an issue with validation.
Unless you take action then your code will no longer validate against w3c XHTML but that is a separate issue with various solutions (see AListApart for recent discussions)
My personal solution is to add <!ATTLIST> tags into the body of the <doctype> during the development and testing phase, putting up with the unavoidable ']>' chars at the top of the page. This enables me to check code quality during development but I remove the <!ATTLISTs> when deployed. I validate to ensure that my code is as good as I can make it, semantically 'correct' to ensure reliable machine readability. I'm not the slightest bothered that an end user will submit my page to a validator and see it 'fail' because of 'invalid attributes'. If that ever becomes a problem then I'll use a custom DTD but frankly I can't see that I'll ever need to.
We have to work with what we've got, raw XML can't really be done given the current generation of browsers so extending XHTML with a small number of meaningful custom attributes seems to me by far the least bad approach.
It is, I submit, a humble solution.
PS never been here before, arrived via a link from Jake at codestore.net
Ron. Maybe it was the id="XXX" part ;o)
I would suggest to populate all fields in Work and Home tabs with somewhat random but valid data.
And include a couple of hundred groups where members are random persons from this address book.
This would greatly extend the usage areas of the database.
not sure if this is effecting everyone or not.. but all of a sudden.. your homepage requires my browers to be at least 1162 px wide for the layout to look right. Otherwise the blogs don't start until after the right-side nav boxes..
maybe something to do with your last post and the img size?..
Just thought i'd let you know..
Its a terrible first post for a loyal reader, but I thought it was important.
this is great!
Thank you for this!!
It will be a great base for personal projects..