<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6070094287610455248</id><updated>2012-02-16T01:28:33.308-08:00</updated><title type='text'>Diary of a web developer</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-8129736264899264767</id><published>2010-09-14T05:39:00.000-07:00</published><updated>2010-09-14T06:33:50.083-07:00</updated><title type='text'>Review of Digeus Snapit 3.7</title><content type='html'>Ive been asked to review another Digeus product - "&lt;a href="http://www.digeus.com/products/snapit/"&gt;Snapit&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;What is Snapit&lt;/span&gt;&lt;br /&gt;Snapit is a light weight tool to quickly capture both full screen and sections of the screen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Market&lt;/span&gt;&lt;br /&gt;The product is marketed at Designers, Office Workers, Business People, Analysts and Technical Writers who have to describe interfaces, menus, buttons, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Install&lt;/span&gt;&lt;br /&gt;The product is a small download that can be quickly downloaded and installed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Configuration&lt;/span&gt;&lt;br /&gt;After configuring the product files are save automatically to a specified directory. You can also set the button that begins the screen capture.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Using the program&lt;/span&gt;&lt;br /&gt;After configuring it properly, simply press the hot key (Print Screen by Default) and then select the area of the screen to capture. After you select the area it is save automatically to the configured directory.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;What do I think?&lt;br /&gt;&lt;/span&gt;The functionality in this product is covered in many image editing applications. I use paintshop pro which has this functionality. Capturing images in paintshop pro is a lengthier process but gives you the option to resize and manipulate the image.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Conculsion&lt;br /&gt;&lt;/span&gt;If you dont have this functionality already then at $17.99 this is cheaper than buying an application like paintshop pro which costs £80. So if all you need is a screen capture image this represents good value for money.&lt;br /&gt;&lt;br /&gt;We would like to see a function to resize captured images in a later version.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can buy Snapit &lt;a href="http://www.digeus.com/products/snapit/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.digeus.com/products/snapit/snapit_screen_capture_3_5.html"&gt;Screen Capture Software&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-8129736264899264767?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/8129736264899264767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/09/review-of-digeus-snapit-37.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8129736264899264767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8129736264899264767'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/09/review-of-digeus-snapit-37.html' title='Review of Digeus Snapit 3.7'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-933131566452628475</id><published>2010-08-22T03:21:00.000-07:00</published><updated>2010-08-22T04:48:54.923-07:00</updated><title type='text'>Review of Digeus System Optimizer 8.2.2195</title><content type='html'>Hello&lt;br /&gt;Ive been asked to review a new product called &lt;a href="http://www.digeus.com/products/systemoptimizer/system-optimizer."&gt;System Optimizer by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Digeus&lt;/span&gt;.&lt;/a&gt;&lt;br /&gt;The program is a collection of features that aim to help improve the performance of your computer. The software runs on all versions of windows, but since I currently run &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XP&lt;/span&gt; the comments relate to tests I did on my own system.&lt;br /&gt;&lt;br /&gt;I will comment on each feature of the program.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Optimise&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Clean your registry&lt;br /&gt;This &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;feature&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;dectects&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;redundant&lt;/span&gt; and incorrect entries from the registry. The program finds&lt;br /&gt;Invalid &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Uninstalls&lt;/span&gt;, Invalid active X, Invalid Paths etc.&lt;br /&gt;On my system the program found over 1000 entries. I was quite careful to check that these entries were invalid as otherwise it could damage my system. I successfully fixed all these problems and so far &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;haven't&lt;/span&gt; noticed any problems as a result.&lt;br /&gt;I think this is quite a useful feature.&lt;br /&gt;&lt;br /&gt;2. Clean your disk&lt;br /&gt;This feature removes invalid start menu entries, invalid shortcuts, empty folders, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;empty&lt;/span&gt; files, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;temporary&lt;/span&gt; files etc&lt;br /&gt;This is quite a useful feature, especially if you are low on disk space. My only comment is that by default the program searches for blank folders and empty files. Some software requires these so it is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;indivisible&lt;/span&gt; to remove them unless you are &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;completely&lt;/span&gt; sure they are not needed - therefore this option is not for novice users.&lt;br /&gt;&lt;br /&gt;3. disk space analyser&lt;br /&gt;a good feature to find out where your space is taken up if your low on space. Features a&lt;br /&gt;useful &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;pie chart&lt;/span&gt; to show usage graphically.&lt;br /&gt;&lt;br /&gt;4. process manager&lt;br /&gt;A &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;useful&lt;/span&gt; tool that shows all processes and their children. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;Don't&lt;/span&gt; rely on killing red processes (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;un&lt;/span&gt; signed) as on my system all of them were legit. This ones not for the novice.&lt;br /&gt;&lt;br /&gt;5. Duplicate File finder&lt;br /&gt;we were unable to test duplicate file finder due to time restrictions - however there is a concern that backup files could be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;accidentally&lt;/span&gt; deleted - - should be alright if your careful&lt;br /&gt;&lt;br /&gt;6. Protect your privacy&lt;br /&gt;This options is to clean up web browsers history and cache. The delete history and cached files option is useful but already part of most browsers. When tested it &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;didn't&lt;/span&gt; remove history properly from IE 6 also &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;doesn't&lt;/span&gt; work with &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;FireFox&lt;/span&gt; or chrome.&lt;br /&gt;&lt;br /&gt;7. the service manager&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;alot&lt;/span&gt; of this information is built into windows already. optimise services may help speed up &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;startup&lt;/span&gt; - you need to be sure of what your doing.-This feature crashed on my system&lt;br /&gt;&lt;br /&gt;8.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;startup&lt;/span&gt;&lt;br /&gt;useful tools to see all programs that run on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;startup&lt;/span&gt;. Need to know what your doing to disable programs. The task &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;scheduler&lt;/span&gt; is a good feature - as far as i know the only other way to find this out is with the task scheduler at on the command line. However it only shows tasks that are already scheduled - you cant schedule your own program&lt;br /&gt;&lt;br /&gt;9. Clean Memory&lt;br /&gt;The memory optimiser made no difference on my system which has 3GB. Free memory remained constant at 23%. However maybe a more useful function on computers with less memory.&lt;br /&gt;&lt;br /&gt;10. smart &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;unistaller&lt;/span&gt;&lt;br /&gt;windows already has an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;unistaller&lt;/span&gt; built in. However sometimes programs fail to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;unistall&lt;/span&gt; properly. If this tool cleans up a botched &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;uninstall&lt;/span&gt; then it could be useful. We were unable to test this feature as we &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;didnt&lt;/span&gt; have any problems with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;uninstalled&lt;/span&gt; software.&lt;br /&gt;&lt;br /&gt;11. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_30"&gt;Unnecessary&lt;/span&gt; Files cleaner&lt;br /&gt;reported i had 420&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;mb&lt;/span&gt; backup files and 326 backup &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;dll&lt;/span&gt; files. Was a bit scared of using this as i &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_33"&gt;didn't&lt;/span&gt; know what the backup files were.&lt;br /&gt;As for desktop wallpaper the feature to remove wall papers &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_34"&gt;isn't&lt;/span&gt; part of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;XP&lt;/span&gt;. So this could be a useful function. You wont save much space with this so as the file sizes are tiny.&lt;br /&gt;Screen saver - the facility to remove a screen save could be useful to people that vary this &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;alot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;12. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;defrag&lt;/span&gt; your registry&lt;br /&gt;This could well be the most important feature in the package. However as i am testing this software on my production system &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_38"&gt;I'm&lt;/span&gt; not prepared to risk damage if it &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_39"&gt;doesn't&lt;/span&gt; work properly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Tweak&lt;/span&gt;&lt;br /&gt;1. System Information&lt;br /&gt;A useful tool that shows all information on your system. This information is available elsewhere but this puts it all &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_40"&gt;together&lt;/span&gt; in a nice easy to use format. The System Folder details crashed on our system.&lt;br /&gt;&lt;br /&gt;2. IE Manager&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;Alot&lt;/span&gt; of these features are available under options in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;internet&lt;/span&gt; explorer. However this shows features in an easy to understand manner in one place. There are plenty of options that are normally hidden to the user such as repair.&lt;br /&gt;We really liked the hosts file options which let you add a host with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;ip&lt;/span&gt; address to your local system, as we use this for development testing.&lt;br /&gt;We think this is a very useful feature.&lt;br /&gt;&lt;br /&gt;3. Multimedia settings&lt;br /&gt;Some useful options. Not normally available is media player options.&lt;br /&gt;&lt;br /&gt;4. System customisation&lt;br /&gt;Lots of useful customisation settings that are not normally available to the user.&lt;br /&gt;&lt;br /&gt;5. Customise icons&lt;br /&gt;Lets you change icons of standard windows applications. Useful if you want to create a theme for your system.&lt;br /&gt;&lt;br /&gt;6. System Speed Optimiser&lt;br /&gt;This looks like it could be a big help in increasing &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_44"&gt;performance&lt;/span&gt;. However we &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_45"&gt;didn't&lt;/span&gt; really understand the options. This is not for novice users. Not much help available.&lt;br /&gt;&lt;br /&gt;7. Systems Settings Repair&lt;br /&gt;An option to fix known windows problems. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_46"&gt;Didn't&lt;/span&gt; really understand the options on this. There is a file type settings option. However it &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_47"&gt;didn't&lt;/span&gt; show all registered file types.&lt;br /&gt;&lt;br /&gt;8. Drives and programs&lt;br /&gt;Lets you manage your drives. Lets you manage which programs will run on the system.&lt;br /&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_48"&gt;Couldn't&lt;/span&gt; really see any main benefit in this option.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Security Settings&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;We were a bit concerned about some of these features .&lt;br /&gt;We liked the security &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;Tweaker&lt;/span&gt; although again not for the novice user.&lt;br /&gt;We were &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;a bit&lt;/span&gt; scared of running the Encryption option as we &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_51"&gt;didn't&lt;/span&gt; know what it would do.&lt;br /&gt;Also we were concerned about the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;schredder&lt;/span&gt; because it asks for a decision about files and folders. We think this will destroy files so they cant be recovered but were not certain of this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br /&gt;Overall we found a lot of useful features in the package. Its not really clear whether this package is marketed at the novice or &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_53"&gt;professional&lt;/span&gt; user. We found a distressing lack of help available in the program. All help is just &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_54"&gt;referred&lt;/span&gt; to the features page on the website. We think the program would be best used as a tool installed on a novice users system but supported by a professional.&lt;br /&gt;We &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_55"&gt;didn't&lt;/span&gt; really see any increase in performance as a result of using the optimiser but then the system we used was &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_56"&gt;all ready&lt;/span&gt; running quickly. In fairness it needs to be tested on a system that has problems.&lt;br /&gt;&lt;br /&gt;We &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_57"&gt;don't&lt;/span&gt; think this package should be bought by inexperienced users as there is little help and the potential do do a lot of damage to your system if you &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_58"&gt;don't&lt;/span&gt; understand the options.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At $40 we think that there are enough good features to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_59"&gt;justify&lt;/span&gt; buying the package, if some of the bugs in it are ironed out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.digeus.com/products/systemoptimizer/system-optimizer."&gt;You can buy the package here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-933131566452628475?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/933131566452628475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/08/review-of-digeus-system-optimizer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/933131566452628475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/933131566452628475'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/08/review-of-digeus-system-optimizer.html' title='Review of Digeus System Optimizer 8.2.2195'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-2026438164309663193</id><published>2010-05-19T03:08:00.000-07:00</published><updated>2010-05-19T03:30:41.522-07:00</updated><title type='text'>Enabling DOM XML in PHP4</title><content type='html'>The following function will not work unless XML support is enabled in php&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;$xmldoc=domxml_new_doc();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;In order to enable support edit php.ini and remove ; from&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;;php_domxml.dll&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You must insure that the dlls directory c:\php4\dlls in in the system PATH variable.&lt;br /&gt;Do change this : right click on my computer and choose properties&lt;br /&gt;in properties click on advanced and at the bottom of the window click on&lt;br /&gt;Enviroment variables&lt;br /&gt;&lt;br /&gt;under system variables choose the path variable. and add the path to your dlls directory&lt;br /&gt;with a ;&lt;br /&gt;ie&lt;br /&gt;&lt;br /&gt;;c:\php4\dlls&lt;br /&gt;&lt;br /&gt;Your DOM functions should now work&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-2026438164309663193?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/2026438164309663193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/05/enabling-dom-xml-in-php4.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/2026438164309663193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/2026438164309663193'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/05/enabling-dom-xml-in-php4.html' title='Enabling DOM XML in PHP4'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-4269802531715045357</id><published>2010-05-14T07:46:00.000-07:00</published><updated>2010-05-14T07:51:23.604-07:00</updated><title type='text'>Installing CRUL for nusoap</title><content type='html'>If you install the soap api nusoap, you will need to install phps curl support.&lt;br /&gt;&lt;br /&gt;To do this edit your php.ini file and uncomment&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;;extension=php_curl.dll&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;by removing the semi colon.&lt;br /&gt;&lt;br /&gt;You must then copy the dlls&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;libeay32.dll.old&lt;br /&gt;ssleay32.dll.old&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;from directory c:\php4\dlls&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;c:\windows\system32&lt;br /&gt;&lt;br /&gt;Stop and restart your webserver using&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;net stop apache&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;net start  apache&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;phpinfo() should now report that cURL is istalled&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-4269802531715045357?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/4269802531715045357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/05/installing-crul-for-nusoap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4269802531715045357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4269802531715045357'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/05/installing-crul-for-nusoap.html' title='Installing CRUL for nusoap'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-7242814064289880567</id><published>2010-03-24T05:02:00.000-07:00</published><updated>2010-03-24T05:05:41.867-07:00</updated><title type='text'>&lt;?= ?&gt; not working in PHP</title><content type='html'>If you have just installed PHP 5 you may note that php shorthand is not enabled.&lt;br /&gt;&lt;br /&gt;To fix this problem edit you php.ini file and change the following&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;short_open_tag = off&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&lt;/span&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;short_open_tag = on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Restart the server - or restart your machine&lt;br /&gt;&lt;br /&gt;Your code should now work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-7242814064289880567?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/7242814064289880567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/03/not-working-in-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/7242814064289880567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/7242814064289880567'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/03/not-working-in-php.html' title='&amp;lt;?= ?&amp;gt; not working in PHP'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-833954775562355424</id><published>2010-02-17T03:09:00.000-08:00</published><updated>2010-02-17T03:15:47.495-08:00</updated><title type='text'>MSVCR71.dll missing when installing camtasia</title><content type='html'>When installing camatisa i got the following error:&lt;br /&gt;&lt;br /&gt;This appliation failed to start because msvcr71.dll was not found. Re-installing the application may fix the problem.&lt;br /&gt;&lt;br /&gt;To fix:&lt;br /&gt;download msvcr71.dll from&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71"&gt;http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a zip file. Extract the file from the zip  and copy it to&lt;br /&gt;c:/windows/system32&lt;br /&gt;&lt;br /&gt;Retry the install . It should work now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-833954775562355424?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/833954775562355424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/02/msvcr71dll-missing-when-installing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/833954775562355424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/833954775562355424'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/02/msvcr71dll-missing-when-installing.html' title='MSVCR71.dll missing when installing camtasia'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-955399624603110145</id><published>2010-01-18T04:22:00.000-08:00</published><updated>2010-01-18T04:30:18.649-08:00</updated><title type='text'>How to retrieve text content from a div</title><content type='html'>In the following HTML&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#33cc00;"&gt;&amp;lt;div id='mydiv'&amp;gt;Some Text &amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To retrieve the text using javascript - this is one method there may be others&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;var mydiv=document.getElementById('mydiv');&lt;br /&gt;&lt;br /&gt;if (mydiv.textContent)&lt;br /&gt;alert(mydiv.textContent); // for IE&lt;br /&gt;else&lt;br /&gt;alert(mydiv.innerText); // everyone else&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-955399624603110145?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/955399624603110145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/01/how-to-retrieve-text-content-from-div.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/955399624603110145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/955399624603110145'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/01/how-to-retrieve-text-content-from-div.html' title='How to retrieve text content from a div'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-7327005731739252352</id><published>2010-01-13T02:15:00.000-08:00</published><updated>2010-01-14T07:23:54.257-08:00</updated><title type='text'>Handling click and double click on the same object</title><content type='html'>There is a problem if you want to handle both click and double click events on an html element.&lt;br /&gt;Basically both the click and double click events get fired when the user double clicks when really you want one event or another.&lt;br /&gt;&lt;br /&gt;At first I tried handling the double click by counting single click and not setting a double click event. This worked on firefox but not internet explorer(because only one click was triggered for a double click).&lt;br /&gt;&lt;br /&gt;I solved the problem by handling both the double click and click events. Basically When the mouse is clicked a timer is set up to insure that double click was not fired. If double click is fired then single click is canceled, otherwise the click function fires.&lt;br /&gt;&lt;br /&gt;Heres the code&lt;br /&gt;&lt;span style="font-size:85%;color:#66ff99;"&gt;&lt;span style="color:#33cc00;"&gt;function mousefunctions(){&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#66ff99;"&gt;&lt;span style="color:#33cc00;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#66ff99;"&gt;&lt;span style="color:#33cc00;"&gt;&lt;br /&gt;mousefunctions.singleclick=function(){&lt;br /&gt;clickcount=0;&lt;br /&gt;alert('single click');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;mousefunctions.doubleclick=function(){&lt;br /&gt;clickcount=0;&lt;br /&gt;alert('doublelick');&lt;br /&gt;}&lt;br /&gt;var clickcount=0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mousefunctions.endtimer=function(){&lt;br /&gt;if(clickcount==1){&lt;br /&gt;mousefunctions.singleclick();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;mousefunctions.handledbclick=function(){&lt;br /&gt;mousefunctions.doubleclick();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mousefunctions.handleclick=function(){&lt;br /&gt;if(clickcount==0)&lt;br /&gt;setTimeout(mousefunctions.endtimer,300);&lt;br /&gt;clickcount++;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;And the HTML is&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&amp;lt;div onclick="mousefunctions.handleclick();"ondblclick="mousefunctions.handledblclick();" &amp;gt;Some Text&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-7327005731739252352?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/7327005731739252352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/01/handling-click-and-double-click-on-same.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/7327005731739252352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/7327005731739252352'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2010/01/handling-click-and-double-click-on-same.html' title='Handling click and double click on the same object'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-6090964424034512314</id><published>2009-09-11T02:22:00.000-07:00</published><updated>2009-09-11T03:19:54.455-07:00</updated><title type='text'>Javascript methods/functions</title><content type='html'>&lt;span style="font-size:130%;"&gt;Javascript functions/methods&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As a reminder methods are functions that belong to an object or class.&lt;br /&gt;&lt;br /&gt;There are two types of object methods in javascript.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Static&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dynamic&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Dynamic methods&lt;/span&gt;&lt;br /&gt;The most common type of method is Dynamic. Dynamic methods are declared inside the object and are referenced from an instance of the object. For Example&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&lt;span style="font-size:85%;"&gt;function myobject(m){ //constructor for our object&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;this.message=m;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;this.test=test; //assign test to this objects definition&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;function test(){ //global declaration of test function&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;alert(this.message);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;// to use this function&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;o=new myobject('hello'); // creates a new myobject object.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;o2=new object('goodbye'); //creates another object&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;//to reference this method&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;o.test(); //shows message 'hello'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;o2.test(); //shows message 'goodbye'&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;There is another way of declaring the object without creating the function test using anonymous methods. ie&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;function myobject(m){ //constructor for our object this.message=m; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;this.message=m;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;this.test=function(){ //add parameters to function if required &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;alert(this.message); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Static or Class Methods&lt;/span&gt;&lt;br /&gt;Most people find the difference between static and dynamic methods confusing. The main difference between the two is that a static method is referenced (or called) from the class and not an instance of the class.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;function myobject(m){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;function test(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;alert('class method');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;//static methods are declared outside the class&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;//ie&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;myobject.test=test(); // here the method is assigned to the class itself&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to call the method simply access classname.method ie&lt;br /&gt;&lt;span style="font-size:85%;color:#33cc00;"&gt;myobject.test();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Why use this when you can declare functions globally? ie&lt;br /&gt;just&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;test();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;rather than&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#009900;"&gt;myobject.test();&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;In some languages like c# all methods must be part of a class definition. This is of course not necessary in javascript. Here are a couple of reasons that you might think about&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Helps create structured and readable code&lt;/li&gt;&lt;li&gt;For IDEs that have code completion methods can be exposed by typing the class name followed by period.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#33cc00;"&gt;&lt;/span&gt;&lt;span style="color:#33cc00;"&gt;&lt;/span&gt;&lt;span style="color:#33cc00;"&gt;&lt;/span&gt;&lt;span style="color:#33cc00;"&gt;&lt;/span&gt;&lt;span style="color:#33cc00;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-6090964424034512314?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/6090964424034512314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/09/javascript-methodsfunctions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/6090964424034512314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/6090964424034512314'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/09/javascript-methodsfunctions.html' title='Javascript methods/functions'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-1365729207638565754</id><published>2009-08-17T10:01:00.001-07:00</published><updated>2009-08-17T11:08:54.676-07:00</updated><title type='text'>Having Problems with Apache when skype installed</title><content type='html'>&lt;span style="font-size:130%;"&gt;Having Problems with Apache when skype installed/Apache not working&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was having a problem with my apache web server. The service was running fine and yet when I entered address &lt;a href="http://localhost/"&gt;http://localhost/&lt;/a&gt; I was getting a page not found message. I checked the error log in c:\program files\apache group\apache\logs and could find no error. Stoping and starting the apache service would sometimes fix the problem. So what was causing the problem?&lt;br /&gt;&lt;br /&gt;Every process (program and background service) that provides a network service has a port number associated with it. There are standard port numbers for different services. The standard port number for web servers is port 80.&lt;br /&gt;&lt;br /&gt;To get a list of network programs that are running , start a command prompt by selecting run and choosing cmd. In the command prompt type&lt;br /&gt;&lt;br /&gt;netstat -pa&lt;br /&gt;&lt;br /&gt;This will list all the processes , their port number and PID (Process ID). The results were as following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5370988313270723714" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 241px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_vME0Iz65Kso/SomVaglGpII/AAAAAAAAABg/qokUPphzcJU/s400/netstatimage.jpg" border="0" /&gt;&lt;br /&gt;Top of this list is&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Proto, Local Address, Foreign Address, State ,PID&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;TCP,main:http, main:0, Listening, 2012&lt;/p&gt;&lt;p&gt;TCP, main:http, main:0, Listening, 1596&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Clearly there are two programs using port 80 (http). Only one program can use a port at the same time. Therefore there is a clash between these two programs which explains why the server is not working.&lt;/p&gt;&lt;p&gt;To find out which programs are trying to use port 80. Press Control, Alt and Delete you should get task manager. In task manager select view from the task menu and choose select columns. Tick the PID column and press OK. Select the processes tab and find the PIDs that match those given by netstat. In this case, 2012 and 1596. As it turns out&lt;/p&gt;&lt;p&gt;1596=Apache.exe&lt;/p&gt;&lt;p&gt;2012= Skype.exe&lt;/p&gt;&lt;p&gt;So both apache and Skpye are trying to use port 80/ Behave as webservers.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;How to turn off the http port on skype&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;In skype choose options from the tools menu. Click on the advanced button and then the connection button.  Untick port use port 80 and press the save button.&lt;/p&gt;&lt;p&gt;Stop and restart skype. run netstat -oa again . This time only one process should be listening on the http port.  Restart the system to make sure it is now working.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-1365729207638565754?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/1365729207638565754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/having-problems-with-apache-when-skype.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/1365729207638565754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/1365729207638565754'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/having-problems-with-apache-when-skype.html' title='Having Problems with Apache when skype installed'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vME0Iz65Kso/SomVaglGpII/AAAAAAAAABg/qokUPphzcJU/s72-c/netstatimage.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-3767615600699425080</id><published>2009-08-11T11:13:00.000-07:00</published><updated>2009-09-11T03:45:19.064-07:00</updated><title type='text'>Event Co-ordinates</title><content type='html'>&lt;span style="font-size:130%;"&gt;Event Co-ordinates&lt;/span&gt;&lt;br /&gt;When an event such as onClick is triggered the returned event object in javascript has details of the mouse position. Different types of co-ordinates are returned in event.screenX, event.clientX, event.offsetX (and corresponding Y values). Details below.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;screenX,screenY&lt;br /&gt;&lt;/strong&gt;Give the screen coordinates when the event occured ie The cursor position on the screen and not on relative to the top left hand corner of the web page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;clientX,clientY&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Events coordinates are relative to the browser window instead of the screen. Thus moving the browser around the screen does not affect client co-ordinates. Note that event co-ordinates are not relative to the bottom of the page (ie if the browser window is 800 pixels deep with a page is 2000 pixels long and you scroll to the bottom and click youll get 800 returned as the vertical position and not 2000).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;offsetX,offsetY (layerx,layery in firefox)&lt;br /&gt;&lt;/strong&gt;Gives the co-ordinates within the element on which the event was triggered. If the element is bigger that the browser window - coordinates can exceed the height of the screen.&lt;br /&gt;&lt;br /&gt;For more information see&lt;br /&gt;&lt;a href="http://www.javascriptkit.com/jsref/event.shtml"&gt;http://www.javascriptkit.com/jsref/event.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-3767615600699425080?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/3767615600699425080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/event-co-ordinates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/3767615600699425080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/3767615600699425080'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/event-co-ordinates.html' title='Event Co-ordinates'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-4301550875855750999</id><published>2009-08-11T08:19:00.000-07:00</published><updated>2009-08-11T09:28:36.174-07:00</updated><title type='text'>A lesson on Javascript event bubbling</title><content type='html'>&lt;span style="font-size:130%;"&gt;Event Bubbles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When a user clicks or performs another event on an HTML element it propigates up the chain.&lt;br /&gt;For example in the following code , when a user clicks on the blue box it triggers an event in both the blue and yellow boxes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;div style="WIDTH: 200px; HEIGHT: 200px; BACKGROUND-COLOR: yellow" onclick="alert('2 clicked');"&gt;l 2 &amp;lt;div style="WIDTH: 100px; HEIGHT: 100px; BACKGROUND-COLOR: cyan" onclick="alert('1 clicked');"&amp;gt;1&amp;lt;/div&amp;lt;/div&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Click on blue to see.&lt;br /&gt;Clicking on yellow doesnt trigger a blue event because the events move up and not down the chain.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="WIDTH: 200px; HEIGHT: 200px;color:black ;  BACKGROUND-COLOR: yellow" onclick="alert('2 clicked');"&gt;2&lt;br /&gt;&lt;div style="WIDTH: 100px; HEIGHT: 100px;color:black; BACKGROUND-COLOR: cyan" onclick="alert('1 clicked');"&gt;1&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This behaviour can be useful because when the mouse is clicked in blue Yellow knows about it, so blue can ignore the event and let it be handled by yellow.&lt;br /&gt;&lt;br /&gt;Sometimes you want to stop events being passed on to parent elements. The following code shows how to do this.&lt;br /&gt;&lt;br /&gt;In the following code e represents the event object.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;if (e.stopPropagation) e.stopPropagation(); //Code used for w3c compatible browsers (eg firefox)&lt;br /&gt;else&lt;br /&gt;e.cancelBubble = true; // code used for Internet Explorer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;Incorporating this code into our example.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;function test(e,message){&lt;br /&gt;if(!e) e=window.event;&lt;br /&gt;if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;alert(message);&lt;br /&gt;} &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;script&gt;&lt;br /&gt;alert('test');&lt;br /&gt;function test(e,message){&lt;br /&gt;alert(message);&lt;br /&gt;&lt;br /&gt;if(!e) e=window.event;&lt;br /&gt;if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;div style="WIDTH: 200px; HEIGHT: 200px; BACKGROUND-COLOR: yellow" onclick="test(event,'2 clicked');"&gt;l 2 &amp;lt;div style="WIDTH: 100px; HEIGHT: 100px; BACKGROUND-COLOR: cyan" onclick="test(event,'1 clicked');"&amp;gt;1&amp;lt;/div&amp;lt;/div&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I cant demonstrate this script as blogspot isnt recognising my script tags.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-4301550875855750999?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/4301550875855750999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/lesson-on-javascript-events.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4301550875855750999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4301550875855750999'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/lesson-on-javascript-events.html' title='A lesson on Javascript event bubbling'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-1689870484487245730</id><published>2009-08-04T08:18:00.000-07:00</published><updated>2009-08-04T08:45:44.361-07:00</updated><title type='text'>New Project</title><content type='html'>Having created &lt;a href="http://www.imagemapeditor.net/"&gt;http://www.imagemapeditor.net/&lt;/a&gt;, which lets anyone upload images and create maps I'm embarking on a new project &lt;a href="http://www.formeditor.net/"&gt;http://www.formeditor.net/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The basic objective is to create a online form creator. There will be a toolbar for each different kind of form element ie.&lt;br /&gt;&lt;br /&gt;Text Field&lt;br /&gt;Hidden Field&lt;br /&gt;Text Area&lt;br /&gt;Check Boxes&lt;br /&gt;Radio Buttons&lt;br /&gt;List&lt;br /&gt;Submit Button&lt;br /&gt;&lt;br /&gt;Each type of form field will have a label. Form fields will be dragged from the left of the page to the form canvas where they can be configured (ie add radio buttons). Once added to the form these fields can be dragged up or down to change their order. They can also be deleted.&lt;br /&gt;&lt;br /&gt;The output of the form editor will be an HTML form.&lt;br /&gt;&lt;br /&gt;There will be instructions on how to use the form. The output from the form can be an email, or record stored in a database. It is envisaged that the latter will be used for marketing quesionaires and will come with a reporting tool that costs money (I have to make money somewhere!).&lt;br /&gt;&lt;br /&gt;Ok thats my brief - we'll see how I get on!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-1689870484487245730?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/1689870484487245730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/new-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/1689870484487245730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/1689870484487245730'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/08/new-project.html' title='New Project'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-2701962429201785800</id><published>2009-07-30T08:05:00.000-07:00</published><updated>2009-07-30T08:09:32.614-07:00</updated><title type='text'>New Website for creating Image Maps</title><content type='html'>Hello,&lt;br /&gt;Have just gone public with my new website &lt;a href="http://www.imagemapeditor.net/"&gt;www.imagemapeditor.net&lt;/a&gt; which lets anyone create an image map with an easy to use wysiwyg editor.&lt;br /&gt;&lt;br /&gt;The service lets you work with an online image or upload one for development purposes. You just select the parts of the image you want to link and decide where to link to and then press the HTML button which  creates the source HTML ready for pasting into a web page.&lt;br /&gt;&lt;br /&gt;You can also save and load image maps making it easier to make changes.&lt;br /&gt;&lt;br /&gt;Theres a free 10 minute video explaining how to use it.&lt;br /&gt;&lt;br /&gt;The underlying software is available for purchase by other web design companies. See the site for details.&lt;br /&gt;&lt;br /&gt;Happy editing&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-2701962429201785800?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/2701962429201785800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/07/new-website-for-creating-image-maps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/2701962429201785800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/2701962429201785800'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/07/new-website-for-creating-image-maps.html' title='New Website for creating Image Maps'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-8453560698678883487</id><published>2009-07-14T07:51:00.001-07:00</published><updated>2009-07-14T08:56:46.575-07:00</updated><title type='text'>Writing valid HTML</title><content type='html'>If you want to check that your webpages are compliant with w3c standards visit&lt;br /&gt;&lt;a href="http://validator.w3.org/"&gt;http://validator.w3.org/&lt;/a&gt;&lt;br /&gt;I found quite a few errors on my new website &lt;a href="http://www.imagemapeditor.net/"&gt;http://www.imagemapeditor.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ill list some of the things I learnt below.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Any link tags for external stylesheets must appear in the head section of the document&lt;/li&gt;&lt;li&gt;All your input tags must be ended with /&amp;gt;&lt;/li&gt;&lt;li&gt;instead of using checked to check a radio button you must use checked="checked"&lt;/li&gt;&lt;li&gt;Use &amp;lt;br/&amp;gt; instead of &amp;lt;br&amp;gt;&lt;/li&gt;&lt;li&gt;use onsubmit instead of onSubmit in a form&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-8453560698678883487?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/8453560698678883487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/07/writing-valid-html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8453560698678883487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8453560698678883487'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/07/writing-valid-html.html' title='Writing valid HTML'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-3782059079537918699</id><published>2009-07-12T12:26:00.000-07:00</published><updated>2009-07-12T12:37:56.206-07:00</updated><title type='text'>Creating table elements using span</title><content type='html'>Hello&lt;br /&gt;This problem had me stumped for quite a while. Basically to create elements of a fixed width as you would my setting the size of a &amp;lt;td&amp;gt;&lt;br /&gt;&lt;br /&gt;The solution to the problem lies in the css display property. Simply set the style property for your spans as display:inline-block;&lt;br /&gt;ie&lt;br /&gt;&lt;br /&gt;&amp;lt;span style="height:100px; width:100px; background-color:#FFCCFF; display: inline-block;" &amp;gt;test&amp;lt;/span&amp;gt;&lt;br /&gt;&lt;br /&gt;This will ceate an element that is 100px high and wide. Putting another span next to it will lay itself out like a table element.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-3782059079537918699?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/3782059079537918699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/07/creating-table-elements-using-span.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/3782059079537918699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/3782059079537918699'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/07/creating-table-elements-using-span.html' title='Creating table elements using span'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-3203188031397091199</id><published>2009-06-29T08:31:00.000-07:00</published><updated>2009-06-29T09:11:50.160-07:00</updated><title type='text'>Creating Transparency</title><content type='html'>To create a transparent region using css. Use the following&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&amp;lt;style&amp;gt;&lt;br /&gt;#image1 {opacity:0.4;filter:alpha(opacity=40);}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;opacity is used by firefox and other modern browsers and has the value 0 - 1 (ie. 0.5 is a valid entry). 0 being the most transparent.&lt;br /&gt;&lt;br /&gt;filter:alpha(opacity=40) is used by internet explorer and opacity can have value 0 - 100 (0 being the most transparent).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_vME0Iz65Kso/SkjgQyK1XQI/AAAAAAAAABA/fdi5lEcjWYo/s1600-h/me.jpg"&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5352775075791652450" style="DISPLAY: block; FILTER: alpha(opacity=40); MARGIN: 0px auto 10px; WIDTH: 181px; CURSOR: hand; HEIGHT: 200px; TEXT-ALIGN: center; opacity: 0.4" alt="" src="http://1.bp.blogspot.com/_vME0Iz65Kso/SkjgkjsgRmI/AAAAAAAAABI/cWdywmHccnI/s200/me.jpg" border="0" /&gt; &lt;/p&gt;&lt;p align="center"&gt;Image at 40% transparency&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;To make an object in javascript transparent use the following code (where 0.8 and 80 represent 80% transparency)&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="color:#33ff33;"&gt;style.opacity=0.8; &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="color:#33ff33;"&gt;style.filter="alpha(opacity=80)";&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-3203188031397091199?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/3203188031397091199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/creating-transparency.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/3203188031397091199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/3203188031397091199'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/creating-transparency.html' title='Creating Transparency'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vME0Iz65Kso/SkjgkjsgRmI/AAAAAAAAABI/cWdywmHccnI/s72-c/me.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-7458318492564270322</id><published>2009-06-29T07:44:00.000-07:00</published><updated>2009-06-29T08:46:15.834-07:00</updated><title type='text'>Forcing an image to refresh</title><content type='html'>When you refresh a web page the images on it are normally cached. This means if you make a change to an image and refresh the page that it is on, the image will appear unchanged because the browser is using the cached version.&lt;br /&gt;&lt;br /&gt;To get round this you can force the image to be reloaded by adding parameters to the image url.&lt;br /&gt;&lt;br /&gt;ie for image&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&amp;lt;img src="/images/image1.jpg" &amp;gt;&lt;br /&gt;&lt;br /&gt;To force refresh change to&lt;br /&gt;&amp;lt;img src="/images/image1.jpg?id=11" &amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;incrementing the value of the id variable in the url will force the image to be reloaded. Therefore a counter is required . The easiest way to set the counter in php is to set the id to the time function which is a number that increments with the time.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&amp;lt;img src="/images/image1.jpg?id=&amp;lt;?=time()?&amp;gt;" &amp;gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-7458318492564270322?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/7458318492564270322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/forcing-image-to-refresh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/7458318492564270322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/7458318492564270322'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/forcing-image-to-refresh.html' title='Forcing an image to refresh'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-1444673537559758049</id><published>2009-06-28T12:14:00.000-07:00</published><updated>2009-06-28T12:42:01.531-07:00</updated><title type='text'>Adding scroll bars to an image</title><content type='html'>If you have a large picture or text box and you want it to fit on to the page without widening the page in the past you would have used frames both ordinary and inline frames (can hang anywhere). However there is an easy way to do this with css (cascading style sheets).&lt;br /&gt;&lt;br /&gt;Heres some sample code&lt;br /&gt;&amp;lt;style&amp;gt;&lt;br /&gt;#scrollbox {width:400px; height:200px; overflow:auto;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id='scrollbox' &amp;gt;&lt;br /&gt;&amp;lt;img src="http://www.ianskipworth.com/suig/images/wallpaper/005xga.jpg"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;This will show a box 400px by 200px with scroll bars which let you scroll to see the rest of the image. Its the overflow attribute defined in #scrollbox which makes this happen. There are two settings that are useful : auto which shows scroll bars if the image is bigger than the box but none if its smaller or you can force scroll bars with the overflow value of "scroll".&lt;br /&gt;&lt;br /&gt;Below is the example working.&lt;br /&gt;&lt;br /&gt;&lt;div style="OVERFLOW: auto; WIDTH: 400px; HEIGHT: 200px"&gt;&lt;br /&gt;&lt;img src="http://www.ianskipworth.com/suig/images/wallpaper/005xga.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-1444673537559758049?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/1444673537559758049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/adding-scroll-bars-to-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/1444673537559758049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/1444673537559758049'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/adding-scroll-bars-to-image.html' title='Adding scroll bars to an image'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-2710241599761143797</id><published>2009-06-26T09:00:00.000-07:00</published><updated>2009-06-26T09:08:33.951-07:00</updated><title type='text'>What browsers should I support</title><content type='html'>It is my belief that your site should support the following browsers&lt;br /&gt;&lt;br /&gt;Internet Explore 6&lt;br /&gt;&lt;a href="http://www.google.com/chrome"&gt;Google Chrome&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mozilla.com/en-US/firefox/all-older.html"&gt;firefox 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.apple.com/safari/download/"&gt;Safari&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you support IE 6 and firefox 2 your website should work with most modern browsers&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-2710241599761143797?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/2710241599761143797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/what-browsers-should-i-support.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/2710241599761143797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/2710241599761143797'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/what-browsers-should-i-support.html' title='What browsers should I support'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-8908208683820438004</id><published>2009-06-25T15:16:00.000-07:00</published><updated>2009-06-25T15:30:53.446-07:00</updated><title type='text'>Installing MYSQL</title><content type='html'>Download and Extract mysql-1.1.22-win32 and run setup&lt;br /&gt;Choose typical install&lt;br /&gt;&lt;br /&gt;Choose to skip registration&lt;br /&gt;&lt;br /&gt;Choose to configure mysql&lt;br /&gt;&lt;br /&gt;Choose standard config&lt;br /&gt;&lt;br /&gt;Accept the defaults&lt;br /&gt;&lt;br /&gt;Set a password for the root&lt;br /&gt;&lt;br /&gt;Finish the install&lt;br /&gt;&lt;br /&gt;For php5 copy&lt;br /&gt;C:/php5/libmysql.dll to c:/windows/system32&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Configuring the MYSQL&lt;/strong&gt;&lt;br /&gt;One of the best tools for database manipulation and modification is phpmyadmin.&lt;br /&gt;&lt;br /&gt;First configure virtual host database as you configured your site1 etc use directory for both apache configurations ie&lt;br /&gt;&lt;br /&gt;C:\program files\apache\apache\database&lt;br /&gt;&lt;br /&gt;Download and extract&lt;br /&gt;&lt;br /&gt;Phpmyadmin-2.9.1.1-english&lt;br /&gt;to&lt;br /&gt;C:\program files\apache\apache\database&lt;br /&gt;&lt;br /&gt;under&lt;br /&gt;C:\Program Files\Apache Group\Apache\database&lt;br /&gt;&lt;br /&gt;Copy&lt;br /&gt;config.sample.inc.php&lt;br /&gt;to&lt;br /&gt;config.inc.php&lt;br /&gt;&lt;br /&gt;edit config.inc.php in both apache and apachephp5 directories&lt;br /&gt;&lt;br /&gt;change youpasssting and yourrootpass to the passwords you set in following&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;$cfg['blowfish_secret'] = 'youpassstring’&lt;br /&gt;&lt;br /&gt;$cfg['Servers'][$i]['controluser'] = 'root';&lt;br /&gt;$cfg['Servers'][$i]['controlpass'] = 'yourrootpass';&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;now&lt;br /&gt;&lt;br /&gt;Run a cmd prompt and&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;Cd c:\program files\mysql\mysql server 4.1\bin&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Now to configure the connection from phpmyadmin&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;Mysql –u root –p&lt;/span&gt;&lt;br /&gt;Enter your root password then at mysql prompt&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;Set password for root@localhost = old_password('yourrootpass');&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Where yourrootpass is your root password for mysql&lt;br /&gt;Quit your command prompt By typing&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;quit&lt;/span&gt;&lt;br /&gt;In your browser access &lt;a href="http://database/index.php"&gt;http://database/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and login as root with your password also try&lt;br /&gt;&lt;br /&gt;&lt;a href="http://database:8080/index.php"&gt;http://database:8080/index.php&lt;/a&gt; for php5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In phpMyAdmin find one of the two files in the scripts folder:&lt;br /&gt;If you are using a mySQL version lower than MySQL 4.1.2, then find and run create_tables.sql&lt;br /&gt;&lt;br /&gt;If you are using a mySQL version higher than MySQL 4.1.2, then find and runcreate_tables_mysql_4-1-2+.sql&lt;br /&gt;&lt;br /&gt;Scripts are in myphpadmin directory under scripts&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-8908208683820438004?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/8908208683820438004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/installing-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8908208683820438004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8908208683820438004'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/installing-mysql.html' title='Installing MYSQL'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-4129378472099967382</id><published>2009-06-24T02:18:00.000-07:00</published><updated>2009-06-27T14:52:21.345-07:00</updated><title type='text'>Setting Up PHP</title><content type='html'>Download php-4.4.4-win32 and php-5.2.6-win32.zip to a folder on your hard disk. Different releases of php can be obtained from&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.php.net/releases/"&gt;http://www.php.net/releases/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Next extract to the following by right clicking on the zip file and choosing extract&lt;br /&gt;&lt;br /&gt;php-4.4.4-win32 to C:\php4&lt;br /&gt;and&lt;br /&gt;Php-5.2.6-win32.zip to C:\php5&lt;br /&gt;&lt;br /&gt;Under c:\php4 copy php.ini.recommended to php.ini&lt;br /&gt;copy php.ini to the Apache directory&lt;br /&gt;copy php4ts.dll to c:\windows&lt;br /&gt;&lt;br /&gt;Under c:\php5&lt;br /&gt;copy php.ini.recommended to php.ini&lt;br /&gt;copy php.ini to the Apachephp5 directory&lt;br /&gt;copy php5ts.dll to c:\windows&lt;br /&gt;&lt;br /&gt;Under Apache directory edit httpd.conf add&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;# Add to the end of the LoadModule section&lt;br /&gt;LoadModule php4_module "c:/php4/sapi/php4apache.dll"&lt;br /&gt;&lt;br /&gt;# Add to the end of the AddModule section&lt;br /&gt;AddModule mod_php4.c&lt;br /&gt;&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Restart the server from a cmd prompt&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;Net stop apache&lt;br /&gt;Net start apache&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Under Apachephp5 directory edit httpd.conf add&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&lt;span style="font-size:85%;"&gt;# Add to the end of the LoadModule section&lt;br /&gt;LoadModule php5_module "c:/php5/php5apache.dll"&lt;br /&gt;&lt;br /&gt;# Add to the end of the AddModule section&lt;br /&gt;AddModule mod_php5.c&lt;br /&gt;&lt;br /&gt;# Add this line inside the &amp;lt;IfModule mod_mime.c&amp;gt; conditional brace&lt;br /&gt;AddType application/x-httpd-php .php &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;strong&gt;Configuring php&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;In each php.ini file uncomment &lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;;extension=php_gd2.dll&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;;extension=php_myql.dll&lt;/span&gt; &lt;/p&gt;&lt;p&gt;By removing the ;&lt;/p&gt;&lt;p&gt;make sure the extensions path is set correctly in the file ie&lt;/p&gt;&lt;p&gt;&lt;span style="color:#66ff99;"&gt;extension_dir = "c:/php4/extensions";&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Configuring Email Server&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;In each php.ini file set SMTP to the address of your mail server and sendmail_from to your email address&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;[mail function]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;;For Win32 only&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;SMTP = localhost&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;smtp_port = 25&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;; For Win32 only.;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;sendmail_from = me@example.com&lt;/span&gt; &lt;/p&gt;&lt;p&gt;Restart the server from a cmd prompt&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;Net stop apache8080&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#33ff33;"&gt;Net start apache8080&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-4129378472099967382?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/4129378472099967382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/setting-up-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4129378472099967382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4129378472099967382'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/setting-up-php.html' title='Setting Up PHP'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-8311528011693885069</id><published>2009-06-23T14:55:00.000-07:00</published><updated>2009-06-25T15:02:52.245-07:00</updated><title type='text'>Configuring Multiple Projects in Apache</title><content type='html'>You can set up different websites on the same server. They are refered to by changing the server name ie Instead of referring to the website on the local machine as localhost you can refer to them as Instead of&lt;br /&gt;&lt;br /&gt;&lt;a href="http://localhost/"&gt;http://localhost/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;it would be&lt;br /&gt;&lt;br /&gt;&lt;a href="http://site1/"&gt;http://site1/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://site2/"&gt;http://site2/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You must first add your host names to the hosts file in windowsTo do this edit C:\windows\system32\drivers\etc\hosts&lt;br /&gt;&lt;br /&gt;Add an entry for each virtual server ie - The tcpip address for your local machine is&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&lt;span style="font-size:85%;"&gt;127.0.0.1 site1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;127.0.0.1 site2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;127.0.0.1 database&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;You will need to make these entrys in each computer you use to access your test server. If you need to access the server on a LAN I recommend setting up and using a domain name server.&lt;br /&gt;&lt;br /&gt;Next Edit the httpd config file and at the bottom add&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&lt;span style="font-size:85%;"&gt;# Use name-based virtual hosting.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;NameVirtualHost *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#cccccc;"&gt;And for each site add&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&amp;lt;virtualhost *&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&lt;span style="font-size:85%;"&gt;ServerAdmin admin@site1&lt;br /&gt;DocumentRoot “c:/program files/apache group/apache/site1”&lt;br /&gt;ServerName site1&lt;br /&gt;ErrorLog logs/site1.log&lt;br /&gt;&lt;/virtualhost&gt;&lt;/span&gt;&lt;/virtualhost&gt;&amp;lt;/virtualhost&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Where site1 is the name of the virtual server&lt;br /&gt;&lt;br /&gt;DocumentRoot should point to a separate directory for each site it should be contained in quotes&lt;br /&gt;&lt;br /&gt;If you have more than one server on your machine you should make these modifications to each httpd.conf configuration file.&lt;br /&gt;&lt;br /&gt;After making the modifications restart the servers. Do start run and type cmd.&lt;br /&gt;&lt;br /&gt;From the cmd prompt&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;net stop apache&lt;br /&gt;net start apache&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;and if second server installed&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;net stop apache8080&lt;br /&gt;net start apache8080&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;If a server fails to start then check the error log in the apache log directory ie&lt;br /&gt;&lt;br /&gt;c:\program files\apache group\apache\logs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-8311528011693885069?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/8311528011693885069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/configuring-multiple-projects-in-apache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8311528011693885069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/8311528011693885069'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/configuring-multiple-projects-in-apache.html' title='Configuring Multiple Projects in Apache'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-4339497915038151899</id><published>2009-06-23T08:39:00.000-07:00</published><updated>2009-06-25T14:58:52.530-07:00</updated><title type='text'>Setting up the Apache server</title><content type='html'>&lt;strong&gt;Part 1 Installing Apache multiple times&lt;/strong&gt;&lt;br /&gt;The following procedure allows you to install 2 copies of the apache server one accessed at localhost and the other at localhost:8080. Installing multiple copies of the server allows for testing of php with both version 4 and 5.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;This configuration is for development purposes only and should not be used for a live server. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Install Apache &lt;a href="http://archive.apache.org/dist/httpd/binaries/win32/apache_1.3.22-win32-x86.exe"&gt;1.3.22-win32-x86.exe&lt;/a&gt; or above to c:\program files\apache group&lt;br /&gt;&lt;br /&gt;Install as a service by default the service name will be apache&lt;br /&gt;&lt;br /&gt;Test by visiting&lt;br /&gt;&lt;a href="http://localhost/"&gt;http://localhost/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;in your browser&lt;br /&gt;&lt;br /&gt;To install a second server copy the apache directory to&lt;br /&gt;&lt;br /&gt;Apachephp5&lt;br /&gt;&lt;br /&gt;Your Configuration file will be c:\program files\apache group\apachephp5\conf\http.conf&lt;br /&gt;&lt;br /&gt;In the apachephp5/conf directory&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the file httpd.conf&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&lt;span style="font-size:85%;"&gt;#&lt;br /&gt;# Port: The port to which the standalone server listens. Certain firewall&lt;br /&gt;# products must be configured before Apache can listen to a specific port.&lt;br /&gt;# Other running httpd servers will also interfere with this port. Disable&lt;br /&gt;# all firewall, security, and other services if you encounter problems.&lt;br /&gt;# To help diagnose problems use the Windows NT command NETSTAT -a&lt;br /&gt;#&lt;br /&gt;Port 80&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Change port to 8080&lt;br /&gt;Run a command prompt using start run and entering&lt;br /&gt;Cmd&lt;br /&gt;Cd c:\program files\apache group\apachephp5&lt;br /&gt;run apache -i -n "Apache8080" -f "c:\program files\apache group\apachephp5\conf\httpd.conf" Start the service with Net start apache8080 In your browser visit&lt;a href="http://localhost:8080/"&gt;http://localhost:8080/&lt;/a&gt; to check the service is working You now have two webservers running on the same machine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-4339497915038151899?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/4339497915038151899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/setting-up-apache-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4339497915038151899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/4339497915038151899'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/setting-up-apache-server.html' title='Setting up the Apache server'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6070094287610455248.post-6146562461443268956</id><published>2009-06-09T10:24:00.000-07:00</published><updated>2009-06-20T09:27:49.243-07:00</updated><title type='text'>Hello</title><content type='html'>Hello and weclome to my blog. In this blog I'll be sharing those nuggets of information that are hard to find but can make all the difference to both inexperienced and hardened software developers.&lt;br /&gt;Ill be sharing this information as and when i come across it.&lt;br /&gt;&lt;br /&gt;Happy blogging&lt;br /&gt;Richard Pearson&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6070094287610455248-6146562461443268956?l=diaryofawebdeveloper.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diaryofawebdeveloper.blogspot.com/feeds/6146562461443268956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/hello.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/6146562461443268956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6070094287610455248/posts/default/6146562461443268956'/><link rel='alternate' type='text/html' href='http://diaryofawebdeveloper.blogspot.com/2009/06/hello.html' title='Hello'/><author><name>Richard Pearson</name><uri>http://www.blogger.com/profile/18214187745567121211</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_vME0Iz65Kso/Sj0KN9dq2tI/AAAAAAAAAAc/EQYTvGkqMWA/S220/me.jpg'/></author><thr:total>0</thr:total></entry></feed>
