VERSION ACTUAL :

Inicio de sesión

Raulito el Friki

Raulito El Friki

COMENTARIOS

EN LINEA

Hay actualmente 0 usuarios conectados.

NUEVOS

  • adalbert
  • diego1986
  • RADEL
  • masterohs
  • MoDeM

Planeta Fedora-ES

#Snippets: Publicar un nuevo Gist mediante Javascript

Xenode - Vie, 06/14/2013 - 21:44

¿Se han preguntado cómo funciona el API del servicio de code snippets de Github? (El mentado Gist); Pues yo sí. Aquí está un snippet con el que podrán postear un nuevo Gist anónimo mediante Javascript, poniendo el código en una textarea, seleccionando el lenguaje y otros atributos como la descripción y visibilidad después. Nos soltará la URL del Gist creado y la abrirá en una nueva ventana para nosotros:



The Humble Weekly Sale: 11 bit studios. ¡Cinco juegos al precio que tu quieras!

JOzz - Vie, 06/14/2013 - 15:30
The Humble Weekly Sale es la edición semanal de Humble Bundle. En esta oportunidad podrás conseguir cinco juegos magníficos, además de contenido adicional.


Paga lo que quieras por Anomaly Warzone Earth, Anomaly Warzone Earth: Mobile Campaign, Sleepwalker’s Journey, and Funky Smugglers. Si pagas más del precio promedio también recibirás Anomaly Korea más un contenido adicional.

Continuar leyendo »

#Snippets: Google Drive Uploader/Selecter con HTML y Javascript

Xenode - Vie, 06/14/2013 - 06:59

Con el snippet a continuación, pueden integrar Google Drive a una aplicación/web por medio de un uploader/selecter usando sólo HTML y Javascript, permitiéndoles obtener las URL de los objetos deseados para manipulación:


HTML-Recorder: Grabando audio con Javascript en el navegador

Xenode - Vie, 06/14/2013 - 03:44

Hace rato armé una mini-app open-source que puse en Github la cual quiero presentar aquí: Se trata de HTML-Recorder, una mini-aplicación que nos permite grabar audio con el micrófono del usuario directamente en el navegador usando Javascript y tras terminar la grabación nos permite descargar la misma en un archivo de audio WAV.

Si quieren descargar el proyecto, contribuir y demás, no olviden checarlo en su página oficial en Github:


"El peor analfabeto es el analfabeto político. No oye, no habla, no participa de los acontecimientos..."

Yaderv - Jue, 06/13/2013 - 14:38
““El peor analfabeto es el analfabeto político. No oye, no habla, no participa de los acontecimientos políticos. No sabe que el coste de la vida, el precio de las alubias, del pan, de la harina, del vestido, del zapato y de los remedios, dependen de decisiones políticas. El analfabeto político es tan burro que se enorgullece y ensancha el pecho diciendo que odia la política. No sabe que de su ignorancia política nace la prostituta, el menor abandonado y el peor de todos los bandidos que es el político corrupto, mequetrefe y lacayo de las empresas nacionales y multinacionales”.”

- Bertolt Brecht

Diez formas de pensar como un matemático

Gaussianos - Jue, 06/13/2013 - 13:45

¿Cómo piensa alguien que esté muy metido en las matemáticas? ¿Qué técnicas utiliza para analizar convenientemente las situaciones que se encuentra en sus quehaceres diarios? ¿Hay alguna manera de que cualquier persona pueda llegar a comprender las matemáticas en profundidad? Quizás no, pero lo que sí se puede hacer es seguir algunos consejos sencillos para facilitar esa comprensión y, en su caso, el aprendizaje de las mismas.

Consejos los hay de todo tipo, y seguro que muchos de vosotros habéis seguido algunos que os han dado vuestros profesores o vuestros familiares. Y estoy convencido de que también vosotros mismos habéis dado consejos “matemáticos” en alguna ocasión. Los que aparecen en esta entrada forman parte de un pequeño manual publicado por Kevin Houston, matemático de la Universidad de Leeds, y bajo mi punto de vista forman una lista bastante interesante de ideas para mejorar el aprendizaje y la comprensión de las matemáticas. En lo que sigue podréis leer una traducción de lo más importante que Kevin Houston comenta de cada uno de dichos consejos (en algunos quizás meta algún comentario mío), y al final de este artículo encontraréis el enlace a su manual

Consejo 1: Pregúntate todo

Una de las cosas más bellas de las matemáticas es que pueden ser comprobadas, que no tienes que fiarte de la palabra de nadie. Si alguien dice que algo es cierto, tú puedes pedirle que lo demuestre. O mejor, puedes intentar probarlo tú mismo.

Tu reacción ante un enunciado debería ser desconfiar de él e intentar encontrar un ejemplo que muestre que es falso. Aunque al final dicho enunciado resulte ser cierto, el trabajo mental que conlleva esta búsqueda será beneficioso para ti.

Consejo 2: Escribe con palabras

Se entiende que hablamos de escribir las matemáticas con palabras. ¿Cómo nos puede ayudar esto? Las frases son los ladrillos de los argumentos, y las matemáticas (de alto nivel principalmente) tratan de argumentos en forma de demostraciones (¡no solamente de obtener la respuesta numérica correcta!).

Escribir con palabras en vez de con símbolos te obliga a comprender muy bien el tema del que estás hablando y a pensar muy cuidadosamente tus argumentos. Si no puedes escribirlo bien en una frase quizás es porque no lo has comprendido a la perfección.

Consejo 3: ¿Qué ocurre con el recíproco?

Los enunciados tipo A \rightarrow B aparecen continuamente en matemáticas. Podemos traducirlo como “Si A es cierto, entonces B es cierto”. El recíproco de A \rightarrow B es B \rightarrow A.

Ante un enunciado tipo A \rightarrow B, un buen matemático se preguntará si el recíproco también es cierto por la sencilla razón de que no tiene por qué serlo. Ahí va un ejemplo:

El recíproco de la expresión (cierta) siguiente

Si nací en Madrid, entonces nací en España

es

Si nací en España, entonces nací en Madrid

enunciado que, claramente, no tiene por qué ser cierto.

Por tanto, plantéate si el recíproco es cierto o no, ya no solamente por la propia veracidad o falsedad del recíproco en el caso que estés estudiando, sino porque ese esfuerzo que realizarás te ayudará a mejorar tus habilidades matemáticas.

Consejo 4: Usa el contrarrecíproco

El contrarrecíproco de un enunciado tipo A \rightarrow B es

no \; B \rightarrow no \; A

Por ejemplo, el contrarrecíproco de

Si nací en Madrid, entonces nací en España

es

Si no nací en España, entonces no nací en Madrid

Para mucha gente es sorprendente que sea así, pero la realidad es que la veracidad o falsedad del contrarrecíproco es la misma que la del enunciado inicial. Esto es, ambas sentencias son equivalentes: si una es falsa la otra también, y si una es verdadera también lo es la otra.

Esto debería aprenderse correctamente, ya que el contrarrecíproco se utiliza con bastante frecuencia tanto en las demostraciones matemáticas como en nuestro razonamiento diario.

Consejo 5: Considera casos extremos

Los resultados obtenidos al aplicar un teorema a los casos triviales y extremos de las hipótesis puede ayudar a su comprensión: ¿qué pasaría si cierto número es 0 ó 1? ¿O si consideramos la función trivial f(x) \equiv 0? ¿Qué ocurriría si tomamos el conjunto vacío? ¿Y la sucesión \{1 ,1,1, \ldots \}? ¿Qué obtenemos con un círculo o una recta?

Por ejemplo, utilizando un “caso extremo” es sencillo mostrar que el siguiente resultado es falso:

Teorema“: Dados a,b,c,d números enteros, si ab=cd y a=c, entonces b=d.

Consejo 6: Crea tus propios ejemplos

Un matemático crea sus propios ejemplos, tanto ejemplos estándar como ejemplos extremos, e incluso no-ejemplos.

Veamos uno. El método utilizado para calcular los máximos y mínimos de una función de una variable es bastante conocido. Vamos a quedarnos con el método simplificado:

Dada una función f(x), calculamos su derivada, f^\prime (x), la igualamos a cero y resolvemos la ecuación resultante. Los puntos obtenidos son los posibles máximos y mínimos del problema.

Después calculamos la segunda derivada, f^{\prime \prime} (x), y sustituyendo dichos puntos en ella los clasificamos como máximos, si el valor obtenido al sustituir es negativo, o mínimos, si el valor obtenido al sustituir es positivo.

Con este procedimiento podemos calcular los máximos y los mínimos de una función dada siguiendo estos pasos. Ahora, ¿y si nos piden lo contrario? Es decir, ¿y si nos piden crear una función que, por ejemplo, tenga un máximo en x=1 y un mínimo en x=3? Esto es mucho más complicado que lo anterior, pero por contra nos permite aprender mucho más sobre matemáticas.

Por tanto, dado un método para resolver un cierto tipo de ejercicios es interesante revertir el proceso y crear nuevos problemas yendo del final al principio.

Consejo 7: ¿Dónde se usan las hipótesis?

A menudo comprender la demostración de un resultado es muy complicado. Esto es algo esperado, ya que en muchas ocasiones en las demostraciones no se entra en dar una idea sobre el enunciado del teorema en cuestión o en cómo se descubrió dicha demostración. En definitiva, comprender las demostraciones es una de las cosas más difíciles a las que puede enfrentarse alguien en matemáticas.

Por ello es importante tener alguna idea sobre cómo comenzar a entender una demostración. Y analizar las hipótesis del teorema es un buen comienzo. Investigar dónde se utilizan las hipótesis de nuestro teorema puede ser de gran ayuda a la hora de comprender la demostración. Y encontrar “hipótesis ocultas” (por ejemplo, viendo si dentro de la demostración se usa algún otro resultado que tenga sus propias hipótesis) también puede ser interesante. Además, si encontramos algún resultado que se utilice varias veces a la hora de demostrar teoremas quizás eso indique que el resultado es muy importante o muy útil, por lo que posiblemente nos convenga aprenderlo bien.

Consejo 8: Comienza por el lado complicado

Éste es un consejo interesante a la hora de probar que una igualdad es cierta. Para ello, generalmente es mejor comenzar por el “lado difícil” de la misma y realizar operaciones en él para simplificarlo y así intentar llegar a la expresión que tenemos al otro lado.

Por ejemplo, para demostrar que tg(x)+cotg(x)=2 \; cosec(2x), \; \forall x \in \mathbb{R} tales que x \ne {{n \pi} \over 2}, \; \forall n \in \mathbb{Z}, es mucho mejor comenzar por la parte “más complicada”, la que tiene “más cosas”, la de la izquierda, y realizar operaciones en ella hasta obtener la de la derecha (os lo dejo como ejercicio; si queréis intentarlo no miréis el documento original de Kevin Houston, ya que allí está la solución)

Partir de la igualdad completa y realizar operaciones o reordenaciones en ella puede no ser lo más adecuado, ya que corremos el riesgo de caer en razonamiento circulares o incluso de suponer como cierto lo que queremos demostrar sin darnos cuenta de que lo estamos haciendo.

Consejo 9: Pregúntate qué ocurriría si…

A los buenos matemáticos les gusta preguntarse “¿qué pasaría si…?”. Por ejemplo, “¿qué ocurriría si elimino cierta hipótesis?”. Pensar en esto quizás nos ayude a ver mejor por qué cierto resultado es cierto o por qué una definición es como es. Y hasta podríamos encontrar un nuevo teorema debilitando las hipótesis si encontramos alguna que no sea necesaria.

Otro ejemplo. con frecuencia los objetos matemáticos son conjuntos de elementos que cumplen ciertas condiciones. Y a partir de ciertos conjuntos podemos construir otros conjuntos nuevos. Pues es interesante preguntarse si estos conjuntos nuevos “heredan” las propiedades de los antiguos. Por ejemplo, “si A y B son conjuntos finitos, ¿también lo es su producto cartesiano A \times B?”. “si A y B son conjuntos compactos, ¿también lo es su unión?”.

Consejo 10: ¡Habla!

Cuando Sir Christopher Zeeman fundó el Instituto de Matemáticas de la Universidad de Warwick, una de sus ideas clave para fomentar una atmósfera matemática fue que hubiera pizarras en los pasillos (además de en las clases), para facilitar que la gente pudiera hablar con los demás y explicar su trabajo en cualquier momento (el instituto Isaac Newton de Cambridge tiene pizarras en los baños y hasta en el ascensor…que sólo recorre dos plantas).

Son muchas las ventajas de comunicar tu trabajo a otros. Por un lado, al explicarlo te fuerzas a pensar con claridad. Y por otro lado, puedes aprender de los demás, ya que ellos pueden sugerirte ideas para resolver un problema o avanzar en él o, por otra parte, pueden encontrar errores en tus razonamientos.

Como decía al principio, interesante lista de consejos para pensar “como un matemático”. Creo que todos son muy acertados y muy necesarios para que nuestra mente se acostumbre a pensar de forma matemática. De todas formas, seguro que hay más ideas interesantes que no aparecen en esta lista. Los comentarios son vuestros para plasmarlas.

Aquí tenéis el enlace al manual de Kevin Houston: 10 Ways to Think Line a Mathematician.

Por cierto, la portada del manual incluye varias demostraciones visuales interesantes. Echad un ojo:

Las entendéis todas, ¿verdad?

Entra en Gaussianos si quieres hacer algún comentario sobre este artículo, consultar entradas anteriores o enviarnos un mensaje.

Construye tú también el poliedro de Császár.

ownCloud server install & basic configuration

Lokomurdok - Mié, 06/12/2013 - 21:42
First step:

[lbazan@ILBR001 ~]$ su
Contraseña:
[root@ILBR001 lbazan]# yum install owncloud


Second step:

Initialize apache:

[root@ILBR001 lbazan]#service httpd start
Redirecting to /bin/systemctl start  httpd.service

[root@ILBR001 lbazan]#

Third step:

when the installation finish go to your browser and write:

http://localhost/owncloud


When appear the owncloud home page you can write admin user and password. ownCloud don't have default user and password so you should think of one for that time. You can select the DB system for your election, in this case I use SQLite for a basic installation.

If you are user MySQL you need first create the database and then configure the user and password then put this configuration == in the ownCloud home page or you can edit the config file in "vi cd /etc/owncloud/config.php" directly. 

Ok! you finish the third step.

Now you have personal CLOUD


Screen Shots:

User Home Page
Expand configuration area
User admin area: You can create users and groups
Personal area: edit personal data and others
Aplication area: for install more addons
Administration area: some additional things for the good administration of the cloud
Links:
http://fedoraproject.org/wiki/Features/OwnCloud
http://owncloud.org/
http://doc.owncloud.org/
http://owncloud.org/features/

I hope you learn something this information. :-)

Regards!

Wallpapers by ~Slurpaza ¡Una gran colección!

JOzz - Mié, 06/12/2013 - 20:12
~Slurpaza es usuario en DeviantART. ¿No saben que es? Es un sitio web que aglutina a una comunidad internacional de artistas en la red. Un espacio virtual en el que cada cual puede mostrar su arte.


En su galería cuenta con una colección de aproximadamente 50 fondos de pantalla. También encontrarás otro tipo de material como, iconos, screenshots, mockups, etc.

Continuar leyendo »

We already followers 1000!!!! Proyecto Fedora

Lokomurdok - Mié, 06/12/2013 - 16:31


I'm happy that we are already 1000 followers on G+ Proyecto Fedora G+  Congrats! We all deserve a round of applause!!! :-)

Dos poemas de Jack Kerouac

Yaderv - Mar, 06/11/2013 - 13:48

Kerouac es sin duda unos de mis autores favoritos, responsable incluso del modo en que veo la vida. En sus textos tanto en prosa como en poesía, siempre existe una constante búsqueda de libertad y el deseo desesperado por sacarle la médula a la vida. Acá dos poemas del santo poeta-profeta de la generación del beats.


Poema-1959, de Mexico City Blues


El jazz se suicidó
pero no dejó suicidarse a la poesía
no temas el frío aire nocturno
no escuches a las instituciones
cuando devuelvas manuscritos a la arenisca
no saludes
no pelees por los pioneros de Edith Warton
o la prosa de Nebraska de Ursula Major
cuelga simplemente en tu patio
ríete jugando amablemente
pastel trombón
si alguien te da perlas juju
judío, o cualquier otro
duerme con ellas alrededor del cuello
tus sueños serán mejores
no hay lluvia no hay yo
te lo digo tío
seguro como la mierda.

Poema

         1

Un día estarás tumbado
allí en un delicioso trance
y de pronto una caliente
brocha enjabonada te será
aplicada en la cara
—lo tomarás a mal
—un día el
empleado de la funeraria te afeitará

         2

Dulce amor monstruañoso
De los mimos de mamá
¡Eh!
Llama Dios a la Madre
Para detener esta lucha

         3

Yo eso repetí & agoté
el metro & perdí 2 centavos
Yo que fui multado
Para ser gallardo
Y refinado
         ¡Ay!

Yo que fui
¡Aúúúú!
El búho
En la ventana

         4

Vieja cagada de perro navajo, tú
tus bienes son los mejores
bienes que he visto nunca ¿por qué
parece loco tu perro
cuando ladra?

¡Eh, sabueso!
         no te comas crudo ese conejo muerto
         delante de mis narices
         —caliéntalo un poco

Automatizar tareas periódicas en Rails/Linux (no capistrano)

Xenode - Mar, 06/11/2013 - 08:30

NOTA: Tutorial para servidores de/en producción

Ahorita estoy trabajando con algo bastante tedioso: Listas de correo. El problema con ellas es que sin importar cuánto las valides y limpies, siempre hay un correo que no se envía por error de formato en la dirección de Email.

El caso es, que cuando hay un error de estos y estás enviando un newsletter de forma automática a muchas personas, el envío se detiene y hay que hacer circo maroma y teatro para reanudarlo (encontrar el newslettter con correo érroneo, el índice de dicho correo, limpiarlo de la base de datos de correo, descartar todas las direcciones a las que ya se les envió además de esa y volver a empezar son solo algunas de las tareas a realizar), y hay que estar 100% al pendiente de cuando un error suceda para hacer toda la gestión de reinicio.

Afortunadamente, hay una manera de automatizar este proceso sin necesidad de que una persona esté checando el servidor a cada rato y aplique todo el proceso explicado arriba: Cron. El problema con Cron es que su sintaxis es HORRIBLE y difícil tanto de escribir como de entender (hasta cierto punto) Por suerte, en Rails tenemos una gema que se llama "whenever", la cual nos permitirá automatizar este tipo de tareas en el servidor.

Para usarla simplemente agregamos a nuestro Gemfile lo siguiente:

 gem 'whenever', require: false

Hacemos bundle install y luego corremos:

bundle exec wheneverize

eso nos creará un archivo llamado "schedule.rb" en nuestra carpeta "config" de la aplicación, en el cuál podremos añadir todos los cronjobs que requiramos para la aplicación con una dulce sintaxis ruby (ver el código comentado en dicho archivo para ejemplos o leer la documentación de la gema por acá).

Un ejemplo del mío:


La primera línea define dónde deberá guardarse el output resultante de correr los cronjobs y las demás son cronjobs programados. El primero corre una rake task cada día en un tiempo específico del mismo y el segundo cada 2 minutos corre un método llamado "scruffy" que se encuentra definido en mi application.rb y se encarga de hacer en automático toda la gestión de "reenvío en caso de falla" de la que les hablé arriba.

Ya definido este archivo con lo que queremos, tenemos que correr los siguientes comandos:

1. bundle exec whenever
2. whenever -i
3. crontab -l

El primero debería soltarnos la sintaxis cron de los cronjobs que definimos en ruby o si algo está mal un error indicándonos qué línea corregir. El segundo escribirá la crontable para dichas definiciones y el tercero nos mostrará la nueva crontable ya escrita.

Ahora tenemos que hacer ejecutable un archivo que encontraremos en la carpeta "script" de nuestra aplicación Rails y se llama "rails" precisamente:



Finalmente, reiniciamos cron y nuestro servidor (yo uso Nginx) con los siguientes comandos:

1. sudo service cron restart
2. sudo service nginx restart

y habremos terminado, revisamos nuestra aplicación para asegurarnos de que el comportamiento automatizado deseado se esté ejecutando cuando lo pedimos y eso es todo, automatización al instante en Rails.

Pappus, Hales y Kelvin, Weaire y Phelan, o cómo rellenar el plano y el espacio de la manera más eficiente

Gaussianos - Mar, 06/11/2013 - 02:30

Este fin de semana Eduardo Sáenz de Cabezón nos ha representado en Famelab con su gran monólogo Un teorema es para siempre (podéis verlo en inglés aquí). En dicho monólogo nos hablaba sobre la historia del problema del rellenado mínimo del plano y del espacio. En este post vamos a repasar la historia de estos problemas.

Lo primero que toca es explicar qué queremos decir cuando hablamos de rellenado “eficiente” o “mínimo”. Una forma de rellenar el plano será “mínima” (o “la más eficiente”) cuando a igualdad de área con cualquier otro “rellenado” el perímetro total sea menor, y para el caso del espacio será cuando a igualdad de volumen el área total sea mínima.

En lo que se refiere al plano, en la actualidad se sabe que el rellenado mínimo se consigue con hexágonos regulares. Parece que esta cuestión proviene del siglo I a. C., en el que Marco Terencio Varrón habla sobre los hexágonos de los panales de las abejas en un libro suyo de agricultura. Pero en realidad el problema ha pasado a la historia relacionado con Pappus de Alejandría, que lo cita en su Libro V (unos 400 años después), como la conjetura del panal (de todo esto ya habíamos comentado algo por aquí)…

(Imagen tomada de aquí)

…y eso fue, una conjetura, durante muchísimos años, hasta el siglo XX. En 1943, L. Fejes Tóth prueba la conjetura del panal, pero considerando como hipótesis inicial que las celdas son polígonos convexos. Y la cosa se mantuvo así unos 50 años más. En 1999, Thomas Hales publica una demostración general de la conjetura del panal en su trabajo The honeycomb conjecture, en el que prueba que, efectivamente, el hexágono regular es la figura más eficiente.

Para terminar esta parte, quizás sea interesante dar los datos de los perímetros de varias figuras simples para compararlos con el hexágono regular. Lo vamos a hacer con los otros dos polígonos regulares con los que se puede rellenar el plano, el triángulo equilátero y el cuadrado, y vamos a ver cuánto mide el perímetro de cada uno para el caso en el que las áreas de los tres sean iguales a 1:

\begin{array}{| c | c | c |} \hline Poligono & Area & Perimetro \\ \hline Triangulo \;  equilatero & 1 & \cfrac{6}{\sqrt[4]{3}} \approx 4.55 \\ \hline Cuadrado & 1 & 4 \\ \hline Hexagono \; regular & 1 & 6 \cdot \sqrt{\cfrac{2}{3 \cdot \sqrt{3}}} \approx 3.72 \\ \hline \end{array}

Como en todas las situaciones tipo la descrita, preguntarse cómo sería el paso a las tres dimensiones es prácticamente obligado. En 3D, la pregunta sería la siguiente: ¿cuál es la figura tridimensional que a igualdad de volumen tiene menor área? Ésa sería la figura “más eficiente” o “mínima”.

Lord Kelvin conjeturó a finales del siglo XIX que sería un octaedro truncado,

(Imagen tomada de aquí)

pero no consiguió demostrar que en realidad esa figura es la mejor para rellenar el espacio. A partir de aquí, este tema pasó a denominarse problema de Kelvin o conjetura de Kelvin. En este enlace podéis ver una animación de cómo se puede rellenar el espacio tridimensional con octaedros truncados (vía este comentario de Albert).

Estando entonces en el estado de “conjetura”, si alguien la resolvía sería porque se dieran alguna de estas dos situaciones:

  1. Que se demostrara que la conjetura era cierta (como pasó con la del panal).
  2. Que se encontrara un contraejemplo a dicha conjetura.

Y fue esta segunda la que se presento, En 1993, Denis Weaire y Robert Phelan encontraron un contraejemplo a la conjetura de Kelvin sobre rellenado del espacio tridimensional. Weaire y Phelan encontraron una figura que, a igualdad de volumen, tenía menor área que el octaedro truncado, y la denominaron (después de un gran alarde de imaginación) estructura de Weaire-Phelan, que está formada por dos dodecaedros irregulares con caras pentagonales y seis tetradecaedros con dos caras hexagonales y doce caras pentagonales pegados como puede verse en la siguiente figura:

(Imagen tomada de aquí)

Seguro que muchos veis que esta figura es rarísima, ¿verdad? Pues es interesante resaltar que se utilizó como base para construir la pared exterior del Beijing National Aquatics Centre, edificio en el que se celebraron las pruebas de natación de las Olimpiadas de Pekín 2008:

Por cierto, creo que es necesario comentar que el área de la estructura de Weaire-Phelan es un 0.3% menor que la de la estructura de Kelvin.

Y, bueno, ahí sigue la cosa. No se sabe si la estructura de Weaire-Phelan es “la más eficiente”, o si por el contrario hay otra figura tridimensional que a igualdad de volumen con ella tenga un área menor. ¿Cuánto tiempo tendrá que pasar para conocer la respuesta? No lo sabemos, aunque sí esperamos que sea mucho menos del que pasó en el caso de la conjetura del panal de Pappus de Alejandría. Y si esto se produce pronto, aquí estaremos para contarlo.

Y como estoy seguro de que entre vosotros habrá gente a la que le encante montar este tipo de figuras, no puedo dejar pasar esta oportunidad para proporcionaros plantillas para ello. Aquí las tenéis:

Espero que os gusten. Y si conocéis plantillas mejores que éstas no dudéis en comentárnoslo.

Entra en Gaussianos si quieres hacer algún comentario sobre este artículo, consultar entradas anteriores o enviarnos un mensaje.

Construye tú también el poliedro de Császár.

Calculando el área

Gaussianos - Lun, 06/10/2013 - 02:00

Comenzamos la semana con un problema que nos ha sugerido nuestro amigo omalaled, de Historias de la Ciencia. Ahí va:

Dadas dos circunferencias concéntricas y un segmento tangente a la circunferencia interior, como se muestra en la figura siguiente

calcula el área de la parte sombreada si la longitud de dicho segmento es 5 metros.

Que se os dé bien.

Aprovecho para recordaros que podéis mandar vuestras sugerencias en forma de problema, artículo, etc, a gaussianos (arroba) gmail (punto) com.

Entra en Gaussianos si quieres hacer algún comentario sobre este artículo, consultar entradas anteriores o enviarnos un mensaje.

Construye tú también el poliedro de Császár.

Recuerda Nuestro "Rincón No-Friki"

Kioscofriki - Dom, 06/09/2013 - 13:02
Para todas aquellas personas mortales/muggles, que quieren adquirir nuestros productos con motivos diferentes a la línea principal de la tienda, tenemos variedad de productos también para ellos...

Para visitar nuestra galería haz clic aquí



La Oficina De Gestion de Servicios (SMO) y el Cloud Computing !!!

Victor Fernandez - Dom, 06/09/2013 - 06:22
Aprovecho este articulo para transmitir que el pasado 28 de Mayo tuve la oportunidad de poder participar como ponente en el VIII Congreso Academico Internacional del itSMF, junto con varios compañeros del Grupo de Trabajo de Cloud Compuntig:


En esta ocasion en concreto, la tematica del congreso mas alla de Gestion de Servicios TIC y del Gobierno IT, giró en torno a 3 pilares claves, como se puede apreciar en la agenda:


- Tendencias y factor humano
- Gestion de Servicios
- Gobierno y Metricas

Personalmente ha sido un placer poder disfrutar tanto de su preparacion como de la realizacion del evento igualmente con el resto de ponentes, como con la organizacion internacional del itSMF.



Como en anteriores ocasiones, dejo aqui la presentacion:



Automatiza tareas de desarrollo web con Guard

Skatox - Sáb, 06/08/2013 - 17:24

Hace tiempo en una charla de Paul Irish, ví un programa llamado Live-reload para recargar automáticamente una página en el navegador cada vez que realicemos un cambio en ella. Pero nunca había podido configurarla en Linux, luego hace unos días en una entrevista de Addi Osmani vi un comentario que me hizo volver a tratar de instalarla, su comentario fue: “Ya en el 2013 nadie debería perder tiempo en recargar manualmente el navegador”.

Así que me puse instalar el programa y descubrí Guard, una aplicación hecha en Ruby para chequear las modificaciones realizadas a archivos y realizar acciones en base a ello. Esto permite por ejemplo, que al realizar algún cambio en un archivo escrito con SASS o SCSS genere el CSS automáticamente, si modificas un archivo JS de desarrollo genere el archivo final ya comprimido, generar el archivo JS desde CoffeScript, entre otros. De esta manera automatiza gran cantidad de tareas que usualmente harías manualmente a través de comandos del Editor/IDE.

 

 Instalación

Aunque existen instaladores para MacOS y Windows los desarrolladores prefieren instalarlo a través de Ruby GEMs, el proceso es sencillo y se aplica para todos los sistemas operativos que soporten Ruby, para ello en la consola debes ejecutar los comandos:

gem install bundle #facilita el proceso

gem install guard #el programa que estamos comentado

gem install guard-livereload #extensión para actualizar el navegador

gem install guard-sass #para pre-procesado de CSS

 

Configuración

Luego te diriges a la raíz del proyecto que estás elaborando, allí ejecutas el comando:

bundle init

Nota: Si el comando falla es porque no tienes el comando gem en tu variable $PATH
Esto creará un archivo llamado Gemfile que contiene toda la información de los gems utilizados en el proyecto y las dependencias de lo mismos. Una vez creado con el comando mencionado, lo abres y agregas el siguiente contenido:

gem 'guard'

gem 'guard-livereload'

gem 'guard-sass', :require => false

Luego debes crear un archivo con el nombre Guardfile en la raíz del proyecto, en él se definirán las reglas que deben ocurrir para realizar las acciones. El siguiente ejemplo está diseñado para ser usado en un proyecto PHP con el framework Yii:

#Modulo para que al modificar un archivo SASS genere el CSS ya comprimido
guard 'sass',
:input => 'css',
:output => 'css',
:style => :compressed
#reglas para la recarga del navegador
guard 'livereload' do

#actualiza el navegador al ocurrir cambios en las vistas, modelos y controladores.
watch(%r{protected/views/.+\.php})
watch(%r{protected/views/.+/.+\.php})
watch(%r{protected/views/.+/.+/.+\.php})
watch(%r{protected/models/(.+)/(.+)\.php$})
watch(%r{protected/controllers/(.+)\.php$})

#Comprime los archivos de Javascript utilizando un script llamado compressJS ubicado en la carpeta js/
watch(%r{js/.+\.original\.js}) {`js/compressJs`}

#Una vez generado los archivos JS finales (ya comprimidos) recarga el navegador
watch(%r{js/.+\.js})

#Recarga el navegador cuando se modifica un archivo CSS
watch(%r{css/.+\.css})
end

La sintaxis es watch(%r{EXPRESION_REGULAR_DE_ARCHIVOS}) {comando a ejecutar}, con esto puedes jugar a detectar cambios en algunos archivos y realizar a través de una secuencia de comandos, tareas respecto a ese archivo modificado. También noten como por ejemplo al comprimir el archivo JS no se recarga el navegador, sino en otra regla cuando se modifica un archivo JS, es decir, algunas cosas deben hacerse a través de la definición de varias reglas.

Uso del programa

Para ejecutarlo debes iniciar guard con el comando:

bundle exec guard

A partir de ahora guard chequeará los cambios en los archivos y ejecutará las acciones configuradas. Para refrescar el navegador automáticamente, es necesario instalar LiveReload para Firefox o Chrome . Una vez instalada, ve a la pestaña donde estas visualizando el proyecto, presionas el botón de LiveReload y debería conectarse sin problemas a guard.

Complemento de LiveReload

Botón para conectarse con Guard LiveReload

Para probarlo, edita un archivo de vista  y debería actualizarse la página sin problemas. También al editar un archivo SASS (o SCSS) debería generar el archivo CSS y a su vez recargar la página para ver la nueva apariencia, al editar los archivos de Javascript deberían comprimirse y cualquier otra acción que hayas configurado.

Ahora depende de ustedes que utilicen estas herramientas todos los días, pues mejorarán su trabajo al automatizar ciertas tareas y enfocarse en otras mas importantes. Si alguien conoce otra utilidad para Guard, no duden en dejar un comentario.

QGifer. Crea animaciones GIFs desde tus vídeos

JOzz - Sáb, 06/08/2013 - 03:25
QGifer es una para aplicación para GNU/Linux muy fácil de usar. Nos permite crear animaciones GIFs desde un vídeo en nuestro ordenador en cuestión de minutos. Soporta los formatos más comunes de vídeo, tales como AVI, MP4, MPG y OGV.


Continuar leyendo »

Flattr. Un nuevo tema de iconos (GTK)

JOzz - Vie, 06/07/2013 - 14:50
Flattr es una nueva alternativa para los usuarios a la hora de personalizar su escritorio. Se trata de un tema de iconos inspirado en la nueva interfaz de usuario propuesta por Microsoft, junto con la aplicación Google Now.


Continuar leyendo »

Una bandera de GNU/Linux en la cima de América

JOzz - Jue, 06/06/2013 - 16:14
Sebastian Satke reside en la ciudad de Mendoza, Argentina. Es escalador, guía de alta montaña y lo más importante, usuario de Software Libre. Un día se le ocurrió llevar una bandera de GNU/Linux a la cima de la montaña más alta de América, el Aconcagua


Satke alcanzó la cima el 28 de enero de 2013. En la cumbre norte del cerro Aconcagua desplegó la bandera, pero esto no termina aquí. Satke se a propuesto enarbolar con orgullo la bandera en la cima de otras montañas.

Continuar leyendo »

Cómo encontrar el número e en el triángulo de Pascal

Gaussianos - Jue, 06/06/2013 - 04:45

En el famosísimo triángulo de Pascal se puede encontrar de todo. Los números que aparecen en el triángulo corresponden a los números combinatorios, las sumas de las filas son las potencias de 2, podemos encontrar los términos de la sucesión de Fibonacci, los números triangulares… Como decía, de todo…

…bueno, de casi todo, tampoco vamos a exagerar. Por ejemplo, no conozco ninguna forma de encontrar el número \pi en el triángulo. Ahora, ¿y el número e? ¿Se os ocurre alguna forma de relacionar el triángulo de Pascal con el número e? Pues la hay, y además es bastante sencilla.

Todas estas cosas que, como hemos comentado, se pueden encontrar fácilmente en el triángulo de Pascal tienen que ver con sumas. Bueno, que los elementos del triángulo son los números combinatorios no

(Imagen tomada de aquí)

pero las demás sí. Si sumamos los elementos de cada fila nos aparecen las potencias de 2:

(Imagen tomada de aquí)

Sumando de la forma que aparece en la siguiente imagen obtenemos los términos de la sucesión de Fibonacci (ya hablamos sobre ello en esta entrada de hace tiempo):

(Imagen tomada de aquí)

Y si miramos las primeras diagonales nos aparecen unos, los números naturales, los números triangulares y los números tetraédricos, respectivamente:

(Imagen tomada de aquí)

Pero parece ser que a nadie se le había ocurrido considerar productos de elementos del triángulo de Pascal. Vamos a multiplicar los elementos de cada una de las filas:

Si ahora dividimos cada resultado obtenido al multiplicar entre el obtenido en la fila anterior obtenemos los siguientes valores:

\{1,2,4.5,10.666 \ldots,26.0417,64.8 \}

Y ahora volvamos a dividir cada uno de los resultados de esa lista entre el anterior. Llegamos a los siguientes datos:

\{2,2.25,2.370370 \ldots,2.44140625,2.48832 \}

Oye, pues parece que después de comenzar en 2 los números van subiendo poco a poco. Si avanzamos un poco, por ejemplo por la zona del n=1000, el dato de la lista sería ya 2.71692, que ya está más cerca del número e=2.71818281 \ldots, ¿verdad? Vamos a ver enseguida que en realidad sí, que todo cuadra a la perfección.

Si llamamos s_n al producto de los elementos de la fila n, con n=0,1, \ldots, si recordamos que los elementos del triángulo de Pascal son los números combinatorios tenemos que:

s_n=\displaystyle{\prod_{k=0}^n {n \choose k}}

Lo que vamos a demostrar, y además de forma bastante sencilla, es que:

\displaystyle{\lim_{n \to \infty} \cfrac{s_{n+1}/s_n}{s_n/s_{n-1}}=e}

Bien, comencemos estudiando cuál es la expresión exacta de s_n. Como hemos dicho, es el producto de todos los números combinatorios {n \choose k}, con k,0,1, \ldots, n. Es decir:

s_n= \displaystyle{{n \choose 0} \cdot {n \choose 1} \cdots {n \choose 2} \cdots \ldots \cdot {n \choose n}}

Recordando que {p \choose q}=\frac{p!}{q! \cdot (p-q)!}, la expresión anterior se convierte en la siguiente:

s_n=\cfrac{n!}{0! \cdot n!} \cdot \cfrac{n!}{1! \cdot (n-1)!} \cdot \cfrac{n!}{2! \cdot (n-2)!} \cdot \ldots \cdot \cfrac{n!}{n! \cdot 0!}

Todos los numeradores son n!, por lo que el denominador conjunto es (n!)^{n+1}. Y en el denominador aparece dos veces cada factorial desde 0! hasta n!, por lo que al multiplicar cada uno de ellos estará elevando al cuadrado. Por tanto, la expresión de s_n es la siguiente:

s_n=\cfrac{(n!)^{n+1}}{\displaystyle{\prod_{k=0}^n (k!)^2}}

Ahora ya podemos calcular de forma sencilla los dos cocientes que aparecen en el límite que hemos mostrado antes. Expresando s_n como (n!)^{n+1} \cdot \displaystyle{\prod_{k=0}^n (k!)^{-2}} (para simplificar la notación siguiente) tenemos que:

\begin{matrix} \cfrac{s_n}{s_{n-1}}=\cfrac{(n!)^{n+1} \cdot \displaystyle{\prod_{k=0}^n (k!)^{-2}}}{((n-1)!)^n \cdot \displaystyle{\prod_{k=0}^{n-1} (k!)^{-2}}}=\cfrac{(n!)^{n+1} \cdot (0!)^{-2} \cdot (1!)^{-2} \cdot \ldots \cdot ((n-1)!)^{-2} \cdot (n!)^{-2}}{((n-1)!)^n \cdot (0!)^{-2} \cdot (1!)^{-2} \cdot \ldots \cdot ((n-1)!)^{-2}}= \\ =\cfrac{(n!)^{n+1} \cdot (n!)^{-2}}{((n-1)!)^n}=\cfrac{(n!)^n \cdot n!}{((n-1)!)^n \cdot (n!)^2}=\left ( \cfrac{n!}{(n-1)!} \right )^n \cdot \cfrac{1}{n!}=\cfrac{n^n}{n!} \end{matrix}

De manera análoga tenemos que

\cfrac{s_{n+1}}{s_n}=\cfrac{(n+1)^{n+1}}{(n+1)!}

Calculemos ahora el límite anterior:

\begin{matrix} \displaystyle{\lim_{n \to \infty} \cfrac{s_{n+1}/s_n}{s_n/s_{n-1}}}=\displaystyle{\lim_{n \to \infty} \cfrac{(n+1)^{n+1}/(n+1)!}{n^n/n!}}=\displaystyle{\lim_{n \to \infty} \cfrac{(n+1)^{n+1} \cdot n!}{(n+1)! \cdot n^n}}= \\ \\ =\displaystyle{\lim_{n \to \infty} \cfrac{(n+1)^n \cdot (n+1) \cdot n!}{n! \cdot (n+1) \cdot n^n}}=\displaystyle{\lim_{n \to \infty} \cfrac{(n+1)^n}{n^n}}=\displaystyle{\lim_{n \to \infty} \left (\cfrac{n+1}{n} \right )^n}= \\ \\ =\displaystyle{\lim_{n \to \infty} \left (1+\cfrac{1}{n} \right )^n} \end{matrix}

y sabemos que el valor de este último límite es, efectivamente, e. Por tanto, tenemos que:

\displaystyle{\lim_{n \to \infty} \cfrac{s_{n+1}/s_n}{s_n/s_{n-1}}}=e

¿A quién debemos todo esto?

Y el artífice de esto, el descubridor de esta relación, es Harlan J. Brothers (en la imagen de la derecha), inventor, músico, matemático y profesor estadounidense, que publicó su hallazgo el pasado año 2012 en The Mathematical Gazette

  • H. J. Brothers, “Pascal’s triangle: The hidden stor-e.” The Mathematical Gazette, Vol. 96, No. 535, 2012; páginas 145-148

y en Mathematics Magazine

  • H. J. Brothers, “Finding e in Pascal’s triangle.” Mathematics Magazine, Vol. 85, No. 1, 2012; página 51

Además de todo esto, es un tipo muy majo (le pedí que me enviara esos dos trabajos y en menos de media hora ya estaban en mi correo) y se lleva bastante bien con el idioma de Cervantes. Harlan, muchas gracias por tu ayuda y por ser tan amable.

Por cierto, antes de verlo en los papers de Brothers lo vi en Cut-the-knot. La foto de Harlan J. Brothers la he tomado de su página en la Wikipedia en inglés.

Actualización: Me comenta David Orden que este tema apareció hace unos días en este post de Simplemente Números dentro de la edición de mayo del Carnaval de Matemáticas. Creo que, aunque como comenta el autor el post es una traducción del artículo de Cut the knot, es de justicia mencionarla aquí.

Entra en Gaussianos si quieres hacer algún comentario sobre este artículo, consultar entradas anteriores o enviarnos un mensaje.

Construye tú también el poliedro de Császár.

Páginas

Subscribe to Fedora-es agregador