lunes, 29 de mayo de 2017

El único libro que necesitas para certificarte como PMP (descargar PDF de Rita Mulcahy)

Rita Mulcahy, PMP. No la conocí en persona, pero a través de sus libros, tengo el honor de llamarla maestra.
Murió hace un par de años, un 15 de mayo como hoy, pero dejó una corporación que se encarga de mantener al día su obra más importante:
Exam prep PMP
Rita Mulcahy PMP exam prep

El libro es una verdadera joya: es impresionantemente didáctico, completo y útil. Gracias a él estoy certificado como PMP en el PMI.
Puedes descargarlo de este enlace, pero como PMP te recomiendo que pagues por él, como un voto para que se sigan haciendo libros así.
Descargar el libro en su octava edición
O bien, da click en la imagen para comprarlo.

jueves, 28 de julio de 2016

Un experimento de SEO: bomba de Google con long tail y blogspot

En una reciente plática que dí sobre SEO, me preguntaron si era posible rankear una página de blogspot. Soy de los que odian responder "no lo sé" pero he aprendido que puedo soportarlo si respondo No lo sé, pero lo voy a averiguar.

En el caso del SEO, es difícil a veces encontrar información relevante, debido a la percepción (cierta, pero exagerada) que mientras más personas sepan hacerlo, más difícil será para ti.
Bueno, pues aquí está mi proyecto: al momento de publicar este post, no he invertido un peso en esta página, y el siguiente será el primer backlink que pongo.
Tiempo total invertido: 140 minutos, lo que me tomó escribir unos 8 artículos de mediano interés para este recién creado. Seguí el libro de SEO en medida de lo posible. Blogger no permite editar los metadatos, y borra los microdatos del formato. No use publicidad pagada y apenas compartí en mi perfil de Google plus. Sin embargo, en una semana y con solo unas 500 visitas, al buscar en google "el ingeniero más guapo del mundo" (con o sin comillas) aparecía:

Busqueda en Google images
Si, la segunda foto es mía, de hace varios años. Un pequeño éxito, ¿no?.

Probablemente esto ha cambiado en estos días, sin embargo esta pequeña bomba me enseñó un par de cosas (o reafirmo lo que ya sabía):

Long tail matters

La primera vez que hice SEO trate de posicionar la palabra "librería" me tomó dos años de optimización de lunes a viernes y link building para alcanzar el primer lugar en Google.com.mx ...y no fue muy redituable. Buscar objetivos más largos es generalmente más fácil muchas veces atrae a más clientes potenciales, en vez de a meros curiosos.

Uno, el dominio importa, pero el subdominio tambien

Un guru del SEO cobraba por recomendar comprar docenas de dominios. A un costo promedio de 10 dólares el dominio, esta técnica puede ser rentable para algunos productos, pero de poco éxito para algunos otros, sin mencionar que a la larga no da tan buenos resultados.
El subdominio que nos ofrece blogger de manera gratuita funciona bien para posicionar palabras clave largas.

El https ayuda mucho

Esto lo aprendí de la manera fea, cuando olvide renovar el certificado de seguridad de un sitio en el que llevaba trabajando mucho. Los rankings se fueron e picada. Muchos blogs gratuitos ofrecen certificado de seguridad en sus contenidos, y esto es muy bueno para comenzar tu negocio con poco dinero.

lunes, 14 de marzo de 2016

Hacer memes con Gimp (resuelto)

-La multa estuvo carisima ¡olvídense de las utilidades este año!

-¿y ahora?
-Hay que desinstalar todo el software pirata y buscar opciones gratuitas
-pero, pero...

Ha pasado antes, volverá a pasar. o puede ser simplemente un cambio de administración, o de trabajo, siempre puede ser necesario usar software libre para sustituir al propietario. Con un costo de más de cincomil pesos, miles de esclavos y poca simpatía por los piratas, Photoshop es uno de los softwares que más urgencia genera al hacer falta.
La solución que sugieren los foros es GIMP 2. Dicen que hace todo lo que Photoshop hace. Y es cierto ...Pero lo hace distinto.
Existen algunas paginas generadoras de memes, pero tienen algunas limitaciones, como el tamaño de la imagen, o la cantidad de texto que puedes poner.
(el ejemplo de hasta abajo es imposible de hacer con ninguna de estas)
Veamos como hacer memes en GIMP.

Técnicamente, no estamos haciendo memes: nuestras imagenes solo lo serán si la gente decide que vale la pena compartirlo mucho.
Sin embargo, hay reglas que parecen necesarias seguir para intentarlo.
La tipografía IMPACT sobre una imagen, en color blanco y con marco negro, parecen ser la regla indispensable de estos fenómenos mediáticos.
En Gimp se hacen así.
Descarga Gimp de aquí: Gimp oficial

Paso 1

Abre tu imagen con Gimp y con la herramienta de texto, escribe lo tuyo sobre la imagen, ajustando la fuente a IMPACT CONDENSED.
Coloca el color del texto en blanco absoluto. Puedes cambiar esto después con la herramienta de relleno, pero es importante hacerlo asi al principio porque este color no aparece nunca en fotos comunes.

Paso 2

Selecciona el texto con la herramienta de selección de color.

Paso 3

En el menú de edición selecciona trazar selección. Recuerda tener el color negro como principal seleccionado.

En la pantalla que aparece, selecciona una anchura adecuada dependiendo de tu tamaño de letra, y presiona trazo.

Listo el "meme" se ha creado. ¡Ahora solo falta ver que pegue con la gente!

viernes, 11 de marzo de 2016

Lo que aprendí en el camino PHP backtrace

Yo era un alegre programador de JAVA que trabajaba 12 horas al día (lo normal) cuando nació mi hijo.
Pocos meses después, cuando ya era capaz de reconocer a su mamá pero no a mi, decidí cambiar de empleo: uno que me diera más tiempo para estar con el.

La únicas opciones que encontré fueron programando en PHP. Como es muy parecido al C, con el que todos los ingenieros de mi generación aprendimos a programar, no me fue muy difícil adaptarme.

Aunque en varios sentidos PHP es un lenguaje inferior a JAVA, (dejen a alguien que hace código sucio trabajar en PHP) tiene algunas ventajas que lo compensan.

Lo único que extrañé de JAVA fueron sus capacidades de debugging. Las personas que me enseñaron los pormenores del PHP, usaban decenas de echos para mostrar el contenido de las variables de forma ambigua.

Esto era normal: usábamos PHP 4.3 y las opciones no eran muchas.

Varios años después descubrí que las nuevas versiones del lenguaje incluyen stacktracers. Como muchos de mis colaboradores, buenos programadores muy capaces desconocen estas, hoy quiero hablar de debug_backtrace() una de las funciones de PHP más utiles y desconocidas con que me he topado.

La función acepta argumentos como el numero de línea de código, apuntadores a funciones que van a ser debugeadas, nombres de archivos con scripts.php, y hasta un limite de stacktraces, por si el error esta muy profundo y queremos ahorrar memoria.
Un ouput comun de este (o su analogo con salida a pantalla, debug_print_backtrace() es:

array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(10) "una_prueba"
    ["args"]=>
    array(1) {
      [0] => &string(5) "amigo"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}
La documentación en español esta aquí: debug_backtrace()
¡Cuentame tu experiencia usandolo!
PHP backtrace

martes, 10 de marzo de 2015

Resuelto: aumentar el limite de memoria de Wordpress en 4.xx (Fatal error: Allowed memory size of x bytes exhausted)

Wordpress es un excelente CMS, que saca una nueva revisión con muchas mejoras
de seguridad y desempeño aproximadamente cada 3 meses. Que lo arruinan todo.
Ok, seis de la tarduno a punto de irse y ve el letrero de:
Wordpress 4.X esta aquí, por favor actualiza Das click despreocupadamente y...

Fatal error: Allowed memory size of 33554432 bytes exhausted Ok, ok, nada que temer,
el codex de wordpress dice claramente como resolver este problema:
abres wp-config y aumentas la memoria.
O bien, abres wp-settings.php y aumentas la memoria.
...Y no funciona. cientos de páginas recomiendan lo mismo, o bien editar el php.ini,
al cual no tenemos acceso en todos los hostings.
Y llegas aquí en donde te recomiendo lo siguiente.
A partir de las últimas versiones 3.X de Wordpress,
el limite de memoria esta definido en default-constants.php, en la carpeta de wp-includes.
Algunas instalaciones, no permiten sobrescribir la definición de esta variable,
como hacen las soluciones anteriormente descritas.
Así que hay que modificarla ahí: cambia

// set memory limits
if ( !defined('WP_MEMORY_LIMIT') ) {
if( is_multisite() ) {
define('WP_MEMORY_LIMIT''64M');
} else {
define('WP_MEMORY_LIMIT''40M');
}
}

if ( ! defined'WP_MAX_MEMORY_LIMIT' ) ) {
define'WP_MAX_MEMORY_LIMIT''256M' );
}


Por algo como esto:
// set memory limits
if ( !defined('WP_MEMORY_LIMIT') ) {
if( is_multisite() ) {
define('WP_MEMORY_LIMIT', '512M');
} else {
define('WP_MEMORY_LIMIT', '512M');
}
}

if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
}

Con 512 debe bastar para una instalación típica con varios plugins añadidos.
Espero te sea de utilidad. Saludos.

jueves, 4 de abril de 2013

¿Cómo borrar comentarios duplicados en Wordpress? (resuelto)

Recientemente un problema con un plugin (SEO facebook comments, que de todas maneras es muy bueno y recomiendo) muchos comentarios se duplicaron, triplicaron y hasta decaplicaron, si existiera la palabra.
Pronto pondré como resolver ese problema. por lo pronto, les dejo un query que borra solo los duplicados en MySQL:

DELETE wp_comments
FROM wp_comments
LEFT OUTER JOIN (
SELECT MIN(`comment_ID`) as RowId, `comment_content`, `comment_author_email`, `comment_post_ID`
FROM wp_comments
GROUP BY `comment_content`, `comment_author_email`, `comment_post_ID`
) as KeepRows ON
wp_comments.comment_ID = KeepRows.RowId
WHERE
KeepRows.RowId IS NULL
Este query crea una vista con el más pequeño de los id´s de los comentarios repetidos, y luego borra todos los que no esten en esa lista. (como los comentarios únicos cumplen con ser el más pequeño, no se borran) Espero les sea de utilidad.

lunes, 12 de noviembre de 2012

Adsense extreme, el timo y como solucionarlo

Se trata de un plug-in de wordpress realmente muy útil: permite poner anuncios de adsense en varias partes de todos los post, cuando estas loggeado les pone una marca de que estas haciendo marcas, y en general hace ganar más con Adsense. El problema es, que ocasionalmente pone (una de cada 35 veces, aunque según la semilla de random puede ser más alto) un código de anuncio del creador del plug-in. Esto es legal, por que en alguna parte de la licencia que nadie lee, uno acepta lo que este individuo hace, lo malo es que con un poco de mala suerte, puede desvancer tus ingresos de ad sense, y no queremos eso. Como el plug in esta bajo licencia libre, tambien estamos en libertad de corregir este "problemita" e aquí como: Una vez instalado el Plug-in, abre la carpeta /wp-content/plugins/adsense-extreme/ ye ahi abre el archivo adsensextremeopt.php. Busca las dos lineas que dicen:
 google_ad_client = "pub-'.$i.'";
y cámbialas por
 google_ad_client = "pub-[tu propia clave de adsense]";
Eso es todo. Existen formas más eficientes de hacer el cambio, pero la diferencia no es mucha y esta la puede realizar con relativa seguridad alguien que no es programador.

viernes, 9 de noviembre de 2012

Leassons learned: el reproductor de mp3


Problema: a mis jefes les gustó un plug in de Wordpress que ya esta descontinuado: audio link player, que transforma los links a mp3 de un blog en uno de tres reproductores en flash a elegir.

Solución

Pues bueno hay que bajar el plug de una red que lo tenga instalado, como revistacincoletras.com, y luego hacerlo funcionar en tu red.
Basicamente, lo que hace es transformar el link en esto


<object class="audio-link-player inline-player" data="http://revistahotel.com/images/player.swf" height="17" id="flash_container_audio_link_player_1" style="visibility: visible;" type="application/x-shockwave-flash" width="17"></p>
<p>
param name="wmode"&nbsp;</p>
<p>
value="transparent"&nbsp;</p>
<p>
param name="flashvars"</p>
<p>
&nbsp;value="song_url=preview_url}&amp;b_bgcolor=224757&amp;b_fgcolor=666666&amp;amp;b_colors=F9F9F7,</p>
<p>
F9F9F7,F9F9F7,000000&amp;autoplay=false"</p>
<p>
</object>



Un detalle es que prev_url es la dirección absoluta del archivo mp3 sin encodear (la dirección, no el archivo) y preview_url si esta encodeada. Básicamente, descargas el player.swf y colocas este codigo,que admite que pases como flash vars un color de fondo, un color de iconos y uno de carga (el plugin incluye tres archivos player.swf en tres distintas carpetas el de este ejemplo, es el de un solo botón de reproducción)
Claro esta, esto es flash, pero mientras todos están pasándose con urgencia a html5, mis jefes prefieren un plug in que no se ve ipads e iphones, así que vamos a darle la vuelta a eso, usando cambiando el texto que se muestra  si no hay flash por algo como esto:                            
Ahí surgio un problema ¡algunos navegadores tratan de cargar todas las canciones desde el principio!
(entre ellos chrome, que es el que uso para mi navegación personal)
se soluciona poniendo esto:
 preload="none"
y todavía se puede poner un texto que se mostrara si ninguno de los dos funciona, o un link al archivo de audio, pero puede quedar así:

<object nbsp="" p="" type="application/x-shockwave-flash"><p>
class="audio-link-player inline-player"&nbsp;</p>
<p>
data="../images//player.swf" width="17" height="17"</p>
<p>
&nbsp;id="flash_container_audio_link_player_1"&nbsp;</p>
<p>
style="visibility: visible;">param name="wmode"&nbsp;</p>
<p>
value="transparent"&gt; &lt;param name="flashvars" value="song_url={preview_url}&amp;amp;b_bgcolor=224757&amp;b_fgcolor=666666&amp;b_colors=F9F9F7,F9F9F7,F9F9F7,000000&amp;autoplay=false"&gt; &lt;audio src="{prevurl}" controls="controls" preload="none" ></p>
<p>
</object>


Si prefieren, se puede anidar el object en el audio, para que aparezca primero el el reproductor de html5 y si no esta disponible, el de flash, pero este primero no es muy estilizable todavía.
Pueden ver el resultado aquí:

sábado, 28 de agosto de 2010

La revista hotel


Pues resulta ser que el proyecto más reciente en que se metió su servidor, se llama revista hotel. De momento solo es revista virtual, pero la edición impresa estará muy pronto en sus puestos de periódicos favoritos.

Se trata de una revista literaria, complementada con algunas reseñas de hoteles del pais y muchas ilustraciones interesantes.

El diseño gráfico creo que es de mencionarse, y la calidad de los textos (con excepción, quizás, de los mios) es alta.
Bueno, no me queda más que sugerirles que le visiten.
Saludos