Category: Cool Webapps

Golpo is on the way

I am working these days on my bangla chat portal ‘Golpo’. I am very ambitious about this project and I am trying to make it one of the most accessed website in near future (uh eh, I am overoptimistic, always).. I am adding some unique features which are not usually present in this kind of services. I have also a plan to release it’s desktop version.

I will run this project solely by me, no media or no parenting company, solely by me. Because I always feel comfort while there is no one over my head to report, a common symptom of all developers indeed. So How did I spend last couple of days? Last couple of days I was very bz with pageflakes. Its one of the best company I have ever seen in Bangladesh, really so cool.

I am currently seeking PHP developers for somewherein. Its getting hard day by day to find good developers around.

FCiCQ contributed some cool pathces in my wordpress4sqlite project. A severe bug fixed in one of my old projects. A new moderation panel has been developed for somewherein blog. I am also creating a bdjobs account for me, well, may be useless at all.

Now just finishing the book, hopefull it will release very soon. Ah, I am being a robot, a total robot.

IDG.no – our project for last 4 months is now live

IDG
I had been introduced to escenic content management framework in last june. After getting introduced our first project was developing solution for IDG, a famous magazine publishing company. We started developing the solution for http://www.idg.no in may and today, the site has been launched.

beside our nordic partner, we were around 7 developer here in somewherein java team. Hasan, Misho, Milton, Shahana, Saikat, Ipshita and I.

After a long development time its finally live now. You can take a look at the live version here at http://www.idg.no

Working for PageFlakes

PageFlakes

I join PageFlakes this month as a Flake Developer. PageFlake team recently won the Ajax StartPage race beating Microsoft and Google. As a result, one of the most successful venture capital company BenchMark capital invetsed $5 million in pageflakes.

PageFlakes has around 18 members here in Bangladesh, one of the greatest developer team I have ever seen. Omar Al Zabir, the CTO of PageFlakes is working and coordinating the BD team from here.

I am enjoying my time with PF. Currently I am developing Graph Flake for PageFlakes which will collect remote data in different format and compose them into nicely viewable charts. I hope I can release it within this week.

Thanks to all in PF for their wonderful effort.

Five Great CMS to vote – Packt Open Source Award

Packt arranged this open source CMS award since july. People could cast vote for their favorite CMS and The top five were supposed to be selected in first round. The first round is over. The following CMS are the top scorer and now you can vote among these five. The top three will be awarded by $5000, $3000 and $2000 respectively.

* Drupal
* e107
* Joomla
* Plone
* Xoops

So goto the above banner and vote for your favorite CMS. Voting will commence on September 12 and will run until November.

A brand new day

Yesterday Dhaka was a hot city due to political strike of opposition party. I was in home with new idea and works. I wake up at 9PM and started writing the pending and last chapter of my wordpress book, “developing widgets and plugins”. Ayesha and Afif went to a relatives house so that I was all alone in home and my work ran on full throttle. I completed around 13 pages yesterday.

At night I started my long planned project “Golpo”, the Unicode based bangla group chat solution for netizens. I was working with the DAO and I almost finished it. I was planning for this project for a long time and DB schema was ready, just needed to start the work.

From now on, I will publish my upgrade regularly on this project. I know that I will be stuck with UI part because I am not a good designer.

Lets roll the project – It will be finished soon.

Creating Thumbnail of WebPages using WebThumb API

Joshua Eichorn, the author of “Understanding AJAX” and a renowned php developer recently released WebThumb, a site to create thumbnails of web pages. The whole system is developed in c and it uses Mozilla engine to render the webpage into images. Shortly after publishing WebThumb, he released a set of API so that developers can create thumbnails from their applications. This API is very simple to use. In this Article we are going to discuss how we can incorporate WebThumb API in PHP to create thumbnail of web pages from our PHP applications.

Using WebThumb API, you can generate a thumbnail in three steps. First you have to place a request containing the URL. As soon as your request is successful, WebThumb store your request in queue. That means you are not getting the thumbnail instantly (well, there are other factors also. to fetch an url requires time, so it is not possible to generate the thumbnail in real time) – In second step you have to check whether your thumbnail has been generated or it is still in the queue. If you get a green signal, you will proceed to the third step where you have to request a download URL of your thumbnails. Before jumping into the code, let’s take a look to the API format.

Step 1: Place a request
To request thumbnail for an URL, you should post an XML message to the WebThumb server in the following format

<webthumb>
	<apikey>apikey here</apikey>
	<request>
		<url>webthumb.bluga.net</url>
	</request>
</webthumb>

You may wonder at this stage that we didn’t discus about the apikey yet. So what is this and where from you can obtain your key? (more…)

Generate Thumbnail of Any Webpage using PHP

Joshua Eichorn recently released a fantastic service for creating thumbnail of webpages at runtime. The service is named as “WebThumb” . Later he relased some API for developers to incorporate the service using a API-Key. The API-Key is available after registering at the site.

Today I made a PHP Wrapper of his WebThumb API using Curl. Now you can create Thumbnails using this wrapper class from PHP. I released my wrapper under LGPL and setup and online version also.

See the demo Online

Download The Code

I hope you will enjoy it.

Unicode bangla writing using Bijoy (or Unijoy) keymap

Few days ago I released unicode based transliterator to write unicode bangla in web apps. Since then I was working on a unijoy version of that script.

Good news that the project has been finished. Last night I just uploaded all the contents in google project. This is a small javascript which will help to write unicode bangla in web applications using bijoy (or unijoy) keyboard mapping.

Old style Ref is also supported in this version.

You can see a live version of this script here
http://phpxperts.net/unijoy/example.htm

Or you can browse the subversion repository at
http://unijoybangla.googlecode.com/svn/trunk

Now you can write bangla in both phonetically and in unijoy key map.

Anyone will help me to release both of these scripts as a firefox extension?

Qucik and Dirty – using 2 DB concurrently in MySQL

Day b4 yesterday I was stuck with a simple and frustrating problem. You know that using builtin mysql support in PHP you cannot use concurrently more than one database to work with. That was also my problem while working in such a project where I badly need to read data from one database, validate it against existing data in second database and then insert the data into the second database. So you got the project? Yes its a simple data migration project. But the problem is that I cannot import the old database tables into the new one and I have to work with them keeping seperate.

So you may ask how about reading all the data from first database, then store it in a temporary media and then again read them while inserting in second db. Well that was not possible because in first DB I had 10 tables and in I have to merge all those info in two table in second database. Also I have to validate some of those data against existing data in second DB.

There comes the idea. What I did is a quick-n-dirty solution of this problem. I connected to the first DB using MySQL API, and I connected to the 2nd DB using MySQLi API. That gives me live connection of two DB at the same time. So I read data from first DB using MySQL API and then inserted using MySQLi API.

For sure I could apply another solutions like temporary storage. But why bother when you can trick??? This is just a one time operation, no matter how you do it. All you need is a merged output, at minimum efforts. Ha Ha Ha.

Using Blog API – Part 2: Get Categories and Posts

In our first part we just discussed what is a blogging API and how we can utilize them. In this post I am going to show how to fetch available categories in a blog and how to retrieve a specific post.

To retrieve available categories you have to use metaWeblog.getCategories as shown below

<?php
	include("xmlrpc.inc.php");

	$c = new xmlrpc_client("/xmlrpc.php", "hasin.wordpress.com", 80);
	$c->return_type = 'phpvals'; // let client give us back php values instead of xmlrpcvals

	echo "<pre>";

	$x = new xmlrpcmsg("metaWeblog.getCategories",array(php_xmlrpc_encode("1"),
	                                     php_xmlrpc_encode("someusername"),
	                                     php_xmlrpc_encode("somepassword")));


	$r =$c->send($x);
    if ($r->errno=="0")
	print_r($r);
?>

And To retrieve a specific post you have to metaWeblog.getPost API as shown here

<?php
	include("xmlrpc.inc.php");

	$c = new xmlrpc_client("/xmlrpc.php", "hasin.wordpress.com", 80);
	$c->return_type = 'phpvals'; // let client give us back php values instead of xmlrpcvals

	echo "<pre>";

	$x = new xmlrpcmsg("metaWeblog.getPost",array(php_xmlrpc_encode("1"), //postId
	                                     php_xmlrpc_encode("someusername"),
	                                     php_xmlrpc_encode("somepassword")));


	$r =$c->send($x);
    if ($r->errno=="0")
	print_r($r);
?>