La fi dels dinosaures

agost 25th, 2012

Fa molts anys vaig començar a comprar dominis a Network Solutions.

En aquells moments eren els millors. Eren fiables, de confiança, tenien un servei telefònic on els localitzaves si els necessitaves… i en general complien amb la premisa que després va popularitzar google “no siguis dolent” (don’t be evil).

Et podies refiar que si buscaves un domini allà i el compraves s’enregistrava.

Eren més cars, però compraves qualitat.

Amb el pas dels anys em vaig anar desencisant.

Els seus servidors dns de vegades no resolien el domini, així que vaig deixar d’usar-los.

Van començar a oferir paquets d’allotjament Web, fent la competència als proveïdors d’Internet.

Molts de nosaltres hem treballat a proveïdors Internet i això va ser un cop dur a tots els que oferíem allotjament.

De sobte els nostres proveïdors ens feien la competència.

Molts van deixar de treballar amb els venedors de noms de dominis que oferien serveis d’allotjament web.

Aquest moviment no em va agradar, per part de network solutions i altres empreses que primer només venien dominis, però vaig continuar amb ells perquè encara em semblaven seriosos, tot i que eren molt molt més cars que la competència.

Amb el pas del temps he tingut més disgustos.

Van canviar el procediment per a sol·licitar el traspàs d’un domini de manera que és realment difícil de trobar i d’activar. Tot amb l’objectiu de retenir dominis a qualsevol prou.

I finalment m’he trobat que tots els meus dominis tenien marcada una casella que diu “auto-renew” i que per tant s’auto-renoven sols, és a dir, que quan queda un mes per al venciment, network solutions em carrega a la visa l’import de la  renovació del domini per a un any.

Ho vaig descobrir perquè vaig rebre el càrrec d’un domini que ja no volia i pensava deixar expirar.

Això ja m’ha fet passar del descontentament a aixecar la meva ira màxima puix que no puc desactivar-ho des de la web. M’obliguen a trucar a un número de telèfon dels Estats Units per a desactivar-ho.

Com a la oficina tinc una molt mala cobertura, no em venia gens de gust fer aquesta operació, però no hi havia altra manera.

Vaig voler esborrar les meves targes visa de la seva web, i ¡sorpresa! no es podia. Podia afegir noves targes però no donar de baixa les existents.

Així que la meva rauxa va prendre el control, i vaig decidir que s’havia acabat amb aquesta gent.

Vaig aconseguir canviar la data de caducitat de les targes existents (el número no), de manera que fos incorrecta, i no em poguessin cobrar res més i vaig escriure un missatge al departament de suport queixant-me de tot això i anunciant-los que els tornaria el càrrec i que donaria de baixa tot.

Suposo que els missatges dels clients “VIP” com m’anomenen ells tenen una prioritat, i vaig rebre la trucada l’endemà a les 09:00 hora dels Estats Units.

Cal dir que la persona que em va atendre era molt educada, donant el tracte de Sir,  i tot i la mala senyal que hi havia se’l podia entendre perfectament, i també m’entenia, i treballava amb molta professionalitat. Li vaig explicar la meva frustració amb tot això i em va enviar un mail on lamentava la frustració que m’havien provocat.

Van esborrar les VISA de la web, i van desactivar l’autorenovació de tots els dominis.

Però he entès que n’estic fart de velles glòries que donen un mal servei i que tracten de retenir els dominis de qualsevol manera i amb males arts.

Migraré tots els dominis a d’altres proveïdors, que a més costes 6 vegades menys per domini.

Nota: No migraré a GoDaddy ja que encara que estic satisfet amb el servei, el seu president i fundador va matar un elefant de safari, tal i com explicava al seu bloc.

I això em porta a la reflexió que us faig. I és que totes aquelles empreses mastodòntiques, que tenen preus desorbitats i donen serveis amb clàusules de permanència abusives, preus cars, que no donen bon servei, com ara Data Centers que abans eren considerats la creme de la creme en part perquè et feien signar per contracte que no podies parlar malament de la companyia, i que a l’hora de la veritat no tenen ni monitors en condicions (encara usen de tub, que no funcionen bé, i en tenen un parell a més de teclats i ratolins que no van bé), empreses de renovació de domini com les que us he esmentat, google a qui tants professionals de la informàtica ja considerem el mal per la invasió de la privacitat que fa, microsoft que s’ha quedat emmirallada en l’èxit del seu sistema operatiu i s’ha permès ignorar els bugs que informàtics com jo els reportàvem, i que tornaven a ser a la següent versió, i a la següent, i a la següent…

Totes aquestes empreses tenen els dies comptats.

Donar mal servei, emprenyar els teus clients, té conseqüències. Probablement Internet ho ha accelerat.

I adormir-se i no escoltar el que els usuaris et demanen és donar mal servei.

Grans empreses que abans facturaven milions es poden veure abocades a la ruïna en tres anys si no saben treballar bé, i escoltar el mercat.

S’ha de ser molt flexible i cuidar molt l’usuari, que al final és el nostre client.

I el que val per a les empreses, també val per a espanya, que és a punt de perdre Catalunya per tot el mal que ens ha causat. Al món és en boca de tothom.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

PHP en mode interactiu

agost 23rd, 2012

PHP té un mode interactiu en que podem executar petits programes i proves de concepte.

Només cal que escriviu al terminal:

php -a

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Seguim amb els problemes d’Ubuntu i LXDE

agost 19th, 2012

Segueixo barallant-me amb Ubuntu Linux per a que funcioni millor que no ho faria un windows.

Vaig provar amb el Kernel 3.4 i amb flash desactivat, i el sistema es penjava igual.

Encara que he descobert que els problemes que he patit amb aquesta darrera configuració eren causats per gnome-screensaver, ja que en tornar a encendre l’ordinador des de la suspensió l’escriptori es quedava clavat en la darrera imatge, podia moure el ratolí, però no responia a cap comanda.

Podia anar als terminals de text amb CTRL + ALT + F1.

Després de matar alguns processos, compiz, firefox… només en matar gnome-screensaver el control de l’escriptori va retornar.

Fart de tants problemes de Gnome vaig instal·lar LXDE.

Té bona pinta i és ràpid, malgrat tot té alguns problemes:

– El giny per a saber l’estat de la bateria no funciona. Em detecta el 100% de bateria sempre, encara que me’n quedi un 12%. Molt problemàtic quan treballo tanta estona amb el portàtil sense estar endollat al corrent elèctric.

– L’editor de ginys, peta sovint.

– La barra dels ginys m’ha aparegut amb un espai d’un 20% aproximadament en blanc, sense motiu, i els missatges que apareixen en aquell espai no s’esborren. Un bug.

El consum de memòria de LXDE és realment baix i si soluciono el tema de la detecció de la bateria promet.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Solució al problema de que HeidiSQL no funciona en Linux amb Wine

agost 17th, 2012

Si quan tracteu d’instal·lar o executar HeidiSQL amb Wine, us peta de manera estrepitosa, la solució és ben senzilla.

Heu de canviar la configuració de Wine per a que funcioni com si es tractés d’un windows XP.

Amb això HeidiSQL arrencarà sense problemes.

Crec que el problema rau en que HeidiSQL és incompatible amb algunes versions de windows, com windows 2000, i encara que hi ha una llibreria dll específica que en teoria ho arregla, jo no vaig aconseguir que funcionés.

En canvi indicar a Wine que funcioni com si es tractés d’un windows XP és ben senzill, i soluciona el problema.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Seguim amb els problemes amb Ubuntu 12.04

agost 17th, 2012

Us parlava sobre que des que he instal·lat Ubuntu 12.04 64 bit em peta molt el sistema.

Donat que amics meus tenen el mateix problema amb Ubuntu de 32 bit, vaig descartar que fos per la versió de 64 bit.

Creia que era per l’unity, però us explicava que he instal·lat Gnome Desktop Classic Fallback, a veure si ho solucionava.

El fet és que encara que el Desktop Classic peta menys, també peta massa, i és bastant molest ja que em tanca totes les aplicacions que tingués obertes.

Normalment em passa als pocs segons de treure el portàtil de suspensió, o aleatòriament fins i tot a la pantalla de login.

Investigant pels fòrums he llegit que instal·lant el kernel 3.4 s’acaben els problemes (els que no són de tarja gràfica), Ubuntu 12.04 ve amb el kernel 3.2.

És la darrera oportunitat que li dono a Gnome + Ubuntu. Si amb el kernel 3.4 continua fent el ximple em passaré a un gestor d’escriptori més lleuger com LXDE.

És lamentable que una companyia de programari, en aquest cas Ubuntu, sigui incapaç de treure un producte de Software estable cada 6 mesos.

Com lamentable és també el paper de Gnome darrerament i les modificacions que estan fent a productes com Nautilus, que ens resten funcionalitats, i no ens permeten configurar-los per a seguir fent servir els programes com ho fèiem.

Lamentable perquè si volgués usar un sistema operatiu problemàtic i que canviï tot cada versió sense deixar-me escollir com vull treballar usaria windows, i no Linux.

Tampoc no descarto desintal·lar Flash per a descartar-ne la complicitat ja que sovint ha estat font d’innumerables problemes.

Us aniré informant.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Canviar unity per Gnome Classic a Ubuntu 12.04

agost 13th, 2012

Unity té coses bones però també coses odioses com el fet que peta moltíssim.

En 32 o en 64 bits, després d’obrir el portàtil després d’una suspensió tinc un 33% de possibilitats que peti i em tanqui tots els programes.

Vaig a veure si instal·lant Gnome Classic no tinc aquests problemes.

El procediment és el mateix que ja descrivia per a Ubuntu 11.10.

Per a que us funcioni la tecla ALT + TAB per a canviar d’aplicacions haureu d’instal·lar l’Advanced Settings Compiz Manager:

sudo apt-get install compizconfig-settings-manager

Llavors el podeu executar des del menú: Eines del Sistema – Preferències i activar Use Static Application Switcher a les propietas de navegació de finestres.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Canviar el disc dur del portàtil

juliol 28th, 2012

Us mostro aquí, per passes, el necessari per a canviar el disc dur de l’ordinador portàtil.

Necessitarem:

– Un tornavís petit d’estrella (que no sigui de punta imantada)

– El disc dur que vulguem instal·lar

– Dur roba que no acumuli electricitat estàtica

– Un USB per a fer les còpies de seguretat prèvies

– Un USB o CD per a instal·lar el sistema operatiu quan haurem canviat el disc

Prèviament ens haurem informat de quin tipus de disc suporta el nostre portàtil.

Si és relativament modern, uns quatre anys o cinc,  portarà un disc dur de 2,5 polzades SATA-2 (de vegades anomenat SATA 3 Gbps o SATA II)

Si és antic portarà un ATA.

Si és molt molt modern portarà un disc dis SATA-3 (anomenat també SATA 6 Gbps o SATA III) però encara no és gens habitual.

El primer que farem serà fer una còpia de seguretat de les nostres dades.

Normalment emprarem un dispositiu extern USB, com un disc dur, o un llapis o clau de memòria USB.

Un cop fet això apaguem l’ordinador i li desconnectem tot.

Ens assegurem que estigui apagat, no pas suspès i desconnectem tots els cables.

 

Els portàtils lleugers només tenen dues badies, una per a la memòria i potser tarja wifi, i l’altra per al disc dur.

Acostumen a dur un petit logo per a identificar què conté cada ranura.

Així doncs quan tenim identificat quina tapeta guarda el disc dur, la obrim.

I retirem la tapa.

La petita llengua de plàstic que queda al descobert està pensada per a estirar d’ella i així retirar el portàtil amb més facilitat.

La manera com està col·locat el disc pot variar d’un model d’ordinador a un altre, així com els suports que utilitza.

Encara que avui en dia tendeixen a la simplicitat i la lleugeresa.

Arribats a aquest punt tocarem el terra amb la punta dels dits. Aquest és un petit truc per a descarregar l’electricitat estàtica que puguem portar.

Els pc són molt modulars i utilitzen components estàndard, així que aquí ens trobem un disc dur SATA-2 estàndard i un connector.

Removem amb compte el connector. No és fàcil trencar-lo però no es pot fer el bèstia.

Podem veure una làmina adhesiva protectora negra.

Primer la desenganxarem del disc dur, altrament serà impossible desconnectar el connector adaptador SATA-2.

Veiem el connector sata 2 del nou disc dur (de fet és sata 3 però és compatible amb ordinadors sata 2)

El connectem, adherim la làmina negra protectora, i el col·loquem al seu lloc.

Tanquem la tapa, i hi posem els cargols altra vegada.

I ara finalment ja hem acabat.

Ara haurem d’instal·lar el sistema operatiu.

En el meu cas he instal·lat un flamant Ubuntu 12.04 de 64 bits. :)

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Alliberat Firebug 1.10

juliol 27th, 2012

El proppassat 13 de Juliol es va alliberar la versió 1.10 de Firebug.

La gràcia d’aquesta versió és que és final. Fins ara havíem estat presentant versions beta (no finals, amb possibles errors).

http://getfirebug.com/

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Excepcions personalitzades en PHP

juliol 18th, 2012

L’altre dia la meva amiga Laura em demanava quin objectiu més enllà de capturar errors tenen les Exception.

Li vaig comentar que a més d’atrapar errors no esperats (com que el servidor de la base de dades no respongui) també permet que l’aplicació s’enviï missatges.

Així que ara ho vaig a desenvolupar una mica.

Laura, et dedico aquest article. ;)

Agafem un exemple pràctic.

Tenim una classe que treballa amb moneda.

class Moneda
{
}

Al constructor li passem el codi de moneda:

$o_moneda_gbp = new Moneda('GBP');

Al constructor de la classe Moneda es comprova que existeixi dins l’array de monedes:

class Moneda
{

    public $st_monedes_suportades = array('EUR' => array ('activa'         => true,
                                                          'nom_ca'         => 'Euro',
                                                          'canvi_a_euros'  => 1),
                                          'USD' => array ('activa'         => true,
                                                          'nom_ca'         => 'Dòlars',
                                                          'canvi_a_euros'  => 0.82671)
                                              );

    protected $s_id_moneda = '';

    public function __construct($s_id_moneda = 'EUR')
    {
        if (!isset($this->st_monedes_suportades[$s_id_moneda]) || 
            $this->st_monedes_suportades[$s_id_moneda]['activa'] != true) 
        {
            // Aquí hem de notificar que no hem pogut localitzar la moneda
        }

        $this->s_id_moneda = $s_id_moneda;

    }

}

És en aquest moment que volem notificar a qui crida la classe Moneda que no podem procedir amb la operació que ens demanaven.
És en aquest moment en que intervenen i tenen sentit les Exceptions, i encara més les Custom Exceptions, que són Exceptions personalitzades.

Primer de tot definirem dues exepcions personalitzades:

class MonedaNoSuportadaException extends Exception {}
class MonedaNoActivaException extends Exception {}

class Moneda
{

    public $st_monedes_suportades = array('EUR' => array ('activa'         => true,
                                                          'nom_ca'         => 'Euro',
                                                          'canvi_a_euros' => 1),
                                          'USD' => array ('activa'         => true,
                                                          'nom_ca'         => 'Dòlars',
                                                          'canvi_a_euros'  => 0.82671)
                                          );

    protected $s_id_moneda = '';

    public function __construct($s_id_moneda = 'EUR')
    {
        if (!isset($this->st_monedes_suportades[$s_id_moneda]))
        {
            throw new MonedaNoSuportadaException('La moneda '.$s_id_moneda.' no se suporta');
        }

        if ($this->st_monedes_suportades[$s_id_moneda]['activa'] != true)
	{
            throw new MonedaNoActivaException('La moneda '.$s_id_moneda.' es troba inactiva');
        }

        $this->s_id_moneda = $s_id_moneda;

    }

}

Llavors només manca instanciar la classe amb un try catch

try {
	$o_moneda_eur = new Moneda('EUR');
} catch (MonedaNoSuportadaException $e) {
	die($e->getMessage);
} catch (MonedaNoActivaException $e) {
	die($e->getMessage);
} catch (Exception $e) {
	// Excepció no esperada
	die($e->getMessage);
}

El codi final:

<?php
/**
 * Created by Carles de http://www.codic.cat
 * User: carles
 * Date: 17/07/12
 * Time: 23:16
 */

class MonedaNoSuportadaException extends Exception {}
class MonedaNoActivaException extends Exception {}

class Moneda
{

    public $st_monedes_suportades = array(  'EUR' => array ('activa'         => true,
                                                            'nom_ca'         => 'Euro',
                                                            'canvi_en_euros' => 1),
                                            'USD' => array ('activa'         => true,
                                                            'nom_ca'         => 'Dòlars',
                                                            'canvi_en_euros' => 0.82671)
                                            );

    protected $s_id_moneda = '';

    public function __construct($s_id_moneda = 'EUR')
    {
        if (!isset($this->st_monedes_suportades[$s_id_moneda]))
        {
            throw new MonedaNoSuportadaException('La moneda '.$s_id_moneda.' no se suporta');
        }

        if ($this->st_monedes_suportades[$s_id_moneda]['activa'] != true)
        {
            throw new MonedaNoActivaException('La moneda '.$s_id_moneda.' es troba inactiva');
        }

        $this->s_id_moneda = $s_id_moneda;

    }

}

try {
        $o_moneda_eur = new Moneda('EUR');
} catch (MonedaNoSuportadaException $e) {
        die($e->getMessage());
} catch (MonedaNoActivaException $e) {
        die($e->getMessage());
} catch (Exception $e) {
        // Excepció no esperada
        die($e->getMessage());
}
Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Alliberat Apache Tomcat 7.0.29

juliol 9th, 2012

Ahir es va alliberar la versió 7.0.29 del servidor d’aplicacions java.

Aquesta versió adreça algunes regressions de la versió 7.0.28, així com incorpora algunes millores i soluciona diversos bugs.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Solució MySql can’t connect

juliol 8th, 2012

Aquest article pretén cobrir un dubte recurrent que es fa molta gent que té una màquina virtual al núvol, amb MySql i tot i obrir els port 3306 al tallafocs (firewall) no pot connectar-s’hi remotament.

La solució consisteix a editar l’arxiu:

my.cnf

Normalment ubicat a /etc/mysql/my.cnf

I allà comentar la línia que diu:

bind-address            = 127.0.0.1

Això el que fa és canviar la configuració per defecte de MySql de només escoltar peticions a la ip 127.0.0.1 (localhost), i que el servidor MySql escolti a totes les adreces que la màquina té disponible.

Llavors reiniciem el servidor:

service mysql restart

Una altra cosa que haurem de tenir en compte, és que per a poder connectar al servidor l’usuari amb el que accedir haurà d’estar creat localment, i també amb %.
Això ho fem creant l’usuari de manera local i amb accès des de tot arreu (%) o des de la ip que hagi de poder accedir:

CREATE USER 'carles'@'localhost' IDENTIFIED BY 'CatalunyaTriomfant';
GRANT USAGE ON *.* TO 'carles'@'localhost';
GRANT SELECT, SHOW VIEW, INSERT  ON `projectes`.* TO 'carles'@'localhost';
FLUSH PRIVILEGES;

CREATE USER 'carles'@'%' IDENTIFIED BY 'CatalunyaTriomfant';
GRANT USAGE ON *.* TO 'carles'@'%';
GRANT SELECT, SHOW VIEW, INSERT  ON `projectes`.* TO 'carles'@'%';
FLUSH PRIVILEGES;

Altrament no ens acceptaria consultes des de ip’s remotes.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Alliberat PHPStorm (de nou)

juliol 7th, 2012

Només un dia després qua lliberessin la versió 4.0.2, presenten la 4.0.3.

Ben segur han trobat algun bug important.

Malauradament si tenieu la versió 4.0.1 i no l’havieu actualitzat a la 4.0.2 no podreu aplicar el pedaç (path) de 4 MB que te l’actualitza i haureu de baixar la 4.0.2 des de la web de JetBrains.

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Alliberat PHPStorm

juliol 5th, 2012

Avui s’ha alliberat la versió 4.0.3 (release 117.694) d’aquest genial programari IDE (Entorn de Desenvolupament Integrat).

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Alliberat VirtueMart 2.0.8

juny 30th, 2012

Ahir van alliberar la vesió 2.0.8 d’aquest complement de Joomla per a comerç electrònic.

 

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Amazon fatal

juny 30th, 2012

Amazon ha tingut caigues durant tot el matí i molts problemes de rendiment, així que el bloc no ha estat accessible durant la major part del matí d’avui.

La zona on tinc el servidor s’ha vist afectada, segons diuen, per una tempesta i han tingut talls elèctrics.

Fatal, perquè els datacenters precissament es fan per a evitar aquestes coses, i evitar que caigui la llum.

Positiu: la transparència amb que ho diuen.

Negatiu: Tots els problemes que m’han ocassionat i la por que se’t queda al cos de que els discs on són els teus servidors poden estar corruptes i pots haver-ho perdut tot. :-(

Nota: tinc backups, però fa por

També en parla forbes: amazon cau i deixa fora de servei Netflix, pinterest…

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy