Beendobox :: Check and Send email without leaving Facebook!

May 9, 2008

Finally we were able to release an Alpha version of the Beendobox on Facebook. Now we can say there is a web application that makes life easier when accessing multiple email accounts. Currently it supports Hotmail, Yahoo & Gmail and hoping AOL & POP3 very soon.

Find it here: http://apps.facebook.com/beendobox/

Check and Send email without leaving Facebook! Beendo’s Beendobox (Alpha) application provides one-stop access to all your email inboxes from Hotmail, Yahoo! Mail, and Google Gmail.

Beendobox on Facebook

Try it out today. Beendobox is safe and secure. Your passwords are not stored unless your choose to “remember passwords” for extra login convenience.

Add this application if you want to make your emailing life easier!

Please send feedbacks (bugs & suggestions) to us so we can work for a better release.

Thanks.


Rupom


Google App Engine needs PHP support

April 11, 2008

Google App Engine was launched but it does not support PHP. This article presents some ideas that may help Google adding PHP support sooner rather than later.

Please read the full story and digg it to let Google know our combined voice.

read more | digg story


My Facebook Applications

March 1, 2008

I am playing with FB apps. See the ones that I added since yesterday:

1. http://apps.facebook.com/phpresource/ - for phpResource Feeds

2. http://apps.facebook.com/crickets/ - for cricket updates live from cricinfo.com

3. http://apps.facebook.com/cricketbd/- for cricket updates live from cricinfo.com (Bangladesh cricket included)

Do you want to build one? Follow my previous post. It’s very easy to create one.

Thanks.


Rupom


phpResource - My First Facebook Application

February 29, 2008

Today I developed a simple facebook application that reads and parses RSS from phpResource. It’s my first one during the first touch of facebook platform. See my first app here:

http://apps.facebook.com/phpresource/

It’s very easy to add a facebook app. I want to share how easy it was to add an app in facebook. If you did not work on facebook app but want to develop your first one in an hour, here is a summary of working steps for you that will help you move very easily:

1. Go to http://developers.facebook.com/resources.php and download a client library. I downloaded PHP (4 and 5) client library.
So you have the “facebook-flatform” files(extracted from facebook-flatform.tar.gz) to work on. I put the files into a dir named “facebook” (renamed dir “facebook-platform” to “facebook”) in my web server.

2. Add facebook developer application (go to http://www.facebook.com/developers/ and see option to setup application). You will be given an app secret key and an api key. Note that these keys are very important.

3. Go to http://developers.facebook.com/step_by_step.php and read and follow their easier guidelines.

4. While you are following the guidelines as per step 3, you need to put value in “Callback Url” field. It’s the URL where you worked with “facebook-platform” files. For my case, it’s the “facebook” dir where I put the platform files. Before you put the callback URL, you need to do the following:
- write the sample code (into a file under platform dir “client”) provided in http://developers.facebook.com/step_by_step.php, don’t forget to use your key credentials. Say your filename is abcd.php
- write your target script which goes below the initial codes guided by http://developers.facebook.com/step_by_step.php. For my case, it was like following:

—————————–

<?php
require_once ‘appinclude.php’;

echo “<p>”;
require_once ‘phpresource.php’;
echo “</p>”;
?>

—————————–

where phpresource.php has its own output. You can see it here:

http://www.rupom.com/facebook/client/phpresource.php

Now you know what to put as the callback URL. It’s like http://www.yourdomain.com/facebook-platform/client/abcd.php, for my case it should be like: http://www.rupom.com/facebook/client/abcd.php (as I renamed “facebook-platform” to “facebook”).Save the settings and see your app URL. You are DONE!!

I will share more in future.

Thanks.


Rupom


Class Text Search Replace : New Update

February 23, 2008

Today I made an update of my class “Text Search Replace” at PHPClasses.org. This update will increase the search capability of the class. The initial release of the class could not search some special characters (well, I just forgot & missed this to put with the initial release). Later a user of this class (his name is “Robert”) noticed the problem and asked me for a solution. I was too busy to touch the class. But I managed time and fixed it. You can now work with special characters(especially the ones are part of regular expression syntax). I am sure this fix has increased the usability of this class to a large extent.

Please download the latest version from here:
http://www.phpclasses.org/browse/package/3211.html

Special thanks to Robert who noticed and informed me about the problem.

If you are a user of this class, please send me bugs, etc so I can work to improve its performances.


Rupom


Nov 2007 to Feb 2008 Summary

February 14, 2008

Long time I did not blog and share anything. So it’s time to share something that I have experienced in the last few months. Today I will talk a bit on all key happenings.

Nov 2007:
I bought a new laptop of my expected configuration. It is hp branded - 1.82 G Hz Processor, 1G RAM, 80 G HDD, blah blah. To me, it’s not less than a super computer for my web dev works. It came to my great helps when I went to village in the Eid Occasion. I stayed long time there, but did not feel that much prob as I was connected using GP Internet and the new laptop. FYI, GP net speed in the countryside is much better than what we normally get in Dhaka. I got 8-14K always. So it was a very enjoyable occasion - I worked at night and spent time with relatives during day. I donno when I will again get such moments.

Dec 2007:
Came back to Dhaka few days back (late Nov) and was looking for a new house bcoz the existing one had a lot of infrastructural probs. It was tough to find a desired sized house at the desired position. But we tried a lot. Later we got it and paid some upfront to keep it for us. At the same time I was enjoying the new project that we started in late September. It was coming along better and better.

I always had a desire to continue higher study. It did not happen bcoz of time, etc. This month I thought I would try once. Then I sat for an admission test at North South University for an MS degree in Comptuter Science & Engineering. The exam was not that good; but it was not bad bcoz I answered almost all questions (later I found some answers were wrong..LOL).

Jan 2008:
Another new year; ah, days pass very quickly. Happy new year friends..I know it’s a belated one, nvm. I started work at the current company just one year back from this January. So it was a good feeling that I had worked a period that could be measured in year’s scale.haha. I got admitted into NSU in the MS CSE program. I have taken only one course initially bcoz I have a very little time to spend on study right these months. Just checking myself by a single course as I was away from schooling long time(well I will take more on future though). My only course title is “Formal Methods in Software Engineering”, it’s a good course to understand software engineering. I only need to attend a class every week. So it seems easier to me.

Feb 2008:
Doing good in my project, enjoying works that I am engaged with. And this month I have a news for my “Gmail Addressbook Grabber” class users. I received a lot of requests to update the class, but time was killing me. Now I have one that I can release soon. Please wait few more days good guys. I will satisfy you all. I am almost out of contributing the open source community for a long time. But I must contribute there a lot, bcoz I love open source like many others ranging from newbies to geeks.

New year, new target:
This year I targeted to earn better to fulfill some targets. I did not look at money in the past, but this time I need to take care of my family, basic needs, etc - yes I must. I know I can earn much better (than what I earn now) if I run for money. In the new year, I got some good job offers at home and abroad, but I am working on a cool project that gives me pleasure in every working moments. It’s a project based on a new and innovative idea. I never want to miss such good chances. Because I know only one good project can enrich/alter/change the career level.

Today, Feb 14th, is the Valentine’s day. Wish you a great Valentine’s day!

Thanks for your time. Please pray for my goodness. Stay tuned.. :)

Take care.


Rupom


Firebug is known to make Gmail slow unless it is configured correctly

November 12, 2007

For the best Gmail performance, Gmail suggests disabling Firebug for www.google.com.

Windows or Linux Users

To disable Firebug:

  1. Click the green or red icon in the bottom right corner of the browser window to open Firebug.
  2. Click the bug icon in the top left corner of Firebug and select ‘Disable Firebug for mail.google.com.’

If you’d like to keep Firebug running, you may improve Gmail performance by following these steps:

  1. Click the green or red icon in the bottom right corner of the browser window to open Firebug.
  2. Click the Console tab.
  3. Select Options.
  4. Uncheck Show XMLHttpRequests.
  5. Click the Net tab.
  6. Select Options.
  7. Check Disable Network Monitoring.

Mac Users

To disable Firebug:

  1. Click the green or red icon in the bottom right corner of the browser window to open Firebug.
  2. Click the bug icon in the top left corner of Firebug and select ‘Disable Firebug for mail.google.com.’

If disabling Firebug for Gmail doesn’t improve performance results, you may have to entirely disable Firebug.

Source: mail.google.com/support

Rupom


40 Tips for Optimizing Your PHP Code

November 11, 2007
  1. If a method can be static, declare it static. Speed improvement is by a factor of 4.
  2. echo is faster than print.
  3. Use echo’s multiple parameters instead of string concatenation.
  4. Set the maxvalue for your for-loops before and not in the loop.
  5. Unset your variables to free memory, especially large arrays.
  6. Avoid magic like __get, __set, __autoload
  7. require_once() is expensive
  8. Use full paths in includes and requires, less time spent on resolving the OS paths.
  9. If you need to find out the time when the script started executing, $_SERVER[’REQUEST_TIME’] is preferred to time()
  10. See if you can use strncasecmp, strpbrk and stripos instead of regex
  11. str_replace is faster than preg_replace, but strtr is faster than str_replace by a factor of 4
  12. If the function, such as string replacement function, accepts both arrays and single characters as arguments, and if your argument list is not too long, consider writing a few redundant replacement statements, passing one character at a time, instead of one line of code that accepts arrays as search and replace arguments.
  13. It’s better to use select statements than multi if, else if, statements.
  14. Error suppression with @ is very slow.
  15. Turn on apache’s mod_deflate
  16. Close your database connections when you’re done with them
  17. $row[’id’] is 7 times faster than $row[id]
  18. Error messages are expensive
  19. Do not use functions inside of for loop, such as for ($x=0; $x < count($array); $x) The count() function gets called each time.
  20. Incrementing a local variable in a method is the fastest. Nearly the same as calling a local variable in a function.

….. ….
read more | digg story


Search and Replace in Several Files Using PHP and Perl

October 27, 2007

Search and replace of keywords are very important in programming especially when you are working with files. I prepared and released a PHP class for this purpose. You can check it here:

http://www.phpclasses.org/browse/package/3211.html

You can use this class very easily. It has also an option to log changes/replacements that have been done in the most recent operation. I want to show you how easily we can do the search and replace stuffs using this class:

————- Code ——————

<?php
require_once('TextSearch.class.php');
$path = "/path/to/your/dir"; //setting search path
$logFile = "/path/to/your/logFile"; //setting log file

$obj = new TextSearch();

//setting extensions to search files within
$obj->setExtensions(array('html','txt')); 

$obj->addExtension('php');//adding an extension to search within

$obj->setSearchKey('PHP');

//setting replacement text if you want to replace matches with that
$obj->setReplacementKey('phpResource');

$obj->startSearching($path);//starting search

$obj->showLog();//showing log

$obj->writeLogToFile($logFile); //writting result to log file

?>

------------ Code -------------------

Now that we have the PHP class to do the search and replace within files. I want to show you a Perl code snippet that I got recently while searching net and I then thought I would share that. Here it is:

——————– Code ————

#!/usr/bin/perl -w ## More scripts and tips can be found at

# http://www.edlin.org/

#

# Search and replace in several files

#

# I throw this file in my ~/bin/
# Edit the variables $search, $replace and perhaps you want to change
# the globbing then I jump to the directory with the files and just
# execute msr.pl (make sure that ~/bin is in your $PATH)
use strict;

my @infiles = glob("*.html");

my $search ='dilbert';

my $replace ='wally';

# Here we go.........

foreach my $file (@infiles){

print "Processing $file\n";

open(FH,$file) || die "Cannot load $file";

my @lines=<FH>;

close(FH);

my $match=0;

foreach my $line (@lines){

if($line =~ s/$search/$replace/g){

$match=1;

}

}

if($match){

print "...Saving $file\n";

open(FS,">$file") || die "Cannot save $file";

print FS @lines;

close(FS);

}

}

——————– Code ————

I found this code in http://www.edlin.org/perl/.

Hope these two codes will come to your helps.

Thanks.


Rupom


A Short Guideline to Create Password Protected Web Directory Using .htpasswd

October 24, 2007

Because of some consecutive requests on “how to create password protected web directory”, I am putting a short guideline so I can refer them to this page in future:

  1. Make an htaccess file (in your desired directory) like this:

———-.htaccess—————————————

AuthUserFile /your/path/passwordprotected/path/.htpasswd

AuthName “Display Text”

AuthType Basic

Require valid-user

————————————————————–

  1. Make the .htpasswd file in the specified directory.

3. Add username and password (to enter this web directory)

You can add and update user and password by using:

>htpasswd –bm /your/path/passwordprotected/path/.htpasswd username password

b: Batch mode which facilitates you to enter user and password in the command prompt.

m: Use MD5 encryption for passwords. You can use “d” for crypt() generated passwords, “s” for SHA1 passwords, “p” for plain text passwords.

Once these steps are done, the .htpasswd looks like:

——————–.htpasswd————————————-

phpResource:$apr1$roLEO/..$ZXhi6TbX6L22wG78yhWtR/

rupom:$apr1$dcIUu…$8zByhyvWMi9oKHBReQv/n0

——————————————————————–

[I have created user “rupom” with password “rupom” and user “phpResource” with password “phpResource”].

Now, go to the URL where this is done, you will find what you expected.

Done! Enjoy !!

See http://httpd.apache.org/docs/1.3/programs/htpasswd.html for manual of htpasswd.

 

BEST REGARDS.