La culpa fue del spectrum

La culpa fue del spectrum

sábado, 4 de marzo de 2017

Licencias Citrix - udadmin

Comando udadmin

Es muy común tener que borrar usuarios para recuperar licencias para nuevos usuarios.
Para realizar esto primero tenemos que conectarnos al servidor citrix que tenga el servidor de licencias (es posible que incluso sea un servidor independiente para esta función si tu organización así lo requeire)
Buscar la ubicación de udadmin, normalmente se encuentra en c:\Program Files (x86)\Citrix\Licensing\LS
Después ya solo nos queda operar con el comando tal como indica su ayuda.

Sintaxis

udadmin [-options] [-delete | -list ]

Opciones

-f nombre_función
Cuando se usa con -list o -delete, muestra o libera la licencia de nombre_función especificada para el usuario o dispositivo solamente.
-user nombre_usuario
Libera la licencia para el usuario especificado en nombre_usuario solamente.
-device nombre_dispositivo
Libera la licencia para el dispositivo especificado en nombre_dispositivo solamente.
-a
Enumera todas las funciones y versiones instaladas en el servidor de licencias.

Argumento

-delete
Libera la licencia para un usuario, una función o un dispositivo por vez.
-list
Muestra los usuarios y dispositivos con licencias, y la fecha de la última actualización. Se muestra la fecha de la próxima actualización si se ha detectado mucha actividad en los 15 minutos desde el último informe.

Ejemplos

udadmin -list
Muestra todos los usuarios y dispositivos
udadmin -list -a
Enumera todas las funciones, versiones, recuentos de licencias, así como los usuarios y dispositivos de cada versión. Podemos ver claramente licencias instaladas y licencias en uso.
Version : 2017.0001
Installed: 50
In Use : 48 Users: 48 Devices: 0
udadmin -f XDT_ENT_UD -user flanagan -delete
Elimina un usuario flanagan de una función.
Siempre hay que usar la opción -f para indicar la función. El sistema nos indicará que la operación se ha realizado con éxito.

sábado, 4 de febrero de 2017

Antergos... Arch con instalación rápida y fácil


 

Está navidad renové mi pc de casa, este era un clonicazo montado por mi mismo en el año 2008, y claro el máquina ya estaba un poco agotada.

Con la falta de tiempo que sufro en la actualidad, me decidí por comprar un máquina ya montada a un precio lo más económico posible.

Termine con un I3 en un placa asus, con 4Gb de RAM y un disco duro de 1Tera. No es una gran máquina pero más que suficiente para el uso domestico que le dan, sobre todo, mis hijos.

En un futuro tendré que ampliar con un tarjeta gráfica y más memoria, pero de momento cumple.

Ahí tocaba instalar un linux, y esta vez decidí dejar de lado a Debian y probar algo nuevo. Una oportunidad perfecta para probar Antergos, son españoles, se basan en Arch y he leído cosas muy buenas sobre esta distro.

Instale como escritorio KDE, otra novedad teniendo en cuenta que últimamente estaba usando xfce.
El resultado de momento es impecable, a pesar de ser una distro de actualización continua, se mantiene muy estable y fluida.

Tanto la instalación como configuración la he realizado desde entorno gráfico y ni siquiera estoy utilizando la línea de comando para instalar software, cosa que en Debian hacía continuamente.

En definitiva una distro muy recomendable para todo aquel que quiera poder probar e instalar de forma rápida una Arch.

martes, 17 de enero de 2017

Propósitos para el nuevo año


Hacer una entrada mensual en el blog

Realizar mi primera aplicación en Rails

Hacer esa llamada

Aprovechar mejor el fin de semana

Dormir más durante la semana

Gestionar mi paciencia

Meditar diariamente

lunes, 15 de agosto de 2016

Rjb - Ruby Java Bridge

La gema rjb nos permite conectar desde ruby mediante un archivo jar a una base de datos usando el driver JDBC.
Yo lo suelo utilizar desde windows en pequeños programas de migración de tablas de una base de datos a otra. 

Una vez instalado ruby, para poder instalar la gema rjb, el sistema te pedirá que te descargues e instales el devkit de ruby, un jdk de java y que configures las variables JAVA_HOME.

Es importante que tengas en cuenta que ambas versiones de ruby y java deben de ser de la misma arquitectura para que funcione correctamente. En caso contrario creará la gema rjb pero después cuando la uses desde los programas te aparecerán errores.

En este caso las conexión es una "legendaria" base de datos de firebird por lo que me descargo el correspondiente jar. 
Un ejemplo que cuenta los registros de una tabla sería el siguiente. 

require 'rjb'
Rjb::load(classpath = 'C:/Software/Jaybird-2.2.11-JDK_1.8/jaybird-full-2.2.11.jar',['org.firebirdsql.jdbc.FBDriver'])

DriverManager = Rjb::import('java.sql.DriverManager')

begin
    sen="Select count(*) from TABLA1"
    connection = DriverManager.getConnection('jdbc:firebirdsql://ipserver:3050/carpetas_que_contiene_BD/EJEMPLO.gdb','sysdba','masterkey')

    statement = connection.prepareStatement(sen)
    result_set = statement.executeQuery

    while(result_set.next())
        puts result_set.getObject(1).toString
      end
ensure
     result_set.close if defined?(result_set) && !statement.nil?
     statement.close if defined?(statement) && !statement.nil?
     connection.close if defined?(connection) && !connection.nil?
end

sábado, 23 de julio de 2016

Uso de MONITOR en un programa RPGLE

Cuando realizamos un programa intentamos controlar todo lo que puede ocurrir con el fin de que el programa realice correctamente su función. Pero en ocasiones necesitamos monitorizar los posibles errores, para eso tenemos MONITOR.

Mi uso de MONITOR es bastante sencillo, yo introduzco MONITOR en un trozo de código donde me interesa poder controlar cualquier error, no lo uso siempre ni en todos los programas. 

El uso de MONITOR es muy simple

Comienza escribiendo MONITOR y se finaliza con ENDMON.

MONITOR;

 bloque de código que se quiere monitorizar 

ENDMON;

Dentro del bloque a monitorizar el error se controla usando ON-ERROR 

ON-ERROR puede controlar cualquier error, un error de programa, un error de fichero, o incluso un código de error específico. Para ello usa *ALL, *PROGRAM, *FILE o el código.

Un ejemplo podría ser este.

MONITOR;

   A=B/C;
   ON-ERROR *PROGRAM;
     A=0;
     DUMP;

ENDMON:

En este ejemplo el código ante cualquier error de programa que surgiera en la operación A=B/C, pondría la variable A a 0 y realizaría un vuelco que me permitiera ver con detalle lo ocurrido. 

sábado, 28 de mayo de 2016

Voz IP para uso doméstico

Hace unos meses que inicie una cruzada para abandonar ONO como mi único proveedor de telefonía fija, móvil e internet.

No voy a entrar en los motivos, pero lamentablemente si funcionaban mal siendo ONO, desde que los compro Vodafone la cosa ha empeorado mucho, los clientes como yo con 11 años de antigüedad somos tratados como despojos y dejamos de interesar. Migrar todos sus servicios y conseguir la baja de todo me ha llevado tiempo, esfuerzo y discusiones.

Pero lo que yo venía a contar es lo contento que estoy de tener contratado un servicio de voz ip sobre mi línea ADSL. Tenía mis dudas de que esto funcionara bien sobre una ADSL clásica de la que nos llega por cable de cobre. Pero si puedo asegurar que funciona y muy bien.

Mi experiencia, no voy a poner la compañía por no hacer publicidad, es a día de hoy totalmente satisfactoria. El precio que pago por mantener el servicio es de 2,5 euros mensuales, llamadas aparte, el coste de las llamadas es muy económico, sobre todo a fijos. Teniendo en cuenta que a día de hoy cada vez se utiliza menos los teléfonos fijos me parece una solución muy recomendable.

Si alguien tiene dudas puede quedar tranquilo, esto funciona y funciona muy bien.

lunes, 29 de febrero de 2016

HYLAFAX en Debian


Pequeño manual para la instalación de HYLAFAX en Debian, es muy antiguo, en su día lo realice cuando lo instale sobre un Debian 6, después esa máquina la actualice a Debian 7 y puedo decir que nada de lo que aquí cuento cambiaba de la versión 6 a la 7. 

Desconozco si en la versión 8 cambia algo, ya que esa máquina dejo de ser competencia mía y aunque sigue funcionando estoy seguro de que no está actualizada a Debian 8.

Lo primero decir que siempre lo he instalado en pc antiguos y con pocos recursos, nunca en máquina virtual, desconozco en entorno virtual si funcionará correctamente. 

Siempre he usado módem de puerto serie, nunca usb, sobre todo porque los usb si son winmodem no funcionan y como siempre me he arreglado con material antiguo, siempre he encontrado un módem por ahí abandonado. 

Comenzamos.

Instalar

aptitude install hylafax-server por dependencias instalará el cliente y todo lo que este necesite.



Configurar



faxsetup -server



Aquí vamos respondiendo a las preguntas para configurar el servidor, todo queda registrado en dos archivos que luego podremos modificar. Si no sabes que introducir, los valores por defecto suelen ser validos para empezar.


Protecion mode for recived fax poner 0644

Protecion mode for session logs poner 0644

Protection mode for ttySx poner 0666


Un archivo se llama config.ttyS0 se encuentra como todos los archivos de configuración dentro de /etc/hylafax, ttyS0 es el primer modem en la primera salida serie del pc (com1), si hay más de un modem, porque gestionamos dos líneas tendríamos otro config.XXXX (lo que corresponda)

El otro es config para la configuración general del sistema, distinguir llamadas nacionales de internacionales, logs, número máximo de trabajos concurrentes (nunca superior al de modems conectados), tamaño de página máximo, número de intentos de conexión, etc... Yo solo uso el prefijo internacional, el resto de cosas las configuro en el cliente de windows.



Añadir mas modems



faxaddmodem



Revisar el arranque automático del servicio de fax



Al instalarlo ya suele activarse, pero siempre podemos revisar que este correcto o desactivarlo para realizar pruebas. Para ello chequeamos /etc/default/hylafax y comprobamos que existe la siguiente linea:

RUN_HYLAFAX=1



Añadir usuarios



Para añadir usuarios que puedan mandar faxes. Existen dos formas, una usar el comando faxadduser y otra editar el hosts.hfaxd



El primero permite añadir usuarios con su contraseña siguiendo el siguiente formato:


faxadduser -p [userpass] username.



Yo normalmente no uso contraseñas para el usuario de fax por lo que simplemente escribo faxadduser Luis y de esta forma creo el usuario Luis sin contraseña.



Si ahora edito hosts.hfaxd veré lo siguiente



localhost:21::

^Luis@



Por lo tanto si quiero añadir al usuario Juan solo tengo que editar hosts.hfaxd y escribir



^Juan@



Salvo el archivo, reinicio el servidor hylafax con el siguiente comando /etc/init.d/hylafax restart y el usuario Juan ya podría enviar y recibir faxes.



Ahora solo nos faltaría indicar en hosts.hfaxd que queremos enviar faxes desde cualquier equipo de la red por lo que después de la primera línea de nuestro hosts.hfaxd y suponiendo que nuestra subred es 192.168.87.0 añadiremos lo siguiente



192\.168\.87\.:::



quedando nuestro hosts.hfaxd



localhost:21::

192\.168\.87\.:::

^Luis@

^Juan@





Eliminar Usuarios



Se pude usar faxdeluser o bien editar hosts.hfaxd y borrar el usuario a anular.

Recibir un fax en formato pdf en el buzón de correo



Para ello hay que crear el fichero FaxDispatch en la ruta de configuración del programa (/etc/hylafax/).


nano /etc/hylafax/FaxDispatch



y dentro escribimos:



FILETYPE=pdf;

SENDTO=FaxEntrada;



Con esto le decimos que nos envíe a FaxEntrada (que es un alias que contiene una dirección de correo) un mensaje de correo con el fax adjunto como archivo pdf.



Salvamos el archivo y ahora editamos /etc/aliases para añadir



FaxEntrada:email@dominio.x



Salvamos /etc/aliases y ejecutamos el comando newaliases para actualizar el sistema.



Ahora para que nos envíe un email con un pdf anexado cuano el fax ha sido enviado, lo que seria un reporte de la situación del fax, creamos FaxNotify



nano /etc/hylafax/FaxNotify



y dentro escribimos



NOTIFY_FAXMASTER=yes;

RETURNFILETYPE=pdf;



Donde se encuentran los faxes



Recibidos: /var/spool/hylafax/recvq

Enviados: /var/spool/hylafax/docq



Información de las máquinas a las que se ha enviado un fax



/var/spool/hylafasx/info

Procesos que arranca hylafax



faxgetty: proceso que espera la recepción del fax

faxq: encola faxes que están saliendo y entrando. Esta en continuo funcionamiento y no puede trabajar con más de un fax simultanemente.

hfaxd: se comunica con los clientes por el puerto 4559

Comandos interesantes



faxstat -s (muestra los faxes en cola esperando para ser enviados)

faxstat -d (muestra los faxes enviados)

faxstat -r (muestra los faxes recibidos)

faxrm número_de_trabajo (para borrar un fax de la cola de trabajos)

sendfax -n -d número fichero1.ps fichero2.ps (enviar un fax desde línea de comandos, los ficheros tienes que ser tipo ps)





Conduce entre la niebla

La culpa fue del spectrum