Proyectos de Domingo

Mac OS 10.10 Yosemite, instalando módulos extra de PHP

OS X Yosemite

Este post no pretende ser un tutorial paso a paso ni mucho menos, son sólo algunas notas rápidas sobre el tema que pueden ser de ayuda a los «early adopters» del Yosemite o nerds en general. Recomiendo leerlo completo antes de hacer nada.

Antes que nada hay que instalar las Command Line Tools (requiere de un Apple Id).

Dependiendo de los módulos que queramos con esto puede ser suficiente para instalarlos via pecl, pero si queremos instalar un módulo que viene con php pero que Apple decidió no compilarlo, debemos descargar el código fuente de la versión de PHP que viene ya incluída en Yosemite, es el 5.5.14.

Descomprimirlo y configurarlo con la siguiente línea (que es como viene configurado ya en OS X, comprobarlo con phpinfo() por las dudas):

./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info \
--disable-dependency-tracking --sysconfdir=/private/etc --with-apxs2=/usr/sbin/apxs \
--enable-cli --with-config-file-path=/etc --with-config-file-scan-dir=/Library/Server/Web/Config/php \
--with-libxml-dir=/usr --with-openssl=/usr --with-kerberos=/usr --with-zlib=/usr --enable-bcmath \
--with-bz2=/usr --enable-calendar --disable-cgi --with-curl=/usr --enable-dba --with-ndbm=/usr \
--enable-exif --enable-fpm --enable-ftp --with-png-dir=no --with-gd \
--with-jpeg-dir=/BinaryCache/apache_mod_php/apache_mod_php-93~55/Root/usr/local \
--enable-gd-native-ttf --with-icu-dir=/usr --with-ldap=/usr --with-ldap-sasl=/usr \
--with-libedit=/usr --enable-mbstring --enable-mbregex --with-mysql=mysqlnd --with-mysqli=mysqlnd \
--without-pear --with-pear=no --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/mysql/mysql.sock \
--with-readline=/usr --enable-shmop --with-snmp=/usr --enable-soap --enable-sockets \
--enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --enable-wddx --with-xmlrpc \
--with-iconv-dir=/usr --with-xsl=/usr --enable-zend-multibyte --enable-zip --with-pcre-regex=/usr

Si todo sale bien aquí podríamos hacer make, make install y listo, o si no podemos copiar los headers requeridos en /usr/include/php, etc. y luego compilar los módulos que nos interesen, por ejemplo mcrypt:

cd ext/mcrypt/
phpize
./configure
make
make install

En cambio si queremos soporte png para el módulo gd, no nos queda otra opción que compilar php nuevamente con el mismo «configure» anterior pero simplemente quitando este switch «–with-png-dir=no».

Ya que estamos podemos agregar este también «–enable-opcache».

Con APC me di por vencido, y aparte no anda bien junto con el nuevo opcache, pero igual lo necesitaba, así que instalé APCu y por ahora va bien.

Todo lo demás que falte a nivel librerías, lo instalamos con Brew.

Si vamos a compilar php completo, no sólo algunos módulos, ya no hace falta que sea el 5.5.14, podemos instalar uno más nuevo pero, para evitar problemas, yo instalé la misma, que se supone que es la que ellos probaron y debería compilar sin sobresaltos.

Y de hecho lo hizo.

 

UPDATE: Si por ningún motivo aparente aparece un error como este:

PHP Warning:  preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in...

recomiendo compilar php sin esta opción:

--with-pcre-regex=/usr

Esto hace que php use la versión de PCRE que trae incluída en lugar de la desactualizada de OS X. Mágicamente el error desaparece y ciertas expresiones regulares vuelven a funcionar.

 

 

 

Reparación de la entrada auxiliar del stereo

Luego de probar con un par de cables, e incluso «reparar» un cable que andaba bien, llegué a la conclusión de que el problema era la ficha del stereo.

El primer obstáculo a sortear fue quitar el stereo sin la herramienta adecuada. Ya que esto es un «blog» de hacks, entre otras cosas, decidí fabricarla. Los lectores mas perspicaces se darán cuenta que es una percha cortada al medio. No es como la herramienta original, pero funciona.

Herramienta quita stereos (percha)

El stereo se abre bastante fácil, sólo tiene algunos tornillos torx, perdón por las fotos que no se entiende bien el proceso.

Abriendo el stereo

En la parte superior se ve el cable de la ficha, el cable verde suelto es el que agregué yo y luego terminé de soldar, el problema fue que me olvidé de sacar foto y lo volví a colocar. Perdón. De nuevo.

¡Cuidado con el flex al abrirlo!

Ficha en su lugar

Aquí se ve el espacio que ocupaba la ficha, fue bastante complicado quitarla sin tener que desarmar todo, por suerte pude sin romperla.

Aquí va la ficha

El problema era que se levantó una de las pistas donde iba soldada la ficha de 3.5mm. Lo primero que hice fue pegar la pista suelta nuevamente en la placa y luego soldarle un cable y así «puentear» el circuito.

Así quedó el cable soldado

La otra punta del cable fue soldada a la parte trasera del conector blanco.

Así quedó el cable soldado

Antes de volver a armar todo tuve la brillante idea de probar la continuidad para asegurarme que la soldadura haya quedado bien y evitar montar y desmontar todo nuevamente. Para esto le conecté una ficha macho de 3.5mm para poder medir más fácilmente.

Probando continuidad

Aquí se puede ver la ficha nuevamente en su lugar.

Ficha en su lugar

Y aquí nadie vio nada…

Aquí no pasó nada

Aquí está el stereo listo para volver a instalar.

Stereo terminado

Para la próxima, si no cambio el stereo o el auto antes, la idea es meterle un módulo bluetooth que compré escondido adentro. El desafío va a ser tratar de ver si puedo «robar» 3.3v de algún lugar dentro del stereo, si no lo logro, el plan B es esconder una pequeña fuente DC-DC ajustable y robar 12v de la alimentación del stereo, ya tengo todo lo necesario, incluso los cables esenciales del módulo bluetooth ya soldados, con pulso de neurocirujano, con 0,8mm entre cada contacto.

Lo único que me falta -como siempre- es tiempo.

Asiento para triciclo

Esta vez fabriqué el asiento de un triciclo. Originalmente era de plástico, pero a causa del sol se volvió quebradizo y se rompió en mil pedazos.

Triciclo terminado

Empecé con una madera de una reposera que fue oportunamente «cirujeada». El primer paso fue limpiarla un poco con la amoladora y un disco flap (son esos discos con muchos pedacitos de lija superpuestas).

Aquí se puede ver la madera ya limpia y debajo un pedazo en que se ve como estaba originalmente:

Limpiando la madera

Como la madera era muy angosta como para hacerlo de una sola pieza el primer desafío fue enderezarle los bordes con la fresadora para poder pegar dos pedazos juntos y que quede lo más fuerte posible. Aparte de que la madera estaba un poco maltratada, los cantos eran curvos.

La solución que encontré dista mucho de ser la ideal, la mesa de plástico no ayuda a mantener todo muy firme que digamos, pero como la pieza era bastante corta, funcionó. Tengo que hacerme un banco de trabajo urgente.

IMG_3520 copy

Una vez que arreglé los bordes, el siguiente desafío fue hacer una ranura para ponerle en el centro otra pieza de madera para hacer un mejor encastre. En la siguiente foto la madera está apretada en la morsa entre las dos maderas más gruesas.

Rebajando la pieza para el encastre

Una vez que hice las ranuras en el canto de cada mitad del asiento, me puse a fabricar la pieza que iría uniendo las dos mitades. Para eso rebajé una madera para que quede del mismo grosor que las ranuras de la unión.

La pieza que va a ir encastrada entre las dos mitades del asiento

Luego con una sierra y mucho cuidado corté la pieza del tamaño adecuado. Fui probando el encastre y lijando las partes donde era necesario. Acá es importante que el encastre sea casi perfecto, no debería ser necesario hacer mucha fuerza para que se unan todas las piezas.

En la foto se ve como de a poco va encajando sin mucho esfuerzo.

Probando el encastre

Una vez conforme con como encastra todo, lo sujeté en la morsa (tengo que comprar unos sargentos!).

Mientras eso se secaba era hora del «diseño». Usé el Illustrator, que es mas o menos como matar un mosquito con una granada, pero bueno, por qué no.

Creé una silueta de como quería que quede, la imprimí, recorté y con un lápiz marqué por donde iba a cortar luego con la caladora.

Luego con la escofina redondeé un poco los bordes para que sea más cómodo. Los pedazos que corté de la parte delantera del asiento los usé para armar la base.

Antes de seguir probé como encajaría.

Probando...

Para hacer la parte que apoya en el caño del triciclo tomé un pedazo de madera y con la parte curva de una escofina le di forma de manera que apoye lo mejor posible sobre el caño.

El tornillo original que fijaba el asiento no me servía más, era muy corto. Tampoco tenía ganas de ir a comprar uno, así que improvisé y corté un pedazo de varilla roscada que tenía, le soldé una tuerca en la punta superior y lo ajusté al triciclo con una tuerca por debajo del caño, tal cual era originalmente.

Previamente había rebajado un poco la parte superior del asiento para que la tuerca no moleste al sentarse. Traté de que encaje justo para poder ajustarlo del lado de abajo sin que gire «loca» la tuerca soldada en la parte de arriba.

No es el mejor diseño, pero realmente lo que me interesaba era probar pegar las maderas a ver si podía hacer que queden firmes como si fuese una sola pieza. Por ahora lleva ya unos meses de abuso sin incidentes.

Banco de madera gratis

Éste es, por lejos, uno de los proyectos que más tiempo y trabajo me llevó.

Todo empezó cuando en una casa vecina tiraron abajo una araucaria gigante. Un árbol enorme de por lo menos 50 años. Una lástima, pero no iba a dejar que se desperdicie. Las opciones eran un asado o un banco, opté por la segunda.

Sin pintar aún

Antes de ir a trabajar entré todos los recortes que pude, ramas de aproximadamente un metro de largo y de 8 a 15 cm. de diámetro.

Madera

Estuvieron un par de meses apiladas hasta que un día comencé a quitarle la corteza, probé primero con un formón pero tardaba demasiado. Luego probé con un hacha pequeña hasta que encontré una técnica. La idea era de un pequeño golpe cortar la corteza hasta llegar a la madera y continuar el movimiento usando toda la hoja del hacha, cortando tiras de unos 20 cm. de corteza, que todavía estaba húmeda.

Luego de quitarle la corteza y empezar a planificar como armarlo, estuvieron apiladas unos meses más, bajo techo esta vez, en parte para que se sequen bien y en parte buscando el momento en que iba a estar libre para hacerlo.

En la primera oportunidad que tuve comencé a construir las patas, en forma de «h». La idea era hacer una muesca en la madera que quedaría horizontal para que apoye en la pata delantera y otra muesca en la pata trasera donde encajaría la pieza horizontal. Para hacer las muescas empecé con el serrucho hasta la profundidad deseada y luego con el formón y el martillo de goma fui rebajando la madera.

Patas

Inicialmente traté de encolarlas y usar tarugos de madera largos para unir las piezas, pero al hacerlo todo a mano éstas no encajaban perfecto y la unión no era muy fuerte que digamos. Entonces compré tornillos largos a los que luego tapé con tarugos más cortos para ocultarlos.

Patas

Una vez terminadas las patas en «h» seguí por el asiento, de la misma forma con el serrucho y el formón les hice una muesca donde encajarían en las patas y las atornillé y luego tapé con tarugos de madera. Atornillar todo me costó muchísimo, la madera ya estaba muy dura, eso que los había agujereado previamente con una mecha ligeramente más chica que el tornillo.

También probé echarle wd40 y mejoró un poco, pero no era suficiente, seguía rompiéndome las manos. Entonces decidí que era mejor romper una o dos puntas de un destornillador al ajustarlas a un taladro eléctrico, mucho mejor.

Ahora ya tengo un destornillador eléctrico decente, un poco tarde, pero ya ha evitado otras roturas de manos que documentaré en otra ocasión.

Una vez terminado el asiento puse otra madera mas a modo de respaldo y luego otra de refuerzo entre las patas delanteras y otra entre las patas traseras.

El último paso fue taparle todos los tornillos con tarugos, cortarle el sobrante, lijar todo y pintar con Cetol color cedro.

Ya pintado

Luego le corté un poco las patas ya que había quedado muy alto, ya esperaba tener que hacer esto pero decidí dejarlo para el final.

Aquí se lo puede apreciar en su ubicación final:

Terminado y en su ubicación final

Como dije antes, este proyecto fue uno de los que más trabajo me dio (20 hs. como mínimo), pero también uno de los más gratificantes, como la mayoría de las cosas que hago con madera.

Tengo proyectos de electrónica y también de programación (este blog por ejemplo es uno), pero nada terminado y digno de publicar. Sólo es cuestión de tiempo.

 

« Antiguas entradas

Copyright © 2020 Proyectos de Domingo

Tema por Anders NorenArriba ↑