altre destinazioni

ultimi post

ultimi commenti

tag principali

categorie

powered by

  • WPFrontman + WP

friends

copyright

  • © 2004-2011
    Ludovico Magnocavallo
    tutti i diritti riservati

Visual Basic per il Web

5 settembre 2007

7 commenti

So che la definizione farà storcere il naso a parecchia gente, ma sono sempre più convinto che uno dei maggiori punti di forza di Django sia di essere una sorta di Visual Basic per le applicazioni web. Un effetto forse non previsto della eccellente interfaccia di amministrazione preconfezionata, che rende di fatto Django un eccezionale toolbox per generare rapidissimamente interfacce di qualità per basi dati.

Per intenderci, quel tipo di applicazioni che in ambiente Enterprise vengono tradizionalmente realizzate (in ordine di schifezza crescente) con Visual Basic, Domino, Microsoft Access o quegli agghiaccianti fogli Excel salvati su una cartella condivisa che vi sarà capitato di vedere più di una volta (non c’è limite alle aberrazioni: giuro di aver visto un progetto in cui Excel veniva utilizzato per i diagrammi di flusso e di rete). Applicazioni che in Django sono semplicissime da sviluppare, con l’enorme vantaggio di avere una vera base dati relazionale alle spalle, e un’interfaccia web flessibile, intrinsecamente multiutente e scalabile.

Già che siamo in tema, per dopodomani mattina devo presentare una scaletta per un tutorial in italiano su Django, da comporre in tre-quattro articoli che verranno pubblicati su una nota rivista. Sto pensando di fare il tutorial sulla creazione di un blog, se avete consigli più originali o interessanti fatevi sotto.

Astoria, il ReST di Microsoft

2 maggio 2007

1 commento

Codename “Astoria”: Data Services for the Web è il nome di un progetto in incubazione da qualche mese, che rappresenta il primo vero passo di Microsoft verso ReST: “if you could provide a dead-simple way of programming against a relational data store that resides on the internet, what should the programming model look like? Could it be simpler than SOAP-based data access programming?”

Allo stato attuale, Astoria è un add-on per SQL Server che si appoggia sull’ADO.NET Entity Framework. Potete scaricarlo dalla pagina del progetto o, cosa forse più interessante, provarlo live su uno dei quattro database messi a disposizione sui server di Microsoft, tra cui un subset di Encarta. Post originale e commenti qui, via bytesized.

Chi ha bisogno di SOAP? Abbiamo MySQL

7 aprile 2007

7 commenti

MySQL è il vero dialetto universale, altro che SOAP.

I just pushed my first public release of my MySQL storage engine for AWS S3.

Mark Atwood

SphinxSE is MySQL storage engine which can be compiled into MySQL server 5.x using its pluggable architecure.

Sphinx search engine

The memcache_engine allows memcache to work as a storage engine to MySQL. This means that you can SELECT/UPDATE/INSERTE/DELETE from it as though it is a table in MySQL.

Tanget Software’s memcache_engine

Eccetera…

Italia.it: il buco col baco intorno

26 febbraio 2007

7 commenti

Guest blogger Neko, aka Numero Zero.

Sarà il logo bananiero, sarà l’accessibilità da edificio sovietico anni ’60, sarà il presunto budget milionario, saranno i testi l33t ma non si riesce proprio a smettere di parlare di Italia.it, il portalone che dovrebbe promuovere l’immagine del nostro Paese all’estero, mentre invece riesce solo a promuovere le conigliette di Playboy. Non ci credi?

Guarda qua, allora: http://tinyurl.com/2gdhox

E che dire di questa interessante iniziativa di co-marketing con Google: http://tinyurl.com/ypsmyr

Spero almeno si facciano pagare due Euro per i click. E nel caso fosse gratis che importa, buco per buco almeno hanno avuto il buon gusto di scusarsi per i tanti soldi spesi a fronte di una realizzazione tecnica approssimativa: http://tinyurl.com/22cjfm

Che ci sia lo zampino di Silvio in tutto questo, sempre pronto ad approfittare di ogni passo falso della sinistra? Io dico di sì: http://tinyurl.com/27f3zr

Al di là del “giochino” innocente con URL e contenuti la cosa è piuttosto grave: trattasi di potenziale buco nella sicurezza tramite “JavaScript Injection” che, tra le altre cose, permette di modificare il contenuto di form e cookie. Visti i pezzi da novanta dietro a Italia.it (fra cui IBM, di cui ignoro il ruolo nel progetto ma che, ironia della sorte, proprio in questi giorni è in Tv con una serie di spot incentrati sulla sicurezza), l’augurio è quello di vedere questo e altri problemi sistemati una volta per tutte.

Per il momento invece non resta altro che offrire il nostro contributo partecipando al sondaggio apposito: http://snipurl.com/1bd25

J2EE sucks balls (e libevent per Python)

8 novembre 2006

12 commenti

I am sick and fucking tired of the shit that continuously goes wrong with that monstrous piece of bloatware that takes a zillion fucking days to write “hello, world” in. [...] J2EE will never see the light of day here again. And if the next Java project is not a resounding success, I know some people that better master C awful damned fast. I don’t give a flying fuck if Java reduces my defect rate by 50%, if it increases my development time by a factor of six trillion, it’s fucking useless.

Eccezionale commento su Slashdot (thanks Ryan) che esprime esattamente tutto quello che penso di Java e J2EE dopo alcuni anni di lavoro in ambienti “Enterprise”. Giusto oggi sentivo parlare di crash incomprensibili della virtual machine sulle super-affidabili (secondo chi le vende) macchine virtuali zLinux che girano su processori dedicati su mainframe…

Passando ad argomenti più allegri, per rimediare allla fame di risorse della classifica dei blog (che comunque grazie uno sponsor generoso riceverà due bei server nuovi fra qualche giorno per sostituire il vecchio e stanco Celeron 900) sto riscrivendo l’architettura di backend. L’idea generale è quella di usare parallel per distribuire i task, specializzando i processi. Le interazioni con la rete (tutte GET e POST HTTP) saranno gestite da un singolo processo, che utilizza socket asincroni tramite libevent e pyevent.

Sto finendo la prima versione del client HTTP basato su libevent/pyevent, e sono assolutamente sbalordito dalle performance: su un portatile mediocre (credo non arrivi a 2Ghz) su cui girano sia il server che uso per i test (lighttpd) che il client che sto sviluppando, riesco a fare più 3000 GET al secondo della pagina di default di lighttpd. Dopo avere aggiunto il supporto ad alcune funzionalità indispensabili di HTTP/1.1 come il chunked transfer encoding e il parsing degli header, la cifra è scesa un po’ ma è sempre sulle 2000 richieste al secondo. Libevent è veramente incredibile, e facilissima da usare anche per chi è alle prime armi con il network programming.

Se vi interessa approfondire date un’occhiata ad apricot, un server HTTP supersemplice in Python che va come un missile, o questo altro server che ha performance simili. Avendo tempo sarebbe bello trasformarli in server stabili e con le funzionalità che servono per usarli in produzione.

Post scriptum per il duo di Treviglio, non ho dimenticato il sito, settimana prossima dovrei avere un prototipo usabile. Spero non sia troppo tardi. Ah, e spazio per ospitarlo se serve.

Alfa e beta testing

7 novembre 2006

1 commento

Particolare di una slideInteressante presentazione di Byrne Reese (Six Apart, majordojo) sul ciclo di sviluppo di un prodotto, largamente ispirata alle sue esperienze coem Product Manager di Vox, il servizio di blogging sociale di Six Apart.

Qui le slide della presentazione, qui il post introduttivo di Reese.

Ora non avete più scuse

31 ottobre 2006

5 commenti

Ora non avete più scuse per non imparare Django, il framework per lo sviluppo di applicazioni web che sta diventando lo standard per la comunità Python, e sta rivoluzionando il modo di lavorare non solo di chi fino ad ora programmava, ma anche e soprattutto di chi non l’aveva mai fatto prima.

Non avete più scuse, dato che è appena stato aperto in beta pubblica il libro su Django che stanno scrivendo gli autori del framework, e che dovrebbe andare in stampa l’anno prossimo. Anche se non siete interessati a Django, vale la pena andare a dare un’occhiata per vedere come si realizza un sito di questo genere: impaginazione semplice e curata, date di rilascio dei vari capitoli, feed Atom per sapere in tempo reale quando vengono aggiunti nuovi contenuti, e commenti contestuali che danno un senso alla bella sperimentazione di Jack Slocum. Via Zen and The Art of Ruby Programming.

Umorismo geek modello Python

1 settembre 2006

1 commento

Python braces

Anche gli sviluppatori sono umani, questa volta a ricordarcelo è Python: importando il modulo __future__ (dove trovano posto le nuove funzionalità che diventeranno standard nelle versioni successive) e provando ad importare l’oggetto braces (parentesi), viene lanciata un’eccezione che recita: “Errore di sintassi: non le vedrete mai”, chiaro riferimento alla solita e trita polemica sull’utilizzo degli spazi per delimitare i blocchi di codice, invece delle parentesi graffe come tutti i linguaggi derivati da C.

Python ha altre chicche di questo tipo, come la seconda eccezione che vedete nell’immagine, o il più lungo Zen of Python, un vero e proprio manifesto della filosofia che sta alla base di questo linguaggio, importabile da codice come un modulo (import this). Se vi piace questo tipo di umorismo, decisamente geek, date un’occhiata anche ai commenti nei sorgenti della kernel di Linux. Via Voidspace.