Entradas

Instala, actualiza, desinstala Emacs bajo Linux/ubuntu

Imagen
Hola, en este post explicaré cómo instalar Emacs   en su versión mas reciente 26.0.91 , un poderoso editor de texto con la finalidad de ser mas productivos y agilizar nuestro trabajo. 1. Instalamos las dependencias necesarias en modo super usuario con el comando apt-get : sudo apt-get install build-essential \ texinfo libx11-dev libxpm-dev libjpeg-dev libpng-dev \ libgif-dev libtiff-dev libgtk2.0-dev libncurses-dev \ autoconf automake 2. Descargamos el último release ( link de descarga ) 3. Una vez que haya descargado, en mi caso se aloja a mi carpeta  Downloads , y me dirigo a esta carpeta vía terminal: cd Downloads 4. En el mismo terminal, descomprimo el archivo descargado usando el comando tar : tar xvf emacs-26.0.91.tar.gz 5. Una vez ejecutado el comando, encontramos una carpeta llamada emacs-26.0.91 y nos ubicamos vía terminal a dicha carpeta: cd emacs-26.0.91 6. Ejecutamos el archivo autogen.sh que contiene esa...

Como Instalar, Actualizar y desinstalar Vim bajo linux/Ubuntu

Imagen
Hola, bienvenido a este post, en esta ocasión enseñaré a cómo instalar vim en su edición 8.0 desde su repositorio oficial! :) Este post es una actualización de  Compilar vim en debian   1 . Descargamos el último release en su repositorio oficial ( link de descarga ) 2. Una vez que haya descargado, en mi caso se aloja a mi carpeta Downloads , y realizo lo siguiente: 3 . Me ubico a la carpeta Downloads cd Downloads 4 . Descomprimo con el comando tar y con las opciones adicionales ( más info acerca del comando tar ) tar xvf vim-8.0.1451.tar.gz 5 . Una vez terminado el proceso de descomprimir, encontramos una nueva carpeta llamada vim-8.0.1451 , y realizamos lo siguiente: 5.1 Nos ubicamos en la carpeta generada: cd vim-8.0.1451 5.2 Realizamos una limpieza de archivos que no usará el programa a compilarse make distclean 5.3 Preparamos la configuración para construir el paquete de instalación: ./configure --with-features=huge --enable-multibyte...

Manejando tags en git

Imagen
Hola, en este post enseñaré el uso básico de tags (etiquetas) que uno realiza en un proyecto que está bajo un sistema de versionado conocido como git. ¿Cómo crear un tag? Antes de crearlo, verifica bien si tienes cambios pendientes, en caso tengas cambios pendientes tienes que aplicar lo siguiente: ~ git commit -am "Made some awesome new changes" Ahora si con toda la seguridad del mundo puedes crear un tag, por ejemplo crear uno que se llame v.0.0.2 y como descripción del tag Release version 0.0.2 , entonces se crea de la siguiente manera:   ~git tag -a v0.0.2 -m "Release version 0.0.2" Recuerda que haz creado un tag en tu repositorio local y ahora necesitas enviarlo a un repositorio central o repositorio remoto que tengas. ¿Cómo subo un tag a mi repositorio remoto? Si haz creado el tag en tu rama master, entonces se hace de la siguiente manera: git push origin master --tags Recuerda que al enviar tags se debe indicar la rama en donde existe...

Como Instalar o Actualizar Blender bajo linux/Ubuntu

Imagen
Hola, esta vez daré los pasos para instalar blender desde su página web, en si su versión más reciente v2.79 y estos son los pasos: 1. Descargar el paquete que está comprimido en el mismo portal de blender ( link de descarga ) 2. Una vez descargado, en mi caso se aloja el comprimido por defecto en la ruta downloads , voy a la terminal y realizo lo siguiente: 3. Me ubico a la carpeta downloads ~ cd downloads 4. descomprimo con el comando tar y con las opciones adicionales ( conocer más acerca del comando tar ) ~ tar xvf blender-2.79-linux-glibc219-x86_64.tar.bz2 5. Una vez terminado el proceso, renombro la carpeta simplemente como blender o con la version blender279 ~ mv blender-2.79-linux-glibc219-x86_64 blender278c Teniendo esto viene algo interesante que puede ser un debate en mover esta carpeta porque blender tranquilamente lo puedo ejecutar en el terminal así una vez descomprimido: ~ ./blender279/blender 6. En este caso guiándome de la documentació...

Instalar driver de mongodb para php bajo linux/debian

Hola, en este tutorial aprenderemos a cómo instalar el driver de mongodb para php 5.x Para ver si mongodb está disponible en los modulos de php ejecutamos esto en consola ~ /usr/bin/env php -m Con este comando listamos los módulos globales que puede usarse bajo el entorno php. Si no se ve en la lista mongodb entonces es porque no existe el módulo como global, para poder hacer instalar el driver de mongodb para php se sigue los siguientes pasos: 1. Me voy a mi carpeta downloads ~ cd ~/downloads 2. Me descargo por consola el codigo fuente desde el portal oficial la version 1.5.7 ~ wget --no-check-certificate https://github.com/mongodb/mongo-php-driver/tarball/1.5.7 3. En caso descargue con formato tar.gz el archivo 1.5.7 , lo descomprimo ~ tar -xzf 1.5.7 4. Una vez que lo descomprimí me voy a la carpeta creada en este caso se llama mongodb-mongo-php-driver-2b13c73 ~ cd mongodb-mongo-php-driver-2b13c73 5. Hago los pasos de compilación e instalación del fuente...

Compilar vim en debian

Este articulo se encuentra muy desactualizado :(, Favor de seguir el articulo Como Instalar, Actualizar y desinstalar Vim bajo linux/Ubuntu Gracias por leer este articulo, hoy voy a dar un tip para quienes tienen debian y son fánaticos del vim y quieren tener la última versión de este poderosísimo editor, en mi caso me encontré con mi problema del soporte de clipboard pero aqui está completo con ello incluido: 1. instalamos las dependencias $ sudo apt-get install ncurses-dev build-essential mercurial 2. Aqui viene el soporte de clipboard que es unos paquetes aparte $ sudo apt-get install libx11-dev libxtst-dev xorg-dev 3. Como se ve, pues se ha instalado mercurial y el repo oficial de vim está en google code bajo el sistema de versionado de mercurial, se sugiere que esteas en tu carpeta home (~) asi que en terminal hacemos lo siguiente ~  $ hg clone https://vim.googlecode.com/hg/ vim 3. Con ello tenemos lo necesario hasta ahora tenemos en nuestra carpeta home(~) l...

Caracteres especiales en lubuntu

Imagen
Presionando las teclas: [ctrl] + [shift] + [u] En todo editor te aparecerá una u subrayada, ¿y a qué se debe eso?.. fácil! ya puedes ingresar un caracter unicode, ten en cuenta que en linux es un muy bien chevere y te dá esa facilidad :D, Unos ejemplos:  el famoso backslash (\) que en unicode es 005C:  cuando te aparece la u.. seguido escribes: 5C como verás aqui el mapita de caracteres en unicode:

Cambiar de ruta por defecto de un server local apache en lubuntu

Para cambiar de path por defecto de un servidor local en un sistema operativo en este caso lubuntu se tiene que hacer lo siguiente: 1.Loguarse como root 2. Luego modificar el archivo " default " que se encuentra en la ruta  /etc/apache/sites-avaliable/ 3. Cambiar el path que está por defecto que es  /var/www  , en  DocumentRoot  como en  Directory

Reiniciar Zend Server en consola de windows / reiniciar apache

Para reiniciar el servicio de apache en windows con Zend Server cuando está corriendo vía consola aplica la siguiente línea: OJO : considera ejecutarlo cuando levante la consola o también conocido como el cmd, no es necesario que estea en una ruta en especial. net stop Apache2.2-Zend && net start Apache2.2-Zend

Aprendiendo Box2dWeb - 2da parte

En el 1er capítulo .. Se vió sobre un pequeño concepto de lo que es box2d, e intanciamos en 1era las variables y objetos a usar, ahora continuamos con el code... 2. Creamos ahora si las variables para nuestra demo: //definimos el mundo var world = new b2World ( new b2Vec ( 0 , 10 ) , true ) ; //el patrón global para el entorno y el comportamiento de los objetos fixDef = new b2FixtureDef ; fixDef . density = 1.0 ; fixDef . friction = 0.5 ; fixDef . restitution = 0.2 ; //usamos esta variable para definir de modo gráfico un objeto var bodyDef = new b2BodyDef ; //Aja! aqui interactuan 2 objetos que definimos en un principio //la variable que define al objeto y el b2Body que te da las 2 opciones //Si tu objeto es dinámico (b2_dynamicBody) o es estático (b2_staticBody) //En este caso es estático, que quiere decir que no se va a mover en el //entorno bodyDef . type = b2Body . b2_staticBody ; //La siguiente definición es con la parte del render del obje...

Aprendiendo Box2dWeb - 1era parte

En este post, comento sobre una librería que me llama mucho la atención que se llama Box2D, ahora comento unos detalles de esta chevere librería: 1. Empieza a ser desarrollado en c++ por Erin Catto , desde ya buen tiempo. 2. Es tan bacan que varios desarrolladores han traducido a otros lenguajes de programación. 3. En el caso de JavaScript se han desarrollado 2 librerías muy conocidas nos referimos a Box2dWeb  y Box2DJS  - "Su nombre está chevere, pero,¿a qué se dedica?"  - Pues Box2d es una librería que te trae funcionalidades de comportamiento físico a un entorno, eso quiere decir que si yo creo un entorno físico adoptaría funcionalidades de la física real, sea manejar fricción, o la gravedad, o también considerando las colisiones y tooooodo lo que tiene que ver con el comportamiento físico, te ahorra mucho en desarrollar funciones complejas para calcular y/o renderizar objetos con comportamientos físicos :) En este caso usaremos Box2dWeb para aplicarlo ...

Concepto de los objetos de Box2dWeb

Hola de nuevo, en este espacio trataré de definir de un punto de vista personal sobre los objetos que usaré en el desarrollo de aplicaciones con box2dweb, y los conceptos que se tratarán en las explicaciones de code Box2D.Common.Math.b2Vec2 llamamos al transformador de unidades de pixeles a vectoriales Box2D.Collision.b2AABB Necesitamos este objeto para usos como verificar collisiones, o hacer querys avanzados en el entorno que vamos a crear para otros usos interesantes. Box2D.Dynamics.b2BodyDef Invocamos al objeto que nos va a dar la definición del objeto cuando lo creamos. Box2D.Dynamics.b2Body Invocandolo te ayuda a definir el tipo de objeto que vaz a mostrar, sea dínamico o estático. Box2D.Dynamics.b2FixtureDef Este objeto global nos ayudará a definir un patrón de comportamiento para cuando agregemos al entorno o world. Box2D.Dynamics.b2Fixture Este objeto nos ayuda  a encapsular propiedades en los mismos objetos creados. Box2D.Dynamics.b2World Aqui invoca...

API de google de news y de Flikr con jQuery

Muchas veces queremos testear un listado de noticias, o data en si, pues bueno para hacer un testing con el API de google news e integrar con jQuery es increiblemente fácil. Ok, entonces empezemos: Aprendiendo el API de google news Aqui viene lo bueno, me encontré justo buscando en los APIs de los servicios de google, y me encontré con google news, aqui el link: API de google news relacionado con json Y resalto esta parte: " Request format" en donde me da este link para trabajar: https://ajax.googleapis.com/ajax/services/search/news Aja! entonces ya se que puedo hacer... Uso JQuery para traer la data con json, pero hay un detalle, estoy trabajando con jsfiddle.net, y quiero hacerlo con JSONP, bueno aqui el code para usarlo con ajax de jQuery {                  dataType:'json',                  url: 'http://ajax.googleapis.com/ajax/services/search/news?v=1.0 &q="lima"&num=20...

Adobe Photoshop CS4 Version 11.0 se queda colgado "Leyendo preferencias"

Imagen
Intentando abrir Adobe Photoshop CS4 Version 11.0 se queda colgado "Leyendo preferencias" y no pasa de aqui. Solucion Pasa por renombar la carpeta %userprofile%\Datos de programa\Adobe\Adobe Photoshop CS4 A adobe.old Abrimos el photoshop de nuevo nos volvera a crear una carpeta con el mismo nombre pero con un tamaño de 800 k nada que ver con los 3mb que tenia.

Anomalías con las etiquetas HTML

Hace unos días me encontré con una sorpresa de que estaba agragegando varios forms de esta manera: <form> .... luego de unas cuantas etiquetas mas ... <form> .... </form> <form> ..... </form> </form> Resulta que el primer <form> q estaba adentro hacía los sgte en los navegadores: Firefox: No mostraba el primer <form> incluido en el form maestro Iexplore: Se deformaba por completo el diseño Chrome: Hacía lo mismo que firefox Opera si no sé pero me imagino q algo en común. Resulta que cuando se hace esto es probable de que uno se lleve con una gran sorpresa, ¿q hice? o peor aun ¿mi navegador esta mal, no q firefox?. La respuesta a todo esto es que es notable de que no deben existir forms anidados, tenga en cuenta mi estimado lector de que cuando maquetes no hagas forms anidados.

Portafolio

Presento mis trabajos realizados

Otra Problemática de ie7, el DOM

El internet Explorer 7 tiene bastantes fallas como se sabe muy bien, ahora hay un detalle que comparto que es la carga de archivos css y js de un sitio web, por experiencia y en busca de foros me e dado con la sorpresa de lo siguiente: 1- ie7 no carga mas de 30 a 32 css 2- ie7 carga a la vez css con js, situacion que cuando hay bastantes css y mas aún cuando mi css contiene el popular @import donde llamo a otras css. 3-Y por último, cuando trabajo con flash que llama funciones javascript que trabajan con la estructura del HTML, un tema que es terrible porque no termina de cargar mi página web debido a que este bendito navegador no es del todo bueno. RECOMENDACIONES: Por mi parte cuando se trata del punto 3, recomiendo usar la librería Jquery y usar el setTimeout que se dispara cuando todo mi html está cargado, y poder trabajar tranquilamente con mi html.

CSS con JSON

Una interesante idea me encuentro por delicious esta mañana. Se trata de JSSS , una implementacion (muy sencilla) para conseguir JSON que genere CSS. La idea es solucionar algunas de las carencias de CSS: CSS no es un lenguaje de programación (no hay variables, funciones, no lógica) Las propiedades CSS no son cross-browser Los frameworks CSS están pensado para trabajar en lado del servidor y necesitamos que se ejecute en el cliente Incluir dinámicamente CSS en el DOM no garantiza que las clases CSS sean cross-browser Por ese motivo, las hojas de estilo JSON pretenden aportar las ventajas de Javascript: Todas las propiedades CSS están almacenadas en objetos JSON Las propiedades y clases CSS pueden ser manipuladas via Javascript Las propiedades y clases pueden ser dinámicas en tiempo de ejecución Todo el sistema de plantillas CSS es gestionado desde el cliente

Y empiezo!!!

Imagen
E aqui un pequeño contenido, mi grupo favorito al lado derecho, unas de sus fotos del album innuendo. :)