١٤٢٦/٠٥/٢٢

Moving my blog from Blogger to Wordpress

I am thinking seriously about moving from Blogger to WordPress, Blogger is really great service, I mainly choose it because it doesn't need any server side scripting at all, i.e. it will work with SAUDI NET myweb service.
But lately I moved some parts of my site to a new server, and I now have a more reliable Apache+PHP+MySQL installation, and start playing with wordpress and it was really cool feature, I even built a plugin :)
any way here is my test wordpress page: http://rayed.rayed.com/wordpress

My new Nokia 6230i

I bought a new Nokia 6230i mobile phone after I my old Nokia 6610 was stolen (actually dropped in a cap while he drove me home).

The new phone comes with 1.3 Megapixel camera see a sample picture

Luckily STC started providing MMS service, which allows me to send emails from mobile phone, so now I can take a picture from mobile phone and email it direclty my flickr account, or I can blog by sending an email to my Blogger email address.

١٤٢٦/٠٥/٢٠

Fixing WordPress dashboard

WordPress is a personal blogging software, works with PHP and MySQL.
The first page of WordPress administration page is called dash board it usually takes forever to load, this due the fact that WordPress display some RSS feed from its development blog.
The loading problem caused by trying to access the RSS feed with a proxy server, which won't work inside Saudi Arabia, so here is the fix, in the file wp-includes/class-snoopy.php modify the proxy lines to be something like:

var $proxy_host = "proxy.saudi.net.sa"; // proxy host to use
var $proxy_port = "8080"; // proxy port to use


and the dashboard should load as expected.

١٤٢٦/٠٥/١١

١٤٢٦/٠٤/١٨

Interanet searching with Swish-e

Swish-e (Simple Web Indexing System for Humans - Enhanced) is really nice small program that index almost anything, I am playing with it at the moment and I am thinking of dumping my own search engine and replace it with Swish-e.

Swish has many features but the one feature that stroke me is the speed:
66,548 files indexed. 164,076,410 total bytes. 26,496,024 total words.
Elapsed time: 00:02:44 CPU time: 00:02:31
Indexing done!


Yep 66,548 document in less than 3 minutes!!!! Really impressive.

Firefox essential extensions

Here is my list of essential Firefox extensions:

  • Tabbrowser Preferences
  • Session Saver
  • miniT
  • SwitchProxy Tool

١٤٢٦/٠٤/٠٤

Online Arabic to English dictionary

Thanks to ArabEyes project WordList which is an Arabic to English wordlist, I created small web based dictionary application.

It is very simple but yet useful application, all you need to do is drag-n-drop the following link into you bookmark toolbar Qamoos

To use it you mark any word in your browser, and after clicking the Qamoos Bookmarklet then a popup like this will show with the Arabic meaning for the word.

Web based Quran Application

Last week I rediscovered ArabEyes which is a web site dedicated for Arabic UNIX softwares, they host many Arabic projects.
One of the hosted projects is Quran project, they produced many XML files of Quran text, and they needed help with collecting data, both textual data, and audio data.
So I talked with Abdullah Aldosari about it, and it happened that he have MySQL table with this kind of data, so I processed the table and convert it UTF-8 to be complatible with ArabEyes and UNIX, my plan is to cleanup this data and contibue it back to ArabEyes.
Meanwhile I started playing with this data and created a web based Quran software, please try it out.
Quran
It uses AJAX to make fast and user friendly interface.

١٤٢٦/٠٣/١٥

Saudi Radio stuck in the 80s

Today I woke up at 5:30am after 12 hours of sleep (I just came from a long 6 hour journey to Bahrain) I took a shower prayed then I went to work around 6:30, I turned on the radio and it was set on one of the Saudi Radio channels, the same music, the same programs, the same songs, it was like the last time I listened to Saudi radio back in 80s when every body stopped listening to radio and start watching satellite channels from other countries.
When I think about it, not only Saudi radio, all Saudi media stuck on the 80s, despite some cosmatic changes, all news paper, all TV channels are still the same.
Thinking: is it only the media or does the whole country stuck in the 80s!!!

١٤٢٦/٠٣/١٠

Moved rayed.com email hosting to SAUDI NET

Finally I moved my domain rayed.com email hosting to SAUDI NET, the main reason is that old server was very unreliable and was down for 5 days, the old server was very old Compaq PC Pentium III with all disk almost full, it was shared with the great site Fqaqee3.net, Misfer the owner of fqaqee3.net is little busy these days, I hope he could rearrange the server and move it better server.

١٤٢٦/٠٢/٢٠

Add Alriyadh newspaper headlines to your website

Alriyadh newspaper UNOFFICALY releasing new service that allow you to add alriyadh.com headlines into yuor website, it very simple to include, for example if you are interstead in putting "Internet & Communication" into your website put this code into your website:

<iframe style="width:400px; height:30px; border:0px;" src="http://www.alriyadh.com/section.net_marque.html">

It will show into your website like this:


Of course you can change the section by replacing the file name:

  • Local News:
    http://www.alriyadh.com/section.local_marque.html
  • International News:
    http://www.alriyadh.com/section.inter_marque.html
  • Columns:
    http://www.alriyadh.com/section.columns_marque.html
  • Clinic:
    http://www.alriyadh.com/section.clinic_marque.html
  • Art & Culture:
    http://www.alriyadh.com/section.art_marque.html
  • Light News:
    http://www.alriyadh.com/section.misc_marque.html
  • Economy:
    http://www.alriyadh.com/section.econ_marque.html
  • Sport:
    http://www.alriyadh.com/section.net_marque.html

١٤٢٦/٠٢/١٠

Playing with Flickr API

Flickr has really amazing web service API, they support many transports REST, SOAP, and XML-RPC. I had some idea about SOAP, and XML-RPC, and never worked with REST, it turned out as the best and the simplest one of them.

All you need is API KEY which is a key you use every time you call a function, it is used by Flickr for statistics, you can get it from here Get a key, it is only one form, and you will get the key instantly.

This is a sample REST request:
/services/rest/?method=flickr.people.findByUsername&api_key=e8fda...

Give it a try it is really simple API, and simple interface.

١٤٢٦/٠٢/٠٣

PHP Accelerator is awesome

I have a server with PHPAdsNew installed serving around 20 requests per second serving a really busy web site.

Few days ago the admins for that website doubled the number of ads per page, and the server stopped responding most of the day :(

I installed PHP Accelerator to make it faster to serve the those ads, but it didn't help that much, I tried every trick I know to maximize MySQL performance (although it didn't have any load in the first place) nothing worked.

Today, I sat down and played a little with PHP Accelerator, I moved the cache directory from /tmp (mounted on swap) to a regular directory, and the amazing thing happened, the CPU utilization drop from 100% to 50%.

Then I tried the command "phpa_cache_admin -mv" to realize that PHP Accelerator is working without shared memory enabled, I enabled it and restarted Apache, the utilization drop to only 10% :)

I did all of these changes after the peak hour, I wonder how it will perform tomorrow in the peak hour, I'll post my results tomorrow.

UPDATE: Peak hour update, very smooth as if there aren't any requests, CPU utilization 40% :)

١٤٢٦/٠١/٢٨

Search engine speed improvements

I just replaced queries like these:
INSERT DELAYED INTO table (name1,name2) VALUES(value1,value2)
INSERT DELAYED INTO table (name1,name2) VALUES(value3,value4)
INSERT DELAYED INTO table (name1,name2) VALUES(value5,value6)
INSERT DELAYED INTO table (name1,name2) VALUES(value7,value8)


with one query:
INSERT DELAYED INTO table (name1,name2) VALUES (value1,value2), (value3,value4), (value5,value6), (value7,value8)

The indexer performance jumped from indexing 13 documents per second to 50, almost 4 times faster.

Another way to improve performance is to drop extra indexes during table updates, then create the index after wise, the performance improvements won't be visible until your table becomes very large, and the updating the index becomes very expensive.

Now indexing 45000 documents took around 15 Minutes, yesterday it took more than 4 hours and didn't even finish :)

١٤٢٦/٠١/٢٧

Building a search engine

Currently I am working on a search engine for a large website, the search engine is based on PHP+MySQL.

You may wonder why not use LIKE in SQL for searching! Of course LIKE will work with few documents, but how about tens of thousand of documents it would be very slow, since the DBMS would have top scan all reconrds one by one in your database to find the word you are looking for.

I decided to work on my own search engine after testing few applications, mainly mnogosearch, and PHPDig, both program didn't fit my need exactly, plus the support for Arabic wasn't that good either.

The engine should index 45000 document, currently the indexer can index 70 documents per second, which mean it would take 10 hours to index the whole thing.

The search engine needs a lot of tuning, like removing common words, removing Arabic Harkat, and Hamzat, hopefully I will end up with a nice reusable search engine.
I'll post a link when we put in production.

١٤٢٦/٠١/١٤

Car accident update

I got my money back!!
The guy who crashed my car came to the traffic department and paid the money :)
It has been 8 month since the accident I never thought I'll get anything from it.
Alhamdou Lelah
Original Posting

١٤٢٥/١٢/٢٨

SAUDI NET EasyNet Ad

I got my Canon digital camera back

Finally after two months with the Quershi service center I got my Canon digital camera back.
I tried to call them for the past couple of weeks and no one answers, so I had to go to the shop my self, and surprise! Surprise! the shop is closed they moved to another location, so I went to the new location and took my camera, I wonder why they didn't call me to tell me that the camera is ready.
BTW, they took 235 to fix the dark LCD screen for the camera, they said there were an oil on the LCD which ruined it!!! and it isn't covered by the warranty.
I hope I'll live until I see real warranty in Saudi Arabia, they always says it isn't covered by the warranty !

Weve just implemented transparent proxy

Now you can use SAUDI NET EasyNet without any proxy settings, we knew that transparent HTTP works fine for a long time, unfortunately we didn't know that transparent HTTPS could work too, this is why we waited until this time when we saw one of the ISP implemented it :(
Any way it is working fine now, so if you want to use SAUDI NET EasyNet just:
  • Call 3 66 00 77

  • Without username

  • Without Password

  • Without Proxy settings

Enjoy it.

١٤٢٥/١٢/٢٠

Eezee Net phone numbers working now

SAUDI NET EezeeNet number ( 3 66 00 77 ) is now working and you can start testing now.
Remeber to setup the proxy:
Host: proxy.saudi.net.sa
Port: 8080

Remeber it isn't free as some ISPs prompote, it cost you 3 Riyals per hour, it is free in the sense it doesn't need any Internet account to to use it.

Enjoy it, and tell every body.

١٤٢٥/١٢/٠٨

PostgreSQL 8 released

Many new improvements but the most important to me is the native support for Windows platform, not that people will start using it in production in Windows, but it will allow more people to use and play with it.
I wonder about the status of the replication system.
What's new in 8.0

١٤٢٥/١٢/٠٢

PostgreSQL new website

PostgreSQL launched a new good looking website, it look more professional :)
PostgreSQL if you don't know it, is the open source Oracle database server. It has many advance features not currently found on MySQL.