viernes, 29 de junio de 2012

Como redondear hacia arriba una division de enteros en C

Como es bien sabido al dividir en C las variables enteras "a" y "b" usando el operador "/" (a/b), el compilador redondea por defecto hacia abajo el resultado si el destino de la division es otra variable entera "c".
Si lo que deseas es lo contrario encontre por la red una manera de redondear hacia arriba "c=a/b", aqui hago un copy&paste:

c = (x + y - 1) / y;

Pero hay que tener cuidado con esto ya que para numeros grandes "x + y" puede producir overflow, para evitarlo:

c = 1 + ((x - 1) / y);

miércoles, 18 de abril de 2012

Solucion para "libgfortran.so.1: cannot open shared object file: No such file or directory" en instalacion binarios Julia en Xubuntu 11.04 x64

Descargar y descomprimir el binario de "Julia":

wget https://github.com/downloads/JuliaLang/julia/julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz

tar zxvf julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz

Descargar y descomprimir libgfortran1:

wget http://ubuntu.mirror.cambrium.nl/ubuntu//pool/universe/g/gcc-4.1/libgfortran1_4.1.2-21ubuntu1_amd64.deb

ar -x libgfortran1_4.1.2-21ubuntu1_amd64.deb

tar zxvf data.tar.gx

Copiar los ficheros de "/usr/lib" a "/usr/lib/x86_64-linux-gnu"

viernes, 3 de febrero de 2012

Quien esta usando mi puerto (AIX)

netstat -Aan | grep <port number>

Esto muestra el PCB (protocol control block) en la primera columna.

rmsock <PCB> tcpcb

Esto muestra el proceso que usando ese PCB.

domingo, 15 de enero de 2012

Como conectar a VPN Cisco con "vpnc" usando certificado "crt"

Primero instalamos el cliente linux para VPNs Cisco "vpnc" y el material necesario:

sudo apt-get install libgcrypt11 libgcrypt11-dev libssl-dev libssl0.9.8 vpnc resolvconf

Comprobamos que se ha instalado con soporte SSL:

vpnc --version

Si aparece la siguiente linea vpnc se ha instalado con soporte SSL:

Supported Auth-Methods: psk psk+xauth hybrid(rsa)

Copiamos el fichero .crt a /etc/vpnc:

sudo cp foo.crt /etc/vpnc

Si disponemos de fichero .pcf de configuracion debemos convertirlo a fichero .conf para vpnc, para lo cual necesitamos cisco-decrypt.c y pcf2vpnc:

wget http://www.joepcremers.com/wordpress/wp-content/files/cisco-decrypt.c

gcc -Wall -o cisco-decrypt cisco-decrypt.c $(libgcrypt-config --libs --cflags)

chmod +x cisco-decrypt

sudo cp cisco-decrypt /usr/bin

wget http://svn.unix-ag.uni-kl.de/vpnc/trunk/pcf2vpnc

sudo cp pcf2vpnc /usr/bin

pcf2vpnc foo.pcf > foo.conf

sudo cp foo.conf  /etc/vpnc/

Añadir las siguientes lineas al fichero foo.conf:

sudo vi /etc/vpnc

IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt

Ejemplo de fichero .conf:

## generated by pcf2vpnc
IPSec ID foo
IPSec gateway vpn.foo.com
IPSec secret dajhfñakjedhfñEWU1VJdsañj

IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt

## To add your username and password,
## use the following lines:
# Xauth username <your username>
# Xauth password <your password>