Showing posts with label computer. Show all posts
Showing posts with label computer. Show all posts

30 July 2009

Asterisk: The Future of Telephony

First they ignore you, then theylaugh at you, then they fight you, then you win.
— MahatmaGandhi
Prima ti ignorano, poi ridono di te, poi ti combattono, poi vinci.
MahatmaGandhi —
 
Although Alexander Graham Bell is most famously remembered as the father of the telephone, the reality is that during the latter half of the 1800s, dozens of minds were at work on the project of carrying voice over telegraph lines. These people were mostly business-minded folks, looking to create a product through which they might make their fortunes. We have come to think of traditional telephone companies as monopolies, but this was not true in their early days. The early history of telephone service took place in a very competitive environment, with new companies springing up all over the world, often with little or no respect for the patents they might be violating. Some of the monopolies got their start through the waging (and winning) of patent wars.Alexander Graham Bell è famoso soprattutto per essere il padre del telefono, ma la realtà è che nell'ultima metà del 1800 furono dozzine le menti al lavoro sull'idea di trasmettere la voce lungo le linee del telegrafo. Tutta gente votata al business, che cercava di creare un prodotto con cui fare fortuna. Ormai siamo portati a pensare alle compagnie telefoniche tradizionali come monopòli, ma all'inizio non era così. La storia del telefono è partita in un ambiente molto competitivo, con compagnie che fiorivano in tutto il mondo, spesso con poco o punto rispetto per eventuali violazioni di brevetti. Alcuni monopoli sono partiti proprio tra dichiarazioni di guerra sui brevetti.
It’s interesting to contrast the history of the telephone with the history of Linux and the Internet. While the telephone was created as a commercial exercise, and the telecom industry was forged through lawsuits and corporate takeovers, Linux and the Internet arose out of the academic community, which has always valued the sharing of knowledge over profit. The cultural differences are obvious. Telecommunications technologies tend to be closed, confusing, and expensive, while networking technologies are generally open, well documented, and competitive. E' interessante contrapporre la storia del telefono con la storia di Linux e di Internet. Mentre il telefono fu creato come prodotto commerciale e l'industria telefonica fu forgiata da cause legali e acquisizioni di aziende, Linux e Internet sorsero dalla comunità accademica, che ha sempre considerato più importante la diffusione della conoscenza rispetto al profitto. Le differenze culturali sono ovvie: le tecnologie di telecomunicazioni tendono ad essere chiuse, confuse e costose, mentre le tecnologie di rete sono generalmente aperte, ben documentate e competitive.


Closed Thinking


Pensiero Chiuso
If one compares the culture of the telecommunications industry to that of the Internet, it is sometimes difficult to believe the two are related. The Internet was designed by enthusiasts, whereas contributing to the development of the PSTN is impossible for any individual to contemplate. This is an exclusive club; membership is not open to just anyone. Se si paragona la cultura dell'industria delle telecomunicazioni con quella di Internet, a volte è difficile credere che siano correlate. Internet fu progettato da entusiasti, mentre è impossibile pensare al contributo di un singolo individuo allo sviluppo delle reti PSTN: è un club esclusivo, l'appartenenza non è aperta a chiunque.
The International Telecommunication Union (ITU) clearly exhibits this type of closed thinking. If you want access to their knowledge, you have to be prepared to pay for it. Membership requires proof of your qualifications, and you will be expected to pay tens of thousands of dollars in annual dues. Although the ITU is the United Nations’s sanctioned body responsible for international telecommunications, many of the VoIP protocols (SIP, MGCP, RTP, STUN) come not from the hallowed halls of the ITU, but rather from the IETF (which publishes all of its standards free to all, and allows anyone to submit an Internet Draft for consideration).L'Unione per le Telecomunicazioni Internazioni (ITU) è un chiaro esempio di questo tipo di pensiero chiuso. Se vuoi avere accesso alla loro conoscenza, devi essere pronto a pagare. L'appartenenza richiede un'abilitazione e bisogna mettere in conto abbonamenti da decine di migliaia di dollari all'anno. Nonostante l'ITU sia l'organo delle Nazioni Unite resposabile per le telecomunicazioni internazionali, molti dei protocolli VoIP (SIP, MGCP, RTP, STUN) non vengono dalle sale consacrate dell'ITU, ma piuttosto dall'IETF (che dà a tutti libero accesso a tutti i suoi standard e permette a chiunque di inviare un Internet Draft perché sia preso in considerazione).
Open protocols such as SIP may have a tactical advantage over ITU protocols such as H.323 due to the ease with which one can obtain them. Although H.323 is widely deployed by carriers as a VoIP protocol in the backbone, it is much more difficult to find H.323-based endpoints; newer products are far more likely to support SIP. The success of the IETF’s open approach has not gone unnoticed by the mighty ITU. It has recently become possible to download up to three documents free of charge from the ITU web site.† Openness is clearly on their minds. Recent statements by the ITU suggest that there is a desire to achieve "Greater participation in ITU by civil society and the academic world." Mr. Houlin Zhao, the ITU’s Director of the Telecommunication Standardization Bureau (TSB), believes that "ITU should take some steps to encourage this."Protocolli aperti come il SIP possono avere vantaggi strategici sui protocolli ITU come l'H.323 proprio per la facilità con cui si possono ottenere. Nonostante l'H.323 sia usato diffusamente da carriers come protocollo VoIP nelle dorsali, è molto più difficile trovare terminali H.323; è molto più probabile che i prodotti più recenti supportino il SIP. Il successo dell'approccio aperto dell'IETF non è passato inosservato alla potente ITU: recentemente è diventato possibile scaricare gratuitamente dal sito dell'ITU fino a tre documenti. Hanno chiaramente in mente il mondo open. Dichiarazioni recenti dell'ITU indicano un desiderio di raggiungere "maggiore partecipazione nell'ITU da parte della società civile e del mondo accademico". Houlin Zhao, direttore dell'Ufficio per le Standardizzazioni nelle Telecomunicazioni (TSB) pensa che "sia necessario fare alcuni passi per incoraggiarla".
The roadmap to achieving this openness is unclear, but they are beginning to realize the inevitable. [...] Non è chiaro quale sarà la strada per raggiungere questa apertura, ma si stanno accorgendo dell'inevitabile. [...]


Limited Standards
Compliancy



Limitata compatibilità
agli standard

One of the oddest things about all the standards that exist in the world of legacy telecommunications is the various manufacturers’ seeming inability to implement them consistently. Each manufacturer desires a total monopoly, so the concept of interoperability tends to take a back seat to being first to market with a creative new idea. The ISDN protocols are a classic example of this. Deployment of ISDN was (and in many ways still is) a painful and expensive proposition, as each manufacturer decided to implement it in a slightly different way. ISDN could very well have helped to usher in a massive public data network, 10 years before the Internet. Unfortunately, due to its cost, complexity, and compatibility issues, ISDN never delivered much more than voice, with the occasional video or data connection for those willing to pay. ISDN is quite common (especially in Europe, and in North America in larger PBX implementations), but it is not delivering anywhere near the capabilities that were envisioned for it. As VoIP becomes more and more ubiquitous, the need for ISDN will disappear.Una delle cose più strane sugli standard del mondo delle telecomunicazioni è l'incapacità dei vari produttori di implementarli consistentemente. Ogni costruttore vorrebbe un monopolio totale, così che il concetto di interoperabilità cede il passo all'idea di arrivare per primi sul mercato con una nuova idea creativa. I protocolli ISDN sono un chiaro esempio: la distribuzione dell'ISDN era (e per molti versi lo è ancora) una cosa difficilissima e costosissima, dal momento che ogni produttore aveva deciso di implementarlo in una maniera sottilmente diversa. L'ISDN avebbe potuto benissimo portare gli utenti verso un uso massicio di una rete dati pubblica, 10 anni prima di Internet. Sfortunatamente, per costi, complessità e problemi di compatibilità, l'ISDN non ha mai trasportato molto più che traffico voce, raramente dati e video per chi intendeva pagare. L'ISDN è piuttosto comune (specialmente in Europa e nelle PBX più grandi del Nord America), ma da nessuna parte ha mai veicolato le potenzialità che avevano previsto. Man mano che il VoIP si diffonderà, il bisogno di linee ISDN scomparità.


Slow Release Cycles


Cicli di rilascio lenti
It can take months, or sometimes years, for the big guys to admit to a trend, let alone release a product that is compatible with it. It seems that before a new technology can be embraced, it must be analyzed to death, and then it must pass successfully through various layers of bureaucracy before it is even scheduled into the development cycle. Months or even years must pass before any useful product can be expected. When those products are finally released, they are often based on hardware that is obsolete; they also tend to be expensive and to offer no more than a minimal feature set. These slow release cycles simply don’t work in today’s world of business communications. On the Internet, new ideas can take root in a matter of weeks and become viable in extremely short periods of time. Since every other technology must adapt to these changes, so too must telecommunications. Open source development is inherently better able to adapt to rapid technological change, which gives it an enormous competitive advantage. The spectacular crash of the telecom industry may have been caused in large part by an inability to change. Perhaps that continued inability is why recovery has been so slow. Now, there is no choice: change, or cease to be. Community-driven technologies such as Asterisk will see to that.Possono volerci mesi, a volte anni, perché i grandi si accorgano di una tendenza e anche solo rilascino un prodotto che è compatibile con essa. Sembra che prima che una nuova tecnologia venga adottata debba essere analizzata fino alla morte e attraversare diversi strati di burocrazia prima che sia anche solo pianificato di inserirla nel ciclo produttivo. Mesi, o anche anni devono passare prima di poter vedere un prodotto utile. E, quando questi prodotti sono finalmente rilasciati, sono basati spesso su hardware obsoleto, tendono ad essere costosi e non offrono che un minimo insieme di funzionalità.Questo ciclo di rilascio lento semplifcemente non funziona nell'odierno mondo delle comunicazioni. Su Internet, nuove idee possono mettere radici in poche settimane e diventare operative in periodi di tempi brevissimi. E dato che tutte le altre tecnologie devono adattarsi a questi cambiamenti, anche le telecomunicazioni sono costrette a farlo. Lo sviluppo open source è intrinsecamente più capace di adattarsi a rapidi cambiamenti tecnologici, il che gli conferisce un enorme vantaggio competitivo.Il crollo clamoroso delle compagnie telefoniche può essere stato causato in gran parte proprio da questa incapacità di cambiare. Forse questa incapacità prolungata è anche il motivo per cui il recupero è così lento. Ora non c'è più scelta: cambiare, o smettere di esistere. Ne saranno testimoni tecnologie guidate dalla comunità, come Asterisk.


Refusing to Let Go of the Past and Embrace the Future


Rifiutare di lasciar andare il passato eabbracciare il futuro
Traditional telecommunications companies have lost touch with their customers. While the concept of adding functionality beyond the basic telephone is well understood, the idea that the user should be the one defining this functionality is not. Nowadays, people have nearly limitless flexibility in every other form of communication. They simply cannot understand why telecommunications cannot be delivered as flexibly as the industry has been promising for so many years. The concept of flexibility is not familiar to the telecom industry, and very well might not be until open source products such as Asterisk begin to transform the fundamental nature of the industry.Le compagnie telefoniche tradizionali hanno perso il contatto con i loro clienti. Mentre il concetto di aggiungere funzionalità che vadano al di là del telefono di base è ben compresa, l'idea che debba essere l'utente a definire queste funzionalità non lo è affatto. Oggigiorno le persone hanno una flessibilità praticamente illimitata in tutte le altre forme di comunicazione. Semplicemente non capiscono perché le varie telecom non siano capaci di fornire la flessibilità che l'industria è andata promettendo per così tanti anni. Il concetto di flessibilità non è familiare alle industrie di telecomunicazioni e probabilmente non lo sarebbe stato finchè prodotti open source come Asterisk non avessero cominciato a trasformare la natura fondamentale di quest'industria.
This is a revolution similar to the one Linux and the Internet willingly started over 10 years ago (and IBM unwittingly started with the PC, 15 years before that). What is this revolution? The commoditization of telephony hardware and software, enabling a proliferation of tailor-made telecommunications systems.
[...]
E' una rivoluzione simile a quella che Linux e Internet volevano iniziare oltre 10 anni fa (e che IBM involontariamente iniziò con il PC, 15 anni prima). Che rivoluzione? La commercializzazione della telefonia, tanto hardware quanto software, che ha permesso la proliferazione di sistemi di telecomunicazioni su misura.
[...]


The Itch That Asterisk Scratches


Le soddisfazioni di Asterisk
In this era of custom database and web site development, people are not only tired of hearing that their telephone system “can’t do that,” they quite frankly just don’t believe it. The creative needs of the customers, coupled with the limitations of the technology, have spawned a type of creativity born of necessity [...]. The development methodology of a proprietary telephone system dictates that it will have a huge number of features, and that the number of features will in large part determine the price. Manufacturers will tell you that their products give you hundreds of features, but if you only need five of them, who cares? Worse, if there’s one missing feature you really can’t do without, the value of that system will be diluted by the fact that it can’t completely address your needs. The fact that a customer might only need five out of five hundred features is ignored, and that customer’s desire to have five unavailable features that address the needs of his business is dismissed as unreasonable. Until flexibility becomes standard, telecom will remain stuck in the last century—all the VoIP in the world notwithstanding. Asterisk addresses that problem directly, and solves it in a way that few other telecom systems can. This is extremely disruptive technology, in large part because it is based on concepts that have been proven time and time again: “the closed-source world cannot win an evolutionary arms race with open-source communities that can put orders of magnitude more skilled time into a problem.”†In quest'era di database personalizzati e sviluppo di siti web, la gente non solo è stanca di sentire che il proprio sistema telefonico "questa cosa non la può fare", semplicemente non ci credono. Le esigenze creative del cliente, assieme alle limitazioni della tecnologia, hanno generato un tipo di creatività nata dalla necessità [...].La metodologia di sviluppo di un sistema telefonico proprietario impone che debba avere un enorme numero di caratteristiche e che il numero di caratteristiche determinerà in gran parte il prezzo. I produttori vi diranno che il loro prodotto vi offre centinaia di caratteristiche, ma se avete bisogno soltanto di cinque di quelle caratteristiche, che importa? Peggio, se c'è una sola caratteristica che manca di cui non potete davvero fare a meno, il valore di quel sistema sarà sminuito dal fatto che non risponderà appieno alle vostre esigenze. Il fatto che il cliente potrebbe aver bisogno solo di 5 caratteristiche fra 500 è semplicemente ignorato e i 5 desiderata del cliente non disponibili saranno considerati come irragionevoli.Finchè la flessibilità non diventerà standard, le telecom rimarranno bloccate al secolo scorso — nonostante il mondo intero sia passato al VoIP.Asterisk affronta il problema in maniera diretta, e lo risolve in un modo che pochi altri sistemi di telecomunicazione possono. E' una tecnologia estremamente dirompente, in gran parte perché è basata su concetti che sono stati dimostrati più e più volte: "il mondo closed-source non può vincere una battaglia evolutiva con le comunità open-source, che possono mettere sul campo ordini di grandezza in più di tempo qualificato su un problema."


Open Architecture


Architettura aperta
One of the stumbling blocks of the traditional telecommunications industry has been its apparent refusal to cooperate with itself. The big telecommunications giants have all been around for over a hundred years. The concept of closed, proprietary systems is so ingrained in their culture that even their attempts at standards compliancy are tainted by their desire to get the jump on the competition, by adding that one feature that no one else supports. For an example of this thinking, one simply has to look at the VoIP products being offered by the telecom industry today. While they claim standards compliance, the thought that you would actually expect to be able to connect a Cisco phone to a Nortel switch, or that an Avaya voicemail system could be integrated via IP to a Siemens PBX, is not one that bears discussing. Uno degli scogli dell'industria delle telecomunicazioni tradizionale è stata il suo apparente rifiuto di cooperare con se stessa. I grandi giganti delle telecomunicazioni sono stati operativi per oltre cento anni. Il concetto di sistemi chiusi e proprietari è così incastonato nella loro cultura che anche i loro tentativi di compatibilità agli standard sono viziati dal loro desiderio di passare alla competitività, aggiungendo quell'unica caratteristica che nessun altro supporta. Basta guardare ai prodotti VoIP offerti oggi dalle industrie di telecomunicazioni. Mentre dichiarano compatibilità agli standard, il pensiero che tu possa davvero aspettarti di connettere un telefono Cisco con uno switch Nortel, o che un sistema voicemail Avaya possa essere integrato via IP con un PBX Siemes, non è cosa su cui perdere tempo a pensarci.
In the computer industry, things are different. Twenty years ago, if you bought an IBM server, you needed an IBM network and IBM terminals to talk to it. Now, that IBM server is likely to interconnect to Dell terminals though a Cisco network (and run Linux, of all things). Anyone can easily think of thousands of variations on this theme. If any one of these companies were to suggest that we could only use their products with whatever they told us, they would be laughed out of business. Nell'industria dei computer le cose sono diverse. Vent'anni fa, se compravi un server IBM, avevi bisogno di una rete IBM e di terminali IBM per poterci parlare. Oggi un server IBM è probabilmente connesso a terminali Dell tramite una rete Cisco (e, di più, ci gira su Linux). E si possono facilmente fare migliaia di variazioni sul tema. Se una di queste compagnie dovesse farci intendere che potremmo usare soltanto i loro prodotti con qualsiasi cosa ci raccontino, gli rideremmo semplicemente in faccia.
The telecommunications industry is facing the same changes, but it’s in no hurry to accept them.
[...]
L'industria delle telecomunicazioni sta affrontando gli stessi cambiamenti, ma non ha alcuna fretta di accettarli.
[...]

17 May 2009

Konsole 2.2 e KDE 4.2

Lavoro nuovo, ufficio nuovo, computer nuovo, kubuntu nuova: Jaunty Jackalope. Sono passati sei mesi, KDE4 è cresciuto, senza dubbio (nel senso che all'inizio era davvero inutilizzabile!), ma ci sono ancora molte cose da sistemare. E non si tratta solo di aspetti marginali: qui c'è Konsole che manca di funzionalità basilari che minano pesantemente l'usabilità.
Una per tutte, l'impossibilità di poter configurare in alcun modo le dimensioni della finestra all'avvio di ogni sessione. C'era, semplicissima, l'opzione --geometry, ma viene semplicemente ignorata. Invece ogni nuova Konsole si apre con le dimensioni che (h)a(veva) la finestra di Konsole che per ultima è stata ridimensionata. Un disastro.
Ho sperato che compiz (ebbene sì, uso ancora compiz come compositing window manager) potesse venirmi in aiuto col suo Size rules in Window Rules, ma è possibile solo fissare le dimensioni di certe finestre in maniera "permanente", non solo all'avvio, col risultato che se si prova poi, durante l'utilizzo di Konsole, a ridimensionare la finestra, questa ritornerà ineluttabilmente, di lì a poco, in un tempo apparentemente casuale, alle dimensioni fissate con compiz.
Un'altra grave pecca, di cui però — attenzione, segue spoiler! — sono riuscito a venire a capo, è quella per cui non è possibile disattivare le impostazioni sul flow control via Ctrl+S/Ctr+Q (cfr. screenshot qui di lato). Il risultato è che ogni volta che siete corsi troppo in fretta nella backward history search con Ctrl+R e volete invertire la direzione con Ctrl+S (forward history search), vi ritrovate con la shell bloccata. Per non parlare di emacs -nw, in cui sarete costretti a digitare esplicitamente nel minibuffer tutti quei comandi che hanno un Ctrl+S nella sequenza di shortcut (non solo il forward history search, dunque, ma anche l'altrettanto usato save-buffer...!)
Per fortuna almeno per questo problema del flow control sono riuscito a trovare una soluzione. Nonostante la cosa possa apparire strana (e infatti non ho capito bene come possa un'opzione di shell modificare un comportamento di Konsole, dal momento che mi figuro il secondo come un semplice wrapper della prima) è sufficiente disattivare l'attributo ixon di xterm con stty. Che tradotto significa che basta aggiungere nel .bashrc la riga
stty -ixon
Ad ogni modo, a parte questi disagi comunque abbastanza gravi, KDE4 comincia ad essere usabile. Sul laptop continuo a mantenere la vecchia e gloriosa Hardy Heron con KDE3.5, ma in ufficio sto appunto usando la 9.04. Continuo a trovare completamente inutile tutto l'ambaradan della widget dashboard (sono affezionato al mio conky che per fortuna, in un modo comunque abbastanza rattoppato — una per tutte, le finestre di conky non restano appiccicate sul desktop quando eseguo uno show desktop per ridurre tutte le finestre ad icona... e la cosa è particolarmente seccante! — riesco ad usare anche con KDE4) e mi capita spesso di non trovare l'opzione per settare qualcosa.
Ma insomma, in qualche modo, mi arrangio.