gulp.js y sus tareas

Hace poco les hable de como integrar Grunt con Font Awesome, y desde entonces me tope con gulp.js, que hace lo mismo que Grunt pero mas rápido y sencillo :D

Integrándolo en un proyecto para probarlo me tope con un dilema. Hay ciertas tareas que solamente quiero correr cuando estoy desarrollando y otras cuando estoy preparando para subir a producción. En grunt lo hacia usando distintas tareas con diferentes opciones cada una:

De este modo tenemos un CSS comprimido (grunt build) listo para subir al servidor, y cuando estas desarrollando (grunt), el CSS sin comprimir y ademas se queda vigilando por cualquier cambio que se haga para volver a compilarlo.

Con  gulp podemos conseguir algo similar usando gulp-if:

Es bastante sencillo. Toma de parámetro una condición y una tarea a correr y solamente hay que pasarle un parámetro a la hora de llamarlo: gulp build --type production. No está mal, pero si la tarea build es la única que corro cuando quiero preparar el código para producción, encontre un modo mas sencillo:

¡Y listo! Con solo eso, me basta correr gulp o gulp build para diferenciar cuando es desarrollo y producción, sin parámetros extra. Al final queda algo similar a esto:

Espero les sirva :)

Café Pendiente

Café Pendiente

Hace tiempo me encontré esta historia y me pareció una gran idea, aunque no lo pensé mucho mas. Hace unas semanas me tope con Café Pendiente, que es la iniciativa de la imagen aquí en México.

Como ahorita ando trabajando desde casa, estoy buscando lugares cómodos para distraerme de estar en un solo lugar y, aprovechando, comer/tomar algo rico. Así que en medio de esta búsqueda el día de ayer fui a algunos cafés que participan en el Café Pendiente, y según me dicen funciona bastante bien. Hay varias personas que lo pagan y otros tantos que van por el, sobretodo en las mañanas y noches (comprensible con el frío que esta haciendo).

Claro, me tome mi café y deje pagados unos pendientes. No cuesta mucho y ayuda a otros :)

 

Usar Font Awesome con Grunt

Parte de lo que ando haciendo últimamente con Laravel incluye el manejo de assets, y aunque hay algunos paquetes para el manejo de estos dentro de Laravel, la mejor opción parece ser usar Bower y Grunt, y la verdad es una maravilla.

En el proyecto con el que ando trabajando quiero usar Font Awesome para aprovechar la variedad de iconos que trae, y para eso necesitamos tanto el CSS (o SCSS en mi caso) como las fuentes que trae.

Primero que nada es instalar los assets con Bower, nuestro .bowerrc
es:

Y el bower.json:

Con esto corremos un bower install y esperamos que descargue los componentes. Para compilar el SCSS usamos el modulo grub-contrib-sass con la siguiente configuración:

En la pagina del plugin de grunt explica la configuración, pero básicamente le decimos que nos compile el archivo app.scss en app.css, y dependiendo del ambiente en que queramos, si lo compila expandido (para desarrollo) o minificado (para producción). La opcion de compass: true es debido a que estoy usando Foundation y con esto nos lee el archivo config.rb de Compass.

Dentro de mi app.scss solamente importo el SCSS de Font Awesome y listo, tenemos el CSS. ¿Y que pasa con las fuentes? Para esto uso el plugin grunt-contrib-copy, el cual como su nombre lo dice nos sirve para solamente copiar archivos. La configuración vendría siendo algo como esto:

¡Y listo! Con esto nos copia todos los archivos de la carpeta Font-Awesome/fonts a public/fonts que es la ruta por default que usa el CSS de Font Awesome (considerando que nuestro css default esta en public/css/app.css).

Espero les ayude :)

El Alma de la ciudad

Venía platicando con Diana luego de una muy rica cena y caminata, casi todo el camino al son de Panchita Disco de el increíble grupo Burocracia Cósmica:

Vamos, escúchenla. ¿Listos? Bueno. Cuando íbamos pasando por el callejón donde solemos verlos tocar los domingos, ella empezó a tararear la canción, y en ese momento comencé a sentir como si la calle tuviera vida. Los músicos, las personas moviéndose al ritmo de la canción. Todo eso estaba presente. Los edificios también sentían la energía de la música, y ellos mismos comenzaban a moverse.

Nosotros seguíamos caminando, al pasar por Bellas Artes, ella dijo que las estatuas que están ahí también empezarían a bailar. Esas gorditas sexies, el buen Juárez montado a caballo, la torre latinoamericana, el edificio de Sears, los arbustos en la plaza y los árboles en la alameda. Todo moviéndose a un mismo ritmo, acompañados de la luz de una bella luna y alimentando de energía a los que ahí estábamos.

Fue increíble. Quería dejar constancia de ello para no olvidarlo. Así como mi tatuaje me recuerda cada día que debo seguir creyendo, sin importar las veces que me caiga, quiero que esto me recuerde todas las cosas que están esperando ser descubiertas.

Fuentes en el Monumento a la Revolución

Mi cuerpo y mente están cansados, tristes, sin ánimos. Pero mi alma sigue en pie.

Adiós 2011, Hola 2012

Es curioso que de taaaaanto que escribo en este lugar, las entradas de los últimos fines de año están en la misma página xD

Este año que acaba ha sido excelente. Mucho aprendizaje, tanto en el plano profesional como en el personal. Situaciones estresantes, entretenidas, dramaticas, alegres, tristes, divertidas, aburridas, etc. Muchas de estas me han confirmado que he aprendido mucho de el pasado, que cada vez tengo mas claro lo que quiero y el modo de llegar a ello. Me han dado mucha paciencia y sobretodo, me han mostrado que rendirse no es una opción.

En el trabajo, siento que he crecido mucho. Estoy en un lugar en el que me siento muy bien y cómodo, donde trabajo con personas muy creativas y con gran capacidad de aprender y enseñar. Ha habido meses muy pesados, con muchas desveladas  y mucho estrés, pero al final todo ha valido la pena y estoy muy contento con lo que hemos hecho. Mas que eso, me siento motivado a hacer mas cosas este 2012 :)

Desgraciadamente, la misma carga de trabajo de este año causó que descuidara alguna amistades… no pude ver cuanto hubiera querido a muchas personas, pero espero organizarme mas para corregir esto en próximas fechas. Después de todo, no sería quien soy de no haber sido por todos ellos. Pero no todo ha sido malo. Ha sido algo mas de un año de vivir con mi mejor amiga, y ciertamente ha sido de las mejores cosas que he hecho en mi vida xD las pláticas, los paseos, las vueltas en bici… todo ello tan invaluable n_n

Estos últimos dias antes de el cambio de año los pasé en casa, en Durango, y creo es la primera vez que vinieron a mi tantos recuerdos de tantos años. Creo es porque finalmente empiezo a aceptar muchas cosas del pasado, principalmente para dejar entrar lo que venga en un futuro. Y el futuro, en este momento, se ve increíble.

Bienvenido, 2012.

United We Rise

Tenía este video guardado en los borradores desde hace mas de un año, y sigue siendo igual de válido que antes.

I’m sorry, but I don’t want to be an emperor. That’s not my business. I don’t want to rule or conquer anyone. I should like to help everyone, if possible, Jew, gentile, black man, white. We all want to help one another. Human beings are like that. We want to live by each other’s happiness — not by each other’s misery. We don’t want to hate and despise one another.

In this world there is room for everyone. And the good earth is rich and can provide for everyone. The way of life can be free and beautiful, but we have lost the way. Greed has poisoned men’s souls, has barricaded the world with hate, has goose-stepped us into misery and bloodshed. We have developed speed, but we have shut ourselves in. Machinery that gives abundance has left us in want. Our knowledge has made us cynical. Our cleverness, hard and unkind. We think too much and feel too little. More than machinery we need humanity. More than cleverness we need kindness and gentleness. Without these qualities, life will be violent and all will be lost.

The aeroplane and the radio have brought us closer together. The very nature of these inventions cries out for the goodness in men, cries out for universal brotherhood, for the unity of us all. Even now my voice is reaching millions throughout the world — millions of despairing men, women and little children — victims of a system that makes men torture and imprison innocent people. To those who can hear me, I say — do not despair. The misery that is now upon us is but the passing of greed — the bitterness of men who fear the way of human progress. The hate of men will pass, and dictators die, and the power they took from the people will return to the people and so long as men die, liberty will never perish.

Soldiers! Don’t give yourselves to brutes — men who despise you — enslave you — who regiment your lives — tell you what to do — what to think or what to feel! Who drill you, diet you, treat you like cattle, use you as cannon fodder. Don’t give yourselves to these unnatural men — machine men with machine minds and machine hearts! You are not machines! You are not cattle! You are men! You have the love of humanity in your hearts. You don’t hate! Only the unloved hate — the unloved and the unnatural!

Soldiers! Don’t fight for slavery! Fight for liberty! In the 17th Chapter of St. Luke it is written: “the Kingdom of God is within man” — not one man nor a group of men, but in all men! In you! You, the people have the power — the power to create machines. The power to create happiness! You, the people, have the power to make this life free and beautiful, to make this life a wonderful adventure.

Then, in the name of democracy, let us use that power! Let us all unite! Let us fight for a new world, a decent world that will give men a chance to work, that will give youth the future and old age a security. By the promise of these things, brutes have risen to power, but they lie! They do not fulfill their promise; they never will. Dictators free themselves, but they enslave the people! Now, let us fight to fulfill that promise! Let us fight to free the world, to do away with national barriers, to do away with greed, with hate and intolerance. Let us fight for a world of reason, a world where science and progress will lead to all men’s happiness.

Soldiers! In the name of democracy, let us all unite!

Charles Chaplin, The Great Dictator (1940)

Recuerdos

Kôrogi permanece allí plantada, de nuevo con el mando a distancia en la mano.

Y ¿sabes que pienso? —dice entonces—. Pues que para las personas, los recuerdos son el combustible que les permite continuar viviendo. Y para el mantenimiento de la vida no importa que esos recuerdos valgan la pena o no. Son simple combustible. Anuncios de propaganda en un periódico, un libro de filosofía, una fotografía pornográfica o un fajo de billetes de diez mil yenes, si los echas al fuego, sólo son pedazos de papel. Mientras los va quemando, el fuego no piensa: «¡Oh, es Kant!», o «Esto es la edición vespertina del _Yomiuri Shinbun_», o «¡Buen par de tetas!». Para el fuego no son más que papelotes. Pues sucede lo mismo. Recuerdos importantes, otros que no lo son tanto, otros que no tienen ningún valor: todos, sin distinción, no son más que combustible. —Kôrogi asiente como para sí. Luego prosigue—: Y ¿sabes? Si a mi me faltara ese combustible, si dentro de mí no hubiera esa especie de cajón de recuerdos, hace tiempo que, ¡cras!, me habría partido en dos. Y me habría muerto en cualquier rincón, tirada como un perro. Gracias a ese montón de recuerdos, valiosos o insignificantes según el momento, que van saliendo del cajón, puedo seguir viviendo, soy capaz de soportar esta pesadilla. Aunque a veces me diga a mí misma que ya no puedo más, los recuerdos me dan fuerza para seguir adelante.

Haruki Murakami, After Dark