domenica 2 novembre 2008

martedì 21 ottobre 2008

Pisa, ottobre 2008

Festa protesta, voce che contesta!
Sarà la finanziaria o sarà la riforma a tagliarci le gambe?
Mobilitazione di massa!

giovedì 4 settembre 2008

perchè il linguaggio java si chiama così

J. Gosling e A. Van Hoof (considerati gli autori del linguaggio Java) si trovavano spesso ad un caffè presso il quale discutevano del linguaggio stesso. E così il linguaggio prese il nome da tale abitudine (Java è una qualità di caffè dell'omonima isola dell'Indonesia), tanto che il magic number che identifica un file .class (byte code ottenuto dalla compilazione di un file .java) è 0xCAFEBABE (probabilmente riferendosi alla cameriera che li serviva).

fonte

venerdì 29 agosto 2008

Modella le tue capacità...

Modella le tue capacità sulle tue idee, mai il contrario
William Bernbach

Se abbiamo un animale in casa...

Se abbiamo un animale in casa, è più intelligente di qualunque computer
Steve Wozniak

Problema iPod: Cercasi Soluzione

Ho un ipod touch (mai jailbrekato) 8gb di circa 8 mesi. Fino ad un paio di giorni fa usavo normalmente il mio ipod aggiornato alla 2.0.2, poi in seguito al blocco di una delle applicazioni di terze parti e riavvio automatico dell'ipod ho risocontrato due problemi:
- il primo è che la libreria (video, musica, ecc.) è vuota se consultata sull'ipod, mentre ad ipod collegato, su itunes è data presente sull'ipod
- le applicazioni di appstore -TUTTE- adesso stanno aperte circa due secondi e poi si chiudono
Ho provato prima a spegnere tenendo premuti il tasto home e quello in alto come indicato sul sito apple senza risultato, poi ho ripristinato l'ipod da iTunes ma dopo circa 10 minuti che lo usavo si è ribloccato su una delle applicazioni dell'appstore, auto-riavviato e mi sono trovato nella solita situazione.
Ho poi rientato un'altra volta questi passaggi ma senza soluzione. Specifico che l'applicazione che bloccava l'ipod non era sempre la stessa anche perchè è stata volta volta eliminata prima di ripristinare e non erano tutte applicazioni che usavano l'accellerometro.
Qualcuno mi può aiutare? (Prima di portarlo a riparare in garanzia)

edit: Ho provato anche col dfu mode e sono andato avanti per una giornata, poi il problema si è ripresentato...

mercoledì 27 agosto 2008

Appunti di Metodologie di programmazione (3): Lo stato

Ambiente delle classi ρ: contiene le classi dichiarate prima dell’inizio dell’esecuzione


ρ è una funzione da identificatori di classe a descrizioni di classe

ρ : Cenv = Id -> Cdescr

Cdescr = Id * Frame * Menv * Frame * Menv
Descrizione di classe: superclasse * variabili statiche * metodi statici * variabili istanza * metodi istanza

NB: il costruttore (sequenza di assegnamenti) viene aggiunto ai metodi istanza

Class_decl := class Id extends Id {
Static_var_decl_list
Static_meth_decl_list
Inst_var_decl_list
Inst_meth_decl_list
Costruttore }


Frame ϕ

Il frame è una tabella (estendibile e mutabile) che mantiene associazioni fra identificatori (di variabili) e valori (interi, booleani oppure locazioni (puntatori ad oggetti))

Operazioni definite sui frame:
• un frame ϕ:Frame viene creato vuoto (newframe())
• l’operazione bind(ϕ, i, v) estende ϕ inserendo l’associazione tra i e v
• l’operazione update(ϕ, i, v) modifica in ϕ l’associazione per i (che deve esistere)
• l’operazione defined(ϕ, i) dice se ϕ contiene un’associazione per i
• per ottenere il valore di una variabile, si applica il frame all’Id


Ambiente di metodi μ

μ è una funzione da identificatori di metodo a descrizioni di metodo
μ : Menv = Id -> Mdescr

Mdescr = Idlist * Blocco * ( Loc | Id )
Descrizione di metodo: parametri formali * corpo del metodo * puntatore a oggetto o nome di classe

Method_decl := Id (Idlist) Blocco

Operazioni sugli ambienti di metodi e di classi:
• cbind((ρ:Cenv), (i:Id), (c:Cdescr)) estende ρ associando ad i il valore c
• cdefined(ρ:Cenv, i:Id) dice se ρ è definita per i
• mbind((μ:Menv), (i:Id), (m:Mdescr)) estende μ associando ad i il valore m
• mdefined(μ :Menv, i:Id) dice se μ è definita per i
• instantiate((μ:Menv), (l:Loc)) crea un nuovo ambiente μ1 diverso da μ perché tutte le descrizioni di metodi contengono l’oggetto l


Heap ζ: contiene gli oggetti (istanze di classi)

ζ è una funzione da locazioni a descrizioni di istanza (oggetto)
ζ : Heap = Loc -> Odescr

Odescr = Id * Frame * Menv

Descrizione di istanza: classe * variabili di istanza * metodi di istanza


Operazioni sullo heap:
• newheap() genera una heap vuota
• newloc(ζ) genera una nuova locazione in ζ
• hbind((ζ:Heap), (l:Loc), (o:Odescr)) estende ζ associando ad l il valore o

NB:
• un oggetto viene creato con l’espressione new Id
• genera il valore o:Odescr a partire dalla classe Id
• l = newloc(ζ)
• hbind((ζ:Heap), (l:Loc), (o:Odescr))
• restituisce l


Pila di attivazioni σ: per la valutazione dei metodi, simile alla pila dei record di attivazione nei linguaggi tradizionali

σ è una pila di records di attivazione di metodi
σ : Astack
Astack = Stack (Record)

Record = ( Id | Loc ) * Stack(Frame)
record di attivazione: oggetto o classe a cui il metodo appartiene * pila di frames (blocchi annidati)

Operazioni sulle pile (record, frame):
• emptystack() genera una pila vuota
• top((π:Stack(x)) restituisce l’elemento di tipo x in testa a π
• pop((π:Stack(x)) modifica π eliminando l’elemento in testa
• push((π:Stack(x),(e:x)) modifica π inserendo l’elemento e in testa
• empty((π:Stack(x)) verifica se π è vuota


[Fonte]

Appunti di Metodologie di programmazione (2): Information-hiding

Decomposizione > Astrazione

1. Linguaggi alto livello: costrutti semplici invece di linguaggio macchina
2. Astrazione attraverso parametrizzazione: parametri al posto di dati, permette di astrarre il codice dalle infinite computazioni che eseguire, eventualmente con parametri diversi
3. Astrazione attraverso specifica: si astrae dal COME e si considera solo il COSA, potendo così cambiare quest’ultimo in modo trasparente a tutto il resto; la specifica è data attraverso commenti e parole chiavi

2 e 3 permettono di definire:
• Astrazione procedurale: separazione tra definizione di un metodo e sue chiamate, permette di aggiungere nuove operazioni e descriverne proprietà
• Astrazione sui dati: permette di aggiungere nuovi tipi di dati e relative operazioni senza preoccuparsi dell’implementazione
• Iterazione astratta: permette di iterare sugli elementi di una collezione senza preoccuparsi di come sono stati ottenuti, astraendo così dal flusso dei dati
• Gerarchie di tipo: consiste nel raccogliere in famiglie e sottofamiglie i tipi che condividono operazioni astraendo le differenze


[Fonte]

Appunti di Metodologie di programmazione (1): Analisi statica

Analisi statica
(a tempo di traduzione, nella fase di interpretazione)


• Localizzazione degli errori
• Controllo dei tipi
• Risoluzione dei nomi

NB: in Java controlla solo i tipi APPARENTI, i tipi EFFETTIVI sono noti solo a tempo di esecuzione; in altre parole garantisce solo che il tipo apparente sia SUPERTIPO del tipo effettivo: casting, dispatching dei metodi, ecc. sono risolti solo a run-time


[Fonte]

lunedì 18 agosto 2008

Pubblicità Progresso (2)

Siete rimasti attoniti dalla diffusa ignoranza della classe politica italiana in tema di tecnologia?
Siete stupiti per le allucinanti idee di alcuni magistrati in materia di Internet e diritto di autore?
Guardate allucinati la trovata di Mediaset contro Youtube, o l'ennesima trovata riguardante l'abuso del diritto di autore da parte delle Major?


La ricetta è:
1- Imparate ad usare la vostra testa, questa è la più temuta disobbedienza civile
2- Usate OpenDNS, gli ip sono 208.67.222.222 e 208.67.220.220
3- Usate software opensource e contribuite come potete
4- Usate e diffondete cultura e musica sotto Creative Commons

FONTE

domenica 17 agosto 2008

Pubblicità Progresso (1)

Apple lancia la nuova versione di Apple Web: maccoso!

Il nuovo Apple Web sta riscuotendo un grande successo nel mercato africano e un impiegato di Cupertino prevede un ragionevole aumento di ricavi. La nuova versione, denominata "Melamangio" ha già attirato l'attenzione spasmodica degli Apple Genius. Le caratteristiche principali di questo prodotto sono: comodità, design accattivante firmato da Jonathan Ive, leggerezza, disco allo stato solido (con un piccolo sovrapprezzo), controllo completo delle funzionalità e disponibile in lingua italiana e sarda.
Apple Web versione "Melamangio" è già disponibile dei negozi specializzati al modico prezzo di 19.99 £. Affrettatevi e il balcone del vostro vicino di casa sarà davvero maccoso!

Generato da iGenPost

Do the evolution

La probabilità non è nient'altro che...

La probabilità non è nient'altro che il grado di fiducia (speranza, timore, ..) nel fatto che qualcosa di atteso (temuto, o sperato, o indifferente) si verifichi e risulti "vero".
Bruno De Finetti

Gli hacker sono ...

Gli hacker sono persone che “programmano con entusiasmo”. Essi ritengono che “la condivisione delle informazioni sia un bene positivo di formidabile efficacia, e che sia un dovere etico condividere le loro competenze, scrivendo free software e facilitando l’accesso alle informazioni e alle risorse di calcolo ogniqualvolta fosse possibile.”
dal “file di gergo” (The Jargon File) degli hacker, compilato collettivamente in Rete

La matematica è vera soltanto perchè...

La matematica è vera soltanto perchè non dice nulla di sostanziale, perchè è puramente tautologica; dubitare di essa sarebbe assurdo non perchè vi sia nelle sue verità qualche virtù speciale, ma per il medesimo motivo per cui sarebbe ridicolo dubitare che gli astronomi abbiano sbagliato nello "scoprire" i nomi delle stelle.
Bruno De Finetti, 1934

Chi perde il senso del tempo quando è davanti al computer...

Chi perde il senso del tempo quando è davanti al computer, sa capire perfettamente il bisogno di sognare, la necessità di realizzare i propri sogni e la tendenza a saltare i pasti.
Tim Berners-Lee