Author: Oriol Rius

aptana: eina professional per programar UI Web

Reading time: 2 – 2 minutes

aptana esta disponible per Mac, Windows, Linux i fins hi tot com a plug-in per l’Eclipse. Així doncs es tracta d’una eina que ens ajudarà a programar. Com ja posava en el títol esta orientada a la creació d’interficies d’usuari via web. Ralment és per gent molt i molt professionals, abstenir-se principiants. Ja que li treurem realment el suc quan treballem amb JavaScript, AJAX, Yahoo UI, CSS, Dojo Javascript library, etc. De fet no em declaro ni usuari de l’eina ni segurament futur usuari de la mateixa, però això no treu que després de veure els screencast que té l’eina m’hagi caigut la baba i hagi sabut apreciar la gran feina que s’ha fet per crear una eina com aquesta.


screenshot_library_project_select.png

Per si tot això fos poc es tracta d’una eina OpenSource i com ja he dit multiplataforma. L’aspecte gràfic esta molt acurat i a més suporta força navegadors per comprobar que el codi que anem programant és compatible en tots ells. Com passa en tots els projectes vanguardistes també disposa d’un blog des d’on podeu anar seguint les millores que va tenint el programa, ja que ara mateix només hi ha disponible la versió beta.

El otro lado del sexo

Reading time: 2 – 4 minutes

Elotroladodelsexo.jpg

Avui he acabat de llegir aquest llibre de la Valérie Tasso. Com sempre hem passo descubreixo els autors quan ja han tret dos o tres llibres coneguts. Però bé, millor tard que mai. La seva obra més famosa que segurament us sonarà és Diario de una ninfomana. Però tornant al otro lado del sexo; per començar comentar que trobo la foto de la portada súper eròtica. Realment és una d’aquelles fotografies que em passaria hores i hores mirant. Però entrant una mica més endintre he de reconeixer que una de les històries que més m’atreien era la de les Tigresas Blancas. Realment apassionant aquesta carrera que tenen aquestes societats secretes i inconexes de dones que per aconseguir la juventut eterna han de xuclar l’energia dels seus dragons (amants). Realment és de les històries que més m’ha agradat del llibre.

També m’ha sorprès moltíssim en el primer capítol la història del castell del Reino del Otro Mundo on hi ha tota una societat montada al voltant del sado i on les que manen són les dones. Entre un hotel de “luxe” i un país dins d’un castell totes les lleis i regles que marquen l’ordre en aquell lloc el fan realment un lloc de culta i punt de mira pels curiosos. Realment per poc que ens atraigui aquest món del sado a alguns, tota la parafernalia que envolta a aquest lloc et fa entrar ganes de perdre-t’hi ni que siguin només un parell de dies.

La resta d’històries del llibre són força entretingudes i curioses. Però la veritat esta lluny de ser un dels millors llibres que he llegit. Malgrat això he de reconeixer que és una lectura entretinguda, amena i fàcil de fer-te perdre el món de vista durant unes quantes hores. Així doncs, si realment la vostre llista de lectures no tècniques arriba a la vostre fi aquesta és una bona excusa per començar a llegir aquest llibre tan curiós i atrevit.

Demà començaré amb Tavesuras de una niña mala, del Mario Vargas Llosa. Malgrat és una novela i jo no sóc massa de novel·les me’l va recomanar i comprar la Daphne, així doncs li donaré una oportunitat espero que no em decepcioni perquè il·lusió li posaré.

Sistema d’audio domèstic (MPD player)

Reading time: 5 – 8 minutes

La meva intenció no és fer un altre article súper tècnic amb fitxers de configuració i detalls molt tècnics. Malgrat es tracta de la descripció d’un projecte tècnic, no considero que tingui cap punt de dificultat, per tant, em centraré més en l’aspecte descriptiu i filosofic del que es preten aconseguir.

Doncs bé la idea és montar-me una mica millor sistema per escoltar música a casa, tan a l’estudi (on hi ha els PCs) com a la resta de la casa. Per això he fet un petit esquema del que he montat aquest cap de setmana.

mpd-schema.png

La idea és aprofitar que el servidor té targeta de so i disposa del repositori principal de música. El reproductor que li he instal·lat és una mica especial, s’anomena MPD (music player daemon). Bàsicament la gràcia que té és que funciona com a dimoni i que permet rebre comandes remotes a través d’un socket TCP. Per tant, podré controlar remotament el que esta sonant a través de programes client.

A més gràcies a jinzora un aplicatiu via web, puc consultar tota la música disponible amb tota la informació de la música del repositori i a través de la interficie puc enviar noves playlist o música sota demanada contra el servidor MPD. Realment és un aplicatiu impressionant, molt recomenable. Si no es disposa d’un servidor MPD també pot enviar la música a través d’streaming fins al player de l’usuari i si l’ample de banda no és massa bo permet fer transcoding en temps real.

Bé doncs, només amb això ja puc posar música des de qualsevol dispositiu que em permeti accedir a la interficie web del jinzora. Perquè si el programes en mode jukebox permet llençar la música directament contra l’MPD. A més aquestes cues de música a sonar no les manté jinzora sinó l’MPD així doncs quan connectem amb un client d’mpd podrem veure la canço que sona, la cua, fer pausa, parar la música, tocar el volum del servidor, etc.

A la sortida d’audio de la targeta de so del servidor hi he connectat la minicadena i quan vull a la sortida de la minicadena connecto el transmissor d’audio de Rimax, el que vaig comprar el gener de l’any passat (funciona per UHF a 800MHz). Així els altaveus (receptors) de la planta de baix també es posen a reproduir la música de l’estudi.

Ara aprofitant que tinc cobertura wifi per tota la casa, he configurat al nokia 770 un programa que es diu glurp, també disponible per PC. Es tracta d’un client d’MPD. És molt lleuger i ràpid, cal pensar que només fa de frontend i permet tenir les nostres llistes de reproducció al servidor, recuperar-les quan volguem i crear llistes noves de forma molt senzilla. Aquest client el tinc instal·lat també al portàtil, va molt bé.

Així doncs, amb quatre eines i una estona de paciència configurant i fent proves. Ja tinc el sistema d’audio més o menys decent. Obviament és molt millorable. De fet, la idea que porto al cap seria algo semblant a això:

Bàsicament es tracta d’ampliar les zones on hi ha altaveus sense fils, a més es tracta de col·locar un parell de mixers si pot ser digitals tan a l’estudi com al menjador. Per tal de poder controlar el volum de tot plegat de forma centralitzada. També m’agradaria començar a montar d’una vegada el media center del menjador. Amb el MPD amb un mirall del repositori montat a través d’openAFS i sincronitzat a través de wifi.

A més el mixer de l’estudi hauria de permetre capturar les sortides d’audio dels dos PCs, poden desviar el so cap a la minicadena o cap als headphones, així si la Daphne es posa a estudiar xinès no em molesta mentre jo escolto música o simplement treballo sense música. He vist que hi ha mixers d’aquests que s’anomenen matrix però no són controlats via soft, sinó a través d’una consola tipus comandament a distància amb una pantalleta. A veure si en trobo algún que m’ho permeti fer via soft.

Un tema pendent en el que encara no m’he posat és en suportar streaming des d’internet. De fet, no és res de l’altre món, però estava donant-li voltes en quines són les funcions que em podrien interessar en aquest sistema i la veritat no trobo quines, ja que últimament no escolto gran cosa per internet.

A més també li donava voltes a fer que els servidors MPD agafessin la música d’un servidor d’streaming intern (shoutcast) i així ambdos reproductors treurien el mateix so i tan a l’estudi com a baix se sentiria el mateix. Però tampoc ho he trobat massa important i per això no m’hi he liat.

Ara em queda pendent un altre article, que seria un article complementari a aquest, on us parlaré de productes comercials i altres ‘invents’ que permeten extendre aquesta idea que explico aquí. Però per avui ja he escrit prou… me’n vaig a treballar.

Avui el blog fa 6 anys

Reading time: 1 – 2 minutes

Com sempre que arriba aquesta data penso en que hauria d’escriure una mica la història de com vaig començar aquesta història i el perquè del nom. Bé per no parlar del temps que fa que el blog té aquesta imatgetan incompatible amb IE i d’altres navegadors. Però bé, millor que avui hem centri en sentir-me orgullos per les més de 100mil visites del mes passat i millor pensar en celebrar-ho. Ja que aguantar 6 anys i portar més de 1000 articles no esta tan malament. Aproximadament és un article cada dos dies. Malgrat això aquest mes ha estat molt fluix i la cua de pendents és brutal. Qui sap potser després de dinar m’animo a escriure alguna coseta.

formula.gif

Per cert, com molts ja sabeu dissabte ja ho vaig començar a celebrar. I jo diria que encara n’estic patint les conseqüències, bufff!!! que lluny que queden aquells 23 anys que tenia quan vaig començar amb aquest tema del blog.

symfony: cridant funcions i18n des de les actions

Reading time: 2 – 4 minutes

Una eina molt potent de symfony és la d’internacionalització (i18n), concretament la funció __() es converteix en una de les més usades i indispensables en la capa de vista de les nostres aplicacions. Ja que permet després de forma molt senzilla traduir la nostre aplicació a l’idioma que sigui. El problema és quan des de la part del model em de carregar informació a objectes que després seràn directament mostrats per la vista. Si volem que aquesta informació sigui fàcilment traudible malgrat trobar-se en el model i no pas en la capa de vista la cosa es complica una miqueta. De fet, fins avui no sabia com es feia i ho he descobert gràcies a un snippet publicat a la web de symfony.

Concretament symfony tracta la funció __() com el que ell anomena un helper que ens permeten dinamitzar i donar moltíssima potència als nostres templates. Si no sabeu el que són els helpers us recomano que repasseu la documentació de symfony concretmanet View chapter. De fet, symfony té molts tipus de helpers: url, javascript, form, i18n, etc. fins hi tot podem programar els nostres propis helpers.

Així doncs el que comentaré serà com usar els helpers de tipus i18n des del model, però la resta de helpers també es poden invocar de la mateixa manera.

Primer cal pensar en incloure des del model el codi on es declaren les funcions del helper:

include_once('symfony/helper/I18NHelper.php');

Per invocar la funció __(), hem de fer:

sfConfig::get('sf_i18n_instance')->__($text, $args, 'messages');

El que no sé és si les eines de traducció que es dediquen a extreure els missatges de les funcions __() són capaces de recorre també els fitxers d’accions definits al model o només passen pels templates. Tot i que no deu ser molt difícil dir-los que també mirin els fitxers del model.

Aprofitant que parlo del tema de la internacionlització us recomano una eina per traduir els fitxers d’idioma (XLIFF) és una eina multiplataforma programada en java: open language tools XLIFF editor. Com podeu veure l’aspecte i la simplicitat és inmillorable. Ideal per persones no tècniques que ens poden fer les traduccions de les aplicacions.

Per generar els fitxers XLIFF des de symfony us recomano: HowToGenerateI18NFiles. És un petit manual que he trobat al wiki de symfony.

symfony: Problemes de javascript

Reading time: 1 – 2 minutes

prototype.png

Symfony usa prototype com a framework de JavaScript. Malgrat la potència del projecte té un petit problema de disseny que ens dona problemes quan intentem integrar el nostre codi fet en prototype/symfony amb codi JavaScript de tercers. De fet, el problema de disseny és molt senzill prototype exten dues classes bàsiques de JavaScript: Object i Array ambdues són classes molt bàsiques i sovint usades en qualsevol script així doncs quan aquest codi intenta usar aquestes classes bàsiques al estar exteses no tenen el comportament habitual, així doncs el codi d’aquestes persones s’ha d’adaptar per suportar les modificacions de prototype. Així doncs, si això no és possible tindrem un problema d’incompatibilitat entre codis.

Si voleu més detalls tèncis sobre el problema l’Oriol m’ha passat un parell d’enllaços es raona el problema:

PoE – Power over Ethernet

Reading time: 2 – 2 minutes

Jugant amb els amics més d’una vegada hem injectat l’alimentació d’un dispositiu a través del cable ethernet l’invent és una mica d’anar per casa. Però serveix per estalviar-se una bona quantitat de calers i poder tirar només un cable entre el switch i el dispositu a alimentar. Per exemple, en algunes instal·lacions wifi del poble s’ha fet: Unim eBosc i ePineda (quasi 1km).

Doncs bé fins que no m’he llegit l’article que us vull recomanar pensava que l’estàndard PoE de la IEEE no era gaire més del que ja feiem nosaltres. Però després de llegir Power over Ethernet: the reality of designing a powered device (local) realment he vist que per començar els elements que fan falta per crear un dispositiu que compleixi l’estàndard PoE són força més complexes i professionals que com ho feiem nosaltres. Un bon exemple és mirar l’esquema dels components que componen un dispositiu PoE.

Així doncs us recomano perdre 5min en llegir l’article i tenir el tema PoE més que clar. Que sempre va bé saber perquè paguem tants calers per certes coses.

Tipus d’VPNs

Reading time: 7 – 12 minutes

Quan parlem d’VPNs gairebé tothom té clar perquè serveixen i què fan. El fotut és quan comencem a parlar de quin tipus d’implementació s’ha d’usar o s’ha usat per montar-la. Això fa que un munt de sigles comencin a saltar sobre la taula i al final si no tenim una molt bona base tècnica som incapaços d’entendre a què es refereixen. Aprofitant un article que ha aparegut a Network Systems DesignLine, de fet, és la primera part d’una serie encara incompleta anomenada Compare, design, and deploy VPNs–A tutorial–Part I he decidit fer un petit resum dels tipus d’VPN més comuns.

Dispositius d’una VPN

Per tal de poder parlar en propietat quan parlem dels elements de la VPN a continuació s’intenta definir una mica els dispositius que intervenen (o poden intervenir) en una VPN i on estan situats.

En el costat del client:

  • Customer (C) devices els dispositius C són simples, per exemple routers i switchos dins de la xarxa del client. Aquests dispositius no estan connectats a la xarxa del proveedor de servei. Aquests dispositius no saben distingir si estan o no dintre d’una VPN.
  • Customer Edge (CE) devices són els dispotius del client que donen conectivitat a la xarxa del proveedor de serveis.(via Provider Edge [PE]).
    • CE-r routers
    • CE-s switches

En les VPNs basades en CE, els dispositius CE si que estan disponibles per ser usades amb la VPN. Si les VPNs estan basades en els PE, els dispositius CE no estan disponibles per la VPN.

En les VPNs site-to-site, els dispositius del proveidor de serveis es poden classificar en:

  • Service Provider (P) devices els dispositius P com ara routers i switches dins de la xarxa del proveedor que no es connecten directament a la xarxa del client.
  • Service Provider Edge (PE) devices connectats directament a la xarxa del client a través dels dispositius CE. En les VPNs basades en PE aquests dispositius són visibles des de l’VPN, en les basades en CE no són visibles.
    • PE-r Provider Edge routers
    • PE-s Provider Edge switches
    • PE-rs Provider Edge devices that are capable of both routing and switching
VPNFigure1.gif

VPNs de capa 2, com ara VPLS, afegeixen un nivell a la gerarquia per ser més escalable (VPLS llavors passa a ser Hierarchical VPLS [H-VPLS]). En aquest cas, les funcionalitats dels dispositius PE, es divideixen en dos parts U-PE i N-PE.

Cal que no oblidem que els U-PE i els N-PE són equivalents al PE-CLE i al PE-POP, respectivament. Quan tenim un dispositiu PE-U de capa 2, podem referir-nos a ell com un MTU-s.

VPNFigure2.gif

Altres dispositius d’una VPN poden ser els NAS i els concentradors o gateways d’VPN. Un NAS és un dispositiu que fa d’interficie entre la xarxa d’accés (com ara PSTN) i les xarxes de conmutació de paquets (com ara un backbone IP). En un accés remot VPN el NAS pot treballar com a finalitzador de tunel.

Depenent del protocol usat per establir un accés remot el NAS es pot anomenar de diferents formes Layer Two Forwarding (L2F) Protocol NAS, Layer Two Tunneling Protocol (L2TP) Access Concentrator (LAC),o Point-to-Point Tunneling Protocol (PPTP) Access Concentrator (PAC).

Un gateway o concentrador d’VPNs actua com a punt final d’un túnel (VPN endpoint), especialment quan parlem d’accessos remots o VPNs basades en CEs (site-to-site).

Segons el protocol usat per aquests accessos remots el gateway o concentrador d’VPNs es pot anomenar, per exemple, L2F Home Gateway, L2TP Network Server (LNS), o PPTP Network Server (PNS).

Tecnologies i protocols usats en VPN del tipus Site-to-Site (o LAN-to-LAN)

En les VPNs site-to-site (o LAN-to-LAN) la informació del client viatja entre dispositius CE o entre dispositius PE.

  • IPsec són un conjunt de protocols dissenyats per protegir el tràfic IP entre gateways o hosts. Normalment s’usa aquest protocol per establir VPNs entre CEs.
  • GRE usat per fer túnels i transport de multiprotocols entre CEs. La seguretat de GRE és baixa o no inherent al protocol, però si volem podem aprofitar IPSsec per securitzar els túnels montats en GRE.
  • Draft Martini (Any Transport over MPLS–AToM) permet transportar protocols punt a punt com ara Frame Relay, ATM, Ethernet, Ethernet VLAN (802.1Q), High-Level Data Link Control (HDLC), i tràfic PPP sobre MPLS.
  • L2TPv3 permet transportar protocols com ara Frame Relay, ATM, Ethernet, Ethernet VLAN, HDLC, i tràfic PPP sobre IP o altres protocols de backbone.
  • IEEE 802.1Q tunneling (Q-in-Q) permet als proveedors de servei transportar tagged Ethernet (802.1Q) entre xarxes dels clients a través d’un backbone compartit. Per tal de fer això l’únic que es fa és tornar a afegir una altre etiqueta, a la afegida pel 802.1Q de la xarxa del client, aquesta vegada l’etiqueta 802.1Q és de la xarxa del proveedor.
  • MPLS LSPs (Label Switch Routers) els paquets es conmuten segons l’etiqueta afegida al paquet. LSPs poden rebre senyals de TDP, el LDP, o el RSVP.

Tecnologies i protocols usats en accessos remots

  • The Layer Two Forwarding (L2F) Protocol és propietari de Cisco. Bàsicament es va dissenyar per fer túnels PPP (o SLIP) per enllaços entre NAS i VPN gateways en oficines centrals. Els usuaris remots connecten al NAS, i les trames PPP de l’usuari remot són enviades pel túnel cap al VPN gateway.
  • The Point-to-Point Tunneling Protocol (PPTP) el van desenvolupar Microsoft, 3com i Ascend Communications. Com el L2F, el PPTP permet crear túnels per accessos remots a través de trames PPP entre un NAS i un VPN gateway. PPTP també permet crear túnels entre l’usari remot i el VPN gateway. PPP encapsula els paquets enviats a través dels túnels PPTP i sovint com a mètode de protecció s’usa MPPE.
  • The Layer 2 Tunneling Protocol versions 2 i 3 (L2TPv2/L2TPv3) és un estàndard de la IETF i combina les millors funcionalitats del L2F i el PPPTP. En un entorn d’accés remot, L2TP permet enviar trames PPP del client a través del NAS contra el VPN gateway o concentrador de túnels. L2TP té la seguretat com a element intrinsec, sovint s’usa IPSec per protegir-los.
  • IPSec permet establir túnels tipus site-to-site (LAN-to-LAN>), accessos remots o usuaris mòbils.
  • The Secure Sockets Layer (SSL) és un protocol de seguretat que va ser desenvolupat per Netscape Communications (SSL v1,v2 i v3). Ens permet crear enllaços remots segurs als usuaris mòbils. Funcionalment esta molt limitat, perquè no ens cal un client d’VPN. Cal no oblidar que TLS és un estàndard IETF molt similar la SSLv3.

Per tal de disfrutar d’un conjunt de funcionalitats més potent cal instal·lar un client d’VPN SSL específic.

Modelant i Caracteritzant una VPNs

Un bon mapa perno perdres en el món de les VPNs:

VPNFigure3.gif

VPNs creades pel proveedor o pel client

Exemples d’VPNs creades pels proveedors:

  • Virtual Private Wire Service (VPWS) VPNs
  • Virtual Private LAN Service (VPLS) VPNs
  • IP-Only Private LAN Service (IPLS) VPNs
  • BGP/MPLS (RFC4364/2547bis) VPNs (BGP/MPLS VPNs are also known as MPLS Layer 3 VPNs.)
  • Virtual Router (VR)-based VPNs
  • IPsec VPNs

Exemples d’VPN creades en el client:

  • GRE VPNs
  • IPsec VPNs
  • SSL VPNs

Site-to-Site i VPNs d’accés remot

Les VPNs les crei el proveidor o el client, només poden oferir dos tipus d’accés:

  • Site-to-site ofereixen connectivitat entre xarxes distants geograficament connectant-les com si es tractes d’una xarxa local. Bàsicament es ditingeixen dos tipus les intranet i les extranet segons si connecten xarxes de la mateixa organització o de diferents organitzacions, respectivament.
VPNFigure4.gif
  • Accés remot també anomenades VPNs d’accés permeten a un usuari mòbil o domèstic accedir a la xarxa de l’organització i accedir als seus recursos de xarxa com si estiguessis físicament a la xarxa.
VPNFigure5.gif

La calor mata…

Reading time: 1 – 2 minutes

Definitivament he d’afirmar que la calor ja ha pogut en mi. Així no es pot ni viure ni treballar ni res. L’estiu decididament no esta fet per passar calor davant d’una pantalla, es fa difícil pensar. El cervell es posa calent, calent, calent!!! cada cop costa més pensar en res que no sigui fresc o mullat 😉

brain.jpg

Tinc tropocientos articles per publicar, mails per contestar i temes de feina per tancar. Però quan no pot ser no pot ser. Si la CPU puja de 70ºC no se li pot demanar el rendiment que té a l’hivern en 25ºC. Així que em declaro persona inútil per treballar amb més de 27ºC de temperatura ambient. Estic plantejant-me seriament fer reunions durant el dia i prou i treballar a les nits. Perquè posar-se a pensar amb la calorassa esta clar que no esta fet per mi.

Ala! ja teniu la meva reflexió de l’estiu… a veure si aconseguixo donar-li el tomb al ritme de vida.

Curs: Oficina OpenSource

Reading time: 2 – 4 minutes

opensource-110x95.png

La setamana passada vaig estar a l’ESI de Murcia donant un curs sobre com substituir el software propietari per software amb codi lliure. El curs va ser d’una durada total de 25h repartides en 5h diaries. Podeu consultar el material separat en 5 capítols segons cada un dels dies. El target del curs eren empreses del sector de les TIC però que no tenien un grans coneixement del SL. Així doncs tot esta enfocat a fer un gran overview dels continguts del curs.

Si voleu descarregar el material en format OpenOffice Impress, PDF i alguns documents complementaris en PDF podeu descarregar-ho tot plegat al wiki. El material només el vaig usar com a guia per explicar tots els temes així doncs tampoc espereu trobar un llibre ni res semblants, sinó una guia per poder explicar en 25h el que hauria de durar-ne 2.500h 🙂

Petit resum de continguts del curs: (castellano)

Introducción al curso

Se introducen las principales diferencias entre el software privativo y el OpenSource, con el fin de definir un marco tecnológico.

Linux en el ordenador sobremesa

Se repasarán las distintas tecnologías de sobremesa que hay en el mundo Linux, así como comparaciones con las tecnologías del mercado de software actual.

Servicios internet e intranet

Tecnologías libres para ofrecer nuestros servicios en internet y en la intranet: correo, web, FTP, servidores de ficheros, backups, etc.

Empresas que dan soporte al OpenSource en España

Las empresas necesitan confiar en otras empresas que les ofrezcan los servicios que requieren. Así pues conocer cual es el marco real de empresas en España que se dedican a dar soporte al software con esta filosofía es muy importante.

ERP, CRM y Groupware basados en OpenSource

Hay herramientas vitales para una empresa como los: ERP, CRM y Groupwares. Conocer cuales son las alternativas en este tipo de software fuera de las típicas ofertas privativas es vital si queremos migrar a un entorno OpenSource.

Telefonía IP y VoIP

En nuestros días las tecnologías de VoIP (Voice over IP) estan constantemente en las portadas de los periódicos. El OpenSource ofrece un abanico de tecnologías que abren un mundo de posibilidades infinitas en esta área.

Desarrollando software OpenSource

Por muy avanzado que este un campo de la informática no siempre las herramientas se comportan como deseamos y no siempre existen aplicaciones que se adapten exactamente a las necesidades requeridas. Por este motivo hay que conocer las plataformas de desarrollo más importantes.

Scroll to Top