Archivo de la categoría Trabajo

Típico susto de un manazas dormido a las 8.30

Está claro que antes de las 9 de la mañana, si no tienes trabajo y estás medio dormido, es mejor no andar toqueteando archivos y menos todavía dedicarte a hacer limpieza en el proyecto sobre el que llevas meses trabajando.

A principios de mes, me he dedicado durante un par de semanas a darle un lavado de cara a una aplicación web que tenemos aquí que se estaba quedando ya muy cutre por tantos parches que se le metían encima. Creé entonces una hoja de estilos completamente nueva. Hoy hace una media hora, estaba ocioso y entré en la carpeta de las hojas de estilos y ví que seguía existiendo la antigua hoja. Como el rediseño estaba terminado, decidí borrarla. ¡Craso error!

Efectivamente, borré la hoja de estilos nueva y no la antigua. Es lo que tiene estar dormido. El problema es que la borré del servidor con ubuntu que estamos usando para pruebas y nada de irte a buscarla a la papelera del windows. Os doy la solución más sencilla que encontré.

Mi hoja de estilos era guardada por la caché del navegador entonces sólo tenía que ir a buscarla a la carpeta de los archivos de caché del navegador. En el caso de firefox existe una extensión que nos permite localizarlo a través del navegador: CacheViewer. Desgraciadamente en mi caso, yo le había dado a recargar a la página y ya me había desaparecido la hoja de estilos. Sí, hoy no estoy muy espabilado.

En IE, es donde he conseguido localizarla, váis a Herramientas > Opciones de Internet. Pincháis en Configuración en el apartado Historial de exploración. Luego pincháis en Ver archivos en la nueva ventanita que os abre y ahí sólo tuve que buscar la hoja de estilos. ¡Menos mal!

Creo que me voy a volver a la cama… si pudiera.

Etiquetas: , , , ,

Maldito seas, usuario!

Hay algunos lunes en los que estarías más a gusto fichando en el INEM. Está bien, quizás exagere pero es que no puedo con algunos usuarios.

Cliente: Hola, no se me ve la página, esto es un desastre! Yo quiero ver la página y yo soy una persona que hace las cosas bien y no puede ser que esto esté así…

Programador: Hola, uummm, bien, pues dime que navegador estás utilizando para que pueda ver lo que tú estás viendo e intentar solucinarlo.

Cliente: No tengo porque decirte nada, yo uso un ordenador con pantalla a color como todo el mundo. A mi no me vengas con rollos técnicos…

(El programador respira hondo, viendo lo que se le viene encima, y se calma).

Programador: Mire, yo le entiendo, pero necesito saber que navegador es, porque yo ahora mismo lo estoy viendo correctamente pero es posible que pueda ser porque tiene un navegador desactualizado o una resolución distinta…

Cliente: Ya te dije que no quería saber nada de detalles técnicos el caso es que yo no veo bien la página, uso el mismo navegador que todo el mundo, el explorador 5.5.

(Maldito seas, Bill Gates, así ardas en el infierno!)

Programador: Vaya, me temo que tengo que decirte que ese navegador es muy antiguo deberías actualizarlo. Si vas a…

Cliente: Cómo??? Mi ordenador está completamente actualizado, tenemos un informático en la empresa que se ocupa de eso y hacemos copias de seguridad y todo cada semana, está todo completamente actualizado.

Programador: Pues tengo que decirte que no es así, ese navegador se ha dejado de utilizar desde hace mucho y puedes comprobarlo que incluso Microsoft ya no da soporte. Te voy a mirar si puedo hacer algo con la resolución pero por favor actualiza el navegador o coméntale al informático que lo haga.

(Ese informático seguro que cobra el doble que yo y no la pega por lo visto).

Lo dejamos aquí, pero este es uno de los ejemplos de personas con las que debemos lidiar los que estamos en la parte baja de la cadena de producción, los programadores. Personas que discuten con el que se supone sabe más como si ellos tuvieran la verdad absoluta. No me imagino esas personas discutirle al arquitecto que les entrega el plano de su futura casa si esa columna portadora no es útil aquí o si cuando el médico les pregunta por sus síntomas, ellos contesten que no quieren detalles técnicos sino sólo una receta para unos antibióticos.

Este tipo de personas son las que me dan ganas personalmente de montarme mi propia empresa para decirles:

  • Si no tienes licencia de windows, y sigues usando IE 6.0, no doy soporte.
  • Si pagas 20 € al mes por el mantenimiento, no doy soporte los fines de semana.
  • Si me gritas por teléfono porque la reserva no ha pasado a ese color verde, no doy soporte y cuelgo el teléfono.
  • Si me mandas 3 emails faltándome al respeto prácticamente en los 3, y luego resulta que quien se ha equivocado eres tú y por teléfono no eres capaz de pedirme disculpas, no doy soporte.

En el fondo, la culpa es de todos nosotros, programadores, jefes, … todos los que vivimos de esto que nos dejamos pisotear por este tipo de personas que lo único que se merece un “Váyase a tomar por el culo!”. Ese tipo de personas sigue pensando que lo que hacemos es como un juego, que los cambios que nos piden nos llevan 5 minutos porque el resto del tiempo debemos de estar viciando al WoW.

Bueno, necesitaba desahogarme un poquito. Ya me queda menos para el viernes y mis segundas vacaciones del verano. Necesito desconectar de toda esta gente!

Etiquetas: , ,

Mantén ordenado tu correo en Gmail

Seguramente, esto será uno de tantos miles de posts sobre como mantener ordenado tu correo en Gmail, pero llevo un par de horas reordenando mi cuenta a golpe de scripts con greasemonkey y utilizando gadgets de Google Labs y me apetece compartirlo con vosotros.

El primer paso para tener una cuenta de Gmail eficiente es no dejar que se acumulen los correos en la bandeja de entrada. Es importante vaciarla para poder eliminar localizar rápidamente los correos recibidos nuevos. Al principio, recibiréis poquitos correos pero si lo váis dejando en la bandeja de entrada, os ocurrirá lo mismo que a mi, llega un punto en el que no sabemos ni lo que tenemos ahí guardado. Reservas en hoteles, Compras online, mails de listas de correos, cvs enviados, ofertas de trabajo, …

Es cierto que podemos confiar en el buscador de Google para encontrar un correo en concreto, pero realmente hay formas más rápidas de organizar vuestra cuenta y poder localizar los correos en menos tiempo. Además tengo que reconocer que uno se siente como más tranquilo, más liberado al ver la bandeja de entrada completamente vacía y todos los correos ordenados en carpetas. Estos son algunos consejos:

  • Al vaciar vuestra bandeja de entrada, borrad sin miedo. Existe un montón de correos que no sirven de nada. Yo mismo en un par de horas me he cargado más de 1200 correos que llevaba acumulando y me he quedado con los únicos que me interesan unos 250.
  • Mientras váis vaciando la bandeja de entrada, intentad utilizar las etiquetas para archivar los correos que queréis guardar. Yo mismo por ejemplo poseo las siguientes etiquetas: Compras, Compras/Vacaciones, Cuentas, Empleo, Estudios, Estudios/PFC, Trabajo y Varios. Estas etiquetas se convierten en carpetas al utilizar el script para Greasemonkey, folders4gGmail. Greasemonkey es una extensión para firefox que permite utilizar scripts js desarrollados por usuarios en ciertas páginas como Gmail, Flickr, … folders4Gmail en concreto permite convertir las etiquetas de Gmail a una estructura de carpetas. Es extremadamente útil, os la recomiendo!
  • Existen varios gadgets que pueden facilitaros la vida y vuestro trabajo, utilizadlos. Algunos ejemplos:
    • Gmail sin conexión. Ten tu correo sin conexión a internet.
    • Vistas previas en el correo (Youtube, Flickr). Así puedes ahorrar tiempo.
    • Superestrellas. Parece una pijada pero puede ser una buena manera para destacar correos y no cometer errores.
    • Colores de etiquetas personalizados. A mi se me hacen pocos los que vienen predefinidos y algunos no me gustan nada.
    • Y otros muchos más, buscad, probad y decidid cual os es útil.
  • Bucead en las opciones de configuración! Yo no solía hacerlo pero últimamente es un hábito que estoy adoptando, gracias en parte a Berto que nos recomienda acertadamente aprender a utilizar nuestras herramientas. Por ejemplo, una de las cosas más útiles que creo que hice en los últimos tiempos ha sido ocultar las etiquetas que no utilizaba nunca o prácticamente nunca. Parece tonto pero eliminando información que no nos es útil, mejora la experiencia del usuario muchísimo.
  • Cread filtros! Si sois como yo, estaréis apuntados en bastantes listas de correo y notificaciones diarias o semanales de páginas que os interesan. A mi no me apetece leerlo todos los días y hasta hoy dejaba que se acumularan en la bandeja de entrada. Esto se ha acabado, he creado un filtro y se va directamente a su carpetita y cuando tenga un ratillo, lo leeré y lo eliminaré.
  • Si tenéis varias cuentas de correo, no sería mala idea centralizar un poco. Personalmente poseo 3 cuentas de correo, una para el trabajo, una para el blog y otra para cosas personales, voy a intentar juntarlo todo en una utilizando el reenvío y el sistema de carpetas que he preparado esta mañana. Veremos que tal funciona, pero así de primeras la idea de no tener que loguear en tres cuentas distintas me atrae bastante…
  • Echad un vistazo a los temas. No tenía ni idea de que se pudieran poner distintos temas visuales a Gmail hasta hoy (soy vago hasta para configurar lo mío). La verdad que aunque parezca una tontería puede conseguir que entréis con gusto al correo e incluso daros gana de poneros a trabajar… No sé si será bueno! :)

Me he levantado productivo por lo visto y creo que este libro tiene la culpa. Veremos cuanto me dura.

Etiquetas: , , ,

[PHP] Después del efecto 2000, el efecto 25/10/2009

Hoy me han enviado un correo electrónico del proveedor de hosting de una web de un cliente importante de mi empresa avisándome que por segunda vez en menos de un mes, volvíamos a tener un problema con un bucle infinito.

Si esto sigue así, tendremos que recortar los privilegios de los que estáis disfrutando, blablablabla…

El tira y afloja típico, vamos. Nos pusimos aquí manos a la obra para solucionarlo de nuevo y descubrimos lo siguiente.

El objetivo del script es recorrer los días del año buscando que se cumpla una condición para terminar. Si no se cumple esa condición, el script seguirá hasta la fecha final definida por el cliente desde el apartado de gestión. Este es el código que yo utilizaba para recorrer los días dentro del bucle while:

$aux = mktime(0,0,0,$mes,$dia,$ano) + 24*60*60;

$fecha_actual = date(“Y-m-d”, $aux);

Todo funciona sin problemas hasta el 25/10/2009. A partir de ese día, la fecha no se incrementaba y quedaba para siempre bloqueada en ese fatídico día 25/10/2009. Curioso era que si cambiaba el código y pasaba a sumar el día de otra manera, el código empezaba a funcionar misteriosamente.

$fecha_actual = date(“Y-m-d”, mktime(0,0,0,$mes,($dia+1),$ano);

Gracias a mi compañero de trabajo, hemos descubierto cual era el motivo. Probamos a sumar horas en vez de sumar días y hemos descubierto que el 25/10/2009 las 2 de la madrugada se repetía una vez. Comprobando el calendario, vimos que era la madrugada del domingo y mi compañero se dió cuenta de que era el cambio de hora!!

Efectivamente, el 25/10/2009 cambia la hora. Cuando den las 3 de la madrugada volverán a ser las 2. Esto que puede parecer algo inocente era lo que hacía entrar en un bucle infinito mi código. Si lo pensamos, en mi primer código lo que hago es sumar 24 horas al 25/10/2009 desde las 12 de la noche. Ese día se produce el cambio de hora, o sea que en realidad en vez de tener 24 horas, tiene 25. Después de realizar la suma y al volver a convertir los segundas en fecha normal, me encuentro con que estoy en el mismo día, efectivamente.

Os propongo dos soluciones. La primera sumar dentro de la propia función mktime como hice en el segundo cacho de código que os pegué. La segunda sería sumar en vez de las 12 de la noche, las 12 del mediodía con lo cual dejaría de afectarnos el cambio de hora. Quedaría algo así:

$aux = mktime(12,0,0,$mes,$dia,$ano) + 24*60*60;

$fecha_actual = date(“Y-m-d”, $aux);

Cuando piensas que ya lo sabes todo de PHP, siempre te acaban sorprendiendo…

Etiquetas: , , ,

El programador es tu amigo, no le grites

9.14, suena el teléfono en la oficina… Primera llamada del día y es para mi, que suerte :( .

Cliente X: Hola, me ha entrado un pago por tpv pero el pago no aparece por ningún sitio en el módulo de gestión.

Yo: Ajá, bueno, le voy a echar un vistazo a ver que ha podido pasar. Me puede dar algunos datos más del pago para intentar localizarlo.

Cliente X: Sí, es del cliente “manolín de los palotes”, he recibido el mail de aviso pero no encuentro el pago en la gestión.

Yo: Que raro, bueno, estoy accediendo…

Cliente X: Bueno, el pago sí aparece pero no aparece con el fondo verde o sea que aparece como no pagado.

Al principio, no aparecía, ahora que aparece pero sin el fondo verde y eso significa que no está pagado… Esto promete. Accedo al módulo de gestión y veo el pago marcado como pagado efectivamente pero no aparece con el fondo verde porque primero el administrador debe confirmarlo.

Yo: Mmmm, mire, el pago sí aparece pero tiene que confirmarlo para que aparezca con el fondo verde…

Cliente X: No, no, no, eso es mentira! Tiene que estar en verde si está pagado!

El cliente ya ha subido de tono por semejante tontería. Uno, dos y tres, yo me calmaré. Empezar la mañana gritando por teléfono con un cliente no me apetecía, entonces decidí darle el beneficio de la duda. Pero claro al confirmar yo mismo el pago, éste cogió su color verde de fondo como era de esperar.

Yo: Bueno, voy a ver… Mmmm, no, lo siento pero acabo de confirmar el pago y como puedes ver ha cogido el color de fondo verde.

Cliente X: Ah, bueno, sí, pero es igual que necesito muchas más cosas, …

El resto ya os lo imagináis, que si quiero esto, que si necesito lo otro, que si ya lo pedí, que si esto no va, bueno sí va pero no lo entiendo, …

La rutina diaria, vamos.

Etiquetas: , ,

No soy ni electricista, ni técnico de telefónica, soy programador!

Sí, soy un simple programador. Visto lo visto, en el currículum creo que es mejor poner lo que NO sé hacer en vez de mis habilidades. Empezamos:

  • Si se fue la luz, no me llames, no sé volver a restaurarla.
  • Si la televisión no funciona con el nuevo tdt, no me llames, no soy antenista.
  • Si internet no funciona, no me llames, no soy técnico de teléfonica.
  • Si la página está caída, no me llames, es cosa del hosting.
  • Si la impresora no imprime, no me llames, no soy técnico de impresoras.
  • Si el coche no sincroniza con tu móvil bluetooth, no me llames.

Soy programador, no soy ni electricista, ni mecánico, ni antenista, ni proveedor de internet, ni proveedor de hosting, ni panadero, ni frutero, … que me pierdo.

Aprovechando la coyuntura, quiero recordar que si entregamos un trabajo hecho en acuerdo con las especificaciones definidas y en el tiempo estipulado también queremos cobrar. Si a una empresa constructora al terminar tu casa le dices que no te gusta la forma de la cocina, que si el baño lo querías de verde en vez de blanco, que si la puerta es más pequeña de lo que pensabas y que no piensas pagarle hasta que lo cambien todo, lo más probable es que te lleven a juicio y te desangren hasta el último céntimo.

Etiquetas: ,

El cliente NUNCA tiene razón

En el restaurante, en el taxi, en cualquier otro sitio, podéis decir lo que queráis: el cliente es el rey, el cliente siempre tiene razón, … pero en el sector de la informática y en particular de programación web, está comprobado y más que demostrado que el cliente NUNCA tiene razón y el intermediario menos.

A mi no me gusta ese color naranja tirando a rosa, prefiero un amarillo más chillón, un amarillo limón!

Después de varios emails intercambiados en los que intentamos hacerle entender que ese color era demasiago agresivo y no pegaba con el resto de la página, accedimos a cambiar el color por el que el cliente solicitó en la home. Al día siguiente, nos pidió volver al naranja tirando a rosa original.

Espero que no haya ninguna manera de inyectar más código sql, es que he leído en la wikipedia como se hace…

Lo peor que le puede pasar a un programador es encontrarse con un cliente que cree que sabe o conoce gente que cree que sabe. Este cliente en concreto contrató una empresa de seguridad incluso para que realicen un informe de seguridad. Una simple página de noticias en la que no había ni pago online, ni datos ultrasecretos, y tampoco era un periódico de tirada nacional…

Por qué usáis php? Estuve hablando con un amigo mío que sabe algo de ordenadores y me ha dicho que está desfasado y deberíais usar asp.

Sin comentarios.

La página no se ve bien en mi monitor con la resolución 800*600, debéis arreglarlo sino la gente lo verá mal.

Con este cliente, bueno en realidad fue el intermediario que lo solicitó, hemos peleado más de una semana intentando demostrarle por todos los medios que la mayoría de los usuarios utilizaban 1024*768 y que no tenía sentido cambiar el diseño para que se viera igual en 800*600.  Una vez entregado el proyecto, resulta que el cliente final tenía en la mayoría monitores panorámicos y se quejó de que la página se veía demasiado pequeña. Cambio de diseño después de la entrega.

Me puedes cambiar el banner del boletín por este. Una semana después, mira es que al final el boletín será diario, cambia el banner y ponle la palabra diario al final. Una semana después, mira que al final el boletín será semanal, quítale la palabra diario. Una semana después, mira, cámbiale esta palabra y el color de fondo, …

Después de 5 cambios en menos de un mes, nos hemos decidido plantar y el banner quedó tal cual estaba hasta que contratamos un becario.

Por todas estas cosas y por muchas más, el cliente NUNCA tiene razón. Admiro los que consiguen llevárselos a su terreno haciéndoles pensar que fue idea suya cuando todo ha sido planeado por el equipo de programadores!

Etiquetas: ,

Lo mejor de no ser funcionario

Los que rondamos los 30 años hemos tenido que sufrir los típicos comentarios de la familia del tipo:

“Y por que no te sacas una oposición?”

“Es un sueldo fijo, piénsalo bien… no vas a encontrar trabajo fijo…”

“Te lo dije, estudia una oposición, no seas tonto, mira tu primo Carlos, la vida arreglada…”

Yo he aguantado estóicamente todos esos comentarios durante 5 largos años y hoy puedo decir que tengo mi recompensa.

  • Lo mejor de ser funcionario para mi es tener un sueldo fijo a final de mes y un horario por la mañana que suele ser de 8 a 15 dejando las tardes libres.
  • Lo mejor de no serlo es cobrar más y tener ese mismo horario…

Bueno, cierto que sólo cobro más que los opositores de menor nivel y que sólo tengo este horario en verano, pero aún así…

Etiquetas: ,