Conexión con base de datos desde Python.

Abril 25, 2008 by arequipe

Por mucho tiempo que se lleve uno en el mundo de la programación siempre que se aprende un nuevo lenguaje de programación (en mi caso Python), siempre hay que volverse un poco loco seleccionando las herramientas que te permiten hacer las cosas que ya sabes. Me refiero a que seguramente, querido lector, usted ya sabe como hacer conexiones con bases de datos desde Java, .NET, VB o cualquier otro lenguaje, normalmente esto es de las primeras cosas que se aprenden.

Python no es una excepción y esto es algo básico, pero hay que aprenderlo. En las siguientes lineas intentaré mostrar las claves para no perderse en este tema.

Primero de todo, Python tiene un mecanismo para acceder a las bases de datos llamado DataBase API ó mas conocido “DB-API”. Este es un estandar y para conectarse es necesario instalar un módulo para conectarnos a la base de datos deseada.

En otro post entraré en el tema de como acceder a una base de datos usando DB-API, por ahora me conformo con mostrar los diferentes modulos para conectarnos con bases de datos Microsoft SQLServer.

Opciones disponibles:

Leer el resto de esta entrada »

10 lecturas obligadas de Python.

Abril 21, 2008 by arequipe

Como ya he manifestado en varias ocasiones, creo que Python es un lenguaje genial. Leo via wordaligned.org/ una lista de las 10 lecturas obligadas de todo aquel que quiera iniciarse en el mundo de Python (Corto y pego):

  1. The Zen of Python (link)
  2. Python Tutorial (link)
  3. Python Library Reference (link)
  4. Python Reference Manual (link)
  5. The Python Cookbook (link)
  6. Code Like a Pythonista: Idiomatic Python (link)
  7. Functional Programming HOWTO (link)
  8. Itertools functions (link)
  9. Python library source code (link)
  10. What’s New? (link)

 

Frase genial

Marzo 13, 2008 by arequipe

Leo en microsiervos la siguiente cita:

“¿Que por qué los videojuegos están mucho mejor diseñados que los programas tipo Office? Los videojuegos están diseñados por gente a la que le encanta jugar con ellos. Los programas como Office están diseñados por gente que querría hacer cualquier otra cosa durante el fin de semana.”

– Atribuida a Ted Nelson
(Vía davidgp)

Herramientas de productividad para el desarrollador.

Marzo 12, 2008 by arequipe

 Llevo algún tiempo usando una herramienta de productividad y estoy la mar de satisfecho. Se trata de las MZ-Tools. Es un Add-In para Visual Studio que permite añadir un montón de funcionalidad extra a Visual Studio.

La verdad es que tiene un montón de cosas muy interesantes, algunas de ellas muy avanzadas.

Personalmente lo que mas utilizo es:

  • Las plantillas de código (cómo se puede vivir sin esto, lo empezé a utilizar con IntelliJ y despues del multiorgasmo … el mejor invento de la humanidad).
  • La generación de los capturadores de excepción, revisa las excepciones posibles y crea el try/catch adecuado …
  • Un montón de asistentes para crear propiedades desde variables, cajas de mensaje, … el generador de cadenas de conexión es genial (Adios Google).
  • El búscador de código es muy muy bueno.
  • Con respecto al diseñador de formularios te ahorra un montón de tiempo.
  • La generación de los comentarios, permite generar un montón de documentación con solo hacer clic, sin escribir nada. Una de las cosas que mas me gusta es el generador de la documentación del proyecto. Hay otro producto que me gusta también, SandCastle, es muy bueno, pero es mucho mas complejo. Con las MZ-Tools, puedes generar toda la documentación técnica del proyecto automaticamente. Muy útil cuando tu jefe te la pide, para despues no hacer nada con ella. En un segundo la tienes generada y actualizada.
  • El tema de ls revisiones de código no lo he explotado bastante pero para hacer auditorias a nivel empresarial es super útil.

Leer el resto de esta entrada »

El Tornillo, un cuento tecnológico.

Marzo 12, 2008 by arequipe

Me ha enviado mi amigo Carlos Perez una presentación con un cuento con una moraleja muy interesante (No se de donde la ha sacado, pero si tienen mas me gustaría que las compartiera):

Primera paguina presentacion cuento.

El cuento es el siguiente:

Algunas veces es un error juzgar el valor de una actividad simplemente  por el tiempo que toma realizarla…

Un buen ejemplo es el caso del ingeniero que fue llamado a arreglar Una computadora muy grande y extremadamente compleja… una computadora que valía 12 millones de dólares.

Sentado frente a la pantalla, oprimió unas cuantas teclas, asintió con la  cabeza, murmuró algo para sí mismo y apagó el aparato.

Procedió a sacar un pequeño destornillador de su bolsillo y dio vuelta y  media a un minúsculo tornillo.

Entonces encendió de nuevo la computadora y comprobó que estaba trabajando perfectamente.
Leer el resto de esta entrada »

Alternativas al ASUS PC EEE I

Marzo 12, 2008 by arequipe

Buscando un poco he visto algunas alternativas al ASUS PC EEE que parece que se hace de rogar por estas latitudes.

He encontrado que Fujitsu-Siemens, una marca de la que soy usuario y de cuyos productos estoy la mar de satisfecho, vende portatiles de verdad a precios muy competitivos, como ejemplo tenemos el ESPRIMO Mobile V5535, por 322,64 € (Sin IVA) en http://www.audiotronics.es/product.aspx?productid=50966

Ordenador barato.

Una buena opción para los que no quieren gastarse mucho dinero, o no pueden, y aquellos que no necesitan grandes prestaciones. Además un buen detalle es que lleva preinstaldo Linux creo que la versión Knoppix (que desconozco).

En http://www.audiotronics.es/products.aspx?categoryid=3539 podeis ver un listado de los portatiles con Linux preinstaldo que vende en esta tienda distribuidora de Fujitsu-Siemens.

Un amable camarero chino cantante :-)

Marzo 11, 2008 by arequipe

El joven primero nos sirvio una ensalada, unos embutidos, unos calamares a la Romana y unas bebidas, luego desaparecio un minuto y visto y no visto en uno de los momentos mas bizarros de nuestras vidas comenzo a cantar tal y como se puede apreciar en el video. Luego se arranco por Titanic, ese video lo dejo para otro momento:

Las ofertas de HP.

Marzo 11, 2008 by arequipe

Soy cliente de ONO, tengo teléfono, internet y televisión y no puedo estar mas encantado con ellos. Internet me va genial y por lo demás no tengo ninguna pega. Algún día contaré como llegé a ser cliente de ONO gracoas a los de Telefonica .

Hoy me ha llegado una publicidad de ONO a mi buzón, el el me informan de que como cliente tengo un 10% de descuento en los productos de la tienda www.hp.es/ono. La he visitado por curiosidad y, por si hay algo interesante, nunca se sabe.

He visto algunas cosas que me han llevado a la duda, dejo algunas capturas que he tomado de los precios, como se puede apreciar, nos informan de que en la calle el precio es mas barato … por lo menos tienen decencia y la honestidad … y posiblemente algún fallo en algun eslabon de la cadena de ventas:

Oferta de HP

¿Está Apple yendo al lado oscuro?

Marzo 8, 2008 by arequipe

Hoy la noticia del día ha sido sin duda el lanzamiento al público en general del nuevo SDK para el iPhone y el iTouch.

Personalmente no me parecen los mejores productos del mundo. Paso demasiadas horas delante de un ordenador, para necesitar ordenadores de juguete como el iPhone o el iTouch. No tengo demasiada manía a esos productos pero personalmente no me parecen los mejores ni los más necesarios. El iPhone es un ladrillo y además no es 3G.

Imagen sdk apple iPhone

Leer el resto de esta entrada »

Videos instalación Python.

Marzo 6, 2008 by arequipe

He encontrado en Youtube una serie de videos sobre de Python. Este es uno de instalación bastante completito:

Ranking de los 50 blogs mas influyentes.

Marzo 5, 2008 by arequipe

Leo en Microservios una entrada sobre un Ranking de los 50 Blogs más influyentes. http://blog.wikio.fr/2008/03/top-50-mondial.html
Yo tengo mis preferencias personales, y posiblemente desde el plano de la influencia sea un ranking justo, sobre el tema desconozco la forma como han realizado el ranking, sinceramente me da igual.

Sinceramente el Blog que mas me gusta es Xataka. Muchas entrada, muy buenas y unos videos de revisiones de productos muy decentes.

Trabajo horizontal y vertical II.

Marzo 4, 2008 by arequipe

En una entrada anterior he hablado sobre lo que para mi es el trabajo horizontal y el vertical.

Ahora me gustaria hablar sobre la influencia de estos en el desempeño de nuestras tareas, cuando escribo estas palabras estoy pensando en terminos de desarrollo de software, no obstante creo que es extrapolable a muchos otros aspectos.

Para la conclucion correcta y satisfactoria tanto tecnica como personal de un proyecto de software es necesario un correcto equilibrio del pensamiento horizontal y vertical.
Por un lado es necesario elegir las herramientas y tecnologias necesarias para iniciar el proyecto y dotarlo de las herramientas para poder terminarlo. Para ello es necesario que se dedique un porcentaje razonable del tiempo a examinar las tecnologias y a definir la infraestructura. Todos a cierto nivel tenemos que hacer esto por nosotros mismos, es posible que en nuestro equipo de trabajo ya tengamos a una persona encargada de definir todos esos conceptos, en este caso, mejor que mejor, ya que parte del esfuerzo nos lo podemos ahorrar. Pero si no es así y tenemos que definir nuestras propias herramientas hay que tener una serie de factores en cuenta:

Leer el resto de esta entrada »

Trabajo horizontal y vertical I.

Marzo 4, 2008 by arequipe

Llevo algún tiempo meditando en ciertos habitos y formas de trabajo que he ido descubriendo con el tiempo. Al menos en mi faceta de programador he detectado que independientemente de la tarea o trabajo que esté realizando hay dos fases diferenciadas.
Estas son una fase horizontal, y una fase vertical.
Cuando hablo de una fase horizontal me refiero a un trabajo en el que se intenta abarcar un campo en su totalidad o almenos en sus aspectos mas importantes, buscamos, examinamos cada una de las posibilidades intentando abarcar cuanto mas campo mejor.
Por otro lado hay una fase de trabajo vertical, en el que nuestra mente se libera de la apmplitud del campo anterior y se concentra en una tarea y profundiza en ella hasta encontrar la solución.
Leer el resto de esta entrada »

Algunos libros online sobre Python.

Marzo 3, 2008 by arequipe

Algunos recurso en linea sobre Python.

Dive into Python:

http://diveintopython.org/index.html

How to Think Like a Computer Scientist:

http://openbookproject.net//thinkCSpy/index.xhtml

Que aproveche.

Seducido por Python

Marzo 3, 2008 by arequipe

No se si a los demas les pasa lo mismo que a mi, pero despues de un tiempo haciendo la misma cosa termino hasta las narices por cansarme y necesito buscar cosas nuevas que hacer. Una de mis aficiones es la programación y por suerte o por desgracia para mi, me pagan por ello. Intento ser lo mas profesional posible en mi trabajo, pero normalmente llega un momento en el que el tedio te puede y uno tiene que mirar a otros sitios, a otras tecnologias para hacer un poco mas llevadera la existencia como programador.

En mis ratos de ocio me he topado con Python un lenguaje de programación, ni mejor ni peor, pero con algunas cosas que le hacen muy interesante y que puede convertirse en algo mas que un jugete en manos expertas. Despues de casi un mes leyendo la documentación y trasteando con las diferentes implementaciones de tecnologias asociadasy con el lenguaje en si mismo, me veo con fuerzas y ganas de iniciar un nuevo proyecto en este lenguaje.

En concreto hay varias cosas del lenguaje que personalmente me atraen:

  1. Es un lenguaje interpretado (aun que con py2exe y py2app, se pueden crear distribuciones binarias de las aplicaciones sin muchas complicaciones, vamos … que funciona y es sencillo de usar), me gustan los lenguajes interpretados por que no es necesario perder tiempo en compilar y puedes dejar cosas a medias sin que te mueras a errores del compilador, mientras sea sintacticamente correcto.
  2. Es un lenguaje relativamente sencillo y facil de usar, es muy legible y se aprende facilmente.
  3. El uso de librerias externas es sencillo y hay migradas un monton de buenas librerias.
  4. Hay distribuciones del entorno en otros lenguajes .Net (IronPython), Java Jython, el propio pyton PyPy. Lo que significa que es integrable en dichas plataformas (Personalmente me gusta CPython en C).
  5. El soporte de las nuevas tecnologias es relativamente bueno, teniendo en cuenta que es un lenguaje no tipado e interpretado, estoy pensando en la generacion automatica de WSDL como en otros lenguajes tipados en los que es facil hacer herramientas que lo generen automaticamente.
  6. Unas librerias graficas muy potentes, bundles para QT (pyQT), Tkinter y mi preferido wxWidgets antes wxWindows (wxPython). Estos entornos estan programados en C/C++ y son llamados desde Python lo que hace que su ejecucion sea muy eficiente.
  7. Puede ser todo lo sucio y guarro que se quiera asi como todo lo retorcido que lo puedas imaginar. Puedes hacerle las burradas que te de la gana.
  8. El codigo es muy compactoy el numero de lineas generadas no es muy grande.
  9. Es muy ligero y se puede programar grandes cosas en maquinas pequeñas.
  10. El interprete esta portado a un montón de lenguajes.
  11. Hay buenos IDEs gratuitos, Boa constructor, etc … vim, emacs.

Hay cosas de el que no me gustan tanto, pero eso lo reservo para otra entrada. Mi consejo es; Amiguito, si te gusta programar, instala Python y tendrás horas y horas de diversión.

Mas portatiles baratos, ahora DELL.

Marzo 3, 2008 by arequipe
Leo via gizmologia que DELL planea sacar otro ASUS PC EEE portatil de bajo coste. No hay nada como tener exito para que los demas lo copien. Bien por los consumidores. No obstante como desarrollador no se si este tipo de aparator resultarán útiles, que no divertidos que seguro que lo son, … desde luego no creo que VisualStudio funcione muy bien y mucho menos la version 2008 si es que alguien es capaz de meterlo.No obstante seguro que Python y sus entornos funcionan muy bien, … tal vez ahorre un poco y me regale uno dentro de unos meses, … posiblemente cuandolo saquen a la venta en españa y el teclado venga con la tecla ñ de fabrica.

Logo DELL

Fuente: http://gizmologia.com/2008/03/dell-se-preapara-para-entrar-al-mundo-de-los-portatiles-de-bajo-coste/

Microsoft baja los precios de Vista.

Marzo 2, 2008 by arequipe

En la segunda entrada de este blog la dediqué a el evento que organizó Microsoft para desarrolladores y técnicos de IT, en el que presentó sus nuevos productos. Microsoft es una gran en empresa, según la Unión Europea, demasiado grande … y no defraudo, en las últimas versiones de sus productos se ve que está en el mercado y que ha hecho un gran esfuerzo por estar en los frentes mas activos, hasta ahora esa ha sido su política y, por lo visto, le ha ido muy bien. Tengo que reconocer que algunos productos en concreto me han seducido bastante, Windows Server 2008, en general, me han sorprendido. La idea de incorporar herramientas de vistualización a un coste muy razonable me ha entusiasmado (no lo imagino así a la gente del VMWare), la idea del Workflow Fundation me parece muy acertada, y así podría mencionar … y de hecho, en proximas entradas mencionaré muchas cosas buenas sobre las nuevas incorporaciones de tecnologias al “ecosistema” de productos de Microsoft.

Tengo que decir que algunas de las nuevas tecnologias que a incorporado no me han gustado tanto, en especial LINQ for SQLServer me parece lo mas sucio que se puede utilizar, ya que logra precisamente lo contrario a lo que pretende, … hacer el código mucho mas dependiente del modelo de datos y de la fuente de datos a todos los niveles imaginables.

No obstante hay algo me molesta aun mas, … algo que me hace ver el muy cuidado marketing de Miscrosoft de una manera mucho mas irritante. Se trata de su politica de precios para Europa, con la baja de precios de hasta un 40% que plane Microsoft para los próximos meses se demuestra algo que todos sabemos, … que lo que venden no vale lo que cuesta, es decir, que el margen aplicado a los productos es grande, … muy grande, y algunas veces enorme. Windows Vista se ha vendido mal, muy mal, ya que no tiene nada que pueda seducir al cliente. Es mas lento y para hacerlo funcionar en condiciones se requiere una inversion extra en hardware y todo para hacer lo mismo que sus sucesor Windows XP.

Las empresas aun son mas criticas y ese problema que el usuario resuelve con algo de dinero, ellas tienen que resolverlo con un montón de dinero. Ya que los modelos de seguridad son diferentes, hace que surgan nuevas incidencias, y al final nada de lo que ofrece Windows Vista, mejora directamente la productividad. Eso, evindentemente, obliga a Microsoft a bajar los precios.

Con respecto a otros productos, la cosa pinta aun peor. Durante la fiesta presentación de productos vi la necesidad de actualizar mi ya caducada suscripción al MSDN. Para quien aún no lo sepa, la suscripción MSDN es un conjunto de herramientas para el desarrollador en el que, según la versión comprada, uno obtiene todo lo necesario para programar aplicaciones para la plataforma de Microsoft. En general el producto está muy bien y para alguien que desarrolle software profesionalmente para la plataforma Microsoft es algo totalmente necesario. Hasta aquí todo genial, … hasta que intento comprar, resulta que los precios en dolares son ligeramente mas bajos que la versión en Euros, cosa bastante rara ya que no se que no soy el único que sabe que el dolar estadounidense cotiza a la mitad que el Euro, luego, sin necesidad de tener la licenciatura en matemáticas, se puede llegar a la conclusión, de que el producto es muchísimo más caro en Europa que en Estados Unidos. Es mas, ni siquiera se ha respetado la paridad Euro-Dolar. Por el artículo 33 Microsoft cobra mas caros el mismo productos en algunos mercados que en otros. Bien sabido es, que el software es un negocio global, pero en el caso de Microsoft, los precios no son globales, … aun así en tiempos de crísis Microsoft sabe sacar partido de las contrariedades.

Es mas algo aun mas soprendente es ver como la versión del MSDN en DVD (Gestos de manipulación y envio) es mas barata que la versión Online (El usuario corre con parte de los gastos de distrinbución).

En fin, que hay cosas que no hay quien las entienda.

6 formas de fomentar la mediocridad en el desarrollo de software

Febrero 29, 2008 by arequipe

No me gusta el panorama de desarrollo de software en España, me parece mediocre, gris, triste y anodino. Lo dicho anteriormente es solo una opinión personal, y por cierto, totalmente bisceral, … algo que sale muy hondo de mi, de las propias entrañas, algo que no ha nacido del corazón …, algo que, muy probablemente, ha nacido de mi aparato excretor.

Soy consciente que la afirmación anterior necesita un contexto apropiado y soltarla, así en frio, puede resultar para algunos chocante, para algunos ofensiva y para otros una verdad reconocia internamente. Bien, la sociedad me ha enseñado que es necesario justificar con argumentos logicos y veraces las creencias y sentientos de uno. Por eso, paso a exponer mis seis razones principales por las que creo que el formato de empra de desarrollo Española fomenta la mediocridad. Antes de nada me gustaria decir que en España hay grande profesionales con una gran formacion, un gran compromiso con la profesion, que hacen grandes sacrificios personales por mejorar dia a dia.

  1. La eficiencia es opcional. A las empresas de servicios no les interesa ser eficientes, les interesa facturar mas. ¿Cómo, pero no está relacionado?, … bueno, sí … en otros sitios, en España no. Los gerentes de las consultoras de software tienen delirantes sueños en los que los clientes suscriben contratos de subcontratación de servicios, los contratos de mantenimiento eternos con personal subcontratada, todo por horas, claro … vamos la carniceria de siempre.
  2. No existe una remuneración orientada al objetivo. Me resulta bastante gracioso cuando leo la frase “trabajo orientado al objetivo”, y pienso si esto es cierto en algún lado, normalmente la frase se puede traducir por “que haga todo lo necesario para que funcione, que eche las horas que haya que echar”, pero normalmente no existen los incentivos necesarios para que los programadores y el resto del personal del proyecto entiendan cual es el objetivo (el mas simple de ellos es el dinero), … al menos el suyo propio, que con casi toda seguridad no se trata del mismo que el de la empresa, … no hay bonus, extras tangibles, … todo queda en el aire … al final se reduce a que no quieres defraudar al cliente, a tus compañeros y que quieres mantener el puesto. Para ello el incentivo tiene que ir por delante, la persona a la que se quiere motivar, tiene que poder visualizar, ver, pesar, medir … sentir como su esfuerzo se va a materializar en algo que desea y quiere, algo por lo que merezca la pena dejarse la vida y los ojos delantes del monitor. Pero esto, rara vez sucede.
  3. No se invierte en la formación. Rara es la empresa que invierte una cantidad …. no digo grande, digo justa en formación. Volvemos de nuevo al punto , la eficiencia es solo un extra … el cliente opina que si hay que formar al trabajador, esta debe de ser su empresa, que ellos ya pagan bastante. La consultora, la empresa de servicios, … la empresa de software, razona … (no son ni mucho menos tontos), que si no se gasta dinero … al final ganará mas y total las horas las paga el cliente, luego … ¿Por qué formar a los empleados?, mientras se mantengan en un rendimento aceptable todo bien. Eso es mediocridad.
  4. No se castiga correctamente la ineficiencia. La demanda es tan grande que hay que no hacer absolutamente nada para que la empresa se plantee despedir a un empleado, es mas … si el cliente no se da cuenta, a facturar todo lo que se pueda.
  5. No existe un espiritu competitivo global. No hay una conciencia de que se puede competir con empresas extrangeras, que hay vida y negocio detras de los pirineos y que se pueden hacer enormes negocios pensando a lo grande, distribuyendo los productos por todo el mundo. Que existe potencial para competir con Estados Unidos, Japon, Reino Unido, Alemania, Francia ….. India.
  6. El mercado no es eficiente, existen demasiados comisionistas. El dinero se pierde en muchos lugares, desde que un euro sale del cliente hasta que llega a manos de las personas directamente implicadas en la realización del proyecto hay demasiadas manos que se quedan con parte. Esto hace que los productos esten muy por encima de su precio real y que por tanto, necesariamente tengan que ser mediocres, ¿No es mejor emplear mas personal, formarla mejor, que mantener a comisionistas que no aportan nada?.

Conscientemente o inconscientemente el desarrollador, al final, termina manteniendose en ese terreno gris, en el que uno sencillamente hace lo justo para mantener contento al cliente y al jefe, en el que intenta no pasarse de listo, ya que lo contrario no va ha traducirse en nada, ni bueno ni malo, … al final lo que queda es un trabajo mediocre …. en el mejor de los casos.

Porqué en España no se escribe software

Febrero 29, 2008 by arequipe

Leo en el blog lapastillaroja un inetersante articulo sobre la situación en España del desarrollo de software. No puedo estar mas deacuerdo con lo Sergio Montoro dice, sobre ese articulo, solo puedo decir, con mucha tristeza por mi parte, que es cierto todo lo que comenta.

Cuando dice: “Con el paso del tiempo aprendieron a ganar contratos públicos, y, a día de hoy, la empresa cuenta entre 50 y 500 trabajadores distribuidos en varias decenas de “cuentas vaca” que proporcionan el 80% de la facturación.” le pongo cara al asunto.

Cuando dice: “El capo va camino de los 50 años (o más) y lo que tiene en mente a esas alturas de su vida es cuánto dinero le darán el día que venda la empresa, cantidad que depende casi exclusivamente del tamaño del fondo de comercio.“, les pongo nombre.

Cuando dice: “Los mandos intermedios son una bandada de barracudas sedientas de poder motivadas principalmente por la cilindrada del coche y los metros cuadrados de despacho que obtendrán el año próximo.“, me pongo enfermo.

Bien, ante lo dicho y recomiendando su lectura completa y el artículo “Pero … ¿alguien ha visto una empresa de software?” del blog “Pensamientos ágiles”, solo puedo asentir con la cabeza.

Por desgracia, como efecto colateral de este … digamos … enfoque del negocio, es la mediocridad del trabajo realizado, los gerentes no se preocupan de formar correctamente a sus empleados, ni de facilitarles las herramientas necesarias para poder realizarlo de una forma eficiente. Es mas, tanto a la consultora o empresa que cede al personal realiza el proyecto, si este es facturado por horas, los tiempos de vida largos de los desarrollos, mantenimientos, etc … es un regalo del cielo, mientras la empresa continua sin decir nada, la fiesta continua.

Verdad verdadera.

Febrero 28, 2008 by arequipe

Esto si es verdad verdadera.

TiarEcol

Haz clic sobre la imagén para verla completa. Fuente: http://www.tiraecol.net/

Sin comentarios ….