• Han oído hablar del #hackingBusinessModel. Me lo encontré hace unos días y se me hizo muy chido. http://bit.ly/clZ6dn hace 1 día 22 horas

Hacking Business Rules

in

Cuando a uno le gusta el software libre siempre se buscan maneras de lograr negocios que funcionen de esa manera. Negocios abiertos como el software que producen. Que le den más importancia a las personas que a la empresa, donde sea divertido trabajar, donde cada quién asuma sus propias responsabilidades y se interesen por hacer que el negocio prospere, que sean más horizontales y que produzcan riqueza para sus miembros, para la comunidad en la que están y para el mundo (en forma de más software libre ;-).

En esa búsqueda me encontré por ahí el Hacking Business Model publicado por Monty el creador de MySQL. Me pareció sumamente interesante y una buena fuente de inspiración.

Aquí pongo el contenido traducido al español para el que le interese y por referencia. Ese tipo de cosas siento que se leen mejor en el idioma natural (el software en cambio siempre se lee mejor en inglés).

Hacking Business Model...

URL shorteners y estadísticas de visitas

in

Hace algún tiempo, y por culpa de Twitter, comencé a utilizar los servicios de acortadores de URL - chale que mal se oye en español - como http://tinyurl.com.

Lo que hacen estos servicios es tomar el URL sobre el que quieres twittear - normalmente algo largo como http://groups.drupal.org/node/27562 - y darte una versión cortita - http://bit.ly/JkBzM - de manera que tienes más caracteres disponibles para que tu tweet no pase de los 140 caracteres.

Luego salieron más servicios de acortadores y twitter decidió quedarse con bit.ly como acortador predeterminado. Lo interesante de bit.ly es que te permite llevar un tracking muy sencillo de los URLs que acortas con su servicio. Simplemente tienes que agregar un + al URL que te da bit.ly y esto te llevará a una página que te muestra la cantidad de veces que tu link ha sido visitado. Por ejemplo en http://bit.ly/JkBzM+

Bastante útil no?

Si te registras en bit.ly el servicio mejora, ya que te permite generar un URL corto específico para tu usuario, así que si estás twitteando sobre un link que mucha gente twitea podrás ver cuántas visitas son específicas de tu tweet.

Tanto hablar de twittear, tweets, twiteando y demás me ha cansao. Aparte siempre usé ortografía diferente =P.

Dolores de cabeza instalando el stack de microsoft

Hace poco, por razones estríctamente laborales, decidí instalar el stack de desarrollo de Microsoft. Llamese Visual Studio 2008, SQL Server 2008 Express y otras herramientas sugeridas por el web platform installer.

Debo decir que estoy gratamente sorprendido por el web platform installer. Ya que con él puedes instalar PHP de manera decente - usando FastCGI - para el IIS e incluso Drupal y otros programas de software libre.

Aunque las herramientas de Microsoft son de primera clase - Visual Studio está muy chido, sobre todo usando emacs bindings para los shortcuts jeje - debo decir que el proceso de instalación dista mucho de ser algo sencillo. Es larguíiiiiismo y aparte siempre te encuentras con piedras en el camino.

La más grande de todas llegó al querer instalar el SQL Server 2008 Express. La maldita cosa no quería instalarse. Primero creí que era cosa de dlls, porque tenía instalada la versión 2005 desde antes, tons la desinstalé. Nada. Como buen programador me puse a checar los logs de errores y por ahí salía el mensaje de error:

Rule "Performance counter registry hive consistency check" failed. The performance counter registry hive is corrupted

E incluso una referencia a la base de conocimientos de Microsoft para ver cómo solucionarlo. ¡Vaya! Eso sí son mensajes de error. Los pasos no eran miel sobre hojuelas. Tenía que editar el registro de windows, borrar algunas entradas y luego correr algunos comandos en la consola para poder regenerarlos, reiniciar - ¡claro! - y luego correr otros comandos. Terminé muy satisfecho de la ayuda clara y me dispuse a instalar nuevamente. Nada.

Chale. Bueno, pues vamos buscando en Google =D. La primera respuesta se veía bastante prometedora, porque era de alguien que tampoco había podido instalar el SQL Server. Lo malo fue que el leer ví que repetía algunos de los pasos que ya había seguido y que no aplicaba mucho a mi situación actual.

Total que googleando por otros lados eventualmente llegué a una página titulada "SQL Server 2008 Nov CTP Installation error". Y ahí encontré la solución a mi problema. Otra persona se dió a la tarea de:

  • leyendo el mismo log de errores
  • encontrar la clase desde donde fue lanzada el error (Microsoft.SqlServer.Configuration.SetupExtension.FacetPerfMonCheck)
  • decompilar el dll que la contiene (\Program Files\Microsoft SQL Server\100\Setup Bootstrap\ Microsoft.SqlServer.Configuration.SetupExtension.dll)
  • y en la función referida ver que la segunda línea pide un LCID (Locale ID asignado por Microsoft)

esta función regresaba el valor 7C04 que debía ser encontrado en una llave del registro, pero que no existía, existían otros. Así que creó la llave, copió los registros que estaban en la llave equivalente y logró instalar el programa. Mi heroe =D.

Ahora sólo tenía que encontrar cuál era el LCID de mi máquina. Así viendo la misma línea de código que él creé mi primer programa en C# usando mi recién instalado Visual Studio (también lo corrí en MonoDevelop nomás pa comparar):

using System.Globalization;
 
namespace ConsoleTest
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            string LCID = CultureInfo.InstalledUICulture.Parent.LCID.ToString("X");
            string str2 = string.Format("{0,3}", LCID).Replace(" ", "0");
            Console.WriteLine(str2);
            Console.ReadLine();
        }
    }
}

Creé el registro y ¡presto! se instaló el SQL Server.

Que rollo. Total, ya tengo todo lo necesario pa programar aplicaciones usando el Visual Studio y todo usando nada más como 2GB =P. Mi stack en linux es de como 100 MB (contando IDE, servidor web y servidor SQL). Codeen a gusto!

Se busca programador

in

Axai, la empresa donde trabajo desde hace año y medio, está creciendo. O al menos tenemos más trabajo ;-) ya que la definición de crecimiento es algo ambigua para las empresas. Y estamos buscando a una o dos personas que quieran formar parte de nuestro equipo.

A axai la describiría como un taller de desarrollo web. Somos una PyME mexicana. Nos gusta utilizar tecnologías nuevas y programar seriamente (control de versiones, pruebas de software, MVC, JQuery). Somos 4 personas, 1 especializada en la consultoría de negocios y los otros 3 desarrollando y creando sistemas y portales. No la pasamos muy a gusto y aprendemos cosas nuevas todos los días.

Eres candidato si:

  • te gusta y eres bueno para programar

creo que es todo. jajaja. Ya en serio, si realmente te apasiona la programación creo que ya con eso tenemos, pero también es muy importante saber leer y escribir inglés. Si hablar te da penita o no tienes práctica no hay pex, eso se da con el tiempo.

Estamos buscando personas principalmente para dos proyectos.

Programación web. Es lo que más hacemos, nos estarías ayudando a programar los sistemas y sitios web que hacemos todos los días, principalmente usando Drupal o Symfony. No tienes que conocer las herramientas, pero ayuda si te gusta programar PHP, MySQL, Javascript y CSS. También tenemos por ahí algunos proyectos en ASP.

Programador de aplicaciones Necesitamos alguien que sepa o no le intimide programar en C y C++. Aquí vas a programar interfaces para pruebas de un co-procesador de video para (hint hint, guiño guiño) importante empresa.

Dudas pues me pueden contactar por aquí o directo en la de axai y pues si conocen a alguien que le interese le platican también.


Para ver otras formas de comunicar este mismo mensaje chequen los posts de mis compañeros:

Guadalajara DevHouse y otros eventos tecnológicos en la ciudad

Este domingo 6 de abril habrá aquí en Guadalajara el primer DevHouse. Este es un evento organizado a partir de los SuperHappyDevHouse que son eventos organizados donde muchos desarrolladores, diseñadores y whatnot se junta para trabajar en proyectos, aprender y en general conocer gente interesada en tecnología.

La invitación está abierta si quieres participar. La página del evento en guadalajara está aquí. No necesitas llevar nada más que dinero pa la comida y una laptop. Igual la dirección con mapa está ahí en la página.

Últimamente he visto mucha actividad tecnológica aquí en GDL. Tal vez porque con Twitter y demás cosas de la Internet siento que todos estamos conectados =P jeje. Pero para muestra basta un botón. También por ahí está la gente de TequilaValley que ya ha organizado reuniones aquí en Guadalajara, la Liga Silverlight y nosotros también hemos invitado al primer Drupal Meetup aquí en nuestra ciudad.

Keep'em comming ;-)

Usando la consola: Cuanto miden tus particiones y carpetas?

Siempre se me olvida cómo usar bien estos comandos, porque tampoco los uso taan seguido. Pero bueno, si algún día necesitan averiguar el tamaño de una carpeta o lo que están utilizando de sus particiones en línx, desde la línea de comandos, utilicen estos comandos.

Para saber el tamaño de sus particiones:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              25G  9.8G   14G  43% /
varrun                257M   52K  257M   1% /var/run
varlock               257M     0  257M   0% /var/lock
udev                  257M   20K  257M   1% /dev
devshm                257M     0  257M   0% /dev/shm

Para saber el tamaño de sus carpetas:

$ du -csh /home/jackbravo/work/*
33M     /home/jackbravo/work/catalogo-pdf
0       /home/jackbravo/work/drupal6
852K    /home/jackbravo/work/gitosis
32M     /home/jackbravo/work/sf_code
44M     /home/jackbravo/work/sphinx-0.9.9-rc1
1.1M    /home/jackbravo/work/sphinx-0.9.9-rc1.tar.gz
26M     /home/jackbravo/work/user_admin
136M    total

Anular el voto, o no anular el voto, esa es la cuestión

No se cómo voy a votar este 5 de Julio. Estoy harto de la política mexicana, todos los días escuchas noticias de algún político que se robó una lana, que no declaró tales bienes, que está asociado con tales gentes... O a veces hasta prefiero no prestar atención. Lo malo es que vienen las votaciones, y pues ya no se puede NO prestar atención.

Para estas votaciones me encanta la idea que está en boca de todos de ANULAR mi voto. Y decirles a los políticos: ¡NINGUNO MERECE MI VOTO! perros.

Varios amigos, familiares, conocidos están en las mismas. Y creo que el ejercicio que proponen en el grupo de Anúlalos (que me llegó por facebook) es el más apropiado, aunque parezca medio zonzo. El ejercicio va así:

  1. Analizar a los candidatos de nuestra localidad. Si te convence alguno, se acabó el ejercicio =P.
  2. Si no. Considera las opciones restantes: No votar o anular el voto.

Está fácil no. Lo malo es que el primer paso nadie lo hacemos. Y desde ahí estamos muy mal. ¿Cómo queremos que los políticos cambien cuando a nosotros nos vale queso en realidad la política? Yo hasta hace unos días no tenía ni idea de los nombres de los candidatos a la presidencia municipal de Zapopan. Ni digamos los candidatos a diputados de mi distrito.

Entonces, antes de decidir si vas a anular tu voto, creo que deberíamos empezar por ahí. Hace poco marcaron a la oficina de las oficinas de Hector Vielma (candidato del PRI) para ver si quería que visitara mi colonia. Les dije que sí. También pasaron a avisarnos que Guillermo Martínez (candidato del PAN) iba a estar en un parquecito por aquí cerquita para contestar las dudas que tuviéramos, y al final ni siquiera pude ir por la chamba... No está tan fácil conocerlos =P. Pero es el primer paso.

Historia de OLPC

in

No se si estén enterados de cómo va el asunto del proyecto OLPC (One Laptop Per Child), pero parece ser que este año las cosas se han puesto feas para el proyecto. Entre que no les fue nada bien en ventas por la crisis, que van a despedir al 50% del staff y que están cambiando algunas de sus metas la gente no sabe por donde va el asunto.

Este artículo habla más sobre la historia de este interesante proyecto.

Si quieren ver cómo corre el sistema operativo del OLPC (Sugar) también hay manera de correrlo desde tu computadora (ya sea que tengas windows, mac os x o linux ;-) gracias a la magia de los LiveCDs o de la virtualización.

Sea como sea, el OLPC es un gran proyecto que si bien quien sabe si termine o continue ha cambiado la industria de las computadoras y creado una nueva rama de laptops (las 5 laptops más vendidas en amazon son netbooks).

Les dejo también este video del sitio de OLPC.

OLPC Mission Video - Part 1Cargado por olpcfoundation

Enviando mails con gmail desde la línea de comandos

Desde que linux es linux el hombre se ha preguntado por la manera más eficiente para comunicarse con otras personas. Hmmmm, perdón por ese inicio tan raro, es que acabo de la Última Pregunta de Asimov =). Bueno, el caso es que al empezar a programar siempre surge la necesidad de mandar correos y no todo mundo tiene a su disposición un servidor de correo instalado localmente desde el cual mandarlos.

En linux existe una aplicación llamada mail que otros programas (como PHP) utilizan para mandar correos. En realidad hay muchas versiones de este programa. La que encontré que era más sencilla de instalar y configurar en ubuntu fue heirloom-mailx (antes se llamaba nail).

sudo apt-get install heirloom-mailx

Este programita te permite mandar correos utilizando cualquier servidor de correo del que dispongas. Por ejemplo, si tienes una cuenta de correo en gmail, puedes configurar mailx con un sencillo archivo en tu HOME ~/.mailrc:

set smtp=smtp.gmail.com:587
set smtp-use-starttls
set ssl-verify=strict
set smtp-auth-user=tucuenta@gmail.com
set smtp-auth-password=muymuyseguro

Si quieres probarlo intenta mandar un correo electrónico con

mail tuamigo@gmail.com

Te va a pedir escribir el título de tu mail y después el contenido del correo, cuando hayas terminado de escribirlo terminalo con Ctrl+D (que manda la señal de End Of Output a la consola... o algo así).

Crear un nuevo proyecto compartido en git

in

Aquí en la oficina hemos estado utilizando git desde hace ya algunos meses. Una de las cosas que nos daba más flojera hacer era crear repositorios públicos que pudiéramos compartir varios compañeros aquí en la oficina. Los pasos que vienen en el Manual de git para crear un repositorio público son algo tediosos, porque involucran clonar tu repositorio localmente y después copiarlo a la ubicación pública, lo que puede ser muy pero muy tardado si tu repositorio es grande y tu ubicación pública está en otro servidor.

Hace poco, en github encontramos una alternativa diferente para hacer esto, en donde primero creas el repositorio vacío en tu ubicación pública y después "empujas" tu proyecto desde git.

  1. Crear una carpeta vacía para tu proyecto en la ubicación pública

    tu@public:$ cd /var/cache/git
    tu@public:$ mkdir my-new-repo.git
    
  2. En esa carpeta creas un repositorio vacío (bare) de git

    tu@public:$ cd my-new-repo.git
    tu@public:$ git --bare init
    
  3. Y finalmente, desde tu repositorio local creas un canal remoto para git y empujas tu proyecto:

    tu@local:$ cd existing_git_repo
    tu@local:$ git remote add origin tu@publico:/var/cache/git/my-new-repo.git
    tu@local:$ git push origin master
    

Y eso es todo, ahora git copiará todos tus archivos a través de la red de manera más eficiente que si utilizaras ftp o scp. Enjoy!

Distribuir contenido

Back to top