Linux per infants


Escrit per Aaloy a 25 de March , 2007 a les 5:11 p.m.

Aquesta setmana hi ha dos apunts interessants de Ricardo Galli i Pep Torró damunt Linux i els infants, molt convenients de llegir per tots aquells que teniu infants i voleu iniciar-los amb la informàtica. Des de fa molt temps els meus menuts que ara tenen 6 i 3 anys fan servir GNU/Linux, una Ubuntu concretament. Cada un amb la seva compta d'usuari i identificats amb nom i clau, i tenen ben clar qui ha entrat amb quin usuari. El menut va començar a conèixer les lletres per la necessitat de posar el seu nom i la seva clau (fàcil, això si). El major ja és capaç de crear accessos directes, canviar les barres de menús, i adonar-se'n quan el nom d'un programa no correspon amb el que diu la icona i canviar-ho. Ambdós no tenen cap problema per arrencar el Pingus amb l'Alt+F2, posar el nom i executar. El el cas del petit és més sorprenent encara, ja que ha de fer servir les dues mans. Iniciar l'OpenOffice no és cap problema, imprimir tampoc... Fins i tot han començat de crear-se els seus propis nivells de Pingus, i això quan no estan posant icones vàries a l'escriptor, jugant amb el breakout o el gcompris, per exemple. Sovint he vist als pares no dexar emprar l'ordinador als nins perquè tenen por de que aquest l'espenyi, de que puguin esborrar alguna cosa imporant o que ho deixin penjat. Ordinadors de pares amb Windows, s'entén.  Als meus fills Linux els ha donat una llibertat en la que no sé si n'Stallman hi havia pensat: la llibertat d'experimentar sense por. De tant en tant, quan han canviat tat la configuració que fins i tot a mi em resulta difícil saber on han posat els programes, desfer els canvis és tan senzill com esborrar-los el seu directori d'usuari per a que puguin començar de nou. Tenc la tranquilitat que encara que tota la família hi tengui coses a l'ordinador, res del que puguin fer tendrà conseqüències per l'estabilitat de l'equip i pels documents que hi ha. Fer que els nostres fills facin servir GNU/Linux vol dir educar-los sense por a la informàtica, sense frenar-los en la seva experimentació.  La informàtica els motiva a aprendre més coses: a llegir per saber què diuen els programes, els estimula la memòria quan han de recordar com es feia tal o qual cosa amb el processador de texts o com es posava el joc del senyor de la patata. Sovint no fa falta ni anar a jocs especialment indicats per als infants, ja que tot el que hi ha al voltant d'un escriptori Linux és prou estimulant per ells com per animar-los a descobrir coses i experimentar. I de retruc, els pares tenim una eina molt poderosa: l'amenaça del canvi de password! XD

Traducciones/Translations by apertium

3 comentaris, 0 trackbacks (URL) , Tags: Informàtica


Fusions


Escrit per Aaloy a 23 de March , 2007 a les 11:39 p.m.

L'altra dia ens va arribar la notícia: TUI es fusiona amb First Choice. La fusió crearà la major companyia turística del món amb un volum de clients de 27 milions de persones i amb operacions en uns 200 destins arreu del globus. La fusió s'engloba dins el moviments que ha hagut recentment en el sector turístic,  també MyTravel, la meva companyia anterior, es va fusionar amb un altre dels grans operadors turístics: Thomas Cook. Aquests grans moviments tenen sempre repercussions en les dues empreses que es fusionen, i els propers mesos poden ser molt interessants per aquells que com a mi ens agraden els canvis. First Choice amb marques com Hotelbeds, Bedsonline i Hotelopia té una posició ben establerta en el mercat on-line, per la seva banda TUI disposa d'un gran volum de clients i potencial, i en els darrers anys estava orientant la seva estratègia cap al mercat on-line, tot i les dificultats que té canviar de direcció un gegant com TUI. Es fusionen dues companyies amb visions distintes del negoci turístic: First Choice molt orientada a resultats, a la tecnologia i innovació. TUI més assentada en el model clàssic de touroperació, però amb el ferme propòsit d'anar cap el món on-line i arribar a tenir dins aquesta via de comercialització la posició dominant que tradicionalment havia tingut en el mercat turísti clàssic. Els propers mesos s'ha d'anar completant la fusió. S'espera que la unió de les dues companyies impliqui beneficis anuals de prop de 100 milions de lliures, per mor de les sinèrgies que es produiran entre les dues companyies. Això vol dir dues coses: major poder de negociació i una reestructuració dels negocis per a eliminar redundàncies. La direcció executiva de la nova companyia estarà en mans de la part anglesa de la companyia. Curiosament quan TUI comprà Thomson, la direcció pivotà cap a Alemanya, ara tornarà cap a Anglaterra, i els màxims directors executius seran d'origen anglosaxó, i majoritàriament de First Choice. No sé si això implica un reconeixement implícit que el que es vol per la nova companyia és el tarannà de First Choice, però el cert és que anglesos i alemanys són dos conceptes de direcció totalment diferents. És prest encara per saber com afectarà tot això als destins d'ambdues companyies, i en particular com ens afectarà a Mallorca i als departaments informàtics, però està clar que els temps vinents seran interessants de viure.

Traducciones/Translations by apertium

1 comentari, 0 trackbacks (URL) , Tags: Informàtica


Aprendre a programar


Escrit per Aaloy a 18 de March , 2007 a les 5:27 p.m.

Al 2007 a Bulma és l'any especialment dedicat a les Jornades als Instituts. Es tracte d'un conjunt de xerrades més o manco formals on s'intenta explicar a la gent tant què és això del programari lliure com fer demostracions del que se pot fer. La meva xerrada va de com està evolucionant l'e-bussines a l'empresa turística, mostrant com està evolucionant el negoci des de que explotà la bimbolla tecnològica, i de com i amb què s'estan fent les webs. A Manacor en el torn de preguntes, se'm demanà quin era el millor llenguatge per aprendre a programar per la web. En línia amb la xerrada la contesta és que bàsicament el llenguatge de programació que es tri no té massa importància. El que importa és que permeti tenir clars i fixar els coneixements i les tecnologies que farem servir. Per exemple, un llenguatge o IDE que ens amagui que el que tenim per devall d'una plana web és html no es convenient, ja que en aquest cas l'alumne no estaria aprenent els conceptes, sinó una eina. A partir d'aquesta premisa podem anar cercant el llenguatge que més s'adapti als continguts que es vulguin donar. En aquest punt suposam ja que l'alumne té els conceptes de programació bàsica clars: sap què és una variable, coneix les sentències de control de flux, sap fer funcions, sap què és un punter, etc. Per tant es tracta de que aprengui com es diferencia la programació d'aplicacions d'escriptori de la programació web i que conegui les tecnologies que li permetran en el futur guanyar-se'n les sopes. L'elecció del llenguatge de programació doncs dependrà del que considerem més important: que l'alumne aprengui a manejar un llenguatge concret com C# o Java aplicats al desenvolupament web o que aprengui els conceptes. L'elecció de Java o C# no és dolenta, però la corba d'aprenentatge en aquests entorns és molt gran, i per tant, ens podem trobar que els exemples siguin massa senzills com per a ser vàlids. El problema fonamental és que no hi ha temps d'aprendre la tecnologia web, el llenguatge de programació, les llibreries i els bastiments necessàries com per poder fer una aplicació que permeti a l'alumne trobar-se amb les dificultats que es trobaria en un projecte real. Si anam al món Java, per exemple, ens podem trobar que per fer una aplicació web necessitam conèixer el llenguatge, el model MVC, un bastiment per aquest model (Struts, Spring, ...), la creació de servlets, com es despleguen, fer anar el tomcat, fer anar un bastiment de persistència com l'hibernate, fer anar una caché com EhCache, aprendre JSP-EL i els tags, ... Potser massa per uns alumnes que tenen més assignatures i per unes assignatures amb un nombre d'hores de docència molt determinat. Una possible solució és anar cap als llenguatges dinàmics (PHP, Python, Ruby) i amb l'ajuda d'un bastiment per al desenvolupament web, com per exemple Cake per PHP, Django per Python o Rails per Ruby. Particularment el que conec més i millor és Python i Django, però qualsevol dels altres podria cobrir fàcilment els objectius d'aprendre la tecnologia i que el llenguatge i el bastiment en sí no fos una limitació a l'hora de fer programes, que en aquest cas poden ser prou grans com per a ser útils. Els llenguatges dinàmics tenen un grau de realimentació molt gran: el cicle de desenvolupament, proves, resultat és molt curt, i per tant es poden veure els conceptes que es volen provar molt ràpidament. Més realimentació implica més motivació, menys por a fer proves i menys peresa a l'hora d'aprendre, ja que ara pràcticament qualsevol cosa que es vulgui provar, qualsevol concepte, no duu més temps que el temps necessari per escriure'n el codi. Què passa amb C# o Java, que és el que les empreses demanen, dirà algú. Doncs que una vegada tenim els conceptes apresos es pot anar molt més fàcilment a aprendre com es fa en C# o Java, però ja aprendrem damunt una base sòlida i per comparació amb els conceptes que ja coneixem. La corba d'aprenentatge serà molt més suau. I això no vol dir que les empreses demanin C# o Java, això normalment ho fan les consultores. Amb Java o C# hi ha molt més a guanyar per una consultora, ja que els projectes duen molt més temps que fets en un llenguatge dinàmic (entre un factor 3 i 10), però hi ha ja molts d'exemples de grans empreses que estan apostant molt for pels llenguatges dinàmic per fer les seves webs. L'estat actual de la tecnologia ens permet fer tota la capa web amb un llenguatge dinàmic i connectar-nos a una capa de serveis que ens proporciona XML. El llenguatge amb que estigui feta aquesta capa de serveis tampoc importa molt, però per exemple la combinació de Java + XFire o Axis és perfectament recomenable, i aconseguim un alt grau de paral·lelisme en el desenvolupament, separació efectiva entre distintes capes de les aplicacions, reutilització (donada bàsicament pels servies web) i a la vegada una resposta als canvis molt alta gràcies a la utilització dels llenguatges dinàmics. El que veu l'usuari final a la web és HTML, amb Javascript i CSS segurament, però el que no veu és un llenguatge de programació. Li importa poc amb què hagis programat l'aplicació, importa el que li mostres i com d'aviat pots respondre a les seves necessitats.

Traducciones/Translations by apertium

3 comentaris, 0 trackbacks (URL) , Tags: Informàtica


Estàndards: sí però …


Escrit per Aaloy a 11 de March , 2007 a les 5:46 p.m.

El dimecres passat vaig estar a una demostració damunt els productes SOA d'Oracle. Encara que fos una demo comercial i de Powerpoint, he de dir que les eines pareixíen força interessants, fins que començaren a parlar de que tot allò que es mostrava estava completament basat en estàndards, que si era una implementació fidel de BPEL, però, clar hi havia un però, amb extensions propietàries i úniques d'Oracle per fer-ho molt més potent. En aquest cast potent significa tancat, significa que has trencat per aquest lloc la portabilitat de l'aplicació i de l'estàndards i que una vegada utilitzada l'extensió d'Oracle per fer la teva aplicació quedaràs fermat al proveïdor. No es pot dir en una matexia frase que el que es presenta és totalment estàndards i després dir que s'ha millorat aquest estàndard de manera que ja no ho és. Si de veritat es vol protegir al cliente el que s'ha de fer és alliberar les extensions fetes de manera que encara que no formin part de l'especificació, al manco qualsevol que vulgui pugui implementar-les, encara que no faci servir el mateix producte. En la mateixa presentació es parlava de codi lliure, de que Oracle havia alliberat Toplink, JDeveloper i es donava a entendre que anava cap el bon camí de fer us de protocols oberts i pocs segons després s'anava cap als de sempre: mantenir el client captiu afegint incompatibilitats. Potser la implementació de SOA d'Oracle sigui molt bona, però ara per ara encara tot això està molt verd i encara sona massa als discursos de que els EJBs que solucionaríen tots el problemes. Els exemples que es fan a les demostracions són massa senzills i oculten la complexitat d'aquestes tecnologies i a més donen la idea de que tot s'ha de fer amb això [1]. En els darrers anys estam vegent com els projectes de codi lliure són els que estan marcant l'avanç tecnològic en el món Java (Spring, Hibernate, JBoos, AXIS, XFire, Apache, ...) i tancar-se a una tecnologia propietària sols pot fer que ens doni la impresió de que estam avançant, però realment el que estarem fent és tancar-nos al que pot venir, a limitar la nostra capacitat de resposta, més quan amb projectes com BPEL d'Eclipse [2], Drools ara de JBoss i AXIS/XFire i un motor de workflow com el mateix d'Spring tenim una combinació tan funcional o més que la comercial. És veritat, potser no estarà tot tan integrat, però al manco sabrem que el temps perdut en integrar-ho tot s'haurà convertit en coneixement, i que si demà la tecnologia evoluciona, o surt una implementació lliure millor, podrem accedir-hi. Quan un comercial em diu coses com se tota la seva tecnologia està basada en estàndards i a la mateixa frase em diu que l'han millorat amb extensions pròpies, automàticament ha perdut tota la seva credibilitat. Com la d'aquell que mostrava una solució d'integració de serveis web com l'avanç tecnològic més important des de la invenció de la roda i després deia que feien servir IIS com a servidor. Quina credibilitat tècnica pot tenir si d'entrada ja s'ha optat per una un producte tancat i manifestament inferior als productes oberts? Poc a poc veim con els grans de la industria del programari es van adaptant al món de serveis en lloc de a la venda de caixes, però encara els queden massa tics, i hem de vigilar de caure-hi.
[1] Per exemple, els EJBs no són intrínsecament dolents, sinó que a força d'exemles massa senzills es va transmetre la idea de que aquella era la única manera com toca de fer aplicacions J2EE, fins i tot quan no importava.[2] On pareix que també hi ha Oracle, segons la pròpia gent d'Oracle.

Traducciones/Translations by apertium

0 comentaris, 0 trackbacks (URL)


Alfresco: el DMS


Escrit per Aaloy a 09 de March , 2007 a les 2:35 a.m.

Per DMS entenc el que se coneix com a Document Management System. Ho diferenciam d'un CMS (Content Management System) en que la principal missió d'un CMS no és mostrar continguts sinó amagtzemar i gestionar documents. Al món codi obert trobam pocs exemples de DMS, ja que la majoria d'aplicacions que trobam estan més en la línea de poder mostrar continguts per la web que el de la gestió dels documents. Un DMS ha de proproporcionar-nos com a mínim la capacitat de guardar i recuperar documents, de gestionar-los, d'indexar-los i d'establir-ne algunes regles de fluxes de treball. Quan al DMS li donam accés per la web tenim un disc dur virtual on tothom amb els permisos adients pot posar-hi els documents, compartir-los i gestionar-los. Alfresco és un DMS de codi obert, escrit en Java i que fa ús de les darreres tecnologies de programació i que a més de complir tot el que un li pot demanar a un DMS a més té el gran avantatge que està basat en tecnologies obertes. És més, Alfresco se n'orgulleix del seu ús dels formats oberts i de la connectivitat que li dona fer-ne ús. A cada versió Alfresco va incorporant més i més millores, i he de dir que no són millores de marketing, sinó que es veu que són millores fetes per donar cada cop més capacitats d'integració de l'eina. Amb la versió 2.0 que fa no res que han alliberat, podem dir de totes totes que el codi obert té un DMS a l'alçada de qualsevol DMS tancat que hi ha pel mercat.

Traducciones/Translations by apertium

1 comentari, 0 trackbacks (URL) , Tags: Informàtica


De fira en fira…


Escrit per Aaloy a 08 de March , 2007 a les 7 a.m.

Primer va ser la World Travel Market, després una fira a Dominicana, després FITUR i ara toca la darrera gran fira del turisme, l'ITB. En cada ocasió hem presentat o bé webs noves o bé nous productes a les webs existents. A l'ITB és el darrer cas, hem posat al B2B la capacitat de comprar excursions i trasllats del l'ample catàleg que té l'empresa. El desenvolupament d'aquesta darrera fase ha estat molt agressiu: sols tres setmanes per tenir llesta tota la funcionalitat i un equip de gent gairebé tres vegades major que l'habitual. Encara no he tengut ni temps de pensar en una classificació pel projecte segons la terminologia de Yourdon, però estaria entre un de missió impossible i ugly. Aquesta vegada no hem tingut temps de fer gaires experiments, sols conformar-nos amb la utilització de la darrera versió de l'EHCache per la optimització de les consultes i un ús molt més intensiu que en projectes anteriors de les llibreries de YUI  i força Javascript. La utilització del depurador de Firebug s'ha demostrat essencial pel desenvolupament ràpid i fiable de les funcionalitats. Ara queda sols dessitjar que tot a la fira vagi bé i començar a recuperar la son i les forces perdudes en el projecte.

Traducciones/Translations by apertium

0 comentaris, 0 trackbacks (URL)


Una de llistats!


Escrit per Aaloy a 04 de March , 2007 a les 9:36 p.m.

De tant en tant hom veu a la web llistes de coses imprescindibles per fer tal o qual cosa. Encara que sonvint són molt repetitives a vegades van bé per descobrir noves coses. Així que per si algú li va bé, aquí teniu la meva llista d'imprescindibles per la programació web. Destacat
  • GNU/Linux. Se'm fa molt difícil pensar en programció web i no pensar en el GNU/Linux. No ja per les eines que incorpora cada distribució, sinó per que comporta d'entorn de desenvolupament. Sovint hem de veure logs, canviar configuracions, anar a servidors remots a veure què està passant. Linux ens ho posa fàcil.
Eines Les bones eines fan bo el mestre.
  • Firebug En els temps de la web 2.0 i el javascript a totes les pàgines Firebug s'ha convertit en una "killer application" que converteix el nostre Firefox en un complet entorn de depuració de pàgines web. Podem depurar javascri
  • pt, css, veure l'arbre DOM, canviar els estils... És una eina feta per gent que fa webs.
  • Webdeveloper. Ve a complementar el Firebug on aquest queda un poc coix. Eines de validació, per omplir formularis, netejar cookies i un llarg etcètera.
  • ssh + vim. Veure logs, edicions ràpides de configuracions o pàgines al servidor. Tot això és fa fàcil quan tenim un servidor Linux i eines remotes per accedir-hi. La gent de Windows segurament dirà que això també ho poden fer ells, és veritat, però no tant fàcil, net i amb un consum tan minso de recursos.
  • Kate. Un dels meus editors preferits. Resaltat de sintaxis per pràcticament qualsevol llenguatge de programació conegut. Amb això i el vim tenim pràcticament cobertes les nostres necessitats d'edició.
  • Kdevelop. Pels sibarites. Va un poc més enllà de Kate i integra navegació per l'arbre de directoris, ctags, integració amb svn,etc.
  • Subversion. Sols des de la més absoluta inconsciència algú es pot plantejar fer programació seriosa i no mantenir un control de versions. Subversion és del milloret que hi ha.
  • Trac. Una integració gairebé perfecte de ticketing, documentació i client de subversion.
  • Eclipse. Un IDE fantàstic, possiblement tan bo com feixug de fer anar. És un devorador de memòria i recursos de màquina, però si aquest no és el nostre problema junt amb el plugins adequats pot convertir-se en el nostre entorn de desenvolupament per defecte. Especialment recomanants els plugins de Subversive i els del nostre llenguatge preferit
Llibreries Javascript M'agrada classificar les llibreries en tres tipus: les que tracten d'emular una aplicació d'escriptori, les que sols cerquen fer la vida més fàcil al programador web i les mixtes.
  • jquery. Jquery entra dins el segon tipus de llibreries. Permet tractar molt fàcilment amb el Javascript i compta amb nombroses opcions per a afegir vistositat a les nostres aplicacions web: efectes de disseny, Ajax, ... Tot això guarnit amb un bon conjunt de tutorials i plugins.
  • YUI. La llibreria de Yahoo entra dins la classificació de mixtes, ja que per una part té tot un conjunt de widgets i extensions per emular una interfície d'usuari de tipus desktop i per l'altra té un control d'events i layouts molt bó que simplifiquen moltissim la vida al programador, sense necessitat de tenir que optar per la part gràfica de la llibreria. A més s'ha creat una comunitat extensa al voltant de la llibreria i la documentació existent és molt bona.
  • Dojo. Amb el temps pareix que Dojo es convertirà amb una de les llibreries de referència perJavascript. Ara per ara és una llibreria molt vistosa però que té una gran mancança: la documentació.
Això de les llibreries Javascript va a gusts. Aquestes tres són les que a mi personalment més m'agraden i són independents del llenguatge de programació triat. Si volem anar cap a opcions més complexes hi ha molt a on triar, pos els que m'agraden més, be sigui per la seva arquitectura o bé pel potencial de futur que els hi veig.
  • Qooxdoo Té molt bona pinta pel backoffice, però li falta documentació.
  • Rialto Té molt bona pinta. La interfície és molt agradable, però encara està força verd com per arriscar-nos a fer un desenvolupament complexe en aquesta llibreria.
  • Zimbra Un altra d'aquestes llibreries pensades per fer-les anar sols en xarxa local o en connexions que no siguin les que ens acostumen els operadores espanyols.
  • Tibco Un altre framework alliberat fa poc. És per sí mateix un complet entorn de desenvolupament. Feixug, però amb molta documentació.
  • Plex Te bona pinta. Molt xml per fer interfícies i encar pocs widgets.
  • ZK. Si algún dia he de fer una aplicació de backoffice per LAN ZK serà una de les meves primeres opcions. En poc temps el bastimet ha avolucionat molt i ja té una massa critica d'usuaris prou gran com per a poder-ho considerar un producte estable. El problema que té encara és el gran consum de recursos que té.
Llenguatges de programació. Quan feim aplicacions web el llenguatge triat no és molt important si sols ens fixam en el resultat final. Tanmateix acabarem amb html, css i javascript. El llenguatge importa quan a més consideram la velocitat de desenvolupament i el que el propi llenguatge ens permet fer. Personalment les meves opcions preferides són:
  • Java. Estable i prou provat. Elegit per la majoria de desenvolupaments web empresarials. Sun pareix que finalment s'ha deixat de mitges tintes i va cap al codi obert. Quan anam cap a aquesta opció apareixen nous jugadors: Spring, Hibernate, EhCache, Jasper Reports, DWR... Una de les feines inicials del projecte és triar quins components es faran servir.
  • Python + Django. És una combinació divertida de fer anar i molt productiva. Fa servir un model MVT i una arquitectura que fa que les aplicacions siguin molt escalables.
No oblid el PHP, Ruby, Perl, etc. Aquesta és la meva llista i són les meves preferències personals. Per fer aplicacions web puc prescindir perfectament de PHP o Perl com a llenguatges de programació, però no ho puc fer de Java o de Python. Esper que algú hagi trobat alguna cosa interessant en aquesta llista, o al manco hagi passat una estona entretinguda llegint-la.

Traducciones/Translations by apertium

2 comentaris, 0 trackbacks (URL) , Tags: Informàtica