Jun 11

Volevo segnalarvi questo divertentissimo utilizzo di google maps.
Guidare liberamente all’interno della vostra città, percorrere con una mini vettura le strade che percorrete ogni giorno.

Visita il sito

Feb 12

Il problema dell’ordinamento di un array in Java si può risolvere in molti modi, in questo articolo vediamo un procedimento efficiente (complessità media O(n log n)) indipendente dal contenuto dell’array.

Questa classe contiene al suo interno anche un array di etichette (quando si ordinano dei dati è comodo avere un riferimento testuale) del tutto opzionale. Il procedimento si può ri-utilizzare anche in altri linguaggi purché si adotti, se esiste, il costrutto equivalente al Generic Java del linguaggio di codifica (es. i template del C++).

import java.util.Comparator;
  public class QuickSort<generica><generica>&gt;  {
    String [] label;
    Generica[] array;
    private  void  swap( int i, int j) {
    Generica  tmp = array[i];
    array[i] = array[j];
    array[j] = tmp;
    String sTmp =label[i];
    label[i] = label[j];
    label[j] = sTmp;
  }
 
  private int partition(int low, int high) {
    int index = low+(int)(Math.round(Math.random()*(high - low)));
    Generica pivot = array[index];
    swap( index, high);
    for (int i = index = low; i &lt; high; ++ i) {
      if (array[i].compareTo(pivot) &lt;= 0) {
        swap( index++, i);
      }
    }
    swap( index, high);
    return (index);
  }
 
  private  void quickSort(int  low, int high) {
    if (high &gt; low) {
      int index = partition( low, high);
      quickSort( low, index - 1);
      quickSort( index + 1,  high);
    }
  }
 
  public  void quickSort(Generica [] array) {
    this.array=array;
    quickSort( 0, array.length - 1);
  }
 
  public  void quickSort(Generica [] array, String label[]) {
    this.label=label;
    this.array=array;
    quickSort( 0, array.length - 1);
  }
}</generica></generica>
Feb 06

Penso che tra i sogni di ogni programmatore ci sia quello di utilizzare un linguaggio universale di codifica indipendente dall’architettura (client/server o web oriented), dalla piattaforma hw/sw, che funzioni sempre allo stesso modo per implementare concetti comuni come una finestra, un bottone, un accesso ad una risorsa (file, db,…). Se a tutto questo inseriamo un pizzico di effetti speciali accattivanti la miscela diventa davvero esplosiva.

La presenza del flash player in ogni browser è un dato di fatto (vedremo poi che la versione dell’ambiente che sto per presentare è “compliant” anche a DHTML), sarebbe interessante poter scrivere un programma in un linguaggio scritto interamente in XML come, ad esempio:

<window> qualcosa </window>

per attivare una finestra sullo schermo (avete mai provato in Java?) .

La risposta è semplice e si trova su Open Laszlo, un compilatore per applicazioni flash/DHTML, Open Source, per applicazioni stand-alone, cliente/server o web oriented. Personalmente ho trovato molti esempi, oltre che nel forum del sito, anche su vari altri siti nipponici (resi leggibili solo grazie al traduttore di Google, thxs a lot!) e sarebbe interessante divulgare queste notizie anche alla numerosa comunità di sviluppatori italiani.

Una volta istallato l’ambiente, che contiene un application server, un compilatore con debugger integrato (veramente efficace) ed un insieme di demo e tutorial veramente esaustivi, possiamo incominciare (dopo aver attivato l’OpenLaszlo Server da menu) con il primo programmino di esempio:

Nella directory C:\Program Files\OpenLaszlo Server 4.0.8\Server\lps-4.0.8\my-apps (accessibile tramite menu) possiamo scrivere il primo programma in Laszlo:

<canvas>
<window>
<button>Hello World!</button>
</window>
</canvas>

e memorizzarlo in un file che abbia estensione .lzx (ad esempio prova.lzx). I TAG utilizzati sono autoesplicativi e non necessitano di ulteriori dettagli.

Richiamando da browser la directory my-apps e aprendo il file appena generato, esso verrà compilato in flash (dipende dagli switch in fondo alla pagina) ed il risultato sarà visibile all’interno del browser. Provate a trascinare la finestra appena creata, non è stupefacente!?

http://127.0.0.1:8080/lps-4.0.8/my-apps/prova.lzx

Per colori i quali hanno già un server sulla propria macchina che risponde alla porta 8080 è possibile modificarla agendo (non a caso) su un file XML: server.xml che è nell’application server (TomCat) della distribuzione.

La domanda che potrebbe nascere è: “se XML è un linguaggio universale per i dati, come si fa a scrivere i metodi (tanto per restare in tema di Object-Oriented)?” La risposta è in un ulteriore articolo, sempre che l’argomento sia di interesse per la Comunità….

Buon divertimento.

Jan 18

Voglio segnalarvi un webtool molto carino e divertente, che permette di progettare e arredare un casa

FloorPlan


Vedi

Nov 20

Grazie a questo tool purtroppo a pagamento si possono creare piattaforme per giochi 3d e 2d, o voluto segnalarvelo anche se è pagamento perchè ho ricevuto moltissime richieste su tool per creare giochi bhè questo sembra molto interessante invito tutti voi a segnalare tool magari open source o framework per creare giochi

Link

Sep 25

Navigando per la rete mi sono imbattuto in questo sito davvero molto utile in cui vengono linkati i più interessanti progetti opensource.

Ce ne sono più di 480 scritti in vari linguaggi e per varie esigenze.

Sono tutte divise per categorie, buona ricerca…

http://mashable.com/2007/09/23/open-source/