Goodies To Go Newsletter #338

By Vince Barnes

Goodies to Go (tm)
May 23, 2005 -- Newsletter # 338
This newsletter is part of the network.


Featured this week:
*   Goodies Thoughts - Getting It Right
*   Q & A Goodies
*   News Goodies
*   Feedback Goodies
*   Windows Tech Goodie of the Week 
*   And Remember This...


Getting It Right
I remember watching a documentary some time ago, that showed a bird that had learned to pick up stones and throw them at eggs to crack their shells, allowing the bird to eat the contents of the eggs.  The commentator pointed out that this is the only bird we know of that uses a tool to accomplish a specific task.
I pondered for a while, the learning process this species had to go through.  At some point, it must have had the inspiration to pick up a stone and drop it.  My guess is that it had to have been really lucky on that first try, and cracked the egg; otherwise, why would it try again?!!  It had to have repeated the process many times over, gradually learning that throwing the stone with a jerk of the head yielded a higher rate of success than merely dropping it.  There also had to be a whole bunch of them around at the time, so that the species could learn the process, rather than just a few individuals.
And as I pondered, I thought about how close that learning process is to the way we learn to build websites.  We, however, have the distinct advantage on knowing in advance that we will be going through a learning process, and that failures are an anticipated part of that process.  This enables us to fast track through -- acquiring skills at a much faster rate than the bird does; which is probably why the birds still can't build websites!
Once inspired, the bird marveled at its initial success.  So should we, no matter how humble the success might be.  The only requirement for continued success at that point is to continue.  It is not necessary, or even desirable, to try to learn it all at once.  Instead, learn one new thing and incorporate it into an existing effort.  Next learn another, and so on.  There is a great danger of becoming overwhelmed by failures if there are too many detailed items in the project for each to be learned in succession.
In this process, it is less important to get it all right than to get it done.  Getting it right comes with time, and is a naturally occurring
 feature of a repeated process.  Keep those websites coming!

Thanks for Reading!

- Vince Barnes
Q & A Goodies
Questions are taken from submissions to our Community
Mentors. You can ask a Mentor a question by going to
Q. I am constantly creating files (pdf or word) files that I need to show to many co-workers. Instead of having to email everyone everytime I finish a file, I would like to upload the file to my server and have them view the list of files online and download the ones they want. These files need to be password protected as different people in different departments should only see files pertaining to them. Here was my idea, create a bunch of password protected folders on a server - one for each department, and I will upload the file to any folder that should be allowed to view these files.  Two questions: 1) I put the files in a folder, but when I try to view the folder in a browser it tells me I don't have permission to access this folder (I assume because I never created an index file). How can I set it up that I should be able to view a list of files that are in the folder?  2) how can I create a page that will allow me to upload files to folders using a browser?
A. I believe you are correct in that you do not have an INDEX file for the server to show when you try to access the folder. You could create an INDEX file with the links to the documents for downloading. I am assuming that you have already password protected the folder? An even easier way would be to use a password log in feature for your pages. The application would allow users to sign up themselves and you would control which group the user should be in and only the documents or files you allow each group or person to view. There is a nice web application called ASPLogin. It has to run on a server that supports ASP. For example, to make a document available to all users in a group called 'management', members of a group called 'administrators' and a user called 'fred' (who may or may not be in either of the groups), you would add the following code to the top of the document:
<.%@ LANGUAGE=VBScript %>
Set asplObj=Server.CreateObject("ASPL.Login")
Set asplObj=Nothing
Any other group or person trying to see that document will not be allowed to see it. It is a pretty slick application You can take a look here:
To create a page to allow you to upload documents would call for some scripting. This all depends on what type of server you site is hosted on. If it is a Windows server then it will support Active Server Pages (ASP).

Q. Is there a way of naming spans partly with a variable? I.e. insted of doing this:
 document.all.sp1.innerHTML=('<img src=pt1.gif>');
 document.all.sp2.innerHTML=('<img src=pt1.gif>');
 document.all.sp3.innerHTML=('<img src=pt1.gif>');
 document.all.sp4.innerHTML=('<img src=pt1.gif>');
 document.all.sp5.innerHTML=('<img src=pt1.gif>');
 document.all.sp6.innerHTML=('<img src=pt1.gif>');
 document.all.sp7.innerHTML=('<img src=pt1.gif>');
 document.all.sp8.innerHTML=('<img src=pt1.gif>');
is there any way like:
 for( var n = 1; n < 9; n++)
 document.all.sp + n + .innerHTML=('<img src=pt1.gif>');

A. You could try to use the eval() method like this:
 eval("document.all.sp" + n + ".innerHTML=('<img src=pt1.gif>')");
Q. I want to have a small window open when someone clicks a link on my page.  I don't want a full size window, just a small one.  Can JavaScript do this?
A. Since you will probably have more than one link on a page you should set up a function in your head section of your document that will be used by multiple links.  You can pass the html page you want to load in the window to the function when the link is clicked on.  With you can set the
width, height, postion and other attributes.  Here is an example:
<.script language="javascript"> function OpenWin(linkid)
    { (linkid,"newwin",config="width=200,height=250,location=no,status=no,directories=
The variable "linkid" contains the page you want to load.  This was passed to the function when the link was clicked on.  Then in the body section of your document your link could look like this:
<.A HREF="javascript:OpenWin('somepage.html')">Apples<./A>
You would wrap the link around the word that you want to click on for more info.  The HTML Goodies site does have a tutorial on
(see and  -- Ed.)

Q. I  have been working on trying to come up with a better menu for my index page. I used Sothink DHTMLMenu to generate one. I have it working, but it takes quite a while for the menu to load. What is my problem?
A. I can't see your menu, but I can make a couple guesses. You have a bunch of images that need to load to make the menu work. The browser looks for them when you do your mouseover, which means calling the server and asking for the image, and repeating the process for each image. My first guess is you could fix your problem with a preloader, so the images are already in the browser cache. Here's an example of a preloader:
// preload images
        var an_image1 = new Image(151,37);
        an_image1.src = "images/navigation/options_home_over.jpg";
        var an_image2 = new Image(151,37);
        var an_image3 = new Image(151,37);
This is a JavaScript that declares a variable as an image and specifies the size so the browser doesn't have to figure it out, and then give the variable a value consisting of a URL.
My second guess is that your images are large and taking a long time to download. Keep them small, like 3k each, or even eliminate them if you can.
Get rid of the "best viewed at" message. No visitor will change their screen setting just for your site, nor take the blame for he site not working at their screen setting. You just have to make it work at different sizes.

News Goodies
AMD Extends Geode Line
[May 23, 2005] The new low-power processor is designed for mobile devices.
Read the article:

PalmSource CEO Steps Down
[May 23, 2005] The company's top salesman fills in as interim CEO as Nagel leaves the mobile operating system developer.
Read the article:

A Standard Set For The Office
[May 23, 2005] OASIS ratifies a single schema for text, spreadsheets, charts and graphical presentations.
Read the article:

Java Turns 10
[May 23, 2005] Sun, JBoss, BEA and Compuware talk about the gains, challenges and the future of Java.
Read the article:

Startup Pushes 411 For Mobile Crowd
[May 23, 2005] Motorola backs a provider of directory assistance applications for the wireless industry.
Read the article:

Cox Broadband Blacks Out
[May 20, 2005] An Internet backbone problem leaves the company's high-speed data customers disconnected Friday.
Read the article:

Mandatory VoIP 911 Bills Introduced
[May 20, 2005] UPDATE: Congress moves to lead effort to turn agency regulations into federal law.
Read the article:

Chase Customers Can 'Blink' at Register
[May 20, 2005] The bank begins national rollout of RFID-enabled charge cards.
Read the article:

Google Hints at Future Products
[May 20, 2005] Google's first 'factory tour' offers a glimpse into what's next for the search giant.
Read the article:

Jeeves Heads to Europe
[May 20, 2005] Ask adds another piece to its search puzzle with the purchase of Excite Italia.
Read the article:

Feedback Goodies
Did you ever wish your newsletter was an easy two way communications medium?  Ploof! It now is!
If you would like to comment on the newsletter or expand/improve on something you have seen in here, you can now send your input to:
We already receive a lot of email every day.  This address helps us sort out those relating specifically to this newsletter from all the rest.  When you send email to this address it may wind up being included in this section of the newsletter, to be shared with your fellow readers.  Please don't send your questions to this address.  They should be sent to our mentors: see

Many thanks for your patience with the shortened Newsletter last week.  I appreciate your support.
Thanks for all your feedback!

Windows Tech Goodie of the Week 
More On Why I Don't Use DataSets in My ASP.NET Applications
Scott Mitchell continues his discussion on why he prefers using DataReaders over DataSets in his ASP.NET web applications.  Along the way he highlights some of the more eloquent feedback and corrects some misconceptions.

*** AND ***

Building an Enterprise Service Bus to Support Service Oriented Architecture
In this article, Joseph Poozhikunnel defines an Enterprise Service Bus (ESB) that can be created to support any Service Oriented Architecture (SOA) adopted by an organization.  The type of ESB required could vary as there is no "one size fits all", therefore the article examines a few of the mechanisms available that could be adopted to implement an ESB.

*** AND ***

Proper Case ASP.NET Sample Code
This is an ASP.NET version of ASP 101's classic ASP Proper Case sample.  It was originally written to provide a simple alternative to VB's StrConv function which was unavailable in VBScript.  Now that ASP.NET have given us access to full blown VB, the sample includes the StrConv method for comparison.
And Remember This ...
On this day in...
1430 Joan of Arc was captured by Burgundians at Compiegne, who sold her to the British; 1701 Captain Kidd was hanged in London for piracy and murder; 1785 Benjamin Frankilin announced his invention of bi-focal eyeglass lenses; 1867 the Jesse James gang robbed a bank in Richmond, MO, killing two and stealing $4,000.00; 1887 the first transcontinental train arrived in Vancouver, British Columbia; 1922 Walt Disney incorporated his first film company, Laugh-O-Gram Films; 1945 Winston Churchill resigned as British Prime Minister; 1966 The Beatles released "Paperback Writer"; 1969 The Who released the rock opera, "Tommy"; 1981 NASA launched Intelsat V; 1990 the cost of rescuing failed Savings & Loan associations was put at $130 Billion;
Born today were: in 1707 Swedish botanist and the "Father of Taxonomy" (the naming of plants and animals) Carolus Linnaeus; 1734 Austrian physician and hypnotist Friedrich Anton Mesmer; 1883 actor Douglas Fairbanks; 1890 English actor Herbert Marshall; 1912 actor John Payne; 1912 English actor Marius Goring; 1920 actor Sid Melton; 1928 English actor Nigel Davenport; 1931 actress Barbara Barrie; 1933 English actress Joan Collins; 1934 synthesizer inventor Robert Moog; 1936 actor Charles Kimbrough; 1951 Russian chess champion Anatoli Karpov; 1961 comedian/actor Drew Carey; 1966 English actress Helena Bonham Carter; 1984 actor Adam Wylie;

Make a Comment

Loading Comments...

  • Web Development Newsletter Signup

    Invalid email
    You have successfuly registered to our newsletter.
Thanks for your registration, follow us on our social networks to keep up-to-date