Categoría: Programacion

Iconos en links usando CSS

Hay una propiedad de CSS que no conocía, hasta ver este mini tutorial, que permite agregarle íconos a los links respectivos a la extensión del archivo:

a[href *="flickr.com/photos/"], a[href *="zooomr.com"], a[href *="imageshack.us"], a[href *="bubbleshare.com"], a[href *="sevenload.com/bilder/"] {

padding: 5px 20px 5px 0;

background: transparent url(icons/icon_pic.gif) no-repeat center right;

}



Se le puede asignar a cada enlace con una o más extensiones una imagen para imprimir y que se vea como en la imagen de ejemplo, tampoco es necesario agregarlo para todos, sólo las extensiones que nos interese, una entrada en el CSS y listo!

me pareció una excelente forma de aclarar los links a archivos, más aquí donde está el archivo CSS y las imagenes para descargarse.

Seguir leyendo el post »

12 señales de que eres un mal programador

Es probable que no coincidan con todas o se pongan como trolls efervescentes a defender alguno de los items tocados, pero si lo piensan con un poco de apertura mental se van a dar cuenta de la cantidad de errores que cometemos como programadores :D

1. Java es todo lo que necesitas.
No ves la necesidad de usar ningún otro lenguaje, ¿por qué no se puede hacer todo con Java? No te importa ver código en Python o Ruby que logra en 10 lineas lo que llevaría varias hojas de código Java. Además, seguramente las nuevas características de la próxima versión del lenguaje lo arreglaran de todas formas. (Esto es aplicable a casi cualquier lenguaje, pero ocurre que entre la comunidad Java parece estar más extendida esta forma de pensar)

2. El término "enterprisey" (NT: se trata de un término sarcástico utilizado para designar productos complejos más allá de lo necesario) no te suena a broma.
"Enterprise" no es sólo una palabra, es una filosofía, una forma de vida, un camino a la iluminación. Cualquier cosa que pueda ser escrita, desplegada o actualizada con un trabajo mínimo es descartada como un juguete que no "escalará" para futuros usos. Mientras tanto la mayor parte del trabajo real en tu oficina se hace enviando hojas de cálculo en Excel mientras esperan a que termines de construir tu nueva visión corporativa.

3.Te opones férreamente a las funciones/métodos de más de 20 líneas de código.
(o 30 o 10 o cualquier otro número) Lo siento, algunas veces una función larga es justamente lo que necesitas. Normalmente las funciones cortas son más sencillas de entender, pero algunas veces se pueden expresar más fácilmente en una sola función más larga. El código no debería hacerse más complejo sólo para adecuarse a criterios arbitrarios.

4. "¡OH DIOS MÍO! ¡PATRONES!"
Los desarrolladores que buscan constantemente la forma de aplicar patrones a cualquier problema de código con el que se encuentran están añadiendo una complejidad innecesaria. Lejos de ser algo que busques, deberías sentirte mal cada vez que tienes que utilizar un patrón de diseño, significa que estás escribiendo código que hace las cosas más complicadas y que puede ser de dudosa utilidad. Pero, ¡ey!, tu código tiene patrones, bien por ti.

5. Los ciclos de CPU son un recurso precioso y tu estilo de programación y lenguaje reflejan esas creencias.
Hay montones de problemas en los que tienes que tener muy en cuenta el consumo de CPU (modelado/simulación, procesado de señales, kernels de sistemas operativos, etc), pero no es tu caso. Para la mayor parte de los desarrolladores de software sus principales problemas de rendimiento están relacionados con las bases de datos y la entrada/salida. El único efecto de optimizar tu código para mejorar el uso de CPU será disminuir en 2 milisegundos el tiempo necesario para la próxima consulta a la base de datos. Mientras tanto el desarrollo de la aplicación se hace más lento, no puedes hacer frente a los nuevos requerimientos y te encuentras con problemas serios de calidad. Pero al menos estás ahorrándote montones de ciclos de CPU… eventualmente.

6. Piensas que ninguna función/método debería tener más de un return.
Esta la he oído alguna que otra vez, y normalmente la razón que me dan es que el código es más sencillo de analizar. ¿Según quién? Yo encuentro más fácil de leer un código más simple, y normalmente el tener más de un return simplifica el código.

7. Tus usuarios son estúpidos. Realmente estúpidos.
Simplemente no puedes creer lo estúpidos que son, olvidándose constantemente de hacer las cosas más sencillas del mundo y cometiendo errores tontos al usar tu aplicación. Nunca has considerado que quizás es tu aplicación la que es estúpida porque eres incapaz de escribir software decente.

8. Te enorgulleces enormemente del gran volumen de código que escribes.
Ser productivo es bueno, desafortunadamente escribir montones de líneas de código no es lo mismo que ser productivo. Los usuarios nunca comentan "Guau, este programa puede ser difícil de usar y estar lleno de errores, pero al menos sé que hay un montón de código por debajo." En lugar de ser productivo, generar toneladas de mal código retrasa a los demás desarrolladores y en el futuro su mantenimiento constituirá una pesada carga.

9. Copiar y pegar es genial, te ayuda a escribir código desacoplado.
Defiendes tu uso del copy paste con extraños argumentos sobre desacoplar código y eliminar dependencias, mientras ignoras el aumento del tiempo de mantenimiento y los problemas de duplicación de errores. A esto se le llama "racionalizar tus acciones".

10. Piensas que la gestión de errores consiste en capturar todas las excepciones, registrarlas, y continuar como si nada.
Eso no es gestionar errores, eso es ignorar errores y es el equivalente semántico al "on error next" de VB. Sólo porque hayas registrado el error en algún sitio no significa que lo estés tratando. Tratar errores es algo duro. Si no sabes qué hacer exactamente cuando te encuentras con un cierto error, simplemente deja que la excepción se propague y que un nivel más alto del código lo trate.

11. Modelas todo tu código en UML antes de escribirlo.
El modelado entusiasta de UML se lleva a cabo normalmente por aquellos que no escriben demasiado código, sino que se consideran arquitectos de software. Las herramientas de modelado atraen más a aquellos que piensan que el código se puede escribir en una sala de conferencias manipulando pequeños gráficos. Los gráficos no son el diseño, y nunca serán el diseño, para eso está el código.

12. Tu código borra datos importantes.
Escribiste un cierto código que se supone que debe sobrescribir los archivos de la aplicación con otros nuevos, pero se vuelve loco y borra todos los datos del usuario.

Leyendo varios de estos recuerdo cuantas veces discutí con fanáticos por puntos como el 1 o el 4 :D

Vía MundoGeek que lo tradujo, del original de Damien Katz, gracias a la fuente (!).

Seguir leyendo el post »

Buscando programador Java para móviles

Así rapidito y sencillo, ando necesitando consultoría de un developer de aplicaciones JAVA para teléfonos móviles, no es para mí pero aprovecho por aquí para buscar, por ahí uno me lee :P

No es para juegos, es para una aplicación offline-online, Java obviamente. Interesados escriban a fabiomb(arroba)gmail.com

Comentar »

El bot atacando infraganti

Me puse a ver las visitas online que había hace un ratito, y una de las particularidades de dicho script es que me dice que sección estan visitando en ese momento, como un log, para ver donde está cada uno en ese momento o que noticia se está viendo.

Muchas veces me encuentro con los spiders de Google o MSN inspeccionando el sitio, o con usuarios de este mismo blog, pero hoy me encontré con uno muy particular que decía algo así:

Anónimo 211.43.222.218 66 seg
http://www.fabio.com.ar/verpost.php?id_noticia=http://sabo.i-s-o.net/.
libwww-perl/5.65


¿libwww-perl? eso no es un browser, ¿pasar una url como variable? papito, eso todavía funciona pero fue cochino de tu parte :P

Y si, me encontré con varios intentos de XSS (Cross-site Scripting), pero lo más interesante del caso es que proviene de múltiples IPs, es obvio que alguien está queriendo divertirse con este blog con unos lindos proxys de por medio para que no lo agarre y es muy probable, también, que lo esté haciendo con un bot que hace todo esto por él (lammer)

Seguir leyendo el post »

Día del programador

Dicen que hoy es el día "no oficial" del programador, si, el día 256 del año :P (salvo que sea bisiesto, claro) así que, aunque no sea un día oficialmente reconocido, feliz día a todos los que disfrutan del código.

Alguno tiene más info del tema? alguna web que quiera imponerlo como fecha oficial? algo más o menos actualizado?

A todo esto, y como programador lo digo, el imbécil (se sintió dolido, dice) de "Chabacano", ese usuario de Wikipedia español que me persigue y me baneó sin mediación alguna, ahora quiere borrar mis artículos en wikipedia en inglés ¿alguien con ganas de ayudar por mi lado? porqué no se dedica a borrar los de Jacobo Winograd? :P

Actualizado: Ahí ta, lo encontré :D Programmer Day

Seguir leyendo el post »

Colegiatura un carajo

Como podría no apoyar a un egocéntrico programador autodidacta como Galli en su cruzada contra la colegiatura :D es que lo han estado atacando con argumentos tan fuertes que lo obligaron a hacer una retractación :D

En fin, con un poco de humor la tormenta que surgió ante su post en la cual convocaba a "una manifestación de licenciados matemáticos y físicos" surgido por una aberrante y cesgada propuesta reguladora , algo que ya discutimos en este mismo blog cuando escribí "Matriculación informática, aberración" y de la cual pude sacar varias conclusiones pero una primordial: los que principalmente piden las colegiaturas en sistemas son estudiantes o viejos, pero rara vez profesionales activos. Galli ya ha expresadio varios argumentos en otras ocasiones.

Miren que es un argento-españolizado con un ego enorme, pero sin dudas tiene razón y opino como él en este tema. Principalmente porque es como yo, jajaja las cosas que le han dicho son "sublimes"

Por suerte Ricardo sabe como arreglárselas con los enfermitos que le llegan a su blog.

Seguir leyendo el post »

Fancy Form

Excelente forma de presentar checkboxes y radiobuttons en un formulario con todo el estilo posible...

El presupuesto

Hace ya bastante tiempo que laburo en esto, no soy el mejor, tampoco el peor, comencé comercialmente por 1998 haciendo paginitas web y cd-roms, era otra época, claro, pero eso fue evolucionando. Lo que nunca cambió es la falta de criterio a la hora de pedir presupuestos y hacerlos de muchos en nuestro negocio.

Principalmente de parte de quien solicita un laburo, ojo, a veces no es el cliente directo, si no un intermediario que solicita un presupuesto a un tercero, que podemos ser nosotros, y que se queja de "que caro" cuando en realidad está siendo barato.

A la vez es muy común que muchos profesionales de sistemas, en sus primeros trabajos free-lance, se "ensarten" con presupuestos bajísimos por muchas horas y se la pasen trabajando casi gratis. Aprendí en este tiempo que lo último que hay que hacer es rebajarse para conseguir un cliente o mantenerlo, no tenemos que ser exagerados en lo que pedimos, pero tampoco tenemos que permitir que se nos "viole" con requerimientos absurdos.

Como no quiero que a otro le pase también, prefiero advertirlos por si se mandan en la aventura de hacer trabajos por cuenta propia.

Así que acá van algunos tips que aprendí, curiosidades con las que me encontré, imagenes que no tienen absolutamente nada que ver y un ejemplo reciente de un amigo, mail real y todo :P

Seguir leyendo el post »

Firebug + YSlow, las mejores extensiones

Firefox tiene la ventaja de su plataforma abierta para las extensiones, esto permite tener las mejores del mercado de browsers y por ende las que tienen mayores posiblidades de crecimiento. Obviamente muchas veces nos dejamos llevar por la emoción de lo nuevo e instalamos las peores del mundo, esas que consumen memoria a lo loco o hacen lento el Firefox.

Pero una como Firebug es INDISPENSABLE para cualquier desarrollador Web. Te premite analizar TODO lo que necesitás saber de tu web, sumado a que te analiza hasta el tiempo de carga de cada item, el modelo DOM, hasta que valor tiene cada variable de javascript en ese momento, editar el código "inline" para ver los cambios, tocar el CSS, TODO lo que se te pueda ocurrir y muy bien armado en una pestaña inferior, útil, cómodo, usable, que más se puede pedir?

YSlow es un ejemplo de que más se podía pedir, este "analizador" es un complemento de Firebug y lo que te ofrece es una serie de consejos para solucionar los posibles problemas que puede tener la carga lenta de tu web. No sólo te indica donde hay problemas, te los describe y te linkea con la explicación completa en Yahoo, de donde sale la extensión.

Otra recomendable es la FireUploader, una extensión excelente que sirve para subir archivos a distintas redes como Flickr, PicasaWeb, Facebook, Box.net o Youtube, desde el mismo browser y listo, solucionado el tema. Ya en otro momento les comenté la de FireFTP, otra excelente extensión.
Permite arrastrar archivos a una ventana y los sube directamente, por lo que no requiere salir del Firefox ni aplicaciones especiales, sólo le falta un detalle y es hacer el resize de fotos para Picasaweb, pero sólo un detalle.

Combinando esto con la tradicional Web Developer no deberíamos tener excusas para hacer webs como la mía :D (che, que cuando armé el diseño ni tenía todo esto! :D)

Seguir leyendo el post »

Tu propio sistema de SMS vía web

Para programadores y para los que no tanto :P hay una forma muy sencilla de tener tu propio sistema de envío de SMS y es haciéndolo uno mismo :D no, esta vez no les voy a proveer código, simplemente el "how to" para algo tan simple y trivial pero que en nuestro país lo hacen complicado al pedo

Sobran sitios para enviarlos, muchos se preguntan ¿como hacen? pero es lo más simple de todo! envían un simple y tradicional mail... nada más que eso! toda una pantalla para hacer, en realidad, el acto más viejo y simple de la red, un correo.

Así que lo único que les hace falta es un manual de PHP e información, eso último les proveo hoy aquí que anduve coleccionando (de distintos foros y lugares donde se comentaba esto mismo) las direcciones de los distintos proveedores de telefonía de Argentina.

Seguir leyendo el post »

125 Noticias (13 páginas, 10 por página)