So I needed to add some auto-completing functionality to my project Build It With Me. I figured it would be easy to find a ready-made jQuery plugin to do the work for me. I was wrong. Naturally I took it upon myself to solve this problem for all of you :) I created this plugin to be as general purpose as possible. As a result it ended up being vastly more customizable than any other jQuery auto-complete plugin. Not only that, I am using actual jQuery. For some reason all the other "jQuery" plugins don't really take advantage of the radness that is jQuery. Consequently, my plugin ended up being dramatically smaller in size (way less code). Just 7kb minified. Have fun with it! AutoSuggest is a very lightweight jQuery plugin that makes auto-completing extremely easy.

Archives (2008 - 2023)
Parfois, lors du développement d'une application web, il est nécessaire de s'interfacer avec le ou les logiciels et/ou sites web du client afin de garder une session commune et cohérente au sein de sa bulle applicative. Pour ce faire, il est souvent utile de faire appels à un outil : le SSO (Single Sign On), ou Authentification Unique. Ce genre d'outils est assez répandu sur la toile; on en trouve notamment chez Google (un seul compte pour toutes leurs applications), Canal+, M6, etc... Il existe bien sûr plusieurs façons de s'interfacer avec un SSO en fonction du CMS ou du framework utilisé. eZ Publish, depuis sa version 3.8, permet de développer des SSO Handlers sous forme de plugin au système d'identification afin d'effectuer cet interfaçage. Je vais tenter, au travers de ce billet, de vous en présenter le mode de fonctionnement.
Dependency hell is where you are when version lock and/or version promiscuity prevent you from easily and safely moving your project forward.
As a solution to this problem, I propose a simple set of rules and requirements that dictate how version numbers are assigned and incremented.
In the time that I have developed software, I don’t know that I’ve ever met a developer who got excited about writing specs for anything. In fact, most developers loathe writing specs, or developing schedules of any kind. It’s not that they’re lazy, or that they don’t want to be held accountable; most of the time it’s because developers prefer to express themselves via code, or because developers are afraid that if they set a schedule, and then reality doesn’t match up, they’ll be forced to produce sub-standard code. Neither of these is an ideal situation.
This is directly at odds with the business need of specifications and schedules. Businesses need schedules to know when products will be finished and schedule things like trade shows, product launches, and write contracts with clients who need or want a particular product. It’s not as if businesses want to push their developers to insanity by forcing them to schedule and then stick to it; more often than not thousands of dollars hinges on the schedule, and it simply must be met.
Schedules and specs are a core component of software development, and business development; so much so that Joel Spolsky included developing both as core components of the Joel Test. While developers hate writing specs and developing schedules, there are some painless steps they can take to create them.
Eloquent JavaScript is a digital book providing a comprehensive introduction (tutorial) to the JavaScript programming language. Apart from a bookful of text, it contains plenty of example programs, and an environment to try them out and play with them. The book is aimed at the beginning programmer ― people with prior programming experience might also get something out of it, but they should not read chapters 2 to 5 too closely, because most of the concepts discussed there will probably be nothing new to them. Do make sure you read the end of the first chapter, which has some essential information about the book itself.
We will start by revisiting the REpresentational State Transfer (REST) architectural style. Oft quoted and even more often misunderstood, this manner of building networked software systems allows us to merge our documents, data and information-oriented services into a rich, logical ecosystem of named resources. From there, we will introduce the vision of the Semantic Web and walk through its core technologies represented by a flexible and extensible data model and the ability to query it. We will see how to incorporate relational data, content from documents, spreadsheets, RSS feeds, etc. into a rich web of reusable content. After we present the basics, we will walk through a variety of successful efforts building on these technologies and then return to reclaiming the vision promised to us by proponents of Web Services technologies. We will describe a process where we can achieve something of a Unified Theory of Information Systems; one that not only handles, but embraces the kind of technical and social change that has been painful and intractable to manage in the past.
On 5th of November I gave a talk titled “Shocking News in PHP Exploitation” at the Powerofcommunity hacking/security conference in Seoul, South Korea. Afterwards I uploaded my slides to this server but only distributed the link through twitter. I totally forgot about announcing the slides in my blog.
The topics of my talk were
* easy ways to bypass modsecurity and f5 big ip asm
* exploiting unserialize vulnerabilities in Zend Framework applications
* exploiting PHP interruption vulnerabilities after recent fixes in PHP
The MySQL Workbench Doctrine Plugin is a plugin developed for MySQL Workbench which is a tool for developing MySQL databases with a graphical interface. The plugin helps you to generate database schemes for the Doctrine framework which is e.g. used in the very famous PHP Framework Symfony.
Sprinkle is a software provisioning tool you can use to build remote servers with, after the base operating system has been installed. For example, to install a Rails or Merb stack on a brand new slice directly after its been created. Properties of packages such as their name, type, dependencies, etc, and what packages apply to what machines is described via a domain specific language that Sprinkle executes (in fact one of the aims of Sprinkle is to define as concisely as possible a language for installing software).
The OASIS Service Oriented Architecture Reference Model TC has recently approved the Reference Architecture Foundation for Service Oriented Architecture Version 1.0 (SOA-RAF) specification as a Committee Draft for public review. SOA-RAF builds on Reference Model for SOA (SOA-RM) and defines the abstract architectural elements independent of the technologies, protocols, and products that are used for SOA implementation.
A full-screen, console-based Python debugger PuDB is a full-screen, console-based visual debugger for Python. Its goal is to provide all the niceties of modern GUI-based debuggers in a more lightweight and keyboard-friendly package. PuDB allows you to debug code right where you write and test it--in a terminal. If you've worked with the excellent (but nowadays ancient) DOS-based Turbo Pascal or C tools, PuDB's UI might look familiar.
Facebook Connect is way to make your application more social. With it you gain access to: Identity: the user's name, photo and more [User].Social Graph: the user's friends and connections [Connection].Distribution: the Stream, and the ability to communicate [Publishing]Integration: publishers, canvas pages, profile boxes & tabs.This guide is for using the Mu JavaScript library to access the above on your site. Mu is a very small library which you can use along with your favourite JavaScript library such as Dojo, jQuery, MooTools, Prototype or YUI.
pg_top is 'top' for PostgreSQL. It is derived from Unix Top. Similar to top, pg_top allows you to monitor PostgreSQL processes. It also allows you to: View currently running SQL statement of a process.View query plan of a currently running SQL statement.View locks held by a process.View user table statistics.View user index statistics.
I wanted a simple command-line tool to be able to grab real-time stats from memcache (memcached, I know, I know), and output it in a view something like top. I couldn't find anything like it, so I wrote one myself in perl. When writing it, I tried to keep it simple, portable, and lightweight. (No memcached perl modules required! I tried to keep it to modules I thought would be preinstalled on almost any modern system. It's also fairly polite - non-critical modules get checked, and if they aren't installed, the functionality is disabled without spewing errors or dying.) I realize it's not written well. But, hey, at least it exists, right? Until the day I released it, there wasn't any comparable tool like it for memcached. It gives you the basic stats, and not too much else. (You can specify thresholds, for instance, and it'll change color to red if you exceed the thresholds. You can also choose the refresh/ sleep time, and whether to show immediate (per second) stats, or lifetime stats. But it pretty much all revolves around those stats.)