lunes, enero 30, 2012

La doctrina del shock

Hace un par de viernes echaron un documental en La2 que me pareció muy bueno y muy crítico con las teorías económicas que parecen hoy imperantes.

Se lo recomendé a todo un equipo de fútbol (con los que juego los viernes). Realmente eran dos equipos de fútbol-7. Da igual. Sólo sé de uno que lo viera. La gente quiere pan y circo, y así nos va.

Este documental es el equivalente a una pastilla roja en Matrix. Si no lo tienes claro elige la azul.




Por cierto, a la autora del libro/reportaje se le olvida que Donald Rumsfeld además de Secretario de Defensa, fue también uno de los que nos convenció de que una epidemia mundial ponía en riesgo a toda la humanidad.

En consecuencia todas las Comunidades autónomas y el Gobierno central de este reino gastaron ingentes fortunas en una vacuna que luego no servía para nada. Ahora nos dicen que no hay dinero y hay que reducir los servicios públicos.

Rumsfeld era directivo de una empresa farmaceútica que tenía patentado el tamiflú. En el caso de la gripe porcina su laboratorio era el único con el medicamento que contra ella.

jueves, enero 19, 2012

Oracle, comprobar parches instalados


servidor:/oracle11g/product/11.2.0/dbhome_1/OPatch$ ./opatch lsinventory
Invoking OPatch 11.2.0.1.1

Oracle Interim Patch Installer version 11.2.0.1.1
Copyright (c) 2009, Oracle Corporation. All rights reserved.


Oracle Home : /oracle11g/product/11.2.0/dbhome_1
Central Inventory : /oracle/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 11.2.0.1.1
OUI version : 11.2.0.2.0
OUI location : /oracle11g/product/11.2.0/dbhome_1/oui
Log file location : /oracle11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-01-18_14-03-45PM.log

Patch history file: /oracle11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_history.txt

Lsinventory Output file location : /oracle11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2012-01-18_14-03-45PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1):

Oracle Database 11g 11.2.0.2.0
There are 1 products installed in this Oracle Home.


There are no Interim patches installed in this Oracle Home.


--------------------------------------------------------------------------------

OPatch succeeded.
servidor:/oracle11g/product/11.2.0/dbhome_1/OPatch$
servidor:/oracle11g/product/11.2.0/dbhome_1/OPatch$ ./opatch lsinventory -detail
Invoking OPatch 11.2.0.1.1

Oracle Interim Patch Installer version 11.2.0.1.1
Copyright (c) 2009, Oracle Corporation. All rights reserved.


Oracle Home : /oracle11g/product/11.2.0/dbhome_1
Central Inventory : /oracle/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 11.2.0.1.1
OUI version : 11.2.0.2.0
OUI location : /oracle11g/product/11.2.0/dbhome_1/oui
Log file location : /oracle11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-01-18_14-04-14PM.log

Patch history file: /oracle11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_history.txt

Lsinventory Output file location : /oracle11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2012-01-18_14-04-14PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1):

Oracle Database 11g 11.2.0.2.0
There are 1 products installed in this Oracle Home.


Installed Products (136):

Agent Required Support Files 10.2.0.4.3
Assistant Common Files 11.2.0.2.0
Bali Share 1.1.18.0.0
Buildtools Common Files 11.2.0.2.0
Character Set Migration Utility 11.2.0.2.0
Cluster Verification Utility Common Files 11.2.0.2.0
Database Configuration and Upgrade Assistants 11.2.0.2.0
Database SQL Scripts 11.2.0.2.0
Database Workspace Manager 11.2.0.2.0
Deinstallation Tool 11.2.0.2.0
Enterprise Edition Options 11.2.0.2.0
Enterprise Manager Agent 10.2.0.4.3
Enterprise Manager Agent Core Files 10.2.0.4.3
Enterprise Manager Common Core Files 10.2.0.4.3
Enterprise Manager Common Files 10.2.0.4.3
Enterprise Manager Database Plugin -- Agent Support 11.2.0.2.0
Enterprise Manager Database Plugin -- Repository Support 11.2.0.2.0
Enterprise Manager Grid Control Core Files 10.2.0.4.3
Enterprise Manager plugin Common Files 11.2.0.2.0
Enterprise Manager Repository Core Files 10.2.0.4.3
Exadata Storage Server 11.2.0.1.0
Expat libraries 2.0.1.0.1
Generic Connectivity Common Files 11.2.0.2.0
HAS Common Files 11.2.0.2.0
HAS Files for DB 11.2.0.2.0
Installation Common Files 11.2.0.2.0
Installation Plugin Files 11.2.0.2.0
Installer SDK Component 11.2.0.2.0
JAccelerator (COMPANION) 11.2.0.2.0
LDAP Required Support Files 11.2.0.2.0
OLAP SQL Scripts 11.2.0.2.0
Oracle 11g Warehouse Builder Required Files 11.2.0.2.0
Oracle Advanced Security 11.2.0.2.0
Oracle Application Express 11.2.0.2.0
Oracle Call Interface (OCI) 11.2.0.2.0
Oracle Clusterware RDBMS Files 11.2.0.2.0
Oracle Code Editor 1.2.1.0.0I
Oracle Configuration Manager 10.3.3.1.1
Oracle Configuration Manager Client 10.3.2.1.0
Oracle Configuration Manager Deconfiguration 10.3.1.0.0
Oracle Containers for Java 11.2.0.2.0
Oracle Core Required Support Files 11.2.0.2.0
Oracle Data Mining RDBMS Files 11.2.0.2.0
Oracle Database 11g 11.2.0.2.0
Oracle Database 11g 11.2.0.2.0
Oracle Database 11g Multimedia Files 11.2.0.2.0
Oracle Database Deconfiguration 11.2.0.2.0
Oracle Database Gateway for ODBC 11.2.0.2.0
Oracle Database User Interface 2.2.13.0.0
Oracle Database Utilities 11.2.0.2.0
Oracle Database Vault J2EE Application 11.2.0.2.0
Oracle Database Vault option 11.2.0.2.0
Oracle DBCA Deconfiguration 11.2.0.2.0
Oracle Display Fonts 9.0.2.0.0
Oracle Enterprise Manager Console DB 11.2.0.2.0
Oracle Extended Windowing Toolkit 3.4.47.0.0
Oracle Globalization Support 11.2.0.2.0
Oracle Globalization Support 11.2.0.2.0
Oracle Help For Java 4.2.9.0.0
Oracle Help for the Web 2.0.14.0.0
Oracle Ice Browser 5.2.3.6.0
Oracle Internet Directory Client 11.2.0.2.0
Oracle Java Client 11.2.0.2.0
Oracle JDBC Server Support Package 11.2.0.2.0
Oracle JDBC/OCI Instant Client 11.2.0.2.0
Oracle JDBC/THIN Interfaces 11.2.0.2.0
Oracle JFC Extended Windowing Toolkit 4.2.36.0.0
Oracle JVM 11.2.0.2.0
Oracle Label Security 11.2.0.2.0
Oracle LDAP administration 11.2.0.2.0
Oracle Locale Builder 11.2.0.2.0
Oracle Message Gateway Common Files 11.2.0.2.0
Oracle Multimedia 11.2.0.2.0
Oracle Multimedia Annotator 11.2.0.2.0
Oracle Multimedia Client Option 11.2.0.2.0
Oracle Multimedia Java Advanced Imaging 11.2.0.2.0
Oracle Multimedia Locator 11.2.0.2.0
Oracle Multimedia Locator RDBMS Files 11.2.0.2.0
Oracle Net 11.2.0.2.0
Oracle Net Listener 11.2.0.2.0
Oracle Net Required Support Files 11.2.0.2.0
Oracle Net Services 11.2.0.2.0
Oracle Netca Client 11.2.0.2.0
Oracle Notification Service 11.2.0.2.0
Oracle Notification Service (eONS) 11.2.0.2.0
Oracle ODBC Driver 11.2.0.2.0
Oracle ODBC Driverfor Instant Client 11.2.0.2.0
Oracle OLAP 11.2.0.2.0
Oracle OLAP API 11.2.0.2.0
Oracle OLAP RDBMS Files 11.2.0.2.0
Oracle One-Off Patch Installer 11.2.0.0.2
Oracle Partitioning 11.2.0.2.0
Oracle Programmer 11.2.0.2.0
Oracle Quality of Service Management (Client) 11.2.0.2.0
Oracle RAC Deconfiguration 11.2.0.2.0
Oracle RAC Required Support Files-HAS 11.2.0.2.0
Oracle Real Application Testing 11.2.0.2.0
Oracle Recovery Manager 11.2.0.2.0
Oracle Security Developer Tools 11.2.0.2.0
Oracle Spatial 11.2.0.2.0
Oracle SQL Developer 11.2.0.2.0
Oracle Starter Database 11.2.0.2.0
Oracle Text 11.2.0.2.0
Oracle Text Required Support Files 11.2.0.2.0
Oracle UIX 2.2.24.6.0
Oracle Universal Connection Pool 11.2.0.2.0
Oracle Universal Installer 11.2.0.2.0
Oracle USM Deconfiguration 11.2.0.2.0
Oracle Wallet Manager 11.2.0.2.0
Oracle XML Development Kit 11.2.0.2.0
Oracle XML Query 11.2.0.2.0
Parser Generator Required Support Files 11.2.0.2.0
Perl Interpreter 5.10.0.0.1
Perl Modules 5.10.0.0.1
PL/SQL 11.2.0.2.0
PL/SQL Embedded Gateway 11.2.0.2.0
Platform Required Support Files 11.2.0.2.0
Precompiler Common Files 11.2.0.2.0
Precompiler Required Support Files 11.2.0.2.0
Provisioning Advisor Framework 10.2.0.4.3
RDBMS Required Support Files 11.2.0.2.0
RDBMS Required Support Files for Instant Client 11.2.0.2.0
RDBMS Required Support Files Runtime 11.2.0.2.0
regexp 2.1.9.0.0
Required Support Files 11.2.0.2.0
Sample Schema Data 11.2.0.2.0
Secure Socket Layer 11.2.0.2.0
SQL*Plus 11.2.0.2.0
SQL*Plus Files for Instant Client 11.2.0.2.0
SQL*Plus Required Support Files 11.2.0.2.0
SQLJ Runtime 11.2.0.2.0
SSL Required Support Files for InstantClient 11.2.0.2.0
Sun JDK 1.5.0.20.0
XDK Required Support Files 11.2.0.2.0
XML Parser for Java 11.2.0.2.0
XML Parser for Oracle JVM 11.2.0.2.0
There are 136 products installed in this Oracle Home.


There are no Interim patches installed in this Oracle Home.


--------------------------------------------------------------------------------

OPatch succeeded.
servidor:/oracle11g/product/11.2.0/dbhome_1/OPatch$

martes, enero 17, 2012

NFS, problemas habituales

NFS (Network file system) nos permite utilizar un directorio remoto como si estuviera en nuestra propia máquina.


Hay una parte servidora que es el que ofrece el directorio y una parte cliente que monta el directorio.


Preparación (esto es un ejemplo concreto):


Lo primero es instalar tanto en la parte servidora como en el cliente el paquete nfs-common:


#apt-get install nfs-common


En la parte servidora hay que instalar algo más:


#apt-get install nfs-kernel-server


En esta parte servidora estará el demonio NFS a la escucha de los puertos UDP y TCP número 2049.

Podemos ver si todo va bien en el servidor:


#rpcinfo -p


Un posible error puede ser este:
rpcinfo: no se puede comunicar con el asignador de puertos: RPC:

#cd /etc/init.d
# ./portmap stop
Parando portmap: [FALLA]


# ./portmap start
Iniciando portmap: [ OK ]


# rpcinfo -p

programa vers proto puerto
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper


Conviene también ver si el sistema admite un filesystem de tipo NFS:


#cat /proc/filesystems


(Buscar nfs).


Si no aparece tendremos que cargar el módulo NFS en el Kernel:


#modprobe nfs


Si todo ha ido bien, el demonio estará escuchando los puertos TCP y UDP 2049 y portmap esperará instrucciones en el puerto 111.


Ofrecer los directorios del servidor:


En el servidor, editamos el fichero /etc/exports e indicamos el directorio a exportar.


Por ejemplo:


/home/ficheros nombre-servidor(rw,sync)


Esto indica que vamos a ofrecer /home/ficheros al servidor llamado nombre-servidor con opción de lectura-escritura.


/home/fichero nombre-servidor(ro,sync)


Sólo permitiría la lectura (read only)


Después de modificar el fichero habría que reiniciar el demonio:


#/etc/init.d/nfs restart


Si sólo hemos modificado el fichero también se puede hacer:


#exportfs -ra


Montar los ficheros o directorios en el cliente:


Creamos un directorio donde vamos a montar los ficheros remotos:


#mkdir /prueba


Montamos los ficheros o directorios remotos:


mount servidor-remoto:/home/ficheros /prueba


Si hay problemas podemos indicarle explícitamente que es NFS y también la versión:


mount -t nfs -o nfsvers=3 servidor-remoto:/home/ficheros /prueba


Por último podemos si el servidor remoto está escuchando la peticiones NFS:


rpcinfo -p servidor-remoto


Otros posibles problemas:


El servidor remoto puede estar en otra red y no conocer la ruta hacia tu red.


Comprobarlo haciendo un


#route


El firewall del servidor remoto no permite la conexión:


Comprobarlo deshabilitandolo para la prueba:


#service iptables stop


Si esto funciona habría que habilitar el firewall añadiendo antes la regla correspondiente.


Hacer que el mount sea "permanente":


Opción peligrosa porque si por culpa del servidor NFS no consigue hacer el mount, pues puede que nuestro servidor cliente de NFS no arranque.


Si lo queremos hacer editamos el /etc/fsmount y añadimos:


servidor-remoto:/home/ficheros /prueba/ nfs defaults 0 0


domingo, enero 15, 2012

Previsiones fallidas de Microsoft




En el video Steve Ballmer se troncha cuando le preguntan por el iphone antes de su comercialización. Le parecía que por el elevado precio y por no tener teclado iba a ser un fracaso.

También se equivocó con el Chrome, Android y el iPad, aunque que va a decir si le preguntan por competidores directos en público...

El artículo y la colección de videos aquí.

Saludos.

sábado, enero 14, 2012

Perl, buscar texto dentro de ficheros


Utilizaremos las variables especiales $ARG y $ARGV.

Queremos pasarle como argumentos a nuestro programa el nombre de varios ficheros de texto, y él nos dirá si encuentra el texto en alguno de ellos.


use English;
while(<>){
if($ARG=~/texto de prueba/){
print " Encontrado\n $ARG\n en $ARGV\n\n\n";
}
}

Para que nos reconozca correctamente los términos $ARG y $ARGV tenemos que indicar el "use English". Es para poder usar el módulo English.pm.

$ARG es la entrada y patrón de búsqueda por defecto. En el sitio dónde lo hemos puesto va cogiendo el nombre de cada argumento que le hemos pasado de esta forma:
$buscar.pl fichero1 fichero2 fichero3

$ARGV contiene el nombre del fichero actual que está tratando el bucle.

El bucle recorrerá todos los ficheros que pasemos como argumento. En la IF preguntamos si el fichero cumple la condición de tener ese texto dentro (patrón). Si lo tiene indicamos lo que ha encontrado, y también en qué fichero lo ha hecho.

La ejecución:

$ perl buscar.pl fichero1 fichero2 fichero3
Encontrado
texto de prueba
en fichero2

Saludos.

martes, enero 03, 2012

Patentes de software

Ya han pasado unos meses desde entonces, pero por ello no ha perdido interés.

El 9 de junio de 2011 la Corte Suprema de los EEUU impuso una multa millonaria a Microsoft ¡por violar patentes!

En este caso hay dos cosas curiosas:
1.-Que un gigante de las patentes de software caiga en su propia tela de araña.
2.-Que otras grandes empresas adversarias de Microsoft la apoyaran.

La Sentencia:

Microsoft debe pagar 290 millones de dólares a i4i que es una pequeña empresa canadiense que desarrolló y patentó en 1998 una herramienta para editar documentos XML.

Los productos que violaron la patente:

Word 2003 y 2007 que Microsoft ya no puede vender con la herramienta de edición XML.

Apoyos a Microsoft:

Curiosamente Apple, Google, Intel, General Motors..., apoyaron a Microsoft con el argumento de que esa tecnología patentada estaba en el mercado. Para todos ellos era importante porque supondría un precedente por el que se podrían cuestionar algunas patentes acumulando evidencias en su contra. Después de esto, ya no va a ser nada fácil.

Respecto a la patente en sí:

El tema es complicado. Hay que estudiar estos puntos:
1.-¿Qué patentó i4i?
2.-¿Podían patentar eso?
3.-¿A dónde vamos a llegar si se pueden patentar cosas así? ¿Será el mundo más justo? ¿Se protege la propiedad intelectual, o sólo a algunos poderosos y listillos?
4.-¿Conocen los legisladores y los jueces las implicaciones?

Aquí podemos leer algunas opiniones cualificadas:
http://broadcast.oreilly.com/2009/08/mircrosoft-and-the-two-xml-pat.html

Saludos.

domingo, enero 01, 2012

Prohibir el email?


Parece ser que se extiende entre algunas grandes empresas el "miedo" al email en el peor de los casos, y una sensación de pérdida de productividad en el mejor de ellos.

En mi caso personal, sin ser una persona que reciba demasiados mails, a lo largo de la mañana recibo unos 50. Algunos sólo son de avisos, logs, alertas, pero la mayoría de ellos hay que contestarlos, y muchas veces interrumpen otras tareas.

Desde la empresa canadiense Klick consideran que se pierde mucho tiempo, y que es un problema no poder clasificar los mails por importancia. Lo tienen tan claro que para el funcionamiento interno de la empresa ya no utilizan el email y han realizado un desarrollo a medida.

En empresas como INTEL ya han impuesto el viernes sin mail para aumentar la productividad. Por lo que dicen en la noticia, parece además que terminamos revisando la bandeja de entrada entre 30 y 40 veces a la hora, con el stress que esto produce.

Pero es que además de estas pegas, en las grandes empresas parece que hay miedo por los mails se quedan archivados durante años y años, y que pueden servir para probar que una persona conocía un tema ilegal, o que se dio una orden concreta desde la Dirección, etc. etc.

Es lo que parece que está ocurriendo en el juicio contra Murdoch hijo (caso News International). Puede que un simple mail consiga demostrar que el hijo también sabía lo de las escuchas.

Saludos.