<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
<channel>
<title>Rex Ryan 一個不起眼的部屋,將設計與科技混為一體,提供一站式網頁設計,程式設計及搜尋引擎優化服務,Web Development, Web Design, Internet Marketing, SEO Services, Blog and Prose</title>
<link>http://www.rex-ryan.com</link>
<description><![CDATA[一個不起眼的部屋,將設計與科技混為一體,一站式網頁設計,程式設計及搜尋引擎優化服務。 Web Development, Web design, Internet Marketing, SEO Service, Blog and Prose]]></description>
<language>en</language>
<item>
<title>New versions of phpMyAdmin close security holes</title>
<link>http://www.rex-ryan.com/blog/New-versions-of-phpMyAdmin-close-security-holes.htm</link>
<description><![CDATA[A security update has been released for the phpMyAdmin database administration tool. The new versions are 2.11.9.6 and 3.2.2.1. According to the developers' advisory, the previous versions contain two programming flaws that potentially can be exploited for cross-site scripting (XSS) attacks and the injection of arbitrary SQL commands.

The XSS vulnerability allows attackers to embed arbitrary JavaScript code into a victim's phpMyAdmin pages via specially crafted table names when a manipulated link is clicked. The SQL injection vulnerability is caused by a flaw in the processing of PDF export parameters that can usually only be triggered by authenticated users. The developers consider the vulnerabilities a threat and advise users to update.]]></description>
</item>
<item>
<title>Open Source ERP</title>
<link>http://www.rex-ryan.com/blog/Open-Source-ERP.htm</link>
<description><![CDATA[I had already negotiated with my friends and we group up to develop an open source ERP/MRP system which is simplicity and flexibility. After hide almost 6 years, I think I should do something instead of thinking out those of bad memories. Martin, let's rock and cheer up.]]></description>
</item>
<item>
<title>CKEditor 3.0</title>
<link>http://www.rex-ryan.com/blog/CKEditor-3.0.htm</link>
<description><![CDATA[CKEditor had already launch today.]]></description>
</item>
<item>
<title>Why Are User Interfaces Programmed so Poorly?</title>
<link>http://www.rex-ryan.com/blog/Why-Are-User-Interfaces-Programmed-so-Poorly?.htm</link>
<description><![CDATA[In the early days of computers—sometime after the invention of the abacus but before you could buy a computer next to automotive supplies at K-Mart—the user interface was a simple flashing cursor. The cursor flashed, the computer was waiting for you. The cursor disappeared, the computer was computing.<br /><br />
On what (or how long) the computer was computing, well, that was the computer’s concern. It was time for you, the user, to multitask and perform some vital business function like taking a coffee break, or completing a graduate degree, while waiting for the computing to complete.<br /><br />
After decades of technological advances, the user interface has evolved beyond this simple on/off signal into a maybe-it’s-on/maybe-it’s-off cacophony of video and audio, touch screens, and voice commands, among other interactive media. Computer geeks gush giddy over these rich interfaces for building software, but the final products often leave end users in the poorhouse.<br /><br />
Consider the hourglass, something you no doubt saw the first time you turned on a computer (and probably wish you would see much less). The software turns the cursor into a cute little hourglass, often with pixels of trickling grains of sand, to inform you that the computer is computing on your input and will respond… soon.<br /><br />
Nice idea, except when a broken user interface sets out to etch the hourglass on your screen for perpetuity. Or until the power grid fails.<br /><br />
Software designers have endeavored to improve on the humble hourglass by adding Time Remaining display boxes. When you copy a large file, start a download, or task your computer with something important that needs to be done now, the computer will try to keep you dutifully informed by displaying Time Remaining.<br /><br />
Instead of a counter ticking down the time with nanosecond precision, though, it is not unusual to see random digits popping up on the screen like balls floating in the cage of a Powerball lottery drawing. The counter may start at 60 seconds, and after 15 seconds it shows 80 seconds followed by 98 seconds…and 74 seconds…and 86 seconds. The numbers have a better chance of being next week’s lottery winner than the actual time remaining.<br /><br />
NASA scientists take note: Be sure the writers of that code are permanently blacklisted from counting down Space Shuttle launches.<br /><br />
In another flavor of Time Remaining, web browsers such as Internet Explorer and Firefox use a status line to indicate the progress of pulling down information from the Internet. The browsers display Waiting or Transferring on the status line at the bottom of the window followed by Done.<br /><br />
In many cases, though, Done means a “little done,” “semi-done,” “not-yet-done,” “close-to-done,” or “pretty-much-done.” When you click a link on one of these not-so-done pages, your clicks are systematically ignored for tens of seconds after Done appears on the status bar. Sometime after your incessant clicking has left the image of your mouse permanently engraved into the surface of your desktop, the page is REALLY done and the web links respond.<br /><br />
User to web site administrator: “Your web site has a problem. The browser said the page was done but the links do not respond.” Administrator: “It was done but the electrons on the screen were cooling so they would not burn your eyes. Give it a few seconds.”_User: “Ah-ha, it’s working now.”<br /><br />
Rivaling Time Remaining and Done for redefining English language vocabulary is Percent Complete. Unlike Time Remaining, the Percent Complete counter does not increase and decrease at random but its behavior can still make you reach for prescription narcotics.<br /><br />
The percent counter typically appears as a progress bar with a value ranging from zero to 100. That’s good, so far. Once the program starts churning, it may suddenly and without warning take a sabbatical at – well depending on the phase of the moon – say 35%.<br /><br />
Or, having reached 100%, it may decide it has earned a sabbatical and the program pauses for a period exceeding a Super Bowl half-time before unceremoniously exiting. <br /><br />
On the input side of the user interface, computers still have a long way to go to demonstrate the existence of artificial intelligence. Case in point: entering a date.<br /><br />
In the ‘premium’ version of one of the leading tax software packages, the software insists that you enter ten characters in the format MM/DD/YYYY when you enter a date for the sale of a stock. Will the software accept 9/14 as an abbreviation for September 14? Nooo. Will it accept 09/14? Nooo. Will it even accept 09/14/08 when you are running the software to prepare your 2008 taxes? Nooo.<br /><br />
What any person with an IQ greater than your average crustacean would recognize as an abbreviated date will not be accepted. YOU MUST ENTER 09/14/2008. After all, 09/14 may have meant 09/14/1908 for those filing amended returns for great-great-great grandparents; or 09/14/2108 for those who like to pay their taxes a century in advance; or 09/14/1508 if you’re Christopher Columbus.<br /><br />
While we may never know what team of experts decided on the whole-date-and-nothing-but-the-whole-date scheme, it’s obvious that many businesses with e-commerce web sites design them in consultation with medical practitioners who profit from the treatment of eye ailments. The tell-tale sign is how credit card numbers are entered, something that probably occurred a thousand times on the Internet in the seconds it took you to read this sentence. ]]></description>
</item>
<item>
<title>Using (ab) ApacheBench to test Web Server Performance</title>
<link>http://www.rex-ryan.com/blog/Using-(ab)-ApacheBench-to-test-Web-Server-Performance.htm</link>
<description><![CDATA[ApacheBench (referred to as ‘ab’ in the terminal) is a tool for testing web server performance by allowing you to test how long a set of requests per second the web server is capable of serving.
<br /><br />
Whilst this does not reflect a model of real world usage, it can aid in the tweaking and performance improvement of the Web Server itself.
<br /><br />
This tool is of course aimed at testing Apache servers, however it can be used on others.
<br /><br />
Usage is rather simple. At it’s core, the amount of requests to complete and the url to test are required. On top of this you may inform the application to carry out more than one request at a time, as show in the second example.
<br /><br />
<pre>$ ab -n 100 http://domain/
$ ab -n 100  -c 3 http://domain/</pre>
<br /><br />
When this is run the specified web page is downloaded and the time taken for it to happen is measured.
<br /><br />
These are the results I gained from running this against the server behind this, testing using 3 concurrent connections and 100 requests.
<br /><br />
<pre>
$ ab -n 100 -c 3 http://www.rex-ryan.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking www.rex-ryan.com (be patient).....done
 
 
Server Software:        Apache/2.2.3
Server Hostname:        www.rex-ryan.com
Server Port:            80
 
Document Path:          /
Document Length:        34350 bytes
 
Concurrency Level:      3
Time taken for tests:   13.371 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      3471900 bytes
HTML transferred:       3435000 bytes
Requests per second:    7.48 [#/sec] (mean)
Time per request:       401.120 [ms] (mean)
Time per request:       133.707 [ms] (mean, across all concurrent requests)
Transfer rate:          253.58 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       27  135 160.8     87    1295
Processing:    65  257 562.0    140    5108
Waiting:       31  149 169.3    105    1297
Total:        104  392 617.4    254    5483
 
Percentage of the requests served within a certain time (ms)
  50%    254
  66%    317
  75%    348
  80%    510
  90%    776
  95%    920
  98%   2311
  99%   5483
 100%   5483 (longest request)
</pre>
<br /><br />
ApacheBench does not however give you a figure to suggest how many requests a server may complete, or reflect the usage which will be shown with a real set of users. This is because any given page or application may consist of many requests
<br /><br />
The results which you gain are specifically useful in tweaking settings regarding the web server itself. Whilst ApacheBench cannot directly tell you what needs tweaking, once you start changing settings you can realise what is best for your server.]]></description>
</item>
<item>
<title>Six New Mobile Devices Running Open Source</title>
<link>http://www.rex-ryan.com/blog/Six-New-Mobile-Devices-Running-Open-Source.htm</link>
<description><![CDATA[Last week the Wireless Association’s yearly technology extravaganza, CTIA, took place in Las Vegas where the top gadget manufacturers shared their latest and greatest in mobility wares.
<br /><br />
While the recently anointed poster child for open mobile devices, Google Android, was practically nowhere to be found on the show floor, the event did feature wall-to-wall exhibits from over 1200 companies. And, here and there, you could find pockets of either devices running open source apps or Linux environments or vendors courting open souce developers. Let’s look at some of the gadget highlights:<br /><br />
<strong>Palm Pre</strong>
<br /><br />
Palm Pre created a lot of third-party software buzz as well as quite a bit of excitement with their legacy emulator. Some of the software demonstrated included Fandango movie time and ticket app, SprintTV, and Google Maps. Pandora Internet radio application is a boon for any music lover. A quick launcher resides in every Pre screen to bring up the tiny player without interrupting your current task. Another, Nascar, pulls in highlights of the Nascar season such as videos, driver profiles and standings, and more.
<br /><br />
Perhaps the most interesting for owners of older Palms running expensive software is the Garnet OS to webOS emulation software. The emulator runs as a separate application and allows drag-and-drop installation/use. Palm considers this a key element in allowing users to easily upgrade to the newer snazzier Pre.
<br /><br />
The Palm Pre, announced earlier this year at CES, features a Linux-based webOS, 3.1-inch multitouch screen with 320×480 resolution and a slide-out QWERTY keyboard. It comes equipped with Wi-Fi, Bluetooth, GPS, 8 gigabytes of storage, and a 3-megapixel camera.
<br /><br />
<strong>Wistron Pursebook</strong>
<br /><br />
Wistron showed off their proof-of-concept Pursebook running the Qualcomm Snapdragon processor. This cute little netbook runs a handsomely customized version of Linux from ThunderSoft with software for office tasks, communications, and Web enjoyment.
<br /><br />
Yes, that paragraph did just contain the terms “Pursebook,” “Snapdragon,” and “Thundersoft.” You’re welcome.
<br /><br />
Observers state the keyboard was of the first-generation instead of the chiclet type keyboard used in some newer netbook models, but overall the device was easy to use. Others stated it has sufficient power, fairly nice graphics, and an 8-hour battery-life. Prices are expected to start at 299 USD and should be available sometime later in the year.
<br /><br />
<strong>NVIDIA Tegra</strong>
<br /><br />
NVIDIA was on hand to demonstrate their all-in-one Tegra chip for mobile devices. Tegra, an ARM-based component, will be capable of 1080p video output and displays up to 1680 x 1050. It will also be able to support IDE hard disks.
<br /><br />
NVIDIA used an HP Mini 1000 case fitted with their computer-on-a-chip system to demonstrate Tegra’s potential. Their prototype ran Windows CE, but NVIDIA has also developed their own interface that has been described as something in between Android and Mac OS X in appearance. Tegra can also support Android and Windows Mobile, and while there was no mention of Linux specifically, a spokesman said that Tegra technology is very flexible and can easily be used with other platforms as well. NVIDIA hopes to bring the new chipset to market sometime this year at a price conducive to $99 devices.
<br /><br />
<strong>Nokia E71x</strong>
<br /><br />
Another little smartphone that created quite a bit of interest was the AT&T exclusive Nokia E71x. Much like the original Nokia E71, the E71x is a very thin device weighing just under 4.5 ounces and comes with a 320 x 240 QVGA display, full QWERTY keyboard, 8 GB storage, high-speed 3G connectivity, Wi-Fi, Bluetooth, GPS, and a 3.2-megapixel camera. Mark Louison, President, Nokia Inc. said, “The E71x is a lean, mean multimedia machine for busy people who want Internet-on-the-go capabilities in the palm of their hands.”
<br /><br />
This skinny Nokia comes with an upgraded Symbian S60 with Feature Pack 2 (which features a handy “Show open apps” option throughout all apps) as well as some AT&T services such as AT&T Music, AT&T Mail, and AT&T Navigator. It even has support for QuickOffice. The best feature is probably the new lower price of 100 USD after mail-in rebate. The Nokia AT&T E71x should become available within the next few weeks.
<br /><br />
While the Symbian isn’t open source yet, that is due to change in the first half of this year.
<br /><br />
<strong>Samsung Mondi</strong>
<br /><br />
Samsung Telecommunications unveiled their first mobile internet device this year to compete with the netbook form factor. Most noteable features include WiMax, Wi-Fi, and Bluetooth. Its 4.3-inch touchscreen is accompanied by a slide out QWERTY keyboard and optical mouse. It comes with 4 gigabytes of storage, a 3-megapixel camera, and HDMI TV Out.
<br /><br />
The Mondi runs Opera 9.5 for Internet access. The device should be available this summer although price ranges have yet to be announced.
<br /><br />
Speaking of Opera, they were on-hand as well to introduce their updated browsing software Opera Mobile 9.7. This ships with Opera Turbo, which is a compression algorithm used to speed up surfing, and support for Ajax and Flash in order to enjoy sites such as YouTube.com and Facebook. Best of all, it passes the Acid 3 test.
<br /><br />
<strong>Motorola Evoke QA6</strong>
<br /><br />
One of the more anticipated devices, the Motorola Evoke QA6 was on full display It is being advertised as “a socially-inclined device” due to its full HTML browser and IM-style messaging. It features a 2.8-inch touchscreen, Haptic feedback QWERTY keyboard, 2-megapixel camera, and aGPS.
<br /><br />
The OS is a Motorola-customized version of Linux with widget-heavy interface. It comes with widgets for MySpace Mobile, YouTube, Follow Me Weather, Google Quicksearch and Picasa, RSS Reader, and USA Today Mobile. In addition, the QA4 is the first handset that can use virtualization to run multiple operating systems. This is done by using Open Kernel Labs’ microkernel-based embedded hypervisor to deploy two simultaneously running operating systems. This means, one can load up a Linux variant if they choose.
<br /><br />
The Motorola Evoke QA4 should be available later in the year but no pricing information has been announced. 
<br /><br />
<strong>Mozilla Fennec</strong>
<br /><br />
Finally, Mozilla was on hand to demonstrate their new mobile Web browser, code named Fennec. The latest release of Fennec, now known simply as Firefox, incorporates many performance improvements such as Tracemonkey JavaScript engine to increase page rendering speeds. Plug-in support was also added to enable video playback from popular sites. Other features include Download, Password, and Add-ons managers, Integrated Web search, and Popup blocker.
<br /><br />
The minimal interface is designed to limit the amount of typing required as one surfs around the Web through inventive uses of their technology such as Smart Bar integration of bookmarks and history, tabbed browsing, and thumbnail images. The second main goal of Firefox mobile is to minimize on-screen user interaction tools in order to devote the entire screen space to web content. User tools disappear at page rendering, but panning the screen brings them back into view. Firefox is currently available for Maemo (on Nokia N810), Mac OS X, Windows, and Linux. Other Maemo platforms, Windows mobile, and Symbian versions are soon to follow.]]></description>
</item>
<item>
<title>PHP Middleware Debuts With Zend Server</title>
<link>http://www.rex-ryan.com/blog/PHP-Middleware-Debuts-With-Zend-Server.htm</link>
<description><![CDATA[PHP is one of the most popular languages for Web development and is a critical component of the LAMP (Linux/Apache/MySQL/PHP) (define) stack. Now PHP is getting a stack of its own, thanks to the new Zend Server, which packages PHP for Web application deployment and monitoring. <Br /><br />
The new Zend Server PHP includes code acceleration, problem diagnostics, monitoring, updates and even a Web server. While PHP is strongly associated with Linux deployments, Zend Server is available for both Linux and Windows servers.<br /><br />
With the new PHP application server offering, Zend, the lead commercial sponsor behind the PHP project, is positioning PHP as an even stronger enterprise choice and as an alternative to Microsoft .NET and Java-based middleware solutions. And with the future of Java and its leader Sun in a possible state of transition, there may be even more opportunity for PHP growth. <br /><br />
"PHP is everywhere," Zend CEO Andi Gutmans told InternetNews.com. "We have enterprise customers, but we still felt something was missing to get PHP into mainstream IT." <br /><br />
It's the latest move by Zend to ramp up PHP's profile in the enterprise. In 2005, the company started a multiyear effort to add new tools and technologies to the PHP ecosystem as part of Gutmans' vision of expanding PHP adoption. <br /><br />
Two technologies that have already emerged from that effort are the Zend Framework, which provides an application deployment framework for PHP, and the PDT (PHP Development Tools) IDE project at Eclipse. The new Zend Server effort includes Zend Framework and can benefit from PHP applications built using PDT. <br /><br />
Zend is offering two versions of the Zend Server, a commercial version with monitoring capabilities including enterprise server support, and a freely available community version. <br /><br />
"What we've seen in past year is an acceleration of adoption of PHP in traditional IT," Gutmans said. "We just had our best quarter ever, and even though there is a recession, larger companies still need to push out application and to do more at lower cost. In most cases, we're replacing Java." <br /><br />]]></description>
</item>
<item>
<title>A Web Designer Would Never Tell You</title>
<link>http://www.rex-ryan.com/blog/A-Web-Designer-Would-Never-Tell-You.htm</link>
<description><![CDATA[Working with web designers is a nightmare. You will never meet a more opinionated bunch of snobs. They are always going on about 'white space', 'composition' and how they went to art college (like that counts as a proper education!). When it comes to choosing the design of your site, they are the last people you should listen to.
<br /><br />
What follows are 10 things you need to know about managing a web design project, that no web designer will ever tell you!
<br /><br />
<strong>1. Always request speculative design up front</strong>
<br /><br />
Before you pick which web designer to work with make sure they submit some designs for your site upfront. Whatever you do, don't pay for this work. If they really want to work with you they will swallow the cost.
<br /><br />
Some of them might start bleating about not doing 'speculative design' and that only designers desperate for work would do design for free. Personally I ignore this BS. If they are 'so successful' that they can't spare the time to do unpaid work for me, then I don't want to work with them.
<br /><br />
What is great about speculative work is it is not constrained by 'understanding the business' or 'user feedback'. Its all about creativity. Surely a good web designer can come up with great work out of thin air, even if they don't know who the target audience is and have never spoken to the client. I want something that makes me go wow. Who cares if it 'fulfils my business objectives.' The more bells and whistles the better!
<br /><br />
<strong>2. Don't get hung up on end users</strong>
<br /><br />
Web designers are always obsessing about the end users. They worry that users won't like this or that they won't understand that. Its pathetic.
<br /><br />
People like to be told what to do and they will ultimately follow your lead. I once had a web designer complain because I wanted to collect users phone numbers on a sign up form for our newsletter. Apparently 'users' don't like being asked for unnecessary personal information. Can you believe it! How the hell am I going to cold call these people if I don't have their phone numbers. Sometimes you wonder how these idiots survive in business.
<br /><br />
Instead of focus on user needs, focus on what you can squeeze out them. Times are tough these days and so you need to maximise your returns on every one of these sheep. You have to be tough in business.
<br /><br /> ]]></description>
</item>
<item>
<title>SEO Enhancement Part 2</title>
<link>http://www.rex-ryan.com/blog/SEO-Enhancement-Part-2.htm</link>
<description><![CDATA[Today I figure out that if the WHOLE site using the same Title & Meta Description, it will effected the ranking of the search engine, so that's why I had modified the code of my site today and make all the pages' Title & Meta Description dynamically. It is because if all the pages are same Title & Meta Description, it will confuse search engine's crawler. There are tons of example on internet to prove that their websites ranking keep dropping down. But for the humanity thinking, it is real that if all the pages are same Title & Meta Description, which page should the search engine rank higher? Today I am really learn a good lesson from web surfing. There are so many people always ask what web surfing using for? I think it just depends on what kind of knowledge/content you are looking for. It is because the keywords you key in into search engine is depends on you.<br /><br />
For the web surfing, a lot of people ask me why they always can't get the result they want or even need to turn couple pages. I think we should learn how to use search engine first, otherwise it is hard to get the exactly results you want. It is because there also a technique to using search engine. If you are good in using the keywords combination, the results you get always match.]]></description>
</item>
<item>
<title>GUI Programming in Python</title>
<link>http://www.rex-ryan.com/blog/GUI-Programming-in-Python.htm</link>
<description><![CDATA[Python programming is all the rage, because the language has such simple, clear syntax, is easy to learn and has lots of libraries available. But best of all, you are not limited to writing command-line applications. Python has at least four ways to make graphical apps, but today I will concentrate on one: TkInter.
<br /><br />
TkInter is not necessarily the most powerful of the Python windowing packages, but it is well supported on all operating systems. You can give your application to your Windows and Mac using friends and they will be able to run it, as long as they have Python installed. On Linux, though, you may have to install it: on Ubuntu or Debian the package is named python-tk, while in Fedora it's tkinter.
<br /><br />
]]></description>
</item>
<item>
<title>iChat Desktop Sharing</title>
<link>http://www.rex-ryan.com/blog/iChat-Desktop-Sharing.htm</link>
<description><![CDATA[Today I had tested iChat Desktop Sharing on Mac-OSX with Martin. Before, Martin had tried on his local network, it works great. Later on, I want to try with Martin, then I follow the instruction to open the port forward on my router. But it still doesn't work. We are confuse that we had already followed all of the steps, why it still doesn't work or even can't establish the connection. But we are no clue of it.Is anyone success to use iChat Desktop Sharing through internet?
<br /><br />
Well, my Hackintosh not really support my Wi-Fi USB, it always needs me to restart my laptop couple times to detect my USB port, moreover the display card driver...it's still make me sick of it till to now. I always need to press F8 to switch to virtual mode and get back to work space. It's similar to Linux Desktop, just wait until the next version will work fine on my laptop. Anyway, I love my Hackintosh more and more now. It's a really cool OS for development.]]></description>
</item>
<item>
<title>JavaScript Web Develop Tool JS Bin</title>
<link>http://www.rex-ryan.com/blog/JavaScript-Web-Develop-Tool-JS-Bin.htm</link>
<description><![CDATA[I heard from Ka Yue about JS Bin, and I did tried it. I feel this is a great tool that not only a IDE. It included a function which can allowed you to show to public after edited.
<br /><br />
Moreover, there still got couple libraries which allowed you to included inside of it such as jQuery, YUI and dojo.
<br /><br />
]]></description>
</item>
<item>
<title>PHP6 Name Spaces</title>
<link>http://www.rex-ryan.com/blog/PHP6-Name-Spaces.htm</link>
<description><![CDATA[PHP6 maybe be launched the most exciting features which some people find inconvenient as they are required to prefix all their classes with unique prefix.<br /><br />
<pre>
&lt;?php
import M1 as M2;
echo M2::$var;
echo M2::c;
echo M2::func();
echo M2::C::func();
var_dump(new M2::C);
?></pre><br /><br />
<pre>
M1.php:
&lt;?php
module M1 {
var $var ="ok";
const c = "ok";
        function func() { }

        class C {
                static function func() { return "ok"; }
                static private function bug() { echo "bug\n"; }
        }</pre>
<pre>
        private class FOO {
                public class BAR {
                        static function bug() { echo "bug\n"; }
                }
        }</pre>
<pre>
        function bar() { return new M1::FOO(); }
}
?></pre><br />
<p class="about">But this approach suffers from a few problems:<br />
When calling you still have to prefix all your classes.<br />
You are force into a specific naming scheme for your modules.<br /><br />
But after modules, there are some implementation how we would like to see support for name spaces.<br /><br />
Implement a "name space" keyword that you can warp around a clss definition with {}.<br />
Internally this adds <namespace-name> to the class names defined inside it sperated by a separator.</p><br /><br />
<pre>
&lt;?php
namespace spl {
        class file {
        }
}
?></pre><br />
<p class="about">The suggested separator is "\" as this is the only free choice.<br />
Import will be request-wide and the import keyowrd copies class entries to it's new name.<br />
If we encounter a conflict due to importing we abort execution.<br />
"import spl\*" will copy all classes in the spl name spaces to the "normal" namespace which doesn't have a prefix.<br />
Functions in name spaces are allowed.<br />
Constants in name spaces are allowed.<br />
No variables are allowed in name spaces.<br /><br />
The others additional minor features is Allow files with an open stream to be deleted.


]]></description>
</item>
<item>
<title>SEO Enhancement</title>
<link>http://www.rex-ryan.com/blog/SEO-Enhancement.htm</link>
<description><![CDATA[Today, I had modified my website to fulfill basically SEO standard. It can be crawled by Google, Yahoo! and MSN. But I figure out that there should be some more enhancement to increase my site ranking. And the most hardest should be the external link.<br /><br />

]]></description>
</item>
<item>
<title>Finished My WebSite</title>
<link>http://www.rex-ryan.com/blog/Finished-My-WebSite.htm</link>
<description><![CDATA[It's already 10 years, I haven't try to create my personal website, the reason why is just because I am lazy and I don't know what kind of content I should put it in. But after talked with my friends, Martin and Ka Yue. Therefore I used a week to create my personal website. There are some friends ask me why I don't use WordPress or Durpal to create my website, I did thought to use it. But finally I give up, it is because I want to practice and test my programming skill, and also it is my own personal website, I think I should created by myself from beginning till to end.<br /><br />In my blog, I will concentrate more about Internet, Web Development and Web Design in my point of view, and share any kind of interest stuffs in internet.]]></description>
</item>
</channel>
</rss>
