abidibo.net

Weblog

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


Scanning Electron Microscope

document physics sem

La microscopia a scansione elettronica fondamentalmente (e brutalmente) consiste nel bombardare con un fascio elettronico collimato di energia dell'ordine dei keV un povero campione che risponde emettendo elettroni di vario genere o raggi X. L'energia e le caratteristiche di queste emissioni permettono di ricavare informazioni morfologiche e composizionali. Campo di applicazione principale: la microelettronica.
Ho riesumato un vecchio scritto al riguardo, che scrissi ormai nel lontano 2004, ecco la pagina del progetto.

L'Italia s'è desta?

attualità referendum

Ogni tanto il mio paese è ancora in grado di stupirmi. Sono contento.

Tra ieri ed oggi gli italiani hanno detto no alla privatizzazione dell'acqua o della sua gestione come amano dire i signori che ci vorrebbero lucrare, al nucleare (sicuro, sempre a detta di tali personaggi) ed al legittimo impedimento.

Sono contento più per la partecipazione popolare al referendum, per l'attivismo sociale dimostrato che non per il risultato raggiunto, infatti tra qualche tempo ci riproveranno, cambieranno qualche virgola e cercheranno di ripropinarci le stesse porcate, ma il fatto che la gente si sia preoccupata ed occupata del proprio futuro è un segnale incoraggiante.

Mi fa anche molto piacere leggere i commenti sulla stampa estera, in particolare sulla stampa spagnola. Fanno notare come nella repubblica delle banane si sia svolto un referendum delegando ai cittadini la decisione su temi così importanti, dando in questo caso spazio ad un processo democratico.

Desidero per questo ringraziare Di Pietro e tutti quelli che si sono battuti per presentare i referendum e tutti quelli che hanno lottato contro lo stato, contro le televisioni e la disinformazione ormai radicata in questo paese per rendere possibile questo giorno di festa e libertà. 

Aborro ...

read the full post


Your Smartwatch Loves Tasker!

Your Smartwatch Loves Tasker!

Now available for purchase!

Featured