Archives (2008 - 2023)

Archives (2008 - 2023)

1501 bookmarks
Newest
InfoQ: Describing RESTful Applications
InfoQ: Describing RESTful Applications

My goal in this article is to answer the following questions.

* Why is not there a standard descriptions language for RESTful applications yet?
* How does a contract for RESTful applications looks like?
* What kind of software do we need to build that can understand and take advantage of such a contract?
* If we decide to come up with a machine-readable description, how might it look like?
InfoQ: Describing RESTful Applications
Impressive
Impressive

Impressive is a program that displays presentation slides. But unlike OpenOffice.org Impress or other similar applications, it does so with style. Smooth alpha-blended slide transitions are provided for the sake of eye candy, but in addition to this, Impressive offers some unique tools that are really useful for presentations. Read below if you want to know more about these features.

Creating presentations for Impressive is very simple: You just need to export a PDF file from your presentation software. This means that you can create slides in the application of your choice and use Impressive for displaying them. If your application does not support PDF output, you can alternatively use a set of pre-rendered image files – or you use Impressive to make a slideshow with your favorite photos.

Impressive
monolith-toolkit - Google Code
monolith-toolkit - Google Code

A collection of scripts for making your daily MySQL DBA responsibilities easier.

* mt-backup-parallel -> runs mysql backups in parallel super fast, has lots of reporting features
* mt-check-replication -> script to report on replication status for slave servers
* mt-rhcluster-check-filesystems -> reports on redhat cluster filesystems (for mysql active/passive clustering)
* mt-rhcluster-script-wrapper -> wrapper script for running any of these scripts on a redhat cluster, chooses the active node to run the script on
* mt-connections-log -> logs connections to mysql to disk, reports on threshold overages
* mt-flush-tables-sequence -> runs through schema.tables to flush in sequence before global flush
* mt-rotate-logs -> rotates general and slow query logs on periodic basis
* mt-my.cnf_xG -> MySQL configuration file for a particular RAM size installation
monolith-toolkit - Google Code
Obvious Hints: Symfony Design Patterns
Obvious Hints: Symfony Design Patterns

After this research I came with the following conclusion:

* Use the controllers to handle user input data and choose which view to display.
* If there, remove all business logic from the controllers.
* Let the Model do it's job with the provided data. 
* When handling data to the model, do it as an array of normalized data -or proper objects pertinent to our application-, the model shouldn't know about the request.
* Let helpers or Helper Objects handle the data formating, avoiding script code inside templates.
* Use Propel as a DAL and refactor towards a Model. This means to remove complex business logic from the Propel classes.
Obvious Hints: Symfony Design Patterns
code.openark.org » Blog Archive » REPLACE INTO: think twice
code.openark.org » Blog Archive » REPLACE INTO: think twice
Many uses of REPLACE INTO have no intention of changing PRIMARY KEY (or other UNIQUE KEY) values. In that case, it’s better left alone. On a production system I’ve seen, changing REPLACE INTO to INSERT INTO … ON DPLICATE KEY resulted in a ten times fold more throughput (measured in queries per second) and a drastic decrease in IO operations and in load average.
code.openark.org » Blog Archive » REPLACE INTO: think twice
SaaS Application Packaging Standard
SaaS Application Packaging Standard
APS creates a new revenue opportunity for both industry hosting providers and independent software vendors by introducing a "pluggable" approach to distributing SaaS applications. Once packaged in the APS format by a software vendor, an application can be easily "plugged" into an infrastructure of any hosting provider that implemented the standard "socket" for the APS applications.
SaaS Application Packaging Standard
John Resig - Genetic A/B Testing with JavaScript
John Resig - Genetic A/B Testing with JavaScript
You have a baseline interface in which you adjust a single variable, at random, for each user that visits your application. After a given amount of time you should be able to see if certain variables affect how your users behave (either negatively or positively).
John Resig - Genetic A/B Testing with JavaScript
SPIP 2.0 - SPIP
SPIP 2.0 - SPIP
La branche 2 de SPIP se présente donc à la fois comme le système de publication intégré (compatible avec les versions précédentes), et comme une plate-forme de développement multi-serveurs SQL pour qui veut aller plus loin. Cette plate-forme propose elle-même deux niveaux d’expertise, permettant de conserver la progressivité de la courbe d’apprentissage de SPIP tout en augmentant le nombre de services rendus.
SPIP 2.0 - SPIP
severalnines.com
severalnines.com

CMON is a daemon that aggregates information from MySQL Cluster that earlier was only accessible from the cluster log or the management client, such as:

* cluster state
* node state
* backup statistics
* statistics
* cluster events (cluster log basically)

.. and let's you access the information using SQL, because CMON logs the information into ordinary MYISAM tables! So, it is really easy to use! In the package you also get get php scripts that you can put on your webserver to generate graphs and get a www interface to CMON. CMON can also start ndbd nodes and make decisions on how they should be started (with or without --initial).

CMON starts as a daemon and will automatically create cmon database and install the necessary tables automatically.

severalnines.com
Allan Jardine | Visual Event
Allan Jardine | Visual Event
Events in Javascript are often seen as a bit of an enigma. This is odd given that Javascript is very much an event driven language, but it is typically down to their complex nature and difficulty to debug. To this end I've created Visual Event to help track events which are subscribed to DOM nodes.
Allan Jardine | Visual Event
Form Builder | drupal.org
Form Builder | drupal.org
This project allows users to build entire Form API structures through a graphical, AJAX-like interface. It has the ability to read and export FAPI arrays, and users are permitted to change any properties exposed by modules that expose forms to the Form Builder.
Form Builder | drupal.org