Manquejades del PHP in_array

gener 22nd, 2013

Sempre dic que PHP és un llenguatge que m’agrada molt, i que em diverteixo molt treballant-hi i que un projecte Internet es pot fer diverses vegades més ràpid que en Java.

Ara bé, de la mateixa manera també dic que és ple de problemes, problemes de disseny i errors estúpids.

Avui explicaré quelcom prou poc intuitiu i que us pot portar a greus problemes al vostre codi.

L’ús d’ in_array

Observeu aquest codi:

<?php
$st_array = array(      'nom1' => 0,
                        'nom2' => 1,
                        'nom3' => '2',
                        'nom4' => 'Catalunya Lliure');

echo 'Cas 0:'.in_array('0', $st_array)."\n";
echo 'Cas 1:'.in_array('1', $st_array)."\n";
echo 'Cas 2:'.in_array('2', $st_array)."\n";
echo 'Cas n:'.in_array('n', $st_array)."\n";
echo 'Cas z:'.in_array('z', $st_array)."\n";
echo 'Cas Catalunya:'.in_array('Catalunya', $st_array)."\n";
echo 'Cas num no:'.in_array(3, $st_array)."\n";
echo 'Cas num sí:'.in_array(1, $st_array)."\n";

$st_array2 = array(2,'a','Catalunya Lliure');

echo 'Cas 1a:'.in_array(3, $st_array2)."\n";
echo 'cas 2a:'.in_array(2, $st_array2)."\n";
echo 'cas 3a:'.in_array('2', $st_array2)."\n";
echo 'Cas 4a:'.in_array('Catalunya', $st_array2)."\n";
echo 'Cas 5a:'.in_array('Catalunya Lliure', $st_array2)."\n";

Qualsevol desenvolupador de PHP diria que el resultat que espera és diferent del que rebrà.

Veiem el resultat:

PHP codi problemàtic resultat

Els resultats que he obtingut són els mateixos en sistemes Debian amb 5.3.3:

PHP 5.3.3-7+squeeze14 with Suhosin-Patch (cli) (built: Aug  6 2012 14:18:06)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

En Ubuntu amb 5.3.10:

PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 18:59:41)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans

I en PHP 5.4.10 i en 5.5.0.a.2 executats en aquesta sandbox: http://sandbox.onlinephpfunctions.com/

El resultat és l’esperat* en els casos en que el valor de l’array és numèric, però sembla totalment buggy en el cas de string (el que coneixem com Map a Java o hash a Python).
Veient els exemples hom pensaria que el problema es produeix si els valors assignats a barregen valors numèrics i string, però també si l’array té claus alfanumèriques (‘nom1′ => ‘0’). Aquest últim cas es veu clarament amb l’exemple de cercar ‘Catalunya’ al primer i al segon cas.

Però si tingués un bon amic com el meu amic Edu, us faria adonar que no es tracta de si la clau és alfanumèrica o automàtica, si no que el fet que hi hagi un 0 (zero) com a valor integer, és el que provoca aquest comportament esbojarrat i imprevisible del PHP.

Mirant la documentació del mètode loose de comparació de PHP observem on és el problema.

Encara que sigui contra intuitiu, en el mètode loose qualsevol cadena de text és == a 0 (zero integer).

* Nota: Dic que és l’esperat donat que la documentació de PHP per a in_array ja indica que “Searches haystack for needle using loose comparison unless strict is set.”, és a dir, que fa servir el mètode de comparació loose, en que es considera igual 1 i “1” per exemple.

I aquest és un dels grans problemes de PHP, que degut al sevu comportament intern, a les conversions entre tipus que fa automàticament, viola els principis de programació de fiabilitat**, i porta a situacions en que és altament probable que els programadors generin bugs o es generin bugs que només passen en situacions molt específiques.

** Quan dic que viola el principis de programació de fiabilitat de resultats, em refereixo a coses com:

Expressió Resultat
“Catalunya” == 0 TRUE
“0” == 0 TRUE
“Catalunya” == “0” FALSE

O sigui “Catalunya” == 0 i 0 == “0” però “Catalunya” és diferent de “0”. Epic fail.

Haurem d’utilitzar === que fa la comprovació de tipus també.

La solució universal que farà que els dos casos d’in_array funcionin correctament és emprar el mètode estricte.

Codi que funciona segons s’espera:

<?php 
define('METODE_STRICTE', true); 

$st_array = array(	'nom1' => 0, 
			'nom2' => 1, 
			'nom3' => '2', 
			'nom4' => 'Catalunya Lliure');

echo 'Cas 0:'.in_array('0', $st_array, METODE_STRICTE)."\n";
echo 'Cas 1:'.in_array('1', $st_array, METODE_STRICTE)."\n";
echo 'Cas 2:'.in_array('2', $st_array, METODE_STRICTE)."\n";
echo 'Cas n:'.in_array('n', $st_array, METODE_STRICTE)."\n";
echo 'Cas z:'.in_array('z', $st_array, METODE_STRICTE)."\n";
echo 'Cas Catalunya:'.in_array('Catalunya', $st_array, METODE_STRICTE)."\n";
echo 'Cas num no:'.in_array(3, $st_array, METODE_STRICTE)."\n";
echo 'Cas num sí:'.in_array(1, $st_array, METODE_STRICTE)."\n";

$st_array2 = array(2,'a','Catalunya Lliure');

echo 'Cas 1a:'.in_array(3, $st_array2, METODE_STRICTE)."\n";
echo 'cas 2a:'.in_array(2, $st_array2, METODE_STRICTE)."\n";
echo 'cas 3a:'.in_array('2', $st_array2, METODE_STRICTE)."\n";
echo 'Cas 4a:'.in_array('Catalunya', $st_array2, METODE_STRICTE)."\n";
echo 'Cas 5a:'.in_array('Catalunya Lliure', $st_array2, METODE_STRICTE)."\n";

I podeu observar el resultat:

PHP codi problemàtic solucionat amb strict

Pareu atenció a que amb el mètode estricte si cerqueu ‘1’ (string) i a l’array hi ha 1 (integer) in_array us retornarà FALSE.

Molt important a tenir en compte que tot el que rebeu de $_GET o $_POST sigui el que sigui us arribarà com un string, o un array d’strings, malgrat en el formulari hagin inserit valors numèrics com 2014.

Nota per a usuaris novells: Jo he utilitzat una constant amb el valor booleà TRUE per a fer servir el mètode estricte però prodrieu fer servir directament true.

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

Capturar una regió de pantalla en Ubuntu 12.04

gener 13th, 2013

En Ubuntu 12.04 hi ha una combinació de tecles que permeten capturar una regió de la pantalla sense ajut de cap programari extra.

La combinació és prèmer Shift i simultànimanet Impr pant o Print Scrn a teclats internacionals.

La tecla Shift és aquella amb la que mentre la manteniu premuda i premeu una vocal feu una majúscula (o la que feu servir per als caracters com $ ! ” / etc…).

Altres combinacions que us poden fer servei i que també funcionen a windows són:

Alt + Impr pant = captura la finestra seleccionada

Impr pant = captura tota la pantalla. En ordinadors amb dos monitors captura la imatge dels dos.

Jo habitualment empro el programa KSnapshot que em permet fer una captura al cap d’un número de segons, però aquest truc em suposa un estalvi de temps la majoria de vegades.

Agraïments a en Maure per la combinació Shift + Impr pant. ;)

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

Propera actualització d’USB 3.0 a USB 3.0 SuperSpeed

gener 8th, 2013

Properament es publicarà una actualització gratuita dels ports USB 3.0 a USB 3.0 SuperSpeed.

Aquesta actualització permetrà passar, en el maquinari actual, dels 5 Gbps de transferència del port a 10 Gbps de transferència.

D’aquesta manera igual la capacitat actual del port Thunderbolt.

Amb tot el port Thunderbolt seguirà essent molt superior ja que entre altres coses els 10 Gbps que permet són per cada connector, i no pas 10 Gbps entre tots els ports USB 3.0.

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

Alliberat WordPress 3.5

desembre 13th, 2012

La versió 3.5 de WordPress ha estat alliberada.

Per ara no he observat cap comportament estrany i presenta novetats:

  • la càrrega de fitxers (mèdia) i la creació de galeries d’imatges tenen una estètica completament nova
  • Suport drag and drop per a ordenar les galeries
  • Es pot inserir múltiples imatges amb Shift o Ctrl + Clic
  • Nou tema per defecte
  • Millores per als desenvolupadors i moltes noves funcions
  • Múltiples galeries per post, amb ordres diferents
  • Suport per a oEmbed de SoundCloud.com, SlideShare.net, i Instagram.com

Podeu veure la llista completa aquí: http://codex.wordpress.org/Version_3.5

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

Una experiència SD

desembre 8th, 2012

Com sabeu els meus portàtils porten tots SSD.

Tinc previst escriure un article sobre les seve avantatges més endavant.

Però un dels seus desavantatges és que les escriptures reiterades en una cel·la de memòria provoquen la inutilització de la mateixa.

És un problema tan greu que molts fabricants de discs SSD hi incorporen fins un 20% d’espai extra que no es pot utilitzar i el disc mou les dades cap allí quan detecta que una cel·la és a punt de morir (aquelles cel·les també acaben quedant inutilitzables).

Llavors, per a evitar escriptures, no utilitzo partició de swap.

En general això no és problema, però si la memòria del portàtil s’acaba, com no se’n pot al·locatar més, el programa que havia fet la petició d’augmentar memòria peta.

Per a solucionar això vaig decidir comprar una tarja SSD de 4 GB, que em va costar 4,5 €, i hi tinc 2 GB per a còpies de seguretat, i 2 GB per a espai d’intercanvi swap.

La solució funciona bé però hi ha alguns contratemps:

– Quan suspenc el portàtil, de vegades en encendre’l de nou no em detecta la swap

– Si la tarja de memòria surt, i és fàcil en el meu model ja que al posar-lo a la bosa, si l’empeny una mica salta, i no me n’adono, quan l’encenc i el sistema necessita la swap, peta l’aplicació que la demanava

Amb tot és una solució enginyosa i molt barata que permet allargar la vida del disc SSD i no privar-nos de swap, i volia compartir-la amb vosaltres. :)

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

Gadgets Iphone 4: Bateria externa i carregador per encenedor

desembre 2nd, 2012

L’altre dia em vaig fer amb aquests ginys per a iPhone 4.

Un és un carregador de bateria per a endollar a l’encenedor.

Em va costar 8,5 € però a dealextreme el trobareu per 0,60 € despeses d’enviament a part.

Aquest carregador proporciona una connexió USB per a carregar l’iPhone o l’iPod.

L’altre giny de la fotografia és la bateria addicional portable.

La gràcia d’aquesta bateria és que proporciona la mateixa capacitat que la bateria del telèfon, 2200 mAh.

La podem dur a sobre, i quan volguem l’endollem al telèfon, i aquest comença a carregar-se com si el tinguèssim endollat a la corrent o a l’ordinador.

Si sou dels que enregistreu vídeo amb el telèfon, o feu moltes fotografies a les manifestacions per a la Independència, aquest és un aparell imprescindible.

Jo el vaig comprar per 28 €.

Les seves característiques són:

- Té una connexió USB per a carregar-lo (Jo l’he carregat amb l’adaptador d’encenedor del cotxe).

Aquesta connexió és molt curta i feta d’un cable flexible i feble que sembla fet per a espatllar-se amb pocs estira i arronsa

– Pesa realment molt poc

– Proporciona sortida de 5V 1A

– Proporciona entrada de 5V 1A

– Té un botó que indica visualment la càrrega de la bateria

Realment aquest indicador no és gens precís.

Quan el vaig comprar marcava 3 ratlletes de la bateria (un 75%) , i després de carregar un 20% el telèfon, l’indicador marcava una ratlleta (menys d’un 25%).

Trust té una web per a aquest giny:

trust.com/18200

Com qualsevol bateria no s’ha de tirar a les escombreries comunes quan acaba el seu cicle de vida, s’ha de dipositar a contenidors per a bateries que es troben a algunes botigues d’electrònica i electrodomèstics, ja que les bateries contaminen molt.

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

8 al dia Lòpez Tena i rivera

novembre 10th, 2012

El vídeo del debat entre Alfons Lòpez Tena de Solidaritat, i el mentider infame rivera de ciudadanos.

La veritat és que cal veure’l, tant per a veure com rivera es queda sense arguments i menteix com un cosac, tira pilotes fora quan es veu perdut invocant a cyu i a esquerra i que per a ell només existeix espanya, ni els peruans, ni els americans, ni els Catalans li importen, tant com per a veure com Lòpez Tena diu les coses pel seu nom i les té clarríssimes.

Que en gaudiu. :-)

El hashtag #25N8aldia va ser trending tòpic a Catalunya i a l’estat espanyol

Curiosament rivera no alterna Català i castellà com acostuma i només parlà en Català

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

Alliberat Joomla 3.0.2

novembre 9th, 2012

Aquesta actualització adreça un bug d’injecció XSS i presenta una nova funcionalitat.

És tant recent que encara no han actualitzat la secció de releases explicant en que consisteix la nova funcionalitat.

Previsiblement en unes hores estarà disponible.

http://www.joomla.org/announcements/release-news.html

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

Confiança en el PSC-PSOE?

novembre 1st, 2012

L’enquesta la teniu a l’ara:
Votar: http://www.ara.cat/politica/Pere_Navarro-Alfredo_Perez_Rubalcaba-autodeterminacio-Catalunya_4_801559837.html
Resultats: http://www.ara.cat/politica/Pere_Navarro-Alfredo_Perez_Rubalcaba-autodeterminacio-Catalunya_4_801559837.html#results

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

Petició de dimissió per vidal cuadras per dir que els tallarem el coll

novembre 1st, 2012

Podeu fer RT?

https://twitter.com/codiccat/status/263984155736551425

 

Enllaç a l’article de l’ara que ho explica: http://www.ara.cat/politica/Alejo_Vidal-Quadras-Jimenez_Losantos-independencia-dialeg_0_802119995.html

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

Alliberat Firebug 1.10.6

novembre 1st, 2012

Aquesta versió soluciona un problema amb Firefox 15, on no es veia el botó.

https://getfirebug.com/firstrun#Firebug%201.10.6

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

Vídeo: Alfons Lòpez Tena contra cañas

octubre 27th, 2012

Magnífic vídeo d’Alfons López Tena de SI (Solidaritat per la Independència) contra j. cañas de ciudadanos.

És de l’abril d’enguany, ja té uns mesos però és una perla que volia compartir amb vosaltres.

És un contrast claríssim entre l’espanyolisme ranci, maleducat, monolíngüe i mentider que protegeix els seus interessos contra l’independenstime educat, informat i delerós de llibertat. Molt aclaridor contra mentides demagògiques. :)

Són 15 minuts molt ben gastats, que us faran riure molts cops. :)

 

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

La carta de vidal-quadras als Europarlamentaris

octubre 25th, 2012

Després de llegir la carta que vidal-quadras ha enviat als Europarlamentaris, plena de mentides, negant la nostra existència, història, llibertat, insultant-nos i negant fins el nostre dret d’existir com a nació, no em queda cap mena de dube, de que aquests cavernícoles hereus de franco no pararan fins a exterminar-nos.

Posaran totes les seves forces, i els diners que ens roben, en exterminar Catalans, Illencs, Valenciancs, ciutadans de la Franja, Bascos, Galecs, i qualsevol altre cultura que no sigui la castellana castiza. Ho porten dintre. És un odi fanàtic i malaltís, franquista, assassí.

Us recomano la lectura d’aquest document, perquè només llegint-lo us podeu adonar del nivell de violència extrema, de falta de justícia i plantejaments democràtics, i de manca d’honorabilitat i abús de mentides que prodiguen descaradament i en quantitats industrials a cada pàrraf.

Tant és així, que llegint-la es veu clarament que no pararan fins a exterminar-nos, i que menteixen al món i als Europarlamentaris, en un intent de poder practicar el seu genocidi particular sense interferències.

Catalans, ciutadans dels Països Catalans, i altres cultures presoneres a l’estat espanyol:

No tindrem un moment de pau fins que no sortim d’aquesta merda de monarquia franquista.

Marxem, encara que ens costi diners (que no és el cas)

A la vida sempre hi ha hagut gent bona i dolenta. Perquè els dolents menteixen, roben i peguen és un misteri pels bons, que són incapaços de poden entendre perquè actuen així els dolents. Perquè els bons mai ho faríem.

Deixem d’intentar entendre el comportament dels governs espanyols i tractem-los com el que són: uns lladres i uns mentiders, hereus d’un franquisme que mai han condemnat, i màxims continuadors d’un genocidi cultural al que s’apliquen amb ganes i entusiasme, i no és només per robar.

Catalunya ha de tallar per sempre més amb espanya.

Jo seguiré sent amic i tenint contacte amb els meus amics espanyols que són bones persones, però aquest ens anomenat espanya al servei del mal no podrà tornar a perjudicar els Catalans.

Ja va sent hora d’acabar amb els moviments dictatorials de les xina, les sèrbia, els marroc, les rússia, les espanya… que practiquen la violència contra el Tibetans, els Kosobars, els Saharauis, els Georgians i Txexens, i contra els Catalans, Bascos, etc…

 

Vull donar les gràcies a l’eurodiputat neerlandès Derk J. Eppink, del partit flamenc Lijst-Dedecker, per defensar-nos i dir-li al franquista de vidal-quadras que aquella carta sembla redactada pel mateix franco, que no permetran una amenaça armada contra Catalunya (com deia vidal-quadras a intereconomia, on amenaçava amb enviar la guàrdia civil, cos que pertany al ejército español), i que és indigne de ser el vice-president de l’EuroParlament, i per exigir-li que dimiteixi, i que deixi votar els Catalans.

Es pot veure el vídeo en un perfecte anglès i subtitulat al Català a baix:

També el podeu veure a Vilaweb.
Gràcies Vilaweb per la excel·lent tasca que feu.

 

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

Alliberat Drupal 7.16

octubre 22nd, 2012

El proppassat dia 18 va ser alliberat la versió 7.16 de Drupal.

És una versió que soluciona problemes de seguretat.

Podeu veure tots els canvis aquí.

 

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

Instal·lar Ubuntu Linux 64 bits en un Dell Vostro 3360 amb un disc mSATA 32 GB

octubre 20th, 2012

Aquest article té les seccions / This article has the sections:

  1. Introducció / Introduction
  2. Història d’intents / History of trails
  3. Instruccions d’instal·lació (el camí ràpid) / Installation instructions (fast solution)
  4. Reflexions / Reflections

Afegiré les captures de pantalla quan em sigui possible. I will add the screenshots when possible.

 

Introducció / Introduction

Al projecte que estic dirigint hem comprat diversos Dell Vostro 3360 per a l’equip i un per a mi.

In the project I’m managing we bought several Dell Vostro 3360 laptops for the Team, and one for me.

Aquest portàtil és molt interessant, planejo fer-ne una anàlissi aviat, però a grans trets:

This is a very interesting laptop, I’m planning to write a review soon, but as a resume:

  1. pesa poc / lightweight
  2. té una potència considerable (Intel Core i5-3317U (1.7GHz)) / relatively powerful CPU
  3. Ve amb 6 GB de RAM / Equiped with 4 GB + 2 GB RAM
  4. Incorpora un disc dur SSD mSATA
  5. I un disc dur tradicional de 500 GB / Another disk of 500 GB
  6. Equipa 3 ports USB 3.0
  7. Costa 700 € IVA inclós / Cost 700 € taxes included in Catalonia

Història d’intents / History of trials

La qüestió és que des de Catalunay no es pot encarregar a la web de Dell amb Linux precarregat, des d’altres països sí, i vaig veure que un dels meus desenvolupadors tenia problemes per a instal·lar Ubuntu al SSD. Vaig aconseguir-ho, però instal·lar Linux en aquest portàtil és quelcom prou difícil, i no vaig trobar informació a Internet, així que detallo com aconseguir-ho.

The fact is that from Catalonia is not possible to buy from Dell with Ubuntu pre-loaded, from other countries it is.

I saw that one of the developers of my team experimented many difficulties to install Ubuntu on the SSD disk. I succedeed, but to install Linux in this laptod is hard enough, and I didn’t find satisfactory information on the Internet, so I detail the steps to do it.

Vaig fer aquest procès amb cinc portàtils vostro 3360 diferents i vaig provar més de 20 instal·lacions amb configuracions diferents incloent Ubuntu 12.04 de 32 bit i 64 bits i Ubuntu 12.04.1 de 32 i 64 bit.

I did this process with five laptops vostro 3360 and I tried more than 20 installations with different configurations including Ubuntu 12.04 32 bit and 64 bit and Ubuntu 12.04.1 64 bit and 32 bit.

Com a comentari graciós sobre windows, quan arrenques aquest equip per primer cop, tal com ve de fàbrica, amb windows precarregat, et dóna la famosa i infame pantalla blava. :)

As a funny comment, when you start this laptop for the first time, windows crashes with blue screen. :)

El primer que vaig intentar va ser instal·lar Ubuntu 64 bits, concretament la versió Ubuntu 12.04 64 bit que tenia en un llapis de memòria USB.

No va ser possible ni aconseguir que botés.

Donava un error:

 Can not mount /dev/loop1 on cow

Tampoc vaig tenir més èxit amb la versió de 32 bits, i tampoc amb les més actuals de la web Ubuntu 12.04.1 de 64 bits o de 32.

Vaig provar a repetir la operació canviant els modes de funcionament de la interfície SATA de la Bios, també sense èxit.

Començava a ser una mica frustrant, i no hi havia informació a Internet sobre com en sortir-se’n.

Vam tenir la idea de botar amb un CD USB extern.

We had the idea the boot with and external CD USB.

Per sorprenent que sembli va aconseguir arrencar Ubuntu 12.04 de 32 bits d’aquesta manera, sense obtenir l’error abans esmentat (loop1 on cow) i vaig arrencar indicincat “instal·lar” al menú d’ubuntu.

Però l’instal·lador era incapaç de detectar el disc /dev/sda (unitat SATA de 500 GB) i sí que detectava /dev/sdb el disc dur SSD mSATA, però era incapaç de veure la taula de particions, modificar res, o instal·lar.

Surprisingly the installer menu booted perfectly this way and I selected “install” from the menu. The installer was unable to detect the disk /dev/sda (the 500 GB SATA unit) but was able to detect /dev/sdb (SSD mSATA), but was unable to see the partition table, modify a thing, or install.

Així que estàvem encallats sense poder instal·lar.

So we got stucked without being able to install.

Llavors, vaig arrencar amb la opció de provar Ubuntu.

I booted with the option of “Try Ubuntu”.

Un cop iniciat vaig arrencar gparted.

Once then, I started gparted.

Gparted sí que podia accedir a la taula de particions sda i sdb. Vaig esborrar la partició “desconeguda” de 8 GB del disc mSATA SSD (/dev/sdb) i vaig crear una partició Linux i la vaig marcar com a arrencable.

Gparted was able to access the partition table for sda and sdb. I deleted the “unknown” partition from the mSATA SSD disk (/dev/sdb) and I created a 30 GB Linux partition and I marked it as bootable.

Vaig instal·lar Linux però en reiniciar després va arrencar windows, i la bios permetia com a únic disc arrencable el sda on residia windows.

I installed Linux but after rebooting windows started, not Linux.

The bios showed only the sda disk as bootable, and didn’t allow to change it.

La partició /dev/sdb que havia creat abans i on instal·lí Linux, havia desaparegut.

The partition /dev/sdb that I created before and where I installed Linux had gone.

Vaig repetir la operació vàries vegades sense èxit.

L’ordinador sempre botava i reapareixia windows amb la seva pantalla blava. ;)

I repeated the operation several times withour success.

The computer always booted windows and dead blue screen respawned. ;)

Vaig repetir les passes i amb Gparted vaig recrear completament la taula de particions, no només esborrar la partició existents i creant-ne una de noves, sinó sobreescrivint completament la taula de particions i això va funcionar.

I repeated the steps and with Gparted I recreated completely the partition table, not only deleting the existing partition and creating a new, but overwriting the entire partition table, and I created a new partition. It worked.

Installation instructions

Molt important, per a aconseguir instal·lar, cal seguir aquestes passes, si no se segueixen, no serà possible després instal·lar per a que boti el disc SSD.

Very important, in order to install it on the SSD, you must follow this instructions, if not, it will be unable later to install in order to boot from the SSD disk.

  1. Botar amb el CD USB extern / Boot with the exernal CD USB
  2. Seleccionar “Provar Ubuntu” / Select “Try Ubuntu”
  3. Arrencar GParted / Start GParted
  4. Seleccionar /dev/sdb i sobreescriure la taula de particions / Select /dev/sdb and overwrite the partitions table
  5. Crear una nova partició primària a /dev/sdb del tipus ext4 / Create a new primary partition on /dev/sdb of type ext4
  6. Marcar-la com a arrencable / Mark it as bootable
  7. Aplicar i sortir de Gparted / Apply and exit GParted
  8. Iniciar l’instal·lador d’Ubuntu / Start te Ubuntu installer
  9. Ara l’instal·lador detecta el disc /dev/sdb :) seleccionar /dev/sdb1 , indicar que serà ext4 (o ext2 al gust) i usada com a punt de muntatge / i formatar la partició / Now the installer detects the disk /dev/sdb :) select /dev/sdb1 and choose ext4 (or ext2) as type and to use it as mounting point for root / , select format the partition
  10. Si has seleccionat ext4 no respondrà el boto d’instal·lar, és un bug, ves enrere, repeteix la operació i et permetrà seguir / If you selected ext4 the button “install” it will not work, it’s a bug, go back and retry and it will work
  11. Ara podràs instal·lar amb normalitat / Now you can install as usual
  12. Després d’instal·lar reinicia, veuràs que intenta arrencar amb windows, però després d’un parell de segons es reinicia sol i aquest cop ja s’iniciarà amb Linux / After installing, reboot, and you will se that it starts windows, but after two seconds it will reboot and then it will start with Ubuntu

 

Ara, quan arrenquis l’ordinador, et sortirà un missatge de la BIOS de la controladora Intel Accelerator que abans no sortia. Ignora’l.

Now when you start the computer, a new message from the Intel Accelerator BIOS will appear. Ignore it.

 

Ara et recomano crear una partició de swap al disc /dev/sda . El portàtil té 6 GB de RAM així que 20 GB estarà bé. La partició swap mai ha de ser al disc SSD ja que redueix moltíssim la vida del dispositiu.

Now I recommend to create a swap partition on /dev/sda disk. Laptop has 6 GB of RAM so 20 GB of swap will be fine.

Reflexions / Reflections

Després d’instal·lar funcionar tot, menys la tarja de xarxa ethernet.

After installing everything works, except the network card.

Val a dir que ja vaig tenir problemes una vegada amb un ordinador de sobretaula HP, el més potent que venen , amb 12 GB de RAM, i no hi vaig poder instal·lar Ubuntu de 64 bits, vaig haver-ho d’instal·lar-hi la versió de 32 bit.

In the past I had problems to install Ubuntu 64  bit in a workstation HP, the most powerful they sell, with 12 RAM GB and I had to install a 32 bit version.

El que vull dir és que aquests fabricants de renom s’estan disparant al peu fent que els seus equips no suportin Linux, perquè la informàtica la movem els informàtics, i són ben pocs els que encara fan servir per a desenvolupar windows. (* Això és diferent a Anglaterra on molts treballen amb .NET i windows)

I mean that those well known manufacturers are shooting their own feet with their computers not supporting Linux, so the informatica world is moved by the technicians, and thy are really few of us that use windows to depevlop. (* This is different in England where many work with .NET and windows)

Els fabricants de marca, perdran bona part de quota (i la quota de la gent aconsellada pels informàtics també), si no són murris i  deixen de fer el ximple amb aquest tema.

The computer manufacturers will sell a good part of quota (and from the people we recommend what to choose) if they’re not clever and stop doing nonsenses unsupporting Linux.

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