Idee, driver e spunti per il business del 2010

Posted Leave a commentPosted in PENSIERI SPARSI

Il 2009 è stato l’anno dell’esplosione dei social network e della crescita esponenziale degli smartphone, grazie anche e soprattutto alla Apple che con l’iPhone alla fine dell’anno deteneva una quota di mercato di circa il 55% . I cambiamenti portati dal 2009 hanno avuto un impatto molto forte sul mercato, sulle aziende e sugli utenti.

La ripresa economica, se mai la crisi ci sia stata, sta generando entusiasmo ed il mercato ricomincia ad avere quell’adrenalina e quelle idee tipiche dei momenti di scoppiettante energia ed evoluzione innovativa del mercato. Le aziende, gli startupper ed i futuri imprenditori, riaprono alle nuove sperimentazioni, approfondiscono i temi caldi del mercato e direzionano la loro attenzione sempre di più verso l’utente, la mobilità, l’interazione ed i feedback. Gli utenti infine, investiti dalla passione per i social network, coinvolti dalla sfrenata crescita delle tecnologie e della mobilità, cambiano le abitudini e il rapporto con internet.

Dalla rete, luogo di esperti, appassionati, indigeni e geek sempre alla continua ricerca della next big thing e della prossima rivoluzione che cambierà il mondo, ho individuato quelli che secondo me saranno i driver che spingeranno il 2010 e sui quali bisognerà investire.

Mobile Application
Il mercato delle mobile application, trainato da iPhone e dalla futura uscita dell’iPad continuerà a dare i suoi frutti. Android, sistema operativo di Google, aprirà a nuovi device la possibilità di far concorrenza alla Apple.  Anche se il mercato delle Apps, secondo me, a tendere cederà al mercato delle web apps, ritengo che il 2010 ed il 2011 sarà ancora in forte crescita.

Social CRM
Le aziende che fino ad oggi hanno gestito la relazione con i propri clienti a partire da un approccio transazionale e che non riescono più a stare al passo con la velocità ed i numeri del mercato, hanno bisogno di affiancare ai sistemi di CRM, strumenti e metodologie in chiave social con l’obiettivo di migliorare la trasparenza, la comunicazione e la conversazione. Non è più sufficiente aumentare la presenza sulla rete, ma è necessario saperla monitorare (Monitoring), mappare (Mapping), gestire (Management), interaggire (Middleware) e misurare (Measurement) secondo il modello delle 5 M proposto da Altimeter.

Enterprise 2.0
La funzionalità dei social network e l’importanza dal punto di vista relazionale e comunicativo è ormai alla portata di tutti. Le aziende oggi devono creare ed utilizzare nuovi modelli organizzativi basati sul coinvolgimento diffuso, sulla collaborazione, la condivisione della conoscenza e sullo sviluppo e la valorizzazione delle reti sociali interne ed esterne all’organizzazione, attraverso l’utilizzo di strumenti e tecnologie sempre più vicine alle abitudini delle persone. Le stesse aziende devono imparare a stimolare i propri collaboratori attraverso politiche, flessibili ed adattabili in grado di generare idee ed innovazione.

Cloud Computing
Il cloud computing è uno di quei driver che genera business, al contrario: facendo risparmiare. Secondo questa chiave di lettura il cloud computing è visto, dalle aziende più attente all’evoluzione tecnologica, come il sistema efficace per ridurre energia elettrica, spazio hardware, licenze e software, impegno del personale e complessità varie, liberando tempo e risorse per progetti più strategici. In Italia attualmente l’interesse per “la rivoluzione delle nuvole” sta crescendo, ma a tutti gli effetti si è fatto ancora poco e questo fenomeno è ancora in fase iniziale. Ci sono degli ostacoli da superare quali sicurezza, privacy e performance che sono visti dalle imprese come fattori di “maggiore rischio” nel caso di utilizzo di soluzioni cloud.

Location based service
La diffusione dei dispositivi smartphone, il supporto della connettività mobile, l’utilizzo dei social network e la voglia crescente delle persone di condividere le proprie informazioni in rete, hanno fatto proliferare il numero dei servizi basati utilizzabili da mobile device abilitati all’utilizzo delle informazioni di posizionamento geografico rilevate attrvero A-GPS, GMS localizzation, RFID, Bluetooth e wifi. Tra i concetti principali legati ai Location Based Service, secondo me, è interessante approfondire il concetto del Check-In, lanciato da Brightkite, seguito da Latitude ed esploso con Gowalla e FourSquare. Secondo questa “abitudine” l’utente, arrivato in una determinata posizione, condivide informazioni, foto, video e post georeferenziati. L’interazione che si genera è bidirezionale: da un lato l’utente invia informazioni e la propria posizione e riceve allo stesso tempo, dal proprio network, offerte, proposte e approfondimenti in di prossimità della sua posizione.

Object hyperlinking
Legare il mondo reale con il mondo virtuale. Il principio di base è quello del tagging, ossia l’associazione di un codice univoco contenuto in un barcode QR, Tag Microsoft, RFID o altro e leggibile tramite l’utilizzo di un mezzo (fotocamera del cellulare o lettori specifici). Il codice associato all’oggetto permette all’utente di interagire, esprimere preferenze, condividere informazioni e aggiungere contenuti.

Internet of Things
Cominceremo a sentire parlare sempre di più di Internet degli oggetti e delle sue applicazioni. Gli oggetti che entreranno in contatto con  la rete, forniranno dati e saranno sempre di più integrati con il mondo reale.

L’importanza del live twitting

Posted Leave a commentPosted in PENSIERI SPARSI

Qualche giorno fa discutevo con waggle delle abitudini che i blogger e social-frequentatori vari (me compreso) hanno assunto negli ultimi anni, e nello specifico dell’abitudine a twittare durante gli eventi. Ci domandavamo quanto questo fosse positivo o meno, sia per l’attenzione verso il relatore e l’argomento trattato, sia per il dibattito che si può generare.

Come è noto, gli strumenti, le infrastrutture e le tecnologie a disposizione delle persone, modificano e generano nuovi comportamenti. Così come i social network hanno cambiato il rapporto con Internet, la diffusione della connettività e molti altri aspetti della comunicazione, allo stesso modo sta succedendo anche con i sistemi di microblogging.

Negli ultimi anni i social network e altri strumenti presenti in rete come Twitter, Facebook e FriendFeed, si sono rivelati molto utili, semplici e funzionali per seguire conferenze, barcamp, seminari ed interventi amplificando la comunicazione in rete e generando un flusso di informazioni a doppia direzione: un flusso in uscita verso la rete composto da contenuti, citazioni e foto riprese e spesso integrate di commenti, ed un flusso di ritorno dalla rete composto da domande e contributi, in tempo reale o quasi.

Anche se apparentemente, twittare durante una conferenza, sembra una mancanza di educazione nei confronti del relatore, secondo me, l’abitudine del live twitting ha solo vantaggi (non riesco onestamente a vedere svantaggi), sia per il pubblico che per il relatore.

Dal punto di vista del pubblico questa attività aiuta a rimanere concentrati. A differenza di quello che si può pensare un flusso di informazioni di ritorno ad integrazione dei contenuti più interessanti permette al pubblico in ascolto di seguire aggiornamenti senza perdere il filo della discussione. Tutti possono partecipare alla discussione e seguire gli spunti o i link suggeriti attraverso l’utilizzo dell’hashtag definito per l’evento stesso. Quando il live twitting è pubblico e c’è una platea di ascoltatori ampia, generalmente i contenuti off-topic sono molto limitati se non nulli.

Il live Twitting non è una forma distrazione, ma una nuova forma di interazione che permette al pubblico di ricevere più contenuti, aggiungere spiegazioni, punti di vista differenti, link ad approfondimenti ed altro. Inoltre se chi parla è predisposto e preparato può rivedere la scaletta della presentazione in base alle domande e alle proposte provenienti dalla rete.

Il pubblico può effettuare domande e lo spazio per le domande non ha un momento ben specifico. Twittando, il pubblico può lasciare traccia di un dubbio o di un osservazione, se si tratta di questioni note lo stesso pubblico risponde, altrimenti il relatore riprende l’elenco delle domande in momenti a lui più comodi o congruenti con l’argomento trattato. Chiunque può partecipare alla discussione in live e come nei BarCamp o negli Ignite, i confini tra relatori e pubblico sono assolutamente vicini e tutti possono intervenire in maniera attiva e propositiva, portando opinioni ed intuizioni che spesso portano innovazione e confronti.

C’è un aspetto inoltre da non sottovalutare rispetto ai vantaggi del pubblico e riguarda la logistica e la posizione geografica delle persone. Non essendo fisicamente presenti si supera quel limite logistico e si può entrare in contatto con persone che non si conoscono e si riesce a rompere il ghiaccio, superare la timidezza ed entrare in contatto in maniera semplice ed immediata.

Per quanto riguarda invece i vantaggi per il relatore, il live twitting è fondamentale per verificare l’interesse della discussione attraverso il numero di interventi e ritarare eventuali argomenti sulla base degli approfondimenti richiesti dal pubblico. Le risposte, i link e le segnalazioni derivanti da altri professionisti in rete permette inoltre di approfondire eventuali argomenti e ricevere feedback in tempo reale.

Infine il flusso di contenuto generato dai tweet e classificato attraverso l’hashtag, incrociato e consultato insieme alle altre informazioni provenienti dalla rete (foto, post su blog vari, documenti e slide condivise), genera un hub informativo, una knowledge base condivisa e pubblica.

Ignite, networking e ikuii

Posted Leave a commentPosted in PENSIERI SPARSI

Giovedì c’è stata il secondo appuntamento di Ignite Italia a Roma presso l’Antu. Questo secondo atto, come lo definisce Giorgio, ritengo sia stato molto più interessante del primo: la partecipazione è stata molto più alta, le slide e le presentazioni sono state più efficaci e gli argomenti più interessanti e in alcuni casi anche particolarmente in linea, segno che l’attenzione del mercato cominci a girare in un certo modo.

Ho coinvolto alcuni amici del network Indigeni Digitali, che per la prima volta partecipavano proprio all’Ignite, e ho notato da parte loro parecchio interesse per questa modalità di presentazione e mi hanno confermato che l’idea di organizzare il prossimo raduno del 6 maggio in questa modalità sia proprio una bella idea. Sono convito anche io che l’ignite sia un format molto intelligente e che funzioni molto bene, sia per creare nuovi contatti nella fase del networking e sia per creare discussione ed approfondimento sugli argomenti presentati.

Questi qui di seguito vi riporto i titoli delle presentazioni che mi son piaciute di più e che ho seguito con particolare interesse, sia per la modalità di presentazione, sia per il contenuto:

  1. Giorgio MarandolaIl brand, il consumatore e la community
  2. Nicola MattinaMaptivism
  3. Alessio JaconaIl futuro dei siti aziendali
  4. Mara MarzocchiReady, Set Pomodoro!
  5. Andrea Vascellari, Get the best out of…
  6. Giorgio MassaroLocation based services

In particolare devo dire che mi ha colpito la presentazione di Andrea Vascellari, CEO di iTive.net, società Finlandese, che ha parlato di Twitter, real time search e Google, argomento che poi, sempre con Andrea, abbiamo continuato a cena tra una pizza e una birra in compagnia di Nicola Mattina, Cristiano Peppoloni e Andrea Genovese .

Tra le presentazioni c’è stata inoltre quella di Nicola Mattina, che ha proposto, nella slide finale, la preview del progetto in startup a cui stiamo lavorando da qualche giorno insieme e che si chiama ikuii e che dovrebbe essere on line nel giro di un mese. Il progetto è interessante, l’idea piace e ho notato molto interesse intorno a questo progetto . Sono veramente entusiasta del progetto ikuii e del collaborazione nata con Nicola.

Com’è andato il raduno degli Indigeni Digitali?

Posted 1 CommentPosted in PENSIERI SPARSI

E’ già passato qualche giorno ed oggi, con un pò di relax, ripensavo al raduno del 31-03-2010 presso l’enoteca Dolcevino. Tirando le somme, per esser stato il primo raduno-aperitivo degli Indigeni Digitali, devo dire che, secondo me, è andato bene. Hanno partecipato 32 Indigeni, si è parlato di tecnicismi vari, abbiamo conosciuto qualche persona nuova e abbiamo bevuto e mangiato abbondantemente, quindi l’obiettivo che ci eravamo dati l’abbiamo raggiunto. Per vedere qualche foto dell’evento potete andare su Facebook o su Flickr

Qualche riflessione sull’organizzazione e qualche autocritica devo farla:

  • La scelta della location: abbiamo fatto una selezionato un locale troppo decentrato rispetto a Roma e forse qualche defezione è stata legata a questa scelta;
  • La registrazione e la consumazione: non avendo gestito la registrazione ed avendo lasciato libertà, si è creato probabilmente troppa confusione;
  • La mancanza di linee guida: non avendo definito un argomento, delle linee guida sulla modalità di networking e non avendo fatto presentazioni, sono nati gruppi tendenzialmente pre-costituiti di persone che già si conoscevano e quessto ha generato poca contaminazione e scambio tra i presenti.

Vista comunque la riuscita e l’interesse per questo network e per la filosofia degli Indigeni, abbiamo fissato la data per il prossimo evento: Giovedì 6 Maggio presso l’Antù a Roma, in via Libetta. Questa volta si farà qualcosa di più serio e organizzato. Prima di tutto c’è da dire che l’evento sarà organizzato con IgniteItalia. L’HashTag dell’evento è #iddrink2

Ci saranno 10 o più Ignite, possibilmente focalizzati su temi tecnici. Ovviamente gli argomenti ancora da definire e se volete presentare qualche caso di successo, l’applicazione di tecnologie per un progetto particolare, o un vostro progetto sarete i benvenuti.

Alcune idee ed argomenti che mi piacerebbe fossero presentati:

  • Design pattern
  • Framework Symfony
  • SEO e Real Time Search
  • Sviluppo di applicazioni iPhone (Objective-C)
  • Sviluppo di applicazioni Android
  • Prototipazione e Mockup
  • Ruby on rails / Python

In questi giorni su Facebook, Linkedin e Twitter verranno pubblicate tutte le informazioni.

UltimoMemo in tutti i linguaggi del mondo

Posted Leave a commentPosted in MY LIFE

E così arrivò l’ennesimo momento di saluti, abbracci e invio dell’ultimo memo. Forse qualcuno non lo sa, ma in Accenture ed in molte altre aziende, esiste l’usanza dell’UltimoMemo. Praticamente l’ultimo memo non è altro che una email, generalmente inviata l’ultimo giorno di lavoro a tutto il personale dell’azienda (all personal) o ad un gruppo di colleghi, contenente un messaggio di saluto, di ringraziamento, contenente inoltre i nuovi contatti e spesso una valanga di lamentale e randellate varie sparate a tutti. L’ultimo memo, secondo me è molto importante sia da un punto di vista di educazione (banalmente si saluta tutti) e sia perchè si ha pubblicamente la possibilità di dire quello che si pensa (più o meno…) e che non si è mai riusciti a dire.

Ieri per me è stato l’ultimo giorno di lavoro in archebit e, anche se qui non c’è mai stata questa usanza, io ho scritto una mail di ultimomemo, non troppo polemica e diversa dal solito messaggio che vi riporto qui di seguito. L’oggetto era “Ultimo memo 2.0“:

<%
*******************************************************************************
‘ * Author:           Fabio Lalli
‘ * Versione:        2.0
‘ * Data:              31/03/2010
‘ * Titolo:             Ultimo Memo
‘ * Linguaggio:    vbscript / asp 3.0 – amarcord
‘ * Descrizione:   Contiene lo script per la generazione dell’ultimo memo e
la disintallazione delle librerie installate

‘ * ATTENZIONE: bisogna avere la libreria Archebit installata 😉

********************************************************************************

‘ * Creo l’oggetto per l’ultimo memo
set UltimoMemo = CreateObject(“Archebit.UltimoMemo”)

‘ * Apro la comunicazione
UltimoMemo.Open()

‘ * Definisco il messaggio
UltimoMemo.Message(“

Ciao a tutti.

Come più o meno tutti già sapete oggi è il mio ultimo giorno di lavoro in azienda e per la seconda volta, a distanza di 5 anni, mi trovo a scrivere di nuovo qualche riga di saluti in Archebit.

Questi due anni di lavoro sono stati molto importanti per la mia crescita professionale: il confronto, la discussione e le incompresioni, gli scazzi e le delusioni, la condivisione di idee, le riflessioni e i momenti “brainsharing” durante i pranzi romani sono stati belli, affascintati, coinvolgenti e formativi.

Approfitto di questo ultimomemo per chiudere questa mia seconda parentesi con un grazie enorme rivolto a tutti, sia alle persone con le quali ho lavorato a stretto contatto sia agli altri, con i quali ho condiviso anche solo qualche momento al telefono o al caffè. Grazie a tutti perchè da tutti penso di aver imparato qualcosa, negativa o positiva che sia. Veramente.

Dal momento che come sapete vivo di web, i miei riferimenti non li troverete in questa email. Li troverete tutti (cellulare, mail, skype, msn…) in rete, su Facebook sopratutto, e su tutti gli altri social network. Se non siete assidui frequentatori di questi ambienti potete sempre cercare su Gooooogle (Fabio Lalli). Se vi interessa sapere quello che farò nella vita professionale potete cercarmi su Linkedin.

A presto, tanto … questo mondo è piccolino. In bocca al lupo a tutti.

Fabio Lalli

PS: ho messo il commento al codice di programmazione per i non addicted. Per i tecnici invece, vi avviso che il codice è stato debuggato ed è funzionante e questa email ne è la dimostrazione. Non lo eseguite nel debugger 🙂

“)

‘ * Invio il messaggio
UltimoMemo.Send()

‘ * Rimuovo tutte le librerie installate ma non le reference di sistema
UltimoMemo.Remove()

‘ * Chiudo la comunicazione
UltimoMemo.Close()

‘ * Distruggo l’oggetto affinchè non possa esser riutilizzato
set UltimoMemo = nothing
%>

A seguito dell’invio, ho ricevuto alcune email e messaggi di risposta, da quelli di auguri ed in bocca al lupo fino a quelli che mi hanno emozionato per la grande dimostrazione di stima ed amicizia. Grazie a tutti, ma soprattutto Giuliano, Stefano, David e Sonia. Tra i messaggi che ho ricevuto però ce ne è stato uno che mi ha fatto veramente ridere e che non posso non pubblicare e ringraziare pubblicamente. E’ il messaggio di Matteo aka Code , che si è superato con una mail di risposta “a tono” dall’oggetto “Goodbye FLalli Collection” e che vi riporto qui di seguito:

… e io ti saluto con la “Goodbye FLalli Collection” Some “Goodbye FLalli” programs in many more-or-less well known programming languages


ActionScript 3.0

var t:TextField=new TextField();

t.text=”Goodbye FLalli!”;

addChild(t);


Ada

— Goodbye FLalli in Ada

with Text_IO;

procedure Goodbye_FLalli is

begin

Text_IO.Put_Line(“Goodbye FLalli!”);

end Goodbye_FLalli;


Algol-68

( # Goodbye FLalli in Algol 68

# print((“Goodbye FLalli!”,newline))

)


Amiga-E

-> Goodbye FLalli in Amiga-E

PROC main() IS WriteF(‘Goodbye FLalli\n’)






AppleScript

— “Goodbye FLalli” in AppleScript:

display dialog “Goodbye FLalli”


ASP-C#

<!– Goodbye FLalli for ASP.NET using C# –>

<% @ Page %>

<%= “Goodbye FLalli!” %>


ASP-VBS

Goodbye FLalli for Microsoft ASP (in VBScript)

<%@ language=”vbscript” %>

<html><body>

<%

Response.write “Goodbye FLalli!”

%>

</body></html>


ASP.NET

<!– Goodbye FLalli in ASP.NET –>

<%= “Goodbye FLalli!” %>


Assembler-Intel

; Goodbye FLalli for Intel Assembler (MSDOS)

mov ax,cs

mov ds,ax

mov ah,9

mov dx, offset GOODBYE

int 21h

xor ax,ax

int 21h

GOODBYE:

db “Goodbye FLalli!”,13,10,”$”


Assembler-Linux

;; Goodbye FLalli for the nasm Assembler (Linux)

SECTION .data

msg     db      “Goodbye FLalli”,0xa ;

len     equ     $ – msg

SECTION .text

global main

main:

mov     eax,4          ; write system call

mov     ebx,1           ; file (stdou)

mov     ecx,msg         ; string

mov     edx,len         ; strlen

int     0x80           ; call kernel

mov     eax,1          ; exit system call

mov     ebx,0

int     0x80           ; call kernel


Assembler-PDP11

;       Goodbye FLalli in Assembler for the DEC PDP-11 with the

;       RSX-11M-PLUS operating system

;

.title Goodbye

.ident /V0001A/

.mcall qiow$s, exit$s

.psect $code,ro,i

start:  qiow$s #5,#5,,,,<#str, #len, #40>

exit$s

.psect $data,ro,d

str:    .ascii / Goodbye FLalli!/

len=.-str

.end start


Assembler-Win32

; Goodbye FLalli in Assembler for the Win32 architecture

TITLE Goodbye FLalli in win32. Tasm

VERSION T310

Model use32 Flat,StdCall

start_code segment byte public ‘code’ use32

begin:

Call MessageBox, 0, offset sHallo, offset caption, 0

Call ExitProcess, 0

start_code Ends

start_data segment byte public ‘data’ use32

sHallo  db ‘Goodbye FLalli’,0

caption db “Hi”,0

start_data Ends

End begin


BASIC

10 REM Goodbye FLalli in BASIC

20 PRINT “Goodbye FLalli!”


C#

// Goodbye FLalli in Microsoft C# (“C-Sharp”).

using System;

class GoodbyeFLalli

{

public static int Main(String[] args)

{

Console.WriteLine(“Goodbye FLalli”);

return 0;

}

}


C++

// Goodbye FLalli in C++ (pre-ISO)

#include <iostream.h>

main()

{

cout << “Goodbye FLalli!” << endl;

return 0;

}


C-ANSI

/* Goodbye FLalli in C, Ansi-style */

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

puts(“Goodbye FLalli!”);

return EXIT_SUCCESS;

}


Clipper

// Goodbye FLalli in Clipper

? “Goodbye FLalli”


CLP

/* Goodbye FLalli in CLP for the IBM AS/400 */

PGM

SNDPGMMSG  MSG(‘Goodbye FLalli !’) MSGTYPE(*COMP)

ENDPGM


ColdFusion

<!—Goodbye FLalli in ColdFusion—>

<cfset message = “Goodbye FLalli”>

<cfoutput> #message#</cfoutput>


CommandScript

#Goodbye FLalli in Command Script 3.1

#Meta.Name: “Goodbye FLalli”

#Block(Main).Start

echo “Goodbye FLalli!”

#Block(Main).End


CSS

/* Goodbye FLalli in CSS */

body:before {

content: “Goodbye FLalli”;

}


dBase

* Goodbye FLalli in dBase IV

? “Goodbye FLalli!”


Delphi

// Goodbye FLalli in Delphi

Program Goodbye_FLalli;

{$APPTYPE CONSOLE}

Begin

WriteLn(‘Goodbye FLalli’);

End.


Fortran

C     Goodbye FLalli in Fortran

PROGRAM GOODBYE

WRITE (*,100)

STOP

100 FORMAT (‘ Goodbye FLalli! ‘ /)

END


GoogleGadgets

<?xml version=”1.0″ encoding=”UTF-8″ ?>

<!– Goodbye FLalli as a Google gadget –>

<Module>

<ModulePrefs title=”Goodbye FLalli example” />

<Content type=”html”>

<![CDATA[

Goodbye FLalli

]]>

</Content>

</Module>


HP-48

<<

@ Goodbye FLalli for the HP-48

@ << and >> are one char each

“GOODBYE FLALLI”

>>


HTML

<HTML>

<!– Goodbye FLalli in HTML –>

<HEAD>

<TITLE>Goodbye FLalli!</TITLE>

</HEAD>

<BODY>

Goodbye FLalli!

</BODY>

</HTML>


HyperTalk

— Goodbye FLalli in HyperTalk

answer “Goodbye FLalli”


Informix-4GL

# Goodbye FLalli in Informix 4GL

MAIN

DISPLAY “Goodbye FLalli”

END MAIN


Java

// Goodbye FLalli in Java

class GoodbyeFLalli {

static public void main( String args[] ) {

System.out.println( “Goodbye FLalli!” );

}

}


Java-Server-Pages

<!– Goodbye FLalli for Java Server Pages –>

<%@ page language=’java’ %>

<%=”Goodbye FLalli!” %>


Java-Servlet

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

//

// Goodbye FLalli Java Servlet

//

public class GoodbyeFLalli extends HttpServlet {

public void service(HttpServletRequest request,

HttpServletResponse response)

throws IOException {

response.setContentType(“text/html”);

PrintWriter out = response.getWriter();

out.println(“<html><body>”);

out.println(“Goodbye FLalli!”);

out.println(“</body></html>”);

}

}


JavaScript

<html>

<body>

<script language=”JavaScript”>

// Goodbye FLalli in JavaScript

document.write(‘Goodbye FLalli’);

</script>

</body>

</html>


Kix

; Goodbye FLalli in Kix

Run( “Notepad.exe” )

Sleep 1

SetFocus( “Untitled – Notepad” )

$ReturnCode = SendKeys(“Goodbye FLalli”)

Sleep( 2 )

$ReturnCode = SendKeys(“~{F4}Y”)


LaTeX

% Goodbye FLalli! in LaTeX

\documentclass{article}

\begin{document}

Goodbye FLalli!

\end{document}


Lingo

Goodbye FLalli in Lingo (Macromedia Director)

on startmovie

alert “Goodbye FLalli”

end


Lisp

;;; Goodbye FLalli in Common Lisp

(defun GoodbyeFLalli ()

(print “Goodbye FLalli!”)

)


Logo

; Goodbye FLalli in Logo

DRUCKEZEILE [Goodbye FLalli!]


MATLAB

% Goodbye FLalli in MATLAB.

disp(‘Goodbye FLalli’);


Modula-2

(* Goodbye FLalli in Modula-2 *)

MODULE GoodbyeFLalli;

FROM InOut IMPORT WriteString,WriteLn;

BEGIN

WriteString(“Goodbye FLalli!”);

WriteLn;

END GoodbyeFLalli.


MSDOS

@ECHO OFF

REM Goodbye FLalli for DOS batch

ECHO Goodbye FLalli!


Pascal

{Goodbye FLalli in Pascal}

program GoodbyeFLalli(output);

begin

WriteLn(‘Goodbye FLalli!’);

end.


Perl

# Goodbye FLalli in perl

print “Goodbye FLalli!\n”;


PHP

<?php

// Goodbye FLalli in PHP

echo ‘Goodbye FLalli!’;

?>


PL-SQL

— Goodbye FLalli in Oracle PL/SQL (sqlplus)

set serveroutput on

begin

dbms_output.enable(10000);

dbms_output.put_line(‘Goodbye FLalli’);

end;

/


Postscript

% Goodbye FLalli in Postscript

%!PS

/Palatino-Roman findfont

100 scalefont

setfont

100 100 moveto

(Goodbye FLalli!) show

showpage


Prolog

% Goodbye FLalli in Prolog

goodbye :- display(‘Goodbye FLalli!’) , nl .


Python

# Goodbye FLalli in Python

print “Goodbye FLalli”


QuickBASIC

REM Goodbye FLalli in QuickBASIC

PRINT “Goodbye FLalli!”

END


Rational Rose

‘ Goodbye FLalli in Rational Rose scripting language

Sub Main

RoseApp.WriteErrorLog “Goodbye FLalli”

End Sub


Rexx.simple

/* Goodbye FLalli in Rexx, simple version (writes to standard output) */

say ‘Goodbye FLalli!’

exit


Smalltalk.simple

“Goodbye FLalli in Smalltalk (simple version)”

Transcript show: ‘Goodbye FLalli!’.


SQL

# Goodbye FLalli in SQL

SELECT ‘Goodbye FLalli’;


T-SQL

— Goodbye FLalli in T-SQL

PRINT ‘Goodbye FLalli’


TeX

% Goodbye FLalli in plain \TeX

\immediate\write16{Goodbye FLalli!}

\end


Turing

% Goodbye FLalli in Turing

put “Goodbye FLalli!”


Unix-Shell

# Goodbye FLalli for the Unix shells (sh, ksh, csh, bash, …)

echo ‘Goodbye FLalli!’


VBScript

‘ Goodbye FLalli in VBScript (Windows Scripting Host)

msgbox “Goodbye FLalli”


Visual-FoxPro

*Goodbye FLalli in Microsoft Visual FoxPro 5-9

? “Goodbye FLalli!”


VisualBasic.NET

‘Goodbye FLalli in Visual Basic .NET (VB.NET)

Imports System.Console

Class GoodbyeFLalli

Public Shared Sub Main()

WriteLine(“Goodbye FLalli”)

End Sub

End Class


VisualBasic6

‘ Goodbye FLalli in Visual Basic 6

Private Sub Form_Load()

Print “Goodbye FLalli”

End Sub


VVVV

Goodbye FLalli in VVVV


wml

# Goodbye FLalli in Wesnoth Markup Language (wml)

#define GOODBYEFLALLI

[message]

speaker=”narrator”

message=_”Goodbye FLalli”

[/message]

#enddef


XHTML

<?xml version=”1.0″?>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

<!– Goodbye FLalli in XHTML –>

<html

xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<title>

Goodbye FLalli!

</title>

</head>

<body>

<p>

Goodbye FLalli!

</p>

</body>

</html>


XQuery

(: Goodbye FLalli with XQuery 🙂

let $i := “Goodbye FLalli”

return $i


XSLT

<?xml version=”1.0″ encoding=”UTF-8″?>

<!– Goodbye FLalli in XSLT –>

<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>

<xsl:template match=”/”>

<xsl:text>Goodbye FLalli!</xsl:text>

</xsl:template>

</xsl:stylesheet>

Grandissimo Code. Un forte abbraccio a tutti e in bocca al lupo per tutto.