Macports


Hace unos dias decidí prescindir de MAMP y hacerme una instalación a pelo de mi entorno de desarrollo AMP (Apache, MySQL, PHP), más que nada por los quebraderos de cabeza que me podría dar a la hora de actualizar cualquier cosa.

Decidí usar la instalación que tiene por defecto Leopard OSX (Apache2, PHP 5.2.11) e instalarme MySQL por mi cuenta. Grave error. Esta instalación es lo más básico que hay. Al empezar a trabajar con Symfony me di cuenta que no podía avanzar porque le faltaban varias librerías PHP, incluyendo una muy importante, la pdo_mysql.

Buscando la librería por internet me bajé un par de archivos ya compilados para la versión que tenia entre manos (tanto de sistema operativo como de mysql y php) y no me funcionaba ninguno. Si que me la mostraba al hacer un infophp() pero al utilizar php en el terminal siempre me decía que no podía cargar la librería.

Así que decidí compilarla yo. Para eso me bajé el código fuente de la libreria pdo_mysql y seguí los siguientes 4 pasos según esta página:

  • phpize
  • ./configure
  • make
  • sudo make install

Que facil habría sido si solo hubiera tenido que hacer esos cuatro pasos. En un principio tenía mal instaladas las XTools para hacer correctamente la compilación y posterior linkado. Despues de muchos quebraderos de cabeza decidí reinstalar XTools y conseguí compilar la dichosa librería. Cual es mi sorpresa cuando al instalar la nueva librería y arrancar apache me seguí diciendo lo mismo que con las librerías que me había bajado por internet.

Así es que la única solución era hacerme una nueva instalación de AMP completa. Para ello lo mejor que encontré fue MacPorts.

MacPorts es una especie de Synaptic de Ubuntu pero para OSX y mediante terminal en vez de tener interfaz gráfica. Pues me vino a las mil maravillas.

Este software es lo mejorcito que he visto para OSX en mucho tiempo. Simplemente decides que paquetes quieres instalar de la larga lista de paquetes disponibles mediante un port list en terminal, o si quieres buscar uno específico utiliza port search xxx. Seleccionas el paquete que deseas instalar y simplemente port install xxx, y a partir de ahí, lo único que tienes que hacer es sentarte y esperar a que termine. Una vez terminado el proceso, si hace falta alguna configuración adicional te lo mostrará como un mensaje en la consola.

Lo dicho, de lo mejorcito que he visto…

TypeTester


Hace mucho tiempo que llevo usando esta mini aplicación web que permite comparar diferentes fuentes para ver como quedará en la web. A la vez que pruebas la fuente puedes probar el color, tamaño, colo de fondo, etc… con lo que se puede ajustar el formato que necesites al milímetro.

Una vez decidido el formato adecuado es posible descargar un fichero .css que contiene el estilo creado.

Muy útil, os lo digo en serio…

app: TypeTester

Fuentes 2009

Por estas fechas se suelen llevar a cabo en la esfera bloguera recopilaciones de cualquier cosa, algo así como juntar todo lo bueno que ha tenido un año en un aspecto. En los blogs de diseño se suele hacer recopilación de las fuentes más significativas a lo largo del año. Así es que yo no voy a ser menos y voy a poner las 5 que más he utilizado a la hora de crear mis pequeños proyectos (todas ellas gratuitas). Aquí están:

FontForge

Aunque tenga una interfaz fea fea, y que casca unas veces sí y otras también (al menos para OSX, no se para Linux como será de estable) este pedazo de software me acaba de salvar unos cuantos euros.

Resulta que esta tarde me he instalado una fuente desde DaFont.com con la que estuve trabajando el otro dia en un logo en un ordenador con Windows  XP. La fuente en cuestión es Go Long por Matthew Welch (guapísima por cierto). Cual es mi sorpresa al arrancar Illustrator y no encontrar la fuente recien instalada en la lista de fuentes disponibles. Me bajara de donde me bajara la fuente al instalarla no me la listaba ni en Illustrator ni en Photoshop. Pensé que debía ser un problema con la fuente porque era la primera vez que me pasaba. Así es que arranqué el Catálogo tipográfico y haciendo click con el botón derecho en la fuente (aquí si que me la listaba), seleccioné la opción “Validar tipo de letra”. Me daban dos problemas leves uno en la tabla ‘name’ y otro en la tabla ‘hhea’.

Creo que el principal problema radicaba en la tabla ‘hhea’ ya que el problema que daba en la tabla ‘name’ era debido a que tenia diferente nombre para MAC que para Windows (Go Long y GoLong respectivamente) pero el problema de ‘hhea’ era más gordo por lo visto.

Me puse a buscar qué información se almacenaba en dicha tabla y me encontré con esta página de Apple Developer donde explican claramente la información ‘hhea’:

The 'hhea' table contains information needed to layout fonts whose characters are written horizontally, that is, either left to right or right to left. This table contains information that is general to the font as a whole.

Telita, pensé, según lo visto si hay problemas con esta tabla mal vamos. Así es que me puse a investigar e intentar encontrar algún programa que me dejara convertir la fuente a algún formato nativo de Mac. Solo encontraba software de pago y, la verdad, pagar por un software que de momento solo me iba a servir para arreglar una fuente pues como que no.

Gracias a la zona de utilidades varias que tienen en MyFonts.com descubrí FontForge una completa aplicación que me vendría a las mil maravillas para realizar mis cambios y ver si podía salvar la fuente.

Instalé, arranqué, cargué la fuente y guardé como .dfont (Data fork resource Font), la cual ya pude instalar y utilizar en mi trabajo.

Si alguien quiere la fuente para OSX que me la pida, la tengo por aquí a buen recaudo ya que supongo que le pasará lo mismo a cualquiera que instale la fuente directamente desde DaFont.com.

Cacoo

Para el proyecto que tengo entre manos en estos momentos hemos decidido, mi compañero y yo, hacerlo muy bien desde el principio, y para eso hace falta documentar, documentar mucho y con calidad.

En toda documentación que se precie tiene que haber imágenes, porque una imágen vale más que mil palabras y en el caso de recurrir a la documentación cuanto antes te aclare lo que estás buscando mejor que mejor. Para crear estas imágenes hay mil y una formas, a pelo con illustrator, photoshop, diagramas con openoffice, mil historias, pero esta herramienta gratuita me ha gustado mucho.

Con Cacoo puedes hacer imágenes con dibujos precreados o hacer los tuyos propios para despues exportarlo a .png. Todos los dibujos y diagramas serán guardados en tu cuenta

Cacoo

Mireia Pérez

Cuando empezó esto de los blogs en España había una chica de Valencia que era (y sigue siendo) una auténtica artista. Cuando yo estudiaba en la UPV, creo que iba por el tercer año ya, ella entraba en la facultad de Bellas Artes. No la conozco en persona, pero creo que hay personas como ella que habría que tener como referente e ir siempre investigando como y por donde se mueve porque artistas como ella hay bien pocas.

Algún dia, cuando esté forrado y tenga casa, la contrataré para que me haga un mural en alguna habitación.

Mireia Pérez
Flickr de Mireia
Blog de Mireia
Canal de Mireia en Youtube

Todas las imágenes son propiedad de Mireia Pérez

upd: Esta semana me pasaré por Ubik y me pillaré un cuento de estos, a ver si queda alguno. Un regalo de vez en cuando a uno mismo no viene mal…

Pass fail

No me había parado a pensar nunca en lo feas que son las tarjetas de embarque. Bueno, supongo que no me había parado a mirarlas más que nada porque si se tercia no cojo más de un avión al año.

Pero por lo visto Tyler Thompson si que se ha fijado (seguro que debe cojer más aviones que yo) y ha abierto un post sobre el rediseño de tarjetas de embarque ofreciendo un par de alternativas como esta:

Sin palabras

Via ISO50.

Por cierto, el footer de la página de Tyler Thompson no tiene desperdicio:

Hi, if you are coming to this site via Internet Explorer 6, you might not be getting the best experience possible. Honestly, I can’t even begin to think about what your entire experience on the internet must be like? (…probably like riding a bike on the highway while cars blow by you on their way to Costco to get gallons of mayonnaise and 60-inch plasma TV’s). How will you ever be able to use this website?????? You wont. You’re an asshole and your browser is an asshole. So look, I’m going to be honest: I kind of hate you. BUT we c-a-n make this work. Here is what I am going to need you to do: fire up your Toshiba ShitBook© that weighs about 45 pounds, wipe the Cheeto dust off the screen, download Safari, delete Internet Explorer from your computer, punch yourself in the face, and get me a pulled pork sandwich.

¡¡¡¡ Kill ie !!!!

Operaciones via ftp en php

Un gran problema de trabajar con servidores compartidos es que te capan un montón de cosas. Entre ellas la grabación de ficheros subidos desde un formulario via web. Nunca he entendido esto, supongo que será para cubrirse las espaldas y no tener problemas si algún desalmado se hace con tu usuario y trastea en tu cuenta.

Por un lado me parece bien, pero para la gente que se tiene que dejar los cuernos en buscar alternativas a la subida normal de archivos me parece una guarrada.

En fin, el caso es que encontré que para cualquier operación en el servidor que implique permisos de administración (crear un fichero, crear un directorio, cambiar permisos, etc…) normalmente el usuario destinado a las operaciones de ftp suele tener dichos permisos con lo que simplemente con abrir una conexión con el usuario de ftp nos servirá.

Por ejemplo, para crear un directorio se haría de esta forma. (Notese que yo tengo los datos del usuario ftp en un fichero aparte con defines con lo que uso las variables _FTP_X para iniciar la conexión con el servidor)

static public function mkdir_ftp($path,$mod)
{
$path = _FTP_ROOT_.$path;

$ftp_user_name = _FTP_LOGIN_;
$ftp_user_pass = _FTP_PASS_;
$ftp_root = _FTP_ROOT_;
$ftp_server = _FTP_SERVER_;

// conexión básica
$conn_id = ftp_connect($ftp_server);

// login con nombre de usuario y password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$success=false;
// intentamos crear el directorio $path
if (ftp_mkdir($conn_id, $path)) $success=true;

//Cerramos la conexión
ftp_close($conn_id);

return $success;
}

Escuchando el Mixtape de Kayo

Contact Form 7

Para el nuevo portfolio que me estoy creando decidí utilizar WordPress como CMS. Estuve dudando unas horas por utilizar Indexhibit y no descarto usarlo alguna vez en mi vida pero me decidí por WordPress porque quería meterle mano en algún momento a la creación de temas.

Para la creación del portfolio, como no, tenía que tener una sección de contacto. Nunca me había parado a pensar como hacer un formulario en WordPress, y de hecho siempre creí que lo más sencillo sería poner el código en una página con el editor en formato HTML.

Pero estaba equivocado.

La forma más simple de hacer un formulario en WordPress es utilizar el plugin Contact Form 7. Es tan simple que asusta, solo hay que poner los campos en su apartado de administración y mediante ajax se encarga de enviar el formulario a la dirección de correo electrónico indicada.

También es posible utilizar Akismet para la prevención de spam con solo poner un tag en el campo deseado (akismet:author por ejemplo)

Veremos a ver si luego, por usar el mismo sistema que en el blog, tengo problemas por tener dos instalaciones de WP, pero hasta que eso pase (si es que pasa) le daremos un voto de confianza a WP y a mi mismo.

Unos cuantos enlaces:

Página principal Contact Form 7
FAQ CF7
Sintaxis de las etiquetas CF7
Filtro anti-spam con Akismet

Prestashop

Hace tiempo estuve tentado de instalar Prestashop para un cliente, pero las prisas (siempre malas consejeras) y las necesidades de este me llevaron a crear una tienda basada en PS pero un tanto modificada.

Ahora un nuevo potencial cliente si que se adecúa mucho más a una instalación completa de este software, así que empecé hace nada a instalarlo en mi servidor local y ver que tal funcionaba, desechando antes soluciones como Magento, ya que primero la instalación me llevaba loco y segundo y más importante la instalación no funcionaba para PHP 5.3. Había formas para saltarse estas restricciones cambiando código para que el sistema dejara instalar (sobre todo había problemas con las funciones split o explode, no recuerdo). El caso es que Magento te deja un mal sabor de boca si nada más empezar tienes que ponerte a cambiar código.

Trasteando con el backEnd de PS me he encontrado con un problema que buscando por internet he logrado solucionar. Resulta que simplemente instalando el software, si accedía a la sección de administración de los módulos me salía el siguiente error:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 107 bytes) in xxxModule.php on line 440

Que sorpresa que nada más instalar el software ya te salga un error de este calibre. Está claro que para cargar la sección de módulos hace falta una memoria bastante grande así es que buscando por internet encontré la solución en este post donde se soluciona la incapacidad de administrar los módulos en prestashop.

Lo que hay que hacer es poner una línea de código en el fichero de configuración de tu instalación (normalmente /config/config.inc.php) donde se le indica al sistema que no tiene límites en la reserva de memoria:

@ini_set('memory_limit','-1');

Esto también me pasaba al intentar administrar las formas de pago, pero con la línea de arriba parece que todo queda solucionado.

Un par de enlaces útiles que he encontrado para la instalación, configuración y diseño de Prestashop son estos:

Todo Prestashop
Prestashop user guides
Temas gratuitos para Prestashop por 2link

Página oficial de Prestashop