Múltiples escritorios en Windows

En los entornos Linux y Mac tenemos la posibilidad de tener múltiples escritorios, o escritorios virtuales, en la misma pantalla. Así por ejemplo podemos disponer de aplicaciones diferentes en cada uno de éstos e intercambiar el escritorio visible con una rápida combinación de teclas (Ctrl + cursores en Mac, Crtl + Alt + cursores en Linux). La verdad, es una tontería que va muy bien de cara a aumentar nuestro rendimiento.

Windows no dispone de algo así, y la única opción de la que disponemos es… comprar otro monitor. Pero gracias a la aplicación que hoy os comento añadiremos ésta característica a nuestro Windows, haciéndonos la vida más fácil: ¡basta de minimizar ventanas hasta encontrar la que nos interesa!

Seguir leyendo «Múltiples escritorios en Windows»

Recopilación de las diapositivas de SpainJS 2013 (Slides Compilation)

Un año más, los días 5 y 6 de Julio se ha celebrado el evento SpainJS 2013, esta vez en la Universidad Pontificia de Salamanca (Madrid). Se trata de una conferencia de desarrolladores de JavaScript con un enfoque internacional, con el inglés como lengua oficial.

For another year, on July 5th and 6th was held SpainJS 2013, this time at the Pontifical University of Salamanca (Madrid). It’s a JavaScript developer conference with an international focus, with English as the official language.

Al igual que hice el año pasado, recopilo los links a las slides de las charlas, que también se pueden encontrar en su página correspondiente de Lanyrd.

As I did last year, I collect the links to the slides of the talks, which also can be found on the corresponding page of Lanyrd.

Talks:

Workshops:

Edit: See event’s photos at Eventifier.
Edit: Reviews

Me parece genial que se promuevan iniciativas como ésta, y con el enfoque internacional que tiene. Espero que siga muchos años, y espero también poder asistir en un futuro.

I feel it’s great that such initiatives are promoted, and also the international focus it has. I hope it continues for many years, and I also hope to attend in the future.

Muchas gracias a los organizadores, a todos los ponentes, y a todos los asistentes que hacen posible que estos eventos sean viables.

Thank you very much to the organizers, all the speakers and all the attendees who make it possible for these events to be viable.

Cómo comparar archivos y carpetas con el comando diff de Unix (Mac, Linux)

Tengo que reconocerlo: soy un fan de la línea de comandos. De la de Unix sobre todo (Linux y Mac). Aún me resulta increíble lo sencillo y rápido que es hacer las cosas con ella, evitando tener que abrir programas que tardan un mundo en cargar para hacer lo mismo. Siempre que sepas, claro.

En un post anterior hablé del programa Diffmerge, que permite hacer lo que pone en el título de la entrada: comparar archivos o carpetas. Y además es multiplataforma: Windows, Linux y Mac. Y viendo que es una entrada bastante visitada, y al leer un post en Lifehacker, me decidí por escribir ésto que estás leyendo.

Seguir leyendo «Cómo comparar archivos y carpetas con el comando diff de Unix (Mac, Linux)»

Curso de jQuery (II): Selectores básicos ampliados

En éste post del curso de jQuery veremos más usos de los selectores básicos, ampliando lo que ya vimos en la entrega anterior, y empezaremos a entrever la potencia que nos ofrece para manipular los elementos de nuestra página.

Seguir leyendo «Curso de jQuery (II): Selectores básicos ampliados»

Cómo hacer capturas de pantalla en Ubuntu, Mac OS X y Windows (desde el teclado)

"captura" de pantalla

Muchas veces nos encontramos con la necesidad de efectuar una captura de pantalla, o «tomar una foto» de ésta o de una zona, para insertarla en un documento, enviarla por correo electrónico, o para cualquier otra cosa. Para ello, muchos usuarios descargan e instalan aplicaciones creadas para tal fin.

Pero aún hay mucha gente que desconoce que todos los sistemas operativos permiten hacerlo sin tener que instalar nada, de manera nativa. Vamos a ver qué opciones tenemos, en el caso que utilicemos Windows, Mac o Ubuntu (Linux):

Seguir leyendo «Cómo hacer capturas de pantalla en Ubuntu, Mac OS X y Windows (desde el teclado)»

Curso de jQuery (I): Selectores básicos

JavaScript está de moda, eso es un hecho. Y esto es así debido a librerías como jQuery, que simplifican mucho la forma de trabajar con él. Todo lo que se puede hacer con jQuery se puede lograr también con JavaScript directamente, pero teniendo que teclear mucho más código y sufriendo adaptándolo para que funcione en todos los navegadores; jQuery nos libera de ésto y de mucho más.

No soy ningún experto en jQuery, ni mucho menos, pero con este pequeño curso básico intentaré enseñar, de manera práctica, a dar los primeros pasos y de paso pondré en orden lo que he aprendido hasta ahora. Iré mezclando jQuery y también jQueryUI, mostrando cosas básicas de uno y cómo trabajar con controles del otro.

En éste primer post veremos cómo utilizar los selectores básicos de jQuery para interactuar con los diferentes elementos de una página HTML. En la siguiente entrada mostraré otros selectores más avanzados, para no hacer de cada entrada un libro. Pero lo primero de todo es saber cómo incluir jQuery en nuestra web, y qué opciones tenemos. Vamos a ello:

Seguir leyendo «Curso de jQuery (I): Selectores básicos»

Emprendedores: Los nueve puntos que debe cumplir un proyecto

Me estoy leyendo el libro la aventura de emprender, de Ángel María Herrera, un libro muy recomendable y motivador en el que narra sus experiencias a la hora de crear sus empresas, entre ellas bubok, un portal para que los escritores puedan autoeditar sus obras. Y hablo de este libro porque aparece una idea que encuentro extremadamente interesante y que quiero compartir y recordar, con el permiso de su autor.

La idea en sí es un comentario que le hizo Antonio González-Barros, uno de sus inversores, y que se reduce a que un proyecto o idea debería cumplir los nueve puntos siguientes para tener éxito:

Seguir leyendo «Emprendedores: Los nueve puntos que debe cumplir un proyecto»

Javascript: Conocer si una variable u objeto existe (diferencia entre null y undefined)

Actualizado: Si trabajas con jQuery y quieres saber si un selector existe en la página, revisa esta entrada.

Trabajar en Javascript implica, entre otras cosas, acceder a variables y objetos. Y siempre que accedemos a éstos nos hemos de asegurar de que existen, o correremos el riesgo de provocar un error que impida que se ejecute el resto del script.

Javascript tiene dos formas de avisarnos de que algo pasa con la variable u objeto al que deseamos acceder: las palabras null y undefined. La diferencia entre ambas radica en que mientras que undefined nos informa que el objeto o variable no está definido, null es un objeto vacío. Entonces, un objeto o variable contendrá algún valor, o será null o undefined. Pero, ¿cuándo es null y cuándo undefined? El siguiente ejemplo nos lo dejará más claro:

Seguir leyendo «Javascript: Conocer si una variable u objeto existe (diferencia entre null y undefined)»

Transacciones en Grails: cómo aplicar Commit y Rollback

Las bases de datos se operan mediante sentencias, generalmente SQL, si la base de datos es relacional. Una sentencia es una operación que se aplica sobre uno o varios registros, y dicha sentencia puede tener éxito (modificándose la base de datos) o no (no se modifica la base de datos).

A diferencia de una sentencia, una transacción es un conjunto de sentencias diferentes que se envían a una base de datos y que se ejecutan en lote. Pero cualquiera de las sentencias pueden fallar, y es posible que no convenga que si falla una se guarde el resto.

Para evitar que esto ocurra, se suelen utilizar las sentencias begin transaction para indicar el inicio de la transacción, commit para confirmar los cambios si todo ha ido bien, y rollback, para descartar todos los cambios si se ha producido algún error.

Pero en Grails no existen estas sentencias, así que en este post voy a mostrar cómo podemos realizar una transacción que se confirme si todo va bien, o se rechace si hay algún problema.

Seguir leyendo «Transacciones en Grails: cómo aplicar Commit y Rollback»

Cursos online gratuitos: Python y Ruby

Iniciarse con un nuevo lenguaje de programación puede ser una tarea costosa que requiere de nuestro tiempo libre e incluso de una inversión monetaria inicial (comprar un «libraco»), por lo que echa para atrás a más de uno.

Pero imaginemos que en lugar de ser así, aprender un nuevo lenguaje fuera un juego: la cosa cambiaría bastante, y mucha gente que a priori no se embarcaría en tan magna tarea lo haría ahora con ganas.

Ésa es la idea que han tomado los chicos de codecademy y codeschool al proponernos dos magníficos cursos introductorios a Python y a Ruby, en los que podremos iniciarnos en la sintaxis y control de flujo básicos de estos lenguajes, haciendo los ejercicios que nos proponen en el mismo navegador, como si de niveles de un juego se tratara, y viendo nuestros resultados instantáneamente.

Code Cademy:Python
Code School: Try Ruby