Wednesday, August 30, 2006

Lorem Ipsum

From Tarek Amr blog:

What is Lorem Ipsum?
Why do we use it?
Where does it come from?
and more @
http://gr33ndata.blogspot.com/2006/08/lorem-ipsum.html

<? adjuster ?>
Send me an email

Saturday, August 26, 2006

Arabic Wikipedia Day

شارك معرفتك - ويكيبيديا، الموسوعة الحرة
Share your knowledge today August 26, 2006..

The Idea:
* A full-day job [24 hours] where interested volunteers gather together to contribute to the writing of the Arabic Wikipedia..

* Put up a list of articles to be created or updated or corrected and the volunteer work on the essays or articles of particular importance to him..

* Each volunteer can be involved from home, but all together are virtually gathered in one chat room
( IRC #wikipedia-ar@irc.freenode.org )

Why?
Arabic Wikipedia probably suffer from a severe shortage of content compared to lesser known languages, and spoken by a limited number of people. A large proportion of the pages of Arabic Wikipedia probably be imperfect and incomplete, and may not contain more than a few words. Therefore, we aim of this idea is to encourage people to participate in the Arabic Wikipedia and dissemination of the idea as much as possible..

<? adjuster ?>
Send me an email

Tuesday, August 15, 2006

Be Smarter Than U R


While searching the Web for PHP code snippets, i found this interesting one:

if( you == smart ) {
    languages += "php";
}


sure thing this snippet is:
- a piece of art
- extremely fast
- secure
- cross-platform
- cross-browser
- easy to learn
- cheaper to host
- can be compiled using Zend Accelerator for more extra speed
[most developers know NOTHING about this point]

<? adjuster ?>
Send me an email

Friday, August 11, 2006

Important Programming Truths


This page contains a number of important programming truths that every programmer should know about. These truths are self-evident, and need no explanations.

If it compiles, it works.

If it compiles, it's correct.

If it runs, it doesn't have any bugs.

If it doesn't have any immediately obvious bugs, it's perfect.

If a bug doesn't show, it doesn't exist.

If it seems to work, it works.

Doing something right is easy. Avoiding errors only takes a bit of concentration.

The shorter the source code, the faster the program.

It's obvious how to optimize a program.

Prorammers don't make mistakes.

Run-time errors don't occur.

Users don't make mistakes.

I don't make mistakes.

Errors of any kind are rare.

Error handling can be done in version 2.

It's OK to crash on bad input.

It's OK to give incorrect output on bad input.

Portability isn't useful.

All the world's a VAX. Or, these days, an MS-DOS box.

The length of the feature list is important.

Speed is good, features are better.

Slowness can be fixed in hardware.

The bigger a program is, the better it is.

Random changes to a program fix bugs.

Testing takes only a short while.

Finding bugs is easy. Fixing bugs is trivial.

Bug-fixes don't need to be tested.

Trivial changes of any kind don't need to be tested.

The first approach, idea, or version is always the best.

A 1% crash rate is actually pretty damn good.

Code is self-evident. Comments aren't needed.

Comments are meant for people other than the original author of the code.

Undocumented features are fun and useful.

It can always be fixed in the next version.

Surprised users are happy users.

Demonstrating for clients is the best debugging method.

<.adjuster />

Saturday, July 15, 2006

Extremely Busy


I'm very very busy these days..

I even don't have any time for blogging anymore..

But i'll try to post some articles when possible..
In fact, i'm preparing right now 2 interesting articles about:
- [Internet Censorship]
- [Insecurity of the Internet's Communications Routing (Infrastructure-Systems)]

Well, what keeps me busy alot is that i'm beginning a massive upgrade in my mind knowledge-base.. i'm reading 4 books for now and preparing for the 5th..

1. Pragmatic Ajax - A Web 2.0 Primer
2. Wrox - Beginning PHP, Apache, MySQL Web Development
3. Wrox - Professional PHP Programming
4. Yacoubian Building

5. The Da Vinci Code
[(for 4 & 5) can anyone provide me with the movies, or at least a web link to download them?]

Sure thing not all of them r code.. or i'd kill myself.. there should be some fun, some art..

Alot of freelance work will begin soon.. i won the bidding on a new and BIG 2 projects.. i'll start coding them next Saturday July 22, 2006.. 1000s of lines of self-learning code will be written..

So, reading-coding, coding-reading.. this is what i'll be seen doing the next period.. God help me..

See u soon! :'(

<.adjuster />

Tuesday, July 04, 2006

GahooYoogle

Like Google? Like Yahoo?
No problem
Try the power of Yahoo & Google combined in one place..

Why to use GahooYoogle?
Save your time, get more results in less time.
Your search will be faster and more reliable.

How to remember the name and spelling of GahooYoogle?
A little "poem", you will never forget GahooYoogle:
Write Yahoo then Google
Make the Y and G Toggle
Never forget GahooYoogle

http://www.gahooyoogle.com/

Enjoy Using GahooYoogle Experience!

<.adjuster />

Monday, June 19, 2006

Google Machine Translation System

Google gave journalists a glimpse of its next generation machine translation system at a May 19th Google Factory Tour. The system has been trained using the United Nations Documents as a corpus. This corpus is some 200 billion words worth of content. It uses existing source and target language translations (done by human translators at the U.N.) to find patterns it then uses to build rules for translating between those languages. Apparently it was successful where the current version had failed in translating certain phrases. If anyone were capable of making a serious go of MT, that would have to be Google..

Google has improved the algorithms for its MT program by feeding its computers the equivalent of 1 million books of text, using sources such as parallel translations of United Nations documents..

The results were very impressive, not the stupid machine translation you see on the Internet, which isn't really good..

Today, nearly every translation service offered on the Web - AOL, Alta Vista, Babblefish, even Google's - is powered by translation technology developed by Systran. The company, based in San Diego and Paris, has been involved in MT for more than 30 years. Each day, it translates more than 25 million Web pages..

The question is: what will they do with the new Google translator – where will they integrate it – and what side-effects would it have? If via Google we get our universal language, would that resolve many global problems by fostering cross-cultural understanding? Here is a speculative list of translation applications Google might implement; the key is auto-translation:
The Google Translation Service
The Google Browser
The Google Instant Messenger GIM
The Google Babelfish

-- Read More Here..
-- The machines do the translating [Google Blog]..
-- NIST 2005 Machine Translation Evaluation Official Results..
-- What is Machine Translation (MT)? [SYSTRAN Website]..

<.adjuster />

Sunday, June 18, 2006

Google Translate Arabic

Now Google Translate is available in [Arabic/English] and [English/Arabic]..

Give it a try!

<.adjuster />

Wednesday, June 07, 2006

Defeated By A PDA

A friend of mine has a PDA..

He asked me to connect it to my laptop and put some stuff on it..

I tried to connect the PDA to my laptop using USB, Bluetooth and Wi-Fi.. but, i couldn't connect it.. i stuck with the configuration.. the PDA is not recognized by my laptop at all.. What a shame!..

I was in a very bad situation from 2 point of views:
1. My friend: i'm ignorant and know nothing about computers and new technologies..
2. Me: i'm defeated by a PDA, i don't deserve my laptop, even sitting on a computer at all..

Anyone has a solution to this very embarrassing problem plz contact me immediately @ ms.amin[AT]gmail[DOT]com

Hurry Hurry Hurry...

<.adjuster />

Tuesday, June 06, 2006

The Interview Is Done

Yesterday June 04, 2006 i did my interview as a real estate agent..

I left an excellent first impresstion on my interviewer..

I was confident, wearing an elegant suite, a talented english speaker, capable of diplomatic sentences & smiles that should be said in such situations..

I think i did what's required from me, the rest is in God's will..

Now i should wait for a call from them to tell me am i in or not..

I hate this part so much, because most of the jobs -which i applied for- stops here..
----------
There was one thing that disturbed me ALOT in the interview..
The interviewer asked me his first question: Why r u switching this HUGE, POWERFUL computer programming experience with the REAL ESTATE field?

When i heared this question, i thought to leave immediately..
Really, there's nothing on earth can force me to SWITCH! but it's a Priority ReOrganize matter.. i just wanna live well and eat well in this miserable country, this Anti-Progress country..
I can't work as a web developer, ok, but it will NEVER leave my head!

I wonder that u r asking urselves now: How did i answered him?
Well, i said: I DON'T LIKE OFFICE/DESK WORK.. I CAN'T SET IN A CLOSED PLACE 9HRs A DAY TO WORK!

I enjoyed the experience alot.. it's very possible that i won't join the company.. but i learned something new..

NB for my very close friends: DON'T WORRY FOLKS, I WON'T LEAVE PROGRAMMING..

<.adjuster />

Sunday, June 04, 2006

Tomorrow I'm Going To An Interview

Tomorrow i'm going to an interview [as Real Estate Broker]..

i hear u asking: How can a programmer turn into a real estate broker?

well,
i used to be a banker for a while..
also i used to be a computer programmer for another while more longer than the banking while.. ;)..
now i'm going to dig thru a very new path for me.. the real estate brokerage..

i love programming alot.. i'm extremely smart in it..
why do i leave programming?..
thanx alot to my BELOVED country TPYGE<..
she's the main reason for that..

i'm not happy with the new field.. but freelance work is not enough to live..
i'm an internet technology researcher too, but technology research is something we should DENY here in TPYGE<, we should think in dust, shadows, annoying each other, deny ourselves and work forever to serve the big guys who steal the country at the end..

TPYGE< Error: The job cannot be displayed, it's perminantly unavailable..

God help me don't lose my mind..

<.adjuster />

The Fight For Freedom Begins

I was tracking the political changes [upside-downs] in Egypt the last month..

Egypt now is on fire, really..

Bloggers and Activists are beginning a war against the corrupt System[Government] in Egypt..Protesting is everywhere..

The System is trying to preserve itself by squeezing and detaining activists using inhuman ways to shut them up..

The System is torturing the activists in prisons without any trials and making fake cases against them and the innocent people without any awareness of what it's doing, it is moving very random with alot of fatal errors..

But the obvious thing here is that the System failed to do what he wanted to shut down the sounds of freedom..

The opposition is very heavy and spreading as hell.. the worldwide community knows everything with text, videos and pictures.. and people worldwide are participating also in the protesting in France, Germany, England, USA, etc..... without being detained ofcourse because they are NOT in Egypt..

The end of the corrupt System is coming very very fast..

I'll try to provide links to these subjects soon..
You can begin with:
- http://www.manalaa.net/
- http://misrdigital.blogspirit.com/

I just light up the idea in ur brain, u can dig more harder than me and find more sites by urself..

<.adjuster />

My DSL Is Down

I couldn't blog in May because of a very annoying problem..

My DSL connection was terrible and having 200% problems..

I couldn't connect to the web, read or send my emails, read my feeds or even blogging..

After alot of investigations, i discovered that the DSL Provider company and the Router MisConfiguration is the key elements behind this problem..

The problem is still current, but will be solved in the very near future..

<.adjuster />

Wednesday, May 17, 2006

The Dark Internet

The Dark InternetThe terms dark internet or dark address refer to any or all of the unreachable network hosts on the internet.

The global reach of the internet is one of its greatest charms. Some parts of the internet — which is a physical collection of computers and other hardware — are difficult or impossible to access either by accident or design.

A study of these lost sites by US researchers has investigated the extent of the "dark internet" and just what causes a net address to fall off the map.

The study found that up to 5% of the internet - potentially 100 million hosts - is completely unreachable.

The internet works because all the computers on it have an individual address.

Routers, devices that shuffle data around the internet, know where to send information because they maintain lists of these addresses.

But occasionally some of these addresses disappear and researchers at Arbor Networks have spent three years finding out why.

Results of a three-year study on internet 'reachability' have confirmed that the web is partitioned and littered with pockets of 'dark web space' which are home to some of the internet's nasties.

But more worryingly, the study found that this dark space is often used as a launch pad for fleeting internet attacks or as a spamming platform.

The most common cause of dark address space is router misconfiguration. Some military sites on the archaic MILNET address blocks also frequently fall into dark addresses. It is also speculated that hackers utilize malicious techniques to hijack private routers to either divert traffic or mask illegal activity.

Arbor found that these short-lived routing activities, like spamming, indicated a misuse of the routing infrastructure.hackers may increasingly be targeting routing infrastructures as a platform for denial of service attacks.

If a router can stake a claim on a block of address space, the rest of the net's infrastructure will simply accept it and route all traffic for that block.

Because routers aren't set up to log such incidents, these dark corners of the web represent pockets of malicious or sinister activity and "intentional misuse and co-option of the internet routing infrastructure"

Arbor also found a large number of SMTP servers, including over 40,000 unique mail sources, a number of which were associated closely with known spamming incidents. These internet nasties work by exploiting inherent weaknesses in the web's routing infrastructure.

The study reveals that all parts of the internet are not equally connected to every other part. By contrast, some networks inadvertently act as gatekeepers for sections of the internet that lie beyond them.

<.adjuster />

Monday, May 01, 2006

The Internet != The Web

The Internet <does not equal> The Web..

The Internet and the Web are not synonymous..

The Web is a term that's often mistakenly used as a synonym for the Internet itself.. but here's the distinction between them:

-The Internet:
The Internet, or simply the Net, is the publicly accessible worldwide system of interconnected computer networks that transmit data by packet switching using a standardized Internet Protocol (IP). It is made up of thousands of smaller commercial, academic, domestic, and government networks. It carries various information and services, such as electronic mail, online chat, and the interlinked Web pages and other documents of the World Wide Web..

The Internet is a collection of interconnected computer networks, linked by copper wires, fiber-optic cables, wireless connections, microwave links etc..

-The Web:
The World Wide Web ("WWW" or simply the "Web") is a global information space which people can read-from and write-to via a large number of different Internet-connected devices. For example, computers, Personal Digital Assistants(PDA), cellular phones, telephone kiosks, etc. The World Wide Web is also available (sometimes only partially) through digital television services, exposing content onto television screens..

The Web is actually a service that operates over the Internet, just like e-mail..

WWW is the complete set of documents residing on all Internet servers that use the HTTP protocol, accessible to users via a simple point-and-click system..

The Web is a collection of interconnected documents, linked by hyperlinks and URLs, and is accessible using the Internet..

On other words we can say:
The Internet is the hardware..
The Web is the software..

<.adjuster />

Thursday, April 27, 2006

My Website is online

My Website is online now after a few days of offline state..

All errors had been fixed..

The site URL is: http://adjuster.somee.com

Enjoy the experience..

<.adjuster />

Friday, April 21, 2006

I'm a meebo contributor!

http://www.meebo.comWoohoo, i'm a contributor now in meebo Arabic translation..

Congratulate me folks..

Due to the worldwide huge recognition, meebo has expanded its interface to a very long list of languages..

They depend on users feedback to add new services, so, they used this point to enable users to contribute in meebo localization.. they 100% succeeded in that..

Now i'm officially a meebo contributor!

Check out:
- meebo official website
- meebo contributors
i'm #4 after Adel, Yassine and Ali..

<.adjuster />

Sunday, April 16, 2006

My Website is offline

My Website is offline for a few days due to some problems with my host..

Also users have reported for some errors in the site forbidding some features from correctly rendering in some browsers..
so errors are being checked to be fixed..

The site will be online again after a few days with:
-- Whole new interface..
-- Bugs fixed..
-- Cool AJAX services enabled..

All of these new features will be introduced on a new host..
Keep spotting the Website icon at the top corner of the sidebar to the right.. it's now disabled, very soon it will be enabled..

Sorry for the inconvenience..

<.adjuster />

AJAX Sample Code

This tutorial covers subjects which require some degree of familiarity with Javascript and PHP. Beginners may therefore find it a little hard going, but hopefully should still be able to grasp the principles and uses of Ajax, if not the details.

The standard and well-known method for user interaction with web-based applications involves the user entering information (e.g. filling out a form), submitting that information to the server, and awaiting a page refresh or redirect to return the response from the server.

This is at times frustrating for the user, besides being rather different to the 'desktop' style of user interface with which he may be more familiar.

Ajax (Asynchronous Javascript And XML) is a technique (or, more correctly, a combination of techniques) for submitting server requests 'in the background' and returning information from the server to the user without the necessity of waiting for a page load.

There are a few, relatively simple, steps to coding an Ajax application. The description below is an attempt to describe the main points without bogging down the new user in too many of the technicalities.

First, we need to know how to create an XMLHTTPRequest object. The process differs slightly depending on whether you are using Internet Explorer (5+) with ActiveX enabled, or a standards-compliant browser such as Mozilla Firefox.

Second, we need to write an event handler which will be called via some event on our user's page, and will handle sending our request for data to our server.

The event handler will use various methods of our XMLHTTPRequest object to:
-- Make the request to the server..
-- Check when the server says that it has completed the request..
-- Deal with the information returned by the server..

We can make our request of the server by using a GET method to an appropriate server-side script. Here's an example event handler called sendRequest which assumes that we have created our XMLHTTPRequest object and called it http:

Note that the function listens to the onreadystatechange property of the XMLHTTPRequest object and, each time this parameter changes, calls a further function handleResponse..

Third, then, we need to write a function handleResponse which will establish when the server has completed our request, and do something useful with the data it has returned:

Note here that our function checks for a readyState value of 4 - there are various numbered states describing the progress of such a request, but we are only interested in the value of 4, which indicates that the request is complete and we can use the returned data.

Also we check that a successful server response was received.. that's 200..

In this case, we have received our information as simple text via the responseText property of our XMLHTTPRequest object. Information can, however, be returned as XML or as properties of a predefined javascript object, though this is perhaps beyond the scope of this tutorial.

This creates a request object along with a send request and handle response function. So to actually use it, you could include the previous JavaScript functions in your page. Then to make one of these backend requests you would tie it to something. Like an onclick event or a straight href like this:

That means that when someone clicks on that link what actually happens is that a backend request to
( somepage.php?id=getserverdata ) will be sent.

Now, let's get to the server-side part "somepage.php", you might have something like this:

Now, look at handleResponse. It assigns the string returned by the server "Hello AJAX World" to the ID named someID using DOM..
That means if you have a DIV tag like this in your page:

Once you click on that link, that will dynamically be changed to:

That's all there is to it. Everything else is just building on top of this. Replacing the simple response "Hello AJAX World" syntax with a richer XML format and making the request much more complicated as well. Before you blindly install large "AJAX" libraries, have a go at rolling your own functionality so you know exactly how it works and you only make it as complicated as you need. Often you don't need much more than what is shown here.

<.adjuster />