1password gratis

Gracias a los chicos de MacHeist he conseguido una licencia gratuita de 1Password, una aplicación para gestionar contraseñas en el Mac. La cosa comenzó con un post en Applesfera donde decía que MacHeist regala software por Navidad. Seguí las instrucciones del artículo y entré en el enlace indicado, me apunté y pude elegir entre varias aplicaciones. Al darles la primera mirada vi el icono de 1password y no dudé en elegirla, ya que era una aplicación que pensaba comprar en breve. El precio de la aplicación es de 39,95$ que me he ahorrado.

Cuando hice la petición del programa me llegó un correo con la licencia y una explicación del motivo por el cual regalan la aplicacación. Deben estar finalizando una nueva versión y al regalar la actual esperan que muchos de los que reciben el regalo actualicen a la próxima versión. No deja de ser una manera de ampliar el número de usuarios de la aplicación, pero no se que novedades puede traer la nueva versión, pues la que ahora mismo tengo está muy pero que muy completa.

Una de las características de 1Password es que se integra con los navegadores, de manera que puedes guardar las contraseñas de los sitios web donde estás registrado en el programa y accedes usando la contraseña maestra del programa. Esto lo hace creando un botón nuevo con el símbolo 1P y que permite acceder al programa.

El programa es realmente bueno y se nota las horas de trabajo que lleva detrás.

Yo tengo un programa de gestión de contraseñas para Windows llamado Colossus y claramente tengo que decir que 1Password me parece mucho mejor que Colossus. 

declutter, la palabra de moda

Una de mis grandes manías tiene que ver con el entorno de programación, con el sitio físico donde realizo mi trabajo. Intento ser organizado en mi estudio, controlar el caos de mi mesa de trabajo y las estanterías donde guardo libros, apuntes, papeles y revistas. Algunos de mis programas nacieron con la intención de intentar organizar este caos, como es el caso de Cuaderno de Bitácora y Azeta, pero muchas veces más que una herramienta lo que se necesita para ser organizado es una actitud mental. Por eso, de un tiempo para acá leo algunos blogs sobre productividad personal que tratan sobre el tema. En castellano mis preferidos son El Canasto, Hábitos Vitales, IQ vital y El inconformista. Hay un concepto recurrente en estos blogs que es el de intentar simplificar los aspectos relacionados con el trabajo y la vida. Este simplificar no se refiere unicamente a hacer algo mas sencillo, sino a eliminar todo lo innecesario. Como es habitual los americanos llevan el decluttering al paroxismo y aplican este concepto a todos los órdenes de la vida, desde la organización doméstica a las relaciones personales.Volviendo al tema de la programación podemos hacer decluttering de muchas maneras, desde refactorizando nuestro código fuente a ser organizado con la instalación de nuestro PC. Algunas ideas para este decluttering de nuestro PC son las siguientes:

  • Instala unicamente aquellas aplicaciones que vayas a usar.
  • Utiliza unicamente un programa de cada categoría: editor de código, procesador de texto, etc.
  • Desinstala aquellas aplicaciones que no hayas usado en un periodo grande de tiempo, por ejemplo en los últimos tres meses.
  • Usa un sistema rápido de recuperación para instalar rapidamente aquellas aplicaciones que necesites.
  • Ten una estructura de carpetas organizado por temática que te permita localizar rapidamente lo que buscas.
  • Ten un escritorio despejado, sin sobrecargarlo de iconos. El escritorio de mi PC está organizado en carpetas, que son las mismas desde hace años, y dentro están los accesos directos a las aplicaciones que uso. Uno de mis escritorios.
  • Utiliza un lanzador de aplicaciones. Contribuirá a mantener despejado tu escritorio.
  • Realiza limpiezas periódicas de tu PC con herramientas como CCleaner u Onyx.

mediaboxAdvanced

 En mi anterior entrada comentaba que en la nueva web quería mostrar los pantallazos de las aplicaciones mediante un efecto de lightbox. Estuve probando lightbox y slimbox y los dos me gustaron. El problema vino a la hora de mostrar videos de una manera similar. El motivo de querer mostrar videos es por mostrar la potencia del autocompletado, que es la nueva funcionalidad de los programas.Estuve probando videobox, pero no conseguí hacerlo funcionar al mismo tiempo ni lightbox ni con slimbox. Por lo visto hay problemas entre las versiones de mootools que usa videobox y slimbox, y entre videobox y lightbox porque usan eventos similares para cosas distintas y hay conflictos entre ellos. Como no soy un experto en javascript me puse a buscar una librería que ofreciera la funcionalidad conjunta, mostrar imágenes y videos con el efecto de lightbox, y encontré mediaboxAdvanced que ha resultado ser la solución a todos mis problemas. Permite mostrar imágenes, videos y otros elementos de la manera que yo quiero.De momento he probado a subir el video del autocompletado a YouTube, pero le cambia la resolución a una menor a la original del video con lo que se pierde calidad. Tengo que probar con otros sitios de almacenamiento de videos para ver de mostrar el video a la resolución original sin que pierda calidad.Como primicia para los lectores del blog, aquí teneis el video del autocompletado en Cuaderno de Bitácora.

[youtube]http://es.youtube.com/watch?v=AXG7MH-oUkI[/youtube]

compilación condicional

La compilación condicional es una característica de los lenguajes que usan preprocesador y permite incluir un determinado trozo de código en la compilación en función de una directiva de compilación.  En xHarbour podemos definir una directiva de compilación usando el flag -d al invocar al compilador, de esta manera:

xharbour miprograma.prg -d__directiva__

Dentro de nuestro programa usaremos la sentencia #ifdef para indicar que acción ejecutaremos en caso de tener definida la directiva de compilación:

#ifdef __directiva__Accion1() #else Accion2() #endif

Si al compilar el programa tendremos definida la __directiva__ en el ejecutable unicamente se incluirá la llamada a Accion1(), mientras si no la tenemos definida sólo se incluirá la llamada a Accion2().La pregunta del millón es: ¿ en que difiere esto de usar una variable de nuestra clase aplicación o una variable global ? Pues que si hacemos esto estamos dejando rastro de lo que hacemos, en el ejecutable se incluye la sentencia condicional y se ejecuta cada vez que corre la aplicación. Con la compilación condicional no introducimos la sentencia condicional en el ejecutable, sino unicamente la acción deseada en función de si la directiva está o no presenteal compilar.Usando la compilación condicional es muy sencillo crear versiones distintas de un mismo programa con un mínimo esfuerzo, con la particularidad de que no dejamos ningún rastro en nuestro programa de que tenemos distintas versiones del mismo.

buscando un cms ligero

He decidido rehacer el sitio de alanit por completo, pero quiero hacerlo usando un gestor de contenidos. Por ello estoy buscando un gestor de contenidos ligero, orientado a hacer un sitio web completo mas que orientado a blogging. No quiero meterme con Drupal o Joomla, porque mi intención es hacer una web muy ligera, sin mostrar detalles de los programas sino simplemente presentarlos y dar opción a descargarlos. De momento estoy mirando temas para WordPress, que es el gestor de contenidos que más conozco, pero quiero mirar también otras alternativas. He descubierto la web AyudaWordpress y con ella estoy aprendiendo un montón de cosa, como el Manual CSS cajas coloreadas y el plugin Contact Coldform.El motivo de rehacer la web es debido a que después del verano espero tener listas nuevas versiones de los programas, al menos de Cuaderno de Bitácora y Findemes, y quiero introducir modificaciones en la manera de distribuir los programas. Así que atentos, que se aproximan novedades.

dos to-do list interesantes

Estas últimas semanas he estado probando dos programas para gestionar listas de tareas que me han llamado la atención. Y lo han hecho no por sus funcionalidades, sino por las herramientas con las que están hechos los programas.

El primero es Simple Task v2 que está hecho con Ext JS, que es un framework RIA pero se ejecuta sobre la plataforma Adobe AIR.

La segunda aplicación es TodoPaper, que sigue la estela de aplicaciones GTD minimalistas al estilo de TaskPaper. Lo que me ha llamado la atención es que está hecha con Python y la librería multiplataforma wxPython, que era la recomendación que me hizo Daniel Ribes en el post sobre REALbasic.

REALbasic

Cuando compré el iMac comencé a mirar como programar para OS X. Uno de los entornos de desarrollo disponibles que me llamó mucho la atención fue REALbasic, que es un producto con unas capacidades fuera de lo común, consistentes en poder realizar software multiplataforma simplemente compilando un proyecto dado indicando la plataforma para la cual se quisiera tener el ejecutable. REALbasic puede generar aplicaciones para entornos Windows, Mac y Linux. El entorno es un IDE no muy pesado, con unas opciones claras y bastante sencillo de utilizar. El lenguaje que utiliza es una evolución de BASIC orientado a objetos y el acceso a datos puede ser con una versión propia de SQLite o bien se puede conecta a distintos servidores SQL.

REALbasic es un producto comercial desarrollado por una empresa llamada REALsoftware y con sede en Austin – Texas. Existen dos versiones de REALbasic, una standard y otra denominada profesional. La edición standard incluye en entono de desarrollo en una de las plataformas soportadas, la generación de ejecutables para esa plataforma y el acceso a bases de datos SQLite. El precio de la edición standard es de 75 € en las versiones para Windows y Mac. La edición standard para Linux es gratuita. La edición profesional sí permite realizar ejecutables para las tres plataformas soportadas y añade además conectividad con diversos motores de bases de datos relacionales, encriptado AES 256 para la base de datos SQLite, depuración desde un equipo remoto, controles contenedores, auto-detección de aplicaciones en red, sockets y soporte de SSL. La edición profesional cuesta 400 €.

Desde mi punto de vista el entorno tiene carencias, sobre todo la falta de un generador de informes aunque existe un componente de terceros denominado On-Target Reports que cuenta con conexión para su uso con REALbasic. Sin embargo, lo que menos me gusta de REALbasic es su modo de distribución: cada tres meses lanzan una versión del producto, empaquetando en ese momento las funcionalidades que tienen disponibles. No hay un planning de versiones que diga qué estan haciendo o que características van a implementar en cada versión sino que lo anuncian un par de semanas antes de lanzar cada versión. Cuando compras una licencia tienes derecho a actualizaciones durante seis meses, y luego hay un plan de actualizaciones que sale más económico que ir pagando cada vez. Uno de los puntos fuertes de REALbasic es su documentación. El producto se entrega con varios manuales muy completos y multitud de programas de ejemplo.

Uno de los puntos a favor de REALbasic es cuenta con una comunidad bastante activa. Existen unos foros donde los programadores comparten experiencias y plantean problemas que encuentran en sus desarrollos. Existen multiples componentes de terceros que añaden extensiones y funcionalidades al entorno de desarrollo, entre los que destacan los plugins de Monkeybreadsoftware. El contrapunto de los plugins comerciales se encuentra en RBDevZone que aglutina tanto noticias sobre REALbasic y plugins gratuitos. También hay una publicación bimensual llamada RBdeveloper y recientemente se ha formado la Asociación de Profesionales de REALbasic.

Hay muchos blogs en inglés de desarrolladores de REALbasic, pero no he encontrado apenas sitios en castellano que hablen sobre este entorno de desarrollo. Mi intención es usar la versión de evaluación hasta conseguir un cierto dominio del lenguaje y realizar algún pequeño programa para uso personal. Si esto fructifica compraré la edición standard para Mac y liberaré los programas como software libre.

a vueltas con los libros de programación

El lanzamiento de StackOverflow, el nuevo proyecto conjunto entre los supergurús Joel Spolsky y Jeff Atwood ha recibido varios post de sus autores a modo de justificación. No cuentan exactamente en que va a consistir el sitio, pero si que es un sitio de preguntas y respuestas que va a estar relacionado con el aprendizaje de la programación. Según Spolsky los programadores hemos dejado de leer libros y el mercado de libros es muy pequeño comparado con el creciente número de programadores. Atwood da una vuelta de tuerca más, justificando ese bajo nivel de lectura en varios motivos como el bajo nivel de los libros que se editan actualmente, la inversa relación entre calidad y número de páginas, y el abuso de la formula aprende en 24 horas.

Creo que problema no es tanto la mala calidad de los libros de programación, sino el tipo de libros que se editan. A groso modo yo hago la siguiente división entre libros relacionados con la programación:

  1. Libros específicos. Son los libros de lenguajes o de sistemas. Cuando los compras sabes que están destinados a quedar obsoletos en un cierto tiempo, pero los necesitas para el día a día o bien para aprender algo nuevo. La mayoría de libros que se publican pertenecen a esta categoría, y son los que se compran más habitualmente, pero también son los más facilmente reemplazables por tutoriales o por manuales descargados de internet. Los últimos libros que he comprado pertenecen a esta categoría, y son  Mac OS X Leopard y Beginning REALbasic aunque con este último se me ha ido la mano. En otro post contaré porqué.
  2. Libros de metodologías. Desde los clásicos de ingeniería de software a los de metodologías, UML o pruebas de software.
  3. Los libros de buenas prácticas. Aquí englobo desde los libros de diseño de interfaces, Peopleware, Pragmatic Programmer, No me hagas pensar y similares. Este grupo de libros es cuantitativamente mucho menor que los anteriores y se editan pocos libros de este tipo. Para mi la falta de este tipo de  lecturas es la gran carencia de la mayoría de los programadores.
  4. Libros de temas colaterales. Si quieres dedicarte a vender software debes aprender de cosas como economía, marketing e incluso sociología. Ultimamente se han puesto muy de moda libros de economía como Freakonomics o El economista camuflado. Precisamente estoy leyendo este último y el próximo que tengo ya comprado para leer es La economía Long Tail, que creo que es casi de lectura obligatoria para cualquiera que se dedique a vender algo en internet.

Yo no tengo nada claro cual es el problema con los libros de informática en Estados Unidos, pero si que hay cosas que me llaman la atención sobre el mercado de los libros de informática en España. Lo primero es que la mayoría de libros editados son del grupo 1 y 2 citados anteriormente. Apenas hay libros del grupo 3 editados en castellano, y si quieres leer alguno lo tienes que hacer inevitablemente en inglés, y esto es algo que no entiendo porque los libros de este grupo no tienen una caducidad tan acusada como los libros de lenguajes o metodologías. Los libros del grupo 4 sí se traducen en su mayoría, pero por editoriales que no editan libros de informática. Sobre las editoriales que editan libros de informática casi mejor ni hablar. No se quien elegirá los titulos a publicar pero desde luego a mi me parece alucinante la proliferación de títulos sobre Photoshop y otras herramientas de diseño gráfico. Se ve que se venden bien, porque todos los meses hay novedades sobre la versión 200X HIJK del programa de marras. Pero lo de traducir los libros de buenas prácticas ni se les pasa por la cabeza.Así que entre una cosa y otra no queda más narices que ir a morir a Amazon, donde por cierto en vez de ir a comprar libros a veces parece que vaya a pescar. Muchas veces puedes encontrar libros a menos de un tercio de su precio de tarifa, con lo que antes de comprar un libro siempre hago varias incursiones para ver su cotización. Ahora mismo mientras escribo esto he comprado un libro de 39,95$ por 11,95$, con lo que puesto en casa me cuesta al cambio menos de 16€. En España los precios de los libros son fijos, y no conozco ningún sitio donde hagan descuentos con lo que todavía te puedes encontrar libros de Windows98 a su precio original.

lanzadores de aplicaciones

Un lanzador de aplicaciones es basicamente una alternativa al menú de inicio de Windows o a la carpeta de aplicaciones de OS X y permite arrancar aplicaciones mediante el teclado. Es un programa residente que se activa con una combinación de teclas y mientras escribimos el nombre de la aplicación que queremos arrancar nos muestra una lista de aplicaciones candidatas por ese nombre. Es un tipo de aplicación que no se usa habitualmente, pero que una vez te acostumbras a usarla se te hace comodísima.Comencé a interesarme por los lanzadores de aplicaciones cuando tuve mi iMac. Enseguida me di cuenta de que una de las aplicaciones que más pasión suscitaba entre los maqueros era una llamada QuickSilver. La primera idea que uno se lleva de QS es que es un lanzador de aplicaciones, pero con esta aplicación se pueden hacer muchas cosas más como manipular ficheros y aplicaciones. En la web de los desarrolladores de QS hay un montón de enlaces a tutoriales que explican como sacar todo el provecho de la aplicación, y se puede hacer con ella cosas tremendas. Yo la uso a un nivel muy básico, pero QS me ha permitido no usar el dock como lanzador de aplicaciones y tenerlo despejado, con unicamente las aplicaciones que tengo en funcionamiento.

Lo más parecido a QS que he encontrado para Windows ha sido Launchy. No es tan potente ni versátil como QS pero cumple su cometido. Lo único reseñable es que a diferencia de QS, a Launchy hay que ayudarle para que haga bien su cometido aunque la verdad es que los problemas con que se encuentra son culpa de Windows . Mientras que en Mac las aplicaciones tienen que estar en la carpeta Aplicaciones del Finder, en Windows las puedes tener en cualquier carpeta del disco duro y se pueden haber añadido a la carpeta de programas del menú inicio o no. De ahi viene la necesidad de configurar las rutas en que Launchy tiene que buscar los programas, pero una vez hecho esto el programa funciona a la perfección. El aspecto visual de Launchy tampoco está tan logrado como QS, pero algunos de los skins que trae son agradables.A mi nunca me han gustado los escritorios llenos de iconos, como tampoco me gustan las mesas llenas de papeles. Pienso que es imposible encontrar un icono cuando hay docenas de ellos en el escritorio colocados sin ningún criterio ni orden. Siempre he tenido un escritorio lo más despejado posible, con unas pocas carpetas que contienen accesos directos clasificados por temas. Con los lanzadores de aplicaciones estoy reduciendo drasticamente el contenido del escritorio y cuento con una manera fácil y cómoda de acceder a las aplicaciones.

cleartype y fuentes para programar

Una de las cosas que me disgusta es ver un PC con Windows que tiene las fuentes borrosas. El motivo habitual es que se le ha cambiado la resolución de pantalla a mayor, porque con la resolución óptima las letras son muy pequeñas. Las letras en monitores LCD se ven en condiciones óptimas al máximo de resolución que admiten, y si les cambias la resolución a mayor entonces se ven borrosas. El motivo es que al cambiar la resolución a mayor el pixel no coincide con el tamaño de un punto de resolución y la tarjeta se las apaña a su manera para mostrar las letras de la pantalla con lo que aparecen los llamados dientes de sierra. La solución pasa por usar el sistema de anti-aliasing de Windows y poner fuentes grandes en el sistema. El anti-aliasing en Windows se ajusta mediante un powertoy llamado cleartype tuner. Con esto se consigue tener las letras más grandes y con una mejor calidad que cambiando la resolución de pantalla. En Genbeta explican como usar este powertoy.

En el mundo Mac esto es mucho más fácil. Por defecto el efecto de anti-aliasing – que en algunos sitios se traduce por suavizado o alisado – de fuentes está activado, lo cual desde mi punto de vista es un acierto. En el mundo Windows el 80{480d580d36768405d93963bdd82c570c8132a231e8d2b870ef0b18322d1f72b2} de los usuarios ni saben lo que es el suavizado de fuentes, con lo que pierden la oportunidad de mejorar la visión de su sistema. Otra cosa que llama la atención es la diferente manera en que se aplica el suavizado de fuentes en Windows y Mac. Mi admirado Spolsky habló sobre ello y también se pueden encontrar otros post interesantes sobre el tema como este de CodingHorror.Para mi la personalización del entorno de trabajo es un tema capital, y como paso mucho tiempo con un editor el tema del tipo de letra es fundamental. No es sólo tener el anti-aliasing activado, sino usar una fuente que sea clara y que facilite la lectura del código. A raiz del post de CodingHorror sobre fuentes de letra para programar comencé a usar Consolas y para mi esta fuente es imbatible. La uso tanto en Windows como Mac y para mi es elegante, clara y bonita como ninguna otra fuente que haya usado antes para programar.

alanit
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.