Semigrupos y monoids

Una vez que hemos entendido lo que son las typeclasses y cómo implementarlas en Scala, lo que sigue es hablar de abstracciones,

Muchos programadores se asustan cuando leen algo que tiene que ver con teoría de categorías o matemáticas abstractas; después de todo, se puede programar bien sin meterse en tantos líos. No obstante, hay un principio que todo programador conoce: DRY (Don’t Repeat Yourself), que básicamente se refiere a no repetir el mismo código en diferentes partes; de hecho, es de lo más importante que se aprende cuando se aprende programación estructurada: si vas a usar una serie de instrucciones en más de un lugar, mejor júntalas, ponlas en un método por separado y mándalo llamar cada vez que lo necesites con los datos que necesites procesar. Simple.

Las abstracciones matemáticas son exactamente lo mismo, solamente llevado a más alto nivel: si existe un patrón que se repite constantemente en diferentes programas, ¿por qué no abstraerlo en código separado y llamarlas con los datos necesarios?

Continue reading Semigrupos y monoids

2) Jugando con fuego 

Liga a las partes anteriores:

Una aclaración que quiero hacer aquí es la siguiente: todo lo contado aquí es real. No es una historia basada en alguna novela, manga o animación :P Algunas partes parecen de película mala, pero juro por el osito bimbo que sí pasaron. Y miren que con el osito bimbo no se juega.

¿Palomitas, refresco listos?¿Sentados en posición cómoda? Entonces, vamos a la parte 2 de esta serie.

Continue reading 2) Jugando con fuego 

¿Sabías que…? – Parte 23

Cuando nos califican una tarea o un examen, estamos acostumbrados a ver “palomitas” para las preguntas correctas, y “equis” para las que están mal. Pero en Japón, las marcas para “correcto” e “incorrecto” varían un poco.

¿Sabías que en Japón las respuestas correctas se marcan con un círculo, mientras que las incorrectas con “palomita” o “equis”?

testmaru

Esta imagen muestra un ejercicio calificado. Al que lo hizo le fue relativamente bien.

chinkaito3

Si un mexicano (y quizá gente de otros países también) ve esta hoja, pensaría que las 2 preguntas están correctas, pero la realidad es todo lo contrario.

chinkaito2 chinkaito1

Lo mismo con éstas 2.

Las imágenes las encontré acá. La entrada de ese blog es respecto a respuestas curiosas (raras) en exámenes. Por ejemplo, en la imagen inmediatamente arriba de este párrafo, la pregunta es: “¿Qué nueva arma llegó a Tanegashima, prefectura de Kagoshima, en 1543?”. La respuesta es 鉄砲(teppou, “pistola”), pero el niño (se especifica que es de primaria) responde 鉄パイプ(tetsu pipe, “tubo”), pero en vez de la “espantosa X”, tenemos a la palomita para indicar que está mal.

Ahora bien: imaginen el horror de un niño japonés cuando un profesor extranjero, sin saber lo anterior, le califica su tarea con puras palomitas… la reacción es doble si el niño es el que siempre saca las mejores calificaciones. Lo bueno es que hablando se entiende la gente, pero el susto nadie se lo quita.

Donaciones

Habrán notado que en la barra de la derecha se agregó un botón para hacer donaciones por Paypal. Les aseguro que no es fraude ni me “hackearon” la cuenta.

Redacté una especie de “preguntas frecuentes” con respecto a las donaciones. Existen diversas razones por las que decidí adoptar esa medida, aunque algunas de ellas las mencionaré dentro de una serie en el blog, estilo “Los años maravillosos” o “Amor en los tiempos del sushi”.

En general, recuerden que las donaciones son voluntarias, y que no pasará nada con el blog si no hay donaciones o si no se junta X cantidad. Recurro a este método principalmente para no agregar publicidad y mantener este lugar como ha estado desde el principio.

Realmente no hay más que decir por el momento. Solamente me resta agradecerles de antemano por leerme, por sus comentarios y apoyo. Aquí seguimos echándole ganas.

Revisar las preguntas sobre donaciones.

Reflejar el área maestra en XMonad

Tengo 2 monitores en el trabajo. Mi silla está justo en medio de los 2, por lo que las áreas que más uso para trabajar son la mitad derecha del monitor izquierdo y la mitad izquierda del derecho.  Ahora bien: si han usado XMonad, sabrán que por lo general las áreas maestras de los layout están del lado izquierdo, lo que no me conviene para el monitor de ese lado, pero realmente nunca me había puesto a buscarle solución.

Hoy tuve un buen de ventanas abiertas y estuve revisando datos en todas, pero trabajando en ellos en el área maestra. De repente sentí la necesidad de tener la del monitor izquierdo en la parte derecha y me di a la tarea de investigar qué podía hacer.

Continue reading Reflejar el área maestra en XMonad

Concepto de similaridad y modelo de espacio vectorial

¿Cómo definimos la similaridad entre 2 cosas?

Es fácil decir que una persona se parece a otra, pero ¿con base en qué lo aseguramos? Color de piel, ojos, rasgos en común, tipo de peinado, forma de la cara, etc., son algunos de los factores que nos ayudan a decidir si una persona es similar a otra. Pero, ¿cómo llevamos esto a palabras?

Cuando decimos que una palabra “se parece” a otra, podemos enforcarnos en 2 aspectos: sintáctico y semántico. Por ello, necesitamos encontrar en cada caso factores que nos ayuden a determinar qué tan similares o diferentes son 2 palabras. Por el momento, aquí nos enfocaremos al aspecto sintáctico.

Continue reading Concepto de similaridad y modelo de espacio vectorial

Índice invertido, búsqueda booleana y vector de términos

Ya tenía un buen rato de no publicar nada aquí. Es un tema al que le quiero dar mucho más seguimiento, así que de lleno al tema.

En la entrega anterior vimos stemming, el cual es un paso importante en el preproceso de documentos, ya que nos permite trabajar con las raíces de las palabras y no con sus derivaciones, reduciendo el número de vocablos con el que tenemos que trabajar y al mismo tiempo “juntando” palabras que posiblemente tengan alguna relación (como “caminar” y “caminante”). Ahora es momento de usarlo para crear un índice que nos ayude a encontrar documentos fácilmente.

Continue reading Índice invertido, búsqueda booleana y vector de términos

0) Prólogo

Antes de que se vayan a hacer una idea diferente o extraña: están leyendo algo escrito por alguien que no se considera, ni nunca se ha considerado, atractivo. Asimismo, siempre tuve un complejo de inferioridad en lo que a chicas respecta: no me daba miedo hablarles y era fácil hacer amigas, pero en los casos en donde había sentimientos de por medio, siempre me consideré inferior a otros posibles prospectos que la dama en cuestión pudiera tener. Es raro, pero siempre pensé que no tenía temas de conversación y me imaginaba que las mujeres que hablarían conmigo se aburrirían al instante al escuchar alguna de mis pláticas.

Continue reading 0) Prólogo

A) Aclaraciones y detalles del tema

Durante todos los años que este blog ha existido, solamente durante un tiempo mencioné algo respecto a mi vida amorosa por acá, pero después de un tiempo dejé de hacerlo simplemente porque es algo muy personal y no necesariamente tenía que estar actualizando todo lo que me sucedía en ese aspecto.

Lo más curioso de todo esto ha sido que he recibido quejas y reclamos de gente que conozco en México, por no hacer pública en Facebook mi vida privada. Para la gente que me conoce o que me sigue o ha visto mis mensajes en Twitter, no es sorpresa que no casi no toque Facebook, y que no acepte a muchas de las invitaciones de amistad que me hacen por ese medio. Llámenme viejo, “old-fashion” o similares, pero aunque las redes sociales llegaron para quedarse y ahora juegan un papel muy importante en la comunicación, siento que no necesariamente todo se debe compartir con todo el mundo.

Continue reading A) Aclaraciones y detalles del tema

La vida de un mexicano en el país del sol naciente.