lunes, 3 de enero de 2011

Santiago a Mil 2011 en Antofagasta

Empezamos el 2011! :D
 
En Enero pensamos en playa, vacaciones, activades al aire libre y con eso qué mejor que aprovechar las actividades de teatro y música que vienen dentro de poco a presentarse en Antofagasta bajo el alero del "XVII Festival Internacional Santiago a Mil", también conocido como "Santiago a Mil" (a secas), entre el 15 y el 26 de Enero.

Como es costubre, las actividades serán gratuitas, así que no hay excusas para no aprovechar y disfrutar.
La programación y ubicación de las actividades de este año son:


Sábado 15 de enero a las 19:00 horas
“Hombre Móvil” de la Compañía francesa Transe Express
Plaza Bicentenario.

Domingo 16 de enero a las 20:30 horas
“Alkohol” del músico serbio Goran Bregovic y su “Orquesta para bodas y funerales"
Plaza Colón

Jueves 20 de enero a las 20:00 horas
“Xi, Wang, la otra Patria”, de la compañía antofagastina La Huella.
Teatro Municipal de Antofagasta. Sucre 433

Sábado 22 de enero a las 20:00 horas
“Jemmy Button” de la compañía Tryo Teatro Banda
Teatro Municipal de Antofagasta. Sucre 433

Lunes 24, martes 25 y miércoles 26 de enero
“Neva” de la Compañía Teatro en el Blanco
Fundación Minera Escondida, sala Licancabur. Av. Bernardo O’Higgins 1280.

Ahora a esperar esa fecha de inauguración ;)

Referencias:
Stgo-A-Mil: Hasta Antofagasta llegarán grandes espectáculos de forma gratuita

jueves, 30 de diciembre de 2010

Proyecto de Ley: Incorporación de empleados a honorarios en la Ley de Accidentes del Trabajo

Primera entrada con algo de legislación, cada cierto tiempo estoy a punto de publicar algo de este tópico y al final no lo hago... así que inauguro con esta noticia laboral, ya era hora! :D

En Chile, todo trabajador se encuentra cubierto por el "seguro de accidentes", pero sólo aquellos que caen en alguna de las categorías detalladas en la Ley 16.744 (Ley sobre accidentes del trabajo y enfermedades profesionales). Por nombrar sólo algunas de las categorías más comunes:

- Trabajadores con o sin contrato, también conocidos como trabajador dependiente o independiente, correspondientes a trabajadores que pagan imposiciones (leyes sociales)
- Alumnos en práctica profesional (estudiantes)
- Empleados públicos

Hasta ahí pareciera que todo bien, pero ¿qué pasa con aquellos trabajadores que están trabajando con contrato de honorarios? absolutamente nada, no se encuentran cubiertos por este seguro :O




En Noviembre de este año (2010) se envió un proyecto de ley para modificar la 16744 y agregar a los empleados que caen en la categoría de trabajadores a honorarios.

Conozco a varias personas que llevan mucho tiempo trabajando con boletas de honorarios y creo que este proyecto es una muy buena iniciativa. Ahora habrá que ver cuánto tardan en promulgar esta iniciativa que beneficiará a muchas personas ;)

Referencias:

Ley Fácil - Guía sobre Ley de Accidentes de Trabajo
Ley 16744 - Normas sobre accidentes del trabajo y enfermedades profesionales

domingo, 19 de septiembre de 2010

JDownloader: Programa de descargas automáticas

Si necesitamos algún programa para la descarga de archivos publicados en sitios de DD, recomiendo el JDownloader.
La descripción que aparece en el sitio oficial, creo que está más que clara:

JD ofrece descargas múltiples paralelas, reconocimiento de captcha, extracción automática de archivos, administración de contraseñas y mucho más. Adicionalmente, soporta muchos sitios de “encriptación de enlaces”, así que solo tendrá que pegar los enlaces “encriptados” y JD hará el resto. JD puede importar archivos DLC, CCF y RSDF.
Por supuesto, JD es gratuito.


Esta aplicación no puede faltar entre aquellos que descargan mucho desde Inet, especialmente para series o anime, que son muchos enlaces :P


Su utilización no es muy complicada:
- Abrir y configurar a gusto (pestaña "ajustes")
- Para agregar enlaces, ir a la pestaña "Capturador de enlaces", ahí se deben pegar todos los enlaces copiados (se puede copiar más de uno por vez) haciendo clic en "Agregar URL(s)". Ésta es la sección previa  antes de que comience la descarga, ahí se pueden organizar los enlaces en paquetes, poner la contraseña para que se descompriman los archivos (cuando son .rar, .zip, etc), indicar la carpeta de descarga, etc. Para iniciar la descarga hay que dar clic en "Agregar todos los enlaces"... y a esperar se ha dicho ;)

Algunas de las ventajas de utilizarlo:

- Permite la descarga de los principales sitios utilizados (megaupload, rapidshare, etc)
- Detecta captchas de forma automática, no hay que estar digitando los textos que piden en la páginas de forma manual (gran punto!), de esta forma podemos dejar descargando de forma desatendida... no hay que estar mirando cada 2 por 3 la pantalla :P
- En caso de alcanzar los topes de descarga por sitio (sí, algunas veces igual queda lo del límite), el programa se autoimpone la revisión del enlace después de X segundos o X minutos, con esto la autodescarga comenzará apenas esté disponible el sitio nuevamente.
- Al utilizar Java y su máquina virtual (JVM), es un programa multiplataforma.


El detalle que he encontrado, es que tras muchas descargas y sin apagar el computador, el JD tiende a consumir mucha memoria y en algunos casos mucho procesador, para esto la solución es simple, cerrar el programa y volver a iniciarlo :P

Referencia:
JDownloader - Página oficial
JDownloader - Descarga

Aplicación en Java utilizando una base de datos embebida

Desde hace un buen rato he estado tratando de decidir qué base de datos utilizar en una aplicación en Java que estoy haciendo y luego de darle varias vueltas las opciones que quedaban eran:

- HSQLDB (http://hsqldb.org/)
- H2 (http://www.h2database.com/)

De las dos opciones la que más ubicaba era HSQLDB por ser utilizada por programas como el OpenOffice, JDownloader, Sockso, etc. Sin embargo, luego de leer un buen resto, le daré una oportunidad a la H2 :P... esto principalmente porque el desarrollador de ella corresponde al creador original de la HSQLDB.

La gracia de este tipo de bases de datos es que son embebidas, es decir, no es necesario instalarlas en el computador donde se ejecutará la aplicación (programa base), sino que sólo se carga una librería dentro de él y listo :)


Hablando un poco de las bases de dato que dejé cómo opción (H2 y HSQLDB): Como todo en esta vida, hay que ver lo malo y lo bueno...

Lo que siempre habrá de tenerse en mente es que ambas trabajan con archivos de texto para guardar y cargar en el inicio, dejando la información en memoria, por lo que hay que tener en cuenta la capacidad del computador donde se trabajará. De por sí la máquina virtual de java (JVM) tiende a consumir grandes cantidades de memoria con programas que se ejecutan por largo tiempo y con mucho manejo de información. Un ejemplo, la JVM se dispara cuando se descargan cosas con el jdownloader y se deja muchas horas o algunos días encendido (especialmente cuando se bajan pelis :P).

Lo bueno de este tipo de BD es que pueden ser configuradas para ser accedidas sólo por la aplicación que la carga o bien como servidor, evitamos instalar algo adicional para que nuestra aplicación funcione -a estas alturas un gran porcentaje de usuarios tiene instalada por defecto la JVM-, permite trabajar con Hibernate y lo importante es que podemos trabajar con código SQL de forma directa... además del hecho que ambas son opensource :)

Otro punto a favor de este tipo de bases de datos, es que al ser de fácil y rápido uso, nos sirven para hacer pruebas en aplicaciones que serán utilizadas para conectarse a otras bases de datos más robustas.

Ya en un próximo post hablaré un poco de cómo usar la H2 ;)

Referencias:
Wiki - Embedded database
Wiki - Comparison of relational DB
H2 Database Engine
HSQLDB - HyperSQL

domingo, 5 de septiembre de 2010

Screen: múltiples consolas en sólo una ventana

Hace mucho que quería escribir sobre este comando, pero se me había quedado en el tintero así que lo hago ahora :P

El "screen" es un comando que sirve para virtualizar consolas y guardar aquellas que se encuentren abiertas. La mejor utilidad se puede encontrar cuando uno se conecta por ssh a algún computador remoto y zas! múltiples consolas en tan solo una conexión! :D Por qué tanta alegría? cuando se trabaja desde windows por lo general se utiliza algún programa como el putty, teniendo que ejecutarlo cada vez que se necesite tener una segunda ventana, sin embargo, si utilizamos el comando screen, con una ventana nos es suficiente ;)
Para hacer una idea de lo que hablo podemos imaginar al screen como el firefox y sus pestañas, se tiene la base (firefox) y por cada página una pestaña; además, también se puede "guardar la sesión" al momento de cerrar pudiendo volver a cargarla la próxima vez.
Ya dicha la introducción ahora veamos cómo usarlo :)


Iniciar sesión por primera vez

Ejecutar el comando "screen". Hay que hacer notar que la sesión se inicia en la misma carpeta desde donde se ejecutó el comando screen, por lo que todas las ventanas que se creen en la sesión actual cargarán la misma ruta inicial. Por ejemplo, si la ruta donde se ejecuta el comando es en "/var/log/" (pwd = /var/log/), todas las nuevas ventanas que se agreguen comenzarán en "/var/log/" y no en la raíz del usuario.
Ya estando dentro de la sesión de screen, se pueden ejecutar ciertos comandos para hacer varias cosas. Todos los comandos comienzan con "ctrl+a" seguido de la opción a utilizar, es decir: presionar "ctrl" junto con la "a", soltar las teclas y luego escribir la letra que corresponda al comando.
Las combinaciones que más utilizo y algunas otras útiles son las siguientes:

* Crear nueva ventana -> ctrl+a c

* Cambiar de ventana
Acá existen varias formas de hacerlo:

- ctrl+a " <-- muestra el listado de ventanas abiertas. Para seleccionar una ventana hay que moverse con las flechas y presionar enter sobre la ventana elegida
- ctrl+a n <-- cambia a la ventana siguiente
- ctrl+a p <-- cambia a la ventana anterior
- ctrl+a [nro de ventana] <-- cambiar a una ventana específica según posición. Las posiciones comienzan en 0. Por ejemplo: ir a la tercera ventana = ctrl+a 2

* Guardar la sesión actual y salir -> ctrl+a d
La utilidad de guardar una sesión viene dada por el hecho de que al guardar la sesión se guardan todas las ventanas y lo que ahí se estuviera ejecutando.
Al recargar una sesión guardada se carga todo tal cual como estaba al momento de guardar. Esto es especialmente útil cuando se están editando varios archivos, dado que nos evitamos el tener que volver a abrir todo la próxima vez que sigamos trabajando en ellos.

Iniciar una nueva sesión sin perder alguna existente
Sólo hay que iniciar sesión desde cero con el comando "screen"
$ screen

Finalizar sesión
Para finalizar la sesión, sin guardar, sólo hay que cerrar todas las ventanas abiertas. Ejecutar "exit" o "logout" en cada una.


Cargar sesión previamente guardada
Parar cargar cualquier sesión, se debe ejecutar el comando más la opción "r".
$ screen -r
En el caso de que se encuentren varias sesiones guardadas, aparecerá un listado con todas las existentes. Un ejemplo de sesiones creadas sería:

$ screen -r
There are several suitable screens on:
17818.pts-0.box220 (Detached)
19712.pts-0.box220 (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

Tal como sale ahí, para iniciar una sesión específica del listado habría que ejecutar la recuperación + el nombre de la sesión a cargar. Por ejemplo:

$ screen -r 19712.pts-0.box220

Soltar sesión que se encuentra "tomada"En el caso de que exista algún corte de conexión y se nos corte la comunicación con el servidor no perdemos lo que teníamos abierto, pero al volver a conectarse y tratar de recuperar la sesión con screen -r nos aparecerá un mensaje de error ya que la sesión "aparentemente" se encuentra en uso... es en estos casos donde aparece la opción "-d".
La opción -d nos sirve para liberar una sesión que se encuentra tomada, pero su mayor uso es en combinación con la opción -r.
Para recargar la sesión en la que nos encontrábamos antes de que se produjera el corte sólo debemos escribir:

$ screen -dr

En el caso de que exista más de una sesión abierta, se debe utilizar los mismo que detallo en la parte de "cargar una sesión guardada" (ver más arriba).

Otras cosas útiles

- ctrl+a A <-- asigna un nombre a la ventana actual
- ctrl+a [ <-- copiar texto en el bufer de screen
Con esta opción se puede copiar algún texto desde el editor que se esté utilizando y luego pegarla en otra ventana (si es que es muy práctico esto!). Para comenzar a copiar hay que moverse con los cursores por la pantalla y presionar la barra espaciadora justo en el punto desde dónde se iniciará la copia, luego para finalizar hay que presionar enter en el punto "hasta" donde se quiere copiar.
- ctrl+a ] <-- pegar el texto del bufer de screen

Configurar la carga de screen

Aparte de lo que comenté anteriormente, es posible configurar varias cosas para "screen" ingresando comandos en el archivo llamado ".screenrc" que se debe dejar en la raíz de la cuenta del usuario que ejecuta el comando.
No me acuerdo qué significa cada comando, así que copiaré como ejemplo el contenido de un archivo que utilizo algunas veces:

startup_message off
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'
activity ''

Ese código deja una línea fija en la parte de abajo, mostrando el listado de ventanas abiertas, cuál se está utilizando actualmente y la fecha y hora del servidor.


Lo que encuentro excelente de todo esto, es que es posible conectarse por ssh, iniciar una sesión screen, trabajar todo lo que se pueda, guardar la sesión, cerrar el ssh y después podemos cargar nuevamente la sesión de screen desde donde queramos: otra sesión ssh, el mismo computador, etc.
Es más, si estamos trabajando con screen y se corta internet o la luz, no importa! podemos recargar la sesión de screen cuando nos volvamos a conectar :D
También es práctico cuando se cargan las X, evitas tener muchas ventanas de consolas en la pantalla (xterm, gnome-terminal, etc), pudiendo tener sólo una cargada ocupando espacio y todas las demás de forma virtual.

martes, 17 de agosto de 2010

//Nota mental: Comentarios y límites de consultas en SQL

Como hace mucho que no publico nada por falta de "unión de computadores" -la info en uno y yo en otro xD-, hago una publicación rápida para comenzar con mis entradas del tipo "nota mental", que en realidad son sólo recordatorios de cosas que voy utilizando y que cada cierto tiempo se me olvidan teniendo que volver a buscar cómo se hacía por no usarlas durante un buen rato... lo sé, memoria de pez :P.
Dejando la intro de lado, ahora lo que venía ;)

Comentarios en SQL
  • MS SQL Server: Agregar "--" antes de la línea o utilizar /* ... */ para textos de más de una línea.
  • Oracle: Agregar "--" antes de la línea o utilizar /* ... */ para textos de más de una línea.
  • MySQL: Agregar "#" antes de la línea (este es el método seguro y menos complicado), o bien, utilizar /* ... */ para textos de más de una línea.
Un detalle a agregar, en MySQL también se aceptan los comentarios del tipo "--", pero eso puede traer algunos problemas con algunas sentencias matemáticas. Ver Empezar comentarios con "--" (MySQL)

Limitar consultas en SQL

  • MS SQL Server: Utilizar sentencia "TOP"
Ejemplo: Seleccionar los primeros 5 registros de una tabla

SELECT TOP (5) *
FROM tabla
;
  • MySQL: Utilizar sentencia "LIMIT"
Ejemplo: Seleccionar los primeros 5 registros de una tabla


SELECT *
FROM tabla
LIMIT 5
;


Referencias:
Sintaxis de comentarios - MySQL
Sintaxis de comentarios (--) - SQL Server
Sintaxis de comentarios (/* */) - SQL Server
Uso de LIMIT en consultas - MySQL
Uso de TOP en consultas - SQL Server (Transact-SQL)
.
Editado para agregar formato de comentarios en oracle.
.

domingo, 23 de mayo de 2010

Google celebra los 30 años de Pac-Man

Este año Google recordó la celebración del aniversario de Pac-Man de una forma muy entretenida. Como es sabido google cambia su logo con alguno referente a la celebración del día, pero en esta oportunidad fueron un poco más allá y pusieron el primer logo interactivo del que tengo memoria... una versión de pac-man para jugar! :D
Así es como se ve:

Según leí por ahí el logo estará durante dos días -lo habitual es sólo uno- esto para que más de alguno recuerde viejos tiempos, por mi parte ya caí y lo jugué un par de veces xD

Si se fijan, el botón de "voy a tener suerte" fue reemplazado por "insertar moneda", con esa opción pueden jugar hasta 2 usuarios a la vez, uno con las flechas y el otro con las teclas "wasd".

Mis felicitaciones a google por este entretenido logo ;)

Referencias:
Alt1040 - Google celebra el 30 aniversario de Pac-Man
WikiPedia - Pac-Man

PD: Interesante esto, revisando wikipedia me acabo de enterar que el nombre de "Pac-Man" proviene de "Pakku Man" por una onomatopeya japonesa... más info en el enlace de wikipedia ;)
-