<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jeez Tech &#187; PHP</title>
	<atom:link href="http://jeez.eu/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeez.eu</link>
	<description>Jeez Aggressive Technology</description>
	<lastBuildDate>Mon, 24 May 2010 13:41:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='jeez.eu' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Using APIs With PHP? Here Are Your Classes</title>
		<link>http://jeez.eu/2009/11/23/using-apis-with-php-here-are-your-classes/</link>
		<comments>http://jeez.eu/2009/11/23/using-apis-with-php-here-are-your-classes/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 19:04:13 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Services]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=883</guid>
		<description><![CDATA[Do you want to use an API but you are too lazy to write your own code to [...]]]></description>
			<content:encoded><![CDATA[<p>Do you want to use an API but you are too lazy to write your own code to handle the requests? If you code in PHP as I do, then you will definitely need these classes. By using the classes listed here you will be able of using a great number of web services with an easy and documented way.</p>
<h3><a title="PEAR Web Services" rel="nofollow" href="http://pear.php.net/packages.php?catpid=23&amp;catname=Web+Services" target="_blank">PEAR</a></h3>
<p>We couldn&#8217;t write a post about PHP classes without PEAR. PEAR  stands for &#8220;PHP Extension and Application Repository&#8221; and the Web Services category is the place to get ready made classes for:</p>
<ul>
<li>Akismet</li>
<li>Amazon</li>
<li>Blogging</li>
<li>Compete</li>
<li>Delicious</li>
<li>Digg</li>
<li>eBay</li>
<li>Facebook</li>
<li>Google</li>
<li>Twitter</li>
<li>Yahoo</li>
<li>Youtube</li>
</ul>
<p>and many more.</p>
<p>Even though PEAR is a great resource for web services related classes, sometimes you might want to use another class that doesn&#8217;t rely on PEAR to do the job or a more sophisticated one. The list that follows has PHP classes for different web services.</p>
<h3>Alexa</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/4749.html" target="_blank">Alexa Web Information Service</a></li>
<li><a rel="nofollow" href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=402&amp;categoryID=34" target="_blank">Example Use of Web Information</a></li>
<li><a rel="nofollow" href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=407&amp;categoryID=32" target="_blank">Example Use of Topsites</a></li>
</ul>
<h3>Amazon</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/642.html" target="_blank">Amazon API</a></li>
</ul>
<h3>Babelfish</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/2383.html" target="_blank">Babelfish Translator</a></li>
</ul>
<h3>Bit.ly</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5151.html" target="_blank">Bit.ly URL Shortening Service PHP library</a></li>
</ul>
<h3>Bing</h3>
<ul>
<li><a rel="nofollow" href="http://www.softpedia.com/get/Programming/Other-Programming-Files/Bing-API-PHP.shtml" target="_blank">Bing API 1.1</a></li>
<li><a rel="nofollow" href="http://routecafe.com/posts/bing-api-php.moccha" target="_blank">Mocha Bing API</a></li>
<li><a rel="nofollow" href="http://bingapiphp.codeplex.com/" target="_blank">Bing API on codeplex</a></li>
</ul>
<h3>DeviantArt</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5498.html" target="_blank">Retrieve Gallery Images</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5005.html" target="_blank">Feed Parser</a></li>
</ul>
<h3>Digg</h3>
<ul>
<li> <a rel="nofollow" href="http://www.rawseo.com/news/2009/05/06/how-to-use-the-digg-api/" target="_blank">Digg API Class</a></li>
</ul>
<h3>Drop.io</h3>
<ul>
<li><a rel="nofollow" href="http://github.com/dropio/dropio-php" target="_blank">Drop.io PHP Class</a></li>
</ul>
<h3>eBay</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/4970.html" target="_blank">eBay Data Retrieval</a></li>
</ul>
<h3>Facebook</h3>
<ul>
<li><a rel="nofollow" href="http://www.phpclasses.org/browse/package/4977.html" target="_blank">Facebook Notification Class</a></li>
<li><a rel="nofollow" href="http://www.stylephp.com/2009/03/20/a-php-class-for-facebook-application-developer/" target="_blank">Facebook Application Developer</a></li>
<li><a rel="nofollow" href="http://wiki.developers.facebook.com/index.php/PHP" target="_blank">Facebook Official PHP Class</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5642.html" target="_blank">Inbox Handler</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5685.html" target="_blank">Open Inviter</a></li>
</ul>
<h3>Feeds</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/2976.html" target="_blank">Feed Validator</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/2582.html" target="_blank">Feedburner</a></li>
</ul>
<h3>Flickr</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/2584.html" target="_blank">Flickr API</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/3123.html" target="_blank">Flickr Parser</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5573.html" target="_blank">Flickr Wrapper</a></li>
<li><a rel="nofollow" href="http://phpflickr.com/" target="_blank">phpFlickr</a></li>
</ul>
<h3>FriendFeed</h3>
<ul>
<li><a rel="nofollow" href="http://friendfeed-api.googlecode.com/files/friendfeed-api-v1.tar.gz" target="_blank">FriendFeed API</a> (Deprecated. Libs for PHP use the v1 API)</li>
</ul>
<h3>Google</h3>
<ul>
<li><a rel="nofollow" href="http://framework.zend.com/download/gdata" target="_blank">Zend Google Data APIs</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5802.html" target="_blank">Charts</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5729.html" target="_blank">Calendar</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/2602.html" target="_blank">Maps</a></li>
</ul>
<h3>Gravatar</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/4227.html" target="_blank">Gravatar API</a></li>
</ul>
<h3>ICQ</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/3843.html" target="_blank">ICQ Checker</a></li>
</ul>
<h3>Last.fm</h3>
<ul>
<li><a rel="nofollow" href="http://www.matto1990.com/projects/phplastfmapi/" target="_blank">PHP Last.fm API</a></li>
<li><a rel="nofollow" href="http://lastfm.felixbruns.de/php-last.fm-api/" target="_blank">Felix Brun&#8217;s PHP Lib</a></li>
</ul>
<h3>LinkedIn</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/4107.html" target="_blank">LinkmeIn</a></li>
</ul>
<h3>MSN</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/3841.html" target="_blank">MSN Checker</a></li>
</ul>
<h3>Prowl</h3>
<ul>
<li><a rel="nofollow" href="http://github.com/Fenric/ProwlPHP/tree/master" target="_blank">Prowl</a></li>
</ul>
<h3>reCAPTCHA</h3>
<ul>
<li><a rel="nofollow" href="http://recaptcha.googlecode.com/files/recaptcha-php-1.10.zip" target="_blank">reCaptcha PHP Library</a></li>
</ul>
<h3>Skype</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/3842.html" target="_blank">Skype Checker</a></li>
</ul>
<h3>Twitter</h3>
<ul>
<li><a title="Twitter PHP class" rel="nofollow" href="http://twitter.slawcup.com/twitter.class.phps" target="_blank">Twitter PHP Class</a></li>
<li><a title="php-twitter" rel="nofollow" href="http://code.google.com/p/php-twitter/" target="_blank">php-twitter</a></li>
<li><a rel="nofollow" href="http://www.phpclasses.org/browse/package/4075.html" target="_blank">My Twitter</a></li>
<li><a rel="nofollow" href="http://github.com/jdp/twitterlibphp" target="_blank">TwitterLib</a></li>
<li><a rel="nofollow" href="http://lab.arc90.com/2008/06/03/php-twitter-api-client/" target="_blank">Twitter Client</a></li>
<li><a rel="nofollow" href="http://www.haughin.com/code/twitter/" target="_blank">CodeIgniter Twitter Lib</a></li>
<li><a rel="nofollow" href="http://github.com/jmathai/twitter-async" target="_blank">Twitter Async</a></li>
</ul>
<h3>Various Networks</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/5438.html" target="_blank">Contacts Importer from email accounts</a></li>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/4927.html" target="_blank">Open Inviter</a></li>
</ul>
<h3>Yahoo</h3>
<ul>
<li><a rel="nofollow" href="http://phpclasses.evecorp.tk/browse/package/4279.html" target="_blank">Messenger</a></li>
<li><a rel="nofollow" href="http://github.com/yahoo/yos-social-php/zipball/master" target="_blank">Social APIs PHP SDK</a></li>
</ul>
<img src="http://jeez.eu/?ak_action=api_record_view&id=883&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F11%2F23%2Fusing-apis-with-php-here-are-your-classes%2F&amp;linkname=Using%20APIs%20With%20PHP%3F%20Here%20Are%20Your%20Classes"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/11/23/using-apis-with-php-here-are-your-classes/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Content Management Systems Without The Need Of A Database</title>
		<link>http://jeez.eu/2009/11/07/content-management-systems-without-the-need-of-a-database/</link>
		<comments>http://jeez.eu/2009/11/07/content-management-systems-without-the-need-of-a-database/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 19:54:01 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Developing]]></category>
		<category><![CDATA[Flat Files]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=781</guid>
		<description><![CDATA[Yesterday, there was a post in my favorite forum, asking for a very simple cms that needed no [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, there was a post in my favorite forum, asking for a very simple cms that needed no database to operate and to be able to run on a very old server that supports an old PHP version. Personally, I don&#8217;t use flat file CMSs but maybe some people be in need for one. So, i compiled this list in order to help anyone searching for database-less content management systems.</p>
<h3><a title="LotusCMS" rel="nofollow" href="http://www.lotuscms.org/" target="_blank">LotusCMS</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/11/lotuscms.png" rel="lightbox[781]"><img class="alignnone size-large wp-image-782" title="lotuscms" src="http://jeez.eu/wp-content/uploads/2009/11/lotuscms-600x321.png" alt="lotuscms" width="600" height="321" /></a></p>
<p>LotusCMS, previously named as ArboroianCMS is a clean and easy to learn cms. It features templates for both frontend and backend, WYSIWYG editor (TinyMCE), files management and basic editing of pages and menu. The admin panel lucks some speed though.</p>
<h3><a title="Pivot" rel="nofollow" href="http://www.pivotlog.net/" target="_blank">Pivot</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/11/pivot.png" rel="lightbox[781]"><img class="alignnone size-large wp-image-783" title="pivot" src="http://jeez.eu/wp-content/uploads/2009/11/pivot-600x343.png" alt="pivot" width="600" height="343" /></a></p>
<p>Pivot is a full featured cms with focus on weblogs and journal sites. You can create many blogs that have their own urls, entries and settings from the admin interface and manage pingbacks, feeds and many aspects of the blog. There are also available extensions and themes for you to use. Pivot supports more than 30 languages and allows you to customize your blog from top to toe. Definitely suggested for advanced users but might scare amateurs.</p>
<h3><a title="SkyBlueCanvas" rel="nofollow" href="http://www.skybluecanvas.com/" target="_blank">SkyBlueCanvas</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/11/skybluecanvas.png" rel="lightbox[781]"><img class="alignnone size-large wp-image-784" title="skybluecanvas" src="http://jeez.eu/wp-content/uploads/2009/11/skybluecanvas-600x403.png" alt="skybluecanvas" width="600" height="403" /></a></p>
<p>SkyBlueCanvas is not just another choice for a database-less cms. This is a state of the art CMS that I also suggest as well. It uses 2 WYSIWYG editors (wymeditor and TinyMCE) in the default download package, it allows you to totally customize your site and every aspect of a page. For example you can set the metadata of a page, choose if you want this page to be included in the feed and set a page as a child of another page. You can also set the page to load to a specific module or all of the modules. There are ready templates and modules to download from the main site and use for free.</p>
<h3><a title="pluck" rel="nofollow" href="http://www.pluck-cms.org/" target="_blank">pluck</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/11/pluck.png" rel="lightbox[781]"><img class="alignnone size-large wp-image-785" title="pluck" src="http://jeez.eu/wp-content/uploads/2009/11/pluck-600x350.png" alt="pluck" width="600" height="350" /></a></p>
<p>Pluck, is one of the easiest systems around. It supports a lot of languages and you will learn to use it in minutes. There are some ready to use modules and you can build your own assuming you have a good knowledge of PHP. You can manage files and images through the Albums module and set the way each module is displayed and where. Pluck also provides a trash bin where you can keep your deleted pages and content in case you need to restore them. TinyMCE is also used here.</p>
<h3><a title="CuteNews" rel="nofollow" href="http://cutephp.com" target="_blank">CuteNews</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/11/cutenews.png" rel="lightbox[781]"><img class="alignnone size-large wp-image-786" title="cutenews" src="http://jeez.eu/wp-content/uploads/2009/11/cutenews-600x221.png" alt="cutenews" width="600" height="221" /></a></p>
<p>CuteNews is one of the most popular flat file CMS out there despite it&#8217;s difficult to understand philosophy. There are a lot of customizations that can be made to deliver original designs and functionality. CuteNews requires you to register the CMS in order to remove the &#8220;powered by&#8221; lines.</p>
<h3><a title="LightNEasy" rel="nofollow" href="http://lightneasy.org" target="_blank">LightNEasy</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/11/lightneasy.jpg" rel="lightbox[781]"><img class="alignnone size-large wp-image-787" title="lightneasy" src="http://jeez.eu/wp-content/uploads/2009/11/lightneasy-600x367.jpg" alt="lightneasy" width="600" height="367" /></a></p>
<p>LightNEasy comes in 2 flavors. One that uses SQLite and one that uses files to store it&#8217;s data. It produces static HTML or PHP files that make it extremely fast to deliver content. It uses a type of in-line editing with FCKEditor and everything is managed through a simple panel that appears when you click the &#8220;tools&#8221; icon. I would recommend this to anyone that wants a CMS which produces static files.</p>
<h3><a title="FlatPress" rel="nofollow" href="http://www.flatpress.org" target="_blank">FlatPress</a></h3>
<h3><a href="http://jeez.eu/wp-content/uploads/2009/11/flatpress.png" rel="lightbox[781]"><img class="alignnone size-large wp-image-788" title="flatpress" src="http://jeez.eu/wp-content/uploads/2009/11/flatpress-600x513.png" alt="flatpress" width="600" height="513" /></a></h3>
<p>Reminds you of something? Yes, FlatPress is what Wordpress is but for the &#8220;flat files&#8221; world. It uses Smarty for templating, it supports plugins and widgets which can be positioned in a drag n drop style and allows you to add them on the number of bars (like sidebars on WP) available from your template. It uses a BBCode editor and can produce human friendly URLs too. Great tool and also suggested!!</p>
<h3>Other CMS</h3>
<p>Some other CMS that come into my mind are:</p>
<ul>
<li><a title="Just Another Flat File CMS" rel="nofollow" href="http://jaf-cms.sourceforge.net" target="_blank">JAF CMS</a></li>
<li><a title="CMSimple" rel="nofollow" href="http://www.cmsimple.com" target="_blank">CMSimple</a></li>
<li><a title="Skeleton" rel="nofollow" href="http://greg-j.com/skeleton-flat-file-cms/" target="_blank">Skeleton</a></li>
</ul>
<p><a title="PageLime" rel="nofollow" href="http://www.pagelime.com/" target="_blank">PageLime</a> is a hosted sollution that some of you can also use.</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=781&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F11%2F07%2Fcontent-management-systems-without-the-need-of-a-database%2F&amp;linkname=Content%20Management%20Systems%20Without%20The%20Need%20Of%20A%20Database"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/11/07/content-management-systems-without-the-need-of-a-database/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>PHP Certifications. Where, Why And, How To Get Them</title>
		<link>http://jeez.eu/2009/10/17/php-certifications-where-why-and-how-to-get-them/</link>
		<comments>http://jeez.eu/2009/10/17/php-certifications-where-why-and-how-to-get-them/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 16:10:04 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Certifications]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=619</guid>
		<description><![CDATA[Becoming a certified PHP developer, does not mean that you become a better developer but, it can surely [...]]]></description>
			<content:encoded><![CDATA[<p>Becoming a certified PHP developer, does not mean that you become a better developer but, it can surely give you some more chances to get the job. We tried to do a little research about PHP certifications, where to get one, what it takes to get one and why you need it. We also tried to find some online tests for you in order to prepare yourself before you actually go for it.</p>
<h3>Where?</h3>
<p><a title="Zend" href="http://www.zend.com/" target="_blank"><strong>Zend</strong></a></p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/10/zendlogo.gif" rel="lightbox[619]"><img class="alignright size-full wp-image-620" title="zendlogo" src="http://jeez.eu/wp-content/uploads/2009/10/zendlogo.gif" alt="zendlogo" width="193" height="67" /></a>The industry&#8217;s standard can not be anything else than Zend&#8217;s Certification. Zend has been running the PHP certification program for more than 4 years and has certified nearly 5000 PHP developers. Actually, there is a contest running at the Zend site that will reward the 5000th certified developer with $5000. This is what they say:</p>
<blockquote><p>We are rapidly approaching the 5000 PHP Zend Certified Engineer and we would like to give the 5000th person to achieve this prestigious accomplishment a special gift of $5000 in Zend Training Units and if we reach this milestone before ZendCon09 – a free entry pass to the conference!</p></blockquote>
<p>There are <a title="PHP Certification Tools" href="http://shop.zend.com/en/php-certification.html" target="_blank">guides and online exams</a> that can help you prepare yourself to get the certification but you have to pay some money to get to them except the <a title="Zend Framework study guide" href="http://www.zend.com/en/community/downloads" target="_blank">Zend Framework Certification study guide</a> that comes free of charge.</p>
<p>There are 2 ways to get the certificate. The first one is by <a title="Purchase the exam" href="http://www.zend.com/storeapi/index/redirect/?uri=php-certification.html" target="_blank">purchasing the examination</a> from the Zend online store and the second one is by scheduling an exam with <a title="Arrange an exam" href="http://www.vue.com/zend" target="_blank">Pearson Vue</a>, the company with which Zend certifications are executed.</p>
<p>Upon certification, you are listed to the Zend Yellow Pages, where a lot of employers look into for PHP developers and you get special discounts on Zend PHP conferences worldwide.</p>
<p><a title="W3Schools" href="http://www.w3schools.com/" target="_blank"><strong>W3Schools</strong></a></p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/10/w3cert.gif" rel="lightbox[619]"><img class="alignright size-full wp-image-622" title="w3cert" src="http://jeez.eu/wp-content/uploads/2009/10/w3cert.gif" alt="w3cert" width="200" height="68" /></a>W3Schools has been a web development resource heaven for many years now. It is not luck that it is the first site to visit for most of people who want to learn web technologies and development. Recently, w3schools has been <a title="PHP Certification w3schools" href="http://www.w3schools.com/cert/cert_php.asp" target="_blank">rolling out a PHP certification</a> program. You can take the exam online and you should be supervised by a person that you select so, you have to choose a supervisor wisely in order to add credibility to your certificate. This does not add value to the certification though IMHO.</p>
<p>The examination consists of 70 multiple choice or true/false questions about PHP (it requires fundamental knowledge of SQL too) and you have 70&#8242; (minutes) to complete the test. To become certified, you have to have 75% of the questions answered correct and, if you get more than 95% you get an excellency degree. The service will inform you about your pass/fail status immediately after the end of the examination and if you have passed the exam, you will be sent a PHP developer certificate. Your supervisor should sign the certification which, you can use to prove your PHP knowledge. You can verify your certification online at a unique URL that the certificate points to.</p>
<p>The w3schools certification costs $75 and you can pay by Paypal or credit card.</p>
<p><a title="Brainbench" href="http://brainbench.com" target="_blank"><strong>Brainbench</strong></a></p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/10/bb.gif" rel="lightbox[619]"><img class="alignright size-full wp-image-623" title="bb" src="http://jeez.eu/wp-content/uploads/2009/10/bb.gif" alt="bb" width="174" height="50" /></a>Brainbench is dedicated to helping organizations use assessment science to predict employee success. Using the Brainbench assessment platform, companies improve hiring and retention, boost training success, enhance customer satisfaction, and increase profitability. One of the ways to do this, is by certifying several aspects of job criteria. Brainbench has tests for you to certify your knowledge for nearly anything from aerospace to programming and of course, for PHP.</p>
<p>You can take the <a title="Brainbench exam for PHP5" href="http://brainbench.com/xml/bb/common/testcenter/taketest.xml?testId=2523" target="_blank">examination</a> online for $49.95 .</p>
<p><a title="ExpertRating" href="http://expertrating.com" target="_blank"><strong>ExpertRating</strong></a></p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/10/hd03.gif" rel="lightbox[619]"><img class="alignright size-full wp-image-624" title="hd03" src="http://jeez.eu/wp-content/uploads/2009/10/hd03.gif" alt="hd03" width="237" height="96" /></a>ExpertRating is an ISO 9001:2000 company that offers hundreds of popular certifications and tests which are suitable for students, professionals, job seekers and companies.</p>
<p>ExpertRating tests consist of timed, multiple choice questions with one or more correct answer/s to each question. Each test covers basic to advanced questions on each topic. The test taker should keep in mind that the knowledge of applied skills gained through real work experience is emphasized rather than theoretical knowledge. For achieving certification the test taker must score at least 50% marks. Clearing the test with a score of 80% or more will be credited as a distinction and mentioned on the certificate of accomplishment.</p>
<p>To get PHP certified with ExpertRating, you have to pass a 40 multiple choice questions test. You have 45 minutes to answer all questions. The certificate costs $9.95</p>
<p><a title="O'REILLY" href="http://www.oreillyschool.com/certificates/php-sql-programming.php" target="_blank"><strong>OST</strong></a></p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/10/OST_Logo.gif" rel="lightbox[619]"><img class="alignright size-thumbnail wp-image-625" title="OST_Logo" src="http://jeez.eu/wp-content/uploads/2009/10/OST_Logo-150x30.gif" alt="OST_Logo" width="150" height="30" /></a>In OST&#8217;s unique online Learning Sandbox®, students have access to their own web programming and Unix shell-based database environments where they will apply new skills as they are presented by completing real-world projects.</p>
<p>Completion of the 4-course series earns students a Certificate of Professional Development from the University of Illinois Office of Continuing Education. All courses are certified by the University of Illinois Department of Computer Science, and students receive Continuing Education Credits upon completion of each course in the series.</p>
<p>The PHP/SQL Programming Certificate series is comprised of four courses covering beginning to advanced PHP programming, beginning to advanced database programming using the SQL language, database theory, and integrated Web 2.0 programming using PHP and SQL on the Unix/Linux MySQL platform.</p>
<p>The certificate costs $398</p>
<h3>What does it take?</h3>
<p>To become a certified PHP  developer, besides PHP knowledge, you might need to be aware of :</p>
<ul>
<li>HTML</li>
<li>SQL (MySQL most commonly)</li>
<li>Web administration</li>
<li>XML</li>
</ul>
<h3>Why?</h3>
<p>Because as stated on the top of this post, being a great PHP developer sometimes might not be enough. Sometimes, you have to prove your knowledge to an employer to get the job and, being a PHP certified developer is one great way. Employers from around the world can find you easier since, most of the times, your name will be listed as a PHP developer on pages associated with employers.</p>
<h3>OK I like it. Where do i start?</h3>
<p>Here is a good list of tests and quizzes to help you get accustomed with most of the exams above:</p>
<ul>
<li><a title="PHP Manual" href="http://php.net/docs.php" target="_blank">The Manual</a> &#8211; Needless to say that this is the best book to read</li>
<li><a title="PHP Quiz" href="http://www.w3schools.com/php/php_quiz.asp" target="_blank">PHP Quiz @ w3schools</a></li>
<li><a title="SQL Quiz" href="http://www.w3schools.com/sql/sql_quiz.asp" target="_blank">SQL Quiz @ w3schools</a></li>
<li><a title="Zend Certification info" href="http://www.slideshare.net/mahmudahsan/prepare-yourself-for-zend-certification-exam" target="_blank">Prepare for Zend Certificate</a> &#8211; A very useful slide-show about Zend Certification</li>
<li><a title="ben ramsey" href="http://benramsey.com/archives/passing-the-zend-php-certification-exam/" target="_blank">Passing the Zend Certification Exam </a>- A blog post from Ben Ramsey</li>
</ul>
<p>I hope this post is informative and that it will help you to get better job opportunities with PHP.</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=619&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F10%2F17%2Fphp-certifications-where-why-and-how-to-get-them%2F&amp;linkname=PHP%20Certifications.%20Where%2C%20Why%20And%2C%20How%20To%20Get%20Them"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/10/17/php-certifications-where-why-and-how-to-get-them/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using Bing&#8217;s API To Create A Custom Search Engine</title>
		<link>http://jeez.eu/2009/10/14/using-bings-api-to-create-a-custom-search-engine/</link>
		<comments>http://jeez.eu/2009/10/14/using-bings-api-to-create-a-custom-search-engine/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 15:44:38 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Bing]]></category>
		<category><![CDATA[Developing]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=586</guid>
		<description><![CDATA[Microsoft&#8217;s search engine Bing, is a getting more popular each day. Microsoft has released a REST API for [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft&#8217;s search engine Bing, is a getting more popular each day. Microsoft has released a REST API for Bing and we are going to use it to create a custom search engine. Before we go on coding, we need an API key from Bing. Normally you should be able to get one from <a title="Get an API key" href="http://www.bing.com/developers/appids.aspx" target="_blank">http://www.bing.com/developers/appids.aspx</a> but at the time this post was written, Bing&#8217;s site had some issues with most of it&#8217;s features. The issues should be fixed by the time you read this post though.</p>
<p>To get an API key, you have to click on &#8220;<strong>Create an AppId</strong>&#8221; link. If you are already logged in, then you will be presented with a screen requiring you to fill in some info about your application. The information needed is:</p>
<ul>
<li> Application name</li>
<li>Description</li>
<li>Company name</li>
<li>Country/region</li>
<li>Email address</li>
</ul>
<p>When you have successfully completed the preceding steps, the Your AppIDs page appears, displaying your new AppID as well as any others you have created previously.</p>
<h3>The Challenge</h3>
<p>We want to create a search engine that will query the Bing API and will be able to display normal search results and a <strong>more </strong>link with a drop down menu with more features. The &#8220;more&#8221; drop down menu will support features like:</p>
<ul>
<li>Video Search</li>
<li>Translation Service</li>
<li>Spelling Service</li>
<li>Phonebook Service</li>
<li>Answers Service</li>
<li>Images Search</li>
</ul>
<p>The results should be displayed using AJAX.</p>
<h3>Sketch it first</h3>
<p>As always, we should first get a paper and a pencil and start drawing. Your favorite image editing program should do the job too. Here is how our application will look like:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/10/appwire.png" rel="lightbox[586]"><img class="alignnone size-large wp-image-587" title="appwire" src="http://jeez.eu/wp-content/uploads/2009/10/appwire-600x450.png" alt="appwire" width="600" height="450" /></a></p>
<h3>The Tools</h3>
<p>We will be using PHP for the communication between our application with Bing&#8217;s API. Results and the pager will also be formated serverside. For the dropdown menu, we will be using YUI&#8217;s button utility. This utility will allow us to transform a select element to a nice skinable dropdown menu.</p>
<h3>The Markup</h3>
<p>Here is the HTML code needed for our application:</p>
<pre class="brush: xml;">&lt;html&gt;
&lt;title&gt;GooBingoo!&lt;/title&gt;
&lt;head&gt;
&lt;!-- Individual YUI CSS files --&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/menu/assets/skins/sam/menu.css&quot;&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/button/assets/skins/sam/button.css&quot;&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/paginator/assets/skins/sam/paginator.css&quot;&gt;
&lt;!-- Individual YUI JS files --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/yahoo-dom-event/yahoo-dom-event.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/container/container_core-min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/menu/menu-min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/element/element-min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/button/button-min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/paginator/paginator-min.js&quot;&gt;&lt;/script&gt;

&lt;!-- our style --&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/styles.css&quot;&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/scripts.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;wraper&quot;&gt;
&lt;div id=&quot;logo&quot;&gt;&lt;img src=&quot;css/log.png&quot; /&gt;&lt;/div&gt;
&lt;div id=&quot;searchcontrols&quot;&gt;
&lt;label id=&quot;searchoptions-container&quot;&gt;
&lt;input type=&quot;text&quot; id=&quot;searchbox&quot; /&gt;
&lt;select id=&quot;searchoptions&quot; name=&quot;searchoptions&quot;&gt;
 &lt;option value=&quot;searchoptions-1&quot; selected&gt;Web&lt;/option&gt;
 &lt;option value=&quot;searchoptions-2&quot;&gt;Images&lt;/option&gt;
 &lt;option value=&quot;searchoptions-3&quot;&gt;Video&lt;/option&gt;
 &lt;option value=&quot;searchoptions-4&quot;&gt;Answers&lt;/option&gt;
 &lt;option value=&quot;searchoptions-5&quot;&gt;Spell&lt;/option&gt;
 &lt;option value=&quot;searchoptions-6&quot;&gt;Translate&lt;/option&gt;
 &lt;option value=&quot;searchoptions-7&quot;&gt;Phonebook&lt;/option&gt;
&lt;/select&gt;
&lt;/label&gt;
&lt;/div&gt;
&lt;div id=&quot;results&quot;&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Our options are marked in a select element and each option holds a value of SELECT_ID-NUMBER. This is for the button menu utility to understand the markup of our dropdown menu.</p>
<h3>The JavaScript</h3>
<p>We create the dropdown menu with this code:</p>
<pre class="brush: jscript;">YAHOO.util.Event.onDOMReady(function () {
 var Button = YAHOO.widget.Button;
 var onMenuRender = function (type, args, button) {
 button.set(&quot;selectedMenuItem&quot;, this.getItem(0));
 };
 var onSelectedMenuItemChange = function (event) {
 var oMenuItem = event.newValue;
 this.set(&quot;label&quot;, (&quot;&lt;em class=\&quot;yui-button-label\&quot;&gt;&quot; +
 oMenuItem.cfg.getProperty(&quot;text&quot;) + &quot;&lt;/em&gt;&quot;));
 switch(oMenuItem.cfg.getProperty(&quot;text&quot;)){
 case &quot;Web&quot;:
 search('web');
 break;
 case &quot;Images&quot;:
 search('image');
 break;
 case &quot;Video&quot;:
 search('video');
 break;
 case &quot;Phonebook&quot;:
 search('phonebook');
 break;
 case &quot;Answers&quot;:
 search('answers');
 break;
 case &quot;Translate&quot;:
 search('translate');
 break;
 case &quot;Spell&quot;:
 search('spell');
 break;
 }
 };

var oMenuButton1 = new Button({
 id: &quot;menubutton-1&quot;,
 name: &quot;menubutton-1&quot;,
 label: &quot;&lt;em class=\&quot;yui-button-label\&quot;&gt;Select An option&lt;/em&gt;&quot;,
 type: &quot;menu&quot;,
 menu: &quot;searchoptions&quot;,
 container: &quot;searchoptions-container&quot;
 });

 /*    Register a &quot;selectedMenuItemChange&quot; event handler that will sync the
 Button's &quot;label&quot; attribute to the MenuItem that was clicked.*/

 oMenuButton1.on(&quot;selectedMenuItemChange&quot;, onSelectedMenuItemChange);

});</pre>
<p>Now lets break down the code to explain what we are doing. First we need to create the dropdown menu with our search engine options:</p>
<pre class="brush: jscript;">
//We wait until DOM is ready to be scripted
YAHOO.util.Event.onDOMReady(function () {
//and we create a button
 var Button = YAHOO.widget.Button;
//then we need to set the first option of the select element as selected
 var onMenuRender = function (type, args, button) {
button.set(&quot;selectedMenuItem&quot;, this.getItem(0));
 };
//When the menu selection changed..we update the value shown
 var onSelectedMenuItemChange = function (event) {
 var oMenuItem = event.newValue;
 this.set(&quot;label&quot;, (&quot;&lt;em class=\&quot;yui-button-label\&quot;&gt;&quot; +  oMenuItem.cfg.getProperty(&quot;text&quot;) + &quot;&lt;/em&gt;&quot;));
//Here we go through all options to see which was chosen.
 switch(oMenuItem.cfg.getProperty(&quot;text&quot;)){
case &quot;Web&quot;:
search('web');
break;
case &quot;Images&quot;:
search('image');
break;
case &quot;Video&quot;:
search('video');
break;
case &quot;Phonebook&quot;:
search('phonebook');
break;
case &quot;Answers&quot;:
search('answers');
break;
case &quot;Translate&quot;:
search('translate');
break;
case &quot;Spell&quot;:
search('spell');
break;
}
 };

var oMenuButton1 = new Button({
 id: &quot;menubutton-1&quot;,
 name: &quot;menubutton-1&quot;,
 label: &quot;&lt;em class=\&quot;yui-button-label\&quot;&gt;Select An option&lt;/em&gt;&quot;,//We add another option here to display some info for the user
 type: &quot;menu&quot;,  //The type of the button
 menu: &quot;searchoptions&quot;, //The id of the select element
 container: &quot;searchoptions-container&quot; //The id of the container element
 });

 /*    Register a &quot;selectedMenuItemChange&quot; event handler that will sync the
 Button's &quot;label&quot; attribute to the MenuItem that was clicked.*/

 oMenuButton1.on(&quot;selectedMenuItemChange&quot;, onSelectedMenuItemChange);

});</pre>
<p>We could skip the switch by just doing: <strong>search(oMenuItem.cfg.getProperty(&#8220;text&#8221;))</strong> but this way would limit us to the search method only.</p>
<p>The getXMLHTTP method is a simple way to get an XML object and don&#8217;t depend on browser version or type. So, this method will return an XML object on Firefox,Opera and IE:</p>
<pre class="brush: jscript;">function getXMLHTTP(){
 var A;

 var msxmlhttp = new Array(
 'Msxml2.XMLHTTP.5.0',
 'Msxml2.XMLHTTP.4.0',
 'Msxml2.XMLHTTP.3.0',
 'Msxml2.XMLHTTP',
 'Microsoft.XMLHTTP');
 for (var i = 0; i &lt; msxmlhttp.length; i++) {
 try {
 A = new ActiveXObject(msxmlhttp[i]);
 } catch (e) {
 A = null;
 }
 }

 if(!A &amp;&amp; typeof XMLHttpRequest != &quot;undefined&quot;)
 A = new XMLHttpRequest();
 if (!A)
 alert('Your browser does not support ajax!');
 return A;
}</pre>
<p>The next method is search, which does the actual requests and displays the results on the page:</p>
<pre class="brush: jscript;">var search = function(type,start,end){
 var xmlObject = getXMLHTTP();
 var url = &quot;bing.php&quot;;
 url += &quot;?type=&quot; + type;
 url += &quot;&amp;q=&quot;+document.getElementById('searchbox').value;
 if(start &amp;&amp; end){
 url += &quot;&amp;end=&quot; + end;
 url += &quot;&amp;start=&quot; + start;
 }
 url += &quot;&amp;sid=&quot; + Math.random();
 xmlObject.onreadystatechange = function(){
 if(xmlObject.readyState == 4){
 if(xmlObject.responseText){
 document.getElementById('results').innerHTML = xmlObject.responseText;
 }else{
 document.getElementById('results').innerHTML = &quot;&lt;div id='pager'&gt;&lt;img src='css/loading.gif' /&gt;&lt;/div&gt;&quot;;
 }
 }else{
 document.getElementById('results').innerHTML = &quot;&lt;div id='pager'&gt;&lt;img src='css/loading.gif' /&gt;&lt;/div&gt;&quot;;
 }
 }
 xmlObject.open(&quot;GET&quot;,url,true);
 xmlObject.send(null);
}
</pre>
<h3>Add Some Style</h3>
<p>The CSS for our application:</p>
<pre class="brush: css;">#wraper{
 margin:0 auto;
 width:1024px;
}

#logo{
 width:470px;
 margin:0 auto;
}

#searchcontrols{
 width:450px;
 margin:0 auto;
 padding-top:30px;
}

#searchbox{
 width:250px;
 height:32px;
 font-size:1.5em;
 vertical-align:top;
}

#results{
 width:900px;
 margin:0 auto;
 padding:10px;
}

#pager{
 width:468px;
 margin:0 auto;
}

ul{
list-style:none;
}

.webresults li{
 margin:10px;
}

.title{
 font-weight:bold;
}

.description{
 padding:10px;
}

.dispurl{
 color:green;
 font-size:0.8em;
}
a img{
 border:none;
}
.imgresults DIV{
 width:160px;
 display:inline;
 float:left;
 margin:20px;
}

.imgresults DIV img{
 width:150px;
 height:150px;
 border:1px solid silver;
}

.answered,.translated,.spelled{
 font-size:1.8em;
 border:1px solid gray;
}

.phoneresults li{
 margin:20px;
 border:1px solid gray;
}</pre>
<h3>Bing API with PHP</h3>
<p>This is where we will learn how to use the Bing API. The best thing about this API is that you can use 3 protocols to get the results. The protocols are:</p>
<ul>
<li>JSON</li>
<li>XML</li>
<li>SOAP</li>
</ul>
<p>So, you can actually use any way that you are familiar with. In our case, we will be using the JSON protocol. PHP allows us to work with JSON encoded data very easily. For example a typical call to the Bing API with JSON looks like this:</p>
<pre class="brush: php;">
$request ='http://api.search.live.net/json.aspx?Appid=API_KEY&amp;sources=SOURCE&amp;SOURCE.Count=NUMBER_OF_RESULTS&amp;SOURCE.Offset=OFFSET&amp;query=QUERY';
$response = file_get_contents($request);
$jsonobj = json_decode($response);
</pre>
<p>Please note:</p>
<ul>
<li><strong>API_KEY</strong> &#8211; The API key you got from Bing&#8217;s developer center.</li>
<li><strong>SOURCE</strong> &#8211; What you will be searching for. There is a great number of sources to use. These are:
<ul>
<li><strong>Ad</strong> &#8211; Use the Ad SourceType to incorporate advertisements into your application.</li>
<li><strong>Image</strong> &#8211; The Image SourceType returns a list of images relevant to the query term. Image results contain properties about the image media file such as width, height, and file size, along with the URL for the page that contains the image.</li>
<li><strong>InstantAnswer</strong> &#8211; The InstantAnswer SourceType enables you to get single, authoritative answers to questions such as: <em>What is 789*12?</em></li>
<li><strong>MobileWeb</strong> &#8211; The MobileWeb SourceType returns mobile Web search results &#8211; primarily Extensible Hypertext Markup Language (XHTML) or Wireless Markup Language (WML) pages relevant to the queried term.</li>
<li><strong>News</strong> &#8211; Search news.</li>
<li><strong>Phonebook</strong> &#8211; The Phonebook SourceType enables you to view details about a business for which you are searching as if they were a phonebook entry.</li>
<li><strong>RelatedSearch</strong> &#8211; Use the RelatedSearch SourceType to view searches that provide information in which you might be interested, based on your current search.</li>
<li><strong>Spell</strong> &#8211; When a query is sent to the Spell SourceType, alternative spellings for the query based on a number of criteria are proposed.</li>
<li><strong>Translation </strong>- The Translation SourceType translates a term or a small block of text (three sentences or less) from one language to another.</li>
<li><strong>Video</strong> &#8211; The Video SourceType returns a list of videos relevant to the query term.</li>
<li><strong>Web</strong> &#8211; The Web SourceType returns pages relevant to the queried term.</li>
</ul>
</li>
<li><strong>NUMBER_OF_RESULTS</strong> &#8211; The number of the search results to be returned.</li>
<li><strong>OFFSET </strong>- The number of results from where the number of results will start counting.</li>
</ul>
<p>We will use some of these types in our <strong>manage()</strong> function:</p>
<pre class="brush: php;">function manage($type){
 if($_GET['end']){
 $end= $_GET['end'];
 }else{
 $end=10;
 }
 if($_GET['start']){
 $start= $_GET['start'];
 }else{
 $start=0;
 }
 //Switch case on the type variable
 switch($type){
 case &quot;web&quot;:
//if we search for web :
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=web&amp;Web.Count='.$end.'&amp;Web.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;spell&quot;:
//Spell check
 $request ='http://api.search.live.net/json.aspx?AppId=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;Query='.urlencode( $_GET[&quot;q&quot;]).'&amp;Sources=Spell&amp;Version=2.0&amp;Market=en-us&amp;Options=EnableHighlighting';
 break;
 case &quot;image&quot;:
//Search for images
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=Image&amp;Version=2.0&amp;Image.Count='.$end.'&amp;Image.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;video&quot;:
//Video search
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=Video&amp;Version=2.0&amp;Video.Count='.$end.'&amp;Video.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;phonebook&quot;:
//phonebook service
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=Phonebook&amp;Version=2.0&amp;Market=en-us&amp;UILanguage=en&amp;Latitude=47.603450&amp;Longitude=-122.329696&amp;Radius=100.0&amp;Phonebook.FileType=YP&amp;Options=EnableHighlighting&amp;Phonebook.Count='.$end.'&amp;Phonebook.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;translate&quot;:
//translate service. This one will translate the term to Greek
 $request = 'http://api.search.live.net/json.aspx?AppId=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;Query=' . urlencode( $_GET[&quot;q&quot;]).'&amp;Sources=Translation&amp;Version=2.2&amp;Market=en-us&amp;Options=EnableHighlighting&amp;Translation.SourceLanguage=en&amp;Translation.TargetLanguage=el';
 break;
 case &quot;answers&quot;:
//Answers service.
 $request = &quot;http://api.search.live.net/json.aspx?AppId=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;Query=&quot;.urlencode( $_GET[&quot;q&quot;]).&quot;&amp;Sources=InstantAnswer&amp;Version=2.0&amp;Market=en-us&quot;;
 break;
 }
//we get the contents of the file
 $response = file_get_contents($request);
//and we decode the json data
 $jsonobj = json_decode($response);
//Return the decoded object
 return $jsonobj;
}</pre>
<p>The next thing to do is to check if there is a request:</p>
<pre class="brush: php;">if($_GET['q']){
 $obj = manage($_GET['type']);
}</pre>
<p>and then we display the results using a switch case on the type:</p>
<pre class="brush: php;">switch($_GET['type']){
 case &quot;web&quot;:
 ?&gt;
 &lt;ul&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Web-&gt;Results as $value){
 ?&gt;
 &lt;li&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;Url; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;?php echo $value-&gt;Title; ?&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;?php echo strip_tags($value-&gt;Description); ?&gt;&lt;/div&gt;&lt;div&gt;&lt;?php echo $value-&gt;DisplayUrl; ?&gt;&lt;/div&gt;&lt;/li&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;/div&gt;
 &lt;?php
 break;
 case &quot;image&quot;:
 ?&gt;
 &lt;div&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Image-&gt;Results as $value){
 ?&gt;
 &lt;div&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;MediaUrl; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;img src=&quot;&lt;?php echo $value-&gt;Thumbnail-&gt;Url;?&gt;&quot; alt=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;?php
 break;
 case &quot;video&quot;:
 ?&gt;
 &lt;div&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Video-&gt;Results as $value){
 ?&gt;
 &lt;div&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;PlayUrl; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;img src=&quot;&lt;?php echo $value-&gt;StaticThumbnail-&gt;Url;?&gt;&quot; alt=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;?php
 break;
 case &quot;phonebook&quot;:

 ?&gt;
 &lt;ul&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Phonebook-&gt;Results as $value){
 ?&gt;
 &lt;li&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;Url; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;?php echo $value-&gt;Title; ?&gt;&lt;/a&gt;
 &lt;br /&gt;&lt;div&gt;&lt;?php echo strip_tags($value-&gt;Business); ?&gt;&lt;/div&gt;
 &lt;div&gt;Phone: &lt;?php echo $value-&gt;PhoneNumber; ?&gt;&lt;/div&gt;
 &lt;div&gt;Address: &lt;?php echo $value-&gt;Address; ?&gt;&lt;/div&gt;
 &lt;div&gt;City: &lt;?php echo $value-&gt;City; ?&gt;&lt;/div&gt;
 &lt;/li&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;?php
 break;
 case &quot;translate&quot;:
 echo &quot;&lt;h2&gt;Translated to Greek:&lt;/h2&gt;&lt;div class='translated'&gt;&quot;.$obj-&gt;SearchResponse-&gt;Translation-&gt;Results[0]-&gt;TranslatedTerm.&quot;&lt;/div&gt;&quot;;
 break;
 case &quot;spell&quot;:
 echo &quot;&lt;h2&gt;Spelled like this:&lt;/h2&gt;&lt;div class='spelled'&gt;&quot;.$obj-&gt;SearchResponse-&gt;Spell-&gt;Results[0]-&gt;Value.&quot;&lt;/div&gt;&quot;;
 break;
 case &quot;answers&quot;:
 echo &quot;&lt;h2&gt;Your Answer is:&lt;/h2&gt;&lt;div class='answered'&gt;&quot;.$obj-&gt;SearchResponse-&gt;InstantAnswer-&gt;Results[0]-&gt;InstantAnswerSpecificData-&gt;Encarta-&gt;Value.&quot;&lt;/div&gt;&quot;;
 break;
}
?&gt;
&lt;!-- We add a simple pager --&gt;
&lt;div id=&quot;pager&quot;&gt;
 &lt;div&gt;
 &lt;span&gt;
 &lt;?php if($_GET['start']&gt;0){
 ?&gt;
 &lt;a href=&quot;javascript:search('&lt;?php echo $_GET['type'];?&gt;','&lt;?php echo $start-10;?&gt;','&lt;?php echo $end;?&gt;');&quot;&gt;Less&lt;/a&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/span&gt;
 &lt;span&gt;
 &lt;a href=&quot;javascript:search('&lt;?php echo $_GET['type'];?&gt;','&lt;?php echo $start+10;?&gt;','&lt;?php echo $end;?&gt;');&quot;&gt;More&lt;/a&gt;
 &lt;/span&gt;
&lt;/div&gt;</pre>
<p>The last lines  will display a simple pager.</p>
<h3>The Full PHP code</h3>
<p>This is the code we used for our example:</p>
<pre class="brush: php;">&lt;?php
function manage($type){
 if($_GET['end']){
 $end= $_GET['end'];
 }else{
 $end=10;
 }
 if($_GET['start']){
 $start= $_GET['start'];
 }else{
 $start=0;
 }

 switch($type){
 case &quot;web&quot;:
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=web&amp;Web.Count='.$end.'&amp;Web.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;spell&quot;:
 $request ='http://api.search.live.net/json.aspx?AppId=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;Query='.urlencode( $_GET[&quot;q&quot;]).'&amp;Sources=Spell&amp;Version=2.0&amp;Market=en-us&amp;Options=EnableHighlighting';
 break;
 case &quot;image&quot;:
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=Image&amp;Version=2.0&amp;Image.Count='.$end.'&amp;Image.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;video&quot;:
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=Video&amp;Version=2.0&amp;Video.Count='.$end.'&amp;Video.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;phonebook&quot;:
 $request ='http://api.search.live.net/json.aspx?Appid=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;sources=Phonebook&amp;Version=2.0&amp;Market=en-us&amp;UILanguage=en&amp;Latitude=47.603450&amp;Longitude=-122.329696&amp;Radius=100.0&amp;Phonebook.FileType=YP&amp;Options=EnableHighlighting&amp;Phonebook.Count='.$end.'&amp;Phonebook.Offset='.$start.'&amp;query=' . urlencode( $_GET[&quot;q&quot;]);
 break;
 case &quot;translate&quot;:
 $request = 'http://api.search.live.net/json.aspx?AppId=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;Query=' . urlencode( $_GET[&quot;q&quot;]).'&amp;Sources=Translation&amp;Version=2.2&amp;Market=en-us&amp;Options=EnableHighlighting&amp;Translation.SourceLanguage=en&amp;Translation.TargetLanguage=el';
 break;
 case &quot;answers&quot;:
 $request = &quot;http://api.search.live.net/json.aspx?AppId=28CDBBD47CD8F911BE7EA5C3CB748FE6EFA951FC&amp;Query=&quot;.urlencode( $_GET[&quot;q&quot;]).&quot;&amp;Sources=InstantAnswer&amp;Version=2.0&amp;Market=en-us&quot;;
 break;
 }
 $response = file_get_contents($request);
 $jsonobj = json_decode($response);
 return $jsonobj;
}

if($_GET['q']){
 $obj = manage($_GET['type']);
}
if($_GET['end']){
 $end= $_GET['end'];
}else{
 $end=10;
}
if($_GET['start']){
 $start= $_GET['start'];
}else{
 $start=0;
}
switch($_GET['type']){
 case &quot;web&quot;:
 ?&gt;
 &lt;ul&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Web-&gt;Results as $value){
 ?&gt;
 &lt;li&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;Url; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;?php echo $value-&gt;Title; ?&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;?php echo strip_tags($value-&gt;Description); ?&gt;&lt;/div&gt;&lt;div&gt;&lt;?php echo $value-&gt;DisplayUrl; ?&gt;&lt;/div&gt;&lt;/li&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;/div&gt;
 &lt;?php
 break;
 case &quot;image&quot;:
 ?&gt;
 &lt;div&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Image-&gt;Results as $value){
 ?&gt;
 &lt;div&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;MediaUrl; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;img src=&quot;&lt;?php echo $value-&gt;Thumbnail-&gt;Url;?&gt;&quot; alt=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;?php
 break;
 case &quot;video&quot;:
 ?&gt;
 &lt;div&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Video-&gt;Results as $value){
 ?&gt;
 &lt;div&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;PlayUrl; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;img src=&quot;&lt;?php echo $value-&gt;StaticThumbnail-&gt;Url;?&gt;&quot; alt=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;?php
 break;
 case &quot;phonebook&quot;:

 ?&gt;
 &lt;ul&gt;
 &lt;?php
 foreach($obj-&gt;SearchResponse-&gt;Phonebook-&gt;Results as $value){
 ?&gt;
 &lt;li&gt;&lt;a href=&quot;&lt;?php echo $value-&gt;Url; ?&gt;&quot; target=&quot;_blank&quot; title=&quot;&lt;?php echo strip_tags($value-&gt;Title); ?&gt;&quot;&gt;&lt;?php echo $value-&gt;Title; ?&gt;&lt;/a&gt;
 &lt;br /&gt;&lt;div&gt;&lt;?php echo strip_tags($value-&gt;Business); ?&gt;&lt;/div&gt;
 &lt;div&gt;Phone: &lt;?php echo $value-&gt;PhoneNumber; ?&gt;&lt;/div&gt;
 &lt;div&gt;Address: &lt;?php echo $value-&gt;Address; ?&gt;&lt;/div&gt;
 &lt;div&gt;City: &lt;?php echo $value-&gt;City; ?&gt;&lt;/div&gt;
 &lt;/li&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/ul&gt;
 &lt;?php
 break;
 case &quot;translate&quot;:
 echo &quot;&lt;h2&gt;Translated to Greek:&lt;/h2&gt;&lt;div class='translated'&gt;&quot;.$obj-&gt;SearchResponse-&gt;Translation-&gt;Results[0]-&gt;TranslatedTerm.&quot;&lt;/div&gt;&quot;;
 break;
 case &quot;spell&quot;:
 echo &quot;&lt;h2&gt;Spelled like this:&lt;/h2&gt;&lt;div class='spelled'&gt;&quot;.$obj-&gt;SearchResponse-&gt;Spell-&gt;Results[0]-&gt;Value.&quot;&lt;/div&gt;&quot;;
 break;
 case &quot;answers&quot;:
 echo &quot;&lt;h2&gt;Your Answer is:&lt;/h2&gt;&lt;div class='answered'&gt;&quot;.$obj-&gt;SearchResponse-&gt;InstantAnswer-&gt;Results[0]-&gt;InstantAnswerSpecificData-&gt;Encarta-&gt;Value.&quot;&lt;/div&gt;&quot;;
 break;
}
?&gt;
&lt;div id=&quot;pager&quot;&gt;
 &lt;div&gt;
 &lt;span&gt;
 &lt;?php if($_GET['start']&gt;0){
 ?&gt;
 &lt;a href=&quot;javascript:search('&lt;?php echo $_GET['type'];?&gt;','&lt;?php echo $start-10;?&gt;','&lt;?php echo $end;?&gt;');&quot;&gt;Less&lt;/a&gt;
 &lt;?php
 }
 ?&gt;
 &lt;/span&gt;
 &lt;span&gt;
 &lt;a href=&quot;javascript:search('&lt;?php echo $_GET['type'];?&gt;','&lt;?php echo $start+10;?&gt;','&lt;?php echo $end;?&gt;');&quot;&gt;More&lt;/a&gt;
 &lt;/span&gt;
&lt;/div&gt;</pre>
<p>The API key displayed above is a fictional key. You should get one from Bing in order to use the API. Get one now! It is free.</p>
<p>Here is a <a title="GooBingoo!" href="http://seotests.writer.gr/bingsearch/" target="_blank">live example</a> of the application described above. We called it GooBingoo!, but Bingoo! might have been a better name for it ;)</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=586&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F10%2F14%2Fusing-bings-api-to-create-a-custom-search-engine%2F&amp;linkname=Using%20Bing%26%238217%3Bs%20API%20To%20Create%20A%20Custom%20Search%20Engine"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/10/14/using-bings-api-to-create-a-custom-search-engine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Learn Programming With Youtube</title>
		<link>http://jeez.eu/2009/09/30/learn-programming-with-youtube/</link>
		<comments>http://jeez.eu/2009/09/30/learn-programming-with-youtube/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 16:38:55 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Developing]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=465</guid>
		<description><![CDATA[There are many ways to start your journey in the programming world. You can study programming at your [...]]]></description>
			<content:encoded><![CDATA[<p>There are many ways to start your journey in the programming world. You can study programming at your university and you can learn at your own from a book. You can also surf the web, find tutorials and manuals, and start learning how to code. If for some reason you can&#8217;t follow the examples on your Java book, or your C++ tutorial is not well written and your eyes are starting to drown, there is a funnier way to learn.. Use Youtube.</p>
<p>Youtube is not only about funny videos and gymnastic&#8217;s bloopers. You can find nearly anything in there. I was not surprised when Google acquired Youtube, because Youtube is the &#8220;Google&#8221; of videos. So we Youtubed (from Googled) a little and found some diamonds. Here is a list of video tutorials about major programming languages like PHP, Java, C++ and C# and tools like Dreamweaver, Photoshop and GIMP.</p>
<h3>C/C++ Video Tutorials<img class="alignright size-full wp-image-468" title="cpp" src="http://jeez.eu/wp-content/uploads/2009/09/cpp.jpg" alt="cpp" width="50" height="50" /></h3>
<p><a title="Begginer C++ Tutorials" href="http://www.youtube.com/view_play_list?p=A68C1F33757B4A38" target="_blank">Begginer Tutorials</a></p>
<p>Excellent playlist consisting of 44 videos starting from how to install Visual C++ Express and covering: console applications creation, variables and constants, dimensional arrays, namespaces, arguements and return values, enumerations, classes, dynamic memory allocation and many more. There are working examples like creating games  and other real world applications.</p>
<p><a title="C++ tutorials" href="http://www.youtube.com/view_play_list?p=F541C2C1F671AEF6" target="_blank">C++ video tutorials from thenewboston</a></p>
<p>Another great playlist that shows us how to code using the DevShed&#8217;s Dev-C++ IDE. It consists of 29 videos and covers nearly every aspect you need to know when you start learning C++.</p>
<p><a title="C++ for absolute noobs" href="http://www.youtube.com/view_play_list?p=1D10C030FDCE7CE0" target="_blank">AntiRTFM</a></p>
<p>75 videos for the absolute noob, using Visual Studio.</p>
<p><a title="Win32" href="http://www.youtube.com/view_play_list?p=C616A3733AB5F923" target="_blank">Win32 C++</a></p>
<p>Another cool playlist of 9 videos using Visual Studio Express</p>
<p><a title="C with Linux" href="http://www.youtube.com/view_play_list?p=4097532D179E3176" target="_blank">Linux C Curso</a></p>
<p>A C tutorials playlist for more advanced users. How to create simple console applications with C</p>
<h3>C# Video Tutorials<img class="alignright size-full wp-image-469" title="c_sharp_services2" src="http://jeez.eu/wp-content/uploads/2009/09/c_sharp_services2.jpg" alt="c_sharp_services2" width="50" height="50" /></h3>
<p><a title="C# Video tutorials" href="http://www.youtube.com/view_play_list?p=CF53106B24EF9ACB" target="_blank">Learn C#</a></p>
<p>89 C# tutorials collection. Mainly examples of how to do something with C#.</p>
<p><a title="C# Videos" href="http://www.youtube.com/view_play_list?p=13141D4688033C31" target="_blank">C#</a></p>
<p>Another big collection of 98 C# videos. It covers a lot of C# fundamentals and it worths the time spent.</p>
<h3>Dreamweaver Video Examples<img class="alignright size-full wp-image-470" title="Dreamweaver 8 Icon" src="http://jeez.eu/wp-content/uploads/2009/09/Dreamweaver-8-Icon.jpg" alt="Dreamweaver 8 Icon" width="48" height="48" /></h3>
<p><a title="Dreamweaver 8" href="http://www.youtube.com/view_play_list?p=A8E39239E2F1C072" target="_blank">Dreamweaver 8</a></p>
<p>An awesome tutorials list consisting of 28 video clips that show you how to do things in Dreamweaver. The version might be old but the consepts remain the same.</p>
<p><a title="Dreamweaver CS3" href="http://www.youtube.com/view_play_list?p=6AB99A9D9B942950" target="_blank">Dreamweaver CS3</a></p>
<p>29 videos of great examples. Learn how to add flash files, create email forms, import PSD files, define local/remote sites, use Spry and many more.</p>
<p><a title="Dreamweaver advanced" href="http://www.youtube.com/view_play_list?p=0853630CC539973F" target="_blank">More Advanced Dreamweaver</a></p>
<p>Learn how to add AJAX using Spry and more in this 45 videos playlist.</p>
<h3>Flash<img class="alignright size-full wp-image-471" title="flash" src="http://jeez.eu/wp-content/uploads/2009/09/flash.gif" alt="flash" width="48" height="48" /></h3>
<p><a title="Flash and Actionscript" href="http://www.youtube.com/view_play_list?p=A6E5FB31FA1DBDD6" target="_blank">Tutvid Flash Tutorials</a></p>
<p>Excellent tutorials playlist. Covers nearly every aspect of Flash and Actionscript with many example applications. Suggested 100%</p>
<p><a title="Adobe Flash &amp; Actionscript 3.0" href="http://www.youtube.com/view_play_list?p=743FE52951ACB46E" target="_blank">Adobe Flash Tutorials in CS3 + CS4 ActionScript 3.0</a></p>
<p>Video tutorials and free fla files to download for learning Adobe Flash CS3 + CS4 and ActionScript 3.0. 92 video tutorials to help you learn Flash the right way. This one is suggested too.</p>
<p><a title="Flash tutorials collection" href="http://www.youtube.com/view_play_list?p=A0149155EC10A24E" target="_blank">Flash Tut</a></p>
<p>Another collection of 38 videos.</p>
<h3>Java<img class="alignright size-full wp-image-472" title="java" src="http://jeez.eu/wp-content/uploads/2009/09/java.jpg" alt="java" width="39" height="37" /></h3>
<p><a title="Java" href="http://www.youtube.com/view_play_list?p=FE2CE09D83EE3E28" target="_blank">Java Programming Collection</a></p>
<p>Complete collection of 58 videos. This one covers everything you should know about Java programming to start coding with it.</p>
<p><a title="The old tutorials" href="http://www.youtube.com/view_play_list?p=8C6BD924F19A6867" target="_blank">The Old Tutorials</a></p>
<p>11 very basic tutorials that you must watch before even starting. This playlist explains a lot fundamental aspects.</p>
<h3>Photoshop<img class="alignright size-full wp-image-473" title="photoshop" src="http://jeez.eu/wp-content/uploads/2009/09/photoshop.jpg" alt="photoshop" width="48" height="40" /></h3>
<p><a title="Photoshop collection 1" href="http://www.youtube.com/view_play_list?p=6B084D1FE2E9B8CB" target="_blank">Photoshop 1</a> 53 Videos</p>
<p><a title="Photoshop collection 2" href="http://www.youtube.com/view_play_list?p=E04E3BCBD8DEF6A9" target="_blank">Photoshop 2</a> 41 Videos</p>
<p><a title="Photoshop collection 3" href="http://www.youtube.com/view_play_list?p=02C7A01B20BE22A0" target="_blank">Photoshop 3</a> 23 Videos</p>
<p><a title="Photoshop collection 4" href="http://www.youtube.com/view_play_list?p=3EA45D4778F9C133" target="_blank">Photoshop 4</a> 84 Videos</p>
<p>The 4 collections above will teach you how to do things with Photoshop. From basic effects to professional graphic creations.</p>
<h3>PHP<img class="alignright size-full wp-image-474" title="php" src="http://jeez.eu/wp-content/uploads/2009/09/php.png" alt="php" width="48" height="48" /></h3>
<p><a title="PHP Basics" href="http://www.youtube.com/view_play_list?p=960338B143E7F889" target="_blank">PHP Basics</a></p>
<p>Learn the basics of PHP coding with this fine list consisting of 22 video tutorials</p>
<p><a title="PHP Tutorials" href="http://www.youtube.com/view_play_list?p=FA954987101252EF&amp;search_query=php" target="_blank">PHP Tutorials</a></p>
<p>76 video tutorials with a bit more of an edge. Buff up your skills or learn great new stuff.</p>
<p><a title="Create a Social Network with PHP" href="http://www.youtube.com/view_play_list?p=5DF2FC61F89A44E6" target="_blank">How to build a social network</a></p>
<p>This clear in depth tutorial series will show you how to build a dynamic automated community portal website member system using ActionScript 3.0 PHP, MySQL, and Flash. All from scratch to allow a webmaster complete control over their system. There is also free source to download and get you started.</p>
<p><a title="Register &amp; Login" href="http://www.youtube.com/view_play_list?p=7C9AFC3942AC8E40" target="_blank">Register &amp; Login</a></p>
<p>A collection of tutorials dealing with registering a user, allowing them to log in, access a member only area, logout and more. Essential for a register/login style site!</p>
<p><a title="Create an Image sharing site with PHP" href="http://www.youtube.com/view_play_list?p=9CC58D1B2A2D83D6" target="_blank">Create an image sharing site</a></p>
<p>Create a image sharing site allowing the user to register, upload images and videos onto the server and share with anyone. Although discontinued, 24 videos will give you a good point on how to do it.</p>
<p><a title="PHP collection" href="http://www.youtube.com/view_play_list?p=477A203D5FE4E3DA" target="_blank">PHP Tutorials Collection</a></p>
<p>A collection of 37 PHP video tutorials</p>
<h3>Python<img class="alignright size-full wp-image-475" title="python" src="http://jeez.eu/wp-content/uploads/2009/09/python.png" alt="python" width="48" height="48" /></h3>
<p><a title="Python and AR" href="http://www.youtube.com/view_play_list?p=75C8FA9FCC0B8E95&amp;search_query=python+dev" target="_blank">Python and AR</a></p>
<p>10 video tutorials for advanced python programmers.</p>
<p><a title="Python Programming" href="http://www.youtube.com/view_play_list?p=EA1FEF17E1E5C0DA&amp;search_query=python+tutorial" target="_blank">Python Programming</a></p>
<p>43 high quality python tutorials. Covers anything from installing python on Windows to writing files with python.</p>
<p><a title="Learn Python" href="http://www.youtube.com/view_play_list?p=1213A0D58DF2122D" target="_blank">Learn Python</a></p>
<p>A large collection of 88 videos. Theory, examples and code.</p>
<h3>QT<img class="alignright size-full wp-image-476" title="qt" src="http://jeez.eu/wp-content/uploads/2009/09/qt.png" alt="qt" width="41" height="50" /></h3>
<p><a title="QT" href="http://www.youtube.com/view_play_list?p=AA60EE5A998D8A48&amp;search_query=qt+tutorial" target="_blank">Learn QT</a></p>
<p>Various video tutorials and samples of programs built with QT.</p>
<p><a title="Learn QT" href="http://www.youtube.com/view_play_list?p=F61656E01B4EA23B&amp;search_query=qt+tutorial" target="_blank">Learn QT 2</a></p>
<p>19 video tutorials about QT.</p>
<p><a title="QT Creator" href="http://www.youtube.com/view_play_list?p=22E601663DAF3A14" target="_blank">QT Creator</a></p>
<p>Learn how to use and create applications using QT Creator with 8 stunning video tutorials.</p>
<h3>Ruby on Rails<img class="alignright size-full wp-image-477" title="ror" src="http://jeez.eu/wp-content/uploads/2009/09/ror.gif" alt="ror" width="39" height="50" /></h3>
<p><a title="RoR Framework" href="http://www.youtube.com/view_play_list?p=4910EFAA8600A920&amp;search_query=ruby+on+rails" target="_blank">RoR Framework</a></p>
<p>This is an intensive one-day overview of the fundamental concepts of the Ruby on Rails Web programming framework, presented by the UC Berkeley RAD Lab. The overview consists of six sections of approximately one hour each. Course materials (slides, online resources, software installers) can be found at http://radlab.cs.berkeley.edu/wiki/Ruby_on_Rails_1-day_course.</p>
<p>You can find thousands of tutorials for anything you like. For example <a title="CSS" href="http://www.youtube.com/results?search_query=css+tutorial&amp;search_type=&amp;aq=0&amp;oq=CSS+tut" target="_blank">CSS</a>, <a title="Visual Basic" href="http://www.youtube.com/results?search_query=visual+basic+tutorial&amp;search_type=&amp;aq=0&amp;oq=visual+basic+tu" target="_blank">Visual Basic</a> and <a title="Debugging" href="http://www.youtube.com/results?search_query=ollydbg+tutorial&amp;search_type=&amp;aq=f" target="_blank">Debugging</a>. The lists mentioned here can be found easily. All you have to do is search for language+tutorial.</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=465&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F09%2F30%2Flearn-programming-with-youtube%2F&amp;linkname=Learn%20Programming%20With%20Youtube"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/09/30/learn-programming-with-youtube/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>CAPTCHA Problems, A Suggestion and Alternatives</title>
		<link>http://jeez.eu/2009/09/29/captcha-problems-a-suggestion-and-alternatives/</link>
		<comments>http://jeez.eu/2009/09/29/captcha-problems-a-suggestion-and-alternatives/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 16:48:20 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Developing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=454</guid>
		<description><![CDATA[You have your blog ,contact form, application setup and your content is dominating the search engines. You get [...]]]></description>
			<content:encoded><![CDATA[<p>You have your blog ,contact form, application setup and your content is dominating the search engines. You get tons of traffic every day and tons of spam also. Spam about everything you can imagine: pills, drugs and links to casinos. Even the president of the united states came to your blog and commented on one of your posts asking you to buy something&#8230; What can you do to stop this?</p>
<h3>CAPTCHA</h3>
<p>CAPTCHA (<strong>C</strong>ompletely <strong>A</strong>utomated <strong>P</strong>ublic <strong>T</strong>uring test to tell <strong>C</strong>omputers and <strong>H</strong>umans <strong>A</strong>part) is a way to stop computers from posting forms. A form can be a contact form, a comment form or anything that can be posted to the backend of a web application. There are numerous types of CAPTCHAs. We all have been asked to fill in a word that is displayed as an image during our surfing and some of us use them to one of our sites.</p>
<p>The most known CAPTCHA type is an image displaying a word which is distorted in some way. So we find CAPTCHAs like the one used on Yahoo!:</p>
<div id="attachment_455" class="wp-caption alignnone" style="width: 300px"><a href="http://jeez.eu/wp-content/uploads/2009/09/KCAPTCHA_with_crowded_symbols.gif" rel="lightbox[454]"><img class="size-full wp-image-455" title="Crowded words" src="http://jeez.eu/wp-content/uploads/2009/09/KCAPTCHA_with_crowded_symbols.gif" alt="This type of CAPTCHA is used by Yahoo!" width="290" height="60" /></a><p class="wp-caption-text">This type of CAPTCHA is used by Yahoo!</p></div>
<p>or like the ones previously used by Rapidshare:</p>
<div id="attachment_456" class="wp-caption alignnone" style="width: 434px"><a href="http://jeez.eu/wp-content/uploads/2009/09/rpdshr.png" rel="lightbox[454]"><img class="size-full wp-image-456" title="Cats on Chars" src="http://jeez.eu/wp-content/uploads/2009/09/rpdshr.png" alt="Used by Rapidshare in the past" width="424" height="107" /></a><p class="wp-caption-text">Used by Rapidshare in the past</p></div>
<p>or a typical CAPTCHA with lines obscuring the words:</p>
<div id="attachment_457" class="wp-caption alignnone" style="width: 300px"><a href="http://jeez.eu/wp-content/uploads/2009/09/290px-Modern-captcha.jpg" rel="lightbox[454]"><img class="size-full wp-image-457" title="Modern captcha" src="http://jeez.eu/wp-content/uploads/2009/09/290px-Modern-captcha.jpg" alt="Another type of image CAPTCHA" width="290" height="55" /></a><p class="wp-caption-text">Another type of an image CAPTCHA</p></div>
<p>There are some other CAPTCHA types that you should be aware of. For example asking the person to type in the sum of two numbers like this one:</p>
<p><em>Please add 6 plus 2 and fill in the result</em></p>
<p>This is something most of computers can&#8217;t figure out especially if it is displayed in an image like this one:</p>
<div id="attachment_458" class="wp-caption alignnone" style="width: 160px"><a href="http://jeez.eu/wp-content/uploads/2009/09/4plus2.gif" rel="lightbox[454]"><img class="size-full wp-image-458" title="4plus2" src="http://jeez.eu/wp-content/uploads/2009/09/4plus2.gif" alt="Obscured numbers addition" width="150" height="30" /></a><p class="wp-caption-text">Obscured numbers addition</p></div>
<p>but it is not bulletproof because a bot can be configured to read the numbers and add them. Another nice but still not bulletproof CAPTCHA style is the one used in some sites that ask the visitor to write the a word backwards. So it looks like this:</p>
<p><em>Please write the word &#8220;double&#8221; backwards</em></p>
<p>Still not quite secure, because someone could grab the word surrounded by &#8220;quotes&#8221; and reverse it. It is pretty simple to do it.</p>
<p>So we see that there are a lot of options that really don&#8217;t give any solution. You might think that the CAPTCHA used by Rapidshare is pretty strong and it would help against spam, but it is not user friendly at all. You don&#8217;t want your visitors to get headaches trying to solve your little enigma there. You want to keep bots away.</p>
<p>Another problem when using captchas is usability. What will happen if a visually impaired person visits your site with a screen reader? You need a sollution that can handle this usability feature too. Javascript is also not so usable because a lot of screen readers don&#8217;t support it.</p>
<h3>No Solution!!! What can i do?</h3>
<p>Before we suggest our idea, we should first try to explain why most of the CAPTCHA types mentioned above. Having a smooth distorted word in an image is very easy for a program to scan it and read the characters while having an image with very distorted text might make your visitors go away. On the other hand, having a sentence asking someone to write a word or add some numbers is very user friendly but bot friendly too. If i was a spammer i would look for patterns in the sentence and configure my bot to bypass the test.</p>
<h3>A suggestion</h3>
<p>We need a test that will be strong and user friendly too. So we recommend a solution that will be text based but it will alter it&#8217;s pattern so that it will be harder to bypass it. The solution that we suggest is very easy to implement. We will use PHP for this one. First we need to create some arrays:</p>
<pre class="brush: php;">//vowels array
 $vowels = array('a','e','i','o','u','y');
 //consonants array
 $consonants = array('b','c','d','f','g','j','k','l','m','n','p','q','r','s','t','v','w','x','z');
 //words array
 $words = array('design','develop','program','tools','awesome','stunning','person','computer','jeez','smashing','source','distorted','example','lorem','ipsum');
 //Patterns
 $patterns = array('vowelsout','consout','backwards','firstlast');</pre>
<p>The arrays above will be used to alter the pattern each time we load a new test for the user. So we see that we have 4 different patterns to choose from:</p>
<ul>
<li>vowelsout &#8211; This will strip all vowels from the word</li>
<li>consout &#8211; This will do the opposite of vowelsout</li>
<li>backwards &#8211; This will reverse the word</li>
<li>firstlast &#8211; This will ask the user to fill in the first and the last char of the word</li>
</ul>
<p>The full code is:</p>
<pre class="brush: php;">session_start();

function captcha(){
 //vowels array
 $vowels = array('a','e','i','o','u','y');
 //consonants array
 $consonants = array('b','c','d','f','g','j','k','l','m','n','p','q','r','s','t','v','w','x','z');
 //words array
 $words = array('design','develop','program','tools','awesome','stunning','person','computer','jeez','smashing','source','distorted','example','lorem','ipsum');
 //Patterns
 $patterns = array('vowelsout','consout','backwards','firstlast');

 //first we need to decide what pattern to use. So we pick one randomly
 $pattern = $patterns[array_rand($patterns, 1)];
 //then we pick a random word from the words array
 $word = $words[array_rand($words)];
 //then we check what the pattern is and we go on using this technic
 switch($pattern){
 case&quot;vowelsout&quot;:
 //This pattern strips vowels from the word
 $_SESSION['CAPTCHA'] = str_replace($vowels,&quot;&quot;,$word);
 //a string to display to the visitor:
 $question = &quot;Please write the word '$word' without vowels&quot;;
 break;
 case&quot;consout&quot;:
 //This is the opposite of the vowelsout pattern
 $_SESSION['CAPTCHA'] = str_replace($consonants,&quot;&quot;,$word);
 //a string to display to the visitor:
 $question = &quot;Please write the word '$word' without consonants&quot;;
 break;
 case&quot;backwards&quot;:
 //This one reverses the word
 $_SESSION['CAPTCHA'] = strrev($word);
 //a string to display to the visitor:
 $question = &quot;Please write the word '$word' backwards&quot;;
 break;
 case&quot;firstlast&quot;:
 //This one takes the first and the last char of the word
 $_SESSION['CAPTCHA'] = $word[0].$word[strlen($word)];
 //a string to display to the visitor:
 $question = &quot;Please write the first and the last characters of the word : '$word'&quot;;
 break;
 }
 echo $question;
}

captcha();</pre>
<p>We can add more patterns to our CAPTCHA system and each time the code the user needs to write, is stored in a session variable that can be used later to test if the user posted the right code. You can make some more improvements to the patterns. For example you can replace all vowels with a number and ask the user something like this:</p>
<p><em>Please replace the vowels from this word: &#8216;awesome&#8217; with number 1</em> (Sollution:  1w1s1m1)</p>
<h3>Honeypots</h3>
<p>A <a title="Honeypot Captcha" href="http://haacked.com/archive/2007/09/11/honeypot-captcha.aspx" target="_blank">honeypot </a>is a trap we set to bots in order to detect if an action was generated by a human or a computer. Generally, spam bots check for standard form fields to fill. Some of these fields include:</p>
<ul>
<li>Name</li>
<li>Username</li>
<li>Email</li>
<li>Surname</li>
<li>Body</li>
<li>Message</li>
</ul>
<p>So a honeypot would be a form that has one or all of the above fields but does not need the user to fill in something. In fact, a honeypot would refuse to accept a form that has one of these fields filled with data. The implementation is plain easy. You set one or more honeypot fields in a form and you use CSS to hide them from the user (Bots do not understand CSS). When the form is submitted, you check if the field(s) are empty and if not, you refuse to accept the form contents.</p>
<h3>Dynamic Creation of Form Fields Names</h3>
<p>Another cool and strong form protection against spam bots can be achieved by creating form field names in a dynamic way. You create a hash for each field with some random salt and you store this hash in a session variable. When the bot comes to your page, it does not know what to do and where. Even if the spammer configures the bot to assign email to a given field, there is no chance (less than 1%) that the same field name will ever exist. So the bot is lost.</p>
<h3>Some CAPTCHA implementations</h3>
<p>During our research for CAPTCHA systems we run across some interesting implementations. These are:</p>
<p><a title="Ajax Captcha" href="http://www.webdesignbeach.com/beachbar/ajax-fancy-captcha-jquery-plugin" target="_blank">Ajax Fancy Captcha</a></p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/ajax1.png" rel="lightbox[454]"><img class="size-full wp-image-461 alignnone" title="ajax" src="http://jeez.eu/wp-content/uploads/2009/09/ajax1.png" alt="ajax" width="336" height="287" /></a></p>
<p>This one asks you to drag and drop a specified item into a circle. Clever implementation because bots don&#8217;t support javascript. Do they.</p>
<h3><a title="captcha" href="http://www.slepi.net/blog/programming/simple-text-based-captcha-implementation.html" target="_blank">Captcha that wants you to know somethings</a></h3>
<p>This one is a good solution for sites that need their visitors to have some knowledge of the topic they want to comment on. So for example on a topic about php, the question could be:</p>
<p><em>Which php function displays info about PHP? </em>(Sollution: phpinfo)</p>
<h3>Other</h3>
<p>I read that somewhere on the net but i can&#8217;t remember where (Maybe Slashdot), that a solution to spam bots could be the use of flash animated text, easy for a human to read but hard for a bot to do the same.</p>
<h3>In Vain</h3>
<p>The most disappointing thing of all is human labor for spam purposes. A company can hire some hundreds of people that really need the money to solve CAPTCHAs and all your tests to be useless. Some other spam technics include the use of sites that ask from visitors to solve captchas in order to see nude images and many more mentioned on <a title="CAPTCHA" href="http://en.wikipedia.org/wiki/CAPTCHA" target="_blank">Wikipedia</a> that are worth reading.</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=454&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F09%2F29%2Fcaptcha-problems-a-suggestion-and-alternatives%2F&amp;linkname=CAPTCHA%20Problems%2C%20A%20Suggestion%20and%20Alternatives"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/09/29/captcha-problems-a-suggestion-and-alternatives/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Introducing Qool CMS. A New Open Source CMS</title>
		<link>http://jeez.eu/2009/09/28/introducing-qool-cms-a-new-open-source-cms/</link>
		<comments>http://jeez.eu/2009/09/28/introducing-qool-cms-a-new-open-source-cms/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 16:25:16 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=444</guid>
		<description><![CDATA[We are happy to announce to all of our visitors and to the Open Source community that our [...]]]></description>
			<content:encoded><![CDATA[<p>We are happy to announce to all of our visitors and to the Open Source community that our own propriarity CMS, <strong>Qool</strong>, is now available as Open Source software. We wanted to give Qool, the opportunity to evolve and become a new sollution and addition to the world of CMSes. You can <a title="Download Qool CMS" href="https://sourceforge.net/projects/qool/files/Qool_OSS_V1.0.zip/download" target="_blank">grub it&#8217;s source code here</a>. The package is <a title="GPL" href="http://www.gnu.org/copyleft/gpl.html" target="_blank">GPL licenced</a>.</p>
<p>Update: The project is hosted <a title="Qool on Sourceforge" href="https://sourceforge.net/projects/qool/" target="_blank">on Sourceforge</a> too. Anyone interested can opt in for membership.</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/logo1.png" rel="lightbox[444]"><img class="alignright size-full wp-image-447" title="logo1" src="http://jeez.eu/wp-content/uploads/2009/09/logo1.png" alt="logo1" width="278" height="76" /></a></p>
<h3>What is Qool</h3>
<p>Qool is a content management system (framework) that is greatly inspired by Joomla and Wordpress. It is extendable and fast. It is completely modular and nearly all functionality can be substituted with ease.</p>
<h3>Built-in Tools</h3>
<p>We have added some extra functionality in Qool&#8217;s core.The admin module is one of the 3 pre-installed modules (the others are the user manager module and the system module) and has built in features like:</p>
<ul>
<li>Image Editor</li>
<li>Archive Editor</li>
<li>Text Editors</li>
<li>Rich Text Editor</li>
<li>Language Editing</li>
<li>Reading of Microsoft Excel files</li>
</ul>
<h3>Analysis of Qool Features</h3>
<p><strong>Multisite creation</strong></p>
<p>Qool supports a Wordpressμ like functionality allowing you to create and manage multiple sites running on the same package. So you can create unlimited sites with just one Qool installation.</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/sites.png" rel="lightbox[444]"><img class="size-full wp-image-448 alignnone" title="sites" src="http://jeez.eu/wp-content/uploads/2009/09/sites.png" alt="sites" width="568" height="241" /></a></p>
<p><strong>Comment Support on Everything</strong></p>
<p>The commenting system can be used to comment all modules and module items on the Qool cms. Each module can be configured to support commenting or not.</p>
<p><strong>Publish Content in Various Formats</strong></p>
<p>Qool can export content in various formats like:</p>
<ul>
<li>PDF</li>
<li>XML</li>
<li>RTF</li>
<li>Open Document Text</li>
<li>Printer Friendly Format</li>
</ul>
<p><strong>Modules Support Multisites too</strong></p>
<p>Each module runs the same way Qool does. So you can use the same module for any site, without the need of seperate folders and directories and not mess each other around. Modules can use their own blocks.</p>
<p><strong>Wordpress Plugins Support (Experimental)<br />
</strong></p>
<p>Qool is able to run some Wordpress plugins too. Most of filter type plugins can be run in Qool too. For example the<a title="Share Buttons plugin" href="http://www.qoolsoft.gr/?switchTheme=WP-pixeled" target="_blank"> share buttons</a> plugin for WP</p>
<p><strong>SEF URLs</strong></p>
<p>Qool CMS supports SEF URLs by default. A typical Qool URL looks like:<em> www.example.com/articles/article-title.htm</em></p>
<p><strong>Templates</strong></p>
<p>Not only Qool has it&#8217;s own template system based on Smarty, but it also supports Wordpress, Xoops and Drupal themes with little or no modifications. Some examples of this functionality :</p>
<ul>
<li>Qool Running with the <a title="Qool Using WP theme" href="http://www.qoolsoft.gr/?switchTheme=WP-pixeled" target="_blank">Wordpress Pixel Theme</a></li>
<li>Qool Running with the <a title="Qool Using Drupal Theme" href="http://www.qoolsoft.gr/?switchTheme=DRUPAL-Earth_birthday" target="_blank">Green Drupal Theme</a></li>
<li>Qool Running with the <a title="Qool Using Xoops Theme" href="http://www.qoolsoft.gr/?switchTheme=XOOPS-EADJ2.1" target="_blank">EADJ2.1 Xoops Theme</a></li>
</ul>
<p><strong>Localization</strong></p>
<p>Qool takes into consideration user locales. It can also be translated to any language using the builtin language files editor.</p>
<p><strong>Easy and Safe module setup</strong></p>
<p>Installing and removing modules is plain easy. Everything is controlled from the Qool system and if a module fails to install, the process rolls back and everything is like before.</p>
<p><strong>Internal Recycle Bin</strong></p>
<p>You can delete and restore nearly anything. From articles to users and comments, Qool CMS treats everything as content that can be managed.</p>
<p><strong>SQL abstraction layer</strong></p>
<p>The CMS uses the PEAR DB package to support other databases than MySQL. MySQL is officialy supported but the community can use the layer to add support for other DBs too.</p>
<p>Qool CMS also supports and has functionality for:</p>
<ul>
<li>Content Approval</li>
<li>Pagers</li>
<li>Macro Language</li>
<li>Email Posting</li>
<li>Image resizing</li>
<li>File searching</li>
<li>RPC</li>
<li>Shortcuts</li>
<li>Session Management</li>
<li>Caching</li>
<li>Zip, Rar, Tar Support</li>
<li>Email Client</li>
<li>Versioning</li>
<li>Workflow Engine</li>
<li>Sitemaps for Search Engines</li>
<li>Audit Trails</li>
<li>FTP Support</li>
<li>File Manager</li>
<li>Antiflood mechanism</li>
</ul>
<p>We make a call to the Open Source community to help us improve Qool CMS. We know that the code can be better, more secure, and faster. We want to make this cms the bridge of features from popular CMS&#8217;s like Wordpress, Xoops, Drupal and Joomla and leave out all the not needed functionality.</p>
<h3>API Documentation and Qool Manual</h3>
<p>The manual(not complete) and some api documentation can be <a title="Qool CMS Manual" href="http://manual.qoolsoft.gr/" target="_blank">found online</a> and is also included in the Qool Package bellow.</p>
<h3>Download</h3>
<p>You can download <a title="Download Qool CMS" href="https://sourceforge.net/projects/qool/files/Qool_OSS_V1.0.zip/download" target="_blank">Qool CMS</a> from Sourceforge</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=444&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F09%2F28%2Fintroducing-qool-cms-a-new-open-source-cms%2F&amp;linkname=Introducing%20Qool%20CMS.%20A%20New%20Open%20Source%20CMS"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/09/28/introducing-qool-cms-a-new-open-source-cms/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Excellent and Free Image Editor Scripts For Your Sites</title>
		<link>http://jeez.eu/2009/09/27/excellent-and-free-image-editor-scripts-for-your-sites/</link>
		<comments>http://jeez.eu/2009/09/27/excellent-and-free-image-editor-scripts-for-your-sites/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 09:51:55 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=427</guid>
		<description><![CDATA[Having an image editor able to resize, crop, and edit images right from your site is a great [...]]]></description>
			<content:encoded><![CDATA[<p>Having an image editor able to resize, crop, and edit images right from your site is a great way to be more productive. This list is about web based image editors and their features.</p>
<h3>1) <a title="AIE" href="http://sourceforge.net/projects/akoie/" target="_blank">AIE (Ajax-Image-Editor)</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/aie.png" rel="lightbox[427]"><img class="alignnone size-large wp-image-428" title="aie" src="http://jeez.eu/wp-content/uploads/2009/09/aie-600x297.png" alt="aie" width="600" height="297" /></a></p>
<p>AIE (Ajax Image Editor) is a rich internet application for manipulating images online. It&#8217;s works with Mozilla Firefox and Internet Explorer. It uses HTML, JavaScript and Ext JS on client side and ImageMagick and PHP on server side.<br />
AIE (Ajax Image Editor), formely known as Akoie was released as open source under the GNU General Public License (GPL) in 2007.</p>
<h3>2) <a title="imageEdit" href="http://sourceforge.net/projects/imageedit/" target="_blank">imageEdit</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/imageedit.png" rel="lightbox[427]"><img class="alignnone size-large wp-image-429" title="imageedit" src="http://jeez.eu/wp-content/uploads/2009/09/imageedit-600x444.png" alt="imageedit" width="600" height="444" /></a></p>
<p>imageEdit is a web based frontend for the PHP5 and GD image manipulation functions/libraries. It is primarily designed for non-technical users to have &#8220;desktop style&#8221; image editing capabilities. Experienced web developers will find many familiar filters and editing functions which allow them to make quick edits w/o having reload load images to a website.</p>
<h3>3) <a title="Asido" href="http://sourceforge.net/projects/asido/" target="_blank">Asido</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/Asido_3.jpg" rel="lightbox[427]"><img class="alignnone size-large wp-image-430" title="Asido_3" src="http://jeez.eu/wp-content/uploads/2009/09/Asido_3-600x450.jpg" alt="Asido_3" width="600" height="450" /></a></p>
<p>Asido is a PHP (PHP4/PHP5) image processing solution, with &#8220;pluggable&#8221; drivers(adapters) for virtually any environment (GD2, Image Magick, etc). Asido does: various resize routines, watermark, rotation, copy images, cropping, grayscale, convert, etc.</p>
<h3>4) <a title="Wimp" href="http://sourceforge.net/projects/wimp/" target="_blank">Wimp &#8211; Web Image Manipulation Editor</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/wimp.jpg" rel="lightbox[427]"><img class="alignnone size-large wp-image-431" title="wimp" src="http://jeez.eu/wp-content/uploads/2009/09/wimp-600x429.jpg" alt="wimp" width="600" height="429" /></a></p>
<p>Wimp is the acronym of Web Image Manipulation Program. This project follow two lines of interest. First, there is the managment of canva with DOM concepts (javascript). Next, there is the managment of images (files, rendering&#8230;etc) for servlet usage.</p>
<h3>5) <a title="Snipe Gallery" href="http://sourceforge.net/projects/snipegallery/" target="_blank">Snipe Gallery</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/snipe.jpg" rel="lightbox[427]"><img class="alignnone size-full wp-image-432" title="snipe" src="http://jeez.eu/wp-content/uploads/2009/09/snipe.jpg" alt="snipe" width="423" height="480" /></a></p>
<p>Snipe Gallery is a PHP/mySQL image management system featuring (but never limited to!): automatic watermarking, dynamic thumbnailing, online cropping/custom thumbnail tool, image dropshadows, custom &#8220;picture frames&#8221; and more!</p>
<h3>6) <a title="Ajax Image Editor" href="http://www.ajaxprogrammer.com/?p=9" target="_blank">Ajax Image Editor</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/ajaxphpimage.png" rel="lightbox[427]"><img class="alignnone size-large wp-image-433" title="ajaxphpimage" src="http://jeez.eu/wp-content/uploads/2009/09/ajaxphpimage-600x511.png" alt="ajaxphpimage" width="600" height="511" /></a></p>
<p>An excellent script. Supports Undo-Redo, resizing, rotating, crop and some great effects like Gray scale, Sepia, Pencil, Emboss, Blur, Smooth, Invert and more. You can easily add it to your own site with little effort.</p>
<h3>7) <a title="JPIE" href="http://www.jpie.net/" target="_blank">JPIE &#8211; Javascript &amp; PHP Image Editor</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/jpie.jpg" rel="lightbox[427]"><img class="alignnone size-large wp-image-435" title="jpie" src="http://jeez.eu/wp-content/uploads/2009/09/jpie-600x433.jpg" alt="jpie" width="600" height="433" /></a></p>
<p>PIE Project allows users to edit images online. JPIE needs GD (PHP extension), Javascript and AJAX for this task.With JPIE v. 0.1 you can:</p>
<ul>
<li> Open JPEG files</li>
<li> Save JPEG files</li>
<li> Crop an area of the Image</li>
<li> Resize images</li>
<li> Rotate images</li>
<li> Infinite undo and redo</li>
</ul>
<h3>8) <a title="PHP Image Editor" href="http://www.phpimageeditor.se/" target="_blank">PHP Image Editor</a></h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/phpimage.png" rel="lightbox[427]"><img class="alignnone size-large wp-image-436" title="phpimage" src="http://jeez.eu/wp-content/uploads/2009/09/phpimage-600x463.png" alt="phpimage" width="600" height="463" /></a></p>
<p>PHP Image Editor is available as a Joomla plugin but you can also use it as a standalone or intergrate it in other CMS&#8217;s too. Supports image resizing, crop, gray scale effect and rotating.</p>
<h3>9) Maya Online Free</h3>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/linb.png" rel="lightbox[427]"><img class="alignnone size-large wp-image-437" title="linb" src="http://jeez.eu/wp-content/uploads/2009/09/linb-600x317.png" alt="linb" width="600" height="317" /></a></p>
<p>Maya online image editor is a totally free web based script. It provides WYSIWYG way to enables users to:</p>
<ul>
<li>Upload file from local file system or remote url</li>
<li>Resize, crop, rotate, mirror images or photos</li>
<li>Add text with various font, color, size at any point of image/photo</li>
<li>Overlay images, avatars</li>
<li>Picture frame or add a mask</li>
<li>Convert, sharpen, color tone</li>
<li>Near 10 filters available, including gray scale, negate, edge detect, embosses, gaussian blur, blur, mean removal and smooth</li>
<li>Unlimited steps of redo/undo</li>
</ul>
<h3>10) <a title="Image Manager for HTMLArea" href="http://sourceforge.net/projects/imgmngedt/" target="_blank">ImageManager + Editor for HTMLArea</a></h3>
<p>PHP Image Manager, Image Editor for HTMLArea. Requires PHP, GD or NetPBM or ImageMagick. Manager &#8211; cached thumbnails (JPEG, PNG, GIF depending on GD), filmstrip view, delete, create folders (if permitting), uploads. Editor &#8211; Resize, Crop, Rotate, Save as. You can use it as a standalone app or as a HTMLArea plugin.</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=427&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F09%2F27%2Fexcellent-and-free-image-editor-scripts-for-your-sites%2F&amp;linkname=Excellent%20and%20Free%20Image%20Editor%20Scripts%20For%20Your%20Sites"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/09/27/excellent-and-free-image-editor-scripts-for-your-sites/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web 3.0 Will Be All About Web Services. Learn The Basics</title>
		<link>http://jeez.eu/2009/09/26/web-3-0-will-be-all-about-web-services-learn-the-basics/</link>
		<comments>http://jeez.eu/2009/09/26/web-3-0-will-be-all-about-web-services-learn-the-basics/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 17:23:59 +0000</pubDate>
		<dc:creator>Kerasiotis Vasileios</dc:creator>
				<category><![CDATA[Services]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Developing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[SOAP]]></category>

		<guid isPermaLink="false">http://jeez.eu/?p=404</guid>
		<description><![CDATA[The web has evolved in many ways. From the static html web to the dynamic pages and from [...]]]></description>
			<content:encoded><![CDATA[<p>The web has evolved in many ways. From the static html web to the dynamic pages and from the publisher&#8217;s content  to the user created content (web 2), the web has gone through many stages. As mentioned at the <a title="Service Web 3.0 Project" href="http://www.serviceweb30.eu/cms/" target="_blank">Service Web 3.0 project</a>, the next web stage will be web services driven. We will be able to connect any device with the internet and manage this device remotely.</p>
<p>So, if web services is the future, you should be able to create and use them so that it will be easier for you to follow the evolution it will bring. We will try to give you some info about web services using <a title="SOAP" href="http://en.wikipedia.org/wiki/SOAP" target="_blank">SOAP</a>. How to create a service, how to use it from a web based or a desktop application and some known web services that might come handy.</p>
<h3>The Tools</h3>
<p>We will be using some tools. The first tool we need to have is <a title="soapUI" href="http://www.soapui.org/" target="_blank">soapUI</a>.</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/soapui.gif" rel="lightbox[404]"><img class="alignnone size-large wp-image-405" title="soapui" src="http://jeez.eu/wp-content/uploads/2009/09/soapui-600x415.gif" alt="soapui" width="600" height="415" /></a></p>
<p>soapUI is a free and open source desktop application for</p>
<ul>
<li> inspecting Web Services</li>
<li> invoking Web Services</li>
<li> developing Web Services</li>
<li> Web Services Simulation and Mocking</li>
<li> Functional, Load and Compliance testing of Web Services</li>
</ul>
<p>It is mainly aimed at developers and testers providing or consuming WSDL or REST based Web Services (Java, .net, etc). Functional and Load Testing can be done both interactively in soapUI or within an automated build or integration process using the soapUI command line tools.<br />
Mock Web Services can easily be created for any WSDL and hosted from within soapUI or using the command-line MockService runner. IDE-plugins are available for</p>
<ul>
<li> eclipse plug in</li>
<li> IntelliJ IDEA plug in</li>
<li> NetBeans plug in</li>
</ul>
<p>soapUI requires Java 1.5 and is licensed under the LGPL license.</p>
<p>We will also need a PHP library that will make our life easier. We will be using <a title="NuSOAP" href="http://sourceforge.net/projects/nusoap/" target="_blank">NuSOAP </a>for this. NuSOAP is a rewrite of SOAPx4, provided by NuSphere and Dietrich Ayala. It is a set of PHP classes &#8211; no PHP extensions required &#8211; that allow developers to create and consume web services based on SOAP 1.1, WSDL 1.1 and HTTP 1.0/1.1.</p>
<p>And last but not least,  <a title="Visual C++" href="http://www.microsoft.com/express/" target="_blank">Microsoft Visual C++ Express Edition</a> in order to create our desktop client. You might also need to get a <a title="vBulletin smilies pack" href="http://www.vbulletinsmileys.com/download-manager.php?id=23" target="_blank">smilies pack</a>, if you don&#8217;t have one.</p>
<h3>The Challenge</h3>
<p>We need a web service that will accept simple text as argument and it will return an image url depending on the command given. Some of you might have guessed that this service is a smilies web service :)</p>
<h3>The Database Structure</h3>
<p>We need only one table for this service. Create a new database named <strong>servesmiles </strong>and add a new table named <strong>smilies</strong>.</p>
<p>Table smilies:</p>
<pre class="brush: sql;">CREATE TABLE IF NOT EXISTS `smilies` (
 `id` int(11) NOT NULL auto_increment,
 `image` varchar(250) collate utf8_unicode_ci NOT NULL,
 `code` varchar(50) collate utf8_unicode_ci NOT NULL,
 PRIMARY KEY  (`id`),
 KEY `code` (`code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;</pre>
<h3>The Directory Structure</h3>
<p>Create a directory named <strong>smileserv </strong>and 1 subfolder named <strong>smilies </strong>and place your smilies in it. We will also place the NuSOAP library in a folder named <strong>nusoap</strong>. There are 2 files we need to create too. The first one named <strong>server.php</strong> and the second one named <strong>index.php</strong> :</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/dirs1.png" rel="lightbox[404]"><img class="alignnone size-large wp-image-408" title="dirs" src="http://jeez.eu/wp-content/uploads/2009/09/dirs1-600x42.png" alt="dirs" width="600" height="42" /></a></p>
<h3>The Service</h3>
<p>The service is a simple function that will query the database and return the smilie path. We don&#8217;t include a password cause we test it local. You might need a password if you use it online.</p>
<pre class="brush: php;">function getSmilie($text){
 //connect to the database
 $conn = new PDO('mysql:host=localhost;dbname=servesmiles', 'root', '');
 //setup the sql statement
 $sql = &quot;SELECT * FROM `smilies` WHERE `code`=?&quot;;
 $data = array($text);
 //prepare
 $sth = $conn-&gt;prepare($sql);
 //execute
 $sth-&gt;execute($data);
 //return the image
 $result = $sth-&gt;fetch();
 return $result['image'];
}</pre>
<p>So, our function will look into the database table for the image code provided and it will return the smilie image path. Next thing to do is to create the web service server file.</p>
<h3>The Server</h3>
<p>Creating a server is very easy using the NuSOAP library. All you have to do is to include the nusoap library and register the methods you will use:</p>
<pre class="brush: php;">// load SOAP library
require_once(&quot;./nusoap/nusoap.php&quot;);
// load library that holds implementations of functions we're making available to the web service

// set namespace
$ns=&quot;http://localhost&quot;;
// create SOAP server object
$server = new soap_server();
$server-&gt;soap_defencoding = &quot;utf-8&quot;;
$server-&gt;decode_utf8 = false;
// setup WSDL file, a WSDL file can contain multiple services
$server-&gt;configureWSDL('JeezApi',$ns);
$server-&gt;wsdl-&gt;schemaTargetNamespace=$ns;
// register a web service method
$server-&gt;register('smileme',
 array('smilecode' =&gt; 'xsd:string'),     // input parameters
 array('smilepath' =&gt; 'xsd:string'),     // output parameter
 $ns
 );

function smileme($smilecode){
 //include the service file
 include &quot;./index.php&quot;;
 return new soapval('smilepath','xsd:string',getSmilie($smilecode));

}// service the methods
$server-&gt;service($HTTP_RAW_POST_DATA);</pre>
<p>Now we are almost ready. You can check what your server.php file does by opening it in your browser:</p>
<p>http://localhost/smileserv/server.php:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/api1.png" rel="lightbox[404]"><img class="alignnone size-large wp-image-412" title="api1" src="http://jeez.eu/wp-content/uploads/2009/09/api1-600x163.png" alt="api1" width="600" height="163" /></a></p>
<p>http://localhost/smileserv/server.php?wsdl :</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/wsdl.png" rel="lightbox[404]"><img class="alignnone size-large wp-image-413" title="wsdl" src="http://jeez.eu/wp-content/uploads/2009/09/wsdl-600x423.png" alt="wsdl" width="600" height="423" /></a></p>
<p>So, we created a web service server with less than 27 lines of code, using the NuSOAP library.</p>
<h3>Testing the Service</h3>
<p>We need to test the service. This is where soapUI comes into play. Load soapUI and create a new project:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/soapuinewproject.png" rel="lightbox[404]"><img class="alignnone size-large wp-image-414" title="soapuinewproject" src="http://jeez.eu/wp-content/uploads/2009/09/soapuinewproject-600x350.png" alt="soapuinewproject" width="600" height="350" /></a></p>
<p>Make sure you fill in the correct WSDL URI and press the OK button.</p>
<p>If everything is ok, you should see something like this:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/soapuiproj.png" rel="lightbox[404]"><img class="alignnone size-full wp-image-415" title="soapuiproj" src="http://jeez.eu/wp-content/uploads/2009/09/soapuiproj.png" alt="soapuiproj" width="285" height="142" /></a></p>
<p>Now, if you double click on the <em>Request 1</em> option, a new window will open that looks like this:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/testsoap.png" rel="lightbox[404]"><img class="alignnone size-large wp-image-416" title="testsoap" src="http://jeez.eu/wp-content/uploads/2009/09/testsoap-600x387.png" alt="testsoap" width="600" height="387" /></a></p>
<p>Try clicking the green arrow on top left of this window. You will notice that you get an empty response. This is because there are no data in our database table. Try inserting an image name and a code in the smilies table. For the example bellow we will use &#8220;:P&#8221; as a smilie code that will point to the tongue.gif file (you can find it in the smilies package provided above):</p>
<pre class="brush: sql;">INSERT INTO `servesmiles`.`smilies` (
`id` ,
`image` ,
`code`
)
VALUES (
NULL , 'tongue.gif', ':P'
);</pre>
<p>Now lets try our service. Load the Request 1 option from soapUI and replace the &#8220;?&#8221; with &#8220;:P&#8221;. Press the green arrow button on the top left and the window will look like this:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/soapresult.png" rel="lightbox[404]"><img class="alignnone size-large wp-image-418" title="soapresult" src="http://jeez.eu/wp-content/uploads/2009/09/soapresult-600x98.png" alt="soapresult" width="600" height="98" /></a></p>
<p>This means that our service works as it should. Now we should see how we can use the service from another site using PHP.</p>
<h3>A PHP Client</h3>
<p>Creating a client for the service is even easier. The way to go is similar to the server creation process. You include the NuSOAP library and create a new client object.</p>
<p>File <strong>client.php</strong>:</p>
<pre class="brush: php;">//include the nusoap library
include './nusoap/nusoap.php';
//set the wsdl file src
$wsdl=&quot;http://localhost/smileserv/server.php?wsdl&quot;;
//and create a client
$c=new nusoap_client($wsdl,'wsdl');
$t=array('smilecode'=&gt;':P');
//then call the method smileme
$file = $c-&gt;call('smileme', $t);
//and echo the image
echo &quot;&lt;img src='http://localhost/smileserv/smilies/$file' /&gt;&quot;;</pre>
<p>You can now try the client. Point your browser to the client.php file and you will be able to see the tongue.gif file</p>
<h3>A  C++ Client</h3>
<p>We will create a C++ client using Microsoft Visual C++ Express edition. Create a windows forms project with 1 textbox 1 button and a webbrowser control:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/cppclient.png" rel="lightbox[404]"><img class="alignnone size-full wp-image-420" title="cppclient" src="http://jeez.eu/wp-content/uploads/2009/09/cppclient.png" alt="cppclient" width="312" height="301" /></a></p>
<p>Next, add a new web reference to your project:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/addref.png" rel="lightbox[404]"><img class="alignnone size-full wp-image-421" title="addref" src="http://jeez.eu/wp-content/uploads/2009/09/addref.png" alt="addref" width="243" height="484" /></a></p>
<p>Fill in the url to the server.php file. Don&#8217;t forget to add the wsdl parameter:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/cppwebref.png" rel="lightbox[404]"><img class="alignnone size-large wp-image-422" title="cppwebref" src="http://jeez.eu/wp-content/uploads/2009/09/cppwebref-600x400.png" alt="cppwebref" width="600" height="400" /></a></p>
<p>Now double click the &#8220;Hit me!&#8221; button and put this code in the button1_Click method:</p>
<pre class="brush: cpp;">localhost::JeezApi^ proxy =
 gcnew localhost::JeezApi();
 this-&gt;webBrowser1-&gt;Navigate(System::String::Concat(&quot;http://localhost/smileserv/smilies/&quot;,proxy-&gt;smileme(this-&gt;textBox1-&gt;Text)));</pre>
<p>Thats it! Now Run your client and fill in the &#8220;:P&#8221; code we set in the database:</p>
<p><a href="http://jeez.eu/wp-content/uploads/2009/09/client.png" rel="lightbox[404]"><img class="alignnone size-full wp-image-423" title="client" src="http://jeez.eu/wp-content/uploads/2009/09/client.png" alt="client" width="296" height="292" /></a></p>
<p>I hope this tutorial was fun to read (:</p>
<h3>Some Known Web Services</h3>
<p>Yahoo! offers some great web services. You can use the <a title="Yahoo! Developer Network" href="http://developer.yahoo.com/everything.html" target="_blank">Yahoo! network</a> to create your own search engine, spell checkers and many more. <a title="Microsoft Bing API" href="http://msdn.microsoft.com/en-us/library/dd251056.aspx" target="_blank">Microsoft </a>also offers Bing services and <a title="Google APIs" href="http://code.google.com/more/#products-products-accounts" target="_blank">Google</a> does also. Nearly all known networks (facebook, Twitter, Flickr etc) provide web services.</p>
<p>You can also find interesting web services with the <a title="Web Services Discovery" href="http://webservices.seekda.com/" target="_blank">seekda web services</a> directory. For example the <a title="Excel Web Service" href="http://webservices.seekda.com/providers/iefp.pt/ExcelService" target="_blank">Excel web service</a>.</p>
<img src="http://jeez.eu/?ak_action=api_record_view&id=404&type=feed" alt="" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjeez.eu%2F2009%2F09%2F26%2Fweb-3-0-will-be-all-about-web-services-learn-the-basics%2F&amp;linkname=Web%203.0%20Will%20Be%20All%20About%20Web%20Services.%20Learn%20The%20Basics"><img src="http://jeez.eu/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jeez.eu/2009/09/26/web-3-0-will-be-all-about-web-services-learn-the-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
