We are close to release Orchid, the new Framework

orchid framework

Am I talking about another framework? Well yeah. I thought it will be real fun for web application developers to use orchid to build their apps. Orchid is still in preview state and we are planning to release it by the mid of January. But if you are interested you can check the orchid blog and checkout the nightly build version from svn repository. Orchid is very fast and lightweight and really painless to kickstart the development.

URL : http://orchid.phpxperts.net

Some of the core features of Orchid which I think are really helpful to develop real world applications, are listed here

1. Caching Engine with support of Memcache, MySQL and SQLite as Storage
2. MVC
3. RoR like Layout and segregated template components.
4. Partial Caching in Template
5. Very efficient object loading and dispatching
6. DAL for MySQL (Both MySQL and MySQLi), SQLite, PostgreSQL and MSSQL
7. Support for PDO
8. Builtin Unit Testing Library where you can write unit tests inside the controller without extra pain.
9. Internationalization using Language files
10. Session Manager (Regular and DB Based)
11. Bundled Google Map Library
12. Bundled Google Chart Library
13. Bundled JSON Library
14. Bundled Prototype, jQuery, Scriptaculous and SWFObject Scripts with on-demand gzip support
15. On demand gzipping for javascripts
16. Active Record
17. Excellent Benchmarking and Profiling support which you can use to profile your application
18. CSS based Button Manager (What is this???? — checkout)
19. AJAX Library

Beside many other features it also comes with an exceptional feature which is hard to find elsewhere 🙂 which is the following one

20. Bundled “Colorful Moments”

🙂

Orchid is planned to release by mid januray, as I told. Currently some of us are working on documentation. But you can still check out the code and sample controllers.

Ifthese sounds interesting – you can visit the official blog of orchid at http://orchid.phpxperts.net

My book on OOP-PHP5 has been published

Packt is pleased to announce the release of a new book titled Object-Oriented Programming with PHP5. Written by Me, this book will teach users to understand the core object-oriented programming concepts with PHP and to write manageable applications with ease.

OOPPHP5

Object-oriented programming (OOP) is a programming paradigm that uses “objects” and their interactions to design applications and computer programs. It was basically introduced to ease the development process as well as reduce the time of development by reducing the amount of code needed.

PHP is one of the most popular languages for web application development, and PHP5 supports OOP very well. This book will help users to master core OOP features in PHP as well as advanced Topics like Design Patterns including Model-View-Controller (MVC), and Unit Testing.

Comprehensive documentation and working examples on the Standard PHP Library (SPL), which are hard to find elsewhere, are provided in this book. Users will find this book useful to leverage PHP’s OOP features to write manageable applications with ease.

Object-Oriented Programming with PHP5 is published and is available with Packt. For more information about this book, please visit www.PacktPub.com.

Source: PHPMagazine.Net (They published the news, so what I’ve done is “copy and paste”, he he)

NeedForSpeed – Our First Facebook Application for Electronic Arts

I am a big fan of NeedForSpeed since version 2. You remember that? Those days were complete fun chasing with FZR2000 or McLaren F1. I specially liked to run on Hollywood track in NFS2SE.

Today, a new version of NFS (ProStreet) has been released. And we, a small developers team in Trippert Labs released the Facebook app named NeedForSpeed for this game . This is built using PHP and MySQL having MemCached as caching engine.

Lets have some Racing!

My new lappy – Dell Inspiron 6400

Dell Inspiron 6400

I got my new lappy today. Its a Dell Inspiron 6400 with T7200 Core 2 Duo processor, 2 GB RAM and 128MB Dedicated AGP (Well, now I can play games). Its a bit heavy though, but performance is awesome.

Special thanks goes to Emran for his unbelievable help to getting this.

did you know "you can have cheese burger" could be a variable name?

Well, I didn’t know. But I figured it out while working with SimpleXML to parse an XML document where the node name had a hyphen in it. I was finding a way to refer that element as a SimpleXMLElement and found a nifty note in PHP Manual. It says if you have unsupported (unsupported in PHP Lexicon for a variable name) characters inside the name of a node, you can access it using a special pattern {‘name’}.

So I tried the following code and it show that you can have a class variable named “i can have cheese burger”

$s = new stdClass();
$s->{'i can have cheese burger'} = "Oh Yeaaah";
echo $s->{'i can have cheese burger'}; //it will output "Oh Yeeah"

and if you print_f the object $s, you will see the following

stdClass Object
(
[i can have cheese burger] => Oh Yeeah
)

Well, Its funny! – I love having some fun writing PHP code!

ব্যস্ততা আমাকে দেয়না অবসর

ঈদ নিয়ে গত কয়েকদি ধরে খুব ব্যস্ততা গেল। সবার জন্য কেনাকাটা, বেড়ানোর প্ল্যান আর নিজের কাজ ম্যানেজ করতে করতেই কেটে গেল এই কয়টা দিন। নতুন জিনিস নিয়ে পড়াশোনার সময় করে উঠতে পারলাম না। অনেক কিছু প্ল্যান করেছিলাম পড়ে শেষ করার।

ইদানীং ভাবছি লিংকডইনের মত বাংলা একটা ওয়েব অ্যাপ্লিকেশন বানালে কেমন ‌হয়। ভার্চুয়াল কিবোর্ডেরও একটা রিলিজ দেব সামনেই, সবার জন্য, এলজিপিএল।

অসময়

সেই মনপ্রান খুলে গল্প করার দিন শেষ
শধু তাড়াহুড়ো করে যদি কিছু কথা বলে ফেলা যায়
সময় যা ছিল হাতে ছিল সবটাই শেষ
পড়ে আছে শুধু অজস্র অসময়

তাই বৃষ্টি নামলে পরে মন আর জুড়িয়ে যায় না
শুধু চাপচাপ কাদা প্যাচপ্যাচে সংশয়
কারো মুখে আর কোন মিষ্টি ‌হাসি মানায় না
তেতো হ‌য়ে গেছে সব হঠাৎ অসময়

How to configure Citycell Zoom USB Modem for Linux (EC325)

Today I have configured the CDMA USB modem (HUWAEI EC325) provided by citycell with their zoom connection to use in my linux distro (Mandriva Spring 2007) – Heres how to-

Attach the modem with your pc/laptop

1. check if the USB device is detected properly
cat /proc/bus/usb/devices

you will get some output like this

…..
…..
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 1.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs= 1
P: Vendor=12d1 ProdID=1001 Rev= 0.00
S: Manufacturer=Huawei Technologies
S: Product=Huawei Mobile
S: SerialNumber=HUAWEI EC3X1
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=pl2303
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
E: Ad=8a(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=0b(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=pl2303
E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
…..
…..

2. Now probe for this USB device
modprobe usbserial vendor=0x12d1 product=0x1001

3. Now check with dmesg if it has been successfully probed
dmesg

you will get some output like this

[ 2315.412106] usbcore: registered new interface driver usbserial
[ 2315.412508] drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
[ 2315.461938] usbcore: registered new interface driver usbserial_generic
[ 2315.461945] drivers/usb/serial/usb-serial.c: USB Serial Driver core
[ 2315.480382] drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303
[ 2315.480414] pl2303 2-6:1.0: pl2303 converter detected
[ 2315.480608] usb 2-6: pl2303 converter now attached to ttyUSB0
[ 2315.480620] pl2303 2-6:1.1: pl2303 converter detected
[ 2315.480691] usb 2-6: pl2303 converter now attached to ttyUSB1

4. Now configure your wvdial.conf as shown here.
vi /etc/wvdial.conf

[Modem0]
Modem = /dev/ttyUSB0
Baud = 230400
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
FlowControl = Hardware (CRTSCTS)
[Dialer cdma]
Username = waps
Password = waps
Phone = #777
Stupid Mode = 1
Inherits = Modem0

Now save this file

You are done!!

Now you can connect to internet by applying the following command in shell

wvdial cdma

Thats it!