Tuesday, June 29, 2010

WEKA i MySQL

Com connectar WEKA amb MySQL.

Pàgina on ho explica: http://estudiandobi.blogspot.com/2008/02/conectar-weka-con-mysql.html

Coses a tenir en compte:
- Al directori home/username hi ha d'haver el fitxer DatabaseUtils.props
- S'ha de carregar la llibreria mysql-connectors-java.jar al CLASSPATH

A la web http://mrtextminer.wordpress.com/2008/03/16/setup-weka-and-libsvm-for-weka-in-debian-etch/ hi ha informació de com connectar WEKA amb la llibreria de SVM.

Sunday, June 27, 2010

Linux - Apache - PHP - MySQL

Resum de l'estructura dels directoris en un Debian/Ubuntu

- /etc/init.d conté els progrmes que s'executen, com ara apache2 o mysql
- /etc/mysql conté la configuració de mysql
- /etc/apache2 conté la configuració de apache2
- /etc/phpmyadmin conté la configuració de phpmyadmin
Per poder veure phpmyadmin a localhost/phpmyadmin s'ha de modificar el fitxer /etc/apache2/apache.conf afegint-li Inlclude /etc/phpmyadmin/apache2.conf

Wednesday, June 23, 2010

MySQL - Query Cache

La Query Cache emmagatzema consultes prèviament realitzades per així poder respondre-les més ràpidament.
  • És key-sensitive
Si deixem una consulta a mig fer, llavors la Query Cache d'aquesta consulta queda en un estat dubtós, i quan tornem a fer la consulta no retorna res, es queda bloquejada.

Per a evitar això podem fer un
RESET QUERY CACHE

Més info:
http://www.mysqlfaqs.net/mysql-faqs/Speed-Up-Queries/What-is-query-cache-in-MySQL
http://dev.mysql.com/doc/refman/5.0/en/query-cache-configuration.html

Saturday, June 12, 2010

MySQL - Com connectar amb una base de dades remota usant CPANEL

Aqui esta explicat:
http://paragonhost.wordpress.com/2007/03/10/remote-mysql-connection-to-a-cpanel-server-how-to/

Nota.
Quan engeguem l'ordinador, per defecte el servidor mysql no està inicialitzat. Per tal de fer-ho, hem d'accedir al directori del disc extern on hi ha la base de dades (ex. media/disk/mysql) i des d'allà engegar el servidor mysql (sudo /etc/init.d/mysql start).

Friday, June 11, 2010

MySQL - Com canviar el directori on guardar les dades

Extret de http://www.freelancis.net/ressources/mysql/changing_directory

El directori on s'emmagatzemen les bases de dades de mysql per defecte és:
/var/lib/mysql

Si volem emmagatzemar la base de dades a un disc extern, per exemple, hem de fer el següent:
  • Parar el dimoni mysql
/etc/init.d/mysql stop
  • Crear el directori arrel on vulguem i donar-li permisos per accedir des de la BD
mkdir /home/mysql
chown -R mysql /home/mysql
chgrp -R mysql /home/mysql
  • Copiar les dades bàsiques, usuaris, etc
cp -Rp /var/lib/mysql/* /home/mysql/

  • Canviar la configuració MySQL
vi /etc/mysql/my.cnf

Canviar la línia datadir = /var/lib/mysql per datadir = /home/mysql
  • Activar de nou el dimoni MySQL i provar que va bé creant una nova BD
/etc/init.d/mysql start

  • Alliberar espai. Tots els fitxers del directori /var/lib/mysql, excepte
debian-5.0.flag
mysql_upgrade_info
i el directori mysql


poden ser eliminats

MySQL - Varis

El fitxer /etc/mysql/debian.cnf conté el nom d'usuari (debian-sys-maint) i la contrassenya de l'usuari principal de mysql.
  • Accedir a mysql:
/etc/init.d/mysql -u debian-sys-maint -p
  • Treballar amb la base de dades correcta, la que gestiona els usuaris:
mysql> use mysql;
  • Canviar contrassenya d'un usuari (per exemple, el root si no la sabem):
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='vivek';
  • Crear un nou usuari amb privilegis:
mysql> CREATE USER 'miquel'@'localhost' IDENTIFIED BY 'passmiquel';

mysql> GRANT ALL PRIVILEGES ON *.* TO 'miquel'@'localhost' WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)

  • Actualitzar privilegis:
mysql> flush privileges;
mysql> quit

PHP - Com veure els errors de PHP?

A la "versió de desplegament", és a dir, als servidors que funcionen de veritat, els errors de PHP estan ocultats. Per tal de veure'ls jem de modificar el següent:

Fitxer
/etc/php5/apache2/php.ini
Linia 531
display_errors = On/Off

Això ho he necessitat per a poder veure els errors del servidor Apache instal·lat per defecte a l'ordinador.

Linux - Servidor - Carpetes

Engegar / Aturar el servidor Apache

/etc/init.d/apache2 start | stop | restart

Directori on afegir els fitxers

/var/www

Si no volem moure els fitxers de dins un directori a aquest directori, podem fer un softlink de la següent manera

ln -s /path/OrigDir /var/www/newDir

R - Com fer un gràfic senzill

# Resultat en un fitxer pdf. width=7, height=7 by default. (in inches)
pdf(file="prova.pdf",width=7,height=7)

# Parametres dels grafics. mfrow es per a posar mes d'un grafic a la figura. Cada grafic comença amb plot()

# Els altres son per als marges
#par(mfrow=c(3,3), mar=c(3.5,3.5,1.5,0.5), oma=c(0,1,1,1))

a <- matrix(ncol=2,nrow=10) a[,1] = c(1,2,3,4,5,6,7,8,9,10) a[,2] = c(3,5,3,87,9,63,12,51,11,22) b <- matrix(ncol=2,nrow=10) b[,1] = c(1,2,3,4,5,6,7,8,9,10) b[,2] = c(13,15,23,17,59,3,27,75,18,32) plot(a,col="green",pch=17,ylim=c(-1,100),xlab="alpha",ylab="Variation of Information",main="sites.net"); lines(a,col="green") points(b,col="red",pch=20); lines(b,col="red") legend("topright",c("a","b"),col=c("green", "red"),pch=c(17,20)); # Tanquem el fitxer pdf dev.off()


El resultat és

R - Utilitats

El llenguatge R és un llenguatge matemàtic molt útil. En destaco un parell de funcionalitats:
  • La funció match(), que retorna els índexos dels elements buscats.
  • par(mfrow=c(3,3)), que permet mostrar 3x3 gràfics en una sola finestra.
  • pdf(...,width=7,length=7), que permet imprimir a un fitxer pdf els gràfics. Acaba amd dev.off()
  • mca, que fa un anàlisi de correspondències múltiples. Dins la library MASS
  • hclust, que fa un hierarchical clustering
  • hist2d, image, image.plot, que són eines gràfiques
  • choose(n,m) calcula combinacions de n elements en grups de n
  • ginv(M) calcula la inversa de M. Dins la library MASS
  • binary(i,d) obté la representació en binari de d digits del nombre i. Dins la library wle. binary(i,d)$binary és un vector de zeros i uns.
  • write.table(b,file="filedest", row.names=FALSE, col.names=FALSE)
  • plot(a,col="green",pch=17,ylim=c(-1,100),xlab="alpha", ylab="Information", main="net")
  • Creacio de funcions: nomfunc <- function(parameters){... retValue}

Django - Basics

Updated 2010-08-07

Django is a Web framework that allows making webs in a fast and easy way. As his lemma says, it is a framework "for perfectionists with deadlines".

Here there is a basic tutorial, divided in four steps, which explains its fundamentals.
  • Step 1. Creating the data Model.
  • Step 2. Activating the automatic web Administration.
  • Step 3. Creating the public interfaces - Views.
  • Step 4. Form processing and depurating the code.
Django structures the code in three parts, following the classic Model-View-Controller scheme, although it is slightly different. Its parts are the following:
  • Model, which contains the relational scheme of the database.
  • Views, which deploy the web functionalities.
  • Templates, which concrete the final HTML code which is seen in the web application.
The basic files and folders in which a Django application is divided are the following:
  • settings.py File with configuration parameters
  • manage.py Application which allows to run the development server, to reset the database and other functionalities.
  • urls.py Module which works as an URL dispatcher.
  • application/models.py Contains the Model of the application.
  • application/views.py Contains the Views of the application.
  • application/forms.py Contains the forms used in Views and Templates.
  • application/admin.py Admin default module.
  • templates/ Contains different Templates.
  • files_media/ Contains static files like images, CSS or JavaScript files
Some typical problems when working with Django:

Modification of the Model
  • Once the model is created, we may need to change it, changing tables, adding new ones, and so on.
  • If we allow to loose the existing data, the easiest way to do that is the following, explained in the answer 10 of the FAQ's: to delete the existing tables with the command
manage.py reset appname
and re-creating them with
manage.py syncdb
manage.py sql appname
  • If we do not want to loose the existing data we must be more careful:
    • If we only add tables without modifying or deleting other tables, the application of the re-creating commands works well.
    • If we also want to modify an existing table we must be more careful: We must modify manually the database. A good way to do that is with the alter table command of sqlite3. We must be very careful and we must maintain in each moment the integriity between the database and the defined model:
      • Fields names: The field names of the table finish with _id.
      • Fields are not null by default at the model and null by default in the database. So, it is not a problem. If we want the database to store not null fields, we must indicate it:
CREATE TABLE "myapp_informacio" (
"id" integer NOT NULL PRIMARY KEY,
"usuari_id" integer NOT NULL
REFERENCES "myapp_usuari" ("id"),
"missatge" varchar(250) NOT NULL,
"data_consulta" datetime NOT NULL
)
      • When we want a field to be not necessarily null at the database we must modify the model adding the "restrictions":
camp = models.CharField(null=True,
blank=True,max_length=5)

The Gimp: Making Colors in a GIF Transparent

From http://aplawrence.com/Linux/crousegif.html.

Sometimes when working with an image you want to make a certain color transparent. When working with a gif file this would make a round circle look round on any color background. This is actually very simple once you do it once. Finding the information for this took me a while so I thought I would pass it on to anyone that was interested.

1. Open your image in the gimp.

2. Right click the image and go to LAYERS then ADD ALPHA CHANNEL. You won't notice anything happening, but don't be concerned. It basically adds a transparent layer at the bottom of your image so when we erase the colors.....it's shows the transparent layer. Which of course would show whatever was under it on the screen.

3. Right click on the image again and go to SELECT and then down to BY COLOR. A window that is all black opens up. Don't change any of the settings....just use the defaults for now.

4. Now click on the color in the image you want to be transparent. These colors will now show up outlined.

5. Right click on the image again and go to EDIT and then down to CLEAR. This should now erase the outlined color you just picked from the image and the "transparent gimp checkerbox" should show through. This is the Gimps way of showing you that section is now transparent.

6. Right click on the image and choose SAVE AS and make sure to save as a GIF file if you want the transparency to work on the web.

Instalation of Freeling - Language Processing Tools in Ubuntu 9.10

Documentation is found in Freeling installation page. However, I've had several problems when following the described steps.

I followed the installation from .tar.gz source packages. Here I will describe the differences between what I did and the explanation from the .tar.gz installation page.

1. Install development tools

Ok

2. Install packaged requeriments
I installed the following package instead of
sudo apt-get install libboost-dev
sudo apt-get install libboost1.40-all-dev
(due to problems with libboost-filesystem)

3. Install non-packaged requeriments

Ok

4. Install Freeling
Previous installations OK
Installation of Freeling
sudo ./configure
sudo make
sudo make reported a bug when using libtool. I solved them by following the explanation of here. Basically, with the addition of these lines in file Freeling/libtool
# An echo program that does not interpret backslashes.
ECHO="echo"
+#well this $ECHO is referred to as $echo everywhere in this file. So:
+echo="$ECHO"

# Used to examine libraries when file_magic_cmd begins with "file".
MAGIC_CMD=file

sudo make
sudo make install
Problems with freeling/data/Makefile.am. I solved them by following the explanation of here.
Basically, with the Modification of all lines like
asdata_DATA = es/*
to
asdata_DATA = es/*.*
These lines refer to asdata, cadata, esdata, gadata, commondata, itdata... (one for each lang).
sudo make install
Now all was ok!

Examples
In the directory Freeling/src/main/simple_examples/
g++ -o sample sample.cc -ldb_cxx -lmorfo -lfries -lomlet -lpcre
I needed to add the library lboost_filesystem
g++ -o sample sample.cc -ldb_cxx -lmorfo -lfries -lomlet -lpcre
-lboost_filesystem

Error d'execució al carregar una llibreria

L'error era aquest: la llibreria estava posada a una ruta errònia. Poso l'explicació que m'ha servit.

liblablabla.so.5: cannot open shared object file: No such file or directory

Problem: An application is running on Linux 7.x which uses gcc 3.2.x. It gets one of the following error messages:

libstdc++.so.5: cannot open shared object file:
No such file or directory
libgcc_s.so.1: cannot open shared object file:
No such file or directory
Explanation: libstdc++.so.5 (the library for gcc 3.2.x) is installed in /usr/local/lib However, the system will only seach /usr/lib (where the 2.95.0 and other older libraries are stored).

Solution: Create symbolic links to make the libraries appear in the old folder:

ln -s /usr/local/lib/libblablabla.so.5
/usr/lib/libblablabla.so.5
ln -s /usr/local/lib/libblablabla.so.1
/usr/lib/libblablabla.so.1

Joomla - Cosetes

  • Canviar el títol per defecte de la pàgina: Anar a Menus -> Main Menu -> Home -> Edit -> Parameters (System) i canviar el títol (http://cmsjoomla.wordpress.com/2008/10/16/modificar-el-texto-bienvenidos-a-la-portada/)
  • Canviar la icona per defecte de la pàgina: Fitxer nom_plantilla/favicon.ico
  • Component joomla per reproduir mp3. Es un Mambot i es diu *1 Pixel Out Audio Player*.
*Per la versió 1.0x del joomla: *
Descàrrega: http://duvien.com/system/files/BOT_onepixelout-player-v123b.zip
Informació: http://duvien.com/onepixelout-player-ported-joomla-10x

*Per la versió 1.5 del joomla: *
Descárrega: http://duvien.com/system/files/plg_onepixelout-player-v1_5_2.zip
Informació: http://duvien.com/1pixelout-player-152-released

Per fer-lo servir ho has de fer així, posant /{audio}arxiu MP3{/audio}/

Ortografia a un document LATEX

NO admet format UTF8
ispell -t -T latin1 -d idioma tutorial-latex.tex

-t Latex format
-d catalan/spanish

FUNCIONA BÉ
aspell -t -l ca check document

Replace r paraula_nova

Com fer un GIF animat amb el GIMP?

  • Primer amb les eines ScaleTool i Rectangle de selecció podem aconseguirles imatges de la mida que volem.
  • Quan ja les tenim totes (amb extensió gif) obrim la primera.
  • Per a la resta les obrim amb la opció Open as Layers.
  • En el menú Dialogs -> Layers podem configurar l'ordre... etc.
  • Quan anem a guardar la imatge ens preguntarà si volem que sigui estatica (NO)o dinàmica (SÍ), així com el temps entre foto i foto (en milisegons).
I ja tindrem el nostre gif animat. Això sí: la resolució no és massa bona.

Per allotjar-lo a un servidor Web que permeti visualitzar l'animació: http://imageshack.us/
No cal registrar-se


Com convertir una impatge a pdf?
  • (des d'Ubuntu) Programa mogrify. Ex. mogrify -format pdf imatge.jpg

Programes informàtico-matemàtics

Llibreria per al càlcul de VAPS i VEPS molt grans: ARPACK (en Fortran), ARPACK++ (interfície per a C++)
  • Per a Ubuntu hi ha un paquet deb.

SIMPLEX - Programació lineal
  • CPLEX: El millor, de pagament
  • GLPK: Free software, va bé. Implementat en C++, té una interfície en R. Els problemes s'especifiquen en MATHPROG, un llenguatge per a especificar problemes.
  • COIN-OR: Free software

Programes matemàtics gratuïts

Software educatiu

Joomla - Passos molt bàsics per a fer una web

Menús: Agrupacions d'enllaço, imatges...
  • Es pot triar l'ordre i el nivell d'accés.

Contingut: Categories -> Seccions -> Articles
  • FrontPage

Components:
  • Remository
  • Weblinks: Categories -> Links

Extensions:
  • Module Manager: Són els que es veuen a les pàgines. Formats per menús i altres mòduls.
  • Localització (esquerra, dreta, ..., ordre)
  • Nivell d'accés (públic, privat, ...)
  • Assignació de menús: Menús i elements des dels quals serà visible el mòdul.

Eines AUTO per a la compilació de projectes

Al directori arrel /
configure.in
Makefile.am
A cada carpeta
Makefile.am
Executem
aclocal : arxiu aclocal.m4 amb macros
autoconf : configure.in -> scripts configuració
automake -a (--foreign) : Makefile.am -> Makefile.in
autoheader : Plantilla configure
Finalment
./configure
make

Accedir per ssh dins lsi

ssh nomusuari@login1.upc.edu

ssh2 nomusuari@nommaquina