Inicio

Ampliació de RAM al portàtil i el Murci se’n va Xina 2 mesos

Què té que veure una cosa amb l’altre? doncs res de res. Simplement dues coses que varen passar ahir de les moltes. Va ser un dia molt intens ahir sort que no tots són així. Diguem que de les 6.00 a les 0.00 va ser un no parar. Com que no tot es pot explicar per un blog, aquí teniu dues coses importants.

ram400300.jpg

Finalment he decidit ampliar la memòria del portàtil a 1Gb de RAM. Així doncs, ara tinc una bona màquina amb 1Gb de RAM i 100Gb de disc dur. Que amb els 1.2GHz del Pentium Mobile això va prou bé.

Ara la notícia de veritat, ahir a la Daphne li van donar la beca per anar dos mesos a estudiar xinès a Pequin durant dos mesos aquest estiu. Així doncs, em quedaré dos mesos solet :'( però bueno diguem que per una bona causa i així podré anar-la a veure a Xina i m’escapo uns quants dies de tan treballar.

cookbook: importar projecte de symfony al subversion

Petit cookbook de com hem d’importar un projecte que estiguem programant amb el framework symfony. Primer creem el directori del repositori on volem pujar el projecte, anem al directori del projecte. Borrem els directoris log i cache del qual no ens interessa mantenir un control de versions. I després importem el projecte.

svn mkdir -m "NOTA: Creem directori on hi posarem projecte" http://exemple.com/svn/repos/projecte/dev
cd directori_projecte_symfony
rm -rf log
rm -rf cache
svn import -m "NOTA: importem primera versio del projecte" . http://exemple.com/svn/repos/projecte/dev

Ara movem el directori actual del projecte i en creem un de nou, que ja tindrà control de versions. Fem un checkout (co) de la versió que em importat abans i defenim que els directoris log i cache no s’importaràn mai quan fem un commit (ci). Després creem els directoris en qüestió i els assignem un propietari igual al del procés d’apache perquè aquest el pugui escriure-hi mentre esta execucutant el nostre projecte symfony.

mv directori_projecte_symfony directori_projecte_symfony.bak
mkdir directori_projecte_symfony_amb_svn
cd directori_projecte_symfony_amb_svn
svn co http://exemple.com/svn/repos/projecte/dev .
svn propedit svn:ignore .
log
cache
mkdir log
mkdir cache
chown apache:apache log
chown apache:apache cache

PHP5: passant objectes com a paràmetre en una crida SOAP

Update: LES CONCLUSIONS D’AQUEST ARTICLE SÓN ERRONEES MIREU: PHP5: passant i tornant objectes com a paràmetre en una crida SOAP (Part II)

Treballant en un projecte que estem programant en PHP5 em va sortir aquest dubte, sobretot després de llegir les limitacions dels servidors SOAP que implementa PHP5. El tema finalment té una resposta positiva: SI, PERO…. A continuació us poso un exemple de com funciona aquest tema amb el PHP5 i quines limitacions té.

Definim el servidor SOAP que com podeu veure és senzillissim, l’únic que fa el servidor és re-enviar el mateix objecte que ha rebut.

<php
class SOAPservice {
        function peticion($per) {
                return $per;
  }
}
$server = new SoapServer("server.wsdl");
$server->setClass("SOAPservice");
$server->handle();
?>

A continuació podeu veure el codi del client, és un codi molt senzill de només dues línies. Com podem veure primer definim la classe persona i abans de cridar el client SOAP instanciem la classe, després usem aquest objecte com a paràmetre a la crida SOAP. Capturem l’objecte que ens retorna el servidor SOAP i a continuació mostrem el seu contingut amb l’ordre print_r.

<?php
/*
 definim classe persona
*/
class persona {
        public $nom;
        function setNom($nom) {
                $this->nom=$nom;
        }
        function setCognom($cognom) {
                $this->cognom=$cognom;
        }
        function getNom() {
                return $this->nom;
        }
        function getCognom() {
                return $this->cognom;
        }
}
/*
 creem objecte tipus persona
*/
$myPersona=new persona;
$myPersona->setNom("el_nom");
$myPersona->setCognom("el_cognom");
/*
 fem una crida SOAP amb un objecte com a parametre
*/
$client = new SoapClient("server.wsdl");
$myObj=$client->peticion($myPersona);
/*
 mostrem objecte generic que retorna la crida SOAP
*/
print_r($myObj);
?>

Si mirem la sortida que ens dona quan cridem el client podem veure que l’objecte que torna no és del tipus persona sinó d’un tipus intern del PHP5 anomenat stdClass. Aquest objecte només disposa dels atributs públics. No podem accedir als atributs privats o protegits i hem perdut tots els mètodes siguin del tipus que siguin.

stdClass Object
(
    [nom] => el_nom
    [cognom] => el_cognom
)

Això és tot el que he pogut aconseguir, no és gaire però com a mínim a mi m’ha estat suficient.

Envinat SMS amb el mòbil des del Linux

Screenshot-KMobileTools.png

Fa molt de temps que buscava una eina que em permetés fer aquesta xorrada amb el Siemens S45, havia trobat diversos programes que ho feien en mode text, però jo volia alguna cosa molt més trivial via finestres. Algo que no hagués de configurar gaire i que sempre ho tingués a mà quan haig d’escriure un SMS que fa una mandra increible amb el carai de teclat de mòbil.

Ahir tot llegint el bloglines em vaig trobar una eina que malgrat estar basada en KDE esta prou bé: kmobiletools. A més de poder llegir i enviar SMS amb el mòbil. També permet despenjar, penjar i trucar amb mòbil. A més aprofitant que tan el portàtil com el mòbil tenen bluetooh he configurat l’rfcomm per establir un ellaç serie i així no he de tenir cap cable pel mig que em molesti.

També s’ha de dir que el programa no és res de l’altre món i que l’eina de gestió de missatges és una mica ‘cutre’, per no parlar de l’eina de gestió de l’agenda que fa el que pot pobreta. Però algo és algo. A més és força lleuger el programa i com que ja havia de tenir les llibreries QT i les KDE carregades per altres temes, tampoc ve d’aquí el desgast de memòria.

digi AnywhereUSB (USB over IP)

Fa un temps vaig publicar un article que parlava justament d’un producte igual que el que us parlaré en aquest article. En l’article en qüestió em queixava que només suportava dispositius 1.1 el producte de digi suporta també USB 2.0 tot i que com que la conversió a IP la fa sobre una xarxa a 100Mbps també limita la seva velocitat a 12Mbps (velocitat màxima del USB 1.1), però malgrat tenir el mateix problema que el producte que us comentava aquest dispositiu és molt més professional, tan en l’acabat com en les altres prestacions així que jo diria és el millor servidor IP USB que he trobat fins ara.

anywhereusb.jpg

Un parell de documents (.pdf) per completar l’article, si us interessa el tema us aniran bé:

Scroll to Top