<?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-6602211</id><updated>2011-09-23T12:54:06.029-07:00</updated><category term='mobile'/><category term='Command'/><category term='Adsense'/><category term='Twitter'/><category term='Browser'/><category term='RSS'/><category term='monetise'/><category term='Youtube'/><category term='mysql'/><category term='CSS'/><category term='shell'/><category term='Earthquake'/><category term='Date'/><category term='Batch'/><category term='Haiti'/><category term='Spam'/><category term='Online Advertising'/><category term='Javscript'/><category term='Web Analytics'/><title type='text'>Roleli Web Talkings</title><subtitle type='html'>Web Related issues such as design, programing, search engine optimisation , revenue generation. The is also my area to give back to the internet community that has given me so much,</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://roleli2.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6602211.post-3479597739186189517</id><published>2010-04-13T13:54:00.001-07:00</published><updated>2010-04-13T13:54:59.216-07:00</updated><title type='text'>virus issues</title><content type='html'>&lt;div&gt;expand C:\I386\explorer.ex_ %systemroot%\explorer.exe&lt;/div&gt;&lt;div&gt;sfc /scannow&lt;/div&gt;&lt;div&gt;http://www.squidoo.com/explorer-exe&lt;/div&gt;&lt;div&gt;http://www.helpwithwindows.com/WindowsXP/howto-24.html&lt;/div&gt;&lt;div&gt;http://www.windowsbbs.com/malware-virus-removal/91421-resolved-nothing-will-open-trojan-horse-3.html&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://www.virustotal.com/&lt;/div&gt;&lt;div&gt;http://spywarehammer.com/simplemachinesforum/index.php?PHPSESSID=aan48qtqdimgkrsc6o922dl1j0&amp;amp;topic=7328.15&lt;/div&gt;&lt;div&gt;http://www.avg.com/gb-en/avg-rescue-cd&lt;/div&gt;&lt;div&gt;http://www.threatexpert.com/report.aspx?md5=f5e8d2e4bc003eb319cb2480d7e54084&lt;/div&gt;&lt;div&gt;http://www.bleepingcomputer.com/combofix/how-to-use-combofix&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;find all files created in last 7 days&lt;/div&gt;&lt;div&gt;modified in last 7 days&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3479597739186189517?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3479597739186189517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3479597739186189517'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2010_04_01_archive.html#3479597739186189517' title='virus issues'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-1765035567535613776</id><published>2010-01-16T16:23:00.000-08:00</published><updated>2010-01-19T10:40:32.049-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haiti'/><category scheme='http://www.blogger.com/atom/ns#' term='Earthquake'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Haiti, Earthquake and Twitter</title><content type='html'>The tragic earthquake in Haiti has once again highlighted the usefulness of Twitter. In the minutes that followed the earthquake the first voice from Haiti was over the Twitter streams. It its not only Twitter that has stood out the ability to 'tweet', i.e. send messages, using the smartphones such as the IPhone, Blackberry, Nokia and others. What this has done is allowed not only text but images to be tweeted in seconds. The phone has become powerful too.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Useful Twitter Users &lt;/b&gt;&lt;/div&gt;&lt;div&gt;Going back to Haiti, there have have been a some twitter users whose updates have proven useful. These accounts I have found helpful in following events in  Haiti&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://twitter.com/firesideint"&gt;http://twitter.com/firesideint&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/Fonkoze"&gt;http://twitter.com/Fonkoze&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/Louisoxfam"&gt;http://twitter.com/Louisoxfam&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/carelpedre"&gt;http://twitter.com/carelpedre&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/troylivesay"&gt;http://twitter.com/troylivesay&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/fredodupoux"&gt;http://twitter.com/fredodupoux&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/RAMhaiti"&gt;http://twitter.com/RAMhaiti&lt;/a&gt;&lt;br /&gt;&lt;a href="http://twitter.com/InternetHaiti"&gt;http://twitter.com/InternetHaiti&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A quick search of Haiti turned up users retweeting, i.e. repeating,  updates provided by those users and in effect they quickly became the credible sources of what was happening around Haiti.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Twitter 101&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Twitter allows users to freely sign up for an account and begin sending messages limited to 140 characters. Users can then follower other users, (twitters)  and other persons can follow them. Users can communicated publicly by sending messages to each other using the "@username message" syntax , retweet/repeating messages using the "RT @username message" syntax and where a user is following you send a private direct message by typing "DM username message".&lt;/div&gt;&lt;div&gt;To tag messages the use is made of the hashtag (#), e.g. 'message #tag'. &lt;/div&gt;&lt;div&gt;In a nutshell that is a Twitter 101 and you are on the way.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Interestingly, it was only a year ago on that the United Airlines was forced to land in the Hudson after a bird strike took out the engines.  The first place with the news was Twitter. When Micheal Jackson died it was Twitter again. In Jamaica, when the fire at Wray and Nephew broke out it was Twitter again and when the American Airlines crashed after landing Twitter was my first source.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This real-time up-to-minute stream has made reporters of all and Journalists in the media in Jamaica will have to accept this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Google's Partnership&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Google's Partnership with Twitter in providing real-time Twitter search results has only served to increase Twitter's audience&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lessons Learnt&lt;/b&gt;&lt;/div&gt;&lt;div&gt;CNN has championed scoial media and used it to full effect in the 2008 USA Presidential Race. Today it appears that everyone of  CNN's anchors has a Twitter  account, Facebook page or blog.&lt;/div&gt;&lt;div&gt;They have used twitter and the contacts made to good effect.  Message to media in Jamaica, ignore twitter and by extension social media to your own peril.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Remember to donate to the credible place like&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;American Red Cross&lt;/li&gt;&lt;li&gt;Salvation Army&lt;/li&gt;&lt;li&gt;Adventist Development Relief Agency (ADRA)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;CNN has a good list &lt;a href="http://cnn.com/impact/"&gt;http://cnn.com/impact/&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-1765035567535613776?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/1765035567535613776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/1765035567535613776'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2010_01_01_archive.html#1765035567535613776' title='Haiti, Earthquake and Twitter'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-8482815792584174813</id><published>2010-01-01T10:02:00.000-08:00</published><updated>2010-01-01T11:42:24.986-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spam'/><title type='text'>Spamassassin 2010 Bug Solution</title><content type='html'>It seems that every year at the start of the year there is some computer related issue. This time the bug has struck Spamassassin a tool used by many web host in Spam Filtering. The bug seems to affect both Spamassassin versions 2.x and 3.x.&lt;br /&gt;&lt;br /&gt;The bug lies in a rule, FH_DATE_PAST_20XX, that checks for email with forward dates e.g. 2010,2011... 2020. However the rule worked fine for mail with dates 2000-2009 but we are now in 2010.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution: (Quick Fix)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;There are a few approaches&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;1. Add local.cf&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;Add this rule&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;score FH_DATE_PAST_20XX  0&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;50_scores.cf&lt;/span&gt;&lt;br /&gt;Find 50_scores.cf and edit it&lt;br /&gt;&lt;br /&gt;change&lt;br /&gt;score FH_DATE_PAST_20XX 2.00753.384 3.554 3.188 #n=2&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;score FH_DATE_PAST_20XX  0 #n=2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You might need to restart you spamd process .&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Note: this is a quick fix not a permanent solution&lt;br /&gt;a) if your spamassassin settings are global and not on a user by user basis. You will need to update the user settings.&lt;br /&gt;b) The rule needs correcting&lt;br /&gt;&lt;br /&gt;A bug report has been filed by users.&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269"&gt;Bug Report&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://wiki.apache.org/spamassassin/Rules/FH_DATE_PAST_20XX"&gt;FH_DATE_PAST_20XX&lt;/a&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/6602211-8482815792584174813?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8482815792584174813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8482815792584174813'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2010_01_01_archive.html#8482815792584174813' title='Spamassassin 2010 Bug Solution'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-9075063727845791510</id><published>2009-11-12T05:55:00.000-08:00</published><updated>2009-11-12T08:11:20.164-08:00</updated><title type='text'>Force File Download with PHP</title><content type='html'>Here is the code taken from&lt;br /&gt;&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="php" style="font-family: monospace;"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;function&lt;/span&gt; output_file&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$name&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$mime_type&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;''&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;/*&lt;br /&gt;This function takes a path to a file to output ($file),&lt;br /&gt;the filename that the browser will see ($name) and&lt;br /&gt;the MIME type of the file ($mime_type, optional).&lt;br /&gt;&lt;br /&gt;If you want to do something on download abort/finish,&lt;br /&gt;register_shutdown_function('function_name');&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;!&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;is_readable&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'File not found or inaccessible!'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$size&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;filesize&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$name&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;rawurldecode&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$name&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;/* Figure out the MIME type (if not specified) */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$known_mime_types&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;array&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"pdf"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"application/pdf"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"txt"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"text/plain"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"html"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"text/html"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"htm"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"text/html"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"exe"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"application/octet-stream"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"zip"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"application/zip"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"doc"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"application/msword"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"xls"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"application/vnd.ms-excel"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"ppt"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"application/vnd.ms-powerpoint"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"gif"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"image/gif"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"png"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"image/png"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"jpeg"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"image/jpg"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"jpg"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;"image/jpg"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"php"&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"text/plain"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$mime_type&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;''&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 136);"&gt;$file_extension&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;strtolower&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;substr&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;strrchr&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"."&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;array_key_exists&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file_extension&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$known_mime_types&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 136);"&gt;$mime_type&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$known_mime_types&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file_extension&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 136);"&gt;$mime_type&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"application/force-download"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;@&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;ob_end_clean&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;//turn off output buffering to decrease cpu usage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;// required for IE, otherwise Content-Disposition may be ignored&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;ini_get&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'zlib.output_compression'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;ini_set&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'zlib.output_compression'&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;'Off'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'Content-Type: '&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;.&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$mime_type&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'Content-Disposition: attachment; filename="'&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$name&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'"'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"Content-Transfer-Encoding: binary"&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'Accept-Ranges: bytes'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;/* The three lines below basically make the&lt;br /&gt;   download non-cacheable */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"Cache-control: private"&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'Pragma: private'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"Expires: Mon, 26 Jul 1997 05:00:00 GMT"&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;// multipart-download and download resuming support&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;isset&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$_SERVER&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'HTTP_RANGE'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;list&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$a&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;explode&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"="&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$_SERVER&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'HTTP_RANGE'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;list&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;explode&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;","&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;list&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$range_end&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;explode&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"-"&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;intval&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;!&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$range_end&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 136);"&gt;$range_end&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$size&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 136);"&gt;$range_end&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;intval&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$range_end&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$new_length&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$range_end&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"HTTP/1.1 206 Partial Content"&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"Content-Length: &lt;span style="color: rgb(0, 102, 153); font-weight: bold;"&gt;$new_length&lt;/span&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"Content-Range: bytes &lt;span style="color: rgb(0, 102, 153); font-weight: bold;"&gt;$range&lt;/span&gt;-&lt;span style="color: rgb(0, 102, 153); font-weight: bold;"&gt;$range_end&lt;/span&gt;/&lt;span style="color: rgb(0, 102, 153); font-weight: bold;"&gt;$size&lt;/span&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$new_length&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$size&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;header&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"Content-Length: "&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$size&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;/* output the file itself */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$chunksize&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;1024&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;1024&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;//you may want to change this&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$bytes_send&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;fopen&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;'r'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;isset&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$_SERVER&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'HTTP_RANGE'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;fseek&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$range&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;!&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;feof&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;!&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;connection_aborted&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$bytes_send&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$new_length&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 136);"&gt;$buffer&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;fread&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 136);"&gt;$chunksize&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(177, 177, 0);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$buffer&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;//echo($buffer); // is also possible&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(153, 0, 0);"&gt;flush&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 136);"&gt;$bytes_send&lt;/span&gt; &lt;span style="color: rgb(51, 153, 51);"&gt;+=&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;strlen&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$buffer&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;fclose&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'Error - can not open file.'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;/*********************************************&lt;br /&gt;   Example of use&lt;br /&gt;**********************************************/&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;/*&lt;br /&gt;Make sure script execution doesn't time out.&lt;br /&gt;Set maximum execution time in seconds (0 means no limit).&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;set_time_limit&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file_path&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;'that_one_file.txt'&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;br /&gt;output_file&lt;span style="color: rgb(0, 153, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 136);"&gt;$file_path&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;'some file.txt'&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;'text/plain'&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(51, 153, 51);"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-9075063727845791510?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://w-shadow.com/blog/2007/08/12/how-to-force-file-download-with-php/' title='Force File Download with PHP'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/9075063727845791510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/9075063727845791510'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_11_01_archive.html#9075063727845791510' title='Force File Download with PHP'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-5787661140883654366</id><published>2009-10-08T04:42:00.000-07:00</published><updated>2009-10-08T04:44:27.859-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command'/><title type='text'>Touch Command for Windows</title><content type='html'>If you every need to change the last modified date on a windows file here is a command that does so&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-size: 85%;"&gt;&lt;b&gt;copy /b test.txt +,,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Source:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://alexpinsker.blogspot.com/2008/06/touch-command-for-doscommand-line.html"&gt;Touch Command for Windows&lt;/a&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/6602211-5787661140883654366?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5787661140883654366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5787661140883654366'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_10_01_archive.html#5787661140883654366' title='Touch Command for Windows'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-2797415647178799235</id><published>2009-07-30T06:28:00.000-07:00</published><updated>2009-09-25T04:37:33.349-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Keeping your Geolocation up to date</title><content type='html'>If you host Open Ads or use Geographic targeting you will realise that from time to time you need to update you geo-location data file. This is an shell script to help&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Script&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;# retrieve and update Geolocation database&lt;br /&gt;&lt;br /&gt;#get date...&lt;br /&gt;today=`date +%d-%m-%y` &lt;br /&gt;#today=`date +%d-%m-%y`   #date in this format 04-08-09&lt;br /&gt;#today=`date +%Y%m%%d` #date in this format 20090804&lt;br /&gt;&lt;br /&gt;#go to folder&lt;br /&gt;cd /home/adserver/&lt;br /&gt;&lt;br /&gt;#grab data file&lt;br /&gt;/usr/bin/wget -q --limit-rate=100k wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz&lt;br /&gt;&lt;br /&gt;# Check if file exists&lt;br /&gt;&lt;br /&gt;if [ -f /home/adserver/GeoIP.dat.gz ]&lt;br /&gt;   then&lt;br /&gt;  #backup current file&lt;br /&gt;   if [ -f /home/adserver/GeoIPCity.dat ]&lt;br /&gt;        then&lt;br /&gt;       /bin/mv /home/adserver/GeoIP.dat /home/adserver/GeoIP-$today.dat&lt;br /&gt;      fi&lt;br /&gt;&lt;br /&gt;    #uncompress new file&lt;br /&gt;   /bin/gzip -d /home/adserver/GeoIP.dat.gz&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cron Job&lt;/span&gt;&lt;br /&gt;Let us say the file above is called update.sh. Add this to your cron.&lt;br /&gt;&lt;br /&gt;0 2 7 * * /bin/sh  /home/adserver/update.sh &gt; dev/null  2&gt;&amp;amp;1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notes:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;1. Ensure the full paths for mv, cd, wget are correct&lt;br /&gt;you can find that by doing a whereis command name e.g whereis mv&lt;br /&gt;&lt;br /&gt;2. Change "/home/adserver/" to the your path to where you want to put the file&lt;br /&gt;&lt;br /&gt;3. if " if [ -f filename ] ..." does not work try "if[ -e filename ].."&lt;br /&gt;&lt;br /&gt;4. The service is free, from &lt;a href="http://www.maxmind.com/"&gt;maxmind.com&lt;/a&gt; so I try not to abuse their servers.&lt;br /&gt;a) limit the download rate to --limit-rate=100k&lt;br /&gt;b) update once month usually about the 5,6,7th ( the say the 1st of the month but the updates are usually late&lt;br /&gt;( paid services are available)&lt;br /&gt;&lt;br /&gt;5. you an remove the old file using "/bin/rm -f /home/adserver/GeoIP.dat " but I am one for backups&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Useful&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.linuxconfig.org/Bash_scripting_Tutorial"&gt;Bash Scripting Tutorial&lt;/a&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/6602211-2797415647178799235?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2797415647178799235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2797415647178799235'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_07_01_archive.html#2797415647178799235' title='Keeping your Geolocation up to date'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-4364744816855039732</id><published>2009-06-29T19:30:00.000-07:00</published><updated>2009-10-03T19:13:10.468-07:00</updated><title type='text'>MYSQL, Foreign Keys</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;div style="border-width: 0px; margin: 0px; padding: 3px; width: auto; font-family: Georgia,serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; font-size-adjust: none; font-stretch: normal; text-align: left;"&gt;&lt;div&gt;Here is my example and some pointers that lead a solution to my problem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'contact_id' in table 'note' referencing 'id' in table 'contact'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CREATE TABLE 'contact' (&lt;/div&gt;&lt;div&gt;'id' int(10) unsigned NOT NULL auto_increment COMMENT 'Unique Contact ID',&lt;/div&gt;&lt;div&gt;PRIMARY KEY ('id'),&lt;/div&gt;&lt;div&gt;) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=0 ;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CREATE TABLE 'note' (&lt;/div&gt;&lt;div&gt;'id' int(10) unsigned NOT NULL auto_increment COMMENT 'Note ID',&lt;/div&gt;&lt;div&gt;'entity_table' varchar(64) collate utf8_unicode_ci NOT NULL COMMENT 'Name of table where item being referenced is stored.',&lt;/div&gt;&lt;div&gt;'entity_id' int(10) unsigned NOT NULL COMMENT 'Foreign key to the referenced item.',&lt;/div&gt;&lt;div&gt;'contact_id' int(10) unsigned default NULL COMMENT 'FK to Contact ID creator',&lt;/div&gt;&lt;div&gt;PRIMARY KEY ('id'),&lt;/div&gt;&lt;div&gt;KEY 'index_entity' ('entity_table','entity_id'),&lt;/div&gt;&lt;div&gt;KEY 'FK_note_contact_id' ('contact_id')&lt;/div&gt;&lt;div&gt;) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=0;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ALTER TABLE 'note'&lt;/div&gt;&lt;div&gt;ADD CONSTRAINT 'FK_note_contact_id' FOREIGN KEY ('contact_id') REFERENCES 'contact' ('id') ON DELETE SET NULL;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Things to note&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Tables must be same type. [in this case InnoDB]&lt;/div&gt;&lt;div&gt;2. The columns must be the same type.[in this case int(10)]&lt;/div&gt;&lt;div&gt;3. The Attributes must be the same unsigned&lt;/div&gt;&lt;div&gt;4. The field that is referencing must be default set to null "default NULL"&lt;/div&gt;&lt;div&gt;i.e. contact_id , must be default NULL. (If you specify a SET NULL action, make sure that you have not declared the columns in the child table as NOT NULL.)&lt;/div&gt;&lt;div&gt;5. Indexes on foreign keys and referenced keys&lt;/div&gt;&lt;div&gt;6. Watch your case.  the FK is case sensitive&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;If you need to alter a table do the following&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;set foreign_key_checks = 0;&lt;/div&gt;&lt;div&gt;...&lt;/div&gt;&lt;div&gt;Alter table etc..&lt;/div&gt;&lt;div&gt;..&lt;/div&gt;&lt;div&gt;set foreign_key_checks = 1;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Useful reference:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html"&gt;INNODB foreign key constraint&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;See also:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html" style="text-decoration: none;"&gt;How MySQL Uses Indexes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forums.mysql.com/read.php?22,19755,19755#msg-19755" style="text-decoration: none;"&gt;ERROR 1005: Can't create table (errno: 150)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forums.devshed.com/mysql-help-4/errno-150-when-adding-foreign-key-innodb-313495.html"&gt;Errno 150 when adding foreign key (InnoDB)&lt;/a&gt;&lt;/li&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-4364744816855039732?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4364744816855039732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4364744816855039732'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_06_01_archive.html#4364744816855039732' title='MYSQL, Foreign Keys'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-1300299834678996554</id><published>2009-06-04T04:46:00.001-07:00</published><updated>2009-06-04T04:53:10.982-07:00</updated><title type='text'>LIME 3G speeds</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.speedtest.net/result/488336173.png"&gt;&lt;img style="float:right; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 135px;" src="http://www.speedtest.net/result/488336173.png" border="0" alt="" /&gt;&lt;/a&gt;Testing a lime 3g Modem... &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Received the following speeds in the New Kingston Area&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The  installation on a Mac 10.5  failed but worked flawlessly on Windows XP.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;During the so far I have received burst speeds of up to 5.3 Mbps per second.  The problem is this if you have to pay for the data you could run in trouble&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Without downloading any programmes, just regular browsing in no time over 6 MB was consumed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-1300299834678996554?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/1300299834678996554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/1300299834678996554'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_06_01_archive.html#1300299834678996554' title='LIME 3G speeds'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-6297485467123072532</id><published>2009-05-22T15:56:00.000-07:00</published><updated>2009-05-22T16:25:03.272-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Browser'/><title type='text'>IE Tester for IE Version Testing</title><content type='html'>For many web developers cross browser testing has been a pain. One of the greatest pains has been test the different versions of IE, 5.5, 6, 7 and now 8. Users of browsers like Firefox, Safari and Opera tend to upgrade regular and even in some cases the updates are automated.&lt;br /&gt;&lt;br /&gt;The reality however is that IE still controls the majority share in the browser market thanks to Microsoft dominance of the Operating System found on personal computers around the world.&lt;br /&gt;&lt;br /&gt;Here is a good tool for testing different versions of IE.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.my-debugbar.com/wiki/IETester/HomePage"&gt;IE Tester&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Here are some reviews&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.appscout.com/2008/06/ie_tester_check_your_sites_wit_1.php"&gt;App Scout&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://thim.trinix.be/2008/06/24/ie-tester-the-ultimate-internet-explorer-version-testing-utility/"&gt;TRinix &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Go ahead and give it a try. Solving those CSS and JavaScript errors should be alot easier now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-6297485467123072532?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6297485467123072532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6297485467123072532'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_05_01_archive.html#6297485467123072532' title='IE Tester for IE Version Testing'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-2397128744401929357</id><published>2009-04-07T11:34:00.000-07:00</published><updated>2009-04-07T11:41:03.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javscript'/><title type='text'>Javascript Frame works</title><content type='html'>Today I got a e-mail asking about Javascript frame works.  I am no expert but from my little fooling around I like &lt;a href="http://jquery.com/"&gt;JQuery&lt;/a&gt;..&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here you can read what a few other persons have to say.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://speckyboy.com/2008/04/01/top-10-javascript-frameworks-which-do-you-prefer/"&gt;Specky Boy&lt;/a&gt; lists their top 10 (not in order) and the his audience seems to give JQeury the edige.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sixrevisions.com/javascript/promising_javascript_frameworks/"&gt;Sixrevisions&lt;/a&gt; they also list their top 10 (not in order) but the comments are again worth reading.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is one promotion I really endorse&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); font-size: 13px; line-height: 20px; "&gt;&lt;blockquote&gt;“jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript”.&lt;/blockquote&gt;&lt;/span&gt;As usual it boils doing to what you are doing, your style and what best suits you project&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&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/6602211-2397128744401929357?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2397128744401929357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2397128744401929357'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_04_01_archive.html#2397128744401929357' title='Javascript Frame works'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-861866736009784620</id><published>2009-03-20T06:07:00.000-07:00</published><updated>2009-03-20T06:16:05.328-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='Date'/><title type='text'>Windows Batch File</title><content type='html'>I needed  the get the date for batch file on Windows in this format yyyy-mm-dd e.g. 2009-03-20 so I did a little research on the internet.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The result is I found this snippet at &lt;a href="http://www.tech-recipes.com/"&gt;tech-recipes.com&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B&lt;/div&gt;&lt;div&gt;FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B&lt;/div&gt;&lt;div&gt;FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;SET mydate=%yyyy%-%mm%-%dd%&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are some nuisances so for more discussion on the top visit  &lt;a href="http://www.tech-recipes.com/rx/956/windows-batch-file-bat-to-get-current-date-in-mmddyyyy-format/"&gt;tech-recipes.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:'Lucida Grande';font-size:12px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre;font-family:'Lucida Grande';font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-861866736009784620?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/861866736009784620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/861866736009784620'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2009_03_01_archive.html#861866736009784620' title='Windows Batch File'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-4440918984142374767</id><published>2008-12-01T07:01:00.000-08:00</published><updated>2008-12-01T07:01:01.629-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Advertising'/><category scheme='http://www.blogger.com/atom/ns#' term='monetise'/><category scheme='http://www.blogger.com/atom/ns#' term='Adsense'/><title type='text'>Google ADs Heat Map</title><content type='html'>Interesting information on Ad placements&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following links are useful&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Google Links&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.google.com/adsense/support/bin/answer.py?hl=en&amp;amp;answer=17954"&gt;General Placements&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.google.com/adsense/support/bin/answer.py?answer=43868"&gt;Forum Placements&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.google.com/adsense/support/bin/answer.py?answer=43869"&gt;Blog Placements&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Others&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.vaughns-1-pagers.com/internet/google-heatmap-2.htm"&gt;Heat Map Revisited at Vaughns&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.eyetools.net/eyetools_research/2005/03/eyetracking_goo.html"&gt;Eye Tools View&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-4440918984142374767?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4440918984142374767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4440918984142374767'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_12_01_archive.html#4440918984142374767' title='Google ADs Heat Map'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-7107616100296974631</id><published>2008-06-12T10:15:00.001-07:00</published><updated>2008-06-12T10:19:45.097-07:00</updated><title type='text'>Useful Marketing Sites</title><content type='html'>Useful Internet Marketing Information Sites&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Signing up for their newsletters are worth it&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Read Write Web&lt;/li&gt;&lt;li&gt;&lt;a href="http://adage.com/"&gt;Ad Age&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Silicon Alley&lt;/li&gt;&lt;li&gt;I Media Connection&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.emarketer.com/"&gt;E-Marketer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Others&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Biz Report&lt;/li&gt;&lt;li&gt;SiteProNews&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-7107616100296974631?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7107616100296974631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7107616100296974631'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_06_01_archive.html#7107616100296974631' title='Useful Marketing Sites'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-4789497700726410143</id><published>2008-06-12T10:07:00.000-07:00</published><updated>2008-06-12T10:10:17.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monetise'/><category scheme='http://www.blogger.com/atom/ns#' term='Youtube'/><title type='text'>YouTube: You Created the Content, Now Sell the Ads</title><content type='html'>Google, Looking to Monetize Video Site, Is Letting Content Producers Sell Advertising on Their Branded Channels&lt;div&gt; &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;Google has struggled to find the best way to monetize YouTube. The latest idea: Let content creators sell ads.&lt;br /&gt;&lt;br /&gt;Professional content producers -- those who come equipped with their own ad-sales teams -- are now able to sell advertising on their YouTube channels. That includes the click-to-expand overlays that run across the bottoms of YouTube videos and display units on the page that hosts the video player. The revenue is split between the content creator and YouTube, just as it would be if YouTube sold the ads.&lt;/blockquote&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/6602211-4789497700726410143?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://adage.com/digital/article?article_id=127619' title='YouTube: You Created the Content, Now Sell the Ads'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4789497700726410143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4789497700726410143'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_06_01_archive.html#4789497700726410143' title='YouTube: You Created the Content, Now Sell the Ads'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-3727758605606910768</id><published>2008-06-11T17:00:00.000-07:00</published><updated>2008-06-11T17:05:55.498-07:00</updated><title type='text'>Javascript event handling</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre; "&gt;http://mislav.caboo.se/js/handling-events-on-elements/&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;feed://feeds.feedburner.com/mislav/js&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;feed://www.advancescripts.com/rss/786.html&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://cssglobe.com/post/1539/css-dos-and-donts-part-1-css-selecting&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://cssglobe.com/post/1539/css-dos-and-donts-part-1-css-selecting&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://mislav.caboo.se/js/&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3727758605606910768?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3727758605606910768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3727758605606910768'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_06_01_archive.html#3727758605606910768' title='Javascript event handling'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-3831943260810035300</id><published>2008-05-24T21:48:00.000-07:00</published><updated>2008-05-24T21:51:14.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Mysql TIps</title><content type='html'>Multiple inserts&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre; "&gt;http://www.petefreitag.com/item/379.cfm&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;Insert Delayed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://www.petefreitag.com/item/430.cfm&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;Optimisation tips&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://www.petefreitag.com/item/613.cfm&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;More tips&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://www.petefreitag.com/item/455.cfm - Cheat sheets&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://www.petefreitag.com/item/505.cfm - Apache Security&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3831943260810035300?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3831943260810035300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3831943260810035300'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_05_01_archive.html#3831943260810035300' title='Mysql TIps'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-4593701903209922602</id><published>2008-05-22T10:09:00.000-07:00</published><updated>2008-05-22T10:16:10.389-07:00</updated><title type='text'>Copyright Issues</title><content type='html'>Every now and then someone is going to steal your content. What are you going to do?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are some useful links into the problem &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre; "&gt;http://lorelle.wordpress.com/2006/04/10/what-do-you-do-when-someone-steals-your-content/&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://lorelle.wordpress.com/2006/04/11/finding-stolen-content-and-copyright-infringements/&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://www.cs.cmu.edu/~dst/Terrorism/form-letter.html&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://diveintomark.org/archives/2003/05/01/my_first_ceaseanddesist_letter&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://www.webtechniques.com/archives/2001/05/legal/&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 12px; white-space: pre;"&gt;http://www.webmastertechniques.com/Insight/cease.html&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-4593701903209922602?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4593701903209922602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4593701903209922602'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_05_01_archive.html#4593701903209922602' title='Copyright Issues'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-8743003750393661702</id><published>2008-04-07T08:01:00.000-07:00</published><updated>2008-04-07T08:08:39.184-07:00</updated><title type='text'>SSL on Apache2</title><content type='html'>Here is guide and information on setting up SSL on Apache 2.  The articles are very informative.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.securityfocus.com/infocus/1818"&gt;http://www.securityfocus.com/infocus/1818&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.securityfocus.com/infocus/1820"&gt;http://www.securityfocus.com/infocus/1820&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.securityfocus.com/infocus/1823"&gt;http://www.securityfocus.com/infocus/1823&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-8743003750393661702?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8743003750393661702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8743003750393661702'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_04_01_archive.html#8743003750393661702' title='SSL on Apache2'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-684679430168300362</id><published>2008-03-20T04:35:00.001-07:00</published><updated>2008-03-20T04:43:22.547-07:00</updated><title type='text'>No to Google Ad Manager?</title><content type='html'>A few days ago, Google  launched an Ad Manager for free. This came a few days after the deal to acquire DoubleClick, the largest display Ad Network on the Web.&lt;br /&gt;&lt;br /&gt;Here are my reasons for not liking this move.&lt;br /&gt;&lt;br /&gt;1. Google already has Adwords, Adsense(we love), Analytics, Base and Gmail( you now have to have a Gmail account)&lt;br /&gt;2. With all of the above, Google already knows enough about you.&lt;br /&gt;3. With the Ad Manager with its reporting capacity  Google will now know your CPM rates and how other ads perform on your site, does Google need to know your CPM rates.&lt;br /&gt;&lt;br /&gt;Will this infomation drive down your revenue or up?&lt;br /&gt;&lt;br /&gt;There was an interesting post on the Open X blog.&lt;br /&gt;http://blog.openx.org/03/why-should-ad-serving-be-open/&lt;br /&gt;&lt;br /&gt;n.b. This Blogging Platform is also owned by Google&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-684679430168300362?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/684679430168300362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/684679430168300362'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_03_01_archive.html#684679430168300362' title='No to Google Ad Manager?'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-6630515514723136229</id><published>2008-02-26T13:51:00.000-08:00</published><updated>2008-02-26T14:40:05.679-08:00</updated><title type='text'>Google Adsense Terms and Conditions updated</title><content type='html'>Google has updated its terms and conditions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;New Products and Services&lt;/span&gt;&lt;br /&gt;1. Changes are coming to products and services Google officers. Here is an interesting line, "anticipating, for example, that future products may be priced, paid, or managed differently than current ones."&lt;br /&gt;&lt;br /&gt;2. Publishers will have up the 3 months, i.e. by May 25, 2008 to agree to the new terms and conditions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Privacy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Publishers will have to be transparent. Publishers will have to post and abide by a privacy policy. So if you do not have a privacy policy on your site,  you need to post one.&lt;br /&gt;&lt;br /&gt;You need to notify your users/visitors that data is being collected with the use of cookies and or web beacons to facilitate the ad serving process.&lt;br /&gt;&lt;br /&gt;There are many other changes so it is time get reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-6630515514723136229?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://adsense.blogspot.com/2008/02/updated-terms-and-conditions.html' title='Google Adsense Terms and Conditions updated'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6630515514723136229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6630515514723136229'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_02_01_archive.html#6630515514723136229' title='Google Adsense Terms and Conditions updated'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-7523024869458713698</id><published>2008-01-22T04:02:00.000-08:00</published><updated>2008-01-22T04:13:34.971-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monetise'/><category scheme='http://www.blogger.com/atom/ns#' term='Adsense'/><title type='text'>Simple but Effective - US $10 million a year</title><content type='html'>&lt;div&gt;Here is a guy that has proved that simple is often very effective. His simply designed site, graphically that is, earns close to US $10 million, mostly if not all from Google Adsense&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Mr. Frind built the Plenty of Fish Web site in 2003 as nothing more than an exercise to help teach himself a new programming language, ASP.NET. The site first became popular among English-speaking Canadians. Popularity among online daters in many United States cities followed more recently, and with minimal spending on advertising the site. According to data from comScore Media Metrix for November 2007, Plenty of Fish had 1.4 million unique visitors in the United States. In December, Mr. Frind said, the site served up 1.2 billion page views, and page views have soared 20 percent since Dec. 26." - From the NY Times article.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.nytimes.com/2008/01/13/business/13digi.html?_r=1&amp;amp;ref=technology&amp;amp;oref=slogin"&gt;NY Times Article&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://online.wsj.com/article/SB117987775136211487.html"&gt;Wall Street Article&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-7523024869458713698?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7523024869458713698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7523024869458713698'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_01_01_archive.html#7523024869458713698' title='Simple but Effective - US $10 million a year'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-5970329277392195009</id><published>2008-01-13T18:17:00.000-08:00</published><updated>2008-02-20T05:55:41.202-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monetise'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><title type='text'>Monetise RSS Feeds</title><content type='html'>Useful Blogs&lt;br /&gt;&lt;br /&gt;http://www.doshdosh.com/monetize-rss-feed-advertising/&lt;br /&gt;http://www.scottgatz.com/blog/2005/11/17/monetizing-your-rss-feed/&lt;br /&gt;http://www.demc.com/marketing/article_167.shtml&lt;br /&gt;&lt;br /&gt;Networks&lt;br /&gt;&lt;br /&gt;http://www.feedburner.com/&lt;br /&gt;http://www.text-link-ads.com/&lt;br /&gt;http://www.pheedo.com/&lt;br /&gt;http://publisher.yahoo.com/&lt;br /&gt;http://kanoodle.com/&lt;br /&gt;http://www.mediafed.com/rss_reader.html&lt;br /&gt;http://www.adgenta.com/&lt;br /&gt;http://www.thankyoupages.com/publishers/rss.mpl&lt;br /&gt;http://www.bidvertiser.com&lt;br /&gt;&lt;br /&gt;www.emarketer.com&lt;br /&gt;http://www.masternewmedia.org/podcast_directory/&lt;br /&gt;http://www.masternewmedia.org/rss&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-5970329277392195009?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5970329277392195009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5970329277392195009'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2008_01_01_archive.html#5970329277392195009' title='Monetise RSS Feeds'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-8794823145495943619</id><published>2007-12-20T06:27:00.001-08:00</published><updated>2008-01-13T10:28:01.748-08:00</updated><title type='text'>Bookmarking and Feed Widgets</title><content type='html'>Here is a selection of bookmarking and feed widgets you can place on your site&lt;br /&gt;&lt;br /&gt;AddThis http://www.addthis.com&lt;br /&gt;Shareomatic http://shareomatic.com/&lt;br /&gt;FeedPass http://www.feedpass.com/&lt;br /&gt;addtoany http://www.addtoany.com/&lt;br /&gt;&lt;br /&gt;These widgets are gather rather interesting data&lt;br /&gt;read http://www.techcrunch.com/2007/03/05/addthis-widget-gathering-lots-of-interesting-data/&lt;br /&gt;http://datamining.typepad.com/data_mining/2007/03/addthis_the_met.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-8794823145495943619?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8794823145495943619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8794823145495943619'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_12_01_archive.html#8794823145495943619' title='Bookmarking and Feed Widgets'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-6278629658913876572</id><published>2007-12-16T08:51:00.000-08:00</published><updated>2007-12-16T08:58:09.543-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adsense'/><title type='text'>Google Adds Ad Review</title><content type='html'>Google has finally step up to the table where other advertisers have been gathered and will has begun to allow certain advertisers to review the ads being placed on their site.&lt;br /&gt;&lt;br /&gt;This is a most welcomed move.  You can read more at at the &lt;a href="http://adsense.blogspot.com/2007/12/introducing-ad-review-center.html"&gt;Google Adsense Blog on Ad Reivew&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-6278629658913876572?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://adsense.blogspot.com/2007/12/introducing-ad-review-center.html' title='Google Adds Ad Review'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6278629658913876572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6278629658913876572'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_12_01_archive.html#6278629658913876572' title='Google Adds Ad Review'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-3382752343469395858</id><published>2007-11-18T10:40:00.000-08:00</published><updated>2007-11-18T10:43:22.757-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adsense'/><title type='text'>Google is dealing with Accidental Clicks</title><content type='html'>Google is moving to reduce accidental clicks.&lt;br /&gt;&lt;br /&gt;This post post explains it well &lt;a href="http://blogoscoped.com/archive/2007-11-13-n42.html"&gt;http://blogoscoped.com/archive/2007-11-13-n42.html&lt;/a&gt; but you can read it at &lt;a href="http://adsense.blogspot.com/2007/11/accidental-clicks-fade-into-background.html"&gt;Google Adsense Blog&lt;/a&gt;. This could mean decrease in revenue for some. Despite that I think it is a fair change as it gives the advertisers better value for their money. I am not sure why it was not like this from before. &lt;br /&gt;&lt;br /&gt;Happy advertisers are likely to keep on advertising. This quote from the the article sums it up. It says, "By reducing accidental clicks, we hope to increase advertiser campaign value and satisfaction, encouraging additional spend and facilitating higher monetization for all publishers."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3382752343469395858?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://adsense.blogspot.com/2007/11/accidental-clicks-fade-into-background.html' title='Google is dealing with Accidental Clicks'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3382752343469395858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3382752343469395858'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_11_01_archive.html#3382752343469395858' title='Google is dealing with Accidental Clicks'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-2976532280333102328</id><published>2007-10-26T07:32:00.000-07:00</published><updated>2008-03-12T05:43:33.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='monetise'/><title type='text'>wordpress and mobile</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Wordpress Mobile Plugin&lt;/span&gt;&lt;br /&gt;http://www.andymoore.info/wordpress-mobile-plugin/ - best&lt;br /&gt;&lt;br /&gt;http://lesterchan.net/wordpress/readme/wp-wap.html&lt;br /&gt;http://lesterchan.net/portfolio/programming.php&lt;br /&gt;http://wordpress.org/extend/plugins/wphone&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Monetise&lt;/span&gt;&lt;br /&gt;http://www.admob.com/s/home/publish&lt;br /&gt;http://google.com/adsense&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Directing&lt;/span&gt;&lt;br /&gt;http://www.andymoore.info/php-to-detect-mobile-phones/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Emulators&lt;/span&gt;&lt;br /&gt;http://ready.mobi/launch.jsp&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Documentation&lt;/span&gt;&lt;br /&gt;http://www.w3.org/TR/mobile-bp/#OneWeb&lt;br /&gt;http://dev.mobi/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Usage&lt;/span&gt;&lt;br /&gt;http://www.admob.com/s/home/live&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-2976532280333102328?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2976532280333102328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2976532280333102328'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_10_01_archive.html#2976532280333102328' title='wordpress and mobile'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-3763604882167306845</id><published>2007-10-25T11:30:00.000-07:00</published><updated>2008-02-20T05:55:17.920-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Analytics'/><title type='text'>Web analytics</title><content type='html'>Web analytics&lt;br /&gt;http://www.clicktracks.com/product.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.webtrends.com/Resources/WebAnalyticsGlossary.aspx&lt;br /&gt;http://www.webtrends.com/Resources/WhitepapersAndGuides.aspx&lt;br /&gt;http://www.iab.net/standards/richmedia.asp&lt;br /&gt;http://www.iab.net/standards/uap/analysis.asp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3763604882167306845?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3763604882167306845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3763604882167306845'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_10_01_archive.html#3763604882167306845' title='Web analytics'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-7956735357630667831</id><published>2007-10-20T12:28:00.000-07:00</published><updated>2008-01-13T18:27:08.625-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Advertising'/><title type='text'>Ad Networks &amp; Google alternatives</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Set up your own ad network&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;http://www.adify.com/&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;http://www.adspeed.com/&lt;br /&gt;&lt;br /&gt;http://www.masternewmedia.org/online-advertising/online-ad-networks/online-advertising-networks-guide-20070219.htm&lt;br /&gt;&lt;br /&gt;http://www.imediaconnection.com/resourceconnection/adnetwork.asp&lt;br /&gt;http://www.clickz.com/showPage.html?page=3355051 (old)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD Networks&lt;/span&gt;&lt;br /&gt;http://www.addynamix.com/publishers.html&lt;br /&gt;http://adtegrity.com/&lt;br /&gt;http://zedo.com&lt;br /&gt;http://valueclick.com&lt;br /&gt;http://tribalfusion.com&lt;br /&gt;http://advertising.com&lt;br /&gt;http://kontera.com&lt;br /&gt;http://chitika.com&lt;br /&gt;http://widgetbucks.com&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;google alternatives&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://labnol.blogspot.com/2007/01/adsense-alternatives-when-google-bans.html&lt;br /&gt;http://forums.digitalpoint.com/showthread.php?t=100059&amp;amp;highlight=google+kontera&amp;amp;page=2&lt;br /&gt;http://www.joelcomm.com/kontera.html&lt;br /&gt;http://groups.google.com/group/adsense-help-basics/browse_thread/thread/5a6e637bf3d039/26abaa3677357e91?lnk=gst&amp;amp;q=&lt;br /&gt;http://affiliate.business-opportunities.biz/2006/02/28/39-google-adsense-alternatives/&lt;br /&gt;http://affiliate.business-opportunities.biz/2006/02/28/39-google-adsense-alternatives/&lt;br /&gt;http://netprofitstoday.com/_resources/google-adsense-alternatives.html#claxon&lt;br /&gt;http://www.rosswalker.co.uk/adsense_alternatives/#ClickThruTraffic&lt;br /&gt;http://www.publisherspot.com/reviews/adtoll&lt;br /&gt;http://www.adsense-alternatives.info/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-7956735357630667831?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7956735357630667831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7956735357630667831'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_10_01_archive.html#7956735357630667831' title='Ad Networks &amp; Google alternatives'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-513587130229302179</id><published>2007-10-10T11:22:00.000-07:00</published><updated>2007-10-10T11:23:53.133-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monetise'/><category scheme='http://www.blogger.com/atom/ns#' term='Adsense'/><category scheme='http://www.blogger.com/atom/ns#' term='Youtube'/><title type='text'>YouTube and Adsence</title><content type='html'>The Google Adsense blog has announced the launch of Video Units. Thisi a new way to enrich your site with quality, relevant YouTube videos embedded with Adsense Advertising.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Relevant Links&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;http://adsense.blogspot.com/2007/10/introducing-video-units.html&lt;/li&gt;&lt;li&gt;https://www.google.com/adsense/support/bin/topic.py?topic=12182&amp;amp;sourceid=aso&amp;amp;subid=us-en-et_faqvublogannounce&amp;amp;medium=link&lt;/li&gt;&lt;/ol&gt;Video units will be live in AdSense accounts later today (10/9). Currently this feature is open only to publishers located in the United States with English-language websites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-513587130229302179?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/513587130229302179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/513587130229302179'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_10_01_archive.html#513587130229302179' title='YouTube and Adsence'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-3267000316759719933</id><published>2007-08-16T15:43:00.000-07:00</published><updated>2008-02-20T05:55:12.174-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Advertising'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Analytics'/><title type='text'>Web Traffic Comparison</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Web Traffic Comparison&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://www.alexa.com/&lt;br /&gt;http://www.compete.com/&lt;br /&gt;http://www.ranking.com/&lt;br /&gt;http://www.feedburner.com/fb/a/home&lt;br /&gt;http://www.quantcast.com/&lt;br /&gt;&lt;br /&gt;http://www.antezeta.com/web-analytics/web-statistics-suppliers.html#WS18&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ad &amp;amp; Affliate Networks&lt;/span&gt;&lt;br /&gt;http://www.cpxinteractive.com/sign_up.php&lt;br /&gt;http://www.casalemedia.com/&lt;br /&gt;http://www.adtegrity.com/&lt;br /&gt;http://www.oridian.com/&lt;br /&gt;http://www.text-link-ads.com/&lt;br /&gt;http://www.cpxinteractive.com&lt;br /&gt;http://www.tradedoubler.com&lt;br /&gt;http://www.cj.com&lt;br /&gt;http://www.webgains.com/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Interesting Tools&lt;/span&gt;&lt;br /&gt;http://synergy2.sourceforge.net/about.html&lt;br /&gt;http://www.mattcutts.com/blog/page/3/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3267000316759719933?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3267000316759719933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3267000316759719933'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_08_01_archive.html#3267000316759719933' title='Web Traffic Comparison'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-3953890005740950952</id><published>2007-08-01T15:19:00.000-07:00</published><updated>2007-08-01T16:07:33.617-07:00</updated><title type='text'>I insert data in to multiple tables in MySql</title><content type='html'>I saw this question on Techjamaica forum and noted it. Interesting question and interesting answer.&lt;br /&gt;&lt;br /&gt;Basically here is the question. Can I insert data in to multiple tables in MySQL using one insert SQL statement?&lt;br /&gt;&lt;br /&gt;Seems like the answer is no&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Can I you insert data multiple times into the same table with one statement too.&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="font-style: italic;"&gt;INSERT INTO employees VALUES&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(DEFAULT,'Hicks','Freddy','crew'),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(DEFAULT,'Harris','Joel','crew'),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(DEFAULT,'Davis','Julie','manager');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Examples taken from:&lt;br /&gt;http://www.tizag.com/sqlTutorial/sqlinsert.php&lt;br /&gt;http://www.desilva.biz/mysql/insert.html&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3953890005740950952?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3953890005740950952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3953890005740950952'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_08_01_archive.html#3953890005740950952' title='I insert data in to multiple tables in MySql'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-6173446176006432218</id><published>2007-07-24T05:08:00.001-07:00</published><updated>2007-10-10T11:22:06.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monetise'/><category scheme='http://www.blogger.com/atom/ns#' term='Youtube'/><title type='text'>You Tube</title><content type='html'>Now that you are posting your videos and YouTube ensure that you benefit as much as YouTube(Google) does.&lt;br /&gt;&lt;br /&gt;Here are three sites and great tips&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://webloghits.com/index.php/tips-and-techniques/how-to-increase-blog-traffic-with-youtube/"&gt;How to  increase blog traffic with Youtube&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pronetadvertising.com/articles/using-youtube-to-drive-traffic-to-your-site.html"&gt;Using Youtube to drive Traffic to your site&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://superbloggingtips.com/2007/07/75-ways-to-increase-your-sites-traffic/"&gt;75 Ways to increase to Sales Traffic&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;My List&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ensure you are the first two subscribers.&lt;/li&gt;&lt;li&gt;URl at the beginning of the description&lt;br /&gt;e.g Jamaica-elections.com: This is&lt;/li&gt;&lt;li&gt;RSS feed promote&lt;br /&gt;http://youtube.com/rssls&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-6173446176006432218?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6173446176006432218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6173446176006432218'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_07_01_archive.html#6173446176006432218' title='You Tube'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-5717944050053378920</id><published>2007-07-23T15:43:00.000-07:00</published><updated>2007-07-23T15:56:03.784-07:00</updated><title type='text'>FireFox Add ons Anyone</title><content type='html'>FireFox Add ons&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;http://webworkerdaily.com/2007/07/20/6-firefox-extensions-for-web-workers/&lt;/li&gt;&lt;li&gt;http://nicht.untergeord.net/wordpress/index.php/2007/07/22/8-firefox-add-ons-every-web-developer-should-know-about/&lt;/li&gt;&lt;li&gt;http://zia.blogspot.com/2007/07/7-months-later-15-firefox-extensions-i.html&lt;/li&gt;&lt;/ul&gt;What are your top 5 firefox add-ons/extensions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-5717944050053378920?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5717944050053378920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5717944050053378920'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_07_01_archive.html#5717944050053378920' title='FireFox Add ons Anyone'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-6365293232033453455</id><published>2007-06-29T06:08:00.001-07:00</published><updated>2007-06-29T06:08:56.131-07:00</updated><title type='text'>color schemes</title><content type='html'>Color&lt;br /&gt;------------&lt;br /&gt;http://www.colorsontheweb.com/colorschemes.asp?search=&amp;amp;category=Corporate&lt;br /&gt;http://www.colorschemer.com/&lt;br /&gt;http://www.articleinsider.com/article/229290&lt;br /&gt;http://www.colorschemer.com/galleria_info.php&lt;br /&gt;http://colorschemer.com/schemes/?start=331&lt;br /&gt;http://www.webwhirlers.com/colors/colorschemes.asp&lt;br /&gt;http://dianev.com/web-design-help/web_design_basics/color.html&lt;br /&gt;http://dianev.com/web-design-help/web_design_basics/website_color_schemes.html&lt;br /&gt;http://www.smashingmagazine.com/category/color/&lt;br /&gt;&lt;br /&gt;examples&lt;br /&gt;----------------&lt;br /&gt;http://www.aviva.com/&lt;br /&gt;http://www.norwichunion.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-6365293232033453455?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6365293232033453455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/6365293232033453455'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_06_01_archive.html#6365293232033453455' title='color schemes'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-4970846075196361546</id><published>2007-05-31T16:44:00.000-07:00</published><updated>2008-03-12T07:30:52.317-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'></title><content type='html'>&lt;a href="http://mobile.ups.com/" target="_blank"&gt;http://mobile.ups.com&lt;/a&gt;&lt;br /&gt;pda.sky.com&lt;br /&gt;bbc.co.uk/mobile&lt;br /&gt;mobile.wunderground.com&lt;br /&gt;pdaportal.com&lt;br /&gt;pdahomepage.com&lt;br /&gt;&lt;a href="http://www.purelymobile.co.uk/" target="_blank"&gt;http://www.purelymobile.co.uk/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Google &lt;/strong&gt;(http://www.google.com/m/products)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Yahoo Messenger&lt;/strong&gt; (http://mm.yahoo.com)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;News.com&lt;/strong&gt; (http://m.news.com)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;CNET Mobile&lt;/strong&gt; (http://m.cnet.com)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Weather.com&lt;/strong&gt; (http://palm.xhtml.weather.com/xhtml/)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Digg &lt;/strong&gt;(http://mobits.com/digg/)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Reuters &lt;/strong&gt;(http://mobile.reuters.com/)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;New York Times &lt;/strong&gt;(http://mobile.nytimes.com/)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Business Week&lt;/strong&gt; (http://pda.businessweek.com/index.html)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Dictionary.com&lt;/strong&gt; (http://dictionary.com/wml/)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;StreetIQ podcasts&lt;/strong&gt; (http://m.streetiq.com/)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Amazon.com&lt;/strong&gt; (http://www.amazon.com/gp/aw/h.html)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Flickr &lt;/strong&gt;(http://m.flickr.com/)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;GameGeeks &lt;/strong&gt;(http://www.geek.com/gaming/portable/)&lt;/li&gt;&lt;/ul&gt;http://blogs.techrepublic.com.com/hiner/?p=487?tag=1-1-11-0-0&lt;br /&gt;&lt;br /&gt;http://www.mobidish.com/&lt;br /&gt;Adshandy.com&lt;br /&gt;http://www.enpocket.com/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://realplayer.com/blog/?pageid=broadBandHomePage&amp;amp;pageregion=footer&amp;amp;src=realhome_bb_0_3_1_0_0_1_0&amp;amp;pcode=rn&amp;amp;opage=realhome_bb&lt;br /&gt;http://archives.neohapsis.com/archives/fulldisclosure/2008-03/0157.html&lt;br /&gt;http://www.download.com/8301-2007_4-9890945-12.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-4970846075196361546?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4970846075196361546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4970846075196361546'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_05_01_archive.html#4970846075196361546' title=''/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-2488522640499538450</id><published>2007-05-22T04:24:00.000-07:00</published><updated>2007-05-22T04:59:33.127-07:00</updated><title type='text'>Mysql Group By</title><content type='html'>More on Group By, Having, in your SELECT queries&lt;br /&gt;http://www.databasejournal.com/features/mysql/article.php/3469351&lt;br /&gt;http://rpbouman.blogspot.com/2007/05/debunking-group-by-myths.html&lt;br /&gt;&lt;br /&gt;http://www.mysql.com/news-and-events/newsletter/2003-06/a0000000190.html&lt;br /&gt;&lt;br /&gt;MYSQL Documentation&lt;br /&gt;http://dev.mysql.com/doc/refman/4.1/en/select.html&lt;br /&gt;last comment very useful&lt;br /&gt;http://dev.mysql.com/doc/refman/4.1/en/group-by-modifiers.html&lt;br /&gt;OPtimisations&lt;br /&gt;http://dev.mysql.com/doc/refman/4.1/en/select-speed.html&lt;br /&gt;http://dev.mysql.com/doc/refman/4.1/en/where-optimizations.html&lt;br /&gt;http://dev.mysql.com/doc/refman/4.1/en/query-cache-in-select.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-2488522640499538450?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2488522640499538450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2488522640499538450'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_05_01_archive.html#2488522640499538450' title='Mysql Group By'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-8898392514920468993</id><published>2007-05-21T04:37:00.000-07:00</published><updated>2007-05-21T04:39:41.873-07:00</updated><title type='text'>String manipulation</title><content type='html'>proper case strings&lt;br /&gt;http://www.php.net/manual/en/function.strtoupper.php#68340&lt;br /&gt;http://www.sitepoint.com/blogs/2005/03/15/title-case-in-php/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-8898392514920468993?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8898392514920468993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/8898392514920468993'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_05_01_archive.html#8898392514920468993' title='String manipulation'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-4552261431388364314</id><published>2007-05-14T04:31:00.002-07:00</published><updated>2007-11-18T10:46:43.962-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Mobile Stuff</title><content type='html'>Mobile is back....&lt;br /&gt;&lt;br /&gt;General information&lt;br /&gt;&lt;br /&gt;http://forum.nokia.com/main/resources/technologies/browsing/support/xhtml_developer_faq.html&lt;br /&gt;http://forum.nokia.com/main/resources/technologies/browsing/support/xhtml_developer_faq.html#22&lt;br /&gt;http://developer.openwave.com/documentation/xhtml_mp_css_reference/xhtml-ref5.html&lt;br /&gt;http://philip.greenspun.com/seia/mobile/&lt;br /&gt;http://mobile.kaywa.com/wap/index.html&lt;br /&gt;&lt;br /&gt;http://mobile.yahoo.com/business/advertiser/demo&lt;br /&gt;http://chw.ariadne.mobi/tags/a.xhtml&lt;br /&gt;http://mobile.kaywa.com/wap/wap-wtai.html&lt;br /&gt;&lt;br /&gt;http://www.developershome.com/wap/wcss/&lt;br /&gt;http://www.developershome.com/wap/wapServerSetup/&lt;br /&gt;http://www.developershome.com/wap/xhtmlmp/&lt;br /&gt;http://www.developershome.com/wap/uaprofRef/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.w3.org/Mobile/planet&lt;br /&gt;http://www.w3.org/TR/mobileOK-basic10-tests/&lt;br /&gt;http://www.w3.org/TR/mobile-bp/&lt;br /&gt;http://validator.w3.org/mobile/&lt;br /&gt;http://www.w3.org/2006/12/digital_divide/public.html&lt;br /&gt;http://www.w3.org/Mobile/&lt;br /&gt;http://www.w3.org/2007/02/mwbp_flip_cards&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.w3.org/International/tutorials/tutorial-char-enc/&lt;br /&gt;http://www.w3.org/International/articles/serving-xhtml/Overview.en.php&lt;br /&gt;http://www.w3.org/International/technique-index&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.stopdesign.com/log/2004/12/16/small-screens.html&lt;br /&gt;http://studiohyperset.wordpress.com/2006/10/06/detecting-and-automatically-redirecting-website-visitors-who-visit-a-standard-webpage-website-on-mobile-handheld-wireless-pda-or-cel-cell-phone-devices-browsers-to-a-mobile-version-of-the-webpage-or-w/&lt;br /&gt;http://www.studiohyperset.com/resources/redirect.zip&lt;br /&gt;&lt;br /&gt;tutorials&lt;br /&gt;http://www.xml.com/pub/a/2004/04/14/mobile.html&lt;br /&gt;http://www.xml.com/lpt/a/1398&lt;br /&gt;http://www.oreillynet.com/pub/a/wireless/2004/02/06/mobile_browsing.html&lt;br /&gt;http://www.oreillynet.com/pub/a/wireless/2004/02/20/mobile_browsing.html&lt;br /&gt;http://www.littlespringsdesign.com/design/styleguides/&lt;br /&gt;http://www.passani.it/gap/&lt;br /&gt;&lt;br /&gt;detection&lt;br /&gt;http://www.passani.it/switcher/&lt;br /&gt;http://wurfl.sourceforge.net/php/index.php&lt;br /&gt;&lt;br /&gt;validators&lt;br /&gt;http://www.w3.org/2001/03/webdata/xsv&lt;br /&gt;http://www.w3.org/QA/Tools/#validators&lt;br /&gt;http://pc.mtld.mobi/&lt;br /&gt;http://www.dan.co.uk/viewsource/&lt;br /&gt;&lt;br /&gt;emulators&lt;br /&gt;http://emulator.mtld.mobi/emulator.php&lt;br /&gt;http://www.operamini.com/demo/?url=[URL]&lt;br /&gt;http://www.operamini.com/demo/&lt;br /&gt;&lt;br /&gt;tools kits&lt;br /&gt;http://pc.dev.mobi/node/123&lt;br /&gt;http://developer.openwave.com/dvl/member/downloadManager.htm?softwareId=23&lt;br /&gt;http://www.forum.nokia.com/info/sw.nokia.com/id/db2c69a2-4066-46ff-81c4-caac8872a7c5/NMB40_install.zip.html&lt;br /&gt;http://pc.dev.mobi/node/223&lt;br /&gt;http://pc.dev.mobi/user/register&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-4552261431388364314?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4552261431388364314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/4552261431388364314'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_05_01_archive.html#4552261431388364314' title='Mobile Stuff'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-7161387235695619808</id><published>2007-05-14T04:31:00.001-07:00</published><updated>2007-05-14T04:31:23.626-07:00</updated><title type='text'>Google Gadgets</title><content type='html'>http://www.google.com/apis/gadgets/basic.html&lt;br /&gt;http://www.google.com/apis/gadgets/remote-content.html#Fetch_JSON&lt;br /&gt;http://www.google.com/apis/gadgets/reference.html#Userprefs_Ref&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-7161387235695619808?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7161387235695619808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7161387235695619808'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_05_01_archive.html#7161387235695619808' title='Google Gadgets'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-9007817918870290577</id><published>2007-05-14T04:30:00.000-07:00</published><updated>2007-06-18T09:42:21.091-07:00</updated><title type='text'>More Character Issues</title><content type='html'>Mysql&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orthogonalthought.com/blog/index.php/2007/05/mysql-database-migration-and-special-characters/"&gt;Mysql dump and character issues&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PHP&lt;br /&gt;&lt;br /&gt;http://www.php.net/htmlspecialchars&lt;br /&gt;http://www.php.net/manual/en/function.htmlentities.php&lt;br /&gt;http://www.php.net/manual/en/function.html-entity-decode.php&lt;br /&gt;&lt;br /&gt;http://www.dragonwinds.com/resources/html-codes.shtml&lt;br /&gt;http://www.htmlhelp.com/reference/html40/entities/latin1.html&lt;br /&gt;http://www.w3.org/TR/html401/sgml/entities.html&lt;br /&gt;http://www.icemelon.com/php/htmlentities.htm&lt;br /&gt;http://www.icemelon.com/tutorials.php?id=3&amp;/PHP/Generate%20RSS%20Feeds/&lt;br /&gt;http://feedvalidator.org/&lt;br /&gt;&lt;br /&gt;https://htmlentities.dev.java.net/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; character set&lt;/span&gt;&lt;br /&gt;A character set determines which characters are allowed within a document.   A restrictive character set only allows certain types of characters. For example,   a restrictive character set may only allow uppercase characters, and as its   name suggests, a broad character set allows many characters. For example, a   broad character set may include Arabic characters.&lt;br /&gt;read more at http://www.developerfusion.co.uk/show/3802/5/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-9007817918870290577?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/9007817918870290577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/9007817918870290577'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_05_01_archive.html#9007817918870290577' title='More Character Issues'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-7341424678548985789</id><published>2007-05-01T09:51:00.001-07:00</published><updated>2007-05-01T09:51:48.724-07:00</updated><title type='text'>Banner design Tips</title><content type='html'>Banner tips from&lt;br /&gt;&lt;br /&gt;http://www.siteprocentral.com/lessons/0082.html&lt;br /&gt;http://www.businessknowhow.com/marketing/bannertips.htm&lt;br /&gt;http://www.clickz.com/showPage.html?page=829391&lt;br /&gt;http://www.microsoft.com/australia/smallbusiness/themes/marketing/10_tips_for_creating_an_effective_banner_ad_campaign.mspx&lt;br /&gt;http://developers.evrsoft.com/articles/p_10_effective_ways_to_boost_banner_click_through.shtml&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-7341424678548985789?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7341424678548985789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/7341424678548985789'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_05_01_archive.html#7341424678548985789' title='Banner design Tips'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-2529232512290646778</id><published>2007-04-05T14:49:00.000-07:00</published><updated>2007-04-28T05:15:48.283-07:00</updated><title type='text'>PHP E-mail Injections</title><content type='html'>Sending mail from a web page using a php script is easy, but can be dangerous  if not done right.&lt;br /&gt;&lt;br /&gt;http://php.net/manual/en/ref.mail.php&lt;br /&gt;http://php.net/manual/en/function.mail.php&lt;br /&gt;&lt;br /&gt;Useful guides and tips in securing PHP e-mail script&lt;br /&gt;http://www.tutorialtastic.co.uk/page/php_mail_form_secure_and_protected&lt;br /&gt;http://www.nyphp.org/phundamentals/email_header_injection.php&lt;br /&gt;http://www.securephpwiki.com/index.php/Email_Injection&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-2529232512290646778?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2529232512290646778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/2529232512290646778'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_04_01_archive.html#2529232512290646778' title='PHP E-mail Injections'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-1189256626208533051</id><published>2007-03-05T04:52:00.001-08:00</published><updated>2007-05-07T16:51:46.648-07:00</updated><title type='text'>Useful Links</title><content type='html'>http://www.shoemoney.com/page/5/&lt;br /&gt;http://www.pronetadvertising.com/&lt;br /&gt;http://www.calacanis.com/&lt;br /&gt;http://www.downloadsquad.com/&lt;br /&gt;http://searchengineland.com/&lt;br /&gt;http://www.dnscoop.com/&lt;br /&gt;&lt;br /&gt;Dynamic Add html&lt;br /&gt;http://javascript.internet.com/forms/adding-html-controls.html&lt;br /&gt;http://www.dustindiaz.com/add-and-remove-html-elements-dynamically-with-javascript/&lt;br /&gt;http://www.madirish.net/?article=141&lt;br /&gt;http://www.thescripts.com/forum/thread90303.html&lt;br /&gt;http://www.faqts.com/knowledge_base/view.phtml/aid/1785&lt;br /&gt;http://www.java-scripts.net/javascripts/Dynamic-Fields.phtml&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;WYSIWYG&lt;br /&gt;http://www.openwebware.com/products/openwysiwyg/&lt;br /&gt;&lt;br /&gt;Form Tricks&lt;br /&gt;http://www.dynamicdrive.com/dynamicindex11/selectform.htm&lt;br /&gt;http://www.dynamicdrive.com/dynamicindex16/maxlength.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ajax simple example&lt;br /&gt;http://www.edouble-u.nl/testcases/autocomplete/index.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.webcheatsheet.com/index.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-1189256626208533051?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/1189256626208533051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/1189256626208533051'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_03_01_archive.html#1189256626208533051' title='Useful Links'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-3672500349471505834</id><published>2007-02-20T15:44:00.002-08:00</published><updated>2007-02-21T10:23:25.380-08:00</updated><title type='text'>Html Special characters</title><content type='html'>Everynow and then you need to know how to deal with some pesky little characters like copyright [&amp;copy;] and registered [ &amp;reg;]&lt;br /&gt;&lt;br /&gt;http://www.shopfitter.com/html-special-characters.htm&lt;br /&gt;http://www.chami.com/tips/Internet/050798I.html&lt;br /&gt;http://www.degraeve.com/reference/specialcharacters.php&lt;br /&gt;http://www.utexas.edu/learn/html/spchar.html&lt;br /&gt;http://www.w3.org/TR/html401/sgml/entities.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-3672500349471505834?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3672500349471505834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/3672500349471505834'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_02_01_archive.html#3672500349471505834' title='Html Special characters'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-5086234559227112577</id><published>2007-01-23T17:30:00.001-08:00</published><updated>2007-01-23T17:41:43.578-08:00</updated><title type='text'>Robots.txt  and Search Engines</title><content type='html'>It is not sexy but it useful.  The robots.txt is suppose to tell robots/bots/crawlers where they can crawl on a web site. The robots.txt must be placed in the root folder.  The Robot Exclusion Standard (RES) is a proposed proposed that has never been agreed on.  However,  the respectable search engines on the web voluntarily follow it with extensions. There are however reported cases when they allegedly fail to comply with instructions in the robots.txt&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Key points&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;# indicate that any follow it is a comment&lt;/li&gt;&lt;li&gt;* - wild card meaning everything&lt;/li&gt;&lt;li&gt;User-agent - The name of the robot/bot/spider/crawler&lt;/li&gt;&lt;li&gt;Disallow:     -  Allow access to all of site&lt;/li&gt;&lt;li&gt;Disallow: /  - Disallow access to all of site&lt;/li&gt;&lt;li&gt;Disallow: /images/ - do not crawl the images folder&lt;/li&gt;&lt;li&gt;Disallow: /folder/filename.html - do not crawl filename.html in folder&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Sample File&lt;br /&gt;----------------------------------------------------&lt;br /&gt;&lt;blockquote&gt;# pervent access of all user agents to the follow folders&lt;br /&gt;User-agent: *&lt;br /&gt;Disallow: /cgi-bin/&lt;br /&gt;Disallow: /images/&lt;br /&gt;&lt;br /&gt;# Specific intructions for specific user-agents&lt;br /&gt;User-agent: msnbot&lt;br /&gt;Disallow: /cgi-bin/&lt;br /&gt;Disallow: /images/&lt;br /&gt;Crawl-delay: 10&lt;br /&gt;&lt;br /&gt;User-agent: Teoma&lt;br /&gt;Disallow: /cgi-bin/&lt;br /&gt;Disallow: /images/&lt;br /&gt;Crawl-delay: 10&lt;br /&gt;&lt;br /&gt;User-agent: Slurp&lt;br /&gt;Disallow: /cgi-bin/&lt;br /&gt;Disallow: /images/&lt;br /&gt;Crawl-delay: 10&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Allow: and Crawl-delay:  are not part of the standard but supported by MSN and Yahoo&lt;br /&gt;&lt;br /&gt;Information on what, why and how see&lt;br /&gt;&lt;a href="http://www.robotstxt.org/wc/faq.html"&gt;http://www.robotstxt.org/wc/faq.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What the Big Three plus one say&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;ASK&lt;br /&gt;&lt;a href="http://about.ask.com/en/docs/about/webmasters.shtml"&gt; http://about.ask.com/en/docs/about/webmasters.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yahoo&lt;br /&gt;&lt;a href="http://help.yahoo.com/help/us/ysearch/slurp/slurp-02.html"&gt; http://help.yahoo.com/help/us/ysearch/slurp/slurp-02.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using the robots.txt analysis tool&lt;br /&gt;&lt;a href="http://www.google.com/support/webmasters/bin/topic.py?topic=8475"&gt; http://www.google.com/support/webmasters/bin/topic.py?topic=8475&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MSN&lt;br /&gt;&lt;a href="http://search.msn.com.sg/docs/siteowner.aspx?t=SEARCH_WEBMASTER_REF_RestrictAccessToSite.htm"&gt; http://search.msn.com.sg/docs/siteowner.aspx?t=SEARCH_WEBMASTER_REF_RestrictAccessToSite.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tougher action&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;see:&lt;br /&gt;&lt;br /&gt;Using .htaccess for site control&lt;br /&gt;http://linuxreviews.org/webdesign/htaccess/&lt;br /&gt;&lt;br /&gt;How to keep bad robots, spiders and web crawlers away&lt;br /&gt;http://www.fleiner.com/bots/&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;robots.txt generator&lt;br /&gt;http://www.mcanerin.com/EN/search-engine/robots-txt.asp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.outfront.net/tutorials_02/adv_tech/robots.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-5086234559227112577?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5086234559227112577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/5086234559227112577'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_01_01_archive.html#5086234559227112577' title='Robots.txt  and Search Engines'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-116863757223167037</id><published>2007-01-12T13:30:00.000-08:00</published><updated>2007-01-12T13:50:25.883-08:00</updated><title type='text'>PHP coding guidelines</title><content type='html'>We don't like guidelines but they are good.&lt;br /&gt;&lt;br /&gt;Below are 3 useful links on PHP coding guidelines&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.buxaprojects.com/en/php_coding_guidelines.htm"&gt;http://www.buxaprojects.com/en/php_coding_guidelines.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://framework.zend.com/manual/en/coding-standard.html"&gt;http://framework.zend.com/manual/en/coding-standard.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.evolt.org/article/PHP_coding_guidelines/18/60247/"&gt;http://www.evolt.org/article/PHP_coding_guidelines/18/60247/&lt;/a&gt;&lt;a href="http://www.evolt.org/article/PHP_coding_guidelines/18/60247/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-116863757223167037?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/116863757223167037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/116863757223167037'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2007_01_01_archive.html#116863757223167037' title='PHP coding guidelines'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-116078270668098186</id><published>2006-10-13T16:37:00.000-07:00</published><updated>2006-10-13T16:38:26.700-07:00</updated><title type='text'>The 6 C's Of Marketing Unleashed</title><content type='html'>Interesting from   &lt;a href="http://entireweb.com"&gt;Entireweb&lt;/a&gt; Newsletter * October 12, 2006 * ISSUE #274    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The 6 C's Of Marketing Unleashed &lt;/span&gt;&lt;br /&gt;Okay, so we have all learned about the 4P's of marketing in undergrad: Product, Place, Price and Promotion. If not, you can open up one of your old marketing text books, blow off the dust and read about it there. The 6 C's, however, is a not a concept that replaces the 4 P's; rather, it just expands on the promotion element and provides a more granular approach to consumer marketing.&lt;br /&gt;CUSTOMER:&lt;br /&gt;In this day and age, a company's marketing strategy needs to be customer focused. It's about understanding the target consumer; their wants, needs and motivations. Not as demographics, psychographics or any other graphics, but as real people. Its understanding why customers do what they do (or don't do),when they do it and why they do it. Such knowledge is critical in marketing since having a strong understanding of buyer behavior will help shed light on what is important to the customer. It's about focusing on the target customer first and then working back to the brand. It's imperative that companies have mindshare before focusing on market share.&lt;br /&gt;CONSISTENCY:&lt;br /&gt;Companies need to maintain consistency in their message; a practice called integrated marketing communications - from packaging and advertising to sales promotion and publicity. This will maintain and reinforce a brand's personality and image in a real life context and avoid doing something brainless like changing the distinctive color of the UPS truck to orange. I am sure it's been talked about.&lt;br /&gt;CREATIVITY:&lt;br /&gt;Creativity is imperative to attract attention in a world cluttered with thousands of messages. Creativity means laying aside the rules, and engages in out-of-box thinking so that marketers can reach beyond logic and structure and tap into their imaginations.&lt;br /&gt;* Creativity Informs: Marketing's responsibility to inform is greatly enhanced by creativity. Creativity makes marketing more vivid, and many researchers believe vividness attracts attention, maintains interest, and stimulates consumers' thinking.&lt;br /&gt;* Creativity Persuades: The ancients Greeks created legends and myths about gods and heroes -symbols for humankind's instinctive longings and fears - to influence human behavior and thought. Today's marketers are doing the same thing; they are creating new myths, heroes and symbols like Ronald McDonald, the "Can You Hear Me Now" guy from Verizon, and more recently the Gecko from Geico Insurance.&lt;br /&gt;* Creativity Reminds: Imagine using the same invitation, without any creativity, to remind people to try a particular product everyday for a month. The invitation would become stale very quickly. Only creativity can transform boring reminders into interesting, entertaining marketing communications. Nike is proof. Several commercials in a Nike campaign never mention the company name or even spelled it out on the screen. Each communication told a story. And, the only on-screen cue identifying the sponsor was a single "swoosh" logo inscribed on the final scene.&lt;br /&gt;CULTURE:&lt;br /&gt;All marketing communications needs cross-cultural research to be able to succeed. It's simple to see things from your own perspective, assuming that everyone else in the world thinks exactly like you and should understand what's so great about your product or service. Just reading about all the mistakes made by large corporations proves that even the most sizable and experienced marketers have made errors time and again.&lt;br /&gt;One of the most famous examples is Coca Cola translating the name into Chinese without back-translating it ("bite the wax tadpole"), ultimately resulting in a horrible response from an insulted society. Marketing books are full of examples like these. As David Ogilvy, known as the Father of Advertising, states, "If you are trying to persuade people to do something, or buy something, it seems to me you should use their language, the language in which they think".&lt;br /&gt;COMMUNICATION:&lt;br /&gt;This one is basic. Consumers don't want to be "marketed to". Rather, they want to be "communicated with". Good marketing communication creates value with target customers, speaks in their language and tells your story. It's about building long term, trustworthy, and profitable relationships with your customers. As Seth Godin states, it's about reinforcing the lies that consumers tell themselves everyday (i.e. I look much better in these jeans from Abercrombie; they make me look sexy).&lt;br /&gt;CHANGE:&lt;br /&gt;Marketing is not just a business function, but a process. There is a beginning, middle, but there is never an end. Marketers must constantly CHANGE as society changes. They should never be afraid to try something new. Marketing today is not what it was 2 - 5 - or even 20 years ago. Marketing needs to be an evolving process that considers change in the world, economy, market, consumers; as well as internal change within the organization.&lt;br /&gt;Conclusion (not the 7th C)&lt;br /&gt;So there it is; the 6 C's of marketing - Customer, Consistency - Creativity - Culture - Communication and Change. I am sure that these will be published in every text book in the country within the next ten years and I will be a rich, well known author. Yeah right!&lt;br /&gt;To read more about new, emerging marketing strategies, please visit our internet marketing blog. Michael Brito specializes in online marketing and offers web site positioning strategy services for small businesses.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-116078270668098186?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/116078270668098186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/116078270668098186'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_10_01_archive.html#116078270668098186' title='The 6 C&apos;s Of Marketing Unleashed'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-116024764055401400</id><published>2006-10-07T11:59:00.000-07:00</published><updated>2006-10-07T12:00:40.566-07:00</updated><title type='text'>MS WORD CLEANER</title><content type='html'>Ms word Cleaner&lt;br /&gt;http://tiffanybbrown.com/2006/03/21/mswordtohtml_document_cleaner/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-116024764055401400?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/116024764055401400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/116024764055401400'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_10_01_archive.html#116024764055401400' title='MS WORD CLEANER'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-115886029661966555</id><published>2006-09-21T10:24:00.000-07:00</published><updated>2007-05-22T04:15:02.640-07:00</updated><title type='text'>Mysql Error s</title><content type='html'>Handling mysql errors&lt;br /&gt;http://www.planetmysql.org/entries/4067&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-115886029661966555?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.planetmysql.org/entries/4067' title='Mysql Error s'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115886029661966555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115886029661966555'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_09_01_archive.html#115886029661966555' title='Mysql Error s'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-115876236368991916</id><published>2006-09-20T07:06:00.000-07:00</published><updated>2006-09-20T07:30:37.440-07:00</updated><title type='text'>mysql_db_query deprecated</title><content type='html'>When you are not programming/scripting alot lots of things pass you by.&lt;br /&gt;&lt;br /&gt;PHP since 4.06 has deprecated this function mysql_db_query, that actually I used a lot.  Now I like this function as in one function, I pass the database name, the SQL query and the connection resource link which is optional&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;resource &lt;/span&gt;&lt;b style="font-style: italic;" class="methodname"&gt;mysql_db_query&lt;/b&gt;&lt;span style="font-style: italic;"&gt; ( string database, string query [, resource link_identifier] )&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Instead they are now asking that we do the following. Two things that could be done in one&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;mysql_select_db()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;bool &lt;/span&gt;&lt;b style="font-style: italic;" class="methodname"&gt;mysql_select_db&lt;/b&gt;&lt;span style="font-style: italic;"&gt; ( string database_name [, resource link_identifier] )&lt;/span&gt;&lt;br /&gt;mysql_query()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;resource &lt;/span&gt;&lt;b style="font-style: italic;" class="methodname"&gt;mysql_query&lt;/b&gt;&lt;span style="font-style: italic;"&gt; ( string query [, resource link_identifier] )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The  advantage I see is that you can actually check to see if the database is present before doing the query.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if ( ! &lt;b class="methodname"&gt;mysql_select_db&lt;/b&gt; (database )){&lt;br /&gt;   echo "database not found";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;All three functions have been available since PHP 3.&lt;br /&gt;&lt;br /&gt;snippet of how things change.&lt;br /&gt;&lt;blockquote&gt;Config File&lt;br /&gt;------------------&lt;br /&gt;$dbuser="aaaa";&lt;br /&gt;$dbpass="bbbb";&lt;br /&gt;$dbhost="cccc:3308";&lt;br /&gt;$db="dddd";&lt;br /&gt;&lt;br /&gt;$dblink=mysql_connect($dbhost,$dbuser,$dbpass)or die("you have an error connecting your database");&lt;br /&gt;mysql_select_db($db,$dblink);&lt;br /&gt;/*&lt;br /&gt;mysql_select_db($db);; // is ok as the resource link is optional. Function will look for last open resource&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Query&lt;br /&gt;----------&lt;br /&gt;$query ="SELECT * FROM TABLENAME";&lt;br /&gt;mysql_query($query,$dblink);&lt;br /&gt;/*&lt;br /&gt;mysql_query($query); // is ok as the resource link is optional&lt;br /&gt;*/&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;instead of&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Config File&lt;br /&gt;------------------&lt;br /&gt;$dbuser="aaaa";&lt;br /&gt;$dbpass="bbbb";&lt;br /&gt;$dbhost="cccc:3308";&lt;br /&gt;$db="dddd";&lt;br /&gt;&lt;br /&gt;$dblink=mysql_connect($dbhost,$dbuser,$dbpass)or die("you have an error connecting your database");&lt;br /&gt;/* or&lt;br /&gt;mysql_connect($dbhost,$dbuser,$dbpass)or die("you have an error connecting your database");&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;Query&lt;br /&gt;----------&lt;br /&gt;$query ="SELECT * FROM TABLENAME";&lt;br /&gt;mysql_db_query($db,$query,$dblink);&lt;br /&gt;/*&lt;br /&gt;or&lt;br /&gt;mysql_db_query($db,$query);&lt;br /&gt;*/ &lt;/blockquote&gt;Few extra lines and it is worth it. I will start doing things this way now&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://www.php.net/manual/en/function.mysql-db-query.php"&gt;mysql-db-query.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.php.net/manual/en/function.mysql-select-db.php"&gt;mysql-select-db.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.php.net/manual/en/function.mysql-query.php"&gt;mysql-query.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-115876236368991916?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115876236368991916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115876236368991916'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_09_01_archive.html#115876236368991916' title='mysql_db_query deprecated'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-115801774778941627</id><published>2006-09-11T16:34:00.000-07:00</published><updated>2008-02-20T05:56:27.667-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Analytics'/><title type='text'>Hitwise views</title><content type='html'>http://weblogs.hitwise.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-115801774778941627?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115801774778941627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115801774778941627'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_09_01_archive.html#115801774778941627' title='Hitwise views'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-115757179019884495</id><published>2006-09-06T12:39:00.000-07:00</published><updated>2006-09-06T12:43:10.213-07:00</updated><title type='text'>Centering a Div  [Browsers and Quirks]</title><content type='html'>use tips on DIV model...&lt;br /&gt;http://tutorials.alsacreations.com/modeles/&lt;br /&gt;http://tutorials.alsacreations.com/centrer/&lt;br /&gt;http://www.andybudd.com/archives/2004/02/css_crib_sheet_3_centering_a_div/index.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-115757179019884495?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115757179019884495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115757179019884495'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_09_01_archive.html#115757179019884495' title='Centering a Div  [Browsers and Quirks]'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-115694560097132588</id><published>2006-08-30T06:38:00.000-07:00</published><updated>2006-09-03T07:41:31.926-07:00</updated><title type='text'>.jm to be no longer free.</title><content type='html'>The Mona Information Technology Services (MITS) Department of the University of West Indies (UWI) has decided to charge for .jm domains.&lt;br /&gt;&lt;br /&gt;I am happy for this so long as it results in better service, including quicker turnaround time. However I find this statement in the article puzzling.&lt;br /&gt;&lt;br /&gt;"The charge for .jm would remain competitive with international rates, as low as US$35 ($2,310) per year, said Samuels."&lt;br /&gt;&lt;br /&gt;Internationally the highest rates are US$35 per year in most jurisdictions while costs can be as low as US$2 per year, if not less.&lt;br /&gt;&lt;br /&gt;I would like some clarification on this.&lt;br /&gt;&lt;br /&gt;There is another statement that is also interesting, although I am not sure they can actually do it what it says. The actual statement of interest is "analysing 'hits' to a given website". The full statement is below.&lt;br /&gt;&lt;br /&gt;"Besides registering and administering all .jm domain names, MITS also conducts website research including domain name searches and analysing 'hits' to a given website."&lt;br /&gt;&lt;br /&gt;Again clarification on this would be good. Privacy invasion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-115694560097132588?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jamaica-gleaner.com/gleaner/20060827/business/business3.html' title='.jm to be no longer free.'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115694560097132588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115694560097132588'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_08_01_archive.html#115694560097132588' title='.jm to be no longer free.'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-115643578242035435</id><published>2006-08-24T09:02:00.000-07:00</published><updated>2006-08-24T09:09:42.420-07:00</updated><title type='text'>Minimum Character length and MySQL Full Text</title><content type='html'>Every now and then you come across some nusiance&lt;br /&gt;&lt;br /&gt;Mysql Full Text search is lovely but it has some weaknesses. One of which is its Minimum Character length requiremnet.&lt;br /&gt;&lt;br /&gt;Happily,  the fix is fairly easy if you have access to the .cnf file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Changing the Minimum Character length&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. check what .ini/.cnf  your mysql is reading&lt;br /&gt;2. change your my.ini/.cnf like this:&lt;br /&gt;[mysqld]&lt;br /&gt;ft_min_word_len=3&lt;br /&gt;ft_stopword_file="C:\\MySQL\\stop.txt"&lt;br /&gt;3. restart your mysqld&lt;br /&gt;4. reindex your table using REPAIR TABLE tbl_name QUICK;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Useful Resources&lt;/span&gt;&lt;br /&gt;http://dev.mysql.com/doc/refman/4.1/en/fulltext-query-expansion.html&lt;br /&gt;http://dev.mysql.com/doc/refman/4.1/en/fulltext-search.html&lt;br /&gt;http://mysql.com/doc/refman/5.0/en/fulltext-search.html&lt;br /&gt;http://dev.mysql.com/tech-resources/articles/full-text-revealed.html&lt;br /&gt;&lt;br /&gt;OThers&lt;br /&gt;http://jeremy.zawodny.com/blog/archives/000576.html&lt;br /&gt;http://mysql.com/doc/refman/5.0/en/fulltext-stopwords.html&lt;br /&gt;http://www.onlamp.com/pub/a/onlamp/2003/06/26/fulltext.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-115643578242035435?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115643578242035435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/115643578242035435'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2006_08_01_archive.html#115643578242035435' title='Minimum Character length and MySQL Full Text'/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6602211.post-107895835964535784</id><published>2004-03-10T14:39:00.000-08:00</published><updated>2004-03-10T14:42:28.326-08:00</updated><title type='text'></title><content type='html'>The Beginnning. I am doing this the second time round. Let see&lt;br /&gt;&lt;br /&gt;I hope it works&lt;br /&gt;&lt;br /&gt;Later&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6602211-107895835964535784?l=roleli2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/107895835964535784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6602211/posts/default/107895835964535784'/><link rel='alternate' type='text/html' href='http://roleli2.blogspot.com/2004_03_01_archive.html#107895835964535784' title=''/><author><name>roleli</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
