Variable not found, 0:1
10 razones por las que tu blog te ayuda a encontrar empleo
Septiembre 30th, 2007 - [Enlace local]
El otro dÃa comentábamos en mi empresa que podrÃa ser el momento de incorporar un nuevo desarrollador software en el equipo, de contratar a alguien. Esto, que puede resultar rutinario en grandes compañÃas, es para los que somos pequeños, un auténtico suplicio.
Experiencias anteriores nos han demostrado que los portales de empleo son útiles cuando se trata de ofertas muy especÃficas a la que acudirán pocos candidatos. Casos más genéricos, como podrÃa ser la contratación de un desarrollador con cierta experiencia bajo unas condiciones aceptables, provocan una entrada masiva de candidatos que hacen de la selección un proceso imposible... ¿qué pequeña empresa puede preseleccionar con tino de entre una lista de cientos de personas, entrevistar fÃsicamente a decenas de personas y encontrar a su candidato ideal?
Esta masificación es la que hace que tengan mayores probabilidades de éxito aquellos candidatos que destacan de alguna forma sobre el resto. Conocimientos técnicos, habilidades, actitudes... son muchas las caracterÃsticas interesantes para las empresas, y algunas de ellas son difÃciles de demostrar a priori, y más aún usando el habitual curriculum.
Y es justo aquà donde los blogs pueden jugar un papel fundamental. Si estás buscando empleo, se me ocurren al menos diez razones por las que deberÃas tener tu propio blog e incluirlo en tu currÃculum como un activo de alto interés:
1. Demuestras tus conocimientos.
SÃ, es cierto que tu tÃtulo deberÃa hacerlo o al menos ser una pista, pero por desgracia no es asÃ. El mero hecho de poseer una ingenierÃa, titulación técnica o haber realizado cursos especÃficos no implica un nivel de conocimientos determinado, pues la mayorÃa de las veces éste se adquiere con la experiencia o de forma autodidacta.
En un blog puedes demostrar tu nivel de conocimientos en los temas que tratas, tus especialidades, preferencias e inquietudes de forma mucho más directa, detallada y creÃble de lo que puedes hacer con un currÃculum tradicional.
2. Demuestras tu facilidad de aprendizaje
Respecto a esto, siempre digo lo mismo: si piensas que vales lo que sabes, estás muy equivocado. Tus conocimientos de hoy no tienen mucho valor más allá de un par de años. Lo que vales es lo que puedes llegar a aprender, la facilidad con la que te adaptas a los cambios que esta profesión nos regala tan frecuentemente.
Tu blog puede demostrar que tienes una actitud positiva frente al aprendizaje.
3. Demuestras pasión por tu profesión
La pasión por tu profesión, por tu trabajo, esa caracterÃstica tan demandada en el mundo empresarial, viene incluida casi de serie en el blogger. Resulta imposible imaginar a alguien al que no le guste el mundo del desarrollo de software escribiendo varios posts mensuales comentando las nuevas tecnologÃas que va descubriendo, trucos o cualquier tema relacionado con ello.
El simple hecho de tener un blog ya es un punto a tu favor.
4. Demuestras tu capacidad de trabajo
Un blogger, salvo excepciones (que seguro que hay), es un trabajador nato. Es importante tener en cuenta que cada post requiere un trabajo considerable, sobre todo cuando se genera contenido propio. Existen asimismo otras tareas, como la lectura de fuentes o la gestión de comentarios que pueden llegar a consumir mucho tiempo y esfuerzo. Esto, además, tiene mucho más mérito cuando se hace por gusto (véase el punto 2).
Obviamente, ser trabajador es una caracterÃstica muy apreciada por la empresa, y tu blog te ayudará a demostrar que lo eres. ;-D
5. Demuestras rasgos importantes de tu personalidad
En cada post que escribes vas dejando un poco de tà mismo; consecuentemente, si sumas muchos de ellos seguro que podrÃamos unir tantos trocitos que habrÃa información suficiente para psicoanalizarte en profundidad.
Las caracterÃsticas personales de los candidatos son aspectos vitales en un proceso de selección. En el mundo del desarrollo, nadie va a contratar a personas conflictivas, violentas, de posturas radicales o de difÃcil encaje para el trabajo en equipo.
La imagen que transmites en tu blog puede ayudar a las empresas a hacerse una idea de cómo eres y de cómo no.
6. Demuestras tus habilidades literarias
Aunque a veces sea injustamente considerada la parte más tediosa y poco creativa de nuestra profesión, no olvidemos que una buena parte del trabajo de desarrollador consiste, a distintos niveles, en escribir textos. Pantallas, mensajes, ayudas, documentación de código, documentos técnicos, de diseño, análisis o propuestas son sólo algunos ejemplos de las tareas para las que hay que saber redactar apropiadamente. Las faltas de ortografÃa, o simplemente una redacción pobre en cualquier entregable, dan muy mala imagen de la persona y empresa que los generan.
Tu blog, aparte de ayudarte a cultivar estas virtudes, demuestra cómo podrÃas hacerlo en el desempeño de tus tareas como profesional, aportando un plus respecto al resto de candidatos que simplemente presentan un currÃculum.
7. Fortaleces y demuestras tu capacidad de comunicación
Un blog, aunque pueda parecer lo contrario, no es una herramienta de comunicación unidireccional, una palestra donde recitar monólogos: se escribe, se escucha, se debate, se critica, se comparten conocimientos y experiencia.
Ya en su momento, en el post "Entre 10 y 28 desarrolladores por el precio de uno" comenté que una de las caracterÃsticas imprescindibles de un buen desarrollador es la capacidad comunicación bidireccional, pues repercute de forma muy positiva en la productividad del equipo de trabajo donde se ubique. Y, ¿qué es un blog sino un potente medio de comunicación?
Tu blog hace que te comuniques, y demuestra la facilidad que tienes para ello.
8. Demuestras tu experiencia, incluso si no la tienes
Está claro que nadie que busque su primer trabajo tiene experiencia; también es cierto que la experiencia es vital para encontrar empleo... ¿cómo salimos de este cÃrculo sin fin?
Hay personas que sin haber salido todavÃa al mercado laboral, acumulan ya centenares de horas de vuelo. Suelen ocupar sus ratos libres en investigar, probar, aprender, y a veces pueden llegar a alcanzar niveles de dominio de una tecnologÃa increÃbles, y que serÃan muy valiosos en el mundo empresarial. El problema casi siempre es demostrarlo.
Tu blog puede demostrar la experiencia que tienes como desarrollador, independientemente de si has comenzado o no tu carrera profesional. Y si además participas en proyectos de software libre, mucho mejor.
9. Ganas prestigio
Lo mejor para conseguir un puesto de trabajo son, sin duda, las referencias y recomendaciones facilitadas por personas o entidades de confianza. Sin embargo, en un mundo 2.0 como éste, donde somos los usuarios de la red los que vamos aportando nuestro granito de arena a la inteligencia colectiva, no hay mejor aval que la credibilidad y fidelidad de cientos o miles de individuos repartidos por todo el mundo que, dÃa a dÃa, leen, comentan y citan nuestros posts.
Un blog con contenidos medianamente decentes se va haciendo, a la larga, un hueco en la red, aumentando el prestigio y autoridad de su autor.
10. Y sobre todo, destacar
Destacar sobre el resto de candidatos que, como tú, son ingenieros, técnicos, programadores estupendos o grandes expertos en lenguajes de última generación. Es la distinción lo que puede hacer que triunfes, y especialmente si acabas de terminar tus estudios, momento en el que se lanzan al mercado laboral decenas de jóvenes con currÃculums prácticamente idénticos.
Incluir el blog en tu currÃculum provocará, como mÃnimo, la curiosidad de los responsables de las primeras fases de una selección de personal, que probablemente acudirán a comprobar si eres el candidato apropiado.
En fin, espero que estas reflexiones puedan servir para algo; por un lado, motivar a aquellos que todavÃa no tienen blog para que se atrevan a empezar, y por otro, para animar a los que ya lo tienen y trabajan duro en él. En cualquier caso, tened por seguro que va a valer la pena.
» Leer más, comentarios, etc...
Navegapolis
Registro de los tiempos de trabajo de un proyecto.
Septiembre 30th, 2007 - [Enlace local]
Si necesitas registrar y clasificar por tareas y sub-tareas los tiempos de trabajo en un proyecto, tanto de los miembros del equipo, como de los colaboradores, Activity Manager puede ser una opción.
Es un programa Open Source con licencia BSD.
» Leer más, comentarios, etc...
fetishcode
Instalar JDK en Ubuntu Feisty(7.04)
Septiembre 30th, 2007 - [Enlace local]
How to install jdk in Ubuntu Feisty
La opción mas rápida y sencilla es hacerlo, como casi todo, desde los repositorios.
Pero muchas veces queremos una JDK concreta para nuestro trabajo o proyecto, por eso aqui explicaremos la manera de instalar el JDK que hayamos descargado de la web de Sun.
Una vez tengamos descargado el archivo,en nuestro caso jdk-6-linux-i586.bin
Le damos permiso de ejecucion y lo instalamos:
chmod +x jdk-6-linux-i586.bin $ sudo ./jdk-6-linux-i586.bin
Una vez instalado el JDK.
Seteamos el nuevo Java como una de las “alternativas de java”:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/jdk1.6.0/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/jdk1.6.0/bin/javac" 1
Finalmente configuramos que java queremos tener por defecto. Y a programar!
sudo update-alternatives --config java
Mas información en la guÃa ubuntu
» Leer más, comentarios, etc...
MadeInFlex
Nuevo sitio para desarrolladores
Septiembre 29th, 2007 - [Enlace local]
http://developer.adobe.com. Adobe ha estrenado hoy el nuevo site para desarroladores devnet. Un cambio total en la estética, en la navegación y mucha más información para ayudarnos en nuestro trabajo diario.
» Leer más, comentarios, etc...
Jorge Dieguez Blog
¡¡¡Quiero una librerÃa asÃ!!!!!
Septiembre 29th, 2007 - [Enlace local]
Estos dÃas he tiendo la suerte de estar en Londres.
Entre otras cosas chulas me quede con estas imágenes.
UAHHHHHHHH!!!!!!!!!!!!!!
» Leer más, comentarios, etc...
Una sinfonÃa en C#
[VIDEO] Cryptography Application Block
Septiembre 29th, 2007 - [Enlace local]
» Leer más, comentarios, etc...
avemundi
migrar de movable type a wordpress
Septiembre 29th, 2007 - [Enlace local]
Estoy preparando la migración de este blog de Movable Type a WordPress. Los motivos son varios, tenÃa pensado actualizar la versión que de MT que uso, que es una muy vieja, pero al ver la licencia me paré un poco,...
» Leer más, comentarios, etc...
Picando Código
Comentario sexta conferencia RTE
Septiembre 29th, 2007 - [Enlace local]
Hoy asistimos a la sexta conferencia de la RTE.
Opino que fue una de las mejores charlas que se han hecho hasta el momento. Se dieron los conceptos de forma bien clara y entendible y luego ejemplos super prácticos. El primero en hablar fue Francisco Villegas, que habló sobre J2ME, que según la web de Sun se define asÃ:
Java Platform, Micro Edition (Java ME) provee un ambiente robusto y flexible para aplicaciones ejecutadas en dispositivos móviles y otros dispositivos embebidos, teléfonos móviles, PDAs, Televisores e impresoras. Java ME incluye interfases de usuario flexibles, seguridad robusta, protocolos de red incluidos, y soporte para aplicaciones en red y offline que pueden ser descargadas dinámicamente. Las aplicaciones basadas en Java ME son portables a través de muchos dispositivos, y a la vez saca provecho de las capacidades nativas de cada dispositivo.
(http://java.sun.com/javame/index.jsp)
En resúmen, es una de las plataformas más populares para programas en celular y demás dispositivos móviles. La mayorÃa de los celulares nuevos traen Java, y la mayorÃa de los juegos para celular están hechos en ésta plataforma.
Obviamente es una plataforma bastante reducida respecto a JSE o JEE, según mencionó Francisco, hay que manejarse con unas 37 clases.
Mostró un ejemplo usando NetBeans Mobility Pack, y la verdad que resultó bastante sencillo. No sé si es que uno le va agarrando la mano a esto de la programación, o qué, pero realmente me dieron ganas de probar programar para celular porque es bastante fácil y rápido.
EntrarÃa más en detalle sobretodo en cuanto a conceptos, pero probablemente en unos dÃas se suba el material de la charla a internet, asà que de ahà se va a poder ver más. Y capaz que Francisco publica algo en su blog: http://cronos.homelinux.net/
Más info sobre J2ME:
http://en.wikipedia.org/wiki/Java_ME
http://www.onjava.com/pub/a/onjava/2001/03/08/J2ME.html
El segundo tema, también orientado a Java, fue JPA - Java Persistance Api, dictado por Leandro Scasso DÃaz. Es un framework de persistencia para Java, para persistir datos en bases relacionales mapeando directamente los objetos. Es una tecnologÃa bastante joven, pero que viene bastante bien, y según el orador "Para donde tiran las balas" ahora.
Introdujo un concepto que los programadores sufren mucho, pero no sabÃa que tenÃa su propio nombre: el "Impedance Mismatch". El paradigma de orientación a objetos está basado en principios de ingenierÃa de software probados. Y el paradigma relacional en principios matemáticos. En un sistema donde ambos paradigmas deben trabajar juntos, salta el problema. Personalmente me pasa a veces en el diseño, que tengo más facilidad de diseñar un sistema en diagrama de clases con objetos, pero cuando paso al diseño de la base, me resulta más complicado. Asà y todo, creo que ya le agarré la mano.
El Impendance Mismatch está bastante estudiado en la red, pueden visitar éstos enlaces para saber más:
http://en.wikipedia.org/wiki/Object-Relational_impedance_mismatch
http://www.agiledata.org/essays/impedanceMismatch.html
Siguiendo con el API de persistencia de Java, consiste en las especificaciones, y después varias empresas crearon sus propias implementaciones como Eclipse y Apache, por nombrar las que me acuerdo.
La verdad que es bastante sencillo y también portable. En el ejemplo práctico que se mostró, pasar de un motor de base de datos a otro tomó segundos, cambiando el código de un archivo XML con los datos de la persistencia.
Obviamente debe traer nuevos dolores de cabeza, pero facilita bastante el trabajo, ya que hace transparente la persistencia de datos.
Como dije respecto al tema de Francisco, cuando esté el material disponible se podrá extender el tema, pero por más información:
http://java.sun.com/javaee/overview/faq/persistence.jsp
http://en.wikipedia.org/wiki/Java_Persistence_API
Leandro también comentó sobre el JAVAUY 2007 que se va a llevar a cabo el próximo 10 y 11 de octubre, y va a ser presentado un proyecto en el que estuvo trabajando.
Entre esto, el JAVAUY 07 y la próxima charla de la RTE (con invitados del JUGUY), octubre es de Java...
» Leer más, comentarios, etc...
Picando Código
Frase del dÃa
Septiembre 28th, 2007 - [Enlace local]
Viernes, se acerca el fin de semana y dejo una frase filosófica que estuve preparando por meses:
"Programar es divertido"
-Fernando Briano
» Leer más, comentarios, etc...
Picando Código
Inscripciones abiertas para Javauy07
Septiembre 28th, 2007 - [Enlace local]

Están abiertas las inscripciones para el Javauy07 Te podés inscribir ahora aquà o en el propio lugar del evento.
En éste link pueden ver algunos de los laboratorios guiados (hands on lab) y conferencias que se van a dar.
Entre los hands on lab están JSF & Rich Faces, y una introducción a JPA. Ambos con una presentación general y una implementación guiada de un ejemplo sencillo que utilice todo lo visto (EXCELENTE...).
Entre las conferencias hay temas muy interesantes por ejemplo ZFS y Solaris Virtualization, Historias de Desarrollos, Métodos ágiles, varias orientadas a tecnologÃas JEE, Introducción a Groovy, Licenciamiento de Software y otras obras con Derechos de Autor y unas cuantas más. Visiten el link más arriba para verlas. Espero poder ir, porque la verdad que mirando las sesiones, seguro que va a estar increÃble!
El evento cuenta con el apoyo de IBM Uruguay, Sun MicroSystems, Tata Consultancy Services y el UYLUG, entre otros.
Están todos invitados:
JavaUY '07: miércoles 10 y jueves 11 de octubre de 2007
Ubicación
Knowledge Development Center
Avda Italia 6201 (LATU)
Montevideo, Uruguay
LÃneas de ómnibus: 10, 21. 64, 221, 468, ... Todos los interdepartamentales por avenida Italia.
» Leer más, comentarios, etc...
Buayacorp
QuickCash de Western Union disponible para los pagos de AdSense
Septiembre 28th, 2007 - [Enlace local]
Gracias a NestaVista hoy acabo de revisar mi cuenta de AdSense y veo que Google finalmente habilitó la posibilidad de cobrar los pagos de AdSense a través del servicio Quick Cash de Western Union.
Aunque todavÃa no llegué a los $100 necesarios para recibir el pago, es muy bueno saber que — al menos en este lado del planeta — las agencias de cambio de dinero ya no cobrarán altas comisiones por cambiar los cheques.
» Leer más, comentarios, etc...
design-nation.blog/es
Cuándo y cómo aprender cosas nuevas.
Septiembre 28th, 2007 - [Enlace local]
Varias veces hemos citado a 37signals en el blog. En este caso lo hago acerca de una cuestión que se plantea uno de los miembros en el blog.
Cuándo y cómo aprender cosas nuevas.
Bueno, es obvio que para aprender un lenguaje nuevo, el cómo es fácil. Ordenador, café, una pantera rosa, Desmond Dekker de fondo, y …programar. ( Vale, el café no tiene porque ser necesario ).
El cuándo es un poquito más complejo, pues además lleva implÃcito el dónde.
Partimos de la premisa de que somos programadores porque nos gusta programar
Con esto en mente, podemos pensar que el mejor sitio es en casa, pero eso implica llegar a casa y ponerse a tirar código después de haber estado escribiendo lÃneas todo el dÃa en el trabajo.
Como digo, me gusta programar, y sà puedo dedicar parte de mi tiempo libre a hacerlo, pero una parte mÃnima.
También me gusta hacer fotos, ver buenas series o pelÃculas, pasear, leer el periódico, leer un libro, y otras muchas cosas que no puedo hacer la mayor parte del dÃa porque estoy programando, …en el trabajo.
La otra opción es forzar en la medida de lo posible a utilizar nuevas herramientas o nuevos lenguajes en nuestros desarrollos profesionales.
Me gusta más la segunda. Lo cierto es que nunca se aprende tanto como cuando tienes X dÃas para hacer algo que ni siquiera sabes si se puede hacer. Es cierto que en esos dÃas se puede llegar a pasar mal - llegaré a tiempo, seré capaz- pero se aprende, y cuando se obtiene el resultado, la satisfacción es enorme. La mente está activa, el cuerpo está activo. La rutina no es rutina. Como decÃa César hace una temporadilla,
Una de las mejores sensaciones que se pueden tener cuando se gana uno la vida como programador es la de estar frente a un proyecto que hay que sacar adelante con una tecnologÃa de la que no se sabe nada. Lo malo es que esa sensación se da tan pocas veces...
Volviendo al post que ha originado esta sesuda reflexión, en uno de los comentarios, Dr. Meter afirma
At some point, while there will be new approaches and paradigms, you learn to trust your expertise in core logic and programming principles and realize that new languages are more about syntax than anything else. It’s inevitable that the language you’re using now will be replaced (probably in 5 years or less), and you just have to have the confidence that you can adapt your skills.
Bajo mi punto de vista, tiene razón, y además esta opinión enlaza por otro lado con algo que ya hemos comentado por aquÃ.
A fin de cuentas, cuando sabes el porqué de las cosas, el cómo siempre es más fácil.
» Leer más, comentarios, etc...
design-nation.blog/es
¿Porqué no piden lo que quieren?
Septiembre 28th, 2007 - [Enlace local]
Desde que me dedico a esto, me ha ocurrido mil veces.
Hoy me ha vuelto a ocurrir..
Situación. Se quiere modificar una sección y se nos pide que se envÃen varias pruebas de diseño en jpg para valorarlas. Se envÃan cinco.
La contestación es: “nos quedamos con la quinta, pero… esto que está alineado a la izquierda, lo alineáis a la derecha, a esto otro le quitáis el borde, a esto le aumentáis el tamaño de letra, a esto le ponéis un fondo clarito, a esto le modificáis el interlineado, esto que tenga un borde discontÃnuo y a esto otro le ponéis un bullet que sea una imagen de…â€? etc…
Conclusión: no se quedan con la quinta, se quedan con la sexta. Que evidentemente ni siquiera es mezcla de las cinco anteriores. No es ni más ni menos que lo que querÃan desde un principio y pretendÃan que adivinásemos tras leer la frase “queremos unos pequeños cambiosâ€?.
¿Porqué gustará tanto hacer trabajar por trabajar? ¿Porqué no se puede decir “quiero esto asà y asÃâ€? a la primera?.
En muchas ocasiones, tengo la sensación de que numerosos puestos de trabajo se justifican por quienes los ocupan, basándose en el número de e-mails enviados, y en la cantidad de trabajo baldÃo generado.
» Leer más, comentarios, etc...
Buayacorp
Spam y Trackbacks
Septiembre 28th, 2007 - [Enlace local]
En el último incidente que tuve me recomendaron varias alternativas para reducir el spam que llega a este blog y desde el momento que puse en práctica algunas de éstas (cambiar el nombre de uno de los campos de los comentarios), el número de comentarios spam enviados directamente a wp-comments-post.php literalmente desapareció, pero todavÃa siguen llegando trackbacks no válidos.
En base a un archivo modificado de wp-trackback.php que me envió Maty, hice unos cambios a éste para que haga casi lo mismo que el plugin Trackback Validator, que básicamente verifica que el sitio que envÃa la petición contenga un enlace recÃproco a la entrada a la que se hace referencia (ver el paper para mayores detalles). La limitación de este método, tal y como reconoce una de las personas que participó en ese proyecto, es que puede evadirse fácilmente de diferentes modos (con CSS, comentarios HTML, JavaScript, generación dinámica de contenidos, etc).
Estos dÃas estuve recibiendo spam de distintos sitios (supongo del mismo spammer), que generan temporalmente enlaces para los trackbacks que envÃan, logrando de este modo pasar las validaciones de la presencia de enlaces recÃprocos, vean por ejemplo las últimas lÃneas que aparecen en el siguiente log de acciones:
[2007-09-26 06:29:52] 64.22.110.2
[2007-09-26 06:29:52] Array
(
[title] => Web Hosting Reviews, Web Site Hosting
[url] => http://sitio_eliminado/
[excerpt] => I couldn\'t understand some parts of this article, but it sounds interesting
[blog_name] => Web Hosting Reviews, Web Site Hosting
)
[2007-09-26 06:29:55] http\://www\.buayacorp\.com/archivos/edicion-12-de-architechture-journal/
[2007-09-26 06:29:55] Array
(
[0] => <a href='http://www.buayacorp.com/archivos/edicion-12-de-architechture-journal/trackback/'>link 3656</a>
[1] => link 3656
)Una forma de mejorar este método de verificación de trackbacks supongo que serÃa añadiendo una lista negra de dominios/IP/palabras, aunque en realidad no sé si valga la pena implementar algo asà por el momento, puesto que los comentarios/trackbacks que logran saltar esta primera comprobación, son capturados Akismet.
» Leer más, comentarios, etc...
Arragonán
Toma de contacto con eclipse PDT
Septiembre 27th, 2007 - [Enlace local]
He estado trasteando un poco la versión 1.0 de eclipse PDT, y he visto que en unos meses ha mejorado muchÃsimo, hasta el punto que a partir de ahora va a sustituir al plugin PHPeclipse que llevaba bastante tiempo utilizando. La verdad es, que por lo que he estado viendo, este puede llegar a ser el IDE por excelencia para desarrollar con php, si Zend no hace algo para evitarlo (con su Zend Studio mientras sea de pago lo tienen difÃcil) y todavÃa nos quedará por ver como queda el plugin para NetBeans.
El editor funciona perfectamente, cargándote las ayudas para clases, métodos y funciones, pudiendo acceder también a sus implementaciones sin tener que volverte loco buscando en qué fichero tengo la clase-método-funcion X, cosas que hacÃa PHPeclipse un poco a su manera, y con PDT funcionan a la perfección.
Personalmente pienso que el editor de código es lo más importante en un ide, que al final es con lo que más nos peleamos los programadores, pero también existen otras caracterÃsticas destacables:
- Soporte para debugging.
- Opción a ver qué tipo de objetos o variables devuelve un método.
- Poder indicar si el código de un proyecto es php4 o php5.
- Posibilidad de crear templates generadores de código asociados con sus alias, de serie vienen bastantes creados.
- Ayudas también para escribir en ficheros html y css.
- Etc.
A ver si hago un hueco y pruebo un poco más a fondo el ide, aprovechando que quiero trastear también el Zend Framework y tengo alguna pequeña idea que me ronda por la cabeza.
» Leer más, comentarios, etc...
Pensamientos ágiles
Pequeños cambios en el blog
Septiembre 27th, 2007 - [Enlace local]
A los que os paráis a escribir en este modesto espacio, lo primero muchÃsimas gracias porque me encanta conversar sobre todo estos temas, segundo simplemente comentar que he puesto a la derecha un panelillo donde aparecen los últimos comentarios. Era algo que querÃa poner ya hace mucho tiempo, pero que mi naturaleza vaga para adecentar el blog me lo impedÃa (sólo hay que ver el caos del panel lateral para darse cuenta). Por suerte Jordi me ha enviado un pequeño script para solucionarlo.
Por otra parte, desde hace unas semanas os habréis dado cuenta de que hay un mapa que muestra los visitantes en tiempo real que hay en el blog (al fondo a la derecha). Este servicio es cortesÃa de amung.us y la verdad es que parece que funciona bastante bien. Me encanta entrar en el blog y ver que alguien te está leyendo en ese mismo momento en otra parte del planeta. ¡MuchÃsimas gracias a los que lo hacéis!
» Leer más, comentarios, etc...
programania
Software libre en la administración pública
Septiembre 27th, 2007 - [Enlace local]
En estos últimos años, las administraciones públicas de distintos paÃses se han planteado o están en proceso de implantación de distintos paquetes de software libre para realizar sus funciones.
Entre las ventajas clásicas que se enumeran como la accesibilidad de todas las personas a los servicios (muchos programas de software libre son gratuitos, con lo que cualquier persona puede tenerlos sin pagar) o una reducción de costes (frente a una solución propietaria, ya que para modificar cualquier parte no dependes de la empresa que creó el software, y puedes contratar o formar profesionales sobre la plataforma utilizada de manera independiente), un aspecto que no se ha comentado tanto es el jurÃdico.
El artÃculo que me hizo reflexionar sobre el tema fue escrito por Curtis Poe, y trata sobre un juicio en el que un ciudadano exigió ver el código fuente de los alcoholÃmetros aduciendo que él no superaba el Ãndice de alcohol en aire permitido por ley, y que el aparato estaba defecuoso.
En dicho caso, la medición del alcohol se hacÃa a través de software propietario, y tras una larga batalla, se consiguió que la empresa liberase el código. Al hacerlo, se descubrieron fallos en el diseño, con lo que el ciudadano fue absuelto.
El autor concluye que el software libre en determinadas funciones es un medio que tiene el usuario para defender sus derechos, ya que se le acusó de un delito que no habÃa cometido por un software (que era propietario, la empresa no querÃa liberar el código y dárselo a la defensa, con lo que no podÃan preparar una defensa adecuado) que no estaba sujeto a revisiones exhaustivas.
Aunque si el código del alcoholÃmetro estuviese abierto se hubiera evitado este problema (o al menos el ciudadano podrÃa haber preparado su defensa), ¿CreeÃs que con las medidas adecuadas se podrÃan haber garantizado los derechos del ciudadano siendo el software propietario?
Por último, ¿qué ventajas tiene el software libre, y cuáles el software propietario en la administración pública?
Enlaces:
- Manifiesto sobre el uso del software libre en Cataluña
- Favoritismo del software libre sobre el software propietario
- Implantación de Ubuntu en Francia
» Leer más, comentarios, etc...
Pensamientos ágiles
Comunicando ideas con comics
Septiembre 27th, 2007 - [Enlace local]
De vez en cuando siempre te topas con algún artÃculo que supone un soplo de aire fresco a un tema tan tratado como son las metodologÃas de desarrollo.
En User Interface Engineering han publicado una entrevista con Kevin Cheng en la que explica como en algunos equipos de Yahoo utilizan comics para comunicar historias y casos de uso.
Parece que todo surgió a partir de un encuentro con Bill Buxton, Principal Researcher en Microsoft Research, después de reunirse con Kevin y su compañero Tom Chi, trazaron las ideas sobre lo que posteriormente pasarÃan a llevar a la práctica con el equipo de Yahoo! Local, que parece que estaba experimentando dificultades.
Según comenta Kevin en la entrevista, la experiencia fue todo un éxito y el feedback enormemente positivo; tanto que otros equipos y otros proyectos pasaron a utilizar esta técnica.
Antes del uso de comics los equipos tenÃan bastantes dificultades para seguir complejos documentos de requisitos. Según Bill, con los comics consiguen expresar de una manera muy sencilla y clara los diferentes casos de uso de la aplicacón. Es importante destacar que estos comics se centran en las interacciones del usuario con la aplicación, y no pretenden ser diagramas de bajo nivel.
Personalmente, me ha parecido una idea original, muy en lÃnea con las metodologÃas ágiles. Parece tener realmente mucho sentidos cuando una historia se tiene que compartir, diseñar, especificar entre diferentes personas, departamentos, etc. Todos sabemos lo que pasa a veces con los documentos de requisitos cuando implican a mucha gente: alguien modifica algo aquÃ, otro añade algo allá, alguien no ve los cambios de la última versión y al final hemos perdido parte del significado.
Poner todo esto en unas cuantas viñetas es una de esas cosas que las piensas y dices: "vaya, esto realmente debe funcionar". Ahora bien, ¿están las compañÃas preparadas para adoptar una práctica asà o es algo simplemente reservado para reductos de innovación como Yahoo? Eso ya es otra historia.
Por cierto, además de la presentación que he incrustado en esta entrada, también hay disponible un podcast con la entrevista.
» Leer más, comentarios, etc...
Variable not found, 0:1
.Net: TryParse vs. Parse
Septiembre 27th, 2007 - [Enlace local]
Los que vamos evolucionando a la vez que lo hace la plataforma .Net (bueno, unos cuantos pasos por detrás ;-)), a veces se nos hace difÃcil superar nuestras costumbres y adaptarnos a nuevos métodos o utilidades que, sin duda, vienen para facilitarnos la vida y ofrecen mejores soluciones a problemas comunes que las que utilizamos de forma habitual.
Un ejemplo lo tenemos con los métodos estáticos xxx.Parse(), útiles para convertir de un string a un tipo valor, como puede ser int32 o boolean. Desde el principio de los tiempos usamos, para obtener un entero desde su representación como cadena, construcciones de tipo:
string num = "123";
int i = 0;
try
{
i = int.Parse(num);
}
catch (Exception ex)
{
// TODO: hacer algo...
}Sin embargo, la llegada de .NET Framework 2.0 supuso la inclusión del método estático TryParse() en la práctica totalidad de tipos primitivos numéricos (en la versión 1.1 sólo existe en el tipo double), cuya forma más simple de utilización (y también más usual) dejarÃa el bloque try/catch anterior en uno más compacto y legible:
if (!int.TryParse(num, out i))
// TODO: hacer algo... El método TryParse devuelve true si se ha podido realizar la transformación con éxito, dejando en la variable de salida que le indiquemos el valor parseado, en este caso un int.
Sin embargo, además de para evitarnos dolores en las articulaciones de los dedos, existen otros motivos para utilizar xxx.TryParse() en vez de xxx.Parse(): el rendimiento, sobre todo si se prevé que el número de fallos de conversión será relativamente alto en un proceso. De hecho es el método recomendado en la actualidad para realizar estas conversiones.
Según la prueba de rendimiento de TryParse publicada Microsoft, ejecutada sobre su propia plataforma, la utilización de este método aventaja de forma considerable al modelo try-parse-catch. Por ejemplo, realizando varias simulaciones de parsing de enteros sobre un conjunto de 100 cadenas de las cuales 5 son erróneas, el tiempo de proceso llegar a ser mil veces superior usando este último patrón; si asumimos 20 incorrectas (80% de cadenas correctas), el modelo tradicional puede tardar 4.000 veces más que usando TryParse.Aunque lo normal no es efectuar un gran número de transformaciones de este tipo y esta diferencia de rendimiento podrÃa entenderse despreciable, podrÃa ser un factor a tener en cuenta cuando estas operaciones se realicen en contextos de gran carga de usuarios o concurrencia, como en sitios web de alto tráfico. Ojo pues a esas aplicaciones (o componentes) que hemos tomado de .NET 1.x y estamos reutilizando en las versiones superiores.
Por cierto, todo lo dicho, aunque los ejemplos están codificados en C#, es válido para Visual Basic .NET y cualquier otro lenguaje que compile sobre la plaforma .NET de Microsoft. A ver si un dÃa tengo un rato y compruebo si el comportamiento en Mono es el mismo.
» Leer más, comentarios, etc...
Pwned's blog
Manual de Ensamblador x86 parte II - Directivas
Septiembre 27th, 2007 - [Enlace local]
Manual de Ensamblador x86 parte I - Herramientas
Dando continuidad a esta serie de post sobre el lenguaje ensamblador, ahora veremos las partes que conforman el codigo de un programa en ensamblador.
Bien, lo primero que debe haber en el codigo son las directivas, en estas se hace la declaracion de las variables de datos que utilizaremos y el codigo que contendra los registros, existen 3 tipos de directivas para este lenguaje, una de ellas es obligatoria, mientras que dos son opcionales, estas directivas llevan por nombre:
- data - opcional
- bss - opcional
- text - obligatoria
Directiva data
En esta directiva se hace la declaracion de los elementos que utilizaremos a lo largo de nuestro programa, y que sean declarados con un valor inicial, el nombre de la variable, el tipo de dato y el dato que contendra, por ejemplo:
.section .data
entero:
.int 10
Se puede apreciar en el ejemplo anterior la palabra section y los puntos que proceden a las palabras, bien, la palabra section es utilizada para la declaracion de una directiva, y especificando que directiva es, los puntos al inicio son parte de la sintaxis que se utiliza en las directivas.
En esta directiva se pueden declarar variables de los siguientes tipos:
.ascii = cadena de texto
.asciz = cadena de texto con terminacion nula
.byte = valor de byte
.double = numero de punto flotante de doble precision
.float = numero de punto flotante de precision simple
.int = numero entero de 32 bits
.long = numero entero de 32 bits (mismo que .int)
.octa = numero entero de 16 bytes
.quad = numero entero de 8 bytes
.short = numero entero de 16 bits
.single = numero de punto flotante de precision simple (mismo que .float)
.que = constante
Ejemplo:
.section .data
frase:
.ascii "Hello world"
pi:
.float 3.14159
numeros:
.long 100,150,200,500
alto:
.int 10
factores:
.double 37.45, 45.33, 12.30
palabras:
.asciz "Hello '%s'\n"
Estos tipos de datos pueden ser utilizados en la directiva bss, algunos tipos como .asciz no es importante aprenderlo ahora ya que sera explicado mas adelante en el proceso de compilacion dinamica para utilizar librerias de C con instrucciones de ensamblador.
Directiva bss
En esta parte es donde se declaran los elementos que seran inicializados con un 0, o con valor nulo, en estos tipos de datos es mas comun la declaracion de arrays que se mantendran en areas del buffer que seran utilizadas a lo largo del programa.
Ejemplo:
.section .bss
.lcomm buffer, 12
En ese ejemplo se declara un array con 12 bytes del area del buffer de memoria, como bien se sabe los arrays en su mayoria son utilizados para guardar datos no declarados previamente, es por eso que se utiliza la directiva .lcomm en la seccion bss.
Directiva text
En esta directiva es donde se ubicaran todas las instrucciones del programa, es decir es la parte fundamental del programa, ya que es aqui donde estaran todas las instrucciones en el lenguaje ensamblador.
.section .text
.globl _start
_start:
En ocasiones se hace necesario el uso de una plantilla para utilizarla en todos nuestros programas, en ella deben de estar todas las directivas, asi como los principales registros que utilizaremos.
.section .data
;Variables declaradas con un valor inicial
.section .bss
;Variables declaradas sin valor o nulo
.section .text
.globl _start
_start:
; Instrucciones del programa
La directiva .globl es utilizada sobre la etiqueta _start para que el codigo pueda ser utilizado desde otra aplicacion en forma global, si en dado caso se cambia la etiqueta es necesario especificarla en la compilacion del codigo, que sera mostrado en el siguiente post donde ya se vera el uso de registros y mas sobre el lenguaje ensamblador.
Por ahora es todo.
Saludos.
» Leer más, comentarios, etc...
Mal Código
Memoria perdida en método inline
Septiembre 27th, 2007 - [Enlace local]
Cierto dÃa estaba yo programando un módulo en un programa de C++. Y casualmente tenÃa a mi disponibilidad una clase con funcionalidad que me venÃa muy bien. Esta clase seguÃa el patrón Singleton, asà que obtengo un puntero al objeto Singleton y me dispuse a usarlo. Sorprendido me quede cuando de repente observo un incremento de 50 kilobytes en el tamaño del ejecutable. ¿Como puede ser?. En ese
» Leer más, comentarios, etc...
Una sinfonÃa en C#
Smart Clients Connection Monitor
Septiembre 27th, 2007 - [Enlace local]
La semana pasada tuve la oportunidad de asistir a una charla informativa en el paseo "La Plaza" en Buenos Aires acerca de las nuevas tecnologÃas de Microsoft. Si bien los temas eran más bien conocidos el nivel de los presentadores no podrÃa haber sido mejor: MatÃas Wolosky, Diego Gonzalez, Rodolfo Finochietti, Angel "Java" Lopez y MartÃn
» Leer más, comentarios, etc...
Ingenieria de Software / Software Engineering
Comunidad MoproSoft
Septiembre 27th, 2007 - [Enlace local]
Me da gusto saber que se ha abierto un espacio para MoproSoft en lo personal tengo mucha fe que este modelo de proceso hecho en México tome fuerza tanto nacional como internacional, después de la noticia del cierre de AMCIS, Comunidad MoproSoft es un buen paso para retomar el camino.
» Leer más, comentarios, etc...
MadeInFlex
Flex VoIP con Ribbit Phone
Septiembre 27th, 2007 - [Enlace local]
Ribbit phone es un componente Flex que permite recibir y realizar llamadas telefónicas, grabar, enviar y recibir mensajes de voz y gestionar contactos, todo sin salir del navegador y gracias al Flash Player 9.
El componente todavÃa no ha salido a la luz. De momento hay una pre-release privada en testeo, pero se espera una beta pública en algún momento durante este Octubre. Finalmente el componente será gratuito para desarrolladores, asà que todas nuestras RIAs podrán disponer de esta funcionalidad si lo deseamos. Sin duda esto abre un nuevo mundo de posibilidades para nuestras aplicaciones.
En la web de Ribbit hay información acerca de los detalles:
» Leer más, comentarios, etc...
Navegapolis
El "Gantt" ágil
Septiembre 27th, 2007 - [Enlace local]
En la gestión predictiva, la "bola de cristal" con visión global de proyecto es el diagrama de Gantt. ¿Y en la gestión ágil?.
El modelo ortodoxo de Scrum trabaja con el Gráfico Burn-Down, pero es una bola de cristal que alumbra con "cortas": sólo al sprint actual. Para vaticinar el proyecto "con largas", apuntando más lejos en la dirección de la visión del cliente, es muy útil el gráfico Burn-Up.

