Derick Rethans' Blog: Circular References
120574
In a new post, Derick Rethans talks about circular references (a reference of a memory structure back to itself) and how they relate to PHP.   Circular-references has been a long outstanding issue with PHP. They are caused by the fact that PHP uses a reference counted memory allocation mechanism for its internal variables. This causes problems for longer running scripts (such as an Application Server or the eZ Components test-suite) as the memory is not freed until the end of the request. But not everybody is aware on what exactly the problem is, so here is a small introduction to circular references in PHP.   He starts by explaining what's so bad about circular references - issues not only with referencing the variable but also with freeing up the resources associated with it. He does suggest some solutions to the issue including garbage collection and cyclic tracing.
555479
On the Circle.ch weblog, there's a new posting about: Designing labels with SVG and convert them to PDF with PHP.
40472
In response to this recent article from the Hiveminds website, Marco Tabini has a few choice words about some of the topics they cover in the article, and cover incorrectly.   Over the last few years, I've made it a point of trying to respond to at least some of the "PHP is dead"-type articles that crop up on the Net from time to time. The latest one comes from Hiveminds and reveals a complete misunderstanding of almost every point it covers.   He notes that though the article seems to be a coherent whole for why PHP is dwindling, it's "based on nothing more than a string of misinformed concepts cobbled together to give the appearance that the author knows what he or she is talking about". Marco comes back against each of the points made in the article, setting things right and eliminating some of the FUD (fear, uncertainly, and doubt) that the Hiveminds article spreads.
124078
I think I've mentioned this before but on Saturday Feb 12th I'll be talking  about the Jakarta FeedParser at CodeCon  in San Francisco.  I published an outline  of the talk on the FeedParser wiki.  I'm hoping to have a 0.5 release done before then and havepotentially another suprise in the works.
449834
Sebastian Bergmann has posted the results of some benchmarking on the compilation he's done on the branches of PHP from version 3.0 all the way up to 5.3-CVS.   As people keep asking me for an update to my previous benchmarks (PHP / GCC / ICC Benchmark, PHP 5.1 / GCC Benchmark (Update), and PHP 5.1 Performance, I quickly ran a new benchmark today.   He rendered the results out into a series of charts defining the number of total seconds taken for the compile and how long each of the components took. It's impressive to see how much of a jump there was between the 3.0 series and 4.3.   He also includes his compile settings (and machine information) as well as the numbers for the results if you'd like to graph them out yourself.
457664
In this post on the Zend Developer Zone, Cal Evans takes a look at an article published in a recent php|architect issue from Chris Hartjes about how several recent advancements in the PHP community have helped developers think more in "the Rails way" of development.   Chris does a good job of laying out his points. As with any article of this nature, you are going to agree with some of them and you'll disagree with some of them. However, to get to that point you'll have to consider all of them. That's really the point of the article; making developer sit back and think for a minute. It's well worth the read.   Cal also mentions some of the topics presented in the article including more conceptual ideas like "Convention Over Configuration" and "Rapid Should Mean Rapid".
693070
Guilherme Blanco is proposing an interesting idea in his new blog entry - adding built in functionality to the PHP core that would allow a developer to register their own custom suprtglobals.   Currently, we deal with a lot of interesting situations of web applications, and some really interesting are the superglobals variables. Seems there will be a change in superglobals soon and that's why I decided to post about it here.   His example of the need for something like this is as an alternative to using the Singleton pattern to work with multiple database connections in an application. His proposal is that, by including this register_superglobal functionality, it would make it easier to share these kinds of connections. He even includes a simple code example of how it might look.
588152
Russ asks: Where's the OpenSocial container API? I love Russ because he cuts through all the BS and gets right to the core, most basic question, and he doesn't care who he pisses off. That's my kind of developer. You can't lie to the compiler, when the bits hit the road, you gotta know what garbage goes in and what garbage comes out.  (Ahh programmer's humor!) In other words, suppose I wanted to compete with Google, MySpace, Plaxo and LinkedIn, well, where's the spec that shows me how to do that? Well, of course I don't know, they aren't communicating with riffraff like me, but I have some experience with this kind of stuff, so I can hazard a guess. If they publish a spec,all kinds of projects will likely get started to enable the API in (just for the sake of argument): Drupal, WordPress, Twitter, Pownce, Jaiku, Scripting News (why not add widgets to a random blog), CNN, The New York Times, well you get the idea. There might be lots of implementations very quickly. And that would be it for changes. It would be frozen de facto, they'd have to live with what they have, which given how quickly it was thrown together, probably isn't very good. Not the kind of stuff you'd like to support for the next decade or two. Or maybe they would break everyone, something guaranteed to make them a lot of enemies, much the way Microsoft did, and they were good at migration of APIs.  Google is good at doing AJAXy web UIs, they make users happy, but they're not very good at APIs. This one is a loser, for sure. That's the answer to Russ's question. It's probably not malice that keeps them from releasing details to everyone outside their club, it's pragmatism. They have to try to hold on to it to keep it from becoming even more of a mess than it already is. Just my opinion, for what it's worth. I've been wrong many times before.
621839
"Rubinius is a project to watch", so says Charles Nutter in his post Rite, Rubinius, and Everything &mdash; I think he's right.  Evan is hard at work making things work better in rubinius.  He's now got continuations working (I think this makes him the first alternative implementation of Ruby to do so), and says he should have serializable continuations soon (see his post on it here).  W00t!
81366
There's been a few posts about the upcoming namespace support in PHP from different bloggers in the community including:   A post on the Stubbes blog by Frank Kleine and his discoveries of how the "use" keyword needs to be used in your applications A follow-up post from Frank as well correcting some of the problems in his first examples Some opinions from Richard Heyes on how useful they seem to him Brian Moon's comments on the level of traffic that the namespace discussion has been getting on the php.internals mailing list.   Right now there's so many ideas flying around about what namespaces should be and how they should be implemented that it'll be interesting to see which ideas finally come out on top.
674304
Mike Wallner has thrown together some stats for the latest edition of the pecl/http package to test its response performance.   The results surprised me, because it clearly shows that the performance drop for starting the PHP engine and doing the neccessary negotiation to provide caching is not that bad.   There's a chart of the results as well as a full PDF with all of the stats the graph maps out. He includes the legend to make the graph easier to understand.
15353
By Nicole C. Wong, San Jose Mercury News, Calif.  Feb.
664003
Please quote me on this Stob There's another of those lists of supposedly amusing/sage/cute adagesÂ going around, bouncing from blog to email, accumulating fresh contributions and occasional edits and doing all the meme-ish things that memes do. This one differs from all the others that you have deleted irritably from your email inbox in that it includes a contribution taken from this very column.â¦
21973
A formula for Web schemes: a lot of mathematicians, a lax legal system and Western targets.
49126
A lot of things are happening in the Ruby world right now, and I wanted to highlight a few of them here:  At FOSCon this year, Amy Hoy has asked people to start writing more instructive articles about parts of Ruby or Rails so that newbies would have more "fine manuals" to read.  I've tried to do my part with two short series (so far), one on RubyInline and the other on ruby-prof.  The RubyInline articles are: RubyInline, making making things faster easier, and RubyInline: Going a bit Further.  The ruby-prof articles are:  Profile and ruby-prof, ruby-prof and call graphs, and Profile and ruby-prof:  getting specific. Another blog related event is the current blogging contest being run by Ruby Inside.  They're offering $100 US to their favorite informativ, ruby related blog post this week (Aug 14-20).  There have been a lot of interesting entries so far.  It would be pretty cool to see more contests like this crop up. We're getting close to a couple of Ruby conferences, I wrote about RubyConf*MI in my last post.  RailsConfEurope is also comingu up quickly.  If you're reasonable close to either of these, you should consider registering. O'Reilly has released the Ruby Cookbook.  It's a massive tome, chock-full of Ruby goodness.  I haven't had time to read the whole thing yet, but what I've read looks good, and I'm hearing good things from folks I trust.  Looks like another good book to add to your Ruby bookshelf. APress is getting ready to jump into Ruby and Rails in a big way.  They've got ten titles listed on their 'Rails Roadmap', and have lined up some well known Ruby names to write for them.  They're still looking for some Ruby authors according to this blog post. No Starch Press is also starting to make some Ruby related noises.  I can't be specific yet, but there's a good looking Ruby book on its way into their catalog.  If the book is half as good as what they've talked to me about, it's going to be another 'must have'. The Pragmatic Programmers also look like they're set to add some more titles to their Facets of Ruby line.  James Gray has said that he's writing a book for them that should be announced soon, Ezra Zygmuntowicz also has a book on the way, and I've recently signed a contract with them for a Ruby related book.  It looks like the PragProgs aren't going to be content to sit on their Ruby laurels. Finally, Developerdotstar is close to announcing a couple of books about programming.  Neither of these is Ruby specific, but from everything I've heard I think they're going to be solid, language independant books about becoming a better programmer.  Just the kind of thing you'd expect from these guys.
477830
Paolo hypothesizes a much-needed tool in a post yesterday, and a follow-up today.
397724
Padraic Brady has put together a very comprehensive post on his blog today about using the Zend_Feed component of the Zend Framework to help with the aggregation of content from other sites (like RSS and Atom feeds).   In this entry I explore Zend_Feed from the perspective of someone aggregating RSS and Atom feeds with a view to building a database of uniquely identified content for later presentation in a "Planet" style application. [...] In fact all we create here is a simple command line script to aggregate content frequently (e.g. just set up cron to run it every hour or so) into a database for later presentation.   He guides you through each step of the way:   Setting Up Database And Models The Aggregator Script Foundation Using Zend_Feed to get common data for RSS/Atom entries Putting It All Together   There's plenty of code (and SQL to insert) in the post and he explains each point well, helping to make the development process smoother. There's even a summary section to toss in a few extra bits of information just in case you missed them along the way.