CouchDB 0.11 Invalid UTF-8 JSON: Risolto

📜

Questo articolo è stato scritto nel 2010. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

🔍
Retrospettiva 2026
CouchDB 0.11 è preistoria — CouchDB 3.x è la linea corrente dal 2020, e il layout delle librerie Erlang è cambiato completamente. Questa fix specifica difficilmente si applica a qualsiasi installazione moderna.

CouchDB logo

Se il tuo CouchDB 0.11 ti spara l’errore “Invalid UTF-8 JSON” ad ogni POST o PUT che gli mandi, assicurati che nella tua $prefix/usr/lib/couchdb/erlang/lib non ci siano residui di installazioni precedenti.

Sul server di sviluppo nostro, ho trovato due directory (“couch-0.10” e “mochiweb-r97”) dalla vecchia installazione 0.10 che causavano il problema.

Questo vale se hai aggiornato da sorgenti, come probabilmente hai fatto, perché ad aprile 2010 non è che ci fossero tutti questi pacchetti di CouchDB 0.11 :-).

Un grazie enorme a @couchdb per avermi indicato la direzione giusta dopo aver letto una segnalazione sulla mailing list dev — ma non volevo fare “rimuovi e reinstalla” perché mi piace capire cosa sta succedendo ;-).

Nota a margine: che sia la fine dell’Hiatus? Spero di sì ;-p

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

🔍
Retrospettiva 2026
HTML5 Canvas ha vinto. Flash è stato ufficialmente ucciso da Adobe a dicembre 2020. Questo tachimetrino si renderizza ancora perfettamente su qualsiasi browser moderno — ma nessuno si mette più a disegnare widget gauge a mano. D3.js, Chart.js, o anche solo CSS possono farlo con una frazione dello sforzo. Eppure, 52 stelle e 17 fork su GitHub: niente male per un progetto da weekend del 2009. E il mio amico che ha scritto il codice originale? Era praticamente Claude prima che Claude esistesse — sfornava codice di produzione a velocità macchina mentre il resto di noi stava ancora leggendo la documentazione.

L’elemento <canvas> è la novità del momento. Safari e Firefox lo supportano, Chrome è appena uscito, e Internet Explorer… vabbè, di Internet Explorer non parliamo. Flash è lo standard de facto per qualsiasi cosa grafica sul web. Un mio amico — uno degli ingegneri più brillanti che conosca, il tipo che implementa un filesystem in una notte e un kernel in una settimana — mi passa un widget tachimetro che ha scritto come codice di pubblico dominio. Figo, ma un po’ grezzo. Quindi lo prendo, rifattorizzo tutto in JavaScript object-oriented come si deve, aggiungo il supporto ai temi, risolvo i quirk di Firefox, e scrivo la documentazione.

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

Dal palco del Web 2.0 Expo 2008 a San Francisco, Clay Shirky parla della rivoluzione sociale portata dal web 2.0 nella società contemporanea, dalla TV a Wikipedia e World of Warcraft. E Twitter doveva ancora essere riconosciuto a livello globale, nel 2008.

Voto: 5 (perspicace)

Rails 3: Better, Faster, Stronger

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

🔍
Retrospettiva 2026
Rails 3.0 è uscito nel 2010 e il merge con Merb è stato un successo. Oggi Rails è alla versione 8.x, ha integrato tutto quello che qui si auspicava (modularità, API stabili, engines come cittadini di prima classe) e molto di più. Lighthouse è stato dismesso, therubymine.com non esiste più, e molti dei link in questo articolo sono morti — ma le idee di fondo restano valide.

Rails 3: Harder, Better, Faster, Stronger

Tutti (o quasi) gli sviluppatori web conoscono o hanno sentito almeno parlare di Ruby on Rails, un framework full-stack per la creazione di applicazioni web utilizzando il linguaggio di programmazione Ruby.

  • La conclusione triste: “gli esseri umani sono animali da branco”

  • La conclusione buona: “la viralita’ e’ sempre esistita, non e' un’invenzione del Web2.0. Il social networking e’ semplicemente uno strumento potente per chiunque voglia cambiare il mondo”

  • La conclusione cattiva: “quanto ci vuole per portare la gente dai propri computer al mondo reale dopo un avviso virtuale da qualche ‘uomo che balla’?”

  • Altre conclusioni: leggete i commenti su questo video su reddit e su youtube.

E-Privacy 2009: Verso il Controllo Globale

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

Un gigantesco occhio di sorveglianza fatto di tracce circuitali sospeso su una città, persone sotto con scudi crittografici

Indice

  1. La Ricetta
  2. Lo Scenario
  3. Le Argomentazioni
  4. Perche' preoccuparsi
  5. Il lato business
  6. Il lato identita'
  7. Il lato Google
  8. Il lato protezione
  9. Il lato comunicazione: intercettare e proteggere
  10. Parole finali

La Ricetta



Ingredienti

Preparazione

Prendete l'intero ambiente sociale, completamente impreparato alla (r)evoluzione mediatica avvenuta negli ultimi anni, e lasciate che gli hacker osservino e ne parlino/scrivano. Portate gli avvocati, e lasciate che riconoscano “Houston! Abbiamo un problema!”, definendolo al contempo in legalese. Fate domande e partecipate a dibattiti interessanti.

Ora, consegnate il Big Brother Award 2007 al rappresentante di Google, lasciate che il sole si tuffi nelle colline, aggiungete una notevole quantita' di vino rosso toscano, e preparatevi per il giorno dopo. Lasciate fluire la paranoia, mentre gli hacker mostrano come si puo' essere tracciati e trovati tramite la rete cellulare e spiati tramite telecamere collegate via wifi piazzate li' per la vostra sicurezza.

Guardate i Big Brother Awards 2009 non consegnati restare sulla scrivania dei relatori e improvvisamente messi in vendita su eBay, e tornate a casa, dove leggete e guardate un'intervista video-editata al premier italiano.

Mettete tutto in frigo e date al vostro cervello due giorni per metabolizzarlo. Poi scrivetelo tutto A VOCE ALTA.

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

XFS internal error XFS_WANT_CORRUPTED_RETURN at line 295 of file fs/xfs/xfs_alloc.c.  Caller 0xc018066c
 [<c017fed0>] xfs_alloc_fixup_trees+0x1b0/0x2e0
 [<c018066c>] xfs_alloc_ag_vextent_near+0x31c/0x9c0
 [<c018066c>] xfs_alloc_ag_vextent_near+0x31c/0x9c0
 [<c0180187>] xfs_alloc_ag_vextent+0xf7/0x100
 [<c01824fe>] xfs_alloc_vextent+0x35e/0x420
 [<c019015d>] xfs_bmap_alloc+0x80d/0x12b0
 [<c0111254>] try_to_wake_up+0xa4/0xc0
 [<c02cf248>] schedule+0x308/0x5c0
 [<c01939c4>] xfs_bmapi+0x514/0x1470
 [<c0130069>] find_lock_page+0x29/0xe0
 [<c013013c>] find_or_create_page+0x1c/0xb0
 [<c01d9116>] kmem_zone_zalloc+0x26/0x50
 [<c01a2296>] xfs_dir2_grow_inode+0xf6/0x3c0
 [<c01b57a6>] xfs_iget_core+0x326/0x5a0
 [<c0163315>] alloc_inode+0xd5/0x170
 [<c01b978b>] xfs_idata_realloc+0x3b/0x160
 [<c01a3e2d>] xfs_dir2_sf_to_block+0xad/0x680
 [<c0137882>] cache_grow+0xe2/0x150
 [<c01aa27b>] xfs_dir2_sf_addname+0x9b/0x110
 [<c01a1c51>] xfs_dir2_createname+0x131/0x140
 [<c01d9116>] kmem_zone_zalloc+0x26/0x50
 [<c01cebcb>] xfs_trans_ijoin+0x2b/0x80
 [<c01d4967>] xfs_create+0x407/0x6c0
 [<c017e766>] xfs_acl_vhasacl_default+0x36/0x50
 [<c01df8f4>] linvfs_mknod+0x2c4/0x390
 [<c01a1d62>] xfs_dir2_lookup+0x102/0x110
 [<c01228b8>] in_group_p+0x38/0x70
 [<c01ba9a6>] xfs_iaccess+0xc6/0x1a0
 [<c0157cb7>] permission+0x97/0xd0
 [<c0158f94>] __link_path_walk+0xda4/0xe90
 [<c0157cb7>] permission+0x97/0xd0
 [<c015984c>] vfs_create+0x9c/0x120
 [<c015a00b>] open_namei+0x58b/0x5e0
 [<c014aa9d>] filp_open+0x2d/0x50
 [<c014ac70>] get_unused_fd+0x50/0xc0
 [<c0157ae7>] getname+0x67/0xb0
 [<c014ad9c>] sys_open+0x3c/0x80
 [<c0102867>] sysenter_past_esp+0x54/0x75

xfs_force_shutdown(hda8,0x8) called from line 1091 of file fs/xfs/xfs_trans.c.  Return address = 0xc01e2c5c
Filesystem "hda8": Corruption of in-memory data detected.  Shutting down filesystem: hda8
Please umount the filesystem, and rectify the problem(s)
xfs_force_shutdown(hda8,0x1) called from line 353 of file fs/xfs/xfs_rw.c.  Return address = 0xc01e2c5c
printk: 12 messages suppressed.

Gia’, farei l’umount di /var, se questa macchina non facesse da act_as_router e non avesse pppd che non molla il lock su /var/run/pppd2.tdb

pppd   222 root  mem   REG    3,8    88080525 /var/run/pppd2.tdb (path dev=0,0 inode=34)

Ovviamente kill 222 ; pppd call dsl-provider non funziona. BLEAH. Mettiamoci un router davanti… configura, port forward, e si ricomincia… poi fdisk /dev/hdc per ricreare la struttura delle partizioni sul nuovo hard disk, mkfs.xfs su tutte le nuove partizioni, mount /dev/hdcX /target, pax -r -w -p e /{bin,boot,dev,etc,home,initrd,lib,media,root,sbin,srv,tmp,usr,var} /target… aspetta un sacco per la copia perche’ ci sono settori danneggiati sul disco sorgente, chroot /target, vi /etc/lilo.conf e sostituisci boot=/dev/hda con boot=/dev/hdc, lancia lilo -v mentre sei nel chroot, verifica /etc/fstab, e finalmente shutdown per rimuovere il disco guasto e riavviare… ripristinando lilo.conf. evvai!

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

«Donne! E' arrivato l'arrotino!» – A parte gli scherzi ;) l'Apple Store italiano insieme a Girl Geek Dinners Roma ha organizzato il 16 maggio 2009 un workshop sul mobile lifestyle (incentrato sull'iPhone, ovviamente).

Partiamo dall'inizio: cosa sono le Girl Geek Dinners? Linda ha spiegato al pubblico (circa 20 persone) che un geek e' una persona appassionata di tecnologia in senso ampio: il GGD e' un gruppo dedicato ad aggregare donne interessate a internet, ai nuovi media e agli stili di vita tecnologici. Le donne sono spesso sottovalutate nelle comunita' geek, e questo imbarazzante cliche' ha generato molte discussioni in passato, e la questione e' ancora irrisolta (secondo me).

Il gruppo italiano GGD e' nato nel 2007 a Milano, poi e' arrivato a Roma nel 2008, ed e' presente anche a Bologna e nelle Marche e in Emilia-Romagna.

Quindi, il gruppo GGD cerca di generare una “massa critica” di donne geek, per abolire lo stereotipo che “programmatori / utenti esperti” siano solo uomini: negli eventi GGD i ragazzi ascoltano e le ragazze parlano, poi bloggano, si scambiano biglietti da visita (e chiavi PGP, immagino ;) e in generale cercano di valorizzare il potere e le competenze delle donne nel campo dell'industria informatica. Il networking e un tuffo nei social media sono il modo piu' efficiente al giorno d'oggi per raggiungere un grande pubblico e costruire rapidamente la suddetta massa critica: ecco perche' l'evento GGD era incentrato sulle applicazioni mobile social e di produttivita' in generale. Presentato da due Apple Trainer ufficiali (Simona e Riccardo), il workshop e' iniziato alle 11:30 e e' durato circa un'ora.

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

🔍
Retrospettiva 2026
Molto è cambiato dal 2009. La promessa del Rapporto Caio di banda larga al 99% entro il 2011 non si è mai concretizzata — l’Italia lotta ancora con il digital divide nel 2026. Fastweb è stata acquisita da Swisscom. Tre e Wind si sono fuse in WindTre. Tele2 è uscita dal mercato italiano. Il protocollo P4P non è mai decollato. La Deep Packet Inspection è diventata molto più diffusa di quanto si temesse, ora equipaggiamento standard per gli stati di sorveglianza in tutto il mondo. Paolo Gentiloni è diventato Presidente del Consiglio e poi Commissario europeo.

Questa e' la seconda parte del mio resoconto del convegno nnsquad.it tenutosi a Roma il 14 maggio 2009, ospitato dalla fondazione di consulenti ICT Fondazione Ugo Bordoni.

Nella prima parte ho descritto la sessione mattutina, dedicata alla definizione della neutralita' della rete e a come l'economia globale possa conciliarsi con essa. Il pomeriggio e' stato dedicato a interventi piu' tecnici, e ho avuto l'occasione di sentire le osservazioni dei portavoce delle telco sulla situazione attuale e sui possibili sviluppi futuri.

Il primo intervento e' iniziato alle 14:15 ed e' stato tenuto dal prof. Vittorio Trecordi (slide disponibili qui). Lo ha introdotto affermando che la net neutrality potrebbe potenzialmente contrastare con lo sviluppo economico e le esigenze di sicurezza, a causa delle intercettazioni necessarie per queste ultime, intercettazioni che sono fortemente contrarie alla liberta' individuale di comunicare.

📜

Questo articolo è stato scritto nel 2009. È qui per ragioni storiche — i dettagli tecnici potrebbero non essere più validi.

🔍
Retrospettiva 2026
L’UE ha adottato regole solide sulla net neutrality nel 2015 (Regolamento 2015/2120), dando ragione ai principi sostenuti qui da Quintarelli. Negli USA, l’Open Internet Order della FCC del 2015 è stato abrogato nel 2017 sotto Ajit Pai, e il dibattito infuria ancora. La maggior parte dei link in questo post sono morti. Stefano Quintarelli è poi diventato parlamentare. Paolo Gentiloni è diventato Presidente del Consiglio (2016–2018) e Commissario europeo per l’Economia.

http://www.fub.it/events/seminari/neutralitadellareteeaspettisocioeconomici

http://www.nnsquad.it/

Neutralita' – “L'economia si sta dematerializzando”

Sollecitato da un messaggio Facebook inviato il 6 maggio 2009 a tutti i membri del gruppo nnsquad.it – per un Internet neutrale, mi sono imbattuto in questo evento interessante a cui ho avuto l'occasione di partecipare, tenutosi nel seicentesco palazzo Rospigliosi nel cuore di Roma.

Nella foto: Kenneth Carter e Stefano Quintarelli

La premessa era promettente: tecnici, dottori di ricerca, portavoce delle telco e politici che parlano di internet, della sua liberta' innata, e di come conciliarla in una societa' dove le misure di sicurezza aumentano costantemente, e come tali contrastano con un mondo virtuale senza barriere di sorta. Inoltre, e' un'arena virtuale in cui tutto puo' essere gratuito, non solo le informazioni, e le persone ci si stanno abituando.

Il primo intervento e' stato tenuto dal prof. Kenneth Carter, direttamente dalla Columbia University, e ha fatto da ampia introduzione alle tematiche esplorate (e talvolta ripetute) durante la giornata. In breve, la grande domanda e': gli ISP possono offrire diversi gradi di performance su diversi siti (o far pagare per performance migliori), permettere/bloccare/sovraccaricare l'accesso a certi siti o da certi dispositivi?


In questa pagina