Written by:
daniel

May 7, 2008
El otro día he encontrado este interesante proyecto de servidor de mensajes multimedia escrito en el php. Gracias a él podemos enviar archivos multimedia directamente desde nuestro móvil al servidor web y a coste de conexión a internet que suele ser bastante menor que el de envío de mms.
El sistema parece que funciona bastante bien, incluso hay una demo para probar el envío.
La única desventaja de esta solución es que nos obliga a cambiar la configuración de nuestro teléfono, lo cual la hace un poco inviable para clientes finales. Pero si buscas algo simple para blogguear desde tu móvil o tienes un grupo cerrado de usuarios (para poder reconfigurarles los dispositivos) es una solución intereasante.
Por si a alguién le interesa, pongo mi configuración del nokia n70 para intentar enviar mensajes a la apliación demo.
Vamos a la configuración de puntos de acceso y añadimos uno nuevo:
Nombre - Heyman MMS (puedes ponerle lo que quieras)
Portador de datos - paquees de datos
Nombre punto de acceso: internet
Nombre usuario: Ninguno
Petición contraseña: No
Autentificación: Normal
Página de inicio: http://heyman.info/mms/get.php
Luego vamos a ajustes avanzados y le ponemos:
Tipo de red: IPv4
Dirección de IP: Auto
Servidores nombres: Auto
Dir. Serv Proxy: Ninguno
Núm puerto proxy: 0
Una vez configurado el punto de acceso, vamos al ménu Mensajes y se lo configuramos como él por defecto para el envío de los mms.
Ahora ya podemos intentar enviar un mensaje multimedia. Le ponemos cualquier número (por ejemplo 0) y en cuestión de segundos debe aparecer en la web.
Y qué hacer si queremos recibir mensajes sin tener que reconfigurar el teléfono? No estoy seguro, pero parece que los modems que tienen los móviles permiten el acceso tan sólo a los mensajes de texto. Quizás la solución sería usar un modem gms conectado directamente al pc.
Posted in php
3 Comments »
Written by:
daniel

May 4, 2008
Últimamente estoy jugando un poco con el python en mi nokia70. Está bastante bien, porque con relativamente poco esfuerzo se pueden hacer cosas interesantes, lo cual convierte a este lenguaje en una solución casi idónea para hacer protótipos rápidos.
Ayer estuve probando una cosa y me lleve una sorpresa bastante desagradable. Resulta que después de acutalizar al Ubuntu 8.04, dejó de funcionar la conexión de puerto serie via blutooth entre mi pc y el móvil.
A pesar de anunciar el servicio con sdptool:
sdptool add –channel=1 SP
y recibir una confirmación, el teléfono no es capaz de detectarlo y sigue dando el error “no serial ports found”.
Busqué un poco en el google y parece que hay más personas afectadas, aunque sin encontrar ninguna solución por ahora. ¿Quizás sea un bug en Ubuntu?
Lo he registrado en el launchpad. Puedes ver como evoluciona aquí.
ACTUALIZACIÓN 15.02.2008:
parece que hay más afectados. mira aquí
Posted in linux
No Comments »
Written by:
Maciej Grajcarek

May 3, 2008
Last night, during installation of the CakePHP application on clients production server, a weird problem appeared. All requests to controllers actions returned : “Error: The requested address ” was not found on this server”. At the same time, access to webroot was incessant.
If you have the same problem, try this three steps:
- make sure you have an access to the database, and there are all necessary tables,
- check if you tmp folder is writable,
- delete all cache files from the temp subfolders.
That should fix the problem.
Posted in cakephp
42 Comments »
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
5 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
1 Comment »
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
6 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 »