Els enginyers informàtics han de saber programar
Escrit per Aaloy a 28 de January , 2006 a les 9:23 p.m.
Sovint he vist en llocs tipus Barrapunto històries damunt el mal pagats que estam els informàtics, damunt el que s'ha d'aguantar, etc. Darrerament sempre surt el tema de que un enginyier informàtic no ha de programar, que això és feina d'altres. Quina bestiesa! Aquesta actitud no la d'alguns informàtics, he sentit les mateixes paraules de gent que feia la carrera de Turisme i que pensava que la titulació automàticament el capacitava per ser director d'hotel, i que qualsevol altra lloc de feina era desaprofitar els seus coneixements i la seva titulació. El mateix podem dir de titulats en empresarials que automàticament es pensen que qualsevol lloc per davall de director general d'una multinacional no és digne d'ells. En quin món viu aquesta gent? Una titulació sols garanteix que hom té uns coneixements teòrics i que és capaç d'aprendre coses, que té força capacitat de feina i esperit de sacrific. Si el lloc de feina s'adequa a la titulació que tenim, a més significa que tenim una base teòrica prou sòlida com per adaptar-nos més ràpidament a la feina i aprendre els conceptes i les maneres de fer que allà ens hi trobarem. Tant si hom opta per la informàtica de sistemes com per la informàtica de gestió, la programació ha de formar part important de la nostra feina diària. Si un tècnic es troba en que per la seva feina no ha de programar gens vol dir o bé que no està excel·lint en la seva feina o bé que la feina es prou monòtina i repetitiva com per tenir-la resolta amb un parell de clicks. Segurament els programes que un administrador de sistemes seran molt diferents del que pugui fer un programador de gestió, segurament també seran distints els llenguatges de programació que faci servir, però el cert és que si és un bon administrador de sistemes segur que voldrà fer scrips per automatitzar les tasques més repetitives, adaptar programes de monitorització que ja existeixin o crear-ne de nous! Els bons administradors de sistemes són gent pererosa en el bon sentit de la paraula, és a dir, si una feina és repetitiva i s'ha de fer sovint procuraran automatitzar-la. Així doncs, la frase, "jo sóc de sistemes i per tant no vull saber res de programació" per mi el descarta com un bon administrador de sistemes. Potser sigui una persona eficient en la seva feina, però mai podrà arribar a l'excel·lència, que en aquest cas està en fer bé la feina però a més ha ser capaç de saber quin tipus de feina s'ha de fer. No té sentit tenir que anar servidor a servidor repassant l'espai de disc si un script automatitzat pot fer-ho per nosaltres. En programació de gestió també ens podem trobar quelcom semblant. Hi ha gent que té com a màxim objectiu en la seva carrera professional no tornar a programar en la vida. Ens els podem trobar en dues versions, gent que ho ha aconseguit i gent que està disposada a arribar-hi i per tant s'ha quedat ancorada en un llenguatge o eina de programació i no en vol aprendre cap altre. Tanmateix el seu "destí" és deixar de programar. Sovint en l'evolució professional ens trobam que les tasques de gestió o coordinació ens lleven tant de temps que ens impedeixen de dedicar-se a temps complet a la programació. Tot i això és aconsellable no perdre del tot el "toc", estar al corrent de les noves tecnologies, dels nous llenguatges, llibreries que puguin sortir, ... Potser la tasca diària que es tindrà no implicarà programar la major part del temps, això sovint passa quan es passa de la programació pura i dura a la gestió de projectes o a la gestió de persones. Tot i això, perdre el contacte amb la programació i amb les noves tècniques de programació, vol dir no poder fer una bona estimació ni de l'esforç que han de fer els programadors dedicats, ni del cost del projecte, ni tan sols del cost d'un programa que volguem comanar a un tercer. Potser algú dirà que el llenguatge de programació no importa, que hi ha relges per estimar els projectes com COCOMO II, punts de funció, punts objectes i demés. Es veritat, hi són, però tots aquests mètodes d'estimació no són ni de prop exactes, sempre hi ha un tant per cent elevat (del 25% al 700% d'error [1]). La tecnologia que facen servir influeix molt a l'hora de fer les estimacions, en els punts funció, per exemple, he de classificar la complexitat, i està clar que no és el mateix la complexitat d'una aplicació que es desenvoluparà fent servir EJB que una aplicació feta en Python. Potser per certes aplicacions serà necessària la complexitat de l'EJB però el més normal és que no ho sigui. Si el nostre programador no ha evolucionat potser intentarà aplicar sols les tècniques que ja coneix als nous projectes o serà incapaç d'avaluar alternatives a l'hora de posar en marxa un projecte. Pareixeria que la complexitat l'hauria de marcar el que s'ha de fer i no el com, però normalment la complexitat la marquen les dues coses. Està clar que la complexitat que tindriem per implementar la navegabilitat en una aplicació no és la mateixa si l'aplicació ha d'estar basada en web que si la feim amb un client gruixat. La tecnologia de programació ens marca també el factor de la complexitat i pot doblar el temps de desenvolupament. Així doncs, quan llegeixo que la màxima aspiració d'algú que estudia informàtica és la deixar de programar, no puc més que pensar que jo a una persona aixi no la voldria fent feina a la meva empresa. -- [1] La xifra no es meva. Citada al Análisis y diseño detallado de Aplicaciones Informáticas de Gestión. RA-MA. Pag 131.2 comentaris, 0 trackbacks (URL) , Tags: Informàtica
Apencitis
Escrit per Aaloy a 22 de January , 2006 a les 8 p.m.
La matinada de divendres ingressàrem a la clíneca Juaneda de Palma, la meva dona amb el que pareixia un atac agut d'apendicitis, que es va confirmar a les poques hores. Afortunadament la cosa no va passar de l'ensurt, l'espera, les hores que no passen mai són potser el pitjor d'aquestes situacions, a part es clar, de la preoucpació llògica en vers la malalta. El personal de la clínica fou molt atent en tot moment, i el cirugià que va atendre Na Catalina una bellíssima persona. Per sort no és que ens haguem mogut gaire per clíniques, però he de dir que l'amabilitat d'aquest bon senyor, el Doctor Heiko Hörstmann és quelcom que s'agraeix molt en aquestes situacions. Tant de bo tots els professionals tenguéssin la qualitat humana d'aquest doctor. Des d'aquí moltes gràcies! Una manera de passar les hores a la clínica va ser llegint. Quan hi ha un malalt tanmateix no és cosa d'anar posant la televisió, quan el malalt o malalta en el meu cas té ganes de xerrar o aixecar-se el que convé és estar allà disponible, però si no crec que el millor és ser-hi discretament, molestant el mínim possible, deixant-la descansar. Per l'acompanyant una manera de passar les hores és llegir. La lectura ens permet ser-hi, estar atents a l'evolució del malalt sense destorbar-lo: no fa renou, no és intrussiva i sovint molt més interessant que la majoria de les coses que fan per la televisió. Durant aquests dies de vetlla vaig llegir força, i com és habitual aprofitaré per fer un petit apunt de les lectures. Vaig començar per A peu per Mallorca. Vaig començar pel llibre de viatges de Josep Maria Espinàs, A peu per Mallorca sense veure el mar, d'edicions La campana. Espinàs fa un recorregut pel Raiguer i el Pla de Mallorca, començant per Binissalem i acabant a Binicomprat. El llibre em va agradar molt, tant per la manera d'escriure d'Espinàs com per algunes de les reflexions que fa. Res a veure amb el costumisme de "Queridos Mallorquines" per exemple, és una altra nivell. Em quedo amb una frase referida al propietari de l'hotel Scotts de Binissalem, que retrata una bona part del taranna dels nouvinguts a l'Illa: " [Margalida Mestra]... va morir als 93 anys i no havia sortit mai de l'illla. Penso que l'escriptor-hostaler Scott, que hi viu de fa teps, potser encara no hi ha entrat." Quants i quants d'Scotts no hi ha a l'Illa!? Scotts vinguts de paisos extrangers, però també de terres més properes, que fa cincuanta anys que viuen aquí, que hi fan feina i no han fet mai el mínim esforç per adaptar-se o comprendre la terra que els ha acollit. Fundamentos de Seguridad de Redes, Segunda edición. De Eric Maiwald editat per Mc Graw Hill. D'aquest llibre he de dir que la traducció és nefasta. Traduexien Firewall per "muro de fuego" i hi ha tot un conjunt de parauletes semblants que fan que la lectura no sigui tan fluida com seria dessitjable. Pel demés és un llibre que destaca per la seva falta d'aprofundiment tècnic. Es limita a donar un cojunt de definicions, propostes de treball i regles d'auditoria de seguretat. Poc recomenable al qui ja saben alguna cosa del tema i cerquen per exemple propostes per a millorar la seguretat dels seus sistemes. Linux Máxima Seguridad de Sams per exemple seria molt millor elecció. A part d'això el llibre pot ser interessant si algún dia ens hem de dedicar a fer informes de consultoria de seguretat. Va bé per tenir els protocols a mà, els punts a tractar i les paraules totes recollides a un punt. En aquest punt m'agradaria fer una reflexió damunt els consultors, per mi es classifiquen en tres grans grups:- Comercials Són aquests consultors que van a comisió damunt les vendes que fan. Conèixen un parell de productes i aquí s'acaba tot. La seva visió està limitada per les comisions que tenen de cada producte i sovint no recomanan el millor pel client, sinó el millor per les seves butxaques. Desgraciadament són la majoria.
- Consultors independents. No estan lligats a cada empresa. Conèixens molts productes diferents i tenen un coneixment ample del sector informàtic i del sector on es mou el client. Estant contínuament temptats pel costat fosc i corren el risc de convertir-se en consultors de tipus comercial, però els que no cauen en les temptacions són capaços de fer una recomanació no basada en marques sinó en tecnologies i necessitats.
- Experts.Tenen un coneixement profund d'un producte o d'un grup de productes i sovint són els implantadors de les solucions que han donat els dos anteriors. Si la recomanació és d'un consultor comercial sovint formen part de la seva empresa.
0 comentaris, 0 trackbacks (URL)
Django: la potència de les plantilles
Escrit per Aaloy a 08 de January , 2006 a les 3:35 p.m.
Una de les coses que estic trobant més útils i potents de Django és l'herència de plantilles. Acostumat al jsp o a php trob que la idea d'herència per la part de visualització és molt bona cosa. Coma bona herència et permet fer canvis en cascada des de la plantilla pare, però tenguent en compte que si un fill sobreescriu alguna part aquesta no es veruà modificada pels canvis. L'herència s'implementa a partir dels blocs. Per exemple:Podria definir la nostra plantilla base. Suposem que a la nostra aplicació li hem donat el nom de test i a la plantilla anterior el nom be base. Una plantilla filla, anomenada per exemple index, que tingués el seu propi contingut seria tan simple com
{% extends "test/base" %}
{% block title %}Pàgina d'inici %}
{% block contingut %}
I aquí podem posar contingut i/o definir nous blocs.
{%endblock %}
0 comentaris, 0 trackbacks (URL)
Python i Eclipse
Escrit per Aaloy a 05 de January , 2006 a les 11:31 p.m.
Aquests dies estic aprenent a fer anar el Django i he esta provant quins dels entorns de desenvolupament s'adapten millor per a aconseguir el que vull, a saber:
- Possibilitat d'establir variables d'entorn. Django les necessita per les utilitats d'administració.
- Possibilitat de canviar el PYTHONPATH
- Resaltat de sintaxis per Python
- Autocompletat per Python
- CVS o subversion integrat
- Integració del depurador de Python
Encara que no hem de predre mai de vista que un IDE sols ens deixa fer el que està preparat per fer, i per això cal no oblidar-se de les eines especialitzades de consola (cvs, diff, vim, grep, bash,...) quan l'ocasió ho requereix, sí que es veritat que per un tant per cent molt elevat d'ocasions un bon IDE marca la diferència entre un desenvolupador que fa feina "a gust" i un altre que no ho fa. I fer feina a gust vol dir sovint ser més productiu, ja ho sabeu!
En la meva recerca he trobat i provat alguns entorns que estan molt bé:
Sense oblidar quelcom més senzill com vim o kate, que encara que no estan tan especialitzats com els altres en les tasques pròpies de la programació tenen els avantantges de la seva ubiqüitat el primer i de la combinació de potència d'edició i plugins del segon.
El nostre estil de feina o la configuració de la nostra màquina ens determinarà l'IDE de desenvolupament. Per màquines amb relativament poca potència o memòria la millor opció per desenvolupar amb Python és l'Eric o bé el vim. L'Eric ens proporciona una bona gestió de projectes, un editor avançat basat amb Scintilla, eines de control de versions (no massa intuitives, tot hi ha que dir-ho) i depurador integrat a l'IDE. Està més orientat a fer aplicacions gràfiques basades amb les Qt que aplicacions de consola o web, però es pot utilitzar perfectament per aquestes tasques.
Els altres possible candidats per màquines amb poc recursos són drpython i spe. El primer és un editor especialitzat amb Python i poc més. El segón va un poc més enllà i duu integrades un grapat d'eines relacionades amb la programació d'interfícies gràfiques per les Wx així com un depurador, llistes de tasques, etc. Cap dels dos integra control de versions ni gestió de projectes.
Per màquines amb molta potència de processador i memòria la meva recomanació és anar cap a Eclipse amb el plugin PyDev. Amb aquesta combinació tenim un editor potent, refactorització de codi (fa servir les mateixes llibreries que Eric), control de errors (pylint), resaltat de sintaxi, depurador integrat, autocompletat de codi que funciona! i a més aprofita la potència d'Eclipse per tasques com la gestió de projectes i el control de versions. Li falta la creació d'un mode de perspectiva propi que amagui les opcions sols aplicables a Java, creació directe d'arxius i projectes Python (no està massa enfora, però), integració de la consola Python i un equivalent a la consola de javadoc per Python. A part d'això i creieu-me que es pot viure perfectament sense, la combinació és excel·lent. A més com Eclipse té un mòdul per afegir eines externes molt potent, que permet definir variables d'entorn, passar paràmetres basats en els projectes actius i executar tasques en segon pla.
Amb Eclipse i PyDev he pogut crear tasques per les accions més comuns d'un projecte Django, el que m'evita tenir que anar a la consola i configurar les variables d'entorn. Encara que les poguem posar al .bashrc és un incordi quan tenim més d'un projecte en marxa. Les eines externes d'Eclipse permeten definir les variables d'entorn de Django referides al projecte i això fa que la feina sigui molt més senzilla. A més l'execució de tasques en segon pla fa que poguem executar el servidor de desenvolupament per Django directament des de l'IDE i veure'n els logs. Es pot demanar més?
0 comentaris, 0 trackbacks (URL)
Teletreball, una utopia?
Escrit per Aaloy a 02 de January , 2006 a les 10:24 p.m.
La meva utopia personal ha estat des de fa molt temps poder teletreballar. No m'agrada gens fer camí: m'emprenya molt perdre temps a la carretera anant a pas de tortuga quan fan dues gotes, al més mínim accident, cada cop que al polític de torn li dóna per fer una obra nova, quan repinten la carretera, o instal·len una andròmina nova... Són comptats els dies en que puc fer els 20 km d'autovia que separen Binissalem de Palma en menys de mitja hora i per regla general necessit prop de tres quarts d'hora des de que surt de Binissalem fins que entr per la porta de l'oficina. Per mi això és temps perdut de mala manera, no contribueix gens a mantenir el nostre entorn i a més fa que quan està al ben mig d'un embós t'agafi aquell mala llet que fa que et demanis perquè s'inverteixen tans doblers en carreteres si tanmateix l'únic que s'aconsegueix és posar el coll d'ampolla uns kilómetres, sovint uns métres, més enllà; i somiar en el dia en que hi haurà un transport públic de qualitat, amb horaris racionals i econòmic. L'alternativa real i factible però és el teletreball, una opció que poques empreses de les illes contemple, però que en feines com la de programador té molt de sentit, sols cal aprofitar la tecnologia que tenim a l'abast. Teletreballar, però implica una serie canvis que potser ni molts treballadors ni molts empresaris o gerents estan disposts a assumir. Anem a pams: Per començar crec que l'opció de teletreballar ha de ser quelcom voluntari. No es pot obligar a ningú a ser teletreballador ja que potser no disposa a casa d'un lloc adient, potser no el motiva el tema o vet a saber què. Teletreballar ha de ser un alicient pel treballador i no s'ha de fer de qualsevol manera. Per començar tenim el tema de l'equipament necessari per teletreballar. Partim de la base que farem servir programari lliure al lloc de treball tant per la part del sistema operatiu com per la part de les eines de desenvolupament. Amb aquestes precondicions necessitarem:- Una connexió de banda ampla
- Un o dos ordinadors per programar. A mi m'agrada fer feina amb dos equips, de manera que el que sempre en tenc un completament dedicat a l'entorn de programació i no malbaratant recursos en altres coses.
- Una impresora.
- Taula, cadira
- Equip d'aire condicionat
- Electricitat. Uns 12 Kw-h diaris. Posem un 300 Kw-h mensuals per fer números redons
- ADSL/Teléfon: 80 Eur mensuals
- Mòbil: 20 Eur mensuals
- Material d'oficina: paper, toner, etc. Uns 6 Eur mensuals.
- Neteja: 60 Eur/mensuals
0 comentaris, 0 trackbacks (URL)
I ja som a un nou any!
Escrit per Aaloy a 01 de January , 2006 a les 12:30 p.m.
El 2005 va ser l'any en que a la fi canviàrem de casa, després de prop de 5 anys d'obres i dificultats, que he de dir que no varen ser per mor del constructor. Al començament de les obres i en un any de sequera trobàrem aigua fents els fonaments de la casa, l'estudi geològic es retrassà molt, paperassa i més paperassa per tot ... També va ser l'any del meu retrobament amb la programació després de gairebé dos anys estant-ne un tant allunyat: va ser l'any de Java i Python, de l'Ajax i les aplicacions web. Va ser l'any en que Alfonso Antolínez, el meu ex-cap arribà al màxim nivell d'incompetència i l'any de l'arribada d'un nou director d'informàtica, En Lluïs Valle. Va ser un any de quedar bocabadat amb els nins: el petit de dos anys maneja el ratolí sense problemes i utilitza el Tuxpaint i el senyor de la patata que fa por. El gran, de cinc, introdueix el seu usuari i password per entrar al Linux, engega l'OpenOffice i escriu, pinta amb el TuxPaint o s'entretén obrint i tantcant finestres. Va descobrir com imprimir i l'Alt+F2. Va ser l'any en que el fill gran, sismesó, va arribar al 50% en les estadístiques de pes i creixement. El 2006 promet ser també molt interessant, amb molts llibres per llegir, la tecnologia web que avança i el programari lliure assolint uns nivells de qualitat excepcionals. Tot plegat molt motivant per als qui ens agrada la informàtica i el programari lliure (dos conceptes lligats al menu entendre: agradar informàtica => programari lliure). Els meus millors desigs pel 2006, que els vostres moments de felicitat segueixin una successió de Fibonacci!0 comentaris, 0 trackbacks (URL)