<body>

Sitios web relacionados: PingBlog | Fotos

miércoles, febrero 28, 2007

De como la tecnología ayudó a joder a NYSE

Para aquellos que siguen de cerca las finanzas no es ningún secreto que el día Martes 27 de Febrero del 2007 (ayer) apestó ya que el mercado registró uno de sus peores días, con números muy similares a los mostrados cuando ocurrieron los atentados terroristas del 11 de Septiembre.

Sin embargo quienes trabajamos en tecnología supimos que hubo otra razón: Problemas en NYSE afectaron a todo el mundo y como una reacción en cadena afectaron a muchos de los sistemas en Wall Street:

Stocks lurched lower after the sudden drop, driving the Dow average down as much as 546.2 points, or 4.3 percent, and leading the market to its biggest single-day rout since the Sept. 11 terrorist attacks. The malfunction in the oldest, most established benchmark for U.S. stock prices shows how a technical fault can worsen a market decline.


Todos los sistemas de trading son organicos en naturaleza. Cuando hay noticias que mueven el mercado de manera abrupta, el volumen de transacciones aumenta de manera exponencial y es allí cuando se sabe si la redundancia y el "planeamiento de capacidad" (esta bien, "capacity planning") sirvieron para algo.

Lean con detenimiento el articulo. La falla que duró poco tiempo pero que tomó varias horas por acomodar por completo (NYSE aún estaba procesando ordenes en sus colas hasta las 5:30 PM cuando el sistema cierra normalmente a las 4:00 PM).

Que les puedo decir. Escribo cuando aún el mercado no abre (lo hace a las 9:30 AM para stock & options), y me pregunto sy el día de hoy tendremos un sube y baja.

Actualización: El mercado hoy estuvo muy activo, y aunque hubo más problemas en la mañana todo volvió a la normalidad.

Blogalaxia.com:bug, down jones, ise, market, nyse, option, stock
Technorati.com:bug, down jones, ise, market, nyse, option, stock

Etiquetas: , , , , , ,

sábado, febrero 17, 2007

¿Alguien se acuerda de PingBlog?

PingBlogIntro
¿Alguien se acuerda de PingBlog?


Yo no, y ese es un problema.
Después de un largo sueño he decidido poner el empeño en terminar lo que comencé hace tiempo atrás. Sin fama, ni gloria, sólo con el objeto de aprender algo.

Me di cuenta que me fuí por un barranco y que tomé varias decisiones que hacen a la aplicación demasiado complicada. Así que arranco desde zero a resolver el problema original.

PingBlog Tag Generator
El último cariñito que le hice al programa...


Esto significa también que el blog va a estar en animación suspendida por un tiempo. Lo admito, no puedo contantas vainas: Bebé y esposa (prioridades #1), trabajo (si, todo el mundo tiene uno) y echar código.

Y es que el blog va a tomar una nueva dirección, como vengo prometiendome hacer desde el año pasado. Sin embargo eso requiere echarle bolas y de poco a poco no se puede.

Realmente siento que no he tratado bien a quienes visitan el blog. Hay mil excusas para poner contenidos flojos, y antes de tomar una decisión drastica como la de cerrar el blog, prefiero mejorarlo y hacer que este sea la herramienta que siempre pensé que debería ser.

Volviendo a PigBlog: Comencé este proyecto porque queria aprender cosas nuevas. Tengo que aprender cosas nuevas, así que las prioridades cambiaran por los actuales momentos.

Ya les comentaré por aquí como van las cosas y si algo me interesa lo suficiente lo pondré en el blog :)

Un abrazo a todos.

Actualizacion #1:
Limpieza del código, "refactoring". Un script para poder llamar a PingController de manera más fácil:
auyan:~/Documents/workspace/pingblog josevnz$ scripts/ping_controller.sh technorati,veneblogs kodegeek http://kodegeek.com
Feb 20, 2007 9:08:06 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingController main
INFO: ping.server.xmlrpc.url.technorati: false, '{message=You just sent a ping, please only ping when you update, flerror=true}'
Feb 20, 2007 9:08:06 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingController main
INFO: ping.server.xmlrpc.url.veneblogs: true, 'Unable to find the status about this directory. Asumming is OK'
Feb 20, 2007 9:08:06 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingController main
INFO: Program Finished
También la interfaz del programa SimpleTagGenerator está un poco más pulida.



-- José V o "el messsmo" Kodegeek.

jueves, febrero 15, 2007

Instalación de Sybase ASE Express en Fedora Core 6: ¿Es posible?

Existen muchas razones por las cuales usted quizas deba instalar Sybase ASE Express (una versión escalada de Sybase 15), como son requerimientos de un cliente (en Wall Street todo el mundo la utiliza aunque han perdido terreno contra DB2 de IBM) o porque usted piensa que es un buen servidor. Yo tengo las mias, así que decidí montarla bajo Fedora Core 6.

Sybase provee instrucciones precisas sobre como instalar su servidor bajo Linux. Lo que yo quiero mostrar aqui es como usted puede hacer una instalación que consuma poca memoria en una máquina en la cual solamente se hará desarrollo. Asi que aqui vamos:

A estas alturas me imagino que usted ya se bajó el código del instalador, sino detengase aquí y hagalo. También tenga a la mano el DVD de Fedora Core 6 para instalar ciertos componentes adicionales.

Instale las librerías de compatiblidad: Necesitamos montar las librerias de compatibilidad de glibc para Sybase y Java:
compat-libstdc++-33
compat-libstdc++-296
Y lo hacemos así (los RPM los puede conseguir en el DVD de Fedora Core 6):
[root@localhost ~]# rpm -ihv compat-lib*.rpm
warning: compat-libgcc-296-2.96-138.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:compat-libstdc++-33 ########################################### [ 33%]
2:compat-libgcc-296 ########################################### [ 67%]
3:compat-libstdc++-296 ########################################### [100%]
[root@localhost ~]#

Cree un usuario dedicado para Sybase: Lo primero que hacemos es crear una cuenta nueva para la base de datos:

[root@localhost ~]# useradd -c "Sybase user" -b /opt/sybase -m -s "/bin/bash" sybase
Incremente los límites de memoria compartida: Fedora Core 6 tiene un limite bajo para la memoria compartida, así que lo cambiamos en el archivo /etc/sysctl.conf (kernel.shmmax = 67108864). Puede escribir: sysctl -w kernel.shmmax = 67108864

Desempaquete las fuentes:
root@localhost sybase]# cp /root/ase1500_xe_linux.tgz /home/sybase/
[root@localhost sybase]# su - sybase
[sybase@localhost ~]$ tar -xzvf ase1500_xe_linux.tgz
Modifique el ~/.bashrc del usuario "sybase": Agregando lo siguiente:
export LD_POINTER_GUARD=0
Por cierto, este tip lo tomé del excelente sitio web de Michael Peppler, autor del módulo de Perl DBD::Sybase y Sybperl.

Asegurese que X-Window funciona o use el modo del consola en el instalador
: Este paso requiere que usted puede abrir correctamente aplicaciones X en el servidor remoto; En el caso de una conexión desde una máquina con Linux eso ocurre automaticamente si se conecta con ssh (ssh -X. Sin embargo desde Mac OS X le recomiendo que instale el paquete X11 al menos que quiera usar la instalación de modo texto y arranque el terminal X desde allí). Y si eso no funciona entonces corralo con la opción '-c' como se muestra aqui:

[sybase@localhost ~]$ ./setup -console
InstallShield Wizard

Initializing InstallShield Wizard...

Searching for Java(tm) Virtual Machine...
........
Running InstallShield Wizard...

-------------------------------------------------------------------------------
Welcome to the InstallShield Wizard for Sybase Adaptive Server Enterprise
version 15.0 Update #1 with Encrypted Columns Option

The InstallShield Wizard will install Sybase Adaptive Server Enterprise on your
computer. Shut down all Sybase products, then click Next to begin installation.


The installer will now configure new servers with the following values. Please
click Next to proceed with the server configurations.

Adaptive Server

Adaptive Server Name LOCALHOST
Port Number 5000
Page Size 2k
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST.log
Master Device /opt/sybase/data/master.dat
Master Device Size (MB) 30
Master Database Size (MB) 13
System Procedure Device /opt/sybase/data/sysprocs.dat
System Procedure Device Size (MB) 120
System Procedure Database Size (MB) 120
System Device /opt/sybase/data/sybsysdb.dat
System Device Size (MB) 3
System Database Size (MB) 3

Backup Server

Backup Server Name LOCALHOST_BS
Port Number 5001
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST_BS.log

Monitor Server

Monitor Server Name LOCALHOST_MS
Port Number 5002
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST_MS.log

XP Server

XP Server Name LOCALHOST_XP
Port Number 5003
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST_XP.log

Unified Agent - Self Discovery Service Adaptor

Adaptor UDP

Unified Agent - Security Login Modules

CSI.loginModule.1.provider com.sybase.ua.services.security.simple.SimpleLoginModule
CSI.loginModule.1.controlFlag sufficient
CSI.loginModule.1.options.moduleName Simple Login Module
CSI.loginModule.1.options.username uafadmin
CSI.loginModule.1.options.password ******
CSI.loginModule.1.options.roles uaAgentAdmin,uaPluginAdmin
CSI.loginModule.1.options.encrypted false

CSI.loginModule.2.provider com.sybase.ua.services.security.ase.ASELoginModule
CSI.loginModule.2.controlFlag sufficient
CSI.loginModule.2.options.moduleName ASE Login Module

Siga adelante con las instrucciones que le muestra el instalador. Sin embargo si lo que usted quiere es solamente jugar un poco con SQL y no esta muy interesado en el desempeño, entonces no cree servidores XP (extended stored procedures), Historical (guardar historia de desempeño) ni el Monitor Server (para analisis de desempeño). El servidor de backup también es opcional sin embargo estoy seguro que el algún momento usted querra respaldar sus datos :).

Verifique que se puede conectar al servidor de base de datos (y cambiele el password lo antes posible, no lo muestro aquí):
isql –Usa –P -Slocalhost

Automatize el arranque y caida de Sybase ASE: El último paso es asegurarnos que podemos arrancar Sybase cada vez que el servidor es iniciado. Para ello les dejo un script en Bash que escribí con ese proposito, basandome en el original que venia con Sybase 11.9 (una versión para Linux ampliamente utilizada hace unos años atrás):
# sybase: Starts / stops the available Servers.
#
# chkconfig: 345 85 15
#
# description: This script will browse through the /opt/sybase/install
# directory and launch all servers configured from this location.
#
# Author: Jose V Nunez (josevnz@kodegeek.com)
# Source function library.
. /etc/rc.d/init.d/functions
# Load the correct Sybase env variables
. /opt/sybase/SYBASE.sh
if [ "$?" -ne "0" ]; then
exit $?
fi
if [ -n "${SYBASE}" -a -d "${SYBASE}" ]; then
PATH="${SYBASE}/bin:${SYBASE}/install:${PATH}"
export SYBASE PATH
# See how we were called.
case "$1" in
start)
echo -n "Starting Sybase ASE ... "
( cd ${SYBASE}/${SYBASE_ASE}/install ; \
unset LANG ; unset LC_ALL ; \
for run_server in RUN_* ; do \
su -c "startserver -f ${run_server}" sybase > /dev/null 2>&1 ; \
echo -n "${run_server} " ; \
done )
echo
touch /var/lock/subsys/sybase
;;
stop)
echo -n "Shuting down Sybase ASE configured servers: "
killproc dataserver
killproc backupserver
killproc monserver
echo
;;
status)
showserver
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: sybase {start|stop|status|restart}"
exit 1
esac
fi
exit 0


Grabe el archivo como '/etc/init.d/sybase' y después escriba lo siguiente:
[root@localhost ~]# chkconfig sybase
[root@localhost ~]# chkconfig --level 3 sybase on

Esta instalación utiliza los valores por omisión los cuales son más que suficientes para comenzar, además de que son conservadores en el uso de recursos. Ya estaré jugando con Sybase bajo Linux en los días que vienen, así que esten pendientes por este blog.

Si aún no se ha dado cuenta este no es un tutorial de como instalar Sybase bajo Linux o como optimizarlo, así que le recomiendo que utilice los enlaces mencionados anteriormente para aprender más.

Blogalaxia.com:sybase ase express, sybase, linux, fedora core, fedora core 6
Technorati.com:sybase ase express, sybase, linux, fedora core, fedora core 6

Etiquetas: , , , ,

¡Dejen de comprar pendejadas!

Advertencia: La palabra "pendejo" (que creo que significa algo así como estupido o tonto) es usada indiscriminadamente en el siguiente escrito. Si es sensible, le recomiendo que voltee para otro lado :)

Todo el mundo habla de los electrónicos que se deben comprar, sin que ellos ofrezcan una ventaja real sobre el anterior. Cuando salió el XBOX 360, Nintendo WII, PS3 hubo colas de gente dandose golpes para comprarlos, ademas de las "pre-ordenes".

En el caso anterior, ¿porqué no esperar a ver como corren los juegos en una tienda antes de comprar la consola?

Ahora es el Iphone de Apple (* si, una belleza y sexy *), y ya he leido muchos Blogs Venezolanos y de otras nacionalidades todo alabanzas o criticas hacia producto que ni siquiera han utilizado (la imaginación y capacidad de hablar pendejadas no tienen limites).

¡Dejen de comprar pendejadas!

Así mismo. Sean inteligentes, esperen un año a que el genio de al lado lo compre, le salgan los "bugs" en el producto y pague caro ser lo que llaman un "early adopter". Siempre es la misma espiral del consumismo, pero preguntense por un momento si todos esos juguetes son tan necesarios en su vida como usted cree.

Sin ponerme filosofico, tarde creo yo, es siempre prudente esperar a que los productos se estabilicen antes de comprarlos. Siempre salen mejoras, o el producto decepciona (como el Microsoft Zune por ejemplo), o la competencia hace que baje el precio.

Asi que no sea pendejo y hagale la vida más dificil a todos esos genios creativos de mercadeo que salivan por su dinero ;)

Etiquetas: , , , , , ,

miércoles, febrero 14, 2007

Instalando Fedora Core 6 ... ¡desde Mac OS X!

Después de bajarme las imagenes ISO de Fedora Core 6 me di cuenta que mi laptop no podia arrancar el CD que habia hecho con la imagen que utilcé para crear el DVD. Me parece rididulo bajarme los 6 CD por separado, asi que me decidí por el metodo de hacer la instalación por la red, copiando los contenidos del CD al disco duro.

No estoy seguro si Mac OS X soporta NFS, pero lo que si conseguí de una vez fué que puedo montar una página web para mi usuario o dar accesso por FTP, asi que copié el DVD a la carpeta de pagina web (/Users/josevnz/Sites/fedora6) e hice una mini imagen en CD (mucho más rapido que arracar por la unidad de disco flexible):

hdiutil burn boot.iso

Sin embargo algo no funcionó bien. Así que tuve que utilizar la interfaz gráfica de DiskTool para quemar la mini imagen de CD. Después fué solamente question de arrancar la vieja laptop con el CD y apuntar a la estación de trabajo Mac.

La interfaz de usuario es muy bonita, y Fedora finalmente reconoció mi tarjeta wireless (aunque no funciona aún pero estoy seguro que es un error estupido de mi parte). De nuevo mi laptop tiene vida nueva gracias a Linux. Pienso montarle la versión gratuita de Sybase 15.0 para Linux para probar un par de vainas que no puedo hacer en la Macintosh :)

Etiquetas: , , , ,

martes, febrero 13, 2007

¿Quiere navegar más rápido en Internet?



¿Y quién no? Yo hasta hace poco tenía ataques de hipo con mi proveedor de Internet, y me dí cuenta que casi siempre pasaba cuando el navegardor estaba resolviendo nombres (DNS lookup). Asi que me decidí a probar el servicio gratuito OpenDNS y los rendimientos han sido muy interesantes, además de quel servicio se ve estable.

El sitio provee instrucciones precisas acerca de como utilizarlo, le recomiendo que lo pruebe y quizas resulte sorprendido. Sin embargo quizas lo más entretenido del asunto quizas sea leer el blog (muestra lo entusiasmados que están los autores con el servicio).

Y si, la respuesta y tiempos de navegación han mejorado bastante :D

Etiquetas: ,

En la senda de Mac OS X: ya paso la fiebre, vamos a hablar

DSC04018.JPG
¿OK, es tan bueno como dicen?


No estoy sólo con mis impresiones acerca del nuevo Microsot Vista y Mac OS X. En un artículo anterior les comentaba sobre mi decisión de migrar hacia Mac. Scott, el autor, enfoca su artículo más que todo para una persona que utiliza mucho a Internet, buscando información (como él, un escritor técnico). No habla nada de herramientas de programación ni herramientas de oficina.

Yo concuerdo con él en que Firefox para Mac no esta del todo listo, por ejemplo los Applet de Java aun tienen problemas (yo cada vez que trato de abrir Bloomberg Anywhere clavo al navegador un 50% de la veces), si se abre un PDF estos se bajan al escritorio y es entonces que son abiertos. Safari no hace eso y trabaja bien pero por otro lado no soporta "pestanas" como Firefox lo cual es bien fastidioso.

En cuanto a una aplicacion que reemplace Microsoft Office, no hay elecciones fáciles. ¿Porqué?:
  • Open Office requiere cierto trabajo para que funcione, entre eso instalar X11 = no gracias,
  • Office 2004 cuesta $400, y Office 2008 sale en el segundo trimestre del 2007 = no joda
  • AppleWorks, $69, asi que a la final un intermedio entre gratis y bueno sera la solución = que coño.
Sin embargo la prueba de fuego vino un poco después ese mismo día. Me decidí a instalar Fedora Core 6 en mi laptop HP y para al fin poner a funcionar mi tarjeta de inalambrica Linksys WPC54G. El problema es que cuando me estaba bajando la imagen ISO para el DVD la conexion se cayo (mejor dicho el enrutador se atoró) y me falto por bajar 400 MB de los 3 GB).

Que cagada, ¿a repetir todo desde cero? No, Geek que se respeta sabe que con el programa wget se puede recuperar transferencias de archivos interrumpidas (wget se trae solamente el pedazo faltante). Esto me dió la excusa de instalar el compilador GCC 4.0 para Mac OS X desde 'Apple Developer', parte del paquete llamado 'Xcode'.

Con mi conexión tardó como una hora en bajarme los 900 MB de herramientas de desarrollo; Luego me bajé lass fuentes de wget y lo instalé todo en '/Users/Shared' (en Mac OS X viene a ser el '/usr/local' de BSD).

Despues de alli fue coser y cantar:

auyan:~/Desktop josevnz$ wget -c
http://mirror.linux.duke.edu/pub/fedora/linux/core/6/i386/iso/FC-6-i386-DVD.iso
--15:02:18-- http://mirror.linux.duke.edu/pub/fedora/linux/core/6/i386/iso/FC-6-i386-DVD.iso
=> `FC-6-i386-DVD.iso'
Resolving mirror.linux.duke.edu... 152.3.220.162
Connecting to mirror.linux.duke.edu|152.3.220.162|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3,525,195,776 (3.3G), 445,226,600 (425M) remaining [application/octet-stream]

88% [++++++++++++++++++++++++++++++++++++++++++++++++> ] 3,121,820,428 64.94K/s ETA 1:41:13

Muy bien, el software GNU se lleva bien con la MAC :)

Blogalaxia.com:mac os x, linux, windows vista, wget, gcc
Technorati.com:mac os x, linux, windows vista, wget, gcc

Etiquetas: , , ,

lunes, febrero 12, 2007

¡ Los tontos ahora pueden agarrar el Metro de New York!

Grand Central Subway Station & Drummer
Ahora los tontos y despistados pueden tomar el metro :)


Quienes me conocen saben que yo soy mas despistado y desorientado que politico Venezolano, y una de las cosas que siempre hago mal es tomar el metro.

Después de tratar con la versión de Broadband de Yahoo Maps (la cuales muy arrecha) me sentí un poco defraudado ya que no me decia como tomar el tren, sino como hacerlo manejando.

Con ayuda del poderozo Google me consegui con Hopstop, el cual no sólo te dice que rutas de metro tomar, sino que te propone alternativas y hasta te dice como hacerlo si quieres caminar.




No importa si usted no vive en New York City, ya se si está visitando la ciudad y sabe la dirección de destino entonces esta herramienta le será de gran ayuda.