abidibo.net

Weblog

Vim for php programmers

php programming vim

Il succo è questo:
ho scritto due post sul blog della otto (la tanto cara azienda in cui lavoro), in cui illustro come si possa fare per rendere vim un editor perfetto per sviluppare codice php. Allora siccome sarebbe inutile ripetere qui le stesse cose e soprattutto non ne ho voglia, vi linko semplicemente i due post in questione, buona lettura.

Vim for php programmers parte 1

Vim for php programmers parte 2


jeff-flatpages, html page module for jeff framework

jeff php programming webmaster

jeff-flatpage is a jeff module that lets you store simple "flat" HTML content in a database and handles the management for you via jeff’s admin interface. It is the right module to use for the creation of "About" or "Privacy Policy" type pages, which don't need a specific module and implementation.

So it's ready! The first jeff module for the management of HTML contents is available for the download in the otto github account, release v1.0.

Let's see the main features:

  • Management of html pages (date, title, subtitle abstract, text, images, videos, visualization privileges)
  • Visualization through customizable templates
  • Translations availables for english and italian
  • Error pages 404 (not found) and 403 (forbidden)
  • Possibility to restrict the access to contents to a set of chosen system groups.

Please for complete instructions about the module installation refer to the README file of the github repository.

Please comment here for general considerations, use the proper github area for bug reporting.

Enjoy it ;)


Development of undo and redo functionality with canvas

canvas html5 javascript mootools webmaster

Sometimes I like playing with html5 and javascript. Today I was playing around with a sort of paint project for mootools. Clearly I used the html5 canvas element and I wrote some tools (pencil, rectangle, ...) to draw in it.

Well, one of the first problems encountered is the need for a undo/redo functionality. Let's see a way to implement such thing.

Essentially when drawing we can imagine we pass through a series of different states. Each state represents the canvas aspect at that time. Clearly we have a continuous set of states, but it would be to "expensive" to consider and implement this way.

So we may consider a discrete set of states, where a new state is created consequentially to a user action (and not time dependent). Let's consider the creation of a new state consequent to a mousedown-mouseup action of the user, in other words a new state is created when the user draws something in one move.

Now imagine to consider three categories: past, present and future.

The present category includes only the present ...

read the full post


Welcome mooTree

javascript mooTree mootools plugin webmaster

E' online la release 0.1 di mooTree, un plugin javascript che inserisce automaticamente i controlli per espandere/comprimere i rami di un albero infinito rappresentato tramite una lista html non ordinata (ul tag).

I controlli possono essere facilmente personalizzati con poche righe di css. Il behavior iniziale, ovvero quali rami espandere/collassare inizialmente è controllabile tramite opzioni di classe, data-attributes e classi css (per l'item selezionato).

Per saperne di più vi invito a leggere la pagina del progetto, per capire subito meglio di cosa si tratta, visitate la pagina demo.



Change the user agent in android default browser

android tips

Se anche a voi sta sul cazzo il fatto che molti siti che dispongono di una versione mobile la rendano "limitata" e soprattutto rendano disponibili a pagamento la maggior parte dei contenuti che sono gratuiti  per la versione desktop, allora potrà tornarvi utile questa semplice procedura.

Il dispositivo mobile viene "intercettato" andando a leggere lo user agent fornito dal browser, pertanto non ci resta che modificarlo in modo da fingere di essere un browser classico che gira su sistema operativo "tipo desktop".

Ecco come fare:

  1. aprite il browser
  2. Nella barra degli indirizzi digitate about:useragent
  3. Si aprirà una view con scelta multipla, potete selezionare lo user agent che intendete impostare, in questo caso "desktop"
  4. Andate a leggervi la gazzetta o la repubblica senza pagare una mazza

Jeff Tutorial - Installazione

jeff php tutorial

In questo tutorial vediamo come installare Jeff e creare un ambiente vergine pronto per aiutarci nello sviluppo di una qualunque applicazione.
Qui suppongo che si lavori in ambiente LAMP, ma con altre configurazioni non è che le cose siano molto diverse.

Scarichiamo Jeff

Per scaricare Jeff possiamo visitare la pagina https://github.com/otto-torino/jeff e premere il pulsante download (sono disponibili 2 formati: tar.gz e zip), oppure utilizzare il comando git:

git clone git://github.com/otto-torino/jeff.git ./jeff

A questo punto ci ritroveremo con la cartella jeff che include tutto il codice necessario. Mettiamo la cartella all'interno della document root, tipo

/var/www/jeff

e passiamo alla creazione del database...

Creiamo un db

All'interno della cartella principale troviamo il file jeff.sql, il quale contiene le istruzioni SQL per creare le tabelle di cui Jeff ha bisogno nella sua configurazione base. Allora dobbiamo:

  • Creare un database, ad esempio db_jeff
  • Creare un utente che possa eseguire statements sul database creato, in fase di sviluppo ed in locale solitamente questo non si fa e si utilizza l'utente root senza password
  • Eseguire tutte le query contenute nel file jeff.sql per creare le tabelle, questo si ...

read the full post


Jeff and mooReadAll added to Softpedia

jeff me mooReadAll otto softpedia

Wow...
on the 26 of july 2011 I received an email from the Softpedia editorial team congratulating and announcing that my 2 little creatures: Jeff and mooReadAll were added to their database. They assign me a page as a developer, with the products I've done.

I know this is not the end of the world but I'm proud of such thing.

Both creatures are licensed under the MIT license, and developed by me inside Otto srl


Welcome mooReadAll

javascript mooReadAll mootools plugin programming webmaster

logo

E' online la release 0.1  di mooReadAll, un plugin javascript per troncare contenuto html mantenendo la formattazione corretta.
Che c'è di nuovo direte voi, da sempre i CMS gestisono questa cosa e ci sono svariate funzioni php o python che lo fanno... Vero, ma questo plugin ottiene lo stesso risultato clientside! Dunque se non avete modo di mettere mano al sorgente, al linguaggio server etc... potete comunque troncare contenuti troppo lunghi usando questo script che lavora solo clientside!

mooReadAll è altamente e facilmente configurabile, sia nel comportamento che nella grafica. Quest'ultima è totalmente controllabile tramite css, il pacchetto comprende già un css di base con delle immagini che potete modificare a vostro piacimento.

Per quanto riguarda il comportamento, la caratteristica principale di mooReadAll è quella di consentire diversi tipi di azione in seguito al click sul classico link "leggi tutto", in particolare:

  • "inplace": l'intero contenuto viene mostrato ...

read the full post


The Jeff Wiki is out

jeff php webmaster programming

Mr ans Mrs, señores y señoras the first release of the Jeff Wiki is ready. It contains some sections that covers almost all the development stuffs:

  • Requirements
  • Installation
  • Structure
  • Core classes
  • Libraries
  • Modules
  • Default installed themes
This guide is written for development purposes. Contains the declaration and description of all Jeff classes, modules and libraries. After reading it a developer should be able to extend the framework at his like and to build new modules.

Requirements

Explains the system requirements

Installation

Explains how to install Jeff and get ready with it. jeff is a php framework but has also some CMS characteristics so that after installation it's possible to surf to a default index page and the default administrative area.

Structure

This is a tour in the process that led to the document page rendering. Starting from the entry point,index.php, and ending with the single method output ...

read the full post


Your Smartwatch Loves Tasker!

Your Smartwatch Loves Tasker!

Now available for purchase!

Featured