Mostrando las entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando las entradas con la etiqueta programación. Mostrar todas las entradas

domingo, agosto 30, 2009

Algunas reflexiones sobre el arte de la programación

.
1. Cualquier programa, sin importa cual sea, va a quedar obsoleto ni bien esté instalado.
2. Es mas sencillo cambiar las especificaciones para que se ajusten al programa que al revés.
3. Si un programa es útil, alguien va a hacer que le hagas cambios.
4. Si un programa es inútil, alguien va a hacer que lo documentes exhaustivamente.
5. Solo el 10% del código de todo programa llegará a ejecutarse en algún momento.
6. El programa crece siempre hasta consumir todos los recursos disponibles.
7. Cualquier programa no trivial, tiene mínimo, un error.
8. Las posibilidades de hacer el ridículo en una demostración pública de tu programa, son directamente proporcionales al número de gente viéndola, creciendo además excepcionalmente el riesgo cuanto mayor sea el dinero invertido en dicha aplicación.
9. Hasta que el programa no tenga al menos 6 meses de producción, no conocerás su error mas grave.
10. El trabajo requerido para corregir un error, aumenta excepcionalmente con el tiempo.
11. La complejidad de un programa crece hasta exceder la capacidad del programador que tiene que mantenerlo.
12. Dentro de cada pequeño programa hay un gran problema pujando por asomarse.
13. Cuanto antes empieces a trabajar en tu programa, mas tiempo te llevará.
14. Un proyecto mal planeado necesite hasta 3 veces mas tiempo de lo esperado para terminarlo. Uno cuidadosamente planificado solo lleva 2 veces mas de tiempo.
15. Incluir mas programadores en un proyecto atrasado, solo logrará retrasarlo mas.
16. Un programa nunca está menos de un 90% completo y mas de un 95%.
17. Si tu programa automatiza una porquería, solo conseguirás que sea una porquería automatizada.
18. Crea un programa que incluso un tonto pueda usar, y solo un tonto querrá usarlo.
19. Los usuarios no saben lo que quieren hasta que usan el programa.

Vía Taringa

viernes, abril 24, 2009

Ranking Tiobe de popularidad de lenguajes de programación - Abril 2009

.

Como alguna vez comenté, el ranking que TIOBE es un instrumento de referencia que indica la popularidad de los lenguajes de programación. El ranking se actualiza mensualmente  y es constuido a partir de datos obtenidos en buscadores y en otros portales especialziados en programación. Para un mayor detalle acerca de como se construye acceder a este enlace.

Ya se ha publicado la versión correspondiente a junio 2009 donde se puede observar el siguiente orden:


Se observa como Java sigue liderando (aunque la tendencia de no preferencia sigue rigiendo). Por otro lado se ve como Perl continúa su pronunciada caida y Python afirmándose lentamente en la preferencia de los programadores.

Es interesante ver como los lenguajes de manejo dinámico de datos estpán desplazando a los monolíticos o estáticos.

viernes, marzo 13, 2009

Subsidios para emprendedores de la industria del software

.
ATENCION -> Hay plazo hasta el 22 de abril


El Ministerio de Ciencia, Tecnología e Innovación Productiva, a través de laAgencia Nacional de Promoción Científica y Tecnológica, llama a la presentación de proyectos de desarrollo de software y servicios informáticospara la adjudicación de subsidios en el marco de la convocatoria
Emprendedores FONSOFT 2008.

El llamado tiene como objetivo promover el espíritu emprendedor dentro delsector de software y servicios informáticos y colaborar con la constituciónde nuevas empresas y la consolidación de las ya existentes.

En la edición anterior se aprobaron 132 proyectos por un monto total de casi$9.500.000. En esta oportunidad se otorgarán hasta $150.000 por proyecto.

El llamado está dirigido a personas físicas y empresas unipersonales osociedades que no tengan más de 24 meses de antigüedad desde suconstitución. Las mismas deberán estar radicadas en territorio nacional y enel caso de las empresas deberán satisfacer la condición de micro o pequeñaempresa dedicada a la producción de software.

Los proyectos podrán presentarse hasta el 22 de abril de 2009 a las 12:00hs.

Las bases y formularios se pueden consultar aquí

jueves, febrero 26, 2009

Memorias de un informático

.
Son una serie de artículos donde un cumpa tecnológico va contando como ha sido su vida profesional. En este caso recomiendo (para recordar o quizás conocer el ayer nomás) un artículo sobre los monolíticos mainframes. Aparte os digo que otro artículo es muy bueno, uno que cuenta como era la metodología de procesamiento de los años 70, muy distinta a la actual, yo la he usado con mis primeros proyectos de soft en la década de los 80.

Que disfruten

Es imposible hacer buen soft

.
Reproduzco unas interesantes reflexiones encontradas en el blog de Chuidiang, donde su autor plantea que el problema de generar soft es un problema de mercado y de autoestima.

Es imposible hacer buen software. "Parece un poco radical, pero es la conclusión a la que estoy llegando, al menos para el 99% de las empresas que hacen software.

El problema principal es que un programador que se queda de programador mucho tiempo es considerado como un fracasado. Y el programador, viendo que le consideran un fracasado, acaba sintiéndose como tal. En cuanto lleva un poco de tiempo, tienden y tiende a subir de categoría, ser jefe de algo y dejar de programar.

Sin embargo, ya lo dice el refrán, sabe más el diablo por viejo que por diablo. Hay montones de pequeñas tonterías de programación que se aprenden con la experiencia. Y son muchas pequeñas cosas. Se puede hacer un listado de ellas y dárselas a los que empiezan a programar, pero lo verán como un rollo, no entenderán el porqué de esas cosas y no pondrán en práctica la mayoría de ellas. Tampoco se las puedes explicar una a una ni perseguir que las cumplan.

El resultado es que según los programadores no fracasados ascienden y entran nuevos programadores, se tropieza una y otra vez con los mismos problemas, la misma forma no idónea de hacer las cosas.

Y es que programar bien es casi un arte. Un antiguo artesano era capaz de hacer un buen bolso de cuero, un buen botijo o unos zapatos estupendos sólo después de haber pasado unos años de aprendiz de un maestro y sólo después de haber pasado otro montón de años haciendo él mismo de maestro. Un programador entra en la empresa y nadie le enseña nada, aprende sobre la marcha y cuando aprende a compilar sin el IDE, le hacen jefe de cualquier cosa y meten a otro programador.

[Coincido plenamente con los conceptos aportados en el párrafo anterior, dado que pienso que el programador es un tipo que se siente capaz de tomar casi cualquier herramienta y dominarla y combinarla en su toolbox en poco tiempo.]

Así sale el software que sale y pienso que es ese el principal motivo del fracaso de muchos proyectos software, no la falta de una metodología estupenda. Y salen bien los proyectos que cuentan con la suerte de tener programadores nuevos muy, muy espabilados, o conservar programadores con experiencia y que sigan con ganas de hacer cosas sin sentirse fracasados."


jueves, diciembre 04, 2008

Críticas a la ingeniería del software

.
Críticas a la ingeniería del software es el título de un post del blog Navegápolis . Es interesante como disparador de reflexiones y debates que pueden enriquecer la disciplina de la computación. Más allá del cuerpo del artículo sugiero leer los aportes de los usuarios sobre el tema.

martes, septiembre 16, 2008

Leyendo Gmail con PHP

.
En el blog "Divide & Conquer" nos presentan una script PHP para leer correos de Gmail.

jueves, septiembre 11, 2008

Libro gratis: "Data Structures and Algorithms"


"Data Structures and Algorithms" es un libro de Granville Barnett y Luca Del Tongo distribuido gratuitamente en esta web. La obra es de suma utilidad para el aprendizaje de los conceptos fundamentales de las estructuras de datos y la programación de computadoras.


martes, septiembre 09, 2008

Servicios y librerías para visualización de datos

.
En el blog "A beautiful WWW" se presenta una recopilación de las mejores librerías públicas y servicios para visualización de datos. Estas herramientas son bastante útiles a la hora del desarrollo, debido a que suelen ahorrar bastantes esfuerzos y darnos una presentación profesional de nuestro trabajo. En particular, lo digo por que he utilizado algunas de ellas (Google Maps, GraphViz, OpenLayers) y me ha facilitado bastante la tarea.

1. Prefuse (Java)


2.
FLAIR (Flex)


2. simile (AJAX)



4. GigaPan (Servicio)


5. Modest Maps (Flash, Python)



6.
Google Visualization API (Javascript)


7. Google Chart API (Servicio, Javascript)


8. Google Maps API (Javascript, Flash)

9. GraphViz


10.
JFree (Java)

11. pChart (PHP)


12. OpenLayers (JavaScript)



13. Anti-Grain (C++)


14. JGraph (Java)


15. Boost Graph Library (C++, phyton wrapper)


16. Open Flash Chart (Flash)


17. Ubigraph (Wrappers for Python, Java, C)


18. JUNG (Java)


19. TimeMap (Java)


20. Many Eyes (Servicio)

Gracias Gabriel

miércoles, septiembre 03, 2008

Mootools librería javascript para efectos especiales

.
Con una galería de fotos hecha con moocicle me enganché con la librería Mootools. La cual provee un nivel de abstracción, que según sus autores, facilita el desarrollo rápido e independiente de explorador. Ahora, después de ver algunos ejemplos, creo que su fortaleza está en su soporte para el desarrollo de buenos efectos visuales. Desde su web, garantizan que la librería javascript funciona correctamente en IE6 y 7, Firefox & amigos, Opera, Safari y Camino.

Vía anieto2k

sábado, agosto 30, 2008

Alojamiento MySQL gratis

.
En el sitio "db4free" (databases for free) ofrecen, amablemente, cuentas gratis para utilizar su motor de bases de datos MSQL. Además disponen del utilitario phpMyadmin el cual brinda una interfaz en línea con la base de datos obtenida. Es un servicio útil para complementar hosting en el cual no dan servicio de base de datos o para realiar pruebas o prototipos sin necesidad de tener instalado el motor en la máquina de escritorio del usuario.

martes, agosto 26, 2008

Libro Gratis: "Python para Todos"

.

"Python Para Todos" es un libro técnico de Raúl González Duque que se distribuye gratuitamente bajo licencia Creative Commons. La obra trata sobre programación en Python, siendo adecuado para todos los niveles.

Indice

  • * Tipos básicos
  • * Control de flujo
  • * Funciones
  • * Orientación a objetos
  • * Programación funcional
  • * Excepciones
  • * Módulos y paquetes
  • * Entrada / Salida
  • * Expresiones regulares
  • * Sockets
  • * Interacción con webs
  • * Threads

Vía Taringa

viernes, julio 04, 2008

Entrevista a Javier Smaldone

.
Javier Smaldone es un programador argentino que "evangeliza" de forma constante sobre los beneficios del software libre. He leido un reportaje que le han hecho la gente de Rebelión, el el mismo Javier aporta unas interesantes reflexiones acerca del movimiento y unas opiniones, bastante críticas, sobre la empresa Microsoft.

jueves, julio 03, 2008

Ricardo Galli y su crítica a las interfases barrocas o extremas

.
Una inteligente reflexión sobre interfases "recargadas de tecnología" nos Ricardo Galli en su blog con el título vendedor "Si Greenpeace entendiese de programación". Cuanta razón tiene y cuanta energía intelectual puesta de gusto.

miércoles, junio 25, 2008

El "aguante" de MySQL o Aguante mySQL!

.
¿Por qué este título? muy simple porque MySQL se la aguanta, y bastante bien. No me creen, bueno miren lo que cuenta Ricardo Galli, de Meneame, en su blog bajo el título cargado de ironía "No está lista para la empresa ":

Esto es un boboapunte, pero es que ya no puedo reprimirme. Cuando llegó a 50.000 minutos lo hice, pero ahora con 60.000 ya no aguanto las ganas :-)

790 ? Sl 60235:33 /usr/sbin/mysqld

La línea anterior muestra que el servidor del MySQL (del servidor del Menéame) consumió más de 60.000 minutos de CPU desde la última vez que se reinició –en una actualización de seguridad–, son casi 42 días completos de CPU.

El status da la siguiente salida:

Server version: 5.0.51a-3-log (Debian)
…
Uptime: 79 days 18 hours 10 min 21 sec
…
Threads: 287 Questions: 6812282200 Slow queries: 51042 Opens: 64030 Flush tables: 1 Open tables: 497 Queries per second avg: 988.574

Está en marcha sin parar hace casi 80 días –a punto de dar la vuelta al mundo– y sin nada de “mantenimiento”. En ese período recibió casi 7.000 millones de consultas a casi 1.000 consultas por segundo de media con picos que superan los 10.000 consultas por segundo, sobre una base de datos que no es minúscula –más de 2 millones de comentarios, casi 400.000 artículos y más de 25 millones de votos registrados–.

No está nada mal para una base de datos que tiene sus limitaciones [*] y que hay que tratarla con cariño en las consultas, pero que difícilmente pueda ser batida en estabilidad y eficiencia.

No está nada mal, aunque el FUD no enterprise ready continúa a pesar de la evidencia de los años.

[*] La versión que tenemos es la de etch-backports, ya que la que está en Etch tiene problemas con algunas consultas full-text en UTF-8. También necesitó su trabajo de tuning en las consultas e índices, pero de eso no se escapa ninguna base de datos que tenga que deba dar tiempos de respuestas tan bajos como los que se necesita en las aplicaciones web en general y el Menéame en particular –que necesita hacer muchas consultas diferentes para generar cada página–.

martes, junio 24, 2008

Ranking Tiobe de popularidad de lenguajes de programación - Junio 2008

.

El ranking que TIOBE es un instrumento de referencia que indica la popularidad de los lenguajes de progarmación. Ya se ha publicado la versión correspondiente a junio 2008 donde se puede observar el siguiente orden:

domingo, mayo 11, 2008

Applet para ayudarte a probar pequeños programas

.
Si estás aprendiendo programación y estás haciendo tus primeros pasos, hay un applet de la empresa EduTool que podría llegar a ayudarte. La idea es que en forma visual puedas ver la ejecución de un programa que vos ingreses.

viernes, abril 11, 2008

PyWeek y los equipos argentinos

.
Roberto Allende, un importante evangelista de Plone y Zope, nos cuenta que "Hace una semana terminó pyweek[1], concurso que consiste en hacer un juego con python en una semana. En esta edición, la participaron Argentina fue importante, llegando al menos 3 de 30 equipos que entregaron.

Tuve la suerte de participar en el equipo llamado Palangana and Torus que hizo el juego "He Robot", juego que esta inspirado 'retorcidadmente' en la novela de Asimov.

En http://herobot.googlecode.com pueden ver screenshots y bajar el codigo fuente. El juego deberia funcionar en cualquier Linux que tenga Python y X instalado.

Luego de largas disputas y discusiones en la comunidad de jugadores hemos creado un grupo en flickr para subir pantallas caputaradas de los records, si lo juegan estan invitados a compartir sus records: http://www.flickr.com/groups/753402@N22 "



1. http://pyweek.org

jueves, marzo 13, 2008

PHP Universal Feed Generator

.
PHP Universal Feed Generator es una libreria que permite la creación simple de archivos de sindicación de contenidos. Sus características son:

  • Generates RSS 1.0, RSS 2.0 and ATOM 1.0 feeds
  • All feeds are are validated by feed validator.
  • Supports all possible feed elements.
  • Simple and easy to define channel and feed items
  • Implements appropriate namespaces for different versions.
  • Automatically converts date formats.
  • Generates UUID for ATOM feeds.
  • Enables usage of subtags and attributes. (example: image and encloser tags)
  • Completely Object oriented in PHP5 class structure.
  • Handles CDATA encoding for required tags.
  • Nearly same code for generating all kinds of feed