Damn, why the hell skype is blocking port 80?

I was suffering for a ridiculous problem for last couple of days. Something strange (UFO??) was listening at port 8 of my local pc and I couldn’t run apache on port 80. So I was searching for the solution and suddenly found that Matt from wordpress suffered from exactly the same problem. its ridiculous and very annoying!

So I followed the steps Matt suggested in his blog post – I applied the following command at shell

netstat -a -o -n

Then I found that a process with PID 2160 is listening at port 80. I give the following command

tasklist /FI “PID eq 2160″

then I found that the criminal is skype!!! God knows why the hell skype requires to listen at port 80. Then I quit from skype and everything runs fine. After running apache, I restarted skype and it runs smoothly!

Just a followup, I quit from Pageflakes as well.

Well, this is just a followup of my previous post http://hasin.wordpress.com/2007/06/13/so-i-am-free-again-farewell/
that I quit from my part time contract of pageflakes as well. The termination of contract will be effective from 1st of august.

Well, same thing about Pageflakes. Learned a lot of new things there, a great working environment with someone like Omar Al Zabir, shiplu, amit, chitta, mouly, robin, sakib, nirjhar, shahed, mehfuz, mithun, asif, arafat, ashraf, awnik, raisul, chitta and christoph. I will miss you a lot.

Thanks for all your support.

WordPress Bangla Date Plugin

Yesterday I developed a plug in for wordpress users. Using this plug in you can display all the dates for your posts and comments in Bengali. So download the plug in from the following link, place it in plugins folder and enable it from “plugins” menu in wordpress administration panel. You are done.

I have released under Ekushey. Thanks to Omi Azad for the work.
http://www.ekushey.org/?page/Bangla_Date_Plugin_for_Wordpress

The project was inspired by Humayun bhai from e-Kobi

Using ActiveRecord Library Separately from CodeIgniter

CodeIgniters ActiveRecord library is a nice implementation (though modified) of ActiveRecord design pattern. It comes bundled with CodeIgniter. So if you want to use Just this library in your application individually instead of using full CodeIgniter framework, what to do?

Today I’ve spent some time and separate the ActiveRecord library from CodeIgniter. Now you can use it via a class named ActiveRecordFactory. Here’s how to do it (I separate only the MySQL driver) .

I separate the “database” folder under the “system” directory of CodeIgniter. Then I removed all folders in database/drivers except “mysql”. (I need only MySQL, :D)

I modified the class definition at database/drivers/mysql_driver.php
Previously It Was : class CI_DB_mysql_driver extends CI_DB {
Now : class CI_DB_mysql_driver {

I modified the class definition at database/DB_driver.php
Previously It Was : class CI_DB_driver {
Now : class CI_DB_driver extends CI_DB_mysql_driver {

And finally I create a ActiveRecord Factory to instantiate codeigniters Active Record Properly. Here is the code

File: database/ActiveRecordFactory.php


<?
/**
 * This is a Factory to create an instance of Code Igniters Active Record Class
 *
 * @author Hasin [http://hasin.wordpress.com]
 */

define(BASEPATH,"./");
include_once (
"drivers/mysql/mysql_driver.php");
include_once (
"DB_driver.php");
include_once (
"DB_active_rec.php");
include_once (
"DB_result.php");
include_once (
"drivers/mysql/mysql_result.php");

function log_message(){/*just suppress logging*/}

Class ActiveRecordFactory {
    private static 
$dsn;
    private static 
$CIAR;
    public static function 
Factory($dsn=null)
    {
        if (!empty(
$dsn)) self::$dsn $dsn;
        if (empty(
self::$CIAR))
        {
            if (!empty(
self::$dsn))
            
self::$CIAR = new CI_DB_active_record($dsn) ;
            else 
            throw new 
Exception("Please give a DSN in this format 'driver://username:password@hostname/database'");
        }
        return 
self::$CIAR;
    }
}
?>

Now You can test The ActiveRecord library like this

<?
include(“database/ActiveRecordFactory.php”);
$activerecord = ActiveRecordFactory::Factory(“mysql://user:password@localhost/test”);
$activerecord = ActiveRecordFactory::Factory();

$activerecord->select(“name”);
$activerecord->where(“id=”,”10″);
$activerecord->orwhere(“id=”,”19″);
print_r($activerecord->get(“users”)->result_array());

$activerecord->select(“name”);
$activerecord->where(“id=”,”10″);
$activerecord->orwhere(“id=”,”19″);
echo $activerecord->get(“users”)->num_rows();

$activerecord->insert(“users”,array(“name”=>”CodeIgniter”,”pass”=>”CI Rocks”));
?>

You can download the complete example from here http://hasin.javapark.net/ActiveRecord.zip

So I am free again. Farewell….

I quit from my regular full time job in “somewhere in net limited” day before yesterday. It was a nice journey for the last 2 years and 3 month. I quit because I don’t like to stay engaged with a single project for so long time. I had been developing and maintaining the largest localized blog portal here in Bangladesh, SomewhereIn Blog with my fellow team mates.

It was a great time there in swi. I find great team mates and colleagues. I have learned a lot of things. Special thanks to Arild and Espen for providing such a nice working environment.

I still have some tasks left there. So officially my contract will terminate from August 1. But before that, I will go there irregularly just to guide my fellow developers.

So you may ask what’s next? I will spend some quality time with my family which they deserve for a long time. I will finish my Current book “Object Oriented Programming with PHP” and another project that I am currently working in. After that I will start the Open Source project I have been planning for a long time and after releasing it’s first version I will again start looking for a new job. Wish me good luck on that.

Thanks again for all your support and patience during this time.