Tuesday, March 18. 2008
Today we [soft] launched the alpha [and buggy] version of Sharekna.com, The free online Video and Photo sharing for the Arab world.
From a technical point of view, the site was built using CodeIgniter as an underlying framework, I had to modify some parts of the core to ease parts of handling Arabic and to have nice Arabic URLs ala Wikipedia style. CodeIgniter is not the greatest framework, but I would really recommend it for the first MVC encounter, especially if you have less experienced developers working on a project. The way it separates M from V from C is nice and easy to grasp even if the developer has no OOP experience. The thing that we did to a great degree is completely re sturcture the way CodeIgniter handles views. I hate how that was handled, and changed it to a more component/block based templating that proved to be a great time savior for our CSS/(x)HTML dude. The 2 other things I really hate about CodeIgniter are the way (GET & POST) are handled and the freakin disgusting DB layer that comes with it.
Another interesting thing we used was eZ Components (EZC), which to me is cleanest/most stable PHP code I have seen to date. EZC was integrated in CodeIgniter as a helper and it became very easy to load (autoload) EZC from within CodeIgniter. EZC was mainly used for image manipulation, and I'm very satisfied with the results.
Wednesday, October 3. 2007
I'm not alone, read what this guy had to go through when he migrated to RoR from PHP, and then went back!
I'm always angry when someone mentions RoR, it's like teaching a new dog new tricks, when the old dog knows it all.
For the love of god, stop migrating to RoR just because it's cool. No one ever said RoR sucks, it's just that there's SO much pre-exisitng PHP code that you would never find in any other language. 40% of the top 100 sites are PHP, and PHP is the most used language on the Internet. What else do you want to know?
PHP does have tons of frameworks, yet doesn't force a style or a paradigm. You can do whatever you want with it, you can even build the biggest, most trafficked site in the universe! Why the hell do you even want to consider something else!
Update: Why don't you also check an entry I wrote about ColdFusion few years ago
Thursday, September 28. 2006
I've been doing some research on how Yahoo Mail works to help a client with their newsletter appearing properly. I managed to find a serious security flaw, that is somehow very hard to exploit. I will not disclose what the security problem is until I manage to exploit it and inform Yahoo!, I will write an article and hopefully include the details in my book once this flaw is fixed. By the way, I'm a White Hat Hacker.
Monday, August 14. 2006
I joined Syntux, a blog initiated by the one and only Jad to blog about PHP. The story of how I joined is available on the blog! I will be writing about PHP mostly on the new blog. A big thanks to abu il jooj for this amazing blog and inviting me to join. Hopefully, we will work more together to help grow and educate the local PHP community.
Thursday, June 29. 2006
Linux sys-con wrote about the new AJAX based music player. read the full coverage. You can test the new player on music.albawaba.com. As with all web2.0 hypes, it is BETA, so something might break .... Feedback please
Tuesday, June 27. 2006
I'm really happy that Rasmus Lerdorf, the inventor of PHP, joined the PHP Vikinger. It's just amazing how modest and helpful this guy is. one of the exciting things is that we started working on a simple application to be used on php.net, which shows a map of PHP developers from around the world. We devided ourselves to 3 groups; the groups were "Model", "View" & "export formats". Hopefully it'll be up on php.net quite soon.
Monday, June 26. 2006
Note: This was supposed to be blogged two days ago, but I couldn't because I was gonna miss the train to the airport, I'm already in Germany now. I just got to Oslo all the way from Skien. I'm sitting at a friends office, Kaarel from Estonia. We spent the last few minutes here hacking. I'm gonna be heading to the airport in few minutes... Some photos for the late night hacking session
Saturday, June 24. 2006
Less than an hour ago the PHP Vikinger 2006 unconference started. So far we've been dicussing what topics we're going discuss during today and tomorrow. Zak organized the event. What's really amazing is that I'm sorrounded by really smart people; Rasmus Lerdorf the inventor of PHP is also attending. Update( 1:30 PM ): The first discussion revolved around scalability and scalable architecture. The main point that Rasmus mentioned is to 'partition' your application. His example was Yahoo's mail; basicly every component of the service is split on a seperate server farm. e.g. address book component is quite seperate from sending mail. and it actually sits on a different server farm. He also mentioned that Yahoo has 110,000 servers!!!!! Update( 2:45 PM ): Marcus Boerger gave an introduction to the reflection API. I'm bored of doing the updates... So I think I'll stop now
Thursday, March 2. 2006
Currently I'm helping a client build their website. which is going to offer some digital communication services. We had some sort of a discussion about the way they brand their services, I'm no branding expert( Ahmad Humeid is). Which in this case is subscription plans. They want to put their brand with the name of the service, which i'm strictly against. Let's assume the brand name is ABC. They want to have the following hypothetical plans: - ABC basic
- ABC advnaced
- ABC power
- ABC ultimate
I think the following scheme is less confusing for users. Yet imagine someone calling customer support, this is by far easier to rememeber.
Thursday, September 15. 2005
Chris Shiflett the man behind PHPSec and an expert on web security finished his long awaited PHP security book, Essential PHP Security. More info on Chris's blog, and hey don't forget to buy a copy
Wednesday, August 17. 2005
I've been interviewed by LinuxJournal this week. The interview is about some Open Source projects in Jordan, and my involvement in PHP. I must say I'm really honored to be interviewed by LJ.
I thank from all of my heart Tom Adelstein who during this interview not all became someone I enjoy talkin' to, but a real close friend. I'm honored that I know Tom, I'm learning alot from him every singel day. I'd like to also thank abdelqader Jaradat & Steffen Macke for their extraordinary help by providing me information about BMFO.
Your feedback is highly appreciated. Read the Interview.
Tuesday, August 16. 2005
It's almost 4 am, trying to figure out the best way to do RAD developemnt. Well, basicly I built a database schema, I want something to crawl my tables and generate generic forms that I can customize later. Things like Update/Insert/Delete and so on. As I'm a huge fan of PEAR and a PEAR developer I looked there first. I found
DB_DataObject_FormBuilder
. Will see how things go with it.
Thursday, June 23. 2005
I will be giving a presentation on the 30th this month. Check program details. But before that I will be attending the ICT4D workshop in Damascus! I'll be leaving sunday evening with Isam.
Wednesday, June 22. 2005
I've been asked to optimize a search interface for a project that I developed almost a year ago. It was a requirement from the client to develop it in ColdFusion( CFML ). Argh I just hate the language. For a start ths syntax is ugly, very ugly. CFML is tag based, something like HTML. It's really damn slow. The community is really small, you don't find enough resources compared to PHP. No OOP. It's just a weird language. Naming conventions just kill me, I hate it when language designers come up with "friendly" names for things that end up confusing people. e.g. Variables coming from POST are Stored in something similiar to super globals array in PHP, in CFML they are called FORM, while those coming from GET are called URL. This would make it harder for developers to learn standard termonology, and what kills me is that they forgot that you can have your forms method as GET, which would end up having variables coming from your form stored in the URL struct. I can go on forever, but there are some really cool features in CFML. To name two; 1- Application level transactions. 2- Verity Search Library: really rapid and powerful way to add search functionality to your project. PHP: I love you baby.
Tuesday, June 14. 2005
In 2 weeks I will be travelling to Syria to join the Regional Meeting on ICT4D that will take place in Damascus. Then I'm going to Aleppo to speak in the Open Source conference organized by AUF, University of Aleppo & NOSSTIA.
I'm really looking forward for both events 
|