2 dic. 2009

Explicacion acerca de como funciona la industria de las disqueras

Una simple explicacion acerca del funcionamiento actual de la industria discografica:

"De los 20€ de un CD, 3€ son para el artista, y el resto se invierte para que esto no cambie"



Y se horrorizan porque descargamos música sin su consentimiento...

9 sep. 2009

Code Jam: 1er problema

Me he propuesto traducir los problemas de la competencia de programación mundial, organizada todos los años por Google (conocida como Google Code Jam).

Aunque he intentado que sea lo más próximo al planteamiento original en inglés, me he topado con algunos detalles, especialmente en lo que se refiere a nomenclatura informática que no he querido traducir para que no pierda el sentido original (input, output, dataset, etc).


"Lenguaje Alienígena"
Problema

Despues de años de estudio, científicos de los Laboratorios Google han descubierto un lenguaje alienígena, transmitido desde un planeta muy lejano. Ese lenguaje es especial porque cada palabra esta formada exactamente por L letras minúsculas. Por otra parte, existen exactamente D palabras.

Una vez que se construyó el diccionario de todas las palabras en tal lenguage, el siguiente hallazgo fue que los alienígenas habían transmitido mensajes a la Tierra en décadas pasadas.
Desafortunadamente, estas señales estaban dañadas, debido a la distancia entre nuestros planetas, y algunas de las palabras fueron malinterpretadas. Para ayudarlos a decifrar esos mensajes, los científicos te han pedido que idees un algoritmo para determinar la cantidad de posibles interpretaciones para un patrón dado.

Un patrón consiste exactamente en L "tokens". Cada token puede ser una letra minúscula (los científicos están seguros que este es un símbolo correcto) o un grupo de letras minúsculas sin repetirse, encerradas en paréntesis redondos ( y ). Por ejemplo: (ab)d(dc) quiere decir que la primera letra es 'a' o 'b', la segunda es definitivamente una 'd' la tercera una 'd' o una 'c'.
Dicho de otro modo, el patrón (ab)d(dc) puede ser una de estas 4 posibilidades: add, adc, bdd, bdc.

Input

La primera línea de cada input contiene 3 enteros L, D y N, separados por un espacio.
Las D líneas siguientes contienen una palabra de longitud L (una palabra por línea).
Esa es la lista de palabras conocidas del lenguaje alienígena.
Los N casos de pruebas vienen a continuación, uno por línea, y consisten en un patrón tal como se describía anteriormente.
Se puede asumir que todas las palabras conocidas son únicas.

Output

Para cada caso de prueba, el output es

Case #X: K
Donde X es el número de caso de prueba, comenzando en 1, y K indica cuántas palabras en el lenguaje alienígena podrían coincidir con el patrón.


Límites

Dataset pequeño

1 = L = 10
1 = D = 25
1 = N = 10

Dataset grande

1 = L = 15
1 = D = 5000
1 = N = 500


Ejemplo



Input

Output

3 5 4



abc



bca



dac



dbc



cba



(ab)(bc)(ca)

Case #1: 2

abc

Case #2: 1

(abc)(abc)(abc)

Case #3: 3

(zyx)bc

Case #4: 0

26 ago. 2009

Mito o Realidad (El juego de siempre)


Algunos mitos de nuestra realidad y su "verdadera" realidad:







Mitos sobre el ahorro de energía:
  • La turbina eólica: En apariencia, podrá parecer que el viento sopla siempre, pero no es así. Las mejores turbinas trabajan al 100% de su potencia sólo el 25% del tiempo. El resto del tiempo estan girando por el viento sin aportar energía, o usando la misma electricidad que acaba de generar. Esto es así porque normalmente las turbinas eólicas se conectan directamente a la red eléctrica de una zona (en Chile, al Sistema Interconectado Central), y para mantener los 50hz de frecuencia necesarios, no pueden dejar de girar. Si bien es cierto no genera emisiones de gases tóxicos al medioambiente, realmente se pierde bastante energía utilizando estas turbinas.
  • Automóvil eléctrico: El auto eléctrico se ha planteado como un caso de "ahorro de energía" pero esto es totalmente falso. Lo que es cierto es que no emite gases de combustión como la gasolina, pero es mucho más eficiente (energéticamente hablando) el combustible de octanaje similar al petróleo (gasolina, diesel, etc). El automóvil eléctrico tiene pérdida de energía principalmente por dos razones: a) las baterias químicas utilizadas son muy poco eficientes, pudiéndose recuperar siempre sólo el 80% de la carga y b) la energía debe generarse en una central eléctrica, que la hace llegar al hogar o a la central de abastecimiento eléctrico (con pérdidas en el camino), y luego hay que transformar la energía eléctrica en mecánica con una pérdida del motor eléctrico y de los actuadores.
  • Hidrógeno: Comúnmente se cree que el hidrógeno tendría un costo de producción muy bajo pues esta en cada lago u océano del mundo, pero esto en realidad es muy diferente. Se requiere una cantidad considerable de energía externa (generalmente a partir de petróleo) para realizar electrolisis y separar el Dihidrógeno (H2) del Oxígeno, y lograr obtener Hidrógeno para combustión en un motor. Aunque creo que exageraban, leí en algún artículo que se requerían 3 galones de petróleo para producir un galón de Hidrógeno. Aunque la relación fuera 1 a 1, quizás sería conveniente, y de verdad se reducirían las emisiones de gases tóxicos al ambiente, pero en esto no se produciría ningún ahorro de energía.


Mitos sobre la lactancia (Todo esto vale hasta los 10 u 11 meses del bebe aprox):
  • "No tengo suficiente leche": La verdad es que quien controla la cantidad de leche no son los músculos pectorales, o siquiera la madre, pues es el bebé el que controla (a través de la succión) la cantidad de leche que genera el pecho materno. Varios estudios clínicos internacionales demuestran con absoluta certeza que la frecuencia con la que el bebé tome pecho está relacionada directamente con la producción de la leche.
  • "Si el bebé no sube de peso con la leche, se debe utilizar relleno de inmediato": En este caso, lo que habría que evaluar primero es si cantidad y calidad de las tomas son suficientes. Lo ideal efectivamente es aumentar la cantidad de las tomas (o verificar si no esta teniendo problemas en sus labios o lengua para tomar en forma efectiva), y casi siempre esto basta para que el bebé comience a ganar peso. Si hay algún problema real (lo que no ocurre casi nunca) luego de este análisis, por supuesto que un pediatra (o nutricionista infantil) determinará que hace falta relleno.
  • "Debo distanciar las tomas del bebé para que mis pechos se alcancen a llenar de leche": Desde el punto de vista clínico esto tampoco es verdad, ya que los pechos en realidad funcionan como reserva, y mientras más vacío se encuentre, mas rápido se llenara nuevamente. La cantidad de leche que produce una mama llega al óptimo cuando se tiene un sistema de libre demanda con el bebe, y permite que él tome tantas veces como sea necesario.


Mitos sobre el OTAKU:

  • Ser OTAKU no es vestir a lo matrix o llenar de chapitas tu bolso. El OTAKU nunca ha tenido una tendencia estética preestablecida.
  • La única relación entre los "Visuals" (despectivamente llamados posers) y los OTAKUS es que ambas "tendencias" vienen de Japón.
  • OTAKU técnicamente no es un estilo, sino más bien un hobby o fanatismo, por lo que es completamente compatible con otras aficiones, pudiendo encontrarse así OTAKUS metaleros (como yo mismo), OTAKUS punk, etc.
  • No eres OTAKU por haber visto 2 o 3 series de anime. De verdad debes tratar de ver el máximo de obras gráficas (mangas, anime, etc) y empaparte de la cultura japonesa alrededor de estas producciones.
  • OTAKU no es sinónimo de bicho raro o inadaptado social (A pesar que en Japón hasta hace algunos años si era considerado de esa manera)
  • No todo el anime es pornográfico (Hentai) ni Gore.
  • El anime o manga japonés no es sólo para niños, el anime abarca temáticas tanto o más amplias que cualquier serie o película de actores reales.
  • Los "monos chinos" afectan la personalidad sólo cuando el sujeto en cuestión no tiene una madurez suficiente para un determinado anime.
  • Los OTAKUS no son algo nuevo, aquí en Chile vienen desde los 80', no es ninguna "tribu urbana", es sólo que los Visual se han encargado de llevarlo de mala manera fuera del plano underground estos últimos años.
Mitos sobre los corrales municipales de autos:
  • Es común escuchar que se puede ir a los corrales municipales y comprarse un auto (que haya permanecido un tiempo prolongado) en buen estado por poco dinero. Esto es falso en el 99% de los casos. Para retirar un auto del corral, normalmente se requiere una autorización judicial, la cual sólo puede obtener el dueño original del vehículo. Sin embargo, existen inescrupulosos que Sí venden los autos (los sacan en la noche y después dicen que lo robaron) cuando el que quiere comprar es un conocido del administrador del corral.
  • Lo que sí es verdad es que si tu auto cayó a un corral de estos, casi con toda seguridad olvídate de los accesorios. Mientras más tiempo pase en el corral, más piezas le faltaran (Supe acá en mi trabajo de un tipo al que le robaron hasta los ceniceros de las puertas, después de 1 mes de no poder sacar el auto del corral municipal).



Más general, mitos sobre autos:
  • "Deja el motor encendido para que se caliente en días fríos": Los vehículos de inyección electrónica regulan automáticamente gasolina, chispa y aire para producir una mezcla óptima en cualquier condición. Lo único que se obtiene al dejar el motor encendido en ralenti durante un tiempo prolongado es desgastar inútilmente el motor. Lo que sí es verdad, es que para que las piezas tomen la temperatura ideal de funcionamiento (y que el aceite lubrique correctamente todo el conjunto), se deben recorrer las primeras cuadras (digamos, las primeras 5 cuadras) a velocidad media (no más de 50 Km/H), para que todo el conjunto del motor comience a lubricarse con efectividad.
  • "El aceite nunca se gasta, sólo llénalo hasta el tope de vez en cuando": Aunque técnicamente es verdad que el aceite no se acaba, lo que sí sucede es que los aditivos se eliminan, y el aceite comienza a perder calidad progresivamente. Lo recomendable es leer el manual del fabricante para saber cada cuanto cambiar el aceite del motor y su filtro (cada 10 mil Kms es lo aceptable para autos nuevos, pero siempre hay que escuchar al fabricante o dejarse asesorar por un mecánico de confianza).
  • "No reemplaces las gomas de los limpiaparabrisas, solo límpialos con algún solvente": La verdad es que cualquier producto con base de petróleo (la gran parte de los solventes) destruye la goma más rápido. Lo conveniente es limpiarlos una vez a la semana con alcohol al 75%, para evitar polvo y grasa. Pero de todas formas es conveniente cambiarlos al menos una vez al año, por seguridad y para cuidar la calidad del vidrio del parabrisas.
  • "Acelera a fondo antes de conducir en el frio": Lo mismo anterior, los motores de inyección electrónica regulan automáticamente la mezcla, tomando en cuenta varios factores (como por ejemplo la temperatura). Acelerar no tendrá el mismo efecto que se lograba en los autos antiguos con carburador.
  • "Deja que el tanque llegue a la reserva antes de llenarlo...para que no se malacostumbre": No debes esperar a que llegue a la reserva, menos con los autos nuevos, que pueden sufrir el riesgo de que entre aire a los sistemas de inyección lo que podría ocasionar serios problemas a las válvulas y cilindros. Además, así no expones a tus pasajeros (y a tí mismo) a quedar abandonado sin combustible a mitad de camino.

Mitos sobre Metafísica

  • Todos los seres vivos tienen un aura o fuerza vital:Esto que parece algo indudable por los creyentes de teorías holísticas, tiene su base en la cultura oriental, en donde se planteó por primera vez la existencia de una energía vital, que rota o circula por canales internos (también metafísicos) y que es la explicación formal al problema de la vida (Llegados a este punto, es importante aclarar que metafísica quiere decir "Más allá de la física", literalmente todo lo que no puede ser explicado por la física, o por cualquier ciencia humana, y justamente el problema de porque los seres vivos estan vivos, es uno de aquellos problemas). Algunos grupos que quieren justificar la existencia del aura utilizan como evidencia las fotografías del aura obtenidas por un tipo especial de cámara, llamada Camara Kirlian. Sin embargo, con estas cámaras se han obtenido fotografias de aura en objetos completamente inanimados (monedas). Para justificar esto, también se han inventado una teoría de "traspaso de aura", con la cual explican que el aura de una persona traspasa a los objetos que toca, con lo cual invalida cualquier posible demostración que se pueda realizar, ya que cualquier experimento necesariamente pasará en alguna etapa por un ser humano.
  • Cuando se fotografían personas demasiado energéticas, aparecen esferas (que algunos llaman entidades del más allá) suspendidas en el aire, llamadas orbes: En realidad esto no es mas que el reflejo de la luz solar o del flash. Se produce cuando por cualquier razón alguna partícula ya sea de polvo, agua o cualquier otra cosa, se introduce en el medio del objeto enfocado, a una distancia cercana (bastan 20 cms del lente para producir el fantasmal efecto).
ACTUALIZACION
Mitos sobre políticas públicas
  • Si le regalan computadores a los niños pobres, solo los romperán o utilizarán para jugar: Afortunadamente esto también era un mito, la realidad es mucho más linda.

Estos más o menos son los mitos que me pareció interesante aclarar. Creo que es importante que regularmente se vayan aclarando algunos asuntos de la vida cotidiana que se dan por sentado.

¿Quieres que averigüe algo para ti? ¿Quieres que te aclare algo que crees que es un mito? ¿Algún supuesto del mundo actual no te deja dormir? Cuéntame y haré lo posible por descubrir la verdad comprobable.

24 jul. 2009

Microsoft, Linus Torvalds y las motivaciones para programar


Esta semana estaba leyendo algunos articulos relacionados con la liberación por parte de Microsoft de 20 mil líneas de código bajo licencia GPL, para ser usados en el kernel de Linux.

Esto con el objetivo de mejorar el rendimiento de algunos dispositivos cuando Linux es virtualizado bajo algunas versiones de Windows Server 2008.

Así tal como suena, era una situación excelente, pues reafirmaba el compromiso de Microsoft con la comunidad de software libre mundial (ya bien afianzado con el anuncio de Microsoft de no tomar ninguna acción legal contra cualquiera que quisiera utilizar implementaciones distintas de C#, tal como lo es Mono)

Sin embargo, la sorpresa fue mayúscula cuando ayer me enteré que las reales motivaciones de Microsoft para liberar el código fue evitar una demanda por utilizar componentes ya liberados bajo GPL con anterioridad.

Hoy, en una entrevista (aparecida en la revista digital Linux Magazine) que le pidieron a Linus Torvalds (creador de Linux) a propósito del caso Microsoft-GPL, respondió que comprende perfectamente que era natural tal motivación detrás del "generoso" acto de Microsoft, y que no la condena porque en realidad todos actuamos bajo la misma norma (de echo, va mas allá y dice que el mismo movimiento del Software Libre surgió porque todos queriamos escribir código que nos conviniera a cada uno). Reforzó la idea diciendo que los desarrolladores de software son egoístas per se y que esa es la razón por la que él en forma personal ya no le llama Software Libre a su trabajo.

La entrevista original la pueden encontrar aquí (en inglés), y una traducción libre está aca.

Todo ello me motiva a cuestionarme el porqué de mi elección personal a la hora de decidir programar como "oficio" principal.

Creo que si me analizo en profundidad (y aunque en lo personal no me guste) los motivos detrás de mi elección de actividad profesional también tienen que ver con el egoísmo, con demostrar que hago algo que otros no pueden hacer (lo cual es imbécil en si mismo, pues todos hacen cosas que el resto no puede hacer), y es la motivación para aprender a armar el cubo Rubik, y también la motivación para mostrarme arisco cuando exigen que enseñe más allá de lo que yo quiero enseñar.

Todas estas son cosas que debo reconocer y -dentro de lo posible- reparar.

¿Por qué programas tú? (Si, a mi tambien me gusta mucho, pero es no es la motivación final).