Software Engineering

Software Engineering

1635 bookmarks
Newest
Face detection in pure PHP (without OpenCV) - Maurice Bloggue
Face detection in pure PHP (without OpenCV) - Maurice Bloggue
Lately, I've been looking for ways to detect faces in photos with PHP. Nowadays, face detection is built in many consumer products (camera obviously, but also Google and iPhoto), and seems to be a pretty common job. So I expected to find many solutions for doing it with PHP. Surprisingly, the only one I could find is OpenCV, an opensource lib that was originally developed by Intel. OpenCV seems to perform well but you need to be able to install it on your server. In my case, I wanted to have a pure PHP solution, so it can work with most hosts.
Face detection in pure PHP (without OpenCV) - Maurice Bloggue
Le Test Scrum but
Le Test Scrum but

Histoire Bas Vode a developpé un petit test pour les équipes qu'il accompagnait chez Nokia, ce qui a donné le Nokia Test. En 2008, Jeff Sutherland l'a repris pour lui ajouter un système de score. Dans ses formations, il nomme ça le "Scrum But" test. C'est cette version que nous vous proposons de passer ici. Objectifs Nous avons implémenté ce test pour deux objectifs :

  1. Vous donner un indicateur pour savoir où vous en êtes dans votre mise en pratique
  2. Collecter des informations sur l'usage de scrum

Une fois que vous aurez obtenu votre résultat, vous pourrez nous le soumettre. Les seules informations conservées sont :

* les résultats du questionnaire question par question
* la langue dans laquel le test a été fait (anglais ou français pour l'instant)
* l'adresse IP. Nous conservons celle-ci pour détecter des réponses cherchant à fausser les résultats ainsi que faire des statistiques géographiques. 

En aucun cas les informations collectées ne pourront être utilisées à des fins commerciales.

Alors, êtes vous Scrum ?

Le Test Scrum but
FluentDOM - Start
FluentDOM - Start

FluentDOM provides an easy to use fluent interface for DOMDocument.

The idea was born in a workshop of Tobias Schlitt, about the PHP XML extensions at the IPC Spring , in Berlin. He used this idea to show XPath samples in the session.

Many thanks to the jQuery , people for their work, who did an exceptional job describing their interfaces and providing examples. This saved us a lot of work.

We implemented most of the jQuery methods into FluentDOM, but here are differences. Most important: we use XPath for expressions, not CSS selectors. Since XPath is supported by the ext/xml extension, no extra parsing need to be done. This should be faster processing the selectors and btw it was easier for us to implement. And as a nice topping it supports namespaces, too.

FluentDOM - Start
eZ Components: The Good The Bad and the Ugly - Thomas Koch
eZ Components: The Good The Bad and the Ugly - Thomas Koch

I've been nominated again for the eZ Components Award. Thanks to eZ Systems for honour and to me employer YMC for the food! So this is a good occasion to assemble a list I've had in mind for a longer time. In a big project like eZ Components, which has been programmed by many contributors over a long time it is natural, that there are some better and some worse parts. So which components are the good, the bad and the ugly? Maybe this kind of overview could also be done by other users of other libraries too. Then we could assemble a big comparison table of framework or library components and one could pick the best parts of each. You'll notice that even if I consider myself a power user of eZ Components, I won't give a rating for every component, because there are still a few, I've not intensively used by now. So let's complete this table in a wiki somewhere together!

eZ Components: The Good The Bad and the Ugly - Thomas Koch
ezclipse / eZ Projects
ezclipse / eZ Projects

eZclipse is an Eclipse plug-in for supporting the CMS eZ Publish.

eZclipse offers the following features

* Syntax highlighting for INI and TPL files.
* Validation of TPL files.
* Var Browser for exploring the $node variable.
* Wizard for creating a new template file
* Wizard for creating a new configuration file

The project is actually hosted on SourceForge :

ezclipse / eZ Projects
Strophe
Strophe

Strophe is a library for writing XMPP clients. It is implemented in both JavaScript and C for use in a wide variety of languages. The implementations are production ready, well documented, easy to use, and easy to extend.

Strophe provides the following features:

* XMPP compliant
* Browser and platform agnostic
* TLS support via SChannel, GNUTLS, or OpenSSL
* SASL authentication using ANONYMOUS, DIGEST-MD5, or PLAIN methods as well as legacy jabber authentication
* Customizable logging and memory management
Strophe
Home
Home

Daisy is a content management system that offers rich out-of-the-box functionality combined with solid foundations for extensibility and integration. Daisy consists of two main components:

* a stand-alone repository server accessible through HTTP/XML (using the ReST style of WebServices) and/or a high-level (remote) Java API, and
* an extensive editing and publishing front-end web application running inside Apache Cocoon.

Due to its genericity and flexibility, Daisy can be used for many different purposes, but is ideally suited for information-rich, structured content and asset management applications. Even for advanced content management applications, Daisy can be used and configured without any Java-coding skills: Daisy offers a Javascript/Cocoon-based extension framework.

Daisy is licensed under the open source, business-friendly Apache License 2.0. Enjoy!

Home
Home - Common Tag
Home - Common Tag
Common Tag is an open tagging format developed to make content more connected, discoverable and engaging. Unlike free-text tags, Common Tags are references to unique, well-defined concepts, complete with metadata and their own URLs. With Common Tag, site owners can more easily create topic hubs, cross-promote their content, and enrich their pages with free data, images and widgets.
Home - Common Tag
Jester
Jester

Jester is a JavaScript implementation of REST, with syntax modeled after ActiveResource. You can use it to write code to read, create, and update the data on your server.

* Great Syntax – If you’ve gotten used to dirt-easy syntax like ActiveRecord’s “User.find(1)” for getting records, you can look forward to the same simplicity in Jester. Wherever possible, Jester takes advantage of JavaScript’s flexibility to keep things simple.

* Associations – Jester supports and reflects your Rails associations, detecting them automatically if your server includes them in its output.

* Plays With Others – Jester supports “JSONP”, a format for JSON that allows your API to be shared with JavaScript remotely. Sites like Twitter that support this work perfectly with Twitter, with minimal configuration on your part.

* Dependencies – Prototype, a server that uses RESTful URL and format conventions as popularized by Rails and ActiveResource. In Rails, a controller whose routes are defined using “map.resources” will work with Jester with no extra configuration.
Jester
The SOA world begins considering Web-Oriented Architecture (WOA) in earnest
The SOA world begins considering Web-Oriented Architecture (WOA) in earnest
WOA clearly offers a number of advantages to those doing traditional SOA today. This includes considerably improved service consumption models that are less expensive and time consuming to use as well as unleashing the tremendous power of link architecture to drive information discovery, leverage, and analysis. The profound business implications of open APIs and cloud computing are growing clearer by the week. WOA also provides an excellent on-ramp to access the many powerful new online product distribution models currently available today. Distribution of SOA is a woefully neglected topic and WOA can bring an extensive set of techniques, from syndication to extraordinarily low-impedance Web services.
The SOA world begins considering Web-Oriented Architecture (WOA) in earnest
Unboxing Web-Oriented Architecture: The 6 Aspects Of An Emergent Architectural Style
Unboxing Web-Oriented Architecture: The 6 Aspects Of An Emergent Architectural Style
This is where a deeper discussion on Internet applications and specifically, Web-Oriented Architecture (WOA) comes into the picture. WOA creates a more sophisticated and up-to-date vision for modern Web applications that aligns gracefully with the grain of the Internet. It also is generally (but of course, as with any approach, not always) true that WOA applications are easier to build, connect to other systems, and maintain for the Internet (and yes, Internet-type networks, like your enterprise intranet.)
Unboxing Web-Oriented Architecture: The 6 Aspects Of An Emergent Architectural Style
Getting to know the Atom Publishing Protocol, Part 1: Create and edit Web resources with the Atom Publishing Protocol
Getting to know the Atom Publishing Protocol, Part 1: Create and edit Web resources with the Atom Publishing Protocol
The discussion that follows will present an introductory walk-through of the basic operation of the protocol. This discussion will assume that you have an good understanding of content syndication using the Atom 1.0 Syndication Format and a rudimentary understanding of HTTP. As you read through this overview, I recommend that you keep a copy of the Atom 1.0 (RFC 4287) and HTTP 1.1 (RFC 2616) specifications handy as a cross reference for the various elements and methods discussed. If you are not familiar with the Atom format, I recommend you look at an article I wrote for developerWorks last year, "An overview of the Atom Syndication Format" (See Resources).
Getting to know the Atom Publishing Protocol, Part 1: Create and edit Web resources with the Atom Publishing Protocol
Page Speed Home
Page Speed Home
Page Speed is an open-source Firefox/Firebug Add-on. Webmasters and web developers can use Page Speed to evaluate the performance of their web pages and to get suggestions on how to improve them.
Page Speed Home
flunc - OpenPlans
flunc - OpenPlans
Flunc is a simple over-the-web functional testing application that uses twill scripts. It was created by Luke Tucker and Robert Marianski for the The Open Planning Project and is licensed under the GNU General Public License.
flunc - OpenPlans
The Open Planning Project | Code
The Open Planning Project | Code
An open source community is a public resource: whenever one member builds a new feature or improves an existing one, everyone benefits. TOPP has founded a number of successful open source projects, and we are core contributors to many others.
The Open Planning Project | Code
CRISPY - Communication per Remote Invocation for different kinds of Services via ProxYs.
CRISPY - Communication per Remote Invocation for different kinds of Services via ProxYs.
The intention for this project is a very simple API to call different kinds of services (provider/technology). Crispy's aims is to provide a single point of entry for remote invocation for a wide number of transports: eg. RMI, EJB, JAX-RPC or XML-RPC. It works by using properties to configure a service manager, which is then used to invoke the remote API. Crispy is a simple Java codebase with an API that sits between your client code and the services your code must access. It provides a layer of abstraction to decouple client code from access to a service, as well as its location and underlying implementation. The special on this idea is, that these calls are simple Java object calls (remote or local calls are transparent).
CRISPY - Communication per Remote Invocation for different kinds of Services via ProxYs.
Asanka Abeysinghe: Component Architecture of WSO2 ESB
Asanka Abeysinghe: Component Architecture of WSO2 ESB
While working on WSO2 ESB I thought of take the architects knife and cut the WSO2 ESB in a design time to see the components. It was interesting that there are lot of components bundled inside the ESB that the few of them only visible for the outside.
Asanka Abeysinghe: Component Architecture of WSO2 ESB
Hemlock
Hemlock
Hemlock is an open-source framework that combines the richness of Flash with the scalability of XMPP, facilitating a new class of web applications where multiple users can interact in real time. Games, workspace collaboration, educational tools… The only limit is your imagination.
Hemlock
Getting Started with WSGI » Armin Ronacher
Getting Started with WSGI » Armin Ronacher
I finally finished the written matura and have some more time to work on projects and write articles. One of the things I wanted to write for a long time is a WSGI tutorial that does not require a specific framework or implementation. So here we go.
Getting Started with WSGI » Armin Ronacher
Drush | drupal.org
Drush | drupal.org
drush is a command line shell and Unix scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.
Drush | drupal.org
Making and Using Features in Drupal | Development Seed
Making and Using Features in Drupal | Development Seed
Features is part of the answer to one of Drupal’s biggest headaches – what to do with all that loose site building and customization that happens on every project. Features is part of the answer to making stronger, better install profiles and targeted distributions of Drupal. And features is part of the answer to making Drupal more task oriented and less daunting to our users.
Making and Using Features in Drupal | Development Seed