Showing user profile of selected author: - philip
Friday, July 27. 2007
It's not what people think about you,
but rather what they think about themselves.
-- taken from here
Thursday, July 19. 2007
While reminiscing what PHP was like back in the early early years, I stumbled upon a little historical nugget from the old website. Do you know what the acronym PHP stands for? Many of us do, or think we do, but just in case take a guess from: - PHP: Hypertext Preprocessor
- PHP: Hypermedia Preprocessor
- PHP: HTML Preprocessor
- Professional Home Pages
But how was the definition chosen? For fun, here's a look back at the official vote that determined this new meaning way back in 1998. It might be worth mentioning that Rasmus, the father of PHP, did not vote for the eventual winner. Oh, you gotta love Open Source! :-)
A couple notable quotes that could be taken out of context:
- *: "... I think I would prefer to just call it PHP and leave it up to the users to assign a meaning to the acronym. People Hate Programming, People Hate Perl, Please Hold Parties, Pretty HTML Programs, Perfect HTML Pages, Putrid Hateful Puke... whatever." ~ Rasmus, 1998
- *: "... Now, if some animal whose name started with 'P' were to be mysteriously associated with PHP we could have something like a Piranha HTML Preprocessor. What other P animals are there? Penguin, Platypus, Polar Bear, Porcupine, Puffin..." ~ Rasmus, 1998
And a few other notes:
- Back in late 1997, the name temporarily and unceremoniously changed from the earlier 'Personal Home Pages / Forms Interpreter' to 'Professional Home Pages' and this was noted within RC releases of PHP 3. People were not content, and wanted more, so later this was changed after the vote and before PHP 3.0.0 was officially released.
- This thread started the idea of really changing the name, which eventually lead to keeping the PHP name, then to using a geeky GNU type recursive acronym. Other thoughts like keeping PHP but with no meaning, or a monthly meaning, were entertained but did not happen.
- These official viewpoints compared the two leading candidates by pitting "PHP: HTML Preprocessor" against "PHP: Hypertext Preprocessor" with each side providing detailed arguments for why they should be the definition behind PHP. Note the arguments were written when the Internet was relatively young, which might explain the XML replacing HTML hype... :-)
- Official meaning for PHP is: PHP: Hypertext Preprocessor
Needless to say, this is now history. PHP is still PHP and we love it all the same.
Monday, May 28. 2007
Here are 20 possible reasons why PHP functions lack consistent names and parameters. Learning the definition for every PHP function is truly an amazing feat and I doubt this has been attempted or accomplished by anyone. At least, by any sane human. And references are named references because they are designed to be referenced, right?
The List:
- PHP glues APIs and humans together, and sometimes this gets messy
- PHP documenters pull strings to force a dedicated audience
- PHP is gearing up for a massive quiz on every function signature to rival all pi (π) competitions
- PHP likes BC
- PHP thrives on making your life difficult... because it's fun
- PHP is working on a time machine so really none of this matters
- PHP gladly and openly steals ideas and usage from other languages
- PHP says all your namespace are belong to us
- PHP functions have been developed under many circumstances, sometimes drunk
- PHP is a recursive acronym
- PHP anarchy says rules? we don't need no stinkin' rules!
- PHP function naming algorithm still remains a secret and cannot be cracked
- PHP chose to give people something fun to complain/blog/laugh about
- PHP function aliases are for the weak
- PHP functions created in the 90's (and some later) directly used prototypes from low-level APIs
- PHP isn't designed to win a beauty contest
- PHP has other problems to solve
- PHP needed a way to explain having an elephant for a logo
- PHP encourages text editors to be intelligent => code insight
- PHP.net + Ads = $$$
Related Resources: Related Quiz Questions: - Write the prototype for: in_array, isset, empty, strpos, strstr, subtr, implode
- Find the aliases: die, exit, echo, print, mysql, strchr, strstr, implode
- Locate the functions: die, echo, print, include, isset, unset, array, rtfm, str_parse, implode
- Define these PHP terms: Deprecated, Minor release, Major release, PECL, TSRM, Open Source, Rules
Monday, May 21. 2007
Today (or yesterday, or maybe tomorrow) marks a big day in my life because it's the day I became editor of the PHP Manual. The request to take over as editor was not easy because it's a position that requires work and responsibility... and consistent time. Working on the manual (something I've done since 2001) requires no true time commitments or required responsibilities because you submit documentation when you feel like it, solve the bugs you want, work on tasks that smell interesting, and take breaks whenever. In these past years I've taken many breaks because breaks are good but today I'm required to do something, required to be responsible for being there. I happily accept this challenge and must confess... I love PHP.
The documentation team is a good group of people with too many worthy names to mention here but [un]fortunately many of us have grown old. And since time has a way of adding new responsibilities, the total time spent writing documentation has decreased for most contributors. We're looking for fresh warm bodies to join the team so if you like to write words read by millions, and work with fellow PHP friends, then make mom proud and join in on the fun. Don't be shy! Most of us are normal people too.
Thanks to everyone for supporting this decision, I look forward to helping the team improve the PHP Manual over the next year or more. In my letter to the group you'll notice that a "one year exit option" snuck into the contract... clever huh? :) And thank you Gabor Hojtsy for doing such a great job as editor because over the years you've had a positive impact on my life and your legacy will be continued. Drupal is lucky to have you as a core maintainer.
Now, only a few pages of this required reading left to go and then it's time to work on that lengthy todo list ... it's go time!
Sunday, April 22. 2007
It's been a long road and exactly five years (35 releases) since the much discussed and highly controversial PHP directive register_globals has been disabled by default in PHP. After sifting through the mailing list archives, the following set of information has been compiled. Feel free to make additions, corrections, and report register_globals memories!
First, a few tidbits
- As of today, April 22, 2007, register_globals has been disabled (by default) for five years. That's when PHP 4.2.0 was released.
- PHP 3 did not have register_globals because it was simply how PHP behaved. However, some people used $HTTP_*_VARS if track_vars was on (it was on by default, and always on since PHP 4.0.3).
- You cannot set register_globals at runtime, and there have been at least 100 [deleted] user comments within the manual showing hacks how. This FAQ shows how. Don't do it though.
- The order variables are registered via register_globals is determined by variables_order, a directive that also affects which variables (including superglobals) will exist in PHP. Don't let the name fool you, this is one powerful PHP directive! In PHP 3, gpc_order was used instead.
- Most "Why PHP is insecure" articles show how to write insecure code with register_globals = on, and eventually register_globals (not poor programming) is blamed as the culprit. It rarely is.
- Strangely the 4.2.0 release announcement does not contain the string "register_globals" but of course it refers to it, and is highlighted in the ChangeLog.
- There's plenty of code within cvs.php.net that requires register_globals = on but that's okay because it's not a big concern. It however is slowly being updated.
A somewhat brief timeline
Continue reading "A brief unofficial history about register_globals in PHP"
|