domingo, diciembre 11, 2011

78.57% en el simulador del examen SCJP - 1.6 de CertPal

78.57% en el simulador del examen SCJP - 1.6 de CertPal


Yupi!

Me tomó un poco más de dos horas, 70 preguntas. Resultado: 15 fallas. Lo que resulta en 78.57%, y según la web de Oracle se pasa con 61% con 60 preguntas [1] lo cual significa que ya casi estoy listo, ahora a dar los últimos retoques...



Esta es la web del simulador:

http://www.certpal.com/ExamWeb/content/logon.do


[1]
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&p_exam_id=1Z0_851

jueves, diciembre 08, 2011

Ejecutar aplicaciones X-Windows en Microsoft Windows sobre SSH hacia GNU Linux

Ejecutar aplicaciones X-Windows en Microsoft Windows sobre SSH hacia GNU Linux


Para cualquier administrador de servidores GNU Linux, hacer administración remota vía SSH es básico para poder controlar de manera remota un servidor. El método más común para esto es usando un servidor SSH y un cliente SSH.

SSH en modo básico permite tener una terminal de comandos remota desde la cual se puede ejecutar cualquier orden (comando, o programa) en el servidor siempre y cuando no se requiera de modo gráfico (X-Windows).

Por ejemplo (de Linux a Linux) para conectarse como el usuario denis en el computador servidor.local se puede hacer:

denis@tamagastad:~$ ssh denis@servidor.local
denis@tamagastad's password:
Welcome to Ubuntu!
Last login: Sat Oct 29 19:30:32 2011
denis@servidor.local:~$

Pero si se requiere lanzar una aplicación en modo gráfico, por ejemplo gedit, se obtendrá un error como este:

denis@servidor.local:~$ gedit

(gedit:25468): Gtk-WARNING **: cannot open display:

Pero si del lado de nuestro cliente SSH ya tenemos un servidor X.Windows corriendo en nuestro Linux (nota: si ya tenemos Gnome o KDE, significa que ya tenemos un servidor X-Windows funcionando) al momento de realizar la conexión SSH con el servidor se puede habilitar X11 forwarding mediante el parámetro -X.

denis@tamagastad:~$ ssh -X denis@servidor.local

Y esto permitirá que se ejecute cualquier aplicación gráfica en el servidor, usando nuestro entorno gráfico local, se puede agregar al final de la invocación del programa un & para que la consola no quede capturada:

denis@servidor.local:~$ gedit &

Ok, todo esto muy bien, pero funciona de Linux a Linux, ¿qué hacer cuando queremos que un usuario con Microsoft Windows ejecute una aplicación con entorno gráfico en el servidor linux? Un cliente SSH no basta, ya que sólo permite acceso a aplicaciones de consola o terminal.

Para esto es necesario instalar un servidor X-Windows en Microsoft Windows y establecer una conexión SSH con X11 forwarding. De esta manera se puede usar MS Windows como una terminal tonta que sólo se encarga de la presentación de las aplicaciones que se ejecutan en un servidor Linux.

Xming es un Servidor X para Microsoft XP/2008/Windows7, yo bajé "Xming-6-9-0-31-setup.exe" gratis de la web oficial de Xming en:

http://www.straightrunning.com/XmingNotes/

PuTTY es un conjunto de programas que permiten entre otras cosas acceder por SSH desde Microsoft Windows a un servidor SSH, he bajado "putty.zip" de la web oficial de PuTTY en:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html


Proceder a instalar Xming:


Lanzar la aplicación:

O usar el menú Inicio > Todos los Programas > Xming > Xming y se observará en la barra de tareas un icono que dice Xming Server:0.0

Luego descomprimir putty.zip y ejecutar PUTTY.EXE, antes de realizar la conexión SSH con el servidor, asegurarse de habilitar en putty el redireccionamiento del X11, en el árbol de configuración de la parte izquierda Connection > SSH > X11:



Seleccionar la opción Enable X11 forwarding, y en el cuadro de texto X display location escribir localhost:0 el cual corresponde con la dirección del servidor X Windows XMing recién instalado en MS Windows.

Luego en el árbol de configuración, en la opciones Session es posible establecer una conexión SSH especificando el IP o el nombre de dominio del servidor junto a su puerto.



Putty pregunta el usuario y contraseña:



Si nos conectamos bien, desde la consola de putty es posible ejecutar programas como:

nautilus &
gedit &
evice &

O cualquier programa con interfaz gráfica y el X Server de Windows mostrará esa interfaz usando como Windows Manager el entorno de MS Windows.

martes, noviembre 29, 2011

PHP y Microsoft Access

PHP y Microsoft Access


No soy un fan de la base de datos MS Access, pero cuando en una oficina pequeña hay alguna aplicación legacy hecha en MS Access y se desea que esta sea consultada en una pequeña aplicación Web interna, es fácil usar PHP y ODBC para tal fin.

PHP no soporta de manera nativa el acceso a MS Access, pero si soporta ODBC.

ODBC (Open DataBase Connectivity) es un estándar de acceso a bases de datos que tiene como objetivo permitir acceder a cualquier base de datos desde cualquier aplicación, sin importar qué sistema de gestión de bases de datos está implementada.

Entonces desde PHP se puede acceder a cualquier base de datos soportada por ODBC sin importar que exista un driver nativo para PHP. Aunque OJO: es importante aclarar que si ya existe un driver nativo de PHP para alguna base de datos es mejor usarlo en lugar de usar ODBC.

Para acceder a la base de datos por ODBC desde PHP es posible utilizar un conjunto de funciones como odbc_connect que se puede ver en más detalle en la documentación de PHP:

http://www.php.net/manual/en/function.odbc-connect.php

En este ejemplo, se ha instalado en el equipo MS Windows que contiene la base de datos MS Access, un servidor AppServ (http://www.appservnetwork.com) el cual en un sólo instalador y con un par de clics instala Apache, MySQL y PHP sobre MS Windows.

Luego para acceder a la base de datos de MS Access, primero se creará un Origen de Datos (aka DSN) llamado bd1 desde el Panel de Control de MS Windows, a como se muestra a continuación:


Agregar nuevo DSN de sistema.


Seleccionar el driver MS Access.


Pulsar el botón Seleccionar Base de datos y especificar la ruta a la base de datos.


Finalmente se pueden usar las funciones odbc_connect, odbc_exec, odbc_fetch_array, odbc_close para tener acceso a la base de datos, a continuación un ejemplo simple:

echo "Ejemplo sencillo conexión con acess";


$enlace = odbc_connect('bd1', '', '');

if (!$enlace) {

  print "Error al intentar conectar con BD.";

  exit();

}


$sql = "SELECT * FROM nombre";

$resultado = odbc_exec($enlace,$sql);


while($fila = odbc_fetch_array($resultado)){

echo "Id: {$fila['id']}";

echo "Nombre: {$fila['nombre']}";

}


odbc_close($enlace);

Al ejecutarlo, si todo sale bien se podrá ver algo similar a esto:


El código de ejemplo y la base de datos se puede descargar de aquí.

viernes, octubre 28, 2011

En honor a John McCarthy creador de LISP

En honor a John McCarthy creador de LISP


Este es el único archivo que poseeo de la clase en la que estudiamos un poco de LISP en la universidad, el archivo data de: vie 19 oct 2001 15:56:10 CST

> (DEFUN MAYOR (A B C) (PRINT "EL MAYOR ES")

1>                     ( IF (> A B)  (IF (> A C) (PRINT A)

3>                                               (PRINT C)

3>                                   )

2>                                   (IF (> B C) (PRINT B)

3>                                               (PRINT C)

3>                                   )

2>                     )

1> )


Que descanse en paz!

sábado, agosto 27, 2011

Sistema de Comunicación para Redes Internas (SISCORI) hecho en Java

Sistema de Comunicación para Redes Internas (SISCORI) hecho en Java


En Febrero del 2009 publiqué un artículo sobre un proyectito de java hecho en para una materia en la universidad: Simulador del procesador DLX (jbz) hecho en Java, resultando ser uno de los temas más leídos del foro, entonces aquí les va otro proyecto java del tiempo de la universidad: SISCORI.

Prácticamente, SISCORI, es un sistema de mensajería instantánea hecho en java (tipo jabber, pero muy, muy simple), con un protocolo de comunicación simple basado en texto, la interfaz de usuario es awt, allá por el 2004 estaba aprendiendo java, casi no habían libros al respecto y aún no tenía documentación de swing, de hecho usamos un IDE que ya no existe, se llamaba Bluette. SISCORI se compone de dos grupos de programas, los servidores y los clientes, se usa el API estándar de Socketes de java para la transmisión y recepción de datos.

La segunda versión de SISCORI si está hecha en swing, en el tiempo en que JBuilder era lo último!, mucho antes que NetBeans. Esta segunda versión usa el java sound API para capturar el audio del sistema y luego transmitir los bytes de audio sobre una red IP y permitir comunicación oral entre dos personas.

Los proyectos a futuro era integrar ambos programas y hacer una tercera versión que permitiera transmitir video, pero eso nunca sucedió, otros proyectos personales y académicos llegaron a ser prioridad.

Aquí hay más información, he desempolvado el viejo sitio que hicimos para aquel proyecto, también a partir de ahora queda liberado como software libre conforme la GPL v3.


Este es un resumen de una presentación en una feria de tecnología del CONICYT y AIN en el hotel Crowne Plaza en Nicaragua, donde como miembros de ANETIC (Asociación de Estudiantes TIC) presentamos a SISCORI, en el video se puede ver a Janet Wheelock (QEPD) quien era la presidenta de ANETIC en esa fecha.











sábado, agosto 13, 2011

Operador residuo (módulo %) en java con decimales



#java #ocjp #scjp some one tell me why?

double a = -1.1;
double b = -0.7;
System.out.println(a%b); // resultado -0.4

Pasos para resolver el ejercicio, una calculadora no ayuda...



Hay que hacerlo a mano:

- Multiplicar por 10 para eliminar el decimal
- Hacer la operación de división normal tomando en cuenta los signos, y calcular el residuo de los enteros
- Dividir el resultado entre los 10 que originalmente multiplicamos



El ejercicio lo vi en este simulador del examen:

http://www.santis.ch/training/java/jcp/selftester/indexe.php


martes, julio 19, 2011

miércoles, julio 13, 2011

Como Instalar Drivers de Multifuncionales Canon en Debian

Como Instalar Drivers de Multifuncionales Canon en Debian

El autor de este artículo es Cesar Abel correo: [deltacopiers (en) gmail.com], experto en: electrónica, productos Canon, fuimos rivales en los concursos de Olimpiadas de Matemática durante la secundaria y ahora somos socios en proyectos freelance.

En las empresas de hoy, el ahorro de recursos se ha convertido en una regla básica. Y una buena manera de hacerlo es centralizar en manejo de reproducción y digitalización de documentos con multifuncionales. Entre ellas canon ofrece sus series ImageRunner e ImageRunner Advance. Por lo general los controladores de impresión para Windows y MAC vienen en CDs con el equipo, pero para los usuarios de Linux se nos es un poco más difícil aprovechar las particulares prestaciones de estos equipos.

Tenemos dos soluciones para usar la parte de la impresora de estas multifuncionales:

  1. Utilizando un archivo PPD para hacer una instalación común con CUPS, pero las desventajas son muchas ya que no podemos utilizar todas las prestaciones del equipo, como impresión a doble cara, opciones de acabado, engrapado, encuadernado entre otras que los usuarios de MS Windows tienen a disposición.
  2. Utilizando un Driver en fase beta generado por la gente de soporte de Canon en Europa, el cual nos instalará todas las propiedades avanzadas de impresión de la máquina.

Y es en este último método en que voy a concentrarme a explicar.

Lo primero hay que descargar el software debianizado ya sea para 32 o 64 bits. Desde la web http://es.software.canon-europe.com/products/0000721.asp

Una vez descargado el paquete hay que instalado ya sea con gdebi el cual desde modo gráfico te resuelve automáticamente todas las dependencias. (Si aún no lo tienes instalado un simple apt-get install gdebi te lo instalara de inmediato).

O instalarlo con dpkg -i g10C4esx.deb, pero antes es recomendable instalar las librerías de las que depende. En un sistema Debian Squeeze recién instalado la única incumplida sería libx11-6, así que antes de ejecutar la instrucción anterior habría que hacer apt-get install libx11-6.

Una vez instalado el paquete hay que correr un script ubicado en /opt/cel/bin llamado cque este tiene que correr como root.

Así que sería:

cd /opt/cel/bin
./cque

en mi caso me dio un error (Error: Can't open display:0:0)al intentar arrancar el servidor X como root ya que en Debian y Ubuntu esto viene desactivado por defecto. Así que a la hora que abres una terminal gráfica como konsole y pones el comando su para cambiar a root la nueva sesión no hereda la variable $DISPLAY a como pasa en Fedora o RedHat.

Si te ocurre lo mismo puedes solucionarlo rápidamente instalando sux (apt-get install sux).

Luego de instalado, abres una terminal gráfica tecleas sux (en lugar de su) e intentas de nuevo los comandos

cd /opt/cel/bin
./cque

si todo sale bien veras una pantalla como la siguiente:



hacer clic en fichero/Crear. Y en el tipo de color seleccionamos PCL y en Nombre de la cola, escribimos el nombre que va a tener la impresora(CanonPrint1,etc) y luego siguiente.



El el tipo de conexión seleccionamos TCP/IP(9100) remota en el nombre del host escribimos el ip de la impresora. Y el puerto lo dejamos en 9100. clic en siguiente.



Hacemos clic en examinar y seleccionamos el modelo exacto de la multifuncional. Hacemos clic en siguiente y en crear. Y por último en ok. Y listo tendremos instalada la multifuncional canon con un driver que nos permita utilizarla al máximo.

miércoles, junio 22, 2011

OCJP: Objetivo 3.2

OCJP: Objetivo 3.2


OCJP: Objetivo 3.2 A partir de un escenario que involucre navegación por el sistema de archivos, lectura de archivos, o escritura en archivos, desarrollar la solución correcta usando las siguientes clases (algunas veces en combinación), del paquete java.io: BufferedReader, BufferedWriter, File, FileReader, PrintWriter y Console.

A continuación publico un ejemplo tonto y simple que trata de usar las clases mencionadas en el objetivo 3.2 del Oracle Certified Programmer for Java.

Descargar Deditor.java

import java.io.Console;

import java.io.File;

import java.io.FileReader;

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.FileWriter;

import java.io.BufferedWriter;



public class Deditor {

  public Deditor(){

    inicio();

  }



  public static void main(String[] args) throws Exception{

    Console c = System.console();

        

    if(c==null){

      throw new Exception("No se pudo obtener consola.");

    }  

    

    new Deditor();

  }

  

  private void inicio(){

    int op = 1;



    do{

      op = getOpcionMenu("Salir","Abrir","Nuevo","Borrar","Listar");

      

      switch(op){

        case 1: break;

        case 2: abrir(); break;

        case 3: nuevo(); break;

        case 4: borrar(); break;

        case 5: listar(new File(".")); break;

      }



    } while(op!=1);



  }

  

  private void listar(File ruta){

    File files[] = ruta.listFiles();

    

    try {

      for(File f:files){

        System.console().printf("\t%s\n",f.getCanonicalPath());

      }

    } catch(IOException e){

      e.printStackTrace();

    }

  }



  private void abrir(){

    try {



      System.console().format("Archivo a abrir \n>");



      String ruta = System.console().readLine();

      File file = new File(ruta);



      if(!file.exists()){

        System.out.println("Error! el archivo no existe.");

        return;

      }



      FileReader fr = new FileReader(file);

      BufferedReader bfr = new BufferedReader(fr);



      String linea ;



      while((linea = bfr.readLine())!=null){

        System.console().printf("%s",linea + '\n');

      }



      bfr.close();

    } catch (FileNotFoundException e){

      System.out.println("Archivo no encontrado");

     } catch(IOException e){

      System.out.println("Error IO");

    }

  }



  private void nuevo(){

    String nombreArchivo = null;



    System.out.println("Esriba el nombre del archivo: ");

    nombreArchivo = System.console().readLine();

    

    if(nombreArchivo==null || nombreArchivo.length()<1 br="">
      System.console().printf("El nombre de archivo es invalido.");

      return;

    }



    File file = new File(nombreArchivo);

    if(file.exists()){

      System.console().printf("Error el archivo ya existe!");

      return;

    }



    System.out.println("Escriba el contenido del archivo\n(finaliza con .)\n\n\n");

    

    StringBuilder contenido = new StringBuilder();

    

    String l = null;

    do{

      l = System.console().readLine();

      contenido.append(l);

      contenido.append('\n');

    } while (l!=null && !l.equals("."));



    try {

      FileWriter fw = new FileWriter(file);

      BufferedWriter bw = new BufferedWriter(fw);



      bw.write(contenido.toString());



      bw.flush();

      bw.close();

    } catch(IOException e){

     e.printStackTrace();

    }

  }



  private void borrar(){

    System.out.println("Escriba el nombre del archivo a borrar> ");



    String nombreArchivo = System.console().readLine();



    if(nombreArchivo==null || nombreArchivo.length()<1 br="">
     System.out.println("Archivo invalido");     

     return;

    }



    File file = new File(nombreArchivo);

    if(!file.exists() || file.isDirectory()){

      System.out.println("El archivo no es valido");

      return;

    }



    boolean isOk = file.delete();

    

    if(isOk){

      System.out.println("Archivo borrado");

    } else {

      System.console().printf("Problemas borrando archivo.");

    }

  }



  private int getOpcionMenu(String... opciones){

    int i = 1;



    System.out.println("Seleccione una opcion:");

    for(String o:opciones){

      System.out.println("\t" + i + " - " + o);

      i++;

    }



   System.out.print("> ");



    return readInt();

  }



  private int readInt(){

    int retorno = 0;

    String r = "";

    boolean esNumerico = false;



    while(r==null || r.length()<1 br="" esnumerico="">
      r = System.console().readLine();

      try {

        retorno = Integer.parseInt(r);

        esNumerico = true;

      } catch(NumberFormatException e){

        // no es error

      }

    } 

    

    return retorno;

  }

}

sábado, abril 09, 2011

Experiencias Intentando Aprender a Tocar Piano (I)

Experiencias Intentando Aprender a Tocar Piano (I)


Primero aclarar que no soy experto en piano, ni en música, en este primer artículo sobre el tema tan sólo quiero presentar mi poca experiencia y como he llegado a comprender algunas cosas sobre la música que me parecen interesantes para compartir, y por supuesto el artículo incluye un poco de matemáticas y otro poco de programación :-).

Creo que todos conocemos las notas musicales: Do, Re, Mi, Fa, Sol, La, Si. Así empezó todo hace mucho tiempo. Desde pequeño vemos en la televisión que en uno u otro programa las menciona sin ser necesariamente un programa que trate sobre música. Luego como 20 años después cuando ya tuve acceso a Internet y a las computadoras leí este artículo que explica sobre las notas musicales, Wikipedia.

Regresando al pasado, mientras estaba aún en secundaria llegó a mis manos un libro de la colección LIBROS DE ORO DEL SABER llamado MATEMÁTICAS edición de 1979, viejo pero considero que aún hoy día su contenido es excelente.

En dicho libro hay un capítulo llamado "Las Matemáticas y la Música", tremenda exposición en dos páginas con ilustraciones sobre como las vibraciones producen cada nota musical, inicia explicando que el número de vibraciones por segundo se llama frecuencia y se mide en Hertz. Luego explica la relación matemática de las frecuencias de cada nota en una escala musical escogiendo como base una cuerda que vibra 256 veces por segundo (o sea a 256 Hz) siendo esta la nota DO, y después de unos cuantos párrafos de explicación sobre notas dominantes, niveles y tónicas, todo se resume a lo siguiente:

Sea:

DO = 256 Hz

Entonces, la frecuencia correspondiente a las otras notas, en función del DO en la misma escala se puede calcular así:

RE = 9/8 del DO = 288 hz

MI = 81/64 veces el DO = 324 hz

FA = 171/128 veces el DO = 342 hz

SOL = 3/2 del DO = 384 hz

LA = 27/16 veces el DO = 432 hz

SI = 243/128 veces el DO = 486 hz

Y el siguiente DO:

DO2 = 2 veces el DO original = 512 hz

En el fondo todo está en relación a 3/2 para encontrar las notas dominantes. Para ampliar más al respecto puede leer: La música vista por un matemático. Hay algo también en la Wikipedia, o por supuesto el libro originalmente mencionado.


Fue interesante leer eso en su momento, pero yo no tenía teclado (piano), ni computadora para comprobarlo. Varios años después en la universidad, mientras estudiaba programación con lenguaje C, usando el famoso compilador Turbo C++ de Borland, por unos compañeros haciendo prácticas extraclase, llegué a conocer la función sound de la biblioteca dos.h, que super interesante, recibía como parámetro la frecuencia en la cual el speaker interno del CPU emitiría un sonido, inmediatamente recordé el artículo de frecuencias que había leído hace algún tiempo busqué el librito y cuando tuve tiempo hice mi experimento:

(Como dice un amigo: "En C todo se puede!")

#include<stdio.h>
#include<dos.h>


int main()
{
long int DO=256;

sound(DO);  // do
delay(600);

sound(9*DO/8);//re
delay(600);

sound(81*DO/64);//mi
delay(600);

sound(171*DO/128);//fa
delay(600);

sound(3*DO/2);//sol
delay(600);

sound(27*DO/16);//la
delay(600);

sound(243*DO/128);//si
delay(600);

sound(2*DO);//do
delay(600);
nosound();

return(0);

}

Para escribir este artículo fui a buscar a mi respaldo de la universidad el programa, y dado que esa versión del compilador prácticamente no se usa fue necesario hacer unos ajustes para compilarlo nuvamente en las versiones actuales de C para Windows, por si alguien lo desea probar aquí está:

#include <windows.h>

int main(int argc, char *argv[])
{
int DO=256;

Beep(DO, 600);
Beep(9*DO/8, 600);//re
Beep(81*DO/64, 600);//mi
Beep(171*DO/128, 600);//fa
Beep(3*DO/2, 600);//sol
Beep(27*DO/16, 600);//la
Beep(243*DO/128, 600);//si
Beep(2*DO, 600);//do

return 0;
}

/*
http://msdn.microsoft.com/en-us/library/ms679277.aspx
*/



(Probado con wxDev-C++).



Luego estuve trabajando en un piano, pero por tiempo nunca lo terminé, adjunto a continuación todo los fuentes mencionados quizás alguien lo termina:

Descargar fuentes.

jueves, febrero 24, 2011

La crisis financiera explicada en forma sencilla

La crisis financiera explicada en forma sencilla


Heidi es la propietaria de un bar en Berlín, que ha comprado con un préstamo bancario. Como es natural, quiere aumentar las ventas, y decide permitir que sus clientes, la mayoría de los cuales son alcohólicos en paro, beban hoy y paguen otro día. Va anotando en un cuaderno todo lo que consumen cada uno de sus clientes. Esta es una manera como otra cualquiera de concederles préstamos.

Nota: Pero en realidad, no le entra en caja ningún dinero físico.

Muy pronto, gracias al boca a boca, el bar de Heidi se empieza a llenar de más clientes.

Como sus clientes no tienen que pagar al instante, Heidi decide aumentar los beneficios subiendo el precio de la cerveza y del vino, que son las bebidas que sus clientes consumen en mayor cantidad. El margen de beneficios aumenta vertiginosamente.

Nota: Pero en realidad, es un margen de beneficios virtual, ficticio; la caja sigue estando vacía de ingresos contantes.

Un empleado del banco más cercano, muy emprendedor, y que trabaja de director en la sección de servicio al cliente, se da cuenta de que las deudas de los clientes del bar son activos de alto valor, y decide aumentar la cantidad del préstamo a Heidi. El empleado del banco no ve ninguna razón para preocuparse, ya que el préstamo bancario tiene como base para su devolución las deudas de los clientes del bar.


Nota: ¿Van pillando la dimensión del castillo de naipes?

En las oficinas del banco los directivos convierten estos activos bancarios en "bebida-bonos", "alco-bonos" y "vomita-bonos" bancarios. Estos bonos pasan a comercializarse y a cambiar de manos en el mercado financiero internacional. Nadie comprende en realidad qué significan los nombres tan raros de esos bonos; tampoco entienden qué garantía tienen estos bonos, ni siquiera si tienen alguna garantía o no. Pero como los precios siguen subiendo constantemente, el valor de los bonos sube también constantemente.

Nota: El castillo de naipes crece y crece y no para de crecer, pero todo es camelancia; no hay detrás solidez monetaria que lo sustente. Todo son "bonos", es decir, papelitos que "representan" tener valor siempre y cuando el castillo de naipes se sostenga.

Sin embargo, aunque los precios siguen subiendo, un día un asesor de riesgos financieros que trabaja en el mismo banco (asesor al que, por cierto, despiden pronto a causa de su pesimismo) decide que ha llegado el momento de demandar a Heidi el pago de su préstamo bancario; y Heidi, a su vez, exige a sus clientes el pago de las deudas contraídas con el bar.

Pero, claro está, los clientes no pueden pagar las deudas.

Nota: ¡¡¡Porque siguen sin tener ni un centavo !!! Han podido beber cada día en el bar porque "se comprometían" a pagar sus deudas, pero el dinero físico no existe.

Heidi no puede devolver sus préstamos bancarios y entra en bancarrota.

Nota: Y Heidi pierde el bar.

Los "bebida-bonos" y los "alco-bonos" sufren una caída de un 95% de su valor. Los "vomito-bonos" van ligeramente mejor, ya que sólo caen un 80%.

Las compañías que proveen al bar de Heidi, que le dieron largos plazos para los pagos y que también adquirieron bonos cuando su precio empezó a subir, se encuentran en una situación inédita. El proveedor de vinos entra en bancarrota, y el proveedor de cerveza tiene que vender el negocio a otra compañía de la competencia.

Nota: Porque los proveedores de vinos y cervezas también le fiaban a Heidi, creyendo que estaban seguros de que cobrarían con creces al cabo del tiempo. Como no han podido cobrar dado que el dinero no existe, la deuda de Heidi se los ha comido a ellos.

El gobierno interviene para salvar al banco, tras conversaciones entre el presidente del gobierno y los líderes de los otros partidos políticos.

Para poder financiar el rescate del banco, el gobierno introduce un nuevo impuesto muy elevado que pagarán los abstemios.

Nota: Que es lo que de verdad ha pasado. Con los impuestos de los ciudadanos inocentes, los gobiernos han tapado el agujero financiero creado por la estupidez de los bancos.

domingo, febrero 13, 2011

Artículos Interesantes Primera Quincena de Febrero del 2011

Artículos Interesantes Primera Quincena de Febrero del 2011


Distros Linux para tu router

Entre las mencionadas por el artículo están: Clear OS, m0n0wall, Untangle y Vyatta. En lo personal tengo referencias buenas sobre Untangle.

http://www.muylinux.com/2011/02/01/distros-linux-para-tu-router/

Vía @openSUSE_ES

Limpiar Debian

Sugerencias para remover archivos de configuración sin usar en Deian, y manener el sistema limpio. Artículo en inglés: Learn how to keep your Debian system clean by removing useless configuration files.

http://raphaelhertzog.com/2011/01/31/debian-cleanup-tip-1-get-rid-of-useless-configuration-files/

Vía @debian

¿Tu número es Claro o Movistar?

Ya no es necesario realizar esta pregunta gracias a @marconipoveda quien ha publicado un pequeño formulario en Internet, en el cual dado un número celular de Nicaragua, permite conocer si es un celular de la empresa Claro o Movistar.

http://marconipoveda.info/cellnumbers

¿Porqué Debian importa más que nunca?

Este artículo analiza como Debian tiene gran importacia dado que es la base de muchas otras distribuciones de Linux derivadas del mismo, entre ellas la muy popular Ubuntu. Al mismo tiempo destaca el desarrollo comunitario no corporativo de Debian y su contribución a la correción de bugs.
Artículo original en inglés: Why Debian matters more than ever
.

http://www.networkworld.com/community/why-debian-matters-more-than-ever

Debian 6.0 "Squeeze" publicado el 6 de Febrero

Este artículo indica todas las neuvas características de la nueva versión del sistema operativo universal. "Después de 24 meses de desarrollo constante, el proyecto Debian se complace en anunciar su nueva versión estable 6.0 (nombre en clave "Squeeze")..."

Como es tradición el nombre alias de la versión 6 de Debian, Squeeze
es uno de los personajes de la película Toy Story.

http://www.debian.org/News/2011/20110205a

Nicaragua entre los pocos países que no censuran Internet.

Las noticas actuales de regulaciones que imponen en algunos países, ya sea de manera permante o eventual, al acceso de Inernet hacen pensar en China, rebelión en Egipto, censura a Wikileaks... pero según este estudio casi todos los países ejercen censura en Internet, hasta los considerados muy democráticos y liberales. Por suerte en Nicaragua aún no se han destinado recursos para tal fin, uff... que alivio.

http://yuxiyou.net/open

VII Festival Internacional de Poesía de Granada, 2011

Hoy domingo 13 inició el VII Festival Internacional de Poesía de Granada, 2011 en homenaje a la poeta Claribel Alegría.

http://www.festivalpoesianicaragua.com/2011/01/programa-vii-festival

jueves, febrero 10, 2011

Álgebra recreativa aplicada a los correos cadena del 2011

Álgebra recreativa aplicada a los correos cadena del 2011


Hace poco me llegó un correo que decía:

Este año tendremos 4 fechas inusuales;
1-1-11
1-11-11
11-1-11
11-11-11
Ahora fíjate...
coge los 2 últimos dígitos del año en que naciste y

súmalos a la edad que cumplirás en el 2011
Te dará 111... super raro

Muchos de los que leyeron el correo comprobaron que tiene razón, y se preocuparon. Incluso un amigo contestó:

Nací en 1984 ... Osea 84
Y este año voy a cumplir 27

84+27=111

Damn!
Vamos a morirrrrr !!!!!

Y como en el ambiente hay una moda de los números, las fechas, el año y profecías, entonces el correo llama la atención de cualquiera, pero las matemáticas pueden explicar con un poco de álgebra que no hay nada raro, y tan sólo es un juego de números:

Sea "a" el año de nacimiento de cualquiera persona nacida entre 1900 y 1999 (lo dicho en el correo no aplica para otros años, pero como la mayoría de los que leemos el correo cadena nacimos entre estos años, no nos percatamos).

Sea "e" la edad de dicha persona en año actual (2011), entonces:

e = 2011 - a (1)

Ahora, sea "u" los dos últimos dígitos del año de nacimiento de la persona, entonces:

u = a - 1900 (2)

Sea "x", el valor para la frase que el correo dice: "los 2 últimos dígitos del año en que naciste sumados a la edad que cumplirás en el 2011", entonces tenemos:

x = u + e (3)

Sustituyendo las ecuaciones (1) y (2) en (3) tenemos:

x = (a - 1900) + (2011 - a)

Simplificando:

x = 2011 - 1900 +a -a
x = 111

Por lo tanto para toda persona nacida entre los años 1900 y el 1999, los 2 últimos dígitos del año en que dicha persona nació sumados a la edad que cumplirá en el 2011 resultará siempre 111.

Para cualquier persona que nació (o nacerá) entre el año 2000 y el 2999 (o hasta el 2011, o 2012 en caso de que el fin del mundo sea en alguno de esos años ;-) ) el resultado será siempre 11, lo pueden comprobar por su cuenta.

Comparto a continuación un libro (gratis) para pasatiempo, recuerdo que cuando estaba en secundaria mi papá me regaló un par de libritos editados en Rusia (pero en Español) similares a este:

http://mate.dm.uba.ar/~cepaenza/libro/LIBRO_PAENZA.htm

El autor del libro (Dr. Adrián Paenza) según El Nuevo Diario, supuestamente podría venir a Nicaragua.

http://www.elnuevodiario.com.ni/imprimir/91833

http://adrianpaenza.blog.arnet.com.ar/

domingo, enero 09, 2011

Alicia en el país de Costa Rica

Alicia en el país de Costa Rica


Alicia hoy viviría en el país de Costa Rica, no en el país de las maravillas, dado que Costa Rica es el país más feliz del mundo!

Hace algún tiempo vi en una entrevista por TV a Gioconda Belli hablando sobre un libro que acaba de publicar, llamado "El País de las Mujeres", donde el argumento del libro se basa en un gobierno de sólo mujeres que soluciona muchas cosas que los gobiernos convencionales no han resuelto, en el que el estilo de gobierno no era ni democrático, ni socialista, ni comunista ... sino felicista (basado en la búsqueda de la felicidad) [3] [4].



Pensé que el asunto del felicismo [5] planteadas por el argumento del libro eran ideas de poetas... pero me sorprendió mucho al ver poco tiempo después una noticia en CNN, donde hablaban de que estas ideas ya son parte de los estudios económicos serios.

No pude encontrar el video en línea, pero si una noticia similar:

"La felicidad, un parámetro económico: ... La semana pasada, Francia dijo que planeaba crear un nuevo indicador estadístico adicional al Producto Interno Bruto (PIB), en respuesta a un informe elaborado por Sen, su colega, el también Premio Nobel Joseph Stiglitz y la Organización para la Cooperación y el Desarrollo Económico (OCDE), que recomendaba emplear la felicidad, la calidad de vida y la distribución de los ingresos para evaluar el crecimiento económico..." [6]

Felicidad Interior Bruta (FIB) versus Producto Interno Bruto (PIB)

PIB: "El producto interno bruto (PIB) es la principal macromagnitud existente que mide el valor monetario de la producción de bienes y servicios finales de un país durante un período de tiempo (normalmente un año). El PIB es usado como una medida del bienestar material de una sociedad." (Wikipedia) [1]

FIB: "Felicidad Interior Bruta (FIB) es un medidor que define la calidad de vida en términos más holísticos y psicológicos que el Producto Interno Bruto (PIB). Mientras que los modelos económicos convencionales observan el crecimiento económico como objetivo principal, el concepto de FIB se basa en la premisa que el verdadero desarrollo de la sociedad humana se encuentra en la complementación y refuerzo mutuo del desarrollo material y espiritual. Los cuatro pilares de la FIB son la promoción del desarrollo socioeconómico sostenible e igualitario, la preservación y promoción de valores culturales, la conservación del medio ambiente y el establecimiento de un buen gobierno." (Wikipedia) [2]

Costa Rica es el país más feliz del mundo

Luego de ver esto, un enlace llevo a otro y otro, hasta encontrar que al 2009: Costa Rica se consideraba a la cabeza en el índice de felicidad mundial [7], o al menos esa es la idea general [8].

Para leer un poco más al respecto se puede visitar el sitio web de la organización que realizó la medición http://www.happyplanetindex.org

Nicaragua al 2009 aparece en la posición número 11 [9], interesante o raro dado que el en orden por PIB Nicaragua ocupa aproximadamente la posición 126 [10].

Clic para ver detalles del mapa en su sitio web original.

El indicador FIB quizás necesita aún mejores, no soy experto pero parece dar mucho puntaje o peso al asunto ecológico, si el mismo mapa se filtra por Satisfacción de la Vida, los países más ricos aún tienen la ventaja [11].

A pesar de todo eso como se dice popularmente el dinero no lo es todo! Otro informe de CNN dice "Dime cuáles son tus prioridades y te diré qué tan feliz eres: ... las llegadas de dinero repentinas, no son lo que nos hace felices, sino las prioridades que fijamos en nuestras vidas..."

Como conclusión este artículo presenta debates encontrados sobre el FIB:

http://www.cnnexpansion.com/expansion/2010/05/11/el-dinero-y-la-felicidad

¿Y usted que piensa?

Enlaces y referencias

[1] http://es.wikipedia.org/wiki/Producto_Interno_Bruto
[2] http://es.wikipedia.org/wiki/Felicidad_Interna_Bruta
[3] http://www.estasemana.tv/archivo/2010/septiembre/562
[4] http://www.elnuevodiario.com.ni/nacionales/86247
[5] Sitio Web del libro: El país de las mujeres, http://www.partidoizquierdaerotica.com/2010/10/31/los-origenes-del-felicismo/
[6] La felicidad, un parámetro económico, http://www.cnnexpansion.com/economia/2009/11/23/la-felicidad-parametro-economico
[7] http://www.cnnexpansion.com/estilo/2010/01/11/mexico-entre-los-mas-felices-del-mundo
[8] http://www.bbc.co.uk/mundo/cultura_sociedad/2009/07/090703_1920_indice_feliz_sao.shtml
[9] http://es.wikipedia.org/wiki/%C3%8Dndice_del_Planeta_Feliz
[10] http://es.wikipedia.org/wiki/Anexo:Pa%C3%ADses_por_PIB_hist%C3%B3rico_%28nominal%29
[11] http://www.happyplanetindex.org/explore/global/life-sat.html
[12] http://mexico.cnn.com/salud/2010/10/06/dime-cuales-son-tus-prioridades-y-te-dire-que-tan-feliz-eres-estudio
[13] http://www.cnnexpansion.com/expansion/2010/05/11/el-dinero-y-la-felicidad