Feed aggregator
Automated linking with rich text editors
The web is built of links, of pages linking to other resources on the internet. But making those links manually is tedious. This is another area where modern inline editors could do better.
Yesterday on Hacker News, there was a thread about Wikidata, Wikimedia Foundation's new knowledge base. This comment struck me especially:
I was using Wikipedia the other day and it occurred to me how primitive it is to have all the inner links to other Wikipedia articles defined manually, surely these should have been automated by now (i.e., marking a word or two would link you to the relevant article).
And indeed, this is a usability problem that can already be fixed with the Semantic Interaction stack underneath Create.js.
Introducing Annotate.jsAnnotate.js is a VIE widget built by Szaby Grünwald. It works very similarly to a spell checker in traditional text editors — you write text, and it highlights the potential entities you might want to link to. You then can either accept or decline these link suggestions by clicking them. In case of multiple potential matches, you can also disambiguate between them by selecting from an offered list.
Here is a quick video of Annotate.js in action:
You can also try it yourself with an online demo.
Currently Annotate.js has been integrated with the Hallo rich text editor, but it would be easy to do the same with other popular editors like Aloha and CKEditor.
Connecting to entitiesThe big question with automatic linking is where the entities come from. There are services like OpenCalais that can provide these suggestions for your content, but most of them are focused only on shared knowledge bases of big companies, famous people, and major cities.
Unless you're running a newspaper, it is unlikely that these are the things your content is about.
Apache Stanbol is an open source engine that can provide the enhancements for you. Out of the box it provides suggestions based on the Wikipedia knowledge repository. But more importantly, you can feed it with your own entities.
This way the enhancements you get for your content can be tuned to be meaningful to your content and your audience. If you write about medicine, they could be about symptoms and diseases, or if you're writing about technology, they could be specific open source projects and their contributors. With Stanbol, the choice is yours.
The current downside of Stanbol is that you'll have to run it yourself, but there may be solutions coming for that as well.
Beyond editingLike never losing your content or managing collections, Annotate.js shows what we can do to improve the editing experience when we interact with it in a semantically meaningful manner.
What Annotate.js does is not merely creating links, but it also marking the machine-readable relationship between them and the html content being edited. This can then be used by yet another set of tools — like search engines — to understand and organize the content better.
It is easy to see Create.js (like Drupal did, unfortunately) as just an easy way to add nice inline editing features to your CMS. However, while that is a good initial step, the addition of being able to interact with your content on the semantic level can do a lot more. Automated linking is just another demonstration of that.
As the ecosystem around Create.js and VIE matures, and it ships in more systems, there will be things that we can't even imagine now built on the stack.
If your CMS is properly decoupled, you can benefit from that immediately.
Big Fish Selects MySQL Cluster to Serve Real-Time Web Recommendations
AXLE improves analytics on Big Data
The AXLE Consortium are pleased to announce the start of the AXLE database research project, funded by European Union under FP7 grant. axleproject.eu
The objectives of the AXLE project are to greatly improve the speed and quality of decision making on real-world data sets. AXLE aims to make these improvements generally available through high quality open source implementations via the PostgreSQL database and Orange data visualisation and data mining tools.
AXLE project members are
- Barcelona Supercomputing Centre (BSC)
- Portavita
- University of Manchester
- University of Ljubljana
- Coordinated by 2ndQuadrant
Areas of research will include data analysis algorithms for Big Data, advanced hardware architectures, data visualisation and security. Target environments are real-world data in the 10-100 TB range.
"Real world data needs good security too, so we'll be making sure we have high grade security that works well even with high performance requirements", says Simon Riggs, CTO of 2ndQuadrant and Principal Investigator for the AXLE project. "We're very happy that the European Union has recognised the potential of the PostgreSQL database to provide effective database analytics for a broad range of business, research and public services."
First deliverables from the project will be submitted to PostgreSQL version 9.4, available in 2014 and will continue in later releases.
Project updates will be available regularly here as work continues.
A new blog!
I just launched a new version of my blog, and you're looking at it :). I've went through a number of platforms, most recently habari, which I still have a lot of love for.
But my installation was going rapidly out of date, was becoming very slow due to using Sqlite as a backend, and most of all, I wanted to use GitHub to store my posts so everyone can make edits.
So I settled on using Jekyll, hosted on GitHub pages. Biggest drawback: it's all 100% static, so I had to use Disqus to enable comments. Don't really like the idea of someone else owning my precious, precious data, but alas… I'm in the 'cloud services business' myself, and you gotta practice what you preach.
The first responses have been an overwhelming "weren't you able to find a better template anywhere?". I'm obviously not much a visual artist myself, so I had no problem with the concept. But it's hard to find solid minimalistic designs, and I really wanted a strong focus on actual content, and a great mobile experience, so I've had some trouble finding things that matched those objectives.
Regardless, I'm quite happy with the look of embedded code, I mean… I think this looks pretty sweet:
<?php
include __DIR__ . '/vendor/autoload.php';
use Sabre\XML;
$reader = new XML\Reader();
$reader->open('atom.xml');
$output = $reader->parse();
var_dump($output);
If you recognize the color scheme, indeed.. It's the old vim 'desert' scheme ported to css.
I also ditched the old domainname (rooftopsolutions.nl). I started 'Rooftop Solutions' when I was a 17-year old kid, over 10 years ago. This has been my moniker ever since, but recently I officially 'shut down' this business when I moved from Münster, Germany to London.
Figured I might as well start fresh and use my real name.
While we're on the topic of London. If you're reading this and happen to also live in London. If you're up for some armchair philosophy or programming discussions over a pint, I'm still pretty new here and in the market for friends, so drop me a line!
To conclude: I hope a new system will encourage me to do a better job at blogging. I've been pretty shit last year, and this is my first post of 2013.
I'm actually not sure how relevant blogs still are in 2013. There's definitely been a steep decline, but I enjoy the medium as a consumer and I reckon 10 years down the road older blog posts may still hold some relevancy, unlike compressed twitter discussions with little context.
Anyway, if you're reading this, thanks for sticking with me. If you have any criticisms or suggestions, I'd love to hear it!
NetTuts.com: HTTP: The Protocol Every Web Developer Must Know - Part 2
NetTus.com has followed up their previous article covering some of the basics of the HTTP protocol with this new post, part 2 of the series. They suggest that HTTP, the messaging format of the web, is the one protocol that every web developer should know.
In my previous article, we covered some of HTTP's basics, such as the URL scheme, status codes and request/response headers. With that as our foundation, we will look at the finer aspects of HTTP, like connection handling, authentication and HTTP caching. These topics are fairly extensive, but we'll cover the most important bits.In this article, they talk about things like the HTTPS secure version of HTTP, server-side connection handling, identification/authorization and working with caching and cache control headers.
Link: http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2Elijah Horton: Sandboxing Untrusted Code With PHPSandbox
Elijah Horton has a recent post to his site sharing a tool he's developed to sandbox and validate PHP code of user-contributed code.
Few quotes related to the PHP language are as pithy and resoundingly accurate as the phrase: "Eval is evil." The reasons are myriad: the eval() function basically gives whatever code is passed to it unlimited control of the parser, and this freedom makes eval() both a temptation for developers, who may need to dynamically control PHP at runtime, and a panacea for hackers who are ever-searching for more servers to add to their botnets. So, how does one make use of the extreme power available through runtime evaulation of PHP, without exposing one's server to near-certain rooting? Through a sandbox.His tool - PHPSandbox, uses the PHP-Parser library to deconstruct the PHP code its given and look for issues. He gives an example of a call to mail and how it would catch the issue. He shows how to install it via Composer, how to configure it with whitelisted methods/functions. It also includes a way to overwrite function calls with a bit safer alternative.
Link: http://www.fieryprophet.com/blog/detail/sandboxing-untrusted-code-with-phpsandboxReddit.com: How to progress my PHP skills?
On Reddit.com a reader has asked the community what they think he needs to do to progress his PHP skills past the "little bit" he's learned so far.
Last summer I started learning a little bit of PHP, knowing HTML and CSS drove me towards wanting to learn some PHP for fun. I went through a pretty simple book, and made some simple websites (registration and message system, user submitted data, file uploads) using mostly tutorials which I tweaked a little bit. Since last summer I haven't learned anything new, but now that summer is coming along again I might be a bit bored, so I have been thinking of attempting to learn even more.Suggestions included in the comments are things like:
- Learn about software architecture.
- Understand your environment.
- I very highly suggest learning a PHP framework.
- http://www.phptherightway.com
- Start learning industry tools for PHP. It will all influence your coding style, and illustrate why some styles are considered best practices.
- To add to the other suggestions, I recommend becoming a regular contributor to one or more open source projects.
- What helped me a lot was to write my own micro framework using OOP that I can now use for future websites and web applications.
- Come up with a 'complex' web site/application idea and get to it. Bonus points if you can launch it and make money off it (half kidding).
You can read the full set of comments for more good suggestions here.
Link: http://www.reddit.com/r/PHP/comments/1d32dr/how_to_progress_my_php_skills7PHP.com: Interview with Jakub Vrana - Co-Author Of The Official PHP Manual
7PHP.com has another community interview posted today - this time it's with Jakub Vrana, a co-author that works on the official PHP manual.
In this edition I talked with Jakub Vrana who is a co-author of The Official PHP Manual. @jakubvrana is also the creator of the two successful projects namely Adminer and NotORM. I invite you to know him better and to learn from his 7php PHP interview.The interview shares Jakub's answers about things like:
- His history as a PHP developer
- What he sees as good and bad parts of it
- His preferred tools
- His choices on frameworks and ORMs
- How to get started contributing to the documentation/manual
- Some about his book "1001 tips and tricks for PHP"
Top Version Control Systems used by PHP Developers
Read this article to learn what are version control systems, why they are so important to be used by all developers, and what are the most popular systems used by PHP developers.
Community News: Packagist Latest Releases for 04.29.2013
- zweifisch/zf (v0.0.3, v0.0.2, v0.0.1)
a micro php web/cli framework/router
- aktive_merchant/aktive_merchant (1.0.7)
Aktive-Merchant provides a common interface to process payments using multiple gateways.
- alaneor/ad-x (0.1.0-RC1)
X-tremely powerful intefrace to Active Directory
- ali/datatable (v1.3.3)
Symfony2 Ajax Datagrid Bundle for doctrine2 entities
- panmedia/raptor (v1.0.2)
An HTML5 WYSIWYG content editor.
- rcrowe/turbo (0.1.0)
Think turbolinks but for your PHP application. Powered by pjax.
- gum/gum (0.1.3)
Map URLs to callbacks.
- genemu/form-bundle (v2.1.3)
Extra form types for your Symfony2 projects
- ladela/personal-translations-widget-bundle (v0.2.4)
Adds translations widget based on Personal translations
- ttf/sphinx (0.1.3, 0.1.2, 0.1.1, 0.1.0)
- uam/aws-ecs-bundle (0.1.3)
Amazon Product Advertising API Bundle
- simplon/db (1.2.1)
Simplon DB Libraries
- domnikl/statsd-bundle (1.0.0)
adds support for statsd in your Symfony2 application
- zf/zf (v0.0.2, v0.0.1)
a micro php framework
- mparaiso/crudserviceprovider (0.0.6)
CRUD helper Silex framework
- simplon/helper (0.5.6)
General helpers which come-in helpful.
- geekality/transposer (v1.4.1, v1.4.0)
Plain text song parser and chord transposer
- matear/phpmdtohtml (v0.2.2, v0.2.1, v0.2.0)
PHPMD2HTML permite formatear los archivos Markdown a templates HTML
- matear/cliptools (v0.5.2)
Cliptools es una libreria que permite interactuar y crear aplicaciones PHP para correr en consola
- nelmio/js-logger-bundle (1.1.0)
Adds logging of JS errors in your Symfony2 application
Community News: Latest PEAR Releases for 04.29.2013
Community News: Packagist Latest Releases for 04.28.2013
- qimnet/update-tracker-bundle (v1.5.1)
QIMNET Update tracker bundle
- hirudo/for-moodle (0.1.0)
Moodle implementation of Hirudo
- imagicreativity/jquery-knob-bundle (00.00.00)
Enables you to use the Jquery Knob library by Anthony Terrien in your Symfony2 projects. See: http://anthonyterrien.com/knob/
- rcrowe/twigbridge (0.2.6)
Adds the power of Twig to Illuminate / Laravel 4
- hirudo/for-drupal (0.9.11)
Drupal implementation of Hirudo
- meenie/munee (1.5.12)
PHP 5.3 Asset Optimisation - Smart Caching, On-The-Fly Image Resizing, On-the-fly LESS, SASS, CoffeeScript Compiling, and CSS & JavaScript Combining/Minifying
- jeremykendall/php-domain-parser (0.0.7)
Public Suffix List based URL parsing implemented in PHP.
- php-mp4box/php-mp4box (0.2.2)
PHP MP4Box, an Object Oriented library for easy file conversion with MP4 Box
- anroots/menu (3.0.2)
A Kohana module to help with building HTML navigation menus
- wyrihaximus/phunin-cake (0.1.0)
- davejamesmiller/laravel-aliases (0.1.0)
Adds an 'artisan aliases' command to Laravel that lists registered aliases and the classes they map to, including resolving facades
- mandrill/mandrill (1.0.24)
API client library for the Mandrill email as a service platform
- phly/phly-restfully (2.0.0beta3)
ZF2 Module providing structure for RESTful resources
- uam/aws-ecs-bundle (0.1.2)
Amazon Product Advertising API Bundle
- toin0u/geotools-laravel (0.1.0)
Geo-related tools PHP 5.3 library for Laravel 4
- leaseweb/memcache-bundle (v1.1.0)
Memcache session management with Web Debug Toolbar integration
- snc/redis-bundle (1.1.4)
A Redis bundle for Symfony2
- mikehenrty/thin-pdo-wrapper (1.0.0)
A simple database abstraction for using PDO with MySQL, Postgres, and SQLite.
PHP: Redirection limit reached
PHP may give you the following error:
PHP Warning: file_get_contents(http://example.org/): failed to open stream: Redirection limit reached, aborting
This means that the URL you are accessing is telling you via a HTTP Location: header, that the data you want can be found on a different URL. This different URL tells you that the data you want can be found on another different URL. This another different URL ...
The game continues, 20 times. Then, PHP decides to stop following redirects and gives you the error.
The HTTP headers that make your client follow the Location header can are:
More redirectionsIf you want more than the default 20 redirects allowed by PHP, you can modify the HTTP stream context by setting the max_redirects option:
<?php
$context = stream_context_create(
array(
'http' => array(
'max_redirects' => 101
)
)
);
$content = file_get_contents('http://example.org/', false, $context);
?>
No redirection
You may also choose to not follow any redirects by setting follow_location :
<?php
$context = stream_context_create(
array(
'http' => array(
'follow_location' => false
)
)
);
$content = file_get_contents('http://example.org/', false, $context);
?>
In this case, you will get the content of the page that causes the redirect.
PHP: Unable to find the wrapper "https"
PHP may tell you the following:
PHP Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?
This means that PHP is not able to do secure HTTP requests. Reason for this is that it has no SSL library to use.
UnixRecompile PHP with the --with-openssl flag.
WindowsEdit your php.ini file and add the following line:
extension=php_openssl.dll
Community News: Packagist Latest Releases for 04.27.2013
- mparaiso/routeconfigserviceprovider (0.0.23)
Route config file support for Silex framework
- openlss/lib-tpl (0.0.13, 0.0.12)
Wrapper library for managing PHPTAL environment. Also supports HTML Tidy formatting.
- onemightyroar/php-paulus-components (0.9.3)
Components to enhance Paulus projects to enable quicker, more structured REST API's
- voda/date-input (1.0.1)
HTML 5 compatible date / time input field for Nette.
- sweikenb/php-library (2.2.0)
Some useful (and mostly decoupled) php classes for common tasks.
- intervention/image (1.3.11)
Image handling and manipulation library with support for Laravel 4 integration
- segmentio/analytics-php (0.4.2)
Segmentio Analytics PHP Library
- chronon/bootstrap (2.3.1)
Twitter Bootstrap packaged as a CakePHP plugin.
- php-unoconv/php-unoconv (0.2.0)
Unoconv PHP, an Object Oriented library for easy file conversion with LibreOffice's unoconv
- phundament/p3pages (0.10.6)
Page Manager
- mparaiso/doctrineormserviceprovider (0.0.19, 0.0.18)
Doctrine ORM for Silex
- csanquer/twig-extra-bundle (0.1)
Twig Extra Extensions Bundle
- alchemy/binary-driver (1.3.4, 1.3.3, 1.3.2)
A set of tools to build binary drivers
- lilweb/job-bundle (0.1.0)
Performing asynchronous jobs with Symfony2
- uam/amazon-pa-bundle (0.1.1)
Amazon Product Advertising API Bundle
- matear/cliptools (v0.5.1)
Cliptools es una libreria que permite interactuar y crear aplicaciones PHP para correr en consola
- lfnds/sdk (1.2.3, 1.2.2)
PHP SDK for the elefunds API.
- paypal/rest-api-sdk-php (v0.6.0)
PayPal's PHP SDK for REST APIs
- sammaye/mongoyii (1.1.0)
A Yii MongoDB ORM
- desarrolla2/rss-client-bundle (v2.0.1)
This Bundle provides a way to get rss feeds friendly.
- br0sk/yiiron (1.0.4)
Yiiron is a Yii extension that integrates the services of iron.io in the Yii Famework
- desarrolla2/rss-client (v2.0.3)
A simple to use RSS client library.
- desarrolla2/cache (v1.3.1-stable)
Provides an cache interface for several adapters (Apc, File, Mongo, Memcached, Mysql, ... )
- jdolieslager/fetranslator (v0.1.2, v0.1.1)
ZF2 Module for translating routematches and messages
- checkdomain/upload-manager-bundle (0.0.1)
Asynchron multiupload form type and service for Symfony2
- paypal/sdk-core-php (v1.4.0)
PayPal Core SDK for PHP
- amg-dev/amg-sentry-plugin (1.1.0)
Symfony 1.x plugin for Sentry.
- mikehaertl/phpwkhtmltopdf (1.1.5)
A slim PHP wrapper around wkhtmltopdf with an easy to use and clean OOP interface
PHPMaster.com: Better Understanding Random
On PHPMaster.com there's a new tutorial talking about randomness in PHP, what it is and some of the things it can be used for.
Use of random values is very important in the computer security field. It is crucial in computer programming for development of secure systems that are not vulnerable to malicious subversion. Cryptography relies on random value's generation and their reproducibility for unpredictable output that is core for security of any system. Random values are fundamental for secure coding practices and PHP highly makes use of them for security. You will find them used in all libraries and frameworks and almost all codes rely on them for the generation of tokens, salts and as inputs for further functions.He talks about the important of good random numbers and some of the common uses for it including generating salts and unique identifiers. He mentions the "pseudorandomness" of PHP's generators and how they're seeded to help increase this randomness. He finishes up the tutorial with some suggestions and language features for creating "as random as possible" values like using "/dev/urandom" on Linux-based systems.
Link: http://phpmaster.com/better-understanding-random/Dev/Hell Podcast: Episode 31: Feline Tooth Extraction
The /Dev/Hell podcast has posted their latest episode - Episode #31 - Feline Tooth Extraction. The podcast is hosted by PHP community members Chris Hartjes and Ed Finkler.
Short notes time: In this episode, Chris and Ed talk about conferences we always wanted to go to, and languages & tools we'd thought we'd hate and turned out to like. Then Ed waxes on the Open Recipes project.You can listen to this latest episode either through the in-page player or by downloading the mp3. Links to all of the technologies and tools they mention are in the show's notes on the page.
Link: http://devhell.info/post/2013-04-24/feline-tooth-extractionSoftware Gunslinger: PHP is meant to die, continued
In his previous post ("PHP was meant to die") the point was made that PHP isn't really designed as a language to handle long running processes very well. It's made to handle a few operations and then die at the end of the request. In this follow up post he talks more about using PHP for long running processes and a library that could help.
Yes, I already acknowledged that PHP has a garbage collection implementation starting 5.3.0 and up (opt-in or opt-out, that's not the problem). I also acknowledge that garbage collection works, and is able to take care of most circular references just fine. [...] Anyway, as previously stated too, garbage collection is a great thing, but not enough for PHP. It's a borrowed feature that does not play well with old fundamental decisions inherited from the original design. Garbage collection is not a magical solution for every problem, like many tried to argue about. Let's illustrate with another example.His example uses the React PHP library (a non-blocking I/O platform) to handle a lot of incoming data to a port and report back some memory usage and limit settings. He explains a bit about what's happening and shares the results of the test, including the end result - a fatal error when the memory limit was hit. He still comes to the same conclusion, ultimately...PHP is just not the language to use for long-running processes that do any large amount of work.
Link: http://software-gunslinger.tumblr.com/post/48215406921/php-is-meant-to-die-continuedCommunity News: Packagist Latest Releases for 04.26.2013
- titon/controller (0.1.2, 0.1.1, 0.1.0)
The Titon controller package provides controllers and actions to handle the HTTP request and response.
- titon/view (0.1.1, 0.1.0)
The Titon view package provides template handling with the use of a rendering engine and helpers.
- titon/common (0.7.2)
The Titon common package provides global functionality like class traits and augmentation as well as dependency and configuration management.
- titon/route (0.5.2)
The Titon route package adds support for dynamic route handling and mapping.
- titon/debug (0.4.5)
The Titon debug package provides debugging and advanced error and exception handling.
- phpygments/phpygments (1.0.0)
Syntax highlighter bridge for pygments
- segmentio/analytics-php (0.4.1)
Segmentio Analytics PHP Library
- panmedia/raptor (v1.0.1, v1.0)
An HTML5 WYSIWYG content editor.
- components/pavlov (0.3.0)
Behavioral API over QUnit.
- matear/cliptools (v0.5.0)
Cliptools es una libreria que permite interactuar y crear aplicaciones PHP para correr en consola
- onemightyroar/php-activerecord-components (1.0.4)
Useful common components for a php-activerecord based project
- rcrowe/twigbridge (0.2.5)
Adds the power of Twig to Illuminate / Laravel 4
- net_bazzline/classmap_generator (v1.4)
php classmap and autoloader generator for psr-0 and previous php files - it should find all classes in every php file
- iron-io/iron_worker (1.4.0)
Client library for IronWorker (multi-language worker platform that runs tasks in the background, in parallel, and at scale.)
- rah/rah_replace (v0.4.1)
Search and replace plugin for Textpattern
- wyrihaximus/phunin-node (0.1.1, 0.1.0)
munin-node in PHP
- johnstevenson/json-works (v1.0.1)
Create, edit, query and validate json
- bit3/contao-assetic (1.1.1)
Assetic integration for Contao OpenSource CMS
- intouch/laravel-newrelic (1.0.1)
Laravel 4 NewRelic Integration
- mparaiso/crudserviceprovider (0.0.5)
CRUD helper Silex framework
- priyolahiri/neo4jphp (0.1.4, 0.1.2, 0.1.3)
Wrapper for the Neo4j graph database REST interface
- fabricius/fabricius (v0.1.0)
Library for defining content in a similar way as Jekyll.
- mustache/mustache (v2.3.1)
A Mustache implementation in PHP.
- phundament/p3media (0.11.9)
Yii media file manager module with ckeditor integration
- desarrolla2/cache (1.3.0-stable)
Provides an cache interface for several adapters (Apc, File, Mongo, Memcached, Mysql, ... )
- phormium/phormium (0.1)
A minimalist ORM for PHP.
- monotek/minitpl (v1.0.0, 1.0.0)
Miniature fully featured PHP template engine
- candycms/plugins (3.0.4)
Plugins for candyCMS.
- xi/test-selenium (0.2.2, 0.2.1)
Selenium 2 bindings
- widop/google-analytics-bundle (1.0.0)
Google certificate-based authentication in server-to-server interactions with google analytics
- checkdomain/upload-manager-bundle (0.0.9)
Asynchron multiupload form type and service for Symfony2
- webforge/testdata-repository (0.2.2-alpha)
A repository for data that you can use to fill your unit tests.
- rollerworks/recordfilter-bundle (v0.0.2)
Record search-filtering bundle for Symfony
- rah/rah_function (v0.7.0)
Every PHP function and method is a Textpattern tag
- brainbits/transcoder (1.1.2)
Library for encoding, decoding transcoding data.
- bit3/contao-twig (1.4.1)
Twig integration for Contao OpenSource CMS
- raindrop/twigloader-bundle (0.9.1beta)
Symfony Raindrop TwigLoaderBundle
- rah/rah_debug (v0.2.2)
User tied debugging information plugin for Textpattern
- mjohnson/utility (1.4.1)
A collection of CakePHP utility libraries.
Site News: Popular Posts for the Week of 04.26.2013
- PHPMaster.com: Consuming Feeds with SimplePie
- NetTuts.com: Reflection in PHP
- Site News: Popular Posts for the Week of 04.19.2013
- 7PHP.com: Zend Certifications Tips & Tricks - Hear It From Zend Certified Engineer Eric Hogue
- Systems Architect: Performance benchmark of popular PHP frameworks
- Community News: Latest PEAR Releases for 04.22.2013
- PHP.net: PHP 5.5 beta 4 is now available
- DZone.com: PHPUnit vs. Phake cheatsheet
- Samuel Levy: PHP is the right tool for the job (for all the wrong reasons)
- MaltBlue.com: Why Testing Makes a Project Successful and You Can't Afford to Deny It