Categoría: Programacion

Diseñador o Programador ¿quien se encarga de la maquetación?



Gracias a una consulta por mail de un lector, Dante, molesto por los avisos piden como requisito/deseable "maquetar html+css en base a un JPG o PSD" surgió un post, je, si, ya se que tengo varios mails pidiéndome que hable de tal o cual tema o sugiriéndome, pero este como me toca de cerca me pareció bueno tomarlo.

  • Un buen programador no es un buen diseñador
  • Un buen diseñador no es un buen programador
  • Un buen maquetador tiene que ser medianamente decente en ambas tareas.
  • Siempre existe un capo que es la excepción a estas reglas, lo felicito :D


El problema es que aquí las empresas es donde ponen un parate: prefieren un diseñador mediocre con más conocimientos de programación y exigirle un nivel profesional o un programador con buen gusto antes que pagarle a una persona extra en el esquema para tener bien maquetado algo.

Así entonces muchos diseñadores tuvieron que, de prepo, aprenderse muchas cosas de PHP o sistemas de templates y a algunos les ha ido bien aunque la mayoría sea un desastre en esto. A la vez muchos programadores prefieren aprender sobre diseño, PSDs, Illustrator y demás yerbas para evitar tener que lidiar con diseñadores prehistóricos.

Esa fusión de conocimientos es prácticamente una materia nueva que pocos reconocen pero que debería ser ya una disciplina: el maquetador.

El programador debería saber hasta el HTML y punto, el CSS debería ser área del diseñador, pero ¿y el intermedio? el maquetador le debería asignar el HTML disponible al programador y el CSS al diseñador, es la guía. Este rol lo puede cumplir cualquiera de los otros dos pero ahí volvemos a encimar funciones.

Un maquetador podría ser una persona que maneje:

  • HTML
  • CSS
  • Conversión de PSD/Illustrator a HTML+CSS+Imagenes
  • Definición de estructuras a utilizar
  • Definición de complementos a utilizar (Javascript, etc.)
  • Diseño de interfaz (algo inexistente pero con tanta app. web)


Seguramente se me escapa algo porque lo estoy pensando así por arriba, pero creo que se entiende, una persona que pueda darle forma a los sitios web más allá del código duro del programador que no debería estar preocupándose por la presentación y más allá del diseñador que no debería estar preocupándose en aprender un lenguaje de código.

¿o si?

Me sigue quedando la duda si este rol no es parte de lo que deberían agregar a su currícula los diseñadores y programadores ¿es necesaria la división? ¿es realmente una tarea inalcanzable? ¿o sólo una comodidad para el empleador? Valen las opiniones Guiño

En mi caso tuve que aprender los tres roles, con sus falencias claro, pero como venía del lado de la programación y aprendí a armar boludeces en HTML hace mucho tiempo es como que ciertas cosas me resultan fácil, ahora bien, sigo sin poder creer como un diseñador no sabe nada de HTML o como un programador no se actualizó y sigue usando el tag FONT :D

Seguir leyendo el post »

Novedades para los Links de Viernes



Cada dos o tres días tengo tiempo para escribir un par de líneas de código para el nuevo Links de Viernes. Como algunos sabrán el sistema lo voy a independizar del blog. Esto no implica que los viernes no tengan sus links de siempre, no, para nada, sólo que quiero manejarlo como un sitio aparte y que no esté tan pegado al blog así puede tener vuelo propio.

Como tal estuve trabajando en algunas mejoras, nada del otro mundo, pero si que sirven para un sitio más independizado, así que ahora les comento en que estuve trabajando y que falta para estar listo. El día que esté lo subo y emancipo del blog Guiño supongo que será antes de fin de año, je.

Seguir leyendo el post »

Mysql: actualizar un dato con una condición

Es un minitip para programadores en apuros, como siempre sirve googlear y que te aparezca un resultado, venga, hice lo mismo y correspondo con contribuir con la sociedad.

Querés actualizar un valor de 0 a 1 o de 1 a 0? una cosa que dependa de otra? por una condición? es fácil:

update usuario set negativizer = 
  case when negativizer = 0 
  then 1
  else  0 
  end 
where id_usuario = 1


Para darles un ejemplo, lo que hace es simplemente cambiar el valor cuando ya tiene uno y al volver a ejecutar esta sentencia lo vuelve a cambiar, ideal para valores binarios como este caso.

Se que hay otras formas pero me gustó esta de resolverlo :P

Seguir leyendo el post »

A Ponicke le gusta el Flamewar



Como lo conozco en persona y se que es un tipazo y un groso en ciertos aspectos (y no lo digo por el tamaño!), luego de haberlo acusado de "osito" en público :D creo que puedo criticarlo en esta oportunidad. Aprovechando que Sechole me pasó la data pienso criticarlo porque se la buscó :D

El amigo Alejandro Ponicke, conocido por el programa de TV Dominio Digital, varios eventos y empleado de Microsoft, es confrontativo, ya lo se, no voy a discutir eso de él porque yo soy igual :P pero esta vez... ah... que lindo flame war que provocó pero... ¿alguien se lo cree?

Vamos Ponicke, que armar dos artículos en contra de Open Office (costo: 0$) para marcar sus bugs (que los tiene y muchos) en tono "burla"... ¿no es un poco berreta? más porque, a diferencia de MS Office, hasta podés entrar en el código, encontrar el bug y crear un parche! :D eso seguro seguro que ni participando de las mejores reuniones que puedas tener con tu empleador te van a dejar hacer con el Office (costo: 400u$s) de tu empresa!

Lo paradójico del caso es que viniendo de MS, aunque lo haga de forma particular claro, es su blog (aunque esté dentro de Technet :P), es no encontrar este tipo de análisis de forma autocrítica. MS tiene muchísimo software y como tal es imperfecto, bugs le sobran, algunos de larga data, ni hablar en el Excel o el Word, es software tan complejo y con miles de funcionalidades que no extraña que falle.

Lo que tampoco extraña son los errores en Open Office, siendo elaborada por muchos menos desarrolladores pagos que su primo lejano y, para colmo, con demasiado control por parte de Sun, tiende a tener algunos huecos de calidad que otro software libre no tiene. Aun así funciona muy bien y al igual que me pasaba con el Office pago y caro de Microsoft, con Open Office algunas cosas fallan o no reaccionan como uno espera, aun así puedo hacer de todo con esta suite.

Mi recomendación para Ponicke, si tiene el valor para criticar el funcionamiento lo desafío a que encuentre uno de esos bugs en el código y postee justamente el parche a ese error, a ver si le sale Guiño si es así habrá contribuído con la sociedad. Porque una cosa es que alguien que no sepa nada de programación cite un error o bug, lo investigue y lo reporte, pero otra es que, siendo de la "competencia" te dediques a hacer un perfecto bugtracking pero... luego no hagas nada! eso sólo evidencia mala leche :P y no creo que sea el caso de Ponicke ¿no? pero... que se puede esperar de alguien que es un osito tan cariñoso! él lo hizo porque busca el amor masculino y la tetosterona del Software Libre :D si, busca un flame war para llenarse de comentarios, jejejeje, si los conozco!

Los dos posts, "Los bloopers de la suite de Oficina del Vecino y no es chiste, pase y vea" 1 y 2

Seguir leyendo el post »

Programando LdV


foto de Balakov


Cada cierto tiempo les voy a ir contando los cambios que hago del sistema de Links de Viernes para que, aquellos que los pidieron, puedan ir viendo el avance.

Este finde trabajé en lo siguiente:

Modificar horarios a 24:00 [OK]
Agregar link al perfil de usuario para editar las preferencias [OK]
Autovoto al publicar [OK]
retorno a nuevas cuando la cuenta vuelve atrás de un valor umbral [OK]
control de negativity [OK]
Corregir el error del [+] que lleva al tope de la página sin pedirlo [OK]


Ahora lo siguiente es:

Sistema de denuncias
Mejora en la interacción de usuarios
Marcar como favoritos
Generar listados de favoritos


En fin, la idea es que les sea útil y también me sea útil a mí :P así que proximamente habrá más novedades.

Para aquellos que temían que los Links que publico los viernes acá "ya estan todos vistos", tranquilos, que no publico los mismos, siempre vendrá con sorpresita a escondidas :D es decir, una selección de lo mejor del sitio y una selección personal que no necesariamente salió de ahí Guiño

Seguir leyendo el post »

Demo con HTML5 y Canvas

Sólo para aquellos usuarios con Chrome, Safari 4, Opera 10 y Firefox 3.5, excelente demo realizada en HTML5 con el objeto Canvas y música, genial.

7 sitios de generación de Thumbnails


Foto de Jurvetson


Estaba buscando este tipo de servicios para ver si me servían para algo y si bien momentáneamente los descarté para lo que estaba pensando (por ahí los uso, todavía no sé) me armé de una listita que compartiré con uds. por si les sirve.

Estos servicios son en su mayoría gratuitos pero cuentan con un servicio pago. El gratuito que te da cierta cantidad de impresiones por mes más una marca de agua con el link a ellos y el pago con distintos planes.

La mayoría requiere registrarse para incluirlo en nuestros sitios y agregando al código HTML la clave que te brindan al registrarte.

SnapCasa



Te da hasta 300k impresiones gratuitas al mes (con el watermark, sin el mismo sólo 100k), tienen varios servicios premium, es medio lento y de este blog todavía conserva un viejo thumbnail de hace como tres años :D

Igualmente una de sus ventajas es que puede utilizarse para links dentro de un dominio, algunos servicios sólo permiten thumbnails del dominio principal, SnapCasa si le paso la url de una nota mostrará el thumnail de esa nota.

WebSnapr



Este ya lo había probado varias veces antes y me resultó bueno porque actualiza rápido y uno le puede solicitar en el link que no use el cacheado. En este caso ofrece 100k impresiones por mes, también con marca de agua y con plugins para muchos CMS como Wordpress, Drupal y otros tantos.

También carga los thumbnails de cada nota en vez del dominio principal, bien ahí.

Shrink the web



Este también piensa un poco en los desarrolladores, tiene apis para PHP, plugins para Wordpress, VBulletin, PHP Link Directory, Drupal, etc. Al probar el de mi blog también me tiró un thumbnail algo viejo. Ofrece unos 250k impresiones gratis por mes.

Tumbalizr



Incluye una API, para usarla hay que registrarse, ofrece varios tamaños y, por suerte, no lo habían usado todavía con mi sitio así que pude generar un thumbnail actualizado :P ignoro cada cuanto se borra. Tienen cuatro planes y hay uno sin usar la API key (sin registrarse), registrado pero gratis y dos pagos. Parece bastante bueno.

ArtViper



Medio escondido en un site de diseño está esta funcionalidad gratuita (requiere registro) para poder obtener thumbnails para tu sitio. Ignoro si funciona bien, estuve probando, no se si se verá el thumbnail, el site creo que es alemán.

Girafa



Otro servicio con modelo pago o libre, el libre permite hasta 2000 impresiones diarias, lamentablemente no pude hacer ninguna prueba y no tengo ganas de registrarme en todos y cada uno de los servicios existentes, ignoro su calidad.

Open Thumbshots



Hasta ahora el que me resulta mejor a la hora de implementar, los thumbnails son actualizables y el de mi blog andaba bastante bien. También tiene registro para usarlo gratuitamente aunque esta versión gratuita sólo ofrece thumbnails de 120px de ancho y tan sólo muestra el dominio principal, es decir, si lo uso para mi blog no mostraría cada nota si no siempre la portada. Esto obviamente le resta mucho, bah, la mayoría tiene este mismo problema y les recomiendo testear en todos para ver cual anda bien.

Incluye una comunidad de desarrolladores con varios scripts interesantes para agregar a cualquier proyecto, la versión paga ofrece más opciones y cuesta 5 dólares al mes.

Idea



No, no es un octavo servicio, es una idea que tengo para usar este tipo de servicios y sacarle el mayor provecho. Si uds. tienen un sitio web tipo directorio y quieren screenshots de cada sitio al que apuntan pero no quieren pagar porque no tienen los recursos hay una idea que se me ocurre.

Un script para que utilice TODOS estos sistemas a la vez y elija, al azar o contabilizando, el thumbnail de cada sitio al que apuntan pero tomándolo siempre de un sistema diferente.

Haciendo un promedio de 150.000 impresiones mensuales que permite cada uno y multiplicándolo por 7 realmente llegarían a una cantidad de visitas que ameritaría pagar los cinco dólares por mes que cuestan y listo, pero si todavía estan en eso pueden hacerlo y... de paso... compartirlo! :D

Seguir leyendo el post »

Como tener tu propio entorno de desarrollo

Hamster Gamer


Hace un tiempo escribí un artículo para Mariano explicando cómo instalar un servidor Apache, MySQL y PHP en tu propia PC para comenzar experimentando con la programación web, ¡fue hace unos cinco años! y hubo muchos cambios al respecto. Ahora quería volver a mis "tutoriales" para explicar un poco cómo hacerlo y poder comenzar a trabajar en la PC de uno.

Como muchos de mis lectores usan Windows es obvio que deberé armar el tutorial para los windowseros pero... con una excelente salvedad, salvo el sistema operativo todo lo demás que les recomendaré será Software Libre.

El paso siguiente a aprender a instalar todo esto sería abrir un poco más la cabeza y pasar a un sistema operativo libre, pero no voy a volverlos locos con el tema. Todo lo que aquí explique es aplicable en Linux, a veces más fácil, otras más complejo, pero practicamente igual.

Como a mi me costó mucho aprender todo esto en su momento no quiero que a los más jóvenes que recién empiezan les cueste tanto. Recuerdo en mis primeros años estudiando sistemas como unos ayudantes que mal llevaban semejante "título" me dijeron "a nosotros nos costó aprender esto, a ustedes también les tiene que costar, no vamos a repetir nada, si no escucharon se joden"... si, "ayudantes", bueno, yo no pienso precisamente así por lo que prefiero darles un poco de mi experiencia que, si bien es poca, algo es algo :P

Seguir leyendo el post »

Blog para móviles

Una horita de código, un poco de rebusque y ya tengo la versión de este blog para móviles. No es gran cosa todavía y apenas permite leer los posts, loguearse, comentar y no mucho más.



Pero le agregué un "toque" de programador a la cuestión y es el resize vía servidor de las imagenes que posteo. Así, para aquellos que no pagan un gran paquete de datos (ej: 200Mb en vez de ilimitado) en sus teléfonos ahora pueden consumir menos recursos al entrar al blog.

No lo testeé con muchos celulares, tan sólo creo que funcionará con BlackBerry, iPhone y los teléfonos Nokia, el resto afuera todavía pero me van avisando si no ven la versión "móvil" (mobile suena más cheto, no?) y listo, los agrego.

La resolución que le dejé a la versión "capada" es de 320 pixeles de ancho, supongo que en la mayoría de los fonos se verá bien, ustedes dirán. También achiqué el tamaño de la letra un poco y ajusté el header a una mini-versión.

Más adelante le agregaré un botoncito para poder pasar a dicha versión de forma manual para quien quiera y volver a la "completa", eso saldrá más tarde, hasta ahora es tan sólo una prueba de concepto y parece funcionar.



¿que no es flexible el PostRev? pero papito! :D igual quedó medio engendro mutante en algunos lugares, pero casi no hubo hardcodeo, me faltó eso sí regular el tamaño de los videos en flash, ni idea como hacerlo todavía pero veremos.

Seguir leyendo el post »

MySQL Query Cache para todos

Servidores
Un básico para los que tienen servidores, obviamente para hostings es esencial tener el caché de MySQL activo, pero algunos no lo tienen, me sorprende.

Pero no sólo para proveedores sirve, para desarrolladores "in house" es muy importante tenerlo activo. Sucede que la versión "community" del MySQL no tiene activo el Query Caché y, entonces, la respuesta del servidor local no es la misma que el de nuestro hosting.

Lo que hace esta opción del MySQL es conservar las consultas más comunes y así no tener que repetir resultados. Por ejemplo la portada de este blog, cada minuto varias personas entran y es exactamente la misma. Uno podría guardar en caché todo el HTML y servirlo a gusto, pero si hay cambios en algunas secciones... es complicado, ahora bien, si guardamos cada query a la base de datos y si no hubo cambios... es mucho más fácil!

El ambiente ideal sería donde todo lo cacheable sea cacheado :D (que palabrerío) ya que el Query Cache, como su nombre indica, sólo se encarga de Querys a la base de datos, específicamente SELECTS sin subselects, sólo cuando son exactamente las mismas consultas y un largo etcétera de pros y contras que pueden leer en este excelente artículo recomendable para todo DBA novato en MySQL.

Hay que tener cuidado con el tamaño, algunos creen que un caché enorme es mejor, pero no es así. Una caché muy grande provocaría que al ser invalidada se bloquee todo un query, se tenga que limpiar, volver a cargar, etc. Es ideal para manejar querys repetitivos e iguales, por eso daba como ejemplo la portada del blog.

Chequeando si tenemos Query Cache activado:
mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

Verificando el tamaño:
mysql> SHOW VARIABLES LIKE 'query_cache_size';
+------------------+----------+
| Variable_name    | Value    |
+------------------+----------+
| query_cache_size | 67108864 |
+------------------+----------+
1 row in set (0.00 sec)


Si queremos modificar las opciones hay que editar el archivo my.conf

query-cache-type = 1

esta opción habilita el caché, el 2 sería "on demand" (en el query se especifica que se usa caché) y el 0 es apagado

query_cache_size=32M

el tamaño en Megabytes, yo uso hasta 64Mb o 32Mb

Luego se reinicia el servidor y listo, ya está el caché. Hagan la prueba en un servidor local, instalen un Wordpress o un PHP BB, si tienen una base llena mejor, y hacen la prueba, la diferencia de velocidad es gigante.

Más info en la web oficial, también para configurarlo

Seguir leyendo el post »

133 Noticias (14 páginas, 10 por página)