2008/12/11

Se ve que soy de los que se marean

Secuencia de eventos:

  1. este twit me lleva a
  2. este blog, que contiene
  3. esta entrada con un relato de Chuck Palahniuk (para el que lo haya leído*, es el del que va a 'bucear por perlas')

Resultado: se ve que soy de los que se marean.

En mi favor diré que no he llegado a perder la consciencia, pero sí se me ha revuelto el estómago, se me ha ido la sangre de la cabeza (no se a donde, pero al menos ha vuelto al tumbarme), y me ha entrado semejante frío en el cuerpo que me he puesto a tiritar como si estuviera enfermo.

* Si no lo has leído, no se si recomendártelo, supongo que si eres de los que se desmayan al ver la sangre no te lo recomiendo.

2008/11/26

¿Le habrá pasado esto a alguien en la pasada huelga?

¿Cómo huelga? ah, pues si no tienes nada importante, acércate y le miras la programación del vídeo a la abuela, que ya sabes que siempre se olvida

Y de regalo unas jugosas estadísticas ficticias, con ganas de molestar, de participación en la huelga:

  • Estudiantes de Informática alterados por Bolonia: 95% (probablemente bastantes de estos hayan repetido después de la del 14)
  • Trabajadores: 3%
  • Miembros de los colegios regionales: 1%
  • Acoplados: 2%

2008/11/11

teleco-nspiración

El meme del momento en la red es la huelga promovida por algunos colegios de Ing. Informática. Y leyendo leyendo, creo que en algún sitio vi algo por el estilo de:

Los telecos nos roban atribuciones

Épica frase comparable a Yo introduje el gotelé en España (Benito Lopera) o El canon se paga por que sí (Teddy Bautista).

No recuerdo exactamente donde, ni recuerdo si era exactamente así (probablemente no), pero la idea básica era esa. Y se me ocurrió:

lo logramos, compañeros telecos: Hoy conquistamos la Ing.Informática, y mañana... mañana ¡EL MUNDO! (¡bwahaha ha haha!)

PD: Ni soy Ing. Telecomunicaciones ni Ing. Informático.

2008/10/22

¿Crisis?, que no panda el cúnico

Archenemy me ha señalado con un meme y, aunque no estoy a favor de asignar memes a mano me ha parecido majete, así que lo hago.

El tema es buscar las cosas buenas que nos puede traer este “periodo de crecimiento no-positivo”. Así que allá voy, por que hay un montonazo:

  • Aprende.

Apabullante, ¿verdad?, el caso es que ahí caben un puñado de cosas para las que no es necesario gastar más dinero del que necesita, digamos, una conexión a internet. Por ejemplo:

  • Aprende Inglés. Seguro que diste algo de inglés en el colegio o en el instituto, así que la base ya la tienes y, en realidad no tienes que aprender mucho más, principalmente vocabulario y mejorar la capacidad de entender cosas. Para eso nada mejor que una inmersión, pero como el tema es gastarse lo menos posible, y una estancia en el extranjero puede salirnos por un pico, nos queda la opción de la red: La mayor parte de cosas de la red están en inglés, así que no hay que ir muy lejos para encontrar material (películas y series [subtituladas o no], libros, blogs, periódicos, audiolibros, podcasts y videopodcasts, etc...).
  • Si tienes que usar el coche aprende Hypermiling. El hypermiling vendría a ser un conjunto de técnicas para conducir gastando menos que un escocés (el tópico con los catalanes está muy visto en España, así que pongo al escocés por variar). En la red hay bastantes recursos y artículos sobre el tema como para decidirse en caso de que no puedas prescindir del coche y quieras, al menos, hacerlo afectando lo menos posible al monedero. El recordman en esto se saca unas 59mpg (millas por galón), que vendrían a ser unos 25Km/l, o 3,9 litros cada 100Km. Mi media está entre 15Km/l y 18Km/l con picos de 30Km/l, sin usar las técnicas más peligrosas como colear camiones, o apagar el motor en marcha. Como ves, no es muy difícil.
  • Aprende la materia de esa carrera que no pudiste acabar o tal vez ni siquiera empezar. Y ojo, por que para aprender no hace falta pagar (pagar sólo te hará falta si quieres examinarte para obtener el título, y el contacto con los profesores), ya que hay algunas universidades que ponen en internet, no sólo para los alumnos sino para cualquiera, bastantes materiales de las asignaturas, por ejemplo Berkeley o el MIT. Si usas iTunes en la sección iTunesU tienes unificados y clasificados por temas y universidades un puñado de lecciones en formato audio y video. Si a pesar del primer consejo el inglés no es tu fuerte, puedes probar con la UNED, o con alguna otra que también esté en la plataforma Open Course Ware (sin contar que las bibliotecas públicas suelen ser gratuitas... o muy baratas).
  • Aprende a programar. Citaré a Cory Doctorow en esto:

    Si nunca has programado un ordenador deberías. No hay nada en el mundo que se le pueda comparar. Cuando programas en el ordenador, hace exactamente lo que le dices que haga. Es como diseñar una máquina (cualquier máquina, como un coche, como un grifo, como la bisagra hidráulica de una puerta) usando matemáticas e instrucciones. Es impresionante en su sentido más básico: causa impresión.

    Un ordenador es la máquina más complicada que usarás jamás. Está hecho de miles de millones de transistores micro-miniaturizados que se pueden configurar para ejecutar cualquier programa que puedas imaginar. Pero cuando te sientas en el teclado y escribes una linea de código, esos transistores hacen lo que tu les dices que hagan.

    La mayor parte de la gente nunca construirá un coche. Casi ninguno de nosotros nunca creará un sistema aviónico. Ni diseñarán edificios. Ni planificarán una ciudad.

    Todo eso son máquinas complicadas, esas cosas, y están fuera del alcance de la gente normal como tu y yo. Pero un ordenador es como, diez veces más complicado, y bailará cualquier melodía que toques. Cualquiera puede aprender a escribir código sencillo en una tarde.

    -- Little Brother, Cory Doctorow.

    Lo pone en boca de uno de sus personajes, pero me parece que Cory es lo suficientemente tecnófilo como para poder aplicarselo a él mismo :)

  • Aprende bricolaje. A parte de McGyver y Scofield cualquiera puede beneficiarse, especialmente al hilo de la crisis, de tener la capacidad de reutilizar cosas que, aparentemente, ya han cumplido su misión. Y definitivamente, un paseo a la ferretería por unos clavos y tornillos para apañar ese mueble que ha tirado el vecino pero que a nosotros nos puede valer, seguro que sale más barato que acercarse al IKEA. También, si tienes alguna carpintería o tienda de maderas cerca, puedes hacer tus propios muebles desde 0 (programas como google sketch up pueden servirte para hacer la planificación y un prototipo virtual antes de ensuciarte las manos... y la habitación). En las páginas del Makezine, e Instructables hay un buen puñado de instrucciones paso a paso para hacer casi cualquier cosa, y no se limitan a muebles, sino a cualquier cosa que entre en el ámbito del "Hágalo usted mismo" (electrónica, domótica, maquillaje, cocina, etc...).

Y creo que voy a parar aquí, que me está quedando muy largo y Lord Zoltan también ha sido bastante exhaustivo y ya tenéis telita para rato.

2008/10/21

Cómo NO calcular el mínimo común múltiplo con JavaScript

Esto es un descargo de ignorancia. Básicamente me escarmiento públicamente a mi mismo para ver si no vuelvo a repetir algo que he hecho y que no me gusta por que no está bien.

Antes de continuar, la excusa es que tengo las mates tan olvidadas, que podrían darme de palos y no me iban a sacar nada de nada. De hecho me saltó la alarma "YOU'RE DOING IT WRONG!!!" cuando vi lo que empezaba a tardar el tema, pero entre las (pocas) mates y el sueño no mejoré demasiado el asunto.

Ahora el delito, que es calcular el MCM (de los números del 1 al 20 en este caso) tal que así:

const LIMIT = 20;
var store = [1];
var test = 0;
while( store.join('')!=0 ){
    store = [];
    test++ ;
    for(var i=2; i< LIMIT; i++){
        store.push( test%i );
        if( test%i!=0 ) break;
    }
}

El problema, principalmente, es el rato que tarda en pasearse por los números hasta que encuentra el resultado. A parte de la caminata desde el 0 hasta algo después del 232*10^6 calculando restos de división (que no es una operación precisamente de las más ágiles), tiene un par de tonterías por el medio:

  • el doble casting en el while: de array a string con el join, y de string a numérico en la comparación (y tiro por que me toca);
  • y la linea del break: que por un lado intenta ahorrarse unas pocas iteraciones precisamente en el bucle menos significativo, y por otro lado vuelve a gastar recursos calculando el mismo resto de la linea que está justo arriba.

Aunque puestos a ver el lado bueno de las cosas, al menos no es mucho código (y el número del resultado es el correcto).

Por si alguien quiere probarlo en su navegador, le recomiendo que desactive el aviso sobre scripts atascados (creo que en firefox está en el about:config por max_script_runtime; en safari se desactiva desde el menú de debug [que no es visible por defecto pero en la red hay sobradas instrucciones para hacerlo]).

PD: Ya podría JavaScript tener alguna función matemática más, que el objeto global Math es más escaso que el guardarropa de tarzán (apenas tiene un puñado de constantes y no muchas más funciones a parte de las trignométricas, se le ve escaso)

PPD: El MCM es un problema de la página del proyecto Euler, que tiene un puñado gordo de problemas para repasar mates y programación.

2008/10/20

2008/10/18

2008/10/17

el blog post con la tabla de rayas 2

Segundas partes nunca fueron buenas, dicen... veamos

               
               
               
               
               
               
               
               

Estoy de un prolífico últimamente...

Reconozco que hubo problemas durante la producción (uno de los trabajadores no se identificó correctamente, pero ya está todo solucionado).

el blog post con la tabla de rayas

inspirado por el libro...

       
       
       
       
       
       
       
       

(Creo que en el feed no se apreciará, recomiendo visita)

2008/10/15

Java y Flash. Mi reniego.

En el feed de planet webdev me encuentro con esta nota de Cerebro en la Sombra sobre emitir de una webcam en vivo desde linux y en formato flv.

Al empezar a comentarle me quedó bastante largo, algo marginal y demasiado reniego como para 'mancharle' el blog, así que corto de allí la parte más fuera de tiesto y lo pego para publicarlo aquí (y así le doy algo de vidilla a esto).

Bueno, al lío, Osus dice:

El reto consistía, por tanto, en transmitir las cámaras en un formato que se pudiese reproducir fácilmente y que se pudiese integrar en una página web, sin programas de terceros para visualizarlas.
El formato que hemos escogido para el flujo de vídeo será flv, con lo que con una sencilla aplicación Flash podremos visualizar cada una de nuestras cámaras evitando, de paso, los applets Java.

Énfasis añadido.

Y digo yo, ¿por qué regla de tres se considera a los applets Java como "programas de terceros" y a Flash no?, la última vez que lo miré, Adobe no formaba parte del equipo de desarrollo de MS, ni de la Fundación Mozilla, ni de Apple o WebKit, ni de Google, etc... exactamente igual que Sun. Puesto de otra forma ¿por qué usar un applet Flash no sería usar un programa de terceros?.

¿O es por que el applet suele estar en un servidor de terceros?, bueno podemos distribuir el reproductor nosotros también, ¿no? (en ambas tecnologías, de hecho).

Y luego ¿qué pasa?, ¿que los applets Java ya no están de moda?, ¿que no son web2.0?, ¿y qué?, joder cuanto snob ¿no?, ¿es que acaso Flash no se comporta respecto al navegador y al navegante exactamente igual que un applet Java?, pero si los 2 son un rectángulo en medio del navegador (con el permiso de Joel Spolsky). ¿En qué hemos avanzado al cambiarle el collar al perro si sigue siendo un perro?. Ah, no espera, que Flash tiene una ventanita para dibujar y una linea temporal para hacer animaciones, bueno, aceptaremos barco como animal acuático, que más adelante comento que Java es un coñazo de aprender, y la ventanita para dibujar de Flash es realmente un incentivo bastante valioso (pero a la hora de ejecutar un applet/objeto en el navegador, que era la premisa inicial, esto es bastante irrelevante).

Para terminar, que quede constancia que no soy especialmente fan de Java ni de Flash, ni tampoco es que los odie a muerte, pero de hecho ninguno de los 2 son santos de mi devoción: Java por estar demasiado asociado al mundo de los negocios, por intentar ser una pócima milagrosa para todos los problemas y por que me resulta un lenguaje terriblemente aburrido de aprender (en comparación con otros como JavaScript, PHP, Perl, o Python por decir algunos que no me han parecido tan coñazo); y a Flash por que pretende ser algo diferente cuando en realidad es el mismo perro con otro collar y otra correa, léase: es un rectángulo en medio del navegador exactamente igual que el de Java; y una implementación propia de ECMA-262 exactamente igual que cualquier navegador moderno lleva la suya propia (Javascript; y ojo, no estoy diciendo que con el ECMA262 de Flash y del browser se trabaje igual, estoy diciendo que los 2 son una implementación del mismo estandar y nada más).

2008/10/13

2008/08/05

Trabajo (el mio no)

Debería fustigarme por hablar de "trabajo" (como digo en el título: en general, no del mio) durante las vacaciones. Me lo apunto para luego.

Hace unos días llegué a este artículo renegando del trabajo femenino. Se puede ver por mi comentario que no me gustó mucho, y uno de los enlaces que puse a otro artículo de 43folders donde se cita un tercer (¿o cuarto?, perdí la cuenta) artículo del Washington Post.

Arf; en los 3 artículos se ven 2 posturas sobre el trabajo que existen desde casi el principio de las civilizaciones actuales: el trabajo es malo Vs. el trabajo es bueno.

Los partidarios de que el trabajo es bueno, afirman que trabajar es lo que hace que el hombre sea persona, o como puso Quino en una de sus tiras de Mafalda: "a un pajaro para realizarse le basta con ser pájaro; a un perro para realizarse le basta con ser perro; pero un hombre para realizarse debe ser médico, zapatero, alfarero, profesor, enfermera, etc..." (bueno, más o menos, que me perdone Quino). La base argumental de esta postura es el libre albedrío que se supone que tenemos los humanos, que no tienen los animales, y gracias al cual podemos elegir a qué tarea queremos dedicar nuestras vidas y qué propósito van a tener, entonces eso sería nuestro trabajo.

Por otro lado, los partidarios de que el trabajo es malo se basan en la existencia de trabajos que nadie quiere hacer, y que en otras épocas era realizado por esclavos. Efectivamente por ese libre albedrío antes mencionado, una vez que todo el mundo ha escogido las tareas que van a darle sentido a su vida resulta que siempre quedan unas cuantas cosillas que hay que hacer por que son necesarias pero que aparentemente nadie va a sentirse realizado con ellas. Algún economista diría que son trabajos marginales (y no es por que los hagan los marginados, o por que se margine a quien los hace, sino por que es el mismo comportamiento que se describe en uno de los libros que parece que los economistas toman como base --lo explica mejor Tim Hardford en su "El economista camuflado").

Resumiendo: hay unos trabajos que a la gente les gusta hacer, pero también hay otros trabajos que hay que hacer pero nadie quiere hacerlos. Antiguamente (más de 3000 años) teníamos esclavos para esos trabajos, ¿qué hacemos ahora?.

Alguien (posiblemente otro economista) diría que hora ofrecemos dinero, pero entonces a mi me parece que algo no cuadra, ¿no ofrecemos dinero también por los trabajos que sí quieren hacerse?, ¿no debería entonces pagarse más esos trabajos que nadie quiere hacer?. ¡Oh!, que casi todos esos trabajos están en los sectores básicos, y si aumentamos los salarios ahí subirán los precios en el resto de sectores. Ah amigo, amigo, amigo.

Y otra posibilidad sería usar maquinaria ya que esos trabajos normalmente son monótonos, repetitivos y se realizan en un ambiente más o menos hostil. Pero desde 1789 hasta 2008 llevamos ¿cuanto? 219 años (afortunadamente ya quedan pocos ludistas :) ) aumentando la cantidad de maquinas y automatización en casi todos los sectores y a pesar de eso parece que aún quedan trabajos marginales realizados por personas ya sea por que no pueden ser automatizados, o por algún otro motivo.

2008/07/11

Ordenador Vs Coche

Mi padre acaba de comprarse un portatil (acer, no los enlazo por que no encuentro el modelo en su web, por que no me simpatizan =p, y por que es totalmente irrelevante para el resto del artículo). Nada raro, del otro mundo, ni tampoco un problema, en un principio. Aunque hay algunas cosas del proceso que pensandolas un poco más y haciendo una pequeña comparación (ejem, pista en el título), se me aparecen con una pinta un tanto raruna. Vamos a ver si no meto la gamba demasiado (aprecio comentarios).

Cuando una persona compra el coche, este viene con una serie de gastos de mantenimiento asociados y bastante impepinables, vease: revisiones, impuesto de circulación y seguro. Y si he entendido bien cuando he oido a otra gente hablar del tema (no soy muy forofo de estas cosas yo, se lo mínimo para 'sobrevivir'), cuanto más grande, caro y (normalmente) potente es el coche, más grandes, caras y potentes son las facturas de los 3 gastos antes mencionados (las aseguradoras te cobran más, el estado te cobra más, e imagino que las revisiones tendrán un coste mayor [no he comparado, pero no creo que cueste lo mismo la revisión de un Fiat punto, que la de un BMW, con todo el respeto para los técnicos de Fiat que revisan periódicamente mi Fiat Stilo]).

Aunque las comparaciones sean odiosas, cuando te compras un ordenador no existe ninguno de esos 3 gastos asociados impepinablemente después del pago inicial, o al menos ninguno de los gastos posteriores tiene ninguna relación con el precio inicial ni con las características de la máquina (y a parte de una conexión a internet o subscripciones de pago a algún que otro servicio de la red [cuentas pro de flickr, p.ej.], no se me ocurren muchos más gastos periódicos, pero en ninguno te cobran de más o de menos por que tu ordenador sea más o menos potente; y ninguno es condición sine qua non para disfrutar de tu ordenador).

Entonces, ¿por qué mi padre, cuando se compró el coche (un Megane hace entre 1 y 2 años), no se compró el coche más barato que pudo encontrar sabiendo que luego tendría que acarrear seguro, impuestos y revisiones, y sin embargo cuando se compró este nuevo ordenador (hace unas semanas) ha ido buscando la ganga afilando las prestaciones al máximo?.

Evidentemente mirando sólo los motivos puramente monetarios hay otras cosas que se escapan de la evaluación (en un coche puedes tener accidentes muy graves por lo que parte del gasto en los coches caros va destinado a medidas de seguridad que se valoran más o menos a la hora de comprarlo, y con un portatil... bueno, algo menos). Pero me sigue oliendo a pescado.

2008/06/19

no-música al azar

Me ha molado el memecillo que he visto en el blog de mota.

Las reglas originales son:

  1. Ir a la página al azar de la wikipedia y anotar el nombre del artículo que aparece;
  2. Ir a esta otra página de citas al azar (citas como frases célebres, no como quedar para un día), y anotar las 4 últimas palabras de la última cita;
  3. Ir a la página de fotos interesantes de flickr de los últimos 7 días y elegir la 3ª foto que salga.

Por el pequeño detalle que la foto que me salió tiene copyright convencional, he cambiado la página de fotos interesantes, por la página de fotos con licencia cc-by-sa (como este mismo blog). He mantenido lo de elegir la 3ª de la lista. Si alguien sabe como sacar imágenes cc en la página de imágenes interesantes en flickr, que lo comente.

El objetivo es usar la wikipedia para obtener el nombre del grupo, el fragmento de la cita para el nombre del disco, y la imágen de flickr para la imágen del supuesto disco. Estos son mis resultados:

  1. Grupo: Cannock Chase High School
  2. Album: with two people digging (además la cita completa me mola XD)
  3. Portada: pared de ladrillo con desconchones y algo de texto ilegible

Y este es el resultado de un ratejo de Gimp:

Disco ficticio: With two people digging del grupo ficticio Cannock Chase High School

2008/06/07

Sólo usamos el 10%

De un artículo en Wired sobre teléfonos móviles en Japón:

the average person only uses 5 to 10 percent of the functions available on their handsets

una persona normal sólo usa entre el 5 y el 10 por ciento de las funciones disponibles en su terminales

Cambia "las funciones disponilbes en sus terminales" por "su capacidad cerebral" y obtienes una expresión bastante conocida:

una persona normal sólo usa usa entre el 5 y el 10 por ciento de su capacidad cerebral

Si no fuera por que lo del cerebro es mentira cochina, la solución de "pues me compro un terminal con menos cosas" aplicado al cerebro ("pues me pongo un cerebro menos inteligente") daría miedito.

2008/06/03

HP FAILS

Directo al grano. Para empezar en casa tenemos una HP C3180 con un "problema":

Cada vez que la impresora se enciende imprime la página de alineamiento de los cartuchos.

Esto sucede independientemente del sistema operativo. De hecho está documentado en la página web de HP como podéis comprobar en el enlace.

Una cosa que no pone en la página en español, pero que sí pone en la página en inglés son las causas. Voy a comentar sólo una de ellas:

One of the ink cartridges is low or out of ink. Black and all three colors must be available.

Uno de los cartuchos tiene poca o ninguna tinta. Debe haber cartuchos de tinta negra y tricolor disponibles.

O sea, que no puedes tener un cartucho sin tinta, pongamos, por que se te gasta la de color y decides que no te hace falta de momento y que para imprimir 4 tonterías puedes hacerlo en negro. No. Los señores de HP han decidido que cuando se te acabe un cartucho tienes que comprarlo ipso facto, inmediatamente, ráudo y veloz no sea que se acabe el mundo... aunque a ti no te haga falta de momento.

Entonces: se te acaba la tinta en un cartucho y la impresora te imprime una página de alineamiento, gastando absurdamente la tinta que te queda en el otro cartucho (además de una hoja de papel). Claro, perfectamente lógico, como si la tinta no fuese más cara que la gasolina. ¿Se les acabaron las combinaciones de parpadeos de las lucecitas del panel?, ¿no podían avisar de otra forma (p.ej. en lugar de imprimir una página de alineación completa, imprimir un mensaje de una linea diciendo lo que sucede)?.

Otra cosa es que tampoco funciona quitando el cartucho de color y dejando sólo el negro: "ya que el cartucho de color está vacío, mejor lo quitamos, ¿no?". Pues no, tiene que haber un cartucho de color, aunque esté vacío, y entonces volvemos a lo de antes: con un cartucho vacío se imprime una hoja de alineación. ¡Cláro que sí!.

En fin, a grandes males, grandes chapuzas: de casualidad descubrí que, con ambos cartuchos puestos, y aunque uno de ellos esté vacío: abriendo y cerrando la tapa de los cartuchos se cancela la impresión de la página de alineamiento. Yo estaba dispuesto a aguantar así tanto tiempo como me fuera posible, pero mi padre ha decidido capitular y dice que comprará un cartucho de color.

2008/05/28

La parte más interesante de la huelga de guionistas

El 27 de Abríl, Larry Lessig (abogado estadounidense ex-desmitificador del copyright, y actualmente anticorrupción política) publicaba en su blog un pdf que le envió Matt Prager (ex-guionista, y actualmente psicólogo) sobre la huelga de guionistas de la WGA

No he encontrado el artículo en ningún otro sitio, en el PDF tampoco he visto nota de copyright, así que como el blog de Larry se publica con cc-by me he tomado la libertad de traducirlo y publicarlo sin pedir permiso (que también le viene al pelo a un artículo sobre el tema).

La huelga de guionistas es la traducción que hice del artículo de Matt.

2008/05/26

surre... WTF?!!?!

No son las subprime lo que está túmbando a los bancos ahora: ¡es COBOL!

¡Qué surrealista!, pensareis alguno, pero lo digo en serio: en infojobs no dejo de ver ofertas de analistas COBOL que ni me planteo mirar por que: ¿quien quiere programar en COBOL hoy en día (que dicen "analista" pero no te engañen, si especifica "COBOL" vas a picar más que los 7 enanitos mineros de blancanieves juntos), con la cantidad de lenguajes tan bonitos que hay? como Python, o Ruby (o incluso PHP es más bonito que COBOL), donde no hay que escribir en mayúsculas y programar no es una tortura para la vista. ;)

Bueno, vale, alguien hay. De hecho es gracias a ese alguien que sé que principalmente COBOL hoy en día se usa princpalmente en banca.

Pero vayamos al principio de esto: el boom de las puntocom.

Sí: de alguna manera (probablemente a golpe de talonario, que es como funcionan los bancos: gastándose el dinero de sus clientes, estos canallas), los bancos que usaban COBOL se "medio saltaron" el boom de las puntocom. ¿Cómo? con becarios recién titulados y atraídos por sus ansias de analizar, y por el dinero, y las mujeres, y el traje y corbata; y empujado por la suegra, y los padres, y las novias, y las videoconsolas que son muy malas, y las hipotecas de los mismos bancos, estos pobres becarietes son encadenados en las mazmorras junto a la cámara acorazada de las entidades financieras, llevando una vida de penurias alejados de la luz solar donde ni siquiera pueden traer una planta que les haga compañía pues moriría incapaz de realizar la fotosíntesis. Acompañado pues únicamente del teclear de otros becarios encadenados en cubículos cercanos igualmente aislados.

Pero el tinglado ya no se aguanta más, no queda gente que quiera programar en COBOL, ni por todo el oro de la reserva federal estadounidense: entonces sus sistemas informáticos empiezan a no poder tapar los agujeros que deja la incompetencia de las personas que los manejan y, ¡oh, sí!, ¡ahora sí!, les ha llegado el momento, es el San Martin de estos cerdos.

2008/05/20

n-back no es un grupo musical para adolescentes

No, n-back es un test, casi un juego al estilo de los BrainTraining, que promete mejorar la inteligencia fluida... o eso leí en Wired hace unas semanas.

Según explican en el artículo (sin mucho detalle tampoco), hay 2 tipos de inteligencia, la fluida, y la cristalizada. La inteligencia cristalizada tiene en cuenta habilidades aprendidas y adquiridas como vocabulario, matemáticas, etc... En cambio, la inteligencia fluida es la que se usa al adaptarse a nuevas situaciones que no se han visto antes (vamos, la propia definición de "nuevo", mismamente).

Entonces, los ejercicios n-back (o n-atrás en castellano) consisten en mostrar al usuario una secuencia de dibujos/letras/sonidos/lo-que-sea y el jugador tendrá que pulsar un botón cuando la cosa mostrada sea la misma que se ha repetido n veces antes. Hay una versión flash para hacer pruebas n-atrás aquí.

Pero ahí no acaba la cosa, ya que en realidad en wired no hacen referencia a ese test que acabo de poner, sino a esta otra prueba n-atrás dual, que es mucho más dificil, ya que se trata de 2 estímulos simultaneos: uno visual y otro auditivo, y el jugador debe responder si se ha repetido el sonido, o la imágen.

Y para terminar, primero, a pesar de que enlazan al test n-back dual desde uno de los comentarios del artículo en wired, como yo lo leí desde google reader no miré los comentarios (están ultimamente poniendo al azar artículos completos en los feeds de wired), y llegué a las pruebas a través de una mención al Mentat Wiki que hizo Inti Acevedo en ALT1040. Y segundo un puntazo negativo para mi que me he ofuscado intentando hacer el n-back en javascript (sí ya se que es una chorrada hacerlo, que esta 'confesión' pública me sirva de escarmiento... o algo).

PD: Sí, twitter está caído y me aburro, así que publico algo XD

2008/05/13

De reformas.

Por los pricipios de Internet (y probablemente incluso antes), circulaba un texto en forma de esos correos en cadena que se reenvian, no tanto por que en el mismo correo te pidan que lo reenvies, sino por que causaba verdadera impresión (hey, la red no estaba tan extendida como ahora, y los que circulaban tenían cierto grado de cultura; el suficiente como para quedar impresionado).

Este texto trata sobre una supuesta reforma de la lengua castellana para simplificarla. Una búsqueda en el archivo de Usenet que mantiene Google me dirigió a esta conversación con el texto de la reforma en el grupo es.humanidades.literatura, donde un comentarista referencia a Gonzalo Korreas... en 1630 (ou, yeah, para que luego se quejen de la modernez de los SMS) como fuente primigenia de este tipo de distorsión del castellano.

Por otro lado, Deron Bauman, de Clusterflock, publicaba mientras era autor invitado de kottke.org, en un artículo sobre las inclemencias del Inglés para los no nativos en la lengua de Shakespeare, un enlace relacionado en el blog de David Bogner donde lo más interesante (en lo que respecta a este artículo) es el comentario de Raz, que reproduce una reforma del lenguaje inglés propuesta, supuestamente, por Mark Twain (la entrada principal y otros comentaros también son recomendables si te interesa la lengua inglesa). Referencias a este texto también son fácilmente encontrables en los grupos ingleses de Usenet (por ejemplo).

Sería curioso saber si el texto en español deriva de la propuesta de Korrea o de la de Twain; si la reforma de Twain es suya o es un meme atribuido a Twain (como se le atribuyen chistes a Jaimito); y si quien escribió la "reforma de Twain" tenía conocimiento de la reforma de Korrea (es bastante probable también que hayan propuestas de reforma anteriores a la de Korrea, pero no resultarían tan interesantes como este 'fósil' del actual lenguaje SMS).

2008/04/22

Receta para madalenas.

En realidad acabaría antes poniendo el enlace al vídeo en Videojug de donde saqué la receta, pero bueno, así escribo algo más que sólo twitts o emails.

Ingredientes:

  • 250g harina
  • 150g azúcar
  • 6g (1c.p.) levadura no orgánica (gasificante, vamos)
  • 25% c.p. sal
  • 1 huevo batido
  • 100ml leche
  • 110g mantequilla fundida
  • 1 c.p. vainilla
  • la ralladura de la corteza de 1 naranja

Nota, c.p.: cuchara pequeña

Preparación:

  1. Encended el horno para que vaya precalentándose entre 150 y 200 ºC.
  2. Poned los ingredientes secos (harina, azúcar, levadura y sal) en 1 bol, llamémoslo A.
  3. Mezclad a conciencia el contenido del bol A.
  4. Poned los ingredientes húmedos (huevo, leche, mantequilla, vainilla, naranja) en otro bol distinto, llamémoslo B.
  5. Mezclad a conciencia el contenido del bol B... bueno, no hace falta que sea tan a conciencia.
  6. Mezclad el contenido del bol B en el bol A hasta obtener una pasta más o menos homogénea (en cuanto veas que se parece a la que hay en el video que he puesto antes paras, no hay que mezclar demasiado).
  7. Verted la pasta en los moldes para madalena. No llenéis los moldes hasta el borde por que luego subirá; alrededor de la mitad está bien.
  8. Hornead a media altura durante 15-20 minutos (el truco de pincharlas con un palillo es: si el palillo sale limpio, es que ya están hechas por dentro y puedes sacarlas).
  9. Apagad el horno, y dejad enfriar las madalenas hasta que el ansia de probarlas os venza.

Variaciones

Las que yo he probado. Evidentemente hay más, pero las dejo como deberes para casa.

  • Por ejemplo en casa no tenemos vainilla normalmente, pero sí tenemos canela y cacao en polvo. Como son ingredientes secos, se añaden al bol de los ingredientes secos (1 c.p. de canela y 2c.p. de cacao).

    Creo recordar que así las hice las últimas veces, aunque en vez de echar 1c.p. de canela le eché a ojo.

    Una ventaja de usar canela y cacao es que hacen contraste con la harina el azúcar, etc... y así puedes ver fácilmente cuando dejar de mezclar el bol de ingredientes secos: cuando el color sea más o menos uniforme.

    Atención: parece evidente que la canela y el cacao son ingredientes secos (como ya he dicho antes) así que cuando se mezclen los 2 boles, deberás añadir algo más de leche para compensar. No sabría decirte cuanto: lo hice, como antes con la canela, a ojo.

  • Que por otra de esas casualidades de la vida no hay naranjas. Bueno, puedes usar corteza de limón (¿en qué casa no hay limones?).

    Personalmente me gustan bastante los limones, así que no me molesta mucho el cambio, pero reconozco que son algo más fuertes que las naranjas y es posible que tengas que añadir algo más de azúcar para compensar el sabor (o directamente pasar de naranjas y limones, no queda igual, pero se puede hacer).

    Ojo al rallar, no llegues demasiado a la parte blanca de la corteza por que amarga.

  • Que tampoco tienes mantequilla.

    No problemo, puedes usar aceite de oliva.

    Las primeras veces que intenté la receta yo no tenía así que busqué un poco por internet, y encontré que la proporción básica de cambio es 3g de aceite de oliva por cada 4g de mantequilla. Un sencillo 75%, vamos. Para esta receta, saldrían unos 82,5g de aceite de oliva, que puedes redondear a 80g sin muchos problemas (no se lo digáis a ningún francés, pero también he usado esta proporción con más o menos éxito para hacer crêpes con aceite de oliva en lugar de mantequilla).

  • Y un último apunte sobre la levadura/gasificante.

    Dependiendo de la marca deberás echar más o menos, o reforzarlo con algo más. En mi casa, con 1 c.p. de levadura no tuve bastante las primeras veces, así que también añado 1 c.p. de bicarbonato sódico (que es básicamente lo mismo que hay en la levadura química, así que no pasa nada por muy raro que suene).

Y creo que esos son todos 'mis secretos' para hacer madalenas.

2008/04/18

2008/04/05

2008/03/31

2 cubos

cubo verde y cubo azul con pala amarilla bajo un sol naranja y una nube negra en un cielo azul y sobre un suelo marrón

2008/03/16

Programación

Curso CS61B de Primavera 2007 en UCBerkeley, en formato podcast.

[...] me gusta pensar que lo que os estoy enseñando es programación.

Hay gente que dice "la informática no es sólo programación", esta gente es... estos idiotas son gente que no sabe lo que es programación. Dicen "no también hay Análisis" que para mi es programación, "también hay Algoritmos" que para mi es programación, "también hay esto y lo otro... Consideraciones de la Interfaz de Usuario" que para mi es programación.

Esta gente tiene una visión muy estrecha de lo que es programación: la mía es mucho más amplia. [N. del T.: no entiendo bien lo que dice aquí] y lo que intentamos hacer en cualquier curso universitario es enseñaros conceptos. No somos un instituto de formación profesional [N. del T.: trade school equivale aproximadamente a la FP española] [...]

-- Paul Hilfinger

2008/03/11

Confianza

El ser humano es deliciosamente irracional en cuanto a confiar/desconfiar se refiere.

Por un lado están las religiones.

Alguien te dice que tienes que creer en algo que no puedes demostrar que exista ni demostrar que no exista. La única salida es confiar o no confiar en el mensajero.

Y es un hecho que hay mucha gente que confía a pesar de que es un hecho que, históricamente (y en los periódicos al menos un par de veces al año [atentados en nombre de un dios, tocamientos en nombre de otro, etc...]), la gente detrás de la religion (de cualquiera de ellas) son gente de la que no te puedes fiar.

Ahora iba a dar un salto mortal hacia atrás con voltereta y triple tirabuzón invertido para hablar de la confianza en el software libre frente a la confianza en el software cautivo (propietario, o como quieras llamarlo), pero dándome cuenta que escribo con un sistema operativo que no es software libre, y en un sistema de blogging que tampoco lo és, pierde uno toda autoridad moral para escribir sobre el tema.

Lo que no querría dejar de apuntar es la peripecia de Dustin Brooks que publica Jeff Atwood en su blog. Resumo para no alargar y para los que no dominen el inglés:

Dustin quería hacer una copia de su correo de GMail, encontró una aplicación que no le servía por los pelos, y mirando el código de casualidad (con una herramienta que te permite ver el código aunque no esté publicado), Dustin descubrió que sus datos (y los de otros 1777 incautos usuarios del programa) estaban siendo recolectados por un desaprensivo programador spammer.

En fin, creo que sólo puedo añadir: Fíate de quien tu quieras, pero por lo menos se consciente de quien te está dando garantías para que te fíes y quien no.

2008/03/01

Rompiendo la baraja de la información

El juego del ultimátum

Leo en Ecos del futuro sobre el juego del ultimátum:

Se tienen 2 sujetos separados. A uno de ellos se le muestra una cantidad de dinero, y se le pide que haga 2 pedazos. El segundo tiene que decidir si acepta la división o si la rechaza. Si el 2º acepta ambos se quedan con sus respectivas partes, si la rechaza no hay dinero para ninguno.

El resultado es que cuando la división no era descaradamente desproporcionada (algo más pareja que el 80-20) el 2º sujeto aceptaba, pero cuando la división era muy desproporcionada (80-20 o más), el 2º sujeto rechazaba el trato.

Pensado fríamente, ¿no debería el 2º aceptar siempre?, ¿acaso no es mejor tener 20 que tener 0?.

Infoxicación: Sobredosis de información

Luego en el artículo Cortina de humo de Capire.info, Luiz Agner nos recuerda que de toda la información disponible, apenas somos capaces de alcanzar, asimilar, y utilizar una pequeña parte.

Cito directamente el artículo:

Una edición dominical de O Globo o O Estado de Sao Paulo contiene normalmente más información de lo que el común de los mortales podría recibir durante toda su vida en la Edad Media. Los medios de comunicación de masa y la Internet expelen volúmenes cada vez mayores, de datos y de noticias a velocidades impresionantes: Somos masacrados por información, en cantidades imposibles de ser procesadas. Encontrar lo que es pertinente o necesario, en este contexto, pasó a ser una tarea ardua para los ciudadanos comunes.

Si en el pasado, se acostumbraba a pasar la información por las manos de bibliotecarios, periodistas, educadores o fuentes con reconocida credibilidad, actualmente, gran parte de ella es imprecisa y de dudosa calidad. En los medios de comunicación masivos, por ejemplo, se mezcla la cantidad con la baja calidad, sin provecho concreto para el ciudadano en términos de conocimiento construido, y cuanto más intentamos acompañar esta carrera, más somos vulnerables a los errores de la percepción.

La crisis contemporánea es justamente la de cómo transformar la información disponible en conocimiento. Más información debiera representar más oportunidades para aumentar nuestra comprensión del mundo, pero esto no ocurre en la práctica. La explosión de información funciona como una cortina de humo. Surge un síndrome emocional y mental que lleva a las personas a conclusiones erróneas y a decisiones ingenuas, causando ineficiencia y perjuicios financieros para las organizaciones-problema típico de los trabajadores del conocimiento. En términos de salud individual, los efectos del exceso de información pasan por estrés, tensión, trastornos del sueño, problemas digestivos, dificultades de memoria, irritabilidad y sentimiento de abandono.

Idiocracia

Y acabo mezclando estas dos ideas con la recientemente vista película "Idiocracia". Una distopía donde los ininteligentes han tenido más éxito evolutivo que los inteligentes, ya que las sociedades actuales están basadas principalmente en la defensa del débil o del menos capaz frente al hecho evolutivo que no es que premie al fuerte, sino que más bien reduce las posibilidades del menos capaz.

El camino mental sería el siguiente:

Si de toda la información que se genera en la red (o fuera de ella) apenas somos capaces de procesar/asimilar/aprovechar menos del 20%... ¿no habría gente rompiendo la baraja como en el juego del ultimátum?, ¿no daría esto lugar a gente que se desentiende del conocimiento por que no puede abarcarlo todo, y decide mantenerse ignorante?. Que miedo da el futuro, ¿eh? ó_ò

2008/02/28

Averiguar las coordenadas de Google Maps (2)

Hace algún tiempo (en Mayo del año pasado), publiqué un código javascript que te dice las coordenadas de Google Maps y algo más de información al ponerlo como favorito y pulsarlo mientras visitas el sitio de mapas de Google.

Reconozco que por aquel entonces no se me ocurrió mirar la API, pero Andrés Nieto redifunde un artículo de Lifehacker donde dan un método más sencillo que el que yo usé para sacar la coordenada del mapa. Aunque en el ejemplo no te da toda la información que te daba mi bookmarklet antiguo (a mi me parece útil saber la fecha/hora), combinar ambos códigos no es dificil.

2008/02/25

martillo

martillo

2008/02/14

Expresiones reguleras

El otro día un conocido tenía un problemilla con las expresiones regulares y me ofrecí a ayudar. Lo dejo por aquí para no olvidarlo (que es lo que tienen estas cosas, que uno se olvida de ellas frecuentemente).

Las expresiones regulares son un mecanismo la mar de potente para buscar texto. Es tanta la potencia que tienen que normalmente no usamos más que lo básico y al necesitar algo más avanzado podemos perdernos (por eso existen algunas herramientas para hacer y comprobar las expresiones regulares, aunque personalmente yo para eso uso el editor Vim). Como introducciones a las expresiones regulares hay en Internet a miles, no me extenderé en eso y paso al problema en cuestión, que consistía en buscar con PHP algunas agujas de texto en un pajar de HTML.

En el pajar se reconocen 3 tipos de agujas que nos interesa encontrar:

<!-- textoA textoB-->
<!-- textoA textoB str1-->
<!-- textoA textoB str1 str2-->

De ahí interesa diferenciar los 3 casos y extraer str1 y str2 en los 2 últimos casos. El código PHP con las expresiones regulares que había al principio era más o menos este (pongo sólo las funciones preg_*, que es lo interesante):

preg_match("/<!-- textoA textoB-->/", $pajar);
preg_match_all("/<!-- textoA textoB (.+)-->/", $pajar, $arr);
preg_match_all("/<!-- textoA textoB (.+) (.+)-->/", $pajar, $arr);

El problema aquí es que la segunda expresión encuentra las 2 últimas agujas, por lo que la tercera expresión no servía de nada (por que estaba en un else que dependía de la segunda). Una vez resuelto puede parecer evidente, pero a simple vista tampoco se me ocurrió a mi lo que estaba pasando.

El problema es el punto: el punto hace coincidir cualquier carácter, y el espacio en blanco también es un caracter, por lo tanto es normal que aparezcan casos de la tercera aguja cuando sólo nos interesa la segunda. La solución pasa por buscar cualquier carácter excepto el espacio que tiene que haber entre str1 y str2 (asumí que ni str1 ni str2 van a contener ningún espacio, pero es una presunción peligrosa). La forma de decir esto mediante expresiones regulares es mediante un conjunto de exclusión (que es igual que el resto de conjuntos pero el primer carácter debe ser un acento circunflejo '^'). Las expresiones quedan así:

preg_match("/<!-- textoA textoB-->/", $pajar);
preg_match_all("/<!-- textoA textoB ([^ ]+)-->/", $pajar, $arr);
preg_match_all("/<!-- textoA textoB ([^ ]+) ([^ ]+)-->/", $pajar, $arr);

Como he comentado antes, si por algún casual la str1 o la str2 que nos interesan tuviesen espacios, ni la segunda ni la tercera expresión regular encontrarían nada, lo que puede ser un problema; pero nada que no se arregle con unos cuantos modificadores en las expresiones :)

Y esto ha sido todo en la entrada de San Valentin (es lo que tiene amar a las expresiones regulares) XD

2008/02/08

Erepublik

Tengo 5 7 invitaciones para Erepublik para los 5 7 primeros que comenten pidiendolas. Si no sabes qué es Erepublik aún, lo explico a continuación.

Actualización: por algún motivo no me di cuenta y en lugar de 5 tengo 7 invitaciones.

Actualización (4-may-2008): ya no me quedan invitaciones.

Descripción corta y exagerada (con un poco de hype): Erepublik es un simulador de sociedad donde podrás tomar las riendas de la historia de tu propio país (o de algún otro). Consigue tu propia empresa, tu propio periódico, tu propio partido político, alcanza la presidencia del gobierno. Todo eso y más aquí, en Erepublik (que es gratis y sólo necesitas un navegador web).

Descripción larga y desaliñada (tan objetiva como me sea posible): Erepublik es un simulador de sociedad con un interfaz en HTML, donde cada uno de los participantes se inscribe como ciudadano de una sociedad simulada. Una de las gracias es que la simulación se hace sobre la misma base geográfica que el mundo real (eliges país y región de entre los países y regiones del mundo real).

Al ser una simulación (además de por estar en beta) significa que las cosas están bastante limitadas. En concreto en esta sociedad hay 6 áreas principales en las que los ciudadanos pueden actuar:

  • Sociedad: gestión de tu perfil y contactos con otros jugadores, además de localización geográfica;
  • Economía: gestión de tu empleo (tanto si buscas trabajo como si buscas trabajadores), gestión de tu empresa (si consigues montarla) y acceso a los mercados (alimentación, transporte, armas, vivienda, regalos, sanidad y cambio de moneda);
  • Política: gestión de la afiliación política que tengas y tu participación en la vida política de tu partido. Una vez te afilias a (o creas) un partido puedes optar a distintos puestos (congresista, alcalde de la región, o presidente del gobierno);
  • Militar: entrenamiento militar. De momento, esta sección está poco desarrollada y no hay más que ir a entrenar;
  • Prensa: gestión del periódico personal. Cada ciudadano tiene la posibilidad de crear un periódico personal con el que comunicarse con el resto de jugadores del país;
  • Foro: hay un subforo para cada uno de los 5 apartados anteriores además de otros 8 para cuestiones adicionales: contratos (que son públicos), noticias, ayuda, trucos, off-topic, problemas, sugerencias y reglas. En los foros se debe hablar inglés a ser posible.

Además, en 4 de esos sectores (sociedad, política, economía y militar) se obtienen puntos según las acciones realizadas o los hitos conseguidos. Algo a tener en cuenta es que a pesar de estos puntos, en Erepublik no se gana nada (salvo algún disgusto que otro, la gente es "asín").

De los 3 puntos que Erepublik destaca como atractivos: "Es gratis", "Sólo inteligencia humana" y "No consume tiempo". Me gustaría aclarar los dos últimos:

  • Sólo inteligencia humana: Esto significa que no hay inteligencias artificiales a las que enfrentarse como por ejemplo en el Civilization (que es lo más parecido a esto en juegos convencionales). Esto tiene sus pros y sus contras.
    • La ventaja de esto es que va a ser bastante difícil predecir el comportamiento del resto de jugadores, tal y como pasa en la vida real; aunque las limitaciones del simulador hacen que el rango de acciones sea bastante limitado siempre hay alguien creativo con alguna buena idea para llevar a cabo ligeramente al margen de la capacidad del sistema.
    • Y el inconveniente es que, tal y como pasa en la vida real, algunas personas son muy gilipollas y el simulador no tiene mecanismos para compensar esto (lo peor sin duda son los gilipollas bienintencionados por que se aferran en que la intención es buena y no aceptan que les digas que estan haciendo el gilipollas). En fin como la vida misma, pero a través de un navegador web.
  • No consume tiempo: Y UNA PUTA MIERDA (perdón por el lenguaje soez... o no). En realidad puedes elegir entre jugar a "no consume tiempo" o jugar a "me dejo la mitad de la vida aquí":
    • Para que no te consuma tiempo tienes que hacer lo básico: te das de alta como militar, y vas a entrenar todos los días (entrenar es un click en un botón), luego consigues un trabajo y vas a trabajar todos los días (trabajar es un click en un botón), y unas 2 veces al mes votas: al presidente del gobierno y al alcalde de tu región (que esta vez es algo más de un click, pero sólo pasa 2 veces al mes).
    • Para perder media vida lo tienes fácil, ya que cualquier intento de involucrarse más te lleva a una espiral de interacción social. Y aunque el entorno sea simulado, la interacción no lo es: no hay inteligencias artificiales, las personas son personas y la interacción es tan real como reunirse a pegar gritos en el bar de la esquina sobre si cetapé es vulcaniano o si rajoy es un subnormal profundo. A partir de crear un periódico o de leer los periódicos de los demás empiezas a involucrarte en la vida política del simulador y, como la gente se queja por todo, a nada que no se le atiendan las quejas ya tienes la agenda del día-mes-loquesea lleno (de insultos, de exageraciones, de dermatitis, etc...). Ya lo he dicho antes: como la vida misma, oigan.

En fin, si has leído todo esto y aún tienes ganas de darte de alta (reconozco que no soy un buen publicista) déjame un comentario pidiendo la invitación (y recuerda que de momento sólo tengo 5 7).

2008/01/25

Buen xxxx, mal xxxx

Si un hombre bondadoso pero cojo siempre es mejor que un hombre no-bondadoso pero con todos los miembros, entonces un programa sin la característica X pero con la bondad de ser libre, siempre debe ser mejor que un programa con cualquier número de características pero sin la bondad de ser libre.

Y escribo esto desde un mal SO (según la definición que acabo de dar). Pero oye, nadie impide a un camionero promover las bicis por que contaminan menos :-P

PD: No cabe en twitter por poco

2008/01/24

Jack-o'-lantern

Jack'o'lantern de mandarina

¡De mandarina! (ph34r my t4ng3r1n3 p33l1ng sk1llz!!1!! XD)

2008/01/15

Felices fechas... ó_Ò ¿huh?

Bueno, iba a esperar a febrero para asegurarme que soy el último blogger en escribir el primer post de 2008 felicitando las fechas, pero no he podido esperar tanto.

diciembre 2007 enero 2008

Pues eso, ¡Felices Fechas!, y que se os dé bien el próximo año 2008 que acabamos de estrenar