Archivo para la categoría 'Informática'

Usa facebook para conocer a tus trolls

Una de las ventajas que la red social más utilizada ( aunque al parecer “solo por diversión” ) es la de conocer la cara de esa persona que ha dejado un comentario desagradable en tu web, que disfruta insultando a tus visitantes, o que se ha convertido en un comentarista de gran valor.

Hace nada ha llegado el siguiente comentario al artículo “Las primeras máquinas“, de este mismo blog:

UB sOn uNoS mk Hp Q nO sIRvEn Pa
MIERDa
IdIoTa El Q esCRiBiO yO aMO lA rObOtIKa MArIKas

El comentario ha sido borrado, ya que no creo que aporte nada a la conversación, y cada día estoy mas harto de la gente que solo escribe para tocar la moral. por mucho que nos guste recibir comentarios a los distintos artículos publicados. Ni corto ni perezoso, y aprovechando que el autor había dejado un correo aparentemente válido, he probado a buscarlo en Facebook, y he podido ver la cara de mi “querido visitante” en cuestión de segundos.

Por supuesto, es posible poner un correo valido pero que no sea tuyo, por eso intento ser muy cuidadoso con estas búsquedas y utilizar el resto de información disponible en el comentario para intentar determinar si realmente es el o no, y aconsejo a cualquiera que utilice este sistema ser siempre doblemente precavido, por lo que pueda pasar.

Me sorprende ver como la privacidad en Internet desaparece cada día poco a poco, y somos nosotros, los usuarios, los que cada vez nos desprendemos de ella sin ningún tipo de problema, al tiempo que criticamos a los gobiernos por cualquier medida que pueda limitar nuestra libertad.

Moraleja: Cuidado con lo que pones en Internet, que antes o después, todo se sabe…

Grandes empresas que han migrado a Linux: Caso Rentalia

linux_xpAunque éste enlace es bastante viejo, y he llegado a el casi sin saber como, me parece una de esas “lecturas recomendadas” para todo aquel que se haya plantado alguna vez migrar al sistema operativo del pinguinio.

El consejo más importante que nos dan: No tener calendario en la migración. Un consejo vital cuando se trata de migrar a todos nuestros usuarios a un sistema operativo nuevo, ya que por mucho que nosotros pensemos “Linux es igual que windows, y si sabes usar uno tienes que saber usar el otro”, esto no tiene por que ser así para nuestros clientes.

Yo, personalmente, añadiría 2 consejos más al de no tener calendario:

  1. Ponte en el pellejo de tus usuarios: Muchas veces he visto a los informáticos ( a falta de un nombre más adecuado ) tratar con desdén a sus usuarios ante dudas o preguntas. Así, lo único que conseguimos es que la gente añore ese sistema operativo anterior que les hacía las cosas más faciles.
  2. No dejes que tus motivaciones personales influyan en tu trabajo: A lo mejor ( y solo a lo mejor ) Linux no es lo que tu empresa necesita. ¿ Lo has pensado bien ?. En las empresas prima el rendimiento, y no el “ser mas cool”, así que antes de meterte en una migración de esas que se sabe cuando empiezan, pero no cuando acaban… debes preguntarte si es lo mejor para la empresa, y dejar a un lado los fundamentalismos.

Eso si, si de verdad os interesa llevar a cabo un cambio de semejante calibre, no se os ocurra dudarlo. Mantener una empresa con un parque de equipos basados en GNU/Linux es ( algo ) duro al principio, pero en cuanto pase un poco de tiempo, y tus usuarios se acostumbren… ten por seguro que no sabrás como has podido vivir sin Linux.

Problemas al actualizar a Debian Lenny

lenny_debian_50Desde que el 14 de Febrero el proyecto Debian publicara la versión 5.0, con el nombre en código Lenny, han sido miles (o incluso millones siendo muy optimistas) los servidores que han sido actualizados. Como de costumbre, el magnifico sistema de paquetes APT es capaz de gestionar la actualización de forma rápida y sencilla, al menos en el 99,9% de los casos. Sin embargo, el elevado número de paquetes existentes y la complejidad de todos ellos, junto con las diferentes instalaciones posibles, hacen que puedan aparecer algunos problemas en la actualización, que intentaremos solventar en este artículo.

  • Perl: Con lenny se actualiza de la versión 5.8 a la versión 5.10. Este cambio afectará a todos los programas que hayamos compilado con la versión anterior, ya que no podrán encontrar la librería libperl.5.8.0.so. La solución más segura es compilar de nuevo, dado que intentar que ambas versiones convivan nos dará muchos dolores de cabeza.
  • Locales: No recuerdo una sola actualización de Debian que no haya implicado un fallo en las locales del sistema. La solución es ejecutar el comando dpkg-reconfigure locales,para volver a generar las locales del sistema.
  • Paquetes deb generados por otros proveedores: ¡ Cuidado ! Debemos ejecutar siempre apt-get -s dist-upgrade para estar seguros de no tener problemas de dependencias. La mayoría de los proveedores externos de paquetes deb suelen tardar un poco más en actualizar sus paquetes, por lo que hay que ser muy precavidos.
  • Instalaciones de Plesk: Cerramos los ojos, encendemos un cirio, volvemos a comprobar que hemos sacado una copia de seguridad completa, y vamos instalando un nuevo Plesk, porque hagamos lo que hagamos, la vamos a joder :D
  • X11 y driver propietario nvidia: Si encontramos algún problema, basta con volver a instalar el driver para que se solvente. Sacar una copia de la configuración antes de actualizar nunca viene mal.

Los consejos de siempre, como hacer copias de seguridad periódicas, asegurarnos de los pasos que hacemos antes de hacerlo, siguen estando vigentes. Con Debian lenny disfrutaréis de una de las versiones GNU/Linux  más estables y  completas de las existentes.

¿ Tuenti se hunde por su propio exito ?

tuentiDicen que una imágen vale más que mil palabras, y en este caso concreto es más válido que nunca.

Tuenti, la red social similar a facebook, pero con mucha más privacidad, lleva varios días experimentando problemas de conexión y rendimiento. Esto les ha obligado a desactivar algunas de las aplicaciones que mantenían, de cara a rebajar el coste de los servidores, y ha terminado por obligarles a cerrar el proyecto por completo en momentos concretos.

El hecho de que una red social triunfe no es, a priori, algo tan bonito como pueda parecer. Sin tener en cuenta el renombre y la imágen que puedas llegar a obtener, pocos son los que diseñan un proyecto planteando que va a tener un exito masivo, y que donde ayer había 30, hoy serán 30.000.

Por la poca experiencia que tengo en este campo, ante una situación de sobrecarga ( demasiadas visitas/peticiones/carga de sistema ) la opción más rápida es siempre la de meter más máquinas que relajen la carga total del sistema, y es, también, la peor de las opciones que se pueden llevar a cabo, porque es una solución temporal que conlleva una serie de costes ( y bastante elevados si los servidores están en España ), que pueden poner en un serio aprieto a tu proyecto.

A modo de ejemplo de esto que comento, hace tiempo me vi envuelto en el proyecto Tonterias.com, justo cuando mi empresa presentaba una nueva versión de esta web de entretenimiento. Los resultados fueron mucho peor de lo esperados, ya que la nueva página, pese a que su programación era una auténtica obra maestra, conseguia tumbar un servidor mucho más potente del existente anteriormente en cuestión de minutos. La solución, después de una semana de esfuerzos, fue precisamente lo contrario de lo hecho hasta entonces: programación de combate ( también conocida como “Programación guarra” ), centrada en cachear los contenidos, en utilizar scripts de programación externos para controlar los contadores , generación de estáticos para reducir la carga del sistema, y una inversión no muy grande en un servidor para imágenes estáticas. Es decir, nos olvidamos de los manuales de estilo y programación, e hicimos lo estrictamente necesario para servir miles de páginas por hora sin que las máquinas echaran humo.

Por ejemplos como el que os comento soy de la opinión de empezar a optimizar un sitio que ha crecido demasiado rápido por la propia programación ( sin olvidarnos de las bases de datos ), en lugar de meter más y más máquinas. Y una vez que hayamos descargado a las máquinas de los errores más garrafales de programación “estilizada” ( como hacer una petición a la base de datos para sacar el menú cada vez que alguien accede a la web ), podremos usar esos nuevos recursos en cosas más utiles como comprimir las páginas antes de enviarlas al cliente, para reducir el costoso ancho de banda.

¿ Que cambios han hecho en tuenti para mejorar el servicio ? No lo sé, y espero con ansia saberlo. Pero si esos cambios se limitan solo a meter más recursos, en lugar de mejorarlos, confio en que tengan buenos patrocinadores, o serán un más de los mucho proyectos que murieron por su propio exito.

Creo que esto no va

egiptoerror¿ Existe una frase que contenga menos información que la frase “Creo que esto no va” ? Personalmente, yo estoy convencido de que no es así.

Esta frase la escucho casi a diario, en boca de gente que tiene algún problema con su ordenador, y que es totalmente incapaz de describir este problema, como si en lugar de un ordenador vulgar y corriente estuvieran manipulando los mandos de la más avanzada nave alienígena que el ser humano ha conocido nunca.

Y con esta simple frase, la persona en cuestión vuelca sobre el informático todos sus problemas, como en un mágico conjuro de “traspaso de marrón”. ¿ La culpa ? Nuestra, porque lo permitimos.
Creo que en otras ocasiones ya he hablado de que la mayor parte de los problemas que aquejan a la informática es ( en parte ) por los propios informáticos, que asumimos como normales situaciones o actitudes que no aceptaríamos. Y somos nosotros, también, los que fomentamos su uso al no cortarlas de raíz.

Por mi parte, cada vez que alguien intenta hacerme colar esa frase, con toda la tranquilidad posible le digo “o me das información más detallada, o no puedo ayudarte y cuelgo el teléfono ahora mismo”. A algunos les hace gracia, otros se molestan, pero en general, la gente lo comprende. Bastan unos pocos días para hacer que tu vida sea mucho más agradable :D

Como informáticos, nos ha tocado vivir en un mundo tan ingrato como hostil. Debemos ser nosotros los que eduquemos a nuestros usuarios, porque nadie más va a hacerlo.

6 motivos por los que la informática sobrevive a la crisis.

Viendo que “Sólo la informática se salva de la crisis en el sector servicios“, y que mucha gente no se lo explica, aquí os ofrecemos algunos de los motivos por los que esto está  sucediendo:

  1. Los sueldos son muy bajos: La mayoría de los informáticos trabajan con asignaciones profesionales totalmente distintas ( rama del metal, mecanizadores de datos, etc ). La mayor parte de los costes de una empresa de informática no está en la mano de obra, como si sucede con otras empresas, pero sí es la mayor parte de la productividad, por lo que despedir a una gran parte de la plantilla tendría más efecto en la producción que en los costes.
  2. Los recursos están sobreexplotados: En informática se realizan una gran cantidad de horas extras que ni se pagan ni se compensan ( “Hay que darle un empujón al proyecto, que está la cosa muy mal” ). Esto permite a los empresarios asumir nuevos proyectos sin necesidad de contratar más gente, y les hace a su vez dependientes de los trabajadores ya contratados y con experiencia en esa empresa, que además cuestan sensiblemente menos de lo que deberían.
  3. Existe una grán oferta de informáticos: Y los empresarios lo saben, y los informáticos lo saben, por lo que están más dispuestos a tragar con la sobreexplotación ante el miedo de verse de patitas en la calle.
  4. La informática permite reducir costes humanos: Una aplicación informática permite reducir otro tipo de costes, especialmente costes humanos. A modo de ejemplo, aquí en Zaragoza se desarrolla una aplicación de control documental que permite, por un coste aproximado de unos 35.000 € anuales, suplir la necesidad de 3 puestos de trabajo medios. Este es el mejor momento para la comercialización de aplicaciones informáticas, sobre todo si permiten a las empresas que las compran eliminar esos puestos de trabajo.
  5. La subvenciones y financiación gubernamental: Tanto las subvenciones al desarrollo informático, como los creditos a interes 0 del plan avanza, han ofrecido una cobertura comercial que ha facilitado el seguir vendiendo productos informáticos, al hacer el coste mas facil de asumir para los compradores, al mismo precio.
  6. La dependencia informática: Rara es la empresa que no utiliza sistemas informáticos en sus instalaciones, que han de ser mantenidas o ampliadas, al ser estas imprescindibles para la producción o el correcto funcionamiento de la empresa. Si bien comprarse un coche nuevo puede ser más o menos viable, que las comunicaciones, servidores, o equipos con los que trabajan los empleados dejen de funcionar suele implicar una caida de la producción importante.

¿ Es posible que en breve veamos como el sector informático se vé inmerso en la crisis que a todos nos ocupa ? Si, sin duda, pero no creo que lleguemos a notarla en la forma en la que el resto de sectores la sufren.

Lo irónico es que, en resumen, lo que nos salva a los informáticos de la crisis, es lo mal que está el sector ¿…? :D

Las hojas de trucos o cheatsheet

Por cheatsheet se conocen las hojas resumen de un tema determinado ( similar a las “chuletas” de examenes ). Estas hojas contienen la parte mas importante de un tema concreto, de forma que en una sola hoja podemos condensar temas bastante complejos.

Estas chuletas son especialmente utiles en informática, para resumir formulas, terminos de lenguajes de programación, o estructuras de uso.

Una búsqueda rápida en google nos permite encontrar una variada selección de cheatsheet, para todo lo que podamos necesitar, de entre las que destaco:

¿ Cuales son vuestras preferidas ?

Calculo de cuartiles en MySQL

Disclaimer: Este artículo se basa en la experiencia personal, y puede contener algún error. No debe ser utilizado en presencia de niños o bases de datos no controladas.

En estadística descriptiva, las medidas de posición no central permiten conocer otros puntos característicos de la distribución que no son los valores centrales. Entre las medidas de posición central más importantes están los cuantiles que son aquellos valores de la variable, que ordenados de menor a mayor, dividen a la distribución en partes, de tal manera que cada una de ellas contiene el mismo número de frecuencias.

Los tipos más importantes de cuantiles son:

* Los cuartiles, que dividen a la distribución en cuatro partes;
* Los quintiles, que dividen a la distribución en cinco partes;
* Los deciles, que dividen a la distribución en diez partes;
* Los percentiles, que dividen a la distribución en cien partes.

Fuente: Wikipedia.

Para los que ( como yo ) no tengan ni la más mínima idea de esto de la estadística, diremos solamente que los cuartiles son una medida que indican el valor por debajo del cual queda la parte indicada de los datos. Así, el valor del primer cuartil nos indica el punto en el que quedan por debajo el 25% de los datos totales analizados.

Por norma general, y salvo que estéis metidos en el negocio de la estadística, de la banca o vaya-usted-a-saber-que, y sobre todo si os dedicáis a la programación informática, tendréis que calcular, para una serie de valores, el primer, segundo y tercer cuartil.

Dado que la mejor forma de almacenar datos es utilizar una base de datos como MySQL, suena raro que este SGBD no incorpore una función para realizar este tipo de calculo ( sobre todo porque Excel si que tiene la función CUARTIL ), aunque basta con una petición un poco elaborada para obtener lo que necesitamos.

Presuponemos una tabla llamada datos, formada por un único campo ( valores ), que contiene tantos registros como necesitemos. Para el calculo de cuartiles de estos datos, podemos utilizar la siguiente petición SQL:

SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(f.v ORDER BY f.v SEPARATOR ','),',',25/100*COUNT(*)+1),',',-1) AS cuartil_1,
SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(f.v ORDER BY f.v SEPARATOR ','),',',50/100*COUNT(*)+1),',',-1) AS cuartil_2,
SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(f.v ORDER BY f.v SEPARATOR ','),',',75/100*COUNT(*)+1),',',-1) AS cuartil_3
FROM (
SELECT valores as v
FROM datos
) AS f;

En el ejemplo, los valores de la tabla datos se extraen con una petición directa “SELECT valores as v FROM datos“, lo que nos permite utilizar cualquier tipo de petición para obtener los valores necesarios ( en mi caso ese SELECT contiene varios LEFT JOIN y condiciones multiples para ajustarlo a mi base de datos estadísticos ).

NOTAS VARIAS:

  • Los resultados entre nuestra búsqueda en una base de datos MySQL y los mismos valores en una hoja Excel pueden variar, debido a las diferentes formas en que estos sistemas llevan a cabo las operaciones.
  • Las búsquedas son extremadamente rápidas, aún utilizando un volumen de datos muy alto ( más de 12,000 registros en menos de un segundo ).
  • La petición en si seguramente se pueda optimizar bastante. Se aceptan sugerencias :D
  • Este artículo se basa en varias horas perdidas buscando por Internet e intentando comprender la estadística dichosa. Vayan por adelantadas mis disculpas por los posibles errores que puedan aparecer.

Soria, a la cabeza de la piratería.

Revisando uno de los cientos y cientos de correos pendientes, llego a esta asombrosa noticia, con su impactante titular:

La mitad de las tiendas venden software pirata

La noticia, de por si, es lo de siempre. Se vende mucho software pirata ( algo que todos sabemos ). Lo que me ha llamado la atención es el recuadro adjunto, con desglose de % de piratería en tiendas por ciudades, y la ganadora del premio “Ciudad mas pirata de España”: Soria, mi ciudad natal.

Para los que no tengan el “honor” de conocer esta ciudad, les haré un breve resumen. Una ciudad pequeña, donde la informática está en manos de amables dependientes que recién salieron del módulo de grado superior de Administración de Sistemas, y que por cierto llevan toda su vida instalando Sistemas Operativos piratas a amigos y familiares.

No es, en este caso, una cuestión de mala fe. Es, mas bien, un sencillo caso de las mas brutal ignorancia en lo que a  la ética mercantil se refiere, en una ciudad donde se destina mas dinero en patrocinar el equipo de fútbol local, que en tener una buena universidad.

Un nuevo récord para Soria, quien lo duda :D

Como recordar la url de del.icio.us

Del.icio.us es un sistema de bookmark ( marcadores o favoritos ) vía web, muy utilizado, y extremadamente útil.

Si alguna vez habéis intentado acceder a del.icio.us y no recodáis el nombre del dominio ( que tiene tela ), hay algunos trucos útiles que pueden seros de ayuda:

  1. En Firefox, basta con poner el nombre que creáis adecuado ( lo mas parecido posible ) en la barra del navegador. Al poner un nombre de dominio incompleto Firefox realizará una búsqueda automática en google usando la opción “Voy a tener suerte”.
  2. Si por el contrario estáis usando Explorer, la forma mas rápida de acceder es mediante la url http://www.delicious.com, a la que se accede de forma muy rápida, escribiendo delicious en la barra del navegador y pulsando Control+Enter.

Estos dos trucos serán de mucha ayuda para todos los que, como yo, son incapaces de recordar de primera mano la dirección, y en su lugar escriben cosas como:

el.icio.us dl.icio.us de.icio.us delicio.us del.cio.us del.iio.us del.ico.us del.ici.us del.icious del.icio.s del.icio.u ddel.icio.us deel.icio.us dell.icio.us del..icio.us del.iicio.us del.iccio.us del.iciio.us del.icioo.us del.icio..us del.icio.uus del.icio.uss edl.icio.us dle.icio.us de.licio.us deli.cio.us del.ciio.us del.iico.us del.icoi.us del.ici.ous del.iciou.s del.icio.su e.licio.us d.licio.us delicio.us de.icio.us de.lcio.us de.liio.us de.lico.us de.lici.us de.licious de.licio.s de.licio.u dde.licio.us dee.licio.us de..licio.us de.llicio.us de.liicio.us de.liccio.us de.liciio.us de.licioo.us de.licio..us de.licio.uus de.licio.uss ed.licio.us d.elicio.us del.icio.us de.ilcio.us de.lciio.us de.liico.us de.licoi.us de.lici.ous de.liciou.s de.licio.su eli.cio.us dli.cio.us dei.cio.us del.cio.us delicio.us deli.io.us deli.co.us deli.ci.us deli.cious deli.cio.s deli.cio.u ddeli.cio.us deeli.cio.us delli.cio.us delii.cio.us deli..cio.us deli.ccio.us deli.ciio.us deli.cioo.us deli.cio..us deli.cio.uus deli.cio.uss edli.cio.us dlei.cio.us deil.cio.us del.icio.us delic.io.us deli.ico.us deli.coi.us deli.ci.ous deli.ciou.s deli.cio.su eli.ci.ous dli.ci.ous dei.ci.ous del.ci.ous delici.ous deli.i.ous deli.c.ous deli.cious deli.ci.us deli.ci.os deli.ci.ou ddeli.ci.ous deeli.ci.ous delli.ci.ous delii.ci.ous deli..ci.ous deli.cci.ous deli.cii.ous deli.ci..ous deli.ci.oous deli.ci.ouus deli.ci.ouss edli.ci.ous dlei.ci.ous deil.ci.ous del.ici.ous delic.i.ous deli.ic.ous deli.c.ious deli.cio.us deli.ci.uos deli.ci.osu elicio.us dlicio.us deicio.us delcio.us deliio.us delico.us delici.us delicious delicio.s delicio.u ddelicio.us deelicio.us dellicio.us deliicio.us deliccio.us deliciio.us delicioo.us delicio..us delicio.uus delicio.uss edlicio.us dleicio.us deilcio.us delciio.us deliico.us delicoi.us delici.ous deliciou.s delicio.su elico.us dlico.us deico.us delco.us delio.us delic.us delicous delico.s delico.u ddelico.us deelico.us dellico.us deliico.us delicco.us delicoo.us delico..us delico.uus delico.uss edlico.us dleico.us deilco.us delcio.us delioc.us delic.ous delicou.s delico.su elicous dlicous deicous delcous delious delicus delicos delicou ddelicous deelicous dellicous deliicous deliccous delicoous delicouus delicouss edlicous dleicous deilcous delcious deliocus delicuos delicosu elicious dlicious deicious delcious deliious delicous delicius delicios deliciou ddelicious deelicious dellicious deliicious deliccious deliciious delicioous deliciouus deliciouss edlicious dleicious deilcious delciious deliicous delicoius deliciuos deliciosu

Fuente: este artículo, que curiosamente es la primera url que aparece al buscar mal la url en google :D

Next Page »