Viendo un set de Tim Minchin, lo escucho hablar de que cree en algo porque tiene evidencia. A mí siempre me pareció que la idea expresada como “No puedo creer en algo de lo que no hay evidencia” no tiene sentido. Para mí, si hay evidencia de algo, no necesito creer nada, lo acepto. Yo no creo, no tengo fe, y ya. Sé que la fe existe, sé que hay un montón de personas que creen y sienten una alegría grande, y yo no. No me alegra ser un ateo, es simplemente lo que soy. No me parece que los que creen tengan un problema.
Best viewed in elinks
Idea para un proyectito: crear un plugin de firefox/chrome/etc. que sustituya textos como “This site best viewed in [Browser]” con “I don’t really know how to code in JavaScript“, y parecidos.
Vida de casado
Un esposo cariñoso, con ocasionales episodios de egoísmo que pasan rápidamente.
La paciencia del jugador
Viendo sitios que hablan de Skyrim o Simcity, me pongo a pensar que la paciencia de la araña no es nada junto a la capacidad de soportar que tiene un gamer cuando quiere jugar a algo. ¿Qué nos lleva a jugar cosas medio hechas, con bugs evidentes, ausencias, cuelgues? ¿Qué juego habría sido con más pulimento? ¿Qué podríamos hacer si no perdiéramos tiempo en esto?
Santiago
Santiago es una vedette, engalanada de plumas de la cabeza a los pies, y calzada con tacos que, como los Santiaguinos, casi desaparecen durante las vacaciones.
Idiotizaciones
Uno puede quejarse de que los smartphones nos idiotizan, claro. Uno podría también quejarse de que los sudoku, las agendas de papel con birome y anotador, las tarjetas de crédito, los walkmen y los diarios nos idiotizan, y las llamadas que hacemos sin propósito de nada son muestra de que somos idiotas. Después de todo, eso es lo que los smartphones hacen.
An interesting series on speeding up combat in 4E D&D
Just found on my roleplaying games feed this couple of articles from Kobold Press, with a very interesting subject: How do I make combat in D&D faster?
Ballando per un paese
Guardare il processo di formazione di questo governo italiano è come guardare un reality show. Insulti, sproloqui, iperbole scatenata, promesse, intrattenimento allo stato puro. Forse uno dei partecipanti ci sta simpatico, e allora tifiamo per lui, anche se dopo non riuscirà proprio a vincere il premio maggiore. Alcuni escono dalla casa, alcuni tornano. Alla fine non succede niente, e siamo pronti a ricominciare. Un poco ammaccati, però.
Politichese
Intentos de conversación
Supongan el siguiente escenario: un amigo escribe en facebook algo que a ustedes no les parece interesante. Puede ser una frase célebre, una foto con un mensaje que compartieron de otro lado, una queja, etc. ¿Qué hacen ustedes?
Usualmente yo ignoro este tipo de cosas. Paso a otra página, refresco, hago otra cosa.
Supongamos ahora que lo que esta persona acaba de publicar es una frase con la que ustedes no están de acuerdo. ¿Qué hacen ahora? Continue reading
Vacanze Intelligenti
Appena viste le “Vacanze Intelligenti” di Sordi. Come fa il povero cristo a non prendere un mitra e massacrare cacciare a pedate i tre figli, non lo saprò mai. Ho pensato anche che il fatto di inserire due zotici così in un contesto artistico molto al di sopra della loro cultura è in sè un fatto artistico, e la commedia si può anche vedere come un’opera d’arte, facendo un’interpretazione dell’interpretazione, se mi spiego bene.
Ma comunque, Sordi e moglie che si magnano tutto un ristorante, seduti accanto alla “pvincipessa”, che commentano la biennale di Venezia facendo parte delle sculture, e che russano coi toni di Stockhausen? Mitico. Vedere questo film è stato un vero piacere.
Conthpirathieth
Tengo problemas con las teorías conspirativas. Tienden a implicar que podemos echarle la culpa de nuestros problemas a otra gente. “¡No me siento mal porque soy un pelotudo! ¡Es culpa de los Illuminati que nos sojuzgan desde hace siglos!“
Mejor estar seguros
Visto por ahí en un form:
<div class="aspNetHidden">
<input type="hidden" name="..." />
<input type="hidden" name="..." />
<input type="hidden" name="..." />
</div>
(datos anonimizados para proteger a los culpables)
¿A ustedes qué les parece, estarán ocultos esos datos?
Software libre? Open source?
Muchos fans del Software Libre me parecen de partidos de izquierda con su manía de pelearse con aliados por pelotudeces.
“Yo estoy con el Software Libre de la c***** de la lora” “¡Ah no, yo la voy del Software Libre de la p****** del mono, vos sos un vendido!”
“¡No es Linux, es GNU/Linux!”
Dense cuenta que están hablando de lo mismo, quieren lo mismo, y lo único que logran con esa fragmentación es romper las bolas. Y para vos, que en 2012 seguís hinchando con “es GNU/Linux”: perdiste, flaco, no rompas. Ayudá a lograr que más gente lo use en lugar de retarlos porque no se asocian a tu exigencia impronunciable.
(Con esto calculo que ofendí a fans del software libre, a izquierdistas y probablemente a algún familiar que no me quiere ver usando este lenguaje).
El sistema
Acabo de entender o recordar qué es lo que me molesta de la gente que protesta contra el “sistema”. Es que toman un bonito término abstracto para descargar culpas, en lugar de corregir al imbécil del compañero de trabajo que se ríe de los gays como “putos” o “huecos”, del pelotudo que piensa -o no corrige a los que piensan- que las mujeres son “perras” si les gusta, y también si no les gusta, el que se queja -este es un clásico- de los políticos que roban, pero “si hay que hacer algo en negro está todo bien”…
El individualismo es una filosofía de vida medianamente aceptable, si no degenera en imbecilidades como “por qué tengo que dar algo por los demás? A mí no me dieron nada!”: sí, salame, te dieron calles, rutas, escuelas, hospitales, seguro de desempleo, infraestructura. Tus impuestos pagan eso.
El contrato social, el que a uno le guste más, actualmente está en crisis. Está en crisis porque estamos pensando que, ante unas manzanas podridas, lo mejor es talar el árbol, en lugar de regar, fumigar, podar y cosechar como corresponde. Parece más fácil barajar y dar de nuevo. Yo no lo creo.
How not to do testing
En Ars Technica hay un artículo muy interesante sobre un sistema informático que los responsables de la campaña de Mitt Romney diseñaron, programaron e instalaron… muy, muy, mal.
This sort of failure is why there’s a trend in application testing (particularly in the development of public-facing applications) away from focusing on testing application infrastructure performance and toward focusing on user experience. Automated testing rigs can tell if software components are up to the task of handling expected loads, but they can’t show what the system’s performance will look like to the end user.
Sabias palabras, que desgraciadamente para los responsables de Orca, llegaron demasiado tarde. Recuerden: es muy, muy bonito (y muy bueno, no lo discuto) tener 100% de code coverage. Escuchar que al cliente no le importa porque el programa no hace lo que él quiere puede no ser tan bonito.
¿Doble estándar?
Gente que dice que el gobierno es una dictadura y su manifestación en contra es pacífica y positiva.
Gente que dice que el gobierno es completamente democrático, igualitario, y que la manifestación es gorila, golpista, y llena de tontos útiles o fascistas.
¿Alguna de las dos partes tendrá razón? ¿Alguno se dará cuenta de la imbecilidad de ambas opiniones?
¿Qué hago, le creo al que no fue y me dice que la marcha es destituyente y vacía de propuestas, o al que fue y me dice que se plantean alternativas y quejas válidas?
Cuidado, no quiero descalificar como ignorante al que no fue, que quede claro. Es posible que supiera lo que decía, y que el que fue en cambio estuviera obnubilado. Después de todo, la plaza también se llenó de gente cuando invadimos Malvinas, y esa fue una de las estupideces más grandes de nuestra historia. Por otro lado, también es posible que el que fue esté realmente hablando por experiencia.
Para ser sincero, las dos opiniones iniciales son reales y de conocidos míos, si bien un poco decoradas, tal vez. Las dos personas son adultos inteligentes, profesionales cada uno en lo suyo, y evidentemente cada uno con una visión de país distinta.
Encapsulación
Siempre me molestó que en las clases y en los libros explicaran la encapsulación con ejemplos como “si uno programa una aplicación para un banco, imagínense si otra persona pudiera acceder a las variables de dinero, podría hacer cualquier cosa“. En realidad, si uno tiene la confianza para programar el software de control de transacciones de un banco, ya puede hacer lo que quiera (y los controles son bastante más complejos que una keyword private).
En realidad, la gran ventaja de la encapsulación es que ayuda a hacer a nuestro código lo más ortogonal posible, limitando la cantidad de interacciones entre distintos módulos. Si la única manera pública de modificar una variable es a través de un método getter, debuguear y extender el código es bastante más sencillo que si todo el resto de nuestro programa le puede meter mano.
JavaScript: test de tipos y clases
La única forma consistente y útil de saber el tipo de un dato en JavaScript implica el uso del método Object.prototype.toString. El operador typeof falla míseramente:
typeof 'foo' === 'string' // true
typeof new String('foo') === 'string'; // false, typeof en este caso devuelve 'object', no 'string'
function is(type, obj) {
// esto lee la propiedad interna [[Class]] de un objeto
var clas = Object.prototype.toString.call(obj).slice(8, -1);
return obj !== undefined && obj !== null && clas === type;
}
is('String', 'test'); // true
is('String', new String('test')); // true
Esto nos permite superar la inutilidad del operador typeof, que solo debería usarse para testear contra undefined:
typeof foo !== 'undefined'
Javascript: construyendo arrays
Dado que puede haber ambigüedades al usar el constructor Array, lo mejor es usar la notación de arrays literales:
[1, 2, 3]; // Resultado: [1, 2, 3]
new Array(1, 2, 3); // Resultado: [1, 2, 3]
[3]; // Resultado: [3]
new Array(3); // !!Resultado: [undefined, undefined, undefined]
new Array('3'); // Resultado: ['3']
Notar el resultado de llamar new Array(3); Al pasar un solo argumento de tipo Number al constructor Array() el resultado es configurar el atributo length del nuevo array a ese número, y devolver un array de ese largo con elementos “de tipo” undefined.
