Posted by JDK | 3:12 AM | | 0 comments »

Location Free has been Sony’s attempt at a SlingBox-like device. These devices were previously in their own product line, but not anymore.

Sony has combined the Location Free line with their Vaio computers. The result is the Vaio LF-V30.

Though it doesn’t carry the same sleek visage as the newer Location Free Base Stations, it sports similar features. It can both input and output Component video, and converts video into Standard definition and QVGA.

It’ll drop in September, for a cool $250.

IPOD with a Speaker

Posted by JDK | 3:11 AM | | 0 comments »

For those of us who like to sing in the shower a water-resistant speaker system is a must. This wireless water-resistant iPod dock and speaker system is perfect for the bathroom, or indoor swimming pool.

The iPod sits docked in a dry area while the speaker system is in or near your shower. The whole system works wirelessly and brings you your tunes through a water-resistant speaker. Both the dock and the speakers require AC power so perhaps placing the speakers next to the shower is best.

The system is compatible with all iPod nanos, 30GB and 60GB iPod video, and the 20GB iPod photo. Of course, the dock also recharges iPods while it's playing.

The entire speaker system costs $199.95 and will be available from Hammacher Schlemmer after March 9.

MIcrosoft Watch

Posted by JDK | 3:05 AM | | 0 comments »

This is the coolest watch from microsoft. As it looks funny Function is just more than a watch.
Just you can add your daily programs into this and it also reminds you by the alarm!

I think it is useful to our busy life. The three switches remind us about our computer which also looks funny.


During my many years as a system/integration tester, I’ve worked at many sites and tested many different types of computer applications. One of the problems I’ve noticed at many of these sites is a poorly designed test case. Another is the lack of set procedures for the testers to follow. The goal of testing is to ensure that a ‘bug free’ application is delivered to the user. The only way to accomplish this is to thoroughly test the application. The results of testing are directly related to the quality of the test cases used when verifying the application. Adequate preparation of a complete set of test cases is imperative if you, as a tester, are to meet your objective. What I’ve attempted to do in the following paragraphs is describe some of the necessary steps in preparing to do testing on new or enhanced applications. If you keep these pointers in mind when writing your test cases and running your tests, you’ll find that you have a more complete test case that will really ‘shake out’ the application.


To begin writing test cases, there are a few things you need to gather. You first need to identify what ‘Release’ you will be working on and the Project(s) you will be responsible for.

Be sure to gather all associated Problem Reports to be included in the release you will be testing. Once you know the Project(s) you will be working on, you need to go to Change Request repository and print a copy of the Change Requests (CRs) associated with the Project(s). You also need to obtain the Requirements and Design documents associated with the release. These documents will describe the changes being made in the release you are going to be testing.


Once you have obtained the applicable documents, study the requirements carefully to determine how best to test the software application or the changes being made. You must decide whether the change may be tested in the GUI or if you need to access the database to determine if the desired action was performed by the system. As a rule of thumb, things that normally are accessible through the GUI should be tested in the GUI. Things such as log entries or entries to the database that are not visible in the GUI should be tested as queries to the database using MS Access, Telnet, SQL Queries, or whatever method you have available to access the database.

If you are writing test cases for interactive testing that involves other applications, you must determine if specific actions need to be performed by other testers to set up the data for your test. For example, if you need to test for a specific Error Code, you may have to ask the testers of the application that generates this error to cause that Error Code to appear. This may also be a case where you need the help of the analyst, designer or developer to assist you in determining what would cause that type of error to appear. If, on the other hand, you are simply testing whether the GUI accepts the data you input during testing and is able to save it and then display the data later, your test case may be designed as an independent test.


After you have completed your analysis, you are ready to create your test cases. There are generally two forms used in Test Case development, the Test Case Cover Sheet and the Test Case Format page. These forms are normally designed by the testing organization, based on their needs. There are some basic entries that almost all test case formats should include:

· Identify the Software to be tested, including version number.

  • Identify the title of the test and its purpose.
  • List the equipment requirements (hardware, 3rd party software, etc.).
  • Include a Required Actions section (these are the test steps, what the tester needs to do to perform the test).
  • Include an Expected Results section (include a description of what the application should do after each test step has been performed).
  • Create an Actual Results section (this will be completed after the tester has performed the Test Step and will describe what the application did after the test step was performed).

· Pass or Fail entry (a Pass/Fail entry should be made for each test step and one for the total test {keep in mind that the failure of some test steps may not be cause for the entire test case to fail}).

The objective of writing a good Test Case is to ensure that sufficient detail is included to allow the tester to fully understand the test scenario. Make sure the Required Actions section contains all the steps the tester needs to take to perform the test. Make sure you fully describe everything that must be included to guarantee the desired results. The Required Actions section is the ‘instructions to the tester’ part of the Test Case. If need be, and if possible, walk through the steps yourself to make sure you include everything that is needed to get the tester where they are supposed to be. If the Test Case requires creating a query to the database, make sure you list all the tables that need to be included in the query. The data for these entries comes from your analysis of the requirements and what you are attempting to test.

Once the Required Actions section is completed, the Expected Results section must be filled in. Again, pay attention to detail when entering your data. You must describe exactly what the system is supposed to display at the conclusion of the process. Make your description as simple and concise as possible, but make sure everything is included. The Tester should be able to read this column and immediately know whether the system has performed as expected.


Following these few simple principles will ensure that the test case you have written may be used by anyone while guaranteeing achievement of the same results. A well-written test case is one that guarantees the same result every time, regardless of who performs the test.

Having said all of that, the final step in testing is reporting your results.


Describe the results you obtain in the Actual Results section of the Test Case page. Use the Remarks column to describe things that occur but are not documented as being part of the test, such as slow response time by the system.

The Test Case results must match exactly with the Expected Results column. If it does, enter a P (Pass) in the Pass/Fail column. If it does not, enter an F (Fail) in the Pass/Fail column. Describe in clear, precise words exactly what results you did obtain in the Actual Results column of the Test Case page. As mentioned earlier, a failed test step does not cause the entire test case to fail. For example, suppose while running your test you are verifying the format of the screen and find a data field has a misspelled heading. The data field accepts the data you enter and is able to save it and display the data at a later time. This would not, in most cases, be considered a serious problem. It may be a cosmetic change that can be made at a later time. Whether this would be cause for the entire test case to fail would be at the judgment of the customer. These types of decisions are best made by the Change Control Board (or person who has this decision authority). The primary responsibility of the tester in this case is to document the discrepancy.


If the actual results of the Test Case differ in any way from the expected results, the Test Case has failed. Fully describe what actually occurred. The Remarks column should be used to further describe why a Test Case failed. The more information provided as to what actually happened during performance of the Test Case, the easier it will be for all concerned to analyze the cause of the failure.


Check the Test Case first to ensure this wasn’t the cause of the failure. Poorly written or difficult to understand Test Cases can sometimes cause unexpected results. Recheck the Requirements Document(s) and make sure the Test Case was written to test what is being changed/added. If necessary, contact the designer or developer to make sure the Requirement is being tested correctly. Should you find a problem in the Test Case, the Test Case must be rewritten to exactly test the Requirement.


If the Test Case does not appear to be at fault, contact the designer and/or developer and discuss the failed Test Case. This may shed some light on the cause of the failure. If it is determined that the design or code is at fault, prepare a Change Request (CR). Provide as much information as possible, include screen prints of your results if possible. The more data provided here, the easier it will be for the developer to research and correct the problem.

It is the Tester’s responsibility to ensure that a CR is prepared and submitted for every Test Case that failed or had any problem whatsoever that requires documentation. After preparing the CR Ticket, notify the Release Coordinator so that the CR Ticket may be properly processed and assigned.

Be prepared to replicate your test case for the developer if requested to do so. This may be the easiest way for the developer to troubleshoot the problem.


Once the developer tells you that the problem has been corrected, your final task is to retest the fix exactly as you originally tested it. This entire process repeats until the test cases pass and the application is ready for release to the customer.


When the customer receives the application, they will have a product that is as ‘bug free’ as is humanly possible to produce. Your development effort will have been a success and the possibility of follow-on work will be greatly enhanced.

Tips & Tricks for Symbians!

Tip 1 : Do u know how to use the edit button (abc or pencil button)?
Heres how... in the inbox for example; u wanna delete multiple sms, simply hold the edit button, scroll down, and then, press c to delete the marked sms. The edit button can also b used to copy and past text in sms, simply hold it and scroll across, choose copy. pretty good for placing song names in ngages

Tip 2 : **** happens, on a smartphone, its inevitable u do something wrong, and tis calls for a format of fone. to format the fone, press *#7370#, then enter the lock code, which is the sec code of the fone. NOTE: batt must b full, else if format is disrupted by low batt, consequences will b disatrous
I heard the code *#7780# works too, pretty much the same i tink.
for 6600 users, to format the fone, theres an alternative way. Press and hold <3>, <*>, and the buttons, then power on fone, keep holding on the 3 buttons, till u come to a format screen. tis method ONLY works on 6600, and need not enter the sec code. BUT sec code wun be reset to default 12345.

Tip 3 : TO NGAGE USERS; Did u know u can install .sis files simply using the cable given? Juz plug it in, place the .sis file anywhere on e: (the mmc), not in any folders, root of e:, disconnect, then look for it in manager.

Tip 4: Save on battery and system memory being used by regulary checking the task manager which can be accessed by holding down the menu button!!

Tip 5: Type *#06# to display your IMEI serial number, very valuable for the unlocking your phone to other sim cards

Tip 6: Type *#0000# to view which firmware version you are running

Tip 4a: Set the screen saver to a short time out period to prolong battery life.

Tip 4b: Avoid restarting the phone, or repeatedly turning it on and off. This helps increase battery life.

Tip 7: If you would like to avoid being "blue jacked", keep bluetooth turned off, or set your phone's visibility to hidden.

Tip 8: Don't want to carry a watch and a phone? Set the screen saver to show date and time, then you can ditch the watch.

Tip 9: Save memory when installing apps, by installing over bluetooth. This can be done using the nokia phone suite and a bluetooth serial connection. Only works with .SIS files, so java still has to be sent to the phone, but will save space when using .SIS files.

Tip 10: Operator logos
Use a filemanager like FExplorer or SeleQ to add the folders: "c:/system/Apps/phone/oplogo". Add a .bmp picture to folder "oplogo" and restart your phone! The .bmp picture size needs to be: 97 x 25 pixels

If you like this post, Subscribe to our Blog. Please post your comments here.


HTML Tutorial
Click Here To Direct Download


Click Here To Direct Download

Click Here To Direct Download


Think of Java 2nd Edition book - 1
Click Here To Direct Download

Think of Java 2nd Edition book - 2

Click Here To Direct Download

Think of Java 2nd Edition book - 3

Click Here To Direct Download

Think of Java 2nd Edition book - 4

Click Here To Direct Download

Click Here To Direct Download

Click Here To Direct Download

Java & J2EE Interview Questions
Click Here To Direct Download

basic java1
Click Here To Direct Download

J2EE specs book 1
J2EE Code Notes & Code Conventions
J2EE samples book 1


css tutorial
Click Here To Direct Download


Learning Perl
Click Here To Direct Download

Programming Perl

Click Here To Direct Download

If you like this post, please post your comments / Subscribe to this blog to get latest updates.

Thinking on your feet

Posted by JDK | 12:20 PM | | 0 comments »

Why do we need to wait for some others to tell us to think in different ways?

Everybody has their own set of memory power to think differently and do things in different ways. But we wont use them. Main thing is we should use them at right place at right time in right way. Thats clicks the trigger.

The below are the Most important points which needs to keep in Mind and remember while starting any new things, you will obviously implement the process in a different way. Try to follow these points , so that you require no one to help you, no one to advice you instead you can start giving advices to others (Dont give advices to them tell them to follow these points :) Ha haa... You got my point!! right? )

1. Listen

Many times when we are in a high pressure situation where we are so nervous we really don’t hear the actual question. Been there, done that. To make sure we understand the question and give the right answer do the following:

  • Breathe slower (Benefit: Relaxes body and mind).
  • Look directly at the questioner. (Benefit: Increases comprehension.)
  • Ask questions (Benefit: Increases clarity and shows you are listening).

2. Pause to organize

It is okay to pause. Pause to gather your thoughts. When you pause you look and sound poised and in control. Remember, there is power in silence.

3. Repeat the question

This has several benefits:

  • Buys you time to think.
  • Communicates a complete piece of information.
  • Allows you to take control of the question by rephrasing the question to a more positive light if needed.
  • Enables everyone, if in a public setting, to hear the question.

4. Focus on one main point and support it

The number one reason why we sometimes freeze up when asked to think on our feet is because we have so many ideas running around in our minds. We don’t know which idea to mention.

Here’s the solution: Go with the first idea that comes to mind and say it. By sticking with that one point you can focus on two or three supporting points. You sound more direct and confident when giving your answer.

5. Summarize and stop (SAS)

End your answer with some SAS (Summarize and Stop). Give your answer, summarize, and stop. Don’t apologize and don’t ramble on beyond the finish.

Try this trick: repeat the essence of the question. For example, you may be asked, “Why did you stop the project?” In your summary you might say, “And that‘s why we decided to start another project.”

Then stop.

Give your answer, let them know the end is near by saying:

“In summary…”
“In conclusion…”

Then simply stop. Remember SAS.

Apply these techniques so that you can become a master at “thinking on your feet” and give great answers. You can practice these skills by joining Toastmasters. In their meetings they have an exercise called “table topics,” in which you can practice this skill in a supportive environment.

Don't forget to post your comments. Subscribe to this blog to get most useful things to y0ur mail.

Very Important points in Advanced Javascript

Q: How to find no. of DIV tags in a HTML file through Javascript

Suppose you need to know how many DIV elements there are on the page. In Netscape Navigator, the number of layers is document.layers.length. It is not that trivial in Internet Explorer.

You need to use the tags method of the document.all array. The tags() method retrieves all HTML elements of a particular tag from the document.all array. It returns an array of elements. The following line will populate the given array with all DIV elements:

var divArray = document.all.tags("DIV");

To find the total number of DIV elements, just use divArrary.length. For example, click this link from within Internet Explorer to compute and echo the number of FONT elements in this tip. We just put the following line in the JavaScript section at the top of this page:

var divArray = document.all.tags("FONT");

And the link above is assembled as:

tip is ' + divArray.length)">compute and echo

Q: How to collect and display no. of drives in your system

Suppose you want to do some work with your PC drives. A good starting point will be the drives collection. It holds a read-only collection of all available drives. A collection is not an array. It is much more difficult to iterate through a collection. You can do it only by using the Enumerator object. The Enumerator object supports the following methods: moveFirst(), moveNext(), item(), and atEnd(). The drives collection supports two properties by its own: count and item. The following example demonstrates both drives collection's properties as well as the Enumarator's methods:

The enumerator variable used above is coll. Be careful not to use the word enum, as it is apparently reserved but not documented.

Q: How to do folder operations through Javascript

You create an ActiveX File System object by calling ActiveXObject() with a single argument, Scripting.FileSystemObject:

myActiveXObject = new ActiveXObject("Scripting.FileSystemObject");

You create a folder object by using the ActiveX's GetFolder() method:

myFolder = myActiveXObject.GetFolder("c:\\temp");

Here are the Folder object's properties:




Refers to the folder attributes


Returns the folder's creation date


Returns the folder's last-accessed date


Returns the folder's last-modified date


Returns the folder's letter drive


Returns the folder's files collection, containing all the file objects in the folder


Returns true if the folder is the root folder, false otherwise


Returns the folder name


Returns the folder's parent folder name


Returns the folder's long path


Returns the folder's short name


Returns the folder's short path


Returns the folder size


Returns a folders collection of all folders contained in the folder


Returns the folder type

Here are the Folder object's methods:




Copies the folder from its parent folder or the root to another folder or the root


Removes the folder


Moves the folder from its parent folder or the root to another folder or the root

Key Points on JAVA

Posted by JDK | 12:12 PM | | 1 comments »

¨ Sun Micro systems introduced java in 1995

¨ Caption: write once, run anywhere

¨ After that they found 3 editions of Java

¨ J2SE

¨ J2ME

¨ J2EE

¨ Java Beans – To develop Components in Java

¨ Enterprise Java Beans – To develop Distributed applications in Java

¨ Added JIT compilation to perform faster

¨ J2EE is used to develop distributed and multi tiered applications

¨ J2EE consists of the following technologies

¨ EJB, Java servelets, JSP, JDBC, XML, JNDI, JTA, JMS, Java Mail, RMI, Java Web services, Connectors.

¨ Enterprise JavaBeans (EJB). An EJB is a component architecture for the

¨ development and deployment of object-oriented distributed business

¨ applications. Applications written using the EJB architecture are scalable,

¨ transactional, and multiuser secure.

¨ Java Servlets. A servlet is a Java application that runs in a Web server.

¨ JavaServer Pages (JSP). A JavaServer Page is similar to a servlet and

¨ allows for the creation of dynamic Web pages.

¨ Java Database Connectivity (JDBC). JDBC allows Java applications to

¨ access a database.

¨ Extensible Markup Language (XML). XML provides a mechanism for

¨ describing data using tags in a platform-independent manner.

¨ Java Naming and Directory Interface (JNDI). JNDI allows Java applications

¨ to access naming services and directory services.

¨ Java Transaction API (JTA). JTA allows Java applications to access a

¨ transaction service.

¨ Java Transaction Service (JTS). JTS defines the implementation of a

¨ transaction manager that supports the JTA.

¨ Java Messaging Service (JMS). JMS allows for Java applications to

¨ access a message service.

¨ Java IDL. The Java IDL allows Java applications to use CORBA

¨ implementations.

¨ JavaMail. JavaMail allows Java applications to access an email service.

¨ RMI-IIOP. RMI-IIOP is for using Remote Method Invocation over the

¨ Internet InterOrb Protocol.

¨ Connectors. Connectors allow Java applications to access enterprise

¨ information systems.

¨ Java Web Services. Java Web Services allow Java applications to take

¨ advantage of the emerging Web services technologies.

Similar to J2SE programs run in a JVM, J2EE applications run in a J2EEcompliant

application server. The application server implements the J2EE

specification, allowing developers to create applications that use any or all of

the J2EE technologies, but that still are platform independent. Some of the

more popular applications servers are IBM’s WebSphere, BEA Systems’

WebLogic, and Macromedia’s JRun


AJAX:- ,,,,,






All tutorials

Free upload/Download

Free downloads



Google Maps

Great knowledge
-------------- ->1 search for Brian Tracy 2->Stephen Covey speech

Documentum Web Publisher

Simplified Web Publishing

View Image

Documentum is a big family of several collecton of softwares. EMC Documentum Web Publisher empowers both business and information technology (IT) users to design, create, and manage global Web sites and portals. Nontechnical users' authoring tools include the choice of editing content and layout in the context of the Web page, fill-in-the-blank forms, through portlets, and with integrations with common desktop applications.

Power users have advanced capabilities to manage multisite environments including navigation, site structure, workflows, users and roles, and delivery to highly available and distributed Web servers.



Simplified tools

Empower nontechnical business users to create, manage, and publish Web content with easy-to-use tools that require no special training.

Web publishing portlets

Allow users to participate in Web publishing processes without leaving their familiar portal environments or learning a new application with three out-of-the-box portlets that are also fully customizable: My Web Publisher, Submit Content, and Published Content.

Rich media management

Use digital asset management capabilities within your Web publishing tools to edit and manage rich media assets such as images and video.

Multilingual management

Establish a global presence by incorporating advanced, multilingual management capabilities when you use Web Publisher

XML management

Use the power of XML with native XML management capabilities by easily separating content from layout and dynamically assembling sites based on your business logic.

Web content workflows and lifecycles

Manage the Web publishing process from creation to approval and then archiving through lifecycles that automatically promote content to the correct stage.

Collaboration and business process support

Provide teams with collaboration beyond standard workflows with embedded collaboration services or extended workflows to integrate external systems.

Integration with standard tools

Maximize resources with seamless integration of authoring tools such as Microsoft® Office, Adobe® Dreamweaver, Adobe® Creative Suite, and JustSystems XMetaL.

Documentum Web Publisher Page Builder

Web Site Creation with a Revolutionary Editor

EMC Documentum Web Publisher Page Builder provides a revolutionary approach that allows nontechnical business users to employ the "what you see is what you get" (WYSIWYG) editor to create content, layout, and page display. Built on EMC Documentum Web Publisher, Web Publisher Page Builder is fully unified with the EMC Documentum enterprise content management platform.

Business users now have closer alignment with their customers, and the information technology (IT) department can remove Web development bottlenecks while lowering development costs, maintaining a high degree of control.



WYSIWYG Web site creation

Rapidly design Web pages, contribute content, or launch microsites that show how live content and layout will display.

Component-based Web sites

Manage and build Web pages from reusable static or dynamic components with no coding in a secure, manageable way.

Site view and edit

Browse Web sites and select content or layout, accessing an editor to make modifications when you use Web Publisher Page Builder.

Site wizard

Create and manage new sites with easy-to-use wizards that guide you through processes for defining templates, content, navigation, and users or rules.

Adobe® Dreamweaver template support

Use your preferred design tool such as Dreamweaver and import its templates into Web Publisher Page Builder.

XML management

Use the XML storage format while hiding complexity including schema validation, efficient parsing-processing, and rendering to multiple mark

These are the Main features of the Documentum. So the big companies such as BT, CISCO, Microsoft will use this type of tools to publish their Web pages using these secured Web publishers. As these Tools will provide extended flexibility and High Security for the data and Integrity. They will customise the tools according to their individual requirement so you can see different falvours of documentum running in different companies. But guys the backend core functionality remains same through out the system.

Post your comments for more information on Documentum tools.

Subscribe for Latest updates.

Why Good Design Comes from Bad Design

I've received several requests to complete the missing part two of an earlier column, "Making Usable Products: An Informal Process for Good User Interfaces." I read this early column again recently and thought it was awful. So now you're getting part two, which, in my mind, is really a thinly veiled revision of and improvement on part one. Perhaps you won't notice, but of course now that I've told you, you'll probably go back and look at the first one and be really disappointed that I've had a year to write part two and this is the best I could do.

When I was a computer science/philosophy student at CMU, I took a design project course to learn about all of this interface design stuff I'd heard about. The first day of class I arrived at the studio room, and found a young man at a drawing table, sketching out different variations of the Walkman® he was designing. I got close enough to see the large sketchpad and saw 30 or 40 different variations that he had considered and put down on paper. I introduced myself, pleaded ignorance about design, and asked him why he needed to make so many sketches. He thought for a second, and then said, "I don't know what a good idea looks like until I've seen the bad ones." I smiled, but was puzzled. I felt like going back across campus to the computer science labs. If he's a designer, shouldn't he make fewer sketches instead of more? I didn't really understand what he was talking about until many years later.

When I started at Microsoft, I was embarrassed to document bad ideas. I kept a notebook with me at all times to write down ideas when I was in meetings, or traveling on the bus to work, but I never let anyone see it. Many of these ideas were awful, just plain unworkable. But with each idea I came up with, no matter how bad, it revealed some other way of thinking about the problem. Each new idea I sketched out was more informed than the last. Each bad idea illustrated some important aspect of the problem that I hadn't thought about before. Out of every five or six ideas, I'd have one or two that might be feasible. The sketching helped me, but it was something I didn't want others to know I did. I thought folks would think I wasn't a good designer if they saw how many sketches I made.

When it came time to present ideas to developers, managers, or usability engineers, I'd lead with my single best idea. I'd invest time in fleshing out only my best candidate, and hoped I wouldn't be asked about the others. I was always wrong. There are so many variations for designing a Web page, that if you only show one idea, anyone who thinks they can design something (which includes everyone) will point out several alternatives to you, and ask why the idea you're going with isn't the one they just came up with. It can be a frustrating process, especially if the suggestion is one you've already considered, because no one seems to believe you when you tell them that.

After many painful review meetings, and hearing advice from seasoned designers, I learned the right way to present ideas—you have to show the other candidates in order to help support the good ones. I began the habit of presenting three to seven different ideas, culling from my total set of ideas the ones that represented the most distinctive or meaningful choices. When in a meeting I now walk through the different designs, calling out what the key trade-offs are between them. When discussing ideas, I call out important negative qualities that are only answered by the idea I'm recommending, which helps set up my recommendation to be well received. Often someone will make a good suggestion for taking something from design A and adding it to design B. That wouldn't be possible if I had only fleshed out a single idea.

Every so often I'll work on a problem that is insanely hard. The only possibilities, because of technology or schedule limitations, are tragically bad. After a few days of intense but fruitless sketching, I'll feel depressed and try to regroup by asking others for their opinions. The magical thing that happens is once you're convinced you've considered all reasonable possibilities, a deductive process can begin; I'll write all possible choices on the whiteboard and sit down with a smile. I know that somewhere on that board is the right answer. When people come by my office and ask me what we're going to do, at least I can point and say it's up there somewhere. There is a psychological advantage to containing the space of choices in this way. To decide, I'll make a pro and con list for each choice, and rely on my designer, developer, or other key people to help make the call. Choosing the best among bad ideas isn't a highlight of design work, but it happens. The right process combined with a dedication to pursuing several ideas makes an impossible situation bearable, and gives you the confidence to make a decision.

When the design student showed me his sketches, he was showing me that he was a designer. All creative, talented people recognize the value of process, and have no concerns about revealing to others that it takes many bad ideas to obtain good ones. You want the bad ideas to come out on sketch paper or in prototypes, not in the product, and you can only do that by expending the energy to explore lots of ideas. If quality design work is important, you have to make sure managers set their schedules to allow it to happen, and pace the range of your thinking to match the schedule.

A common trap for design thinking is searching for perfect designs—the belief that there is a single right answer to a given problem, and a designer should be able to realize it given enough time. In many cases, the best possible design (if there is such a thing) isn't worth more than a good one, especially if it takes twice as much time to find it. General George S. Patton once wrote, "A good plan executed now is better than the perfect plan next week." You have to know the realities of the competitive and financial plan your team is working from, and adjust the goals of your design work to match them. On most Web schedules, it's critical that design energy is prioritized and focused. Make the top three or five user tasks rock solid, and keep the rest simple but adequate until the next release.

The more I read about great masters in different fields, the more I see how there is a common thread in their work process. Every great writer, painter, architect, or director attributes the quality of their work to tireless discipline. When asked about their artistry, they don't point to magic or divine inspiration, but describe how many attempts they must make to create things of the quality they desire.

I'll close this column with comments from various well-known figures. I seem to be making a habit of quoting people, but these folks have more credibility than I do:

"The two most important tools an architect has are the eraser in the drawing room and the sledge hammer on the construction site." —Frank Lloyd Wright

Hemingway rewrote the ending to A Farewell to Arms 39 times. When asked about how he achieved his great works, he said, "I write 99 pages of crap for every one page of masterpiece." He has also been quoted as saying "the first draft of anything is shit."

"The physicist's greatest tool is his wastebasket." —Albert Einstein

"Rewrite and revise. Do not be afraid to seize what you have and cut it to ribbons … Good writing means good revising." —Strunk and White, Elements of Style

Posted by JDK | 12:30 AM | | 0 comments »


There was a one hour interview on CNBC with Warren Buffet, the second richest man who has donated $31 billion to charity. Here are some very interesting aspects of his life:

1. He bought his first share at age 11 and he now regrets that he started too late!

2. He bought a small farm at age 14 with savings from delivering newspapers.

3. He still lives in the same small 3-bedroom house in mid-town Omaha , that he bought after he got married 50 years ago. He says that he has everything he needs in that house. His house does not have a wall or a fence.

4. He drives his own car everywhere and does not have a driver or security people around him.

5. He never travels by private jet, although he owns the world's largest private jet company.

6. His company, Berkshire Hathaway, owns 63 companies. He writes only one letter each year to the CEOs of these companies, giving them goals for the year. He never holds meetings or calls them on a regular basis. He has given his CEO's only two rules. Rule number 1: do not lose any of your share holder's money. Rule number 2: Do not forget rule number 1.

7. He does not socialize with the high society crowd. His past time after he gets home is to make himself some pop corn and watch Television.

8. Bill Gates, the world's richest man met him for the first time only 5 years ago. Bill Gates did not think he had anything in common with Warren Buffet. So he had scheduled his meeting only for half hour. But when Gates met him, the meeting lasted for ten hours and Bill Gates became a devotee of Warren Buffet.

9. Warren Buffet does not carry a cell phone, nor has a computer on his desk.

His advice to young people: "Stay away from credit cards and invest in yourself and Remember:

A. Money doesn't create man but it is the man who created money.

B. Live your life as simple as you are.

C. Don't do what others say, just listen to them, but do what makes you feel good.

D. Don't go on brand name; just wear those things in which you feel comfortable.

E. Don't waste your money on unnecessary things; just spend on things that you really need.

F. After all it's your life, then why give others the chance to rule your life.

Introduction to PHP for Dummies

Posted by JDK | 12:24 PM | | 0 comments »

PHP Introduction

This section contains PHP documentation and PHP information.

PHP stands for Hypertext Preprocessor and is used as a scripting language that is embedded in HTML and runs on the web server. The PHP code is run on the server when the page is requested.

Anyone who knows HTML and the C or C++ language can easily program PHP. PHP uses much of the same syntax of C, but is much easier to use and provides access to variables and their values as submitted using HTML forms without the need to parse information. Also PHP is designed to work easily with most SQL servers including the open source SQL server, MySQL.

PHP code is placed in the body of HTML code. It may be placed in HTML code as follows:


echo "This is a test of PHP!";


The above example will output the quoted text on the HTML page where the PHP code is embedded.

Many webservers support PHP out of the box although depending on the version, they may not support the latest version of PHP (Currently 4). If using PHP on the web, it is wise to run the latest version since it has some security enhancements. If you're just using PHP to learn on a local network using the latest PHP version is not as imperative. For example the Apache webserver that comes with Redhat Linux version 6.1 supports PHP3. Depending on how the webserver is setup, it may be required to name the HTML files that contain PHP code with an extension like ".php4".

PHP stands for Hypertext Preprocessor and is used as a scripting language that is embedded in HTML and runs on the web server. The PHP code is run on the server when the page is requested

Anyone who knows HTML and the C or C++ language can easily program PHP. PHP uses much of the same syntax of C, but is much easier to use and provides access to variables and their values as submitted using HTML forms without the need to parse information. Also PHP is designed to work easily with most SQL servers including the open source SQL server, MySQL.

PHP code is placed in the body of HTML code. It may be placed in HTML code as follows:


echo "This is a test of PHP!";


The above example will output the quoted text on the HTML page where the PHP code is embedded.

Many webservers support PHP out of the box although depending on the version, they may not support the latest version of PHP (Currently 4). If using PHP on the web, it is wise to run the latest version since it has some security enhancements. If you're just using PHP to learn on a local network using the latest PHP version is not as imperative. For example the Apache webserver that comes with Redhat Linux version 6.1 supports PHP3. Depending on how the webserver is setup, it may be required to name the HTML files that contain PHP code with an extension like ".php4".


This manual is a brief synopsis of information as an aid to learning PHP. It provides basic PHP information, then provide examples of some useful PHP functionality including sessions, cookie use, sending mail and using it with SQL. It is not intended completely cover all aspects of PHP. Also, it is assumed that the reader is familiar with HTML and languages similar in type to C or Perl. Much PHP syntax is similar to the C programming language. To supplement this document, the reader should refer to the documents page in the weblinks PHP section for available online and downloadable documentation about PHP.

This document and the documentation at the Document Section should be all a reader needs to learn PHP. Specifically the large downloadable PHP Manual which is in both PDF and HTML format is an excellent reference manual outlining the many PHP functions by category.

PHP Syntax

PHP statements end with a semicolon.

PHP supports comments the same as C and C++ using the methods shown below:


// This is a comment

echo "This is a test of PHP!";



/* Line 1 of this comment

Line 2 of this comment */

echo "This is a test of PHP!";


PHP Variables

  • PHP variable type is determined by the way in which it is used (context).

  • Variable names begin with a dollar sign, $, followed by a letter, then more letters or numbers.

Supported variables include integers, floating point numbers, strings, arrays, and objects.

Predefined Variables

There are additional predefined PHP variables defined in a file called "php.ini". Variables defined in HTML forms are available to the PHP file that the form is submitted to using the HTML form "action" attribute. Also if the PHP document has been called using a HTML form, a variable named $submit is available and may be tested to see if it exists. If it exists, an if statement may be used to display one set of HTML rather then the HTML that would be displayed if it does not exist. The phpinfo() function may be used to get a list of predefined variables.


Typecasting is performed with the type written in parenthesis as follows:

$i = (int) $myrealvalue;

Supported typecasts include (int), (array), (object), (string), (real), (double), and (float).

PHP Array Variables

PHP Array variables may be defined in the following manner:

$tree = array("trunk", "branches", "leaves");

In this case the value:


evaluates to the string "trunk". The statement:


sets a fourth array value to "nuts". In this way, the array, tree, may be dynamically expanded.

An array can be created and expanded in the following manner.

$car[ ]="body";

$car[ ]="engine";

$car[ ]="transmission";

$car[ ]="tires";

String Concatenation

Strings can be added to each other or additional values may be added to a string using the append, "." operator as follows:

echo "The value of my variable is: " . $myvariable;


The math and logical operators are the same as the C programming language. Variables may be pre-incremented or post incremented or decremented with commands like "++$a;" which does a pre increment