Convertir archivos .otf a .ttf en Ubuntu

En uno de los proyectos que estoy trabajando me solicitaron generar un documento con una tipografía específica.

Sin embargo, las fuentes que me dieron tenían la extensión OTF (OpenType) y yo las necesitaba en TTF (TrueType) para poderlas utilizar con Prawn, un generador de PDFs para Ruby.

A continuación te presento un par de opciones para convertir archivos OTF a TTF.

Convertidor bash script

Primero necesitamos instalar FontForge:

  1. sudo apt-get install fontforge

Después crea un archivo llamado otf2ttf.sh con el siguiente contenido:

  1. #!/usr/local/bin/fontforge
  2. # Quick and dirty hack: converts a font to truetype (.ttf)
  3. Print("Opening "+$1);
  4. Open($1);
  5. Print("Saving "+$1:r+".ttf");
  6. Generate($1:r+".ttf");
  7. Quit(0);

Y úsalo de la siguiente forma:

  1. fontforge -script otf2ttf.sh NOMBRE_DE_MI_FUENTE.otf

Para convertir varios archivos que estén en un mismo directorio, lo haces de la siguiente manera:

  1. for i in *.otf; do fontforge -script otf2ttf.sh $i; done

Convertidor online

Si no tienes Linux, puedes usar un convertidor en línea como el que se ofrece en el sitio de:
typeface.js – Convert and Download Fonts

Depredado en

Convert .otf to .ttf Font on Ubuntu

Cómo entrar a la configuración del router inalámbrico Echolife HG520b de Telmex

Hace unos meses contraté el servicio de internet que ofrece Telmex (el mentado Infinitum). Me llegó un router inalámbrico nuevo, diferente al que tuve en otras ocasiones.

La bronca comenzó cuando traté de entrar a la configuración del aparato, ya que no encontré las instrucciones por ningún lado, así me di a la tarea de buscarlas en internet, he aquí el resultado:

Para entrar a la página de configuración abre tu navegador favorito (Chrome, Firefox u Opera XD) y ve a la siguiente dirección:

http://192.168.1.254

Te aparecerá una forma pidiéndote un par de datos:
Nombre de usuario: TELMEX
Contraseña: (La WEP KEY que viene en una etiqueta pegada en la parte trasera de tu aparato)

Es necesario respetar las mayúsculas que vienen en tu WEP KEY.

Si deseas desactivar la red inalámbrica (WIFI, WLAN) sólo debes dejar presionado (unos 3 segundos) el botón WLAN que viene a un costado del aparato.

Depredado en

Prodigy Infinitum con Huawei EchoLife HG520b Home Gateway

Cómo mostrar las sentencias SQL en la consola de Rails

Al operar la consola de Rails, muchas veces quisieramos que al usar nuestros modelos se nos mostrara el SQL que se está generando.

Sólo agrega las siguientes líneas a tu archivo ~/.irbrc

  1. if ENV['RAILS_ENV']
  2.   # Called after the irb session is initialized and Rails has been loaded
  3.   IRB.conf[:IRB_RC] = Proc.new do
  4.     logger = Logger.new(STDOUT)
  5.     ActiveRecord::Base.logger = logger
  6.     ActiveResource::Base.logger = logger
  7.   end
  8. end

Ahora, cuando interactúes con la base de datos verás algo como esto:

  1. >> Oficina.find 1
  2.   Oficina Load (1.2ms)   SELECT * FROM "oficinas" WHERE ("oficinas"."id" = 1) 
  3. => #<Oficina id: 1, nombre: "CAMPECHE BCMR", organizacion_id: 2, activa: true>

Referencia

Showing SQL statements in the Rails console

Problemas con el script que deshabilita el hot linking

[singlepic=610,60,,,left]

El script que publiqué ayer me dio algunos problemas con los feeds.

Me estaba bloqueando las imágenes en FeedBurner (como debería de ser). Así que lo modifiqué para permitir a FeedBurner hacer hot linking.

Quedó así:

  1. RewriteCond %{HTTP_REFERER} !^http://(.+.)?(lobotuerto.com|feedburner.com)/ [NC]
  2. RewriteCond %{HTTP_REFERER} !^$
  3. RewriteRule .*.(jpe?g|gif|bmp|png|jpg)$ /omg_lobo.jpe [L]

Sólo modifique la expresión regular para permitir que embeban imágenes desde una URL como feedburner.com.

En caso de que algún amigo desee usar las imágenes desde mi sitio, sólo necesita avisarme y agregaré su URL a la lista de sitios permitidos. 😉

Cómo convertir archivos de imágenes RAW .pef a .jpg

[singlepic=480,120,,,left]

Tengo una cámara semi profesional Pentax, y después de tomar un diplomado en fotografía digital, aprendí que es mejor tomar las fotos en formato RAW.

De esta manera se guardan todos los valores necesarios para hacer una buena edición de la imagen.

Si no te interesa editarlas, o hacer un proceso de revelado (con DCRAW o algo así) con ellas, entonces a lo mejor te convenga más tomarlas en JPG para ahorrarte un buen de espacio y poder guardar muchas más.

Por ejemplo, con una memoria de 2GB, puedo tomar 666 fotos en JPG de alta calidad (~3MB por archivo), pero sólo 180 en modo RAW (~10MB por archivo).

El caso es que estuve buscando un rato en internet sobre cómo convertir imágenes en formato .pef (RAW) a .jpg y no encontré una forma fácil y rápida.

Sin embargo, después de experimentar un rato, hallé una manera:

  1. sudo apt-get install ufraw imagemagick
  1. for i in `ls`; do convert -resize 900x900 -quality 85 $i resized_$i.jpg; done

Sip, es básicamente el mismo comando de mi otro artículo, sólo instale un paquete que necesitaba (ufraw) y modifiqué el script para agregarle la extensión .jpg y ¡listo! 😀

Espero les sea útil.

Cómo prevenir el hot linking

[singlepic=610,120,,,left]

Cuando necesito incluir alguna imagen en mi blog para algún artículo, prefiero descargarla y subirla a mi sitio por dos razones importantes.

La primera es que tengo más control al no depender de que el otro sitio esté disponible para que se muestre. La segunda, no gasto el ancho de banda de otra persona.

Desgraciadamente no todos piensan igual y te aplican lo que se conoce como hot linking o inline linking.

¿Se puede evitar?
Si, y es un procedimiento relativamente sencillo. Yo lo acabo de aplicar en el blog y ya vi que funciona, jeje, uno de los blogs que lo hacía terminó por cambiar las imágenes.

Requerimientos

  • Debes tener acceso por FTP al lugar donde hospedas tu página, ya que vamos a subir un archivo al directorio raíz de tu sitio.
  • Tu servidor debe usar Apache.
  • Debe tener activados redireccionamientos HTTP.

El código

Este el código que uso yo en mi blog:

  1. RewriteEngine On
  2. RewriteCond %{HTTP_REFERER} !^http://(.+.)?lobotuerto.com/ [NC]
  3. RewriteCond %{HTTP_REFERER} !^$
  4. RewriteRule .*.(jpe?g|gif|bmp|png|jpg)$ /mensaje.jpe [L]

Si el URL de tu sitio fuera omgwtfbbq.net, el código quedaría así:

  1. RewriteEngine On
  2. RewriteCond %{HTTP_REFERER} !^http://(.+.)?omgwtfbbq.net/ [NC]
  3. RewriteCond %{HTTP_REFERER} !^$
  4. RewriteRule .*.(jpe?g|gif|bmp|png|jpg)$ /mensaje.jpe [L]

Ahora, la última línea indica la imagen a mostrar cuando alguien intente usar una de las que están hospedadas en tu sitio directamente desde otra página.

Guarda el archivo como .htaccess (si, es sólo punto htaccess, nada antes del punto).

Sube este archivo a la raíz de tu página web o blog. Por ejemplo en mi caso lo subi a public_html/blog (public_html ese es el directorio donde van las páginas en mi hosting y blog es el directorio donde instalé WordPress).

Ten cuidado, si ya existe un archivo .htaccess ahí, lo que debes hacer es descargar y editarlo para agregarle las líneas de arriba.

Este nuevo archivo contendrá los dos códigos, el que ya traía, y el que le acabas de agregar. Después de eso súbelo a tu sitio.

Una mala edición del archivo .htaccess puede dejar deshabilitada tu página.

Crea la imagen que quieras mostrar cuando alguien te haga hot linking y nómbrala como mensaje.jpe.

Puedes usar cualquier otro nombre, pero entonces tendrás que editar el .htaccess (es fácil, sólo cambia donde dice mensaje.jpe por el nombre que quieras).

No guardes la imagen como mensaje.jpg. ¿Por qué? Bueno, recuerda que en el código de arriba las extensiones: .jpg, .jpeg, .gif, .png, .bmp son revisadas y bloqueadas. Así que si guardas tu imagen de aviso como .jpg también será bloqueda y no será mostrada.

Listo, sube la imagen.
En mi caso la puse en public_html y cabe mencionar que no la tienes que poner a fuerza en tu directorio web raíz, pero si la pones en otro lado, deberás editar el código de arriba para reflejar el cambio.

Depredado en

How to Prevent Image Theft /Hotlinking & Save Bandwidth
So You Want to Stop Hotlinking and Bandwidth Theft

97 joyas de la ingeniería de software

97 cosas que todo arquitecto de software debería saber

No se porque se me había pasado publicar acerca de esto, pero el otro día navegando por la red me encontré con este sitio:
97 Things Every Software Architect Should Know

Cada uno de los axiomas ahí presentados es una joya en si mismo.

Si realmente te interesa convertirte en un buen arquitecto de software (con todo lo que eso implica) no puedes perdértelos.

Y dado que es un material algo amplio, puedes leer un puñado de ellos al día. La idea es que los entienda uno a conciencia. Fue tan bueno que incluso ya O’Reilly publicó un libro con las aportaciones.

Páginas en blanco en el blog

[singlepic=587,,,,left]

Hasta el día de hoy me dí cuenta de que una de mis guías más concurridas estaba mostrando una página en blanco, nada.

Me pasé un buen rato buscando la causa del problema y después de varias pruebas lo que concluí fue que al alcanzar cierta cantidad de caracteres WordPress manda una página en blanco por alguna razón que todavía desconozco.

¿La solución? separé el artículo en varias páginas usando el Quicktag:
<!–nextpage–>

Si se llegan a encontrar con alguna otra página que presente el mismo comportamiento, déjenme un comentario ahí para arreglarla. Se los agradeceré un buen. 😉