Felipe Portales Oliva

Este blog se ha transformado en una especie de ayuda-memoria y no tanto sobre mi. Escribo muy poco.

Integrales en LaTeX

leave a comment »

Más de alguno que haya hecho algo de matemáticas decentes en \LaTeX habrán notado que las integrales indefinidas como esta:

\displaystyle\int x\, dx = \frac{1}{2}x^2 + c, \quad c\in\mathbb{R}

funcionan más que bien, al igual que las integrales definidas:

\displaystyle\int_a^b x\, dx = \frac{1}{2}b^2 - \frac{1}{2}a^2

pero las cosas se ponen feas cuando queremos hacer cosas como:

I=\displaystyle\iint_{R}f(x,y)\,d(x,y)

Personalmente no me gusta la posición por defecto de la R en las integrales múltiples, prefiero que las cosas se vean así:

\displaystyle\iint\limits_{\mathbb{R}^{2}} e^{-(x^2+y^2)} \, d(x,y) =\pi

para esto, basta agregar una simple pieza de código después de la integral en el fuente .tex, en vez de poner "\int", ponemos "\int\limits", y voilá, la integral tendrá sus límites arriba y abajo.

Anuncios

Written by Felipe Portales Oliva

3 agosto, 2010 at 11:25 pm

Publicado en Notas de Computación

Tagged with ,

Q.E.D. en LaTeX

leave a comment »

Los que han leído algo de literatura matemática, han notado más de alguna vez que las demostraciones o pruebas a teoremas o proposiciones suelen ser terminadas con un cuadrado ennegrecido o en blanco al final de la línea, ¿Se han preguntado por qué?.

Bueno, este cuadro es un ajuste notacional relativamente moderno para reemplazar la sigla Q.E.D. (no significa que en paz descanse) que viene del latín “Quod Erat Demonstrandum”, que significa “lo que se quería demostrar”, aunque muchos lo malinterpretan y dicen “Queda Entonces Demostrado”.

El ambiente (paquete) amsthm trae un comando \qed que deja el cuadrito blanco en exactamente el lugar que lo pusimos, si ponemos en nuestro archivo .tex $\blacksquare$ obtenemos el mismo resultado, solo que con el cuadrito negro. ¿Pero qué tal si lo queremos al final de la línea?.

Una solución simple es crear un nuevo comando con \newcommand, el mejor ejemplo que encontré por Internet para cumplir con este propósito es el siguiente:

\newcommand{\QED}{\hfill {\qed}}

Sin embargo yo prefiero usar la sigla Q.E.D. con un poco de adornos, por lo que pondría

\newcommand{\QED}{\hfill \textit{\textbf{Q.E.D.}}}

Espero le sirva a alguien :). Más información acá.

Written by Felipe Portales Oliva

31 marzo, 2010 at 11:01 pm

Publicado en Notas de Computación

Tagged with

Instalando la Máquina Virtual de JAVA de Sun en Fedora 11

with 3 comments

Fedora 11 Leonidas, viene por defecto con la máquina virtual de JAVA libre, OpenJDK. Hace un tiempo, publiqué un post Sobre cómo hacer funcionar Frostwire con OpenJDK, pero lamentablemente, no me funcionó al 100%, se pegaba buscando oyentes de red. Esto lo solucioné instalando la máquina que provee Sun de manera gratuita, lamentablemente, eso si, no es libre. A diferencia de otras distribuciones como Debian (y por lo tanto Ubuntu y otros derivados) no se encuentra en los repositorios, así que no basta hacer un simple aptitude install ... para instalar el paquete.
Pero en cambio podemos ir a la página de Descargas de JAVA y descargamos el paquete .bin (no el RPM) y seguir estos pasos para instalarlo.
Primero es necesario instalar un par de librerías para poder usar el JAVA de Sun:

[root@maxwell]# yum install compat-libstdc++-33 compat-libstdc++-296

Luego creamos los enlaces necesarios así:

[root@maxwell]# /sbin/ldconfig

Y ahora creamos un directorio de instalación, yo usé la ruta /sunjava/, en donde ponemos nuestra descarga, le damos permisos de ejecución y lo ejecutamos (valga la redundancia):

[root@maxwell sunjava]# mv /home/fportales/Descargas/jre-6u16-linux-i586.bin /sunjava
[root@maxwell sunjava]# chmod a+x jre-6u16-linux-i586.bin
[root@maxwell sunjava]# ./jre-6u16-linux-i586.bin

Esto crea el directorio: /sunjava/jre1.6.0_16.

Ahora, para hacer que Firefox use el plug-in de java, usamos lo siguiente:

[root@maxwell sunjava]# yum remove java-*-openjdk-plugin
[root@maxwell sunjava]# ln -s /sunjava/jre1.6.0_16/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin_oji.so

Y reiniciamos Firefox.
Ahora lo importante, hacer que las aplicaciones usen la máquina recién instalada; primero debemos crear el script /etc/profile.d/java.sh
con estas dos líneas dentro del texto:

export JAVA_HOME=/opt/jre1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH

Ahora simplemente hacemos:

source /etc/profile.d/java.sh
alternatives --config java

Y debería mostrarnos algo así:

Hay 2 programas que proporcionan 'java'.
Selección Comando
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
Presione Intro para mantener la selección actual[+], o escriba el número de la selección:

Ahora agregamos la máquina de Sun con:

[root@maxwell sunjava]# alternatives --install /usr/bin/java java /sunjava/jre1.6.0_16/bin/java 3
[root@maxwell sunjava]# alternatives --config java

De lo que obtenemos:

Hay 3 programas que proporcionan 'java'.
Selección Comando
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
3 /sunjava/jre1.6.0_16/bin/java
Presione Intro para mantener la selección actual[+], o escriba el número de la selección: 3

Finalmente verificamos con el comando java -version de lo que deberíamos obtener:

java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)

Seguí los pasos de esta guia (English).

Written by Felipe Portales Oliva

25 septiembre, 2009 at 3:41 pm

Restaurando el GRUB

leave a comment »

Hola! :D, jeje, harto tiempo llevaba sin escribir, aprovecho de contarles algo que tuve que reparar.

A la mayoría de los que tenemos Windows y GNU/Linux en particiones separadas en un mismo sistema, nos pasa que cuando Windows se estropea, hay que reinstalarlo, y lamentablemente esto significa que perdemos el inicio de nuestro GNU/Linux.

Lo que hace el instalador de Windows es arrasar con la partición donde lo instalamos, y también con la MBR, que es el primer sector del disco que se lee al iniciar el computador.

Entonces lo que queda es volver a instalar el gestor de arranque GRUB, que permite la cohabitación de tanto Windows como de GNU/Linux (existen otros, pero la mayoría de las distros actuales traen GRUB). Para esta tarea, el uno de los métodos que conozco, y que describiré aquí, es mediante un LiveCD, por pasos:

  1. Bajarse un LiveCD, yo usé el de Ubuntu, disponible en su versión 9.04 al momento de redactar el post.
  2. Quemar la .iso.
  3. Reiniciar el ordenador con el LiveCD dentro de la bandeja.
  4. Esperar a que se cargue xD.
  5. Con el entorno GNOME, o en una terminal pura digitamos lo siguiente:
  6. $ sudo su
  7. # fdisk -l
  8. Buscamos nuestra partición con GNU/Linux instalado. Desde acá en adelante suponemos que estamos buscando la partición /dev/sda1.
  9. # mkdir /directorio
  10. # mount /dev/sda1 /directorio
  11. # mount –bind /dev /directorio/dev
  12. # mount –bind /proc /directorio/proc
  13. # mount –bind /sys /directorio/sys
  14. # chroot /directorio
  15. # grub
  16. Acá con envía a la consola de grub, que denominarñe por >
  17. > find /boot/grub/stage1
  18. Devería aparecer algo como: (hd0,x) donde 0 es el Disco Duro y x la partición.
  19. > root (hd0,x) ! osea, poner la salida obtenida en el paso anterior.
  20. > setup (hd0)
  21. Si todo estla en orden, deveríamos obtener una salida parecida a esta:
  22. Checking if “/boot/grub/stage1” exists… yes
    Checking if “/boot/grub/stage2” exists… yes
    Checking if “/boot/grub/e2fs_stage1_5” exists… yes
    Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… 15 sectors are embedded.
    succeeded
    Running “install /boot/grub/stage1 d (hd0) (hd0)1+15 p (hd0,1)/boot/grub/stage
    2 /boot/grub/menu.lst”… succeeded
    Done.
  23. Salimos de la consola de GRUB y reiniciamos el equipo, el GRUB, debería dejarnos elegir nuestro SO.

Fuente: Taringa! – Reestablecer Grub de Ubuntu, kubuntu o Debian y mi experiencia personal 😀

Un saludo a todos mis queridos lectores (ojalá existan xD).

Written by Felipe Portales Oliva

27 julio, 2009 at 4:03 pm

Publicado en Notas de Computación

Tagged with , ,

¡Ahora en Planeta Linux!

with 6 comments

Bueno, siguiendo la recomendación del Max (y para obtener más lectores, no hay daño en eso xD) me he agregado a Planeta Linux 😀

Bueno, empecemos diciendo ¿Qué es Planeta Linux?

Es una comunidad de latinoamericanos blogueando sobre Linux, está dividido por países, por supuesto yo me encuentro en la sección de Chile.

Es posible encontrarlos casi en cualquier medio: Twitter, Facebook, en su propio IRC y además tienen blog xD

Bueno, únanse pronto, espero leerlos por ahi

un saludo!

Written by Felipe Portales Oliva

18 junio, 2009 at 4:47 pm

Publicado en Notas de Computación

Tagged with

Actualizar la Hora Mediante NTP en Debian Squeeze

with one comment

Para los que no están informados, NTP son las siglas de Network Time Protocol, o Protocolo de Hora de Internet, no pienso explicar más que sirve para sincronizar la hora del sistema, con la hora de Internet. Para más información, consulten a mi amiga personal Wikipedia.

Está también disponible para Windows en el relojito, pero me voy a centrar en como utilizarlo con Debian Squeeze.

De la necesidad surgen la mayoría de las cosas; necesito cambiar mi pila de la bios, así que era dificil para mí mantener la hora del sistema sincronizada con la realidad xDD.

Simplemente instalamos el cliente ntpdate y luego corremos:

newton:/home/fportales# aptitude install ntpdate
newton:/home/fportales# ntpdate -u cl.pool.ntp.org

Y la hora se actualiza.

Ahora, si son algo más pillos, pueden hacerse un lanzador en el escritorio o en el panel para simplificar un poco el proceso, así lo hice yo:

Actualizar Hora

Obviamente necesitan tener el sudo configurado para estos fines.

Bueno, espero que les sirva.

¡Saludos a todos mis amigos felices!

Written by Felipe Portales Oliva

24 mayo, 2009 at 11:39 pm

Publicado en Notas de Computación

Tagged with , , ,

Cambiar el Nombre de Host en Debian Squeeze

with 6 comments

Quiero publicar un post muy sencillo sobre un tema que me tuvo algo molesto por un tiempito.

Resulta que un buen día, me aburro de que cada vez que abriera una terminal, apareciera la línea:

fportales@maquiavelo:~$

Siendo yo un físico de pacotilla (XD), no podia tener como nombre de host el apellido de tan renombrado humanista.

Así que me decidí a cambiarlo por el nombre de mi mayor héroe.

Consulté con mi amigo personal Maximiliano Marín una buena noche, y me dijo que simplemente debía editar el archivo hostname y poner el nombre deseado y luego reiniciar:

fportales@maquiavelo:~$ sudo nano /etc/hostname && sudo reboot

Aquí hice el cambio de maquiavelo a newton, y al cerrar el editor nano, me encuentro con se reinició el sistema tal como lo había planeado.

Luego abrí una terminal de GNOME y aprecié:

fportales@newton:~$

Que lindo se ve. Pero existía un problema, al ejecutar un comando con permisos de root me enviaba un mensaje algo extraño:

fportales@newton:~$ sudo aptitude update
sudo: unable to resolve host newton
Obj http://ftp.us.debian.org squeeze Release.gpg
Obj http://ftp.us.debian.org squeeze/main Translation-es
[...]

Pero se ejecutaba bien de todas maneras. Lo raro es que esto no pasaba cuando me logueaba como root.

Busqué varios días por Internet y lo único que me dio solución fue editar el archivo /etc/hosts y reemplazar:

127.0.0.1       localhost
127.0.1.1       maquiavelo.Belkin  maquiavelo

por

127.0.0.1       localhost
127.0.1.1       newton.Belkin   newton

Como verán, el cambio fue en la segunda línea, y eso solucionó el problema del sudo.

Espero que lo disfruten.

Written by Felipe Portales Oliva

24 mayo, 2009 at 11:21 pm

Publicado en Notas de Computación

Tagged with ,