Written by:
Maciej Grajcarek

May 1, 2008
Perhaps you have been in a situation when you need to put your cake-based web site in a maintenance mode. Our solution to this problem is very easy and flexible. All you need to do is to download the appropriate module from our svn repository and put files in the proper folders.
Next step is to include the maintenance component in app_controller
var $components = array('Maintenance');
The last thing you have to do is to set parameters in the MaintenanceComponent.
var $active = true;
var $redirect = '/maintenance';
var $usePassword = true;
var $accessPassword = 'secretPassword';
As you can see, you can easily activate/deactivate maintenance mode and allow the users who know the password access the site.
Also, all access requests to the site from the localhost will be allowed.
Posted in cakephp
No Comments »
Written by:
daniel

May 1, 2008
Jako ze ten blog notuje sporo odwiedzin z Polski, chcialem powitac wszystkich naszych polskich czytelnikow!
Mam nadzieje, ze posty pisane w innych jezykach nie beda problemem (w koncu kod jest tyko jeden) z drugiej strony pewnie wkrotce pojawi sie wiecej tekstow po polsku.
Tytulem wstepu pare slow o nas: DevAyd to nieformalna grupa programistow skupiona wokol AyDMultimedia, niewielkiej firmy informatycznej z siedziba w Palma de Mallorca, Hiszpania.
Chcemy publikowac tutaj wiadomosci na temat projektow, ktorymi sie akurat zajmujemy. Na ten moment, w wiekszosci sa to komponenty do frameworka cakephp i inne projekty opensource.
Mozna sobie sciagnac kod z naszego serwera svn:
http://anon:anon@websvn.devayd.com
Milego czytania!
Posted in random
No Comments »
Written by:
daniel

May 1, 2008
Hace poco, IB3, una de las cadenas de televisión locales en Mallorca ha empezado a emitir en TDT. Pero Kaffeine de ninguna manera quería encontrarlo. Resulta, que eso se debe a que Kaffeine (como muchos otros programas que manejan TDT) usa un archivo preterminado de canales (o frecuencias) para buscar los que están activos.
Este archivo lo configuramos en el menu: DVB -> Configure DVB y en el caso de Mallorca es el “es-Alfabia”.
Buscamos dónde se encuentra en el disco:
find ~ -name es-Alfabia
en mi caso está en:
/home/daniel/.kde/share/apps/kaffeine/dvb-t/es-Alfabia
y lo reemplazamos por uno que encontramos aquí:
http://linuxtv.org/hg/dvb-apps/file/46566e506acd/util/scan/dvb-t/
yo lo he hecho con un simple copiar y pegar en el gedit.
Ahora reiniciamos kaffeine y volvemos a buscar los canales. El de IB3 ya se encuentra ahí.
Posted in linux
No Comments »
Written by:
daniel

April 29, 2008
Hace poco necesitaba un sistema de comunicación en “tiempo real” para un proyecto no comercial que estoy haciendo y estaba curioso si se podía hacer un simple servidor de sockets en php.
Claro, el php no sea quizás el lenguaje ideal para este tipo de cosas, pero quería tener algo donde podría reutilizar fácilmente el código que ya tenía escrito, integrarlo fácilemente con el cakephp (ya escribiré otro post sobre ello) y todo, sin perder demasiado tiempo.
Buscando en el internet he encontrado esta web donde hay muy buenos ejemplos de cómo escribir algo por estilo. Además este buen hombre afirma que su servidor, tambien escrito en php, lleva muchos días funcionando sin dar problemas. Así que reutilizando un poco el código y añadiendo un par de cositas he creado nuestro propio socket server.
Sus caracteristicas son los siguientes:
- escrito en el php
- soporta varios formatos de comunicación (por defecto xml o ‘texto plano’)
- compatible con clientes flash
- fácilmente extensible
- con una interfaz web
Hacerlo funcionar es muy fácil, tan sólo hay que crear una clase que hereda del socket_server y añadirle sus propias funciones.
Aquí hay un ejemplo:
http://anon:anon@websvn.devayd.com/wsvn/public/vendors/socket_server/server_example.php
una vez ejecutado el servidor podemos conectarnos por ejemplo con un cliente telnet:
telnet localhost 8080
probamos la funcion echo, usando el formato raw (mira la clase RawProcessor)
echo#|#|#prueba de la funcion echo
y como respuesta recibiremos:
echoResponse#|#|#0#|#test
En el paquete viene un cliente php, que usa una clase Message para gestionar fácilmente los comandos que se envían y reciben.
En el código tenemos algo así:
$msg = new Message(‘echo’, array(’hello world’), $cliente);
Aunque esta solución es bastante simple y quizás le falta un poco de trabajo para hacerlo más estable, usando este Socket Server podemos tener un servidor de sockets funcionando en questión de minutos.
Es muy fácil tb usando este código adaptarlo a otros lenguajes. Nosotros hemos creado clientes del socket server por ejemplo en python o java.
El código para descargar está aquí:
http://anon:anon@websvn.devayd.com/wsvn/public/vendors/socket_server/?op=dl&rev=0&isdir=1
Posted in cakephp, linux, php
No Comments »
Written by:
daniel

April 28, 2008
Un día de la semana pasada al iniciar mi ordenador, éste se ha quedado bloqueado con el led del disco duro encendido y sin poder arrancar del todo. He probado distintas configuraciones de arranque pero no había manera de que llegase a funcionar correctamente.
Estaba sospechando que era algún problema físico del disco duro, ya que este ordenador tiene sus años (y los mejores, creo que ya han pasado hace tiempo), pero al buscar en el google el error que me daba:
“Duplicate or bad block in use!” he encontrado estas dos entradas muy útiles:
http://www.tuquito.org.ar/tukipedia/index.php?title=Duplicate_or_bad_block_in_use!
http://ubuntuforums.org/showthread.php?t=35591
media horita de escaneo del disco (que por cierto ha detectado incontables problemas, pero por suerte no tuvo ninguno para arreglarlos) y “hemos recuperado el pulso, doctor!”
hay que tener en cuenta que en caso de tener este tipo de problemas en el disco se debe actuar rápido, ya que con el tiempo se va estropeando más y más y a la larga puede ser difícil recuperarlo.
Posted in linux
No Comments »
Written by:
daniel

April 25, 2008
Aparentemente con el módulo midgard_dbus, podemos enviar mensajes desde un script php a otras aplicaciones que que se conectan a dbus.
hay un ejemplo aquí:
http://blogs.nemein.com/people/piotras/view/1207652141.html
esto permitiría una comunicación instantánea entre los scripts php y por ejemplo alguna aplicación de escritorio (si lo recuerdo bien por ejemplo skype usa dbus para comunicarse con sus plugins)
¿Cuántas cosas chulas se podrían hacer con eso? Ya se me ocurren unas cuantas 
Posted in linux, php
No Comments »
Written by:
daniel

April 23, 2008
El año pasado creamos bastantes componentes de código abierto, que aunque no se vean de cara al cliente, te hacen el desarrollo menos pesado. Entre ellos, mi favorito que sin duda es el Deployment Module o sea el módulo de publicación.
En la empresa normalmente trabajamos de la siguiente manera:
- todo el código está en nuestro servidor svn
- cada desarrollador tiene su copia privada y un servidor web local donde hace el desarrollo
- hay un servidor de prueba donde ponemos los progresos de la aplicacion “para que el cliente lo vea”
- finalmente hay un servidor de producción donde se aloja la aplicación cuando ya está lista para la publicación
Cuando trabajas con mucha gente, un servidor de gestión de código como svn es indispensable para evitar los problemas tipo sobreescribir el código por otra persona y en fin, controlar las versiones. Pero a la hora de trabajar con un servidor ftp externo, te encuentras constantemente con la situación en que tienes que pensar qué archivos has actualizado en el svn y cuales tienes que subir al ftp. Esto huele al hacer el doble trabajo y yo personalmente lo encuentro bastante engorroso.

Así que este módulo nos da una posible solución a este problema.
La idea original es de Felix Geisendörfer, nosotros modificamos un poco su código y le añadimos una interfaz web, para hacer el tema más fácil.
Instalación
antes de empezar
- debes tener instalado el cliente svn en el ordenador donde se ejecutará este módulo
- configura en tu php.ini: output_buffering = Off
así podrás ver línea por línea, como se actualizan los archivos
- Descarga la última versión del módulo aquí: http://anon:anon@websvn.devayd.com/wsvn/public/modules/deploy/trunk/?op=dl&rev=0&isdir=1
y cópialo a la carpeta APP de tu proyecto.
- edita el archivo APP/controllers/depoy_controller.php
- en los servidores ftp tienes que crear el archivo /app/webroot/revision.txt con la revisión 0
- El archivo revision.txt debe estar disponible tb via www http://tuproyecto.com/revision.txt ya que el módulo compara las versiones ftp y svn conectándose via http. en los proyectos nuevos, antes de que los .htaccess hagan bien el redireccionamiento puede que tengas que crear una copia del archivo en la carpeta base del servidor ftp.
si usas linux quizás puede usar un script como éste para automatizar la configuración
Como usarlo
La actualización es fácil:
- los cambios que hagas en el proyecto los subes al svn (check in…)
- luego abres la página en tu servidor local /admin/deploy
- seleccionas el ftp que quieres usar y le das “update”
- ahora verás como se suben los archivos al ftp
listo 
Posted in cakephp
No Comments »
Written by:
daniel

April 22, 2008
I have updated today my firefox under Ubuntu Feisty. This was one of the automatic updates built in the system:
Synaptic -> File -> History
firefox (2.0.0.13+1nobinonly-0ubuntu0.7.10) to 2.0.0.14+2nobinonly-0ubuntu0.7.10
firefox-gnome-support (2.0.0.13+1nobinonly-0ubuntu0.7.10) to 2.0.0.14+2nobinonly-0ubuntu0.7.10
…and since then the browser dies badly while browsing or using gmail.
Could it be a bug in the new version on linux? Firefox has always been hungry on system resources (mostly memory) but the system I am on right now is quite robust and this problem makes it hardly usable. Hopefuly the new ver 3. will be out soon and will bring some peace to all of us.
In the meanwhile, testing some other browsers.
Posted in linux, random
1 Comment »
Written by:
daniel

April 20, 2008
Bienvenidos al blog de devayd en castellano. La idea principal de este blog es crear un espacio de intercambio de información para nuestro grupo de trabajo, pero espero que también vosotros podáis encontrar aquí información que os interese.
Para empezar, me gustaría hablar un poco de nuestro repositorio svn, dónde están incubando varios pequeños proyectos, módulos y utiliadades, tanto de cakephp como otros.
el repositorio tiene una interfaz web, con lo cual es muy fácil echárle un vistazo, para ver lo que hay allí. Accedemos al:
http://anon:anon@websvn.devayd.com
como podéis ver el nombre de usuario y la contraseña son respectivamente “anon” y “anon”.
Algunos de los módulos que solemos usar normalmente son:
Contact Form
plantillas para añadir un formulario de contacto a nuestra web. además del formulario contiene también las plantillas de mensajes de correo etc.
http://websvn.devayd.com/wsvn/public/modules/contact_form/#_modules_contact_form_
Dynamic Pages
un simple cms. integrado con el tradicional controlador de cake “pages”
http://websvn.devayd.com/wsvn/public/modules/dynamic_pages/#_modules_dynamic_pages_
Maintenance
muy útil cuando quieres dar el acceso a la web sólo a las personas autorizadas y mostrarle al resto del mundo un mensaje tipo “ahora estamos haciendo mejoras en nuestra web”.
http://websvn.devayd.com/wsvn/public/modules/maintenance/#_modules_maintenance_
Deploy
indispensable a la hora de trabajar con svn y un servidor externo de ftp. automáticamente detecta los archivos que han cambiado y envía sólo éstos. ¡ahorra mucho tiempo!
http://websvn.devayd.com/wsvn/public/modules/deploy/#_modules_deploy_
Log Reader
una interfaz gráfica para revisar los logs de cake
http://websvn.devayd.com/wsvn/public/modules/log_reader/#_modules_log_reader_
¡ojo! estos proyectos están en un desarrollo constante, es posible que algunos haya que configurarlos para que puedan ser usados. quizás en un futuro publique un manual más completo de cada uno de ellos.
Posted in cakephp
No Comments »
Written by:
admin

April 19, 2008
Welcome to the DevAyd blog. A place to share and publish info about our projects, experiments and other stuff that we are currently working on.
DevAyd is a development group closely releated but not limited to AydMultimedia, a small dev company based in Palma de Mallorca, Spain, but focused more on research and open source development.
Hopefully you will find some interesting stuff here. Have fun reading!
Posted in random
No Comments »