Alliberat WordPress 3.8

desembre 13th, 2013

La nova versió de WordPress, la 3.8 “parker”, fou alliberada ahir 12 de Desembre de 2013.

Jo he actualitzat el bloc sense problemes.

 

Les millores que destaco són:
– Una interfície d’administració totalment nova
– Millores en responsive web, de manera que es vegi bé en tots els dispositius
– Incorpora el Tema Twenty Fourteen, que és de l’estil d’una revista
– Les llibreries externes s’han actualitzat (per a programadors)
– Millores en RTL (Right to Left, idiomes que es llegeixen de dreta a esquerra com l’Hebreu)
– Millores de rendiment en multisite, i en les API
– Millores en taxonomies (programació)
– Solució de bugs

Per a veure tota la llista visiteu el ChangeLog.

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

Linux: Connectar MySQL mitjançant un túnel per SSH

desembre 1st, 2013

Molta genta empra el PhpMyAdmin o el client mysql des de línia de comandes.

Si teniu un hosting que us permet accès per ssh, però no podeu obrir els ports del tallafocs (firewall) o bé no teniu adreça ip fixa, o voleu transmetre les dades des de / a MySQL encriptades, aquí us deixo aquest truc que de manera senzilla us permetrà fer-ho.

Mireu aquest exemple:

ssh ubuntu@db.codic.cat -L 13306:127.0.0.1:3306 -N

El que fem amb aquesta comanda és connectar-nos al servidor db.codic.cat , on resideix el mysql, per ssh, amb l’usuari ubuntu.

Alhora estem creant un túnel (tunnel) que comunicarà el port 13306 del nostre odinador local amb el host db.codic.cat.

A db.codic.cat es redigirà aquest tunnel cap a localhost (127.0.0.1), port 3306, el port per defecte de MySql.

El mateix procediment de tunnel es pot fer servir per  a saltar a un altre servidor remot també.

Si el servidor funciona amb usuari i mot de pas, se’ns demanarà la contraseya de l’usuari ubuntu, en aquest cas.

Si el servidor funciona amb certificats (key pairs) s’usarà la configuració habitual de ~/.ssh/config

Si voleu forçar l’us d’un certificat podeu fer servir el paràmetre -i /ruta/al/certificat

La connexió s’establirà, la podeu finalitzar amb CTRL + C.

Llavors podeu usar el vostre programa favorit i indicar-li que es connecti a 127.0.0.1 al port 13306, i en realitat la connexió passarà a través del túnel fins al vostre servidor remot.

 

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

Afegir un certificat a Ubuntu per a poder entrar per ssh sense mot de pas

novembre 27th, 2013

Si volem poder entrar a un servidor o estació de treball Linux sense haver de posar la contrasenya, aquestes són les passes que farem:

Si no tenim un certificat el generarem:

ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -C "Comentari que vulguem"

Això generarà una clau privada a /home/{usuari}/.ssh/id_rsa

Introduiu la contrasenya o deixeu-la en blanc si voleu fer servir el certificat per a tasques automàtiques.

Això ens haurà generat un parell de claus (pair keys): una privada i una pública.

La carpeta .ssh i els certificats han de tenir uns permisos restrictius:

chmod 700 ~/.ssh && chmod 600 ~/.ssh/*

Afegirem la clau pública al servidor remot:

cat ~/.ssh/id_rsa.pub | ssh usuari@exemple.com 'cat - >> ~/.ssh/authorized_keys'

Caldrà que el directori existeixi i que els permisos també siguin els addients al servidor:

chmod 700 ~/.ssh && chmod 600 ~/.ssh/*

També podeu fer el mateix editant manualment l’arxiu ~/.ssh/authorized_keys i afegint la vostra clau pública. En podeu afegir les que volgueu.

A partir d’ara podreu fer ssh al servidor sense haver de posar password, ja que validarà la vostra clau privada.

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

Com instal·lar memcache per a PHP en Linux

novembre 18th, 2013

En aquest article explicaré com instal·lar memcache i memcached en Ubuntu/Debian Linux i el seu suport per a PHP.

Per a aclarir els dubtes memcached és la llibreria del sistema operatiu que ofereix el servei de base de dades NoSQL en memòria.

Les llibreries client s’anomenen php5-memcache, la versió més antiga i més estable, i php5-memcached la nova versió amb més funcionalitats.

Assumeixo que teniu apache2 instal·lat i us passo les passes per a instal·lar memcached i tot el necessari per a treballar en PHP.

Per a refrescar els paquets:

sudo apt-get update

En  primer lloc ens assegurarem de tenir PHP instal·lat:

sudo apt-get install php5

Instal·larem altres llibreries necessàries per a PHP

sudo apt-get install php5-dev

sudo apt-get install php-pear

sudo apt-get install make

Instal·larem memcached:

sudo apt-get install memcached

Instal·larem el client memcache:

sudo apt-get install memcache

Instal·larem l’extensió per a PHP:

sudo apt-get install php5-memcache

Escriurem l’arxiu per a que PHP carregui la llibreria en iniciar-se l’apache:

echo “extension=memcache.so” > /etc/php5/apache2/conf.d/memcache.ini

I reiniciem l’apache:

sudo service apache2 restart

L’arxiu de configuració és a /etc/memcached.conf

 

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

Innovació: Skully un casc com cal

novembre 5th, 2013

Casc Skully P1Skully P1 és un casc per a motocicleta que ha desenvolupat una empresa i que té funcionalitats molt interessants.

La visera és una pantalla que permet projectar el GPS, i veure la imatge del que tenim darrera (el casc incorpora una càmera posterior).

El casc rep instruccions per veu, com les google glasses, i permet atendre trucades, escoltar música.

És molt interessant també que preparen un kit de desenvolupament per a que terceres empreses puguin crear aplicacions per al seu giny.

El motor d’aquest innovador casc és un sistema operatiu Android.

Encara no és a la venda oficialment, nogensmenys ja es pot adquirir el casc en versió beta de proves, per a desenvolupadors.

Aquí podeu veure un vídeo del seu funcionament:

Aquesta és la web de l’empresa:

http://www.skullyhelmets.com

I aquesta l’adreça per a poder aconseguir-ne un en la versió beta:
http://www.skullyhelmets.com/heads-up-display-motorcycle-helmet-beta/

 

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

Alliberat PHPStorm 7

octubre 27th, 2013

PHPStorm és amb quasi tota probabilitat el millor IDE per a programar en PHP.

El proppassat dia 22 d’Octubre van alliberar la versió 7, que inclou moltes funcionalitats realment interessants al ja prou bo repertori.

Als drupalers que seguiu el bloc us agradarà saber com n’és de bo el suport per a aquest CMS, amb auto-completar per als hooks i identificació de en quin punt es dispara.

Aquí podeu veure moltes de les funcionalitats afegides:

http://blog.jetbrains.com/phpstorm/2013/10/phpstorm-7-0-released-php-5-5-vagrant-ssh-console-debugger-config-validation-drupal-frameworks-more/

Aquí podeu veure el vídeo:

 

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

Alliberat Apache Tomcat 7.0.47

octubre 27th, 2013

El proppassat dia 24 d’Octubre s’alliberà la versió 7.0.47 del Servidor Apache Tomcat.

La novetat més important que incorpora és que han manllevat de Tomcat 8 el suport per a WebSockets 1.0 i l’han incorporat.

Back-port the JSR-356 Java WebSocket 1.0 implementation from Apache Tomcat 8.

Cal fer notar que per a aquesta funcionalitat és necessari emprar Java 7.

 

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

Solució actualització Ubuntu 13.04 a Ubuntu 13.10 no carrega unity

octubre 19th, 2013

ubuntu13-10-imatge-de-fonsMolta gent està experimentant problemes en l’actualització d’Ubuntu 13.04 a 13.10.

Els problemes els pateix sobre tot la gent que tenia instal·lat Cinnamon, però també altre gent, com en el meu cas, que teníem una instal·lació neta d’Ubuntu 13.04.

És bastant molest perquè apareix el fons de l’escriptori només, i l’interfície gràfica, l’Unity, no carrega.

Nogensmenys fer inici de sessió com a convidat sí que funciona.

Us explico aquí les passes per a solucionar-ho:

1) Obrir una sessió de Terminal

Això ho podeu fer amb CTRL + ALT + T, que obrirà una finestra en el mode gràfic, o amb CTRL + ALT + F1 que us portarà al terminal, en mode texte, tty1.

2) Instal·lar la eina que ens permetrà reactivar el unity

sudo apt-get install compizconfig-settings-manager

3) Si havieu optat per a fer la operació des del terminal de Texte feu:

export DISPLAY=:0
ccsm

I torneu al mode gràfic amb CTRL + ALT + F7 (en algunes configuracions és CTRL + ALT + F8).

Si en canvi obríreu el terminal des de CTRL + ALT + T, llavors simplement envieu la comanda ccsm

codic-cat-ccsm-compizconfig-settings-manager

4) Seleccioneu el plugin Unity i activeu-lo

Activar el complement UnityHeu de marcar “Activa Ubuntu Unity Plugin

Si us dóna una alerta dient que la combinació de tecles ja es troba associada podeu ignorar-los o ressoldre’ls, que bàsicament vol dir si preferiu que gestioni la combinació de tecles Unity o l’altre programa que les tenia associades (gnome).

Avís de conflictes en combinació de tecles

5) Tot funcionarà, si teniu algun problema reinicieu amb:

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

Alliberats PHP 5.5.5 i 5.4.21

octubre 19th, 2013

El proppassat 17 d’octubre foren alliberades les versions 5.5.5 i 5.4.21 de PHP respectivament.

Respecte la 5.4.21, aquesta versió soluciona 10 bugs de la versió anterior.

Per a mi els pitjors són:

Standard:

  • Fixed bug #61548 (content-type must appear at the end of headers for 201 Location to work in http).

CLI server:

  • Fixed bug #65633 (built-in server treat some http headers as case-sensitive).

Datetime:

  • Fixed bug #64157 (DateTime::createFromFormat() reports confusing error message).

Filter:

  • Add RFC 6598 IPs to reserved addresses.
  • Fixed bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names).

DBA extension:

  • Fixed bug #65708 (dba functions cast $key param to string in-place, bypassing copy on write).

Els podeu consultar tots al changelog.

Respecte la versió 5.5.5 soluciona uns 20 bugs, podeu veure la llista completa al changelog.

Jo destaco els següents errors solucionats, com els més greus:

Core:

  • Fixed bug #64979 (Wrong behavior of static variables in closure generators).
  • Fixed bug #65821 (By-ref foreach on property access of string offset segfaults)

CLI Server:

  • Fixed bug #65633 (built-in server treat some http headers as case-sensitive).
  • Fixed bug #65818 (Segfault with built-in webserver and chunked transfer encoding).

Datetime:

  • Fixed bug #64157 (DateTime::createFromFormat() reports confusing error message).
  • Fixed bug #65502 (DateTimeImmutable::createFromFormat returns DateTime).
  • Fixed bug #65548 (Comparison for DateTimeImmutable doesn’t work).

DBA:

  • Fixed bug #65708 (dba functions cast $key param to string in-place, bypassing copy on write).

Filter:

  • Add RFC 6598 IPs to reserved addresses.
  • Fixed bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names).

FTP:

  • Fixed bug #65667 (ftp_nb_continue produces segfault).

GD:

  • Ensure that the defined interpolation method is used with the generic scaling methods.

OPCache:

  • Fixed bug #65845 (Error when Zend Opcache Optimizer is fully enabled).
  • Fixed bug #65665 (Exception not properly caught when opcache enabled).
  • Fixed bug #65510 (5.5.2 crashes in _get_zval_ptr_ptr_var).
  • Fixed issue #135 (segfault in interned strings if initial memory is too low).

Sockets:

  • Fixed bug #65808 (the socket_connect() won’t work with IPv6 address).

SPL:

  • Fixed bug #64782 (SplFileObject constructor make $context optional / give it a default value).

Standard:

  • Fixed bug #61548 content-type must appear at the end of headers for 201 Location to work in http.

XMLReader:

  • Fixed bug #51936 Crash with clone XMLReader.
  • Fixed bug #64230 XMLReader does not suppress errors.

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Llest per a descàrrega Ubuntu 13.10

octubre 17th, 2013

Ja podeu descarregar la darrera versió d’Ubuntu.

Em disposo a probar-la ara així que encara no us en puc dir res en primera persona, els blocs que segueixo han parlat de força millores.

Si voleu actualitzar i el centre de programari no us mostra el missatge per a fer-ho podeu forçar-lo escrivint des de terminal:

update-manager -d

codic-cat-ubuntu-gestor-d-actualitzacions

codic-cat-ubuntu-13-10-disponible

 

Actualitzant a Ubuntu 13.10

Com us dic en el següent article l’actualització ha trencat la meva instal·lació i no apareix unity.

Us recomano que espereu una mica per a actualitzar, uns dies, fins que ho tinguin arreglat.

Si malgrat tot voleu procedir, al següent article explico com solucionar-ho.

 

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

Actualitzar la hora en antics Linux Slackware

octubre 14th, 2013

Si tens algun Linux antic i se’t desincronitza la hora pots fer:

 

ntpdate pool.ntp.org

Si tenies instal·lat el paquet NTP, o si ho prefereixes la pots sincronitzar manualment:

date --set "13 Oct 2013 20:25"
hwclock --systohc --localtime

 

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

Solució C++ Qt invalid use of incomplete type ‘class QClipboard’

octubre 13th, 2013

Si us trobeu amb el problema que no podeu accedir a escriure al porta-papers (clipboard) des de C++ i Qt, i el compilador us retorna aquest error:

error: invalid use of incomplete type ‘class QClipboard’

Copiar al portapapers / Copy to clipboard

L’error és molt senzill de solucionar, però he vist persones demanant-ho a Internet, i ningú els ha aportat la solució.

De fet al codi font mostrat no hi ha cap error.

 

void MainWindow::on_copyButton_clicked()
{
    QString s_copiar_al_clipboard = QString::fromUtf8(ui->textEdit->toPlainText().toStdString().c_str());

    QClipboard *clipboard = QApplication::clipboard();
    clipboard->setText(s_copiar_al_clipboard);
}

Simplement heu d’afegir QClipboard als vostres includes.

#include <QClipboard>

I el vostre codi funcionarà a la perfecció.

Això funciona amb Qt4 i Qt5 sense problemes.

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

Smarty: reemplaçar diversos textes en una cadena de text

octubre 4th, 2013

Si des de Smarty volem fer vàries substitucions en una cadena abans demostrar-la podem encadenar modificadors:

{$variable|replace: 'cadena a cercar':'el que hi posarem'}

Per exemple, partint d’aquesta constant definida des de PHP:

define("INDEX_GIMCAMA","La gimcama comença des de ###ORIGEN_CIUTAT_NOM### (###ORIGEN_PAIS###) - ###ORIGEN_CIUTAT_CODI### a ###DESTINACIO_CIUTAT_NOM### (###DESTINACIO_PAIS###) - (###DESTINACIO_CIUTAT_CODI###) i costa ###PREU### ###SIMBOL_MONEDA###");

Aquest és un petit truc per a pàgines multi-llengua, en que les cadenes es defineixen en diferents idiomes, i s’inclou l’arxiu pertinent (require_once).

I tenim present que hem passat a la plantilla de Smarty les variables pertinents des de PHP:

$smarty->assign('s_origen_ciutat_nom', 'Barcelona');
$smarty->assign('s_origen_pais', 'Catalunya');
$s_codi_moneda = 'CAT';  // Aquí hi aniria EUR, USD... en aquests moments polítics en que Europa no s'ha decantat clarament del costat de la Democràcia, perquè no pensar a fer un nou Estat amb moneda pròpia? ;)
$smarty->assign('s_codi_moneda', $s_codi_moneda);
$smarty->assign('i_decimals', 2);
// etc...

Llavors a la TPL (plantilla) faríem:

{$smarty.const.INDEX_GIMCAMA|replace: '###ORIGEN_CIUTAT_NOM###':$s_origen_ciutat_nom|replace: '###ORIGEN_PAIS###':$s_origen_pais|replace: '###ORIGEN_CIUTAT_CODI###':$s_origen_ciutat_codi|replace: '###DESTINACIO_CIUTAT_NOM###':$s_destinacio_ciutat_nom|replace: '###DESTINACIO_PAIS###':$s_destinacio_pais|replace: '###DESTINACIO_CIUTAT_CODI###':$s_destinacion_ciutat_codi|replace: '###SIMBOL_MONEDA###':$s_simbol_moneda|replace: '###PREU###':{$s_preu|money_format:$s_codi_moneda:$i_decimals}}"

Fixeu-vos com al final reemplaço ###PREU### pel preu amb el modificador (modifier) money_format, passant-li |money_format per a que em doni format amb decimals i separadors de milers, i així acabar-ho de brodar.

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

Veure com anem de connexions a MySql

setembre 13th, 2013

MySql max_used_connections etc...Podem saber com anem de connexions, i si hi ha hagut problemes preguntant-li al MySQL amb una consulta tan senzilla com aquesta query:

SHOW STATUS LIKE ‘%onn%';

codic-cat-mysql-show-connections-2

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

Alliberat PHP 5.5.3 i 5.4.19

agost 30th, 2013

El proppassat 22 d’Agost s’alliberaren noves versions de PHP.

La 5.5.3 i la 5.4.19.

Aquestes versions arriben prou ràpid, doncs solucionen uns bugs trobats a les versions anteriors certament una mica aparatosos.

Recordeu que PHP 5.3 va arribar a end-of-life al Juliol i ja no el mantenen.

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