Antonio Scatoloni     About     Archive     Tags     Feed

Google Maps ora anche Street View

Provate a inserire su Google Maps "New York,NY" nella casella di ricerca, cliccate su Street View, dovrebbero colorarsi di blu alcune strade e dovrebbe apparire anche un omino giallo nel centro, trascinate l'omino giallo su una strada blu e potrete navigare nella città di New York in 3d! quasi fosse uno sparatutto alla Quake o Doom.

Per ora è possibile solo in alcune città americane:-(( ma aspettiamo fiduciosi che arrivi anche in Europa.

Street View

Fonte: la Repubblica.it

Microsoft presenta il tavolo computer (Microsoft Surface)

Anche Microsoft ogni tanto ha delle belle idee :-)) e questa sembra una di quelle, quante volte nelle reception degli alberghi o in molti negozi abbiamo visto monitor stipati dentro scrivanie, a me è capitato alcune volte, per queste e molte altre esigenze nasce Surface la nuova tecnologia di Microsoft che rivoluziona il concetto di scrivania. L'interfaccia è di tipo moulti-touch come nel cellulare Apple iPhone. Microsoft Surface riesce anche a far interagire "cose digitali" (cellullari, macchine fotografiche) in modo molto semplice. Il dispositivo è dotato di processore Pentium 4 da 3Ghz e 2 Gb di Ram con uno schermo da 30" risoluzione 1024X768, sistema operativo come prevedibile Windows Vista.

Maggiori info qui

Video

Per una volta Microsoft Invent.

Powered by ScribeFire.

Creare il Web Con Ruby On Rails

Ruby on Rails il nuovo framework per creare applicazioni Web, utilizzando il classico approccio MVC (Model View Controller). Il framework sfrutta le potenzialità di Ruby il linguaggio ad oggetti OpenSource; famoso per la sua semplicità ma allo stesso tempo molto completo e strutturato.  Rails  smplifica notevolmente lo sviluppo di applicazioni Web, proponendo al programmatore una serie di passi tipici per chi crea questo genere di applicazioni. La parte di accesso ai dati nel database per esempio viene notevolmente semplificata, non necessitando infatti né la scrittura a mano di codice SQL (comunque possibile per chi è un fan dell'SQL) né la creazione di file di mapping tra classi e tabelle nel DB come avviene in Hibernate.

Ci sono poi moltissime altre funzionalità tutte da scoprire che rendono Rails molto appetibile, basti solo pensare che Apple lo includerà quasi sicuramente nella sua prossima release di Macosx e la rivista Oracle Magazine gli ha già dedicato in diversi numeri molti articoli di Tutorial.

Per approfondire e metterci le mani :-))

Guida in Italiano (HTML.it)

Framework All in One per Macosx (Locomotive)

MySql5 Download

Good Code Folks :-))

Ajax Prima Parte!!

Ajax: tutti conoscono quest’acronimo ormai, la tecnologia mostrata al mondo da Google ma inventata non si sa bene da chi (Microsoft forse :-(() sta riscuotendo grande notorietà. Ajax riesce infatti in modo non troppo complesso ad eliminare tutte le problematiche di gestione dei dati client-server, rendendo le WebApplication sempre più simile alle classiche applicazioni desktop side. Andiamo dunque a vedere un piccolo esempio di come la tecnologia funziona, Ajax utilizza il linguaggio JavaScript di Netscape per la programmazione lato client e si appoggia ad uno qualsiasi dei framework lato server (JSP-ASP-ASP.NET-PHP etc). Nell’esempio verrà utilizzato il framework JSP-Servlet che io conosco meglio :-). In questo piccolo frammento di codice usiamo Ajax per inserire e farci restituire una stringa di testo senza la necessità di dover ricaricare la pagina!!!!

CODICE LATO CLIENT

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>INVIO DI DATI Tramite Ajax</title>

<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //creo l’oggetto XMLHttpREquest
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}

function createQueryString() {
var firstName = document.getElementById("firstName").value;
var middleName = document.getElementById("middleName").value;
var birthday = document.getElementById("birthday").value;

var queryString = "firstName=" + firstName + "&middleName=" + middleName
+ "&birthday=" + birthday;

return queryString;
}

function doRequestUsingGET() {
createXMLHttpRequest();

var queryString = "GetAndPostExample?";
queryString = queryString + createQueryString()
+ "&timeStamp=" + new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange; //gestisco lo stato di XMLHttpRequest nel Get
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
}

function doRequestUsingPOST() {
createXMLHttpRequest();

var url = "GetAndPostExample?timeStamp=" + new Date().getTime();
var queryString = createQueryString();

xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(queryString);
}

function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
parseResults();
}
}
}

function parseResults() {
var responseDiv = document.getElementById("serverResponse");
if(responseDiv.hasChildNodes()) {
responseDiv.removeChild(responseDiv.childNodes[0]);
}

var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}

</script>
</head>

<body>
<h1>Inserisci il tuo nome, cognome e data di nascita:</h1>

<table>
<tbody>
<tr>
<td>Nome:</td>
<td><input type="text" id="firstName"/>
</tr>
<tr>
<td>Cognome:</td>
<td><input type="text" id="middleName"/>
</tr>
<tr>
<td>Data di Nascita:</td>
<td><input type="text" id="birthday"/>
</tr>
</tbody>

</table>

<form action="#">
<input type="button" value="Send parameters using GET" onclick="doRequestUsingGET();"/>

<br/><br/>
<input type="button" value="Send parameters using POST" onclick="doRequestUsingPOST();"/>
</form>

<br/>
<h2>Server Response:</h2>

<div id="serverResponse"></div>

</body>
</html>

CODICE LATO SERVER “SERVLET”

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class GetAndPostExample extends HttpServlet {

protected void processRequest(HttpServletRequest request,
HttpServletResponse response, String method)
throws ServletException, IOException {

//Set content type of the response to text/xml
response.setContentType("text/xml"); // invio dati in formato XML

//Get the user's input
String firstName = request.getParameter("firstName");
String middleName = request.getParameter("middleName");
String birthday = request.getParameter("birthday");

//Create the response text
String responseText = "Hello " + firstName + " " + middleName
+ ". Your birthday is " + birthday + "."
+ " [Method: " + method + "]";

//Write the response back to the browser
PrintWriter out = response.getWriter();
out.println(responseText);

//Close the writer
out.close();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//Process the request in method processRequest
processRequest(request, response, "GET");
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//Process the request in method processRequest
processRequest(request, response, "POST");
}
}

Il codice è molto semplice e di facile comprensione, spero che il piccolo esempio possa far capire a tutti che Ajax è un paradigma di programmazione Web di facile comprensione, ma che apre scenari, davvero interessanti nel mondo delle Applicazioni Web.

Good Code Folks :-))

Spotlight non trova più nulla

Il sistema di Apple per trovare file all’interno del proprio Mac è qualcosa di insostituibile, tanto che anche quando uso il mio pc premo i tasti “Windows backspace” nella vana speranza che appaia la finestra di ricerca(finalmente anche Vista ormai ha un sistema analogo :)) ma sul mio Xp non appare. A parte scherzi Spotlight semplifica di molto la mia vita digitale ma ieri mi ha fatto uno strano scherzo, sembrava che non trovasse più nulla, ad ogni query non rispondeva in alcun modo, in qualche caso appariva il laconico messaggio “Nessun risultato trovato”. A questo punto ho pensato di ricostruire l’indice che MacOsx genera automaticamente ci sono varie tecniche per farlo, applicazioni come Onyx, permettono di farlo in modo automatico ma si può fare anche tramite il comando sudo mdutil -E / da terminale. Dopo aver riindicizzato il mio disco pensavo che tutto funzionasse di nuovo ma nulla, sono stato quasi tentato di fare un bell’“Archivia e Installa” ma poi ho trovato la soluzione googlando in rete, è bastato infatti cancellare il file di preferenze apple.spotlight, che si trova sotto la cartella Preferences, nella Libreria del proprio utente (/Utente /Library/Preferences) al successivo riavvio Spotlight era dinuova bella pronta per nuove ricerche sul mio disco.

Buon Mela-Backspace a tutti!!!