-
Substituir texto Linux usando sed y find
Acabo de cambiar de distribución, si lo sé, el post anterior decía que por fin Ubuntu soporta todo mi hardware, pero ¿si no me peleo con mi maquina que voy a hacer?.

Ahora uso openSuse en lugar de Ubuntu, ya lo había probado varias veces y siempre fallaba algo, esta vez casi todo parece ir bien, somo siempre es cuestión de tocar un poco la configuración y ajustar todo. Una de las pocas cosas que no funciona bien es eclipse, por alguna razón algunas ventanas tienen desactivados los controles, una de ellas es la ventana de búsqueda y reemplazo de cadenas.
Entonces hay que hacer la substitución de cadenas a mano, al menos por ahora. Y se hace así:
Supongamos que queremos substituir todas las cadenas "$HTTP_POST_VARS" por "$_POST", porque resulta que pronto la primera quedara marcada como deprecated en PHP 6,para hacerlo basta teclear lo siguiente:
find ./*.php -type f -exec sed -i 's/$HTTP_POST_VARS/$_POST/g' {} \;
Como siempre, lo pongo aquí para que no se me olvide, y si a alguien mas le es útil es por pura casualidad.
-
Instalar Flash en Linux 64
Pos eso que, como de costumbre Macromedia solo piensa en los usuarios de Linux a 32 bits. Y a los que nos gusta AMD y sus 64 bits nos deja de lado.
Flash 10 en Linux 64
Pero no importa, porque hay un wrapp que, hace creer a Firefox que el plugin de flash esta compilado a 64 bits. 1.- Primero desinstala el plugin de la version 9. Con:
sudo apt-get remove flashplugin-nonfree
2.- Borra el archivo *flash*.so de las siguientes carpetas:
sudo rm /usr/lib/mozilla/plugins/*flash*.so sudo rm ~/.mozilla/plugins/*flash*.so
3.- Hay que descargar el plugin desde esta pagina. Descarga el archivo .tar.gz. 4.- Descomprimelo con:
tar zxvf install_flash_player_10_linux.tar.gz
5.- Copia el archivo .so a la carpeta /usr/lib/mozilla/plugins/
sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
6.- Descarga el archivo getlibs-all.deb desde aqui o directamente desde aqui 7.- Instalalo con:
sudo dpkg -i getlibs-all.deb
8.- Luego ponemos esto:
sudo getlibs -p libcurl3 sudo getlibs -p libnss3-1d sudo getlibs -p libnspr4-0d
9.- Caramba cuantas cosas, pero ya solo falta poner esto:
sudo nspluginwrapper -i /usr/lib/mozilla/plugins/libflashplayer.so
10.- No, pera pera, solo nos hace falta crear unos links hacia nuestro recien creado wrapp
sudo ln -sf /usr/lib/nspluginwrapper/plugins/npwrapper.libflashplayer.so /usr/lib/mozilla/plugins/
sudo ln -sf /usr/lib/nspluginwrapper/plugins/npwrapper.libflashplayer.so /usr/lib/firefox-addons/plugins/
11.- Reinicia firefox y ale, ya tienes Flash 10.
Actualización: Olvida este post, desinstala todo y mejor descargate el nuevo Flash para linux a 64 Bites. Muy bien por Adobe que por fin saco esta version, aun beta, para los ya muchos usuarios de procesadores x64.
-
Restaurar grub, para recuperar linux, despues de intalar windows xp o vista
Cuando se necesita instalar varios sistemas operativos en un equipo, lomas recomendable es instalarlos en orden ascendente, comenzando por el mas viejo, hasta finalmente instalar en mas nuevo.

Por ejemplo primero Windows XP, luego Windows Vista y finalmente Ubuntu 8.04 Al hacerlo en este orden no tendras problemas, pues vista hace automaticamente un dual boot, y te permite arrancar en vista o xp, y finalmente grub de linux te permite escoger entre XP, Vista o Linux. Si lo haces en otro orden uno sobre escribira el arranque del otro. Pero a veces no queda mas remedio que hacerlo en desorden.
Acabo de instalar XP en una maquina que ya tenia Linux instalado. Toca recuperar el arranque con grub, pues la instalacion de XP sobreescribio el boot sector del disco duro.
Para ello hay que arrancar la maquina con cualquier Live CD de linux mas o menos reciente, montar la particion en la que estaba instalado linux, para hacer esto puedes usar el comando mount o mas facil dando doble clic en la unidad y y finalmente abrir una cosola y usar el comando grub-install con dos parametros, primero el identificador del disco duro en donde sereintalara grub y segundo, la particion en donde se encuentra el archivo /boot/grub/menu.lst, es decir donde esta la carpeta boot y por tanto la particion en donde se instalo linux.
El comando es el siguiente:
grub-intall [discoduro] [particion donde esta boot]
Por ejemplo, en mi laptop es asi:
grub-install /dev/sda --root-directory=/media/disk-3
Donde: /dev/sda es el identificador de disco duro. Normalmente esta ahi, a menos que tengas mas de un disco duro, entonces tal vez este en sdb en lugar de sda. Si es un linux viejo probalbmente sea hda. Y donde --root-directory=/media/disk-3 es la ruta en donde esta montada la particion o carpeta /boot/ de tu linux.
-
Presario CQ50 103LA Ubuntu Linux
Bueno, pues me compre esta lap. Me parecio buena idea, pues tenia otra Presario, que funcionaba con Linux a la perfeccion. Pero... como todo lo nuevo, y debido a que a las empresas de hardware solo les interesa que funciones Windows, Linux no funciona en la lap, o mejor dicho la Lap no funciona con Linux. Recomiendo (a mi mismo tambien), no compres una lap sin antes averiguar si alquien mas ha tenido problemas instalando Linux.

Aqui voy a ir poniendo los problemas que encuentre y como se van resolviendo, tengo prisa asi que no investigare porque se arregla y aunque sepa no lo explicare, espero que este post le ayude alguien mas, y de paso me sirva para cuando tenga que reinstalar. Deja de rascarte la cabeza, pon tus comentarios, que a lo mejor ayudas a alguien.
1.- Intente instalar Ubuntu 8.04.1 64Bits. Status: OK, el link de Ivan parece funcionar.
- No funciono, arrojaba un Kernel Panic, no hay mucho tiempo para averiguar la razon. Agradeceria cualquier comentario al respecto.
- Queda pendiente buscar una version con un kernel mas reciente, aunque sea beta, y probar.
- Pues no, la version mas reciente (Oct-2008) del kernel no soluciona nada :(
- Ivan Alvarez nos manda este link, asi que intente, y efectivamente el CD Live arranca, voy a intentar instalar en un par de dias, estoy esperando a que liberen Ubuntu 8.10.
- Ivan Alvarez nos comenta que con la version 8.10 64 Bits ya rula perfectamente, pero aun es necesario usar la opcion nomce en grub. Por mi parte he intalado kubuntu 8.10 64 Bits KDE 4.1 y va genial, oviamente tambien necesita el nomce.
2.- Intente con la version de 32 Bytes. Status: OK.
- No funciono, arrojaba un problema con SATA.
- Lei por ahi, no recuerdo donde, que usando la opcion all_generic_pci en grub, al iniciar el CDLive le indicaba al kernel que arrancara el HD manualmente (?). No hay tiempo de investigar por que, pero si funciono. OK.
- ¿Para que? Si ya rula la version de 64 Bits.
3.- Video. Nvidia GeForce 8200M Status: OK. (Pero sin compiz)
- Respalda el archivo xorg.conf
- En controladores de hardware aparece, pero al indicarle que instale el controlador y reiniciar, sale la pantalla en negro y no funciona, afortunadamente respaldamos el xorg.conf y podemos restaurarlo.
- De nuevo a google a buscar una solucion, en donde encontramos esta pagina, que en resumen dice que instalemos algo que ni siquiera sabia que existia :P, Envyng. Hay que instalar envyng-core y envyng-gtk. lo ejecutamos con sudo envyng -g seleccionamos nvidia, no lograra detectar la tarjeta, asi que usamos la segunda opcion y seleccionamos el primer numero, no lo pongo pues supongo que cambia constantemente segun saca drives nuevo Nvidia, pero es el primero. Damos en aplicar, esperamos 5 minutos, y reiniciamos. Todo oK.
- Compiz funciona pero no muy bien, de repente al hacer scroll, las imagen se corta. Ademas no me convence la resolucion que tengo, pienso que el monitor aguanta una mejor resolucion.
4.- Sonido. Status: Ok. Con 8.10.
- No funciona bien, el sonido se corta. Estoy en ello. :(
- Me he dado cuenta que el sonido solo funciona mal cuando el equipo apenas esta arrancando, una vez dentro todo se escucha bien.
- Definitivamente no funciona bien, no he encontrado nada para solucionarlo :(.
- Ya rula bien con Ubuntu 8.10 y tambien con Kubuntu 8.10 ambos a 64 Bits.
5.- Wireless. Atheros AR242x Status: Ok.
- No funciona :(. Estoy en ello.
- Ya funciona, aqui lo dice todo claramente. Hay que descargar el codigo (no pongo la liga porque cambia constantemente), hay que compilarlo como dice la ayuda, instalarlo y listo, a reiniciar. Aca esta mejor explicado.
- Rodolfo nos envia este link en donde se explica un poco mejor y en español como instalar el drive.
6.-WebCam. Status: Ok.
- No se si me interesa hacerla funcionar.
- Ya rula con Ubuntu 8.10 y tambien con Kubuntu 8.10 ambos a 64 Bits.
7.-LigthScribe. Status: No probado.
Me he visto obligado a intalar tambien Windows XP, aqui hay un exelente tutorial de como instalar los drives.
.
-
Flex Builder 3 para Linux
Nunca me ha gustado AJAX y los frameworks de AJAX, me parece complicado muy sucio, dificil de mantener y en ocasiones hay que hacer codigo diferente para cada navegador.
Luego para que todo se vea bonito hay que usar hojas estilos (CSS), y de nuevo hay que hacer cosas diferentes para que se vea bien en cada navegador, especialmente cuando se usan layers.
Una opcion interesante es usar Flex. Flex hace uso de una maquina virtual que la gran mayoria de personas tenemos instaladas en nuestros navegadores, cualquiera que sean, esta maquina virtual es el plugin de Flash, asi que Macromedia tubo la genial idea de darle un uso, mas alla de lo estetico.

Flex 3 Linux
Con flex pudes hacer aplicaciones mucho mas limpias, ordenadas y faciles de mantener, sin tener que escribir codigo diferente para cada navegador. Ademas hace uso de ActionScrip que poco a poco es una lenguaje cada vez mas completo.
Y por si fuera poco Macromedia saca su editor no solo para Windows sino tambien para Linux aunque no completo, le hace falta el entorno visual, que no se extraña para nada si ya haz estado en contacto con entornos en donde termina siendo mas comodo editar los botones, cajas de texto, comboxes, etc a mano. Por ejemplo con ASP.Net, donde el entorno visual a veces se pone lento y terminas modificando los controles directamente en el codigo.
Ya hace mucho que habia leido sobre Flex, y escuchado los comentarios de Jack al respecto. Pero hasta hoy hice mis primeros pininos en Linux, y parece muy prometedor.
Sun Microsistems esta tratando de responder con JavaFX, aprobechando la maquina virtual de java y todo el monton de cosas que ya existen de java, al igual que Microsoft con SilverLigth que (no corre en linux), la competencia es buena, ya veremos en que acaba todo esto.
Hace falta mucho que decir en cuanto a Flex, hay que darle un vistaso a AIR de Macromedia. Que permite llevarlas aplicaciones de flex al escritorio.
-
Probando Firefox 3 Beta 3 - KDE 4
Advertencia: Este post es demaciado friki alejese.
Sigo probando distribuciones, particularmente las que tienen a KDE como escritorio principal. Esta vez probe la Alpha 3 de Kubuntu Hardy, por alguna razon, funcionaba bien unos cuantos minutos y luego mi linux se congelaba. Exactamente lo mismo pasaba con OpenSuse 10 Beta.
Leyendo encontre que le pasa algo similar a mucha gente y tiene que ver con que las nuevas versiones del kernel de linux tienen un problema cuando pones la version de 32 bits en una laptop con AMD 64 (Sempron). Lo que recomiendan es instalarte un kernel de 64 bits o bien, tocar el archivo del menu de grub, para desactivar el ahorro de energia del micro, cosa no muy recomendable, porque se calienta mucho la lap y se acaba la bateria muy rapido.
Probe KDE 4, que por cierto esta genial, ya es definitivo que me
pasare a KDE en cuanto salga la version estable de ya sea de Kubuntu o
de OpenSuse, aun no decido.

Mientras tanto he vuelto a poner Ubuntu64-Gnome a la lap y ya no probare mas distros. Esperare a que salga aluna version estable, con KDE 4.
Luego de instalar Ubuntu 64-Gnome he desintalado Firefox 2.x para poner la version 3 Beta 3, pero no funcionaba, me daba este error.
./run-mozilla.sh: 442: ./firefox-bin: not found
o
./run-mozilla.sh: 424: ./firefox-bin: not found
Despues de buscar un rato y no encontrar nada, me di cuenta de que el error es que, estaba intentando correr Firefox3b3 compilado para 32-bits en mi Linux 64-bits.
Asi pues esto se corrige instalando unas librerias que te permiten correr ejecutables de 32-bits en un linux 64, asi:
sudo apt-get install ia32-libs
Espero le sea util a alguie. Firefox 3 trae algunas cosas bastante buenas, empezando por que ahora consume menos recursos y se traba menos, hay quien en sus blogs recomienta intalarlo ya, aun cuando no ha sido lberada la version estable.
Advertencia: Este post es demaciado friki alejese. -
Kubuntu broacom bcm43xx
He estado probando varias distribuiciones de linux, soy usuario de ubuntu antes lo era de fedora, y extraño a KDE, pero kubuntu es a mi parecer el hermanito feo de ubuntu y esta muy descuidado no se le ha dedicado el mismo tiempo que a su hermano mayor, por lo que le hacen falta herrarramientas de aouto configuracion, por ejemplo Ubuntu detecta e instala los drives del hardware que tengas, aun cuando este es propietario, por ejemplo tarjetas Nvidia y WIfi de Broadcom.
Asi pues hay que hacerlo a mano. El problema es que buscando el la red solo encuentras las instrucciones, muy precisas y bien explicadas de como instalar bcm43xx, lo cual era correcto hasta hace unos meses, pero ahora ya no funciona :(.
Despues de mucho buscar me encontre con que bcm43xx esta obsoleto y ahora hay que hacer:
sudo apt-get install b43-fwcutter
En lugar de:
sudo apt-get install bcm43xx-fwcutter
Luego de eso todo funciona como debiera :)
Espero que a alguien le sea util esta informacion. -
Error unable to lookup nombreservidor via gethostbyname()
Soy usuario de GNU-Linux, particularmente de Ubuntu, muchas veces hago cambios en mis maquinas con linux, busco en google como hacerlo lo hago y me olvido, dias despues debo hacer lo mismo en otra maquina y tengo que volver a buscar, ya un poco cansado de esto, me he decidido por anotar aqui los pasos que sigo, asi no tendre que buscar una y otra vez las mismas cosas. Y de paso tal vez le ayude a alguien.
Ayer intente cambiar el nombre de mi maquina, lei que se podia hacer editando el archvio /etc/hostname/ y efectivamente despues de tocar el archivo, escribir el nuevo nombre y reiniciar, el nombre de la maquina cambio, pero el comando sudo dejo de funcionar. Arrojando este error:
Error unable to lookup via gethostbyname()
Para corregir esto es necesario editar tambien el archivo /etc/hosts el problema es que se necesitan privilegios de root para hacerlo, pero para poder tener privilegios necesito de sudo. ¿quien fue primero el huevo o la gallina?
Para resolver esto basta con entrar a Ubunto en modo prueba de fallos, que es una de las opciones que da grub al arrancar la PC. En este modo entras por default como root, asi que puedes tocar sin problemas el archivo /etc/hosts y reiniciar. -
Probabilidad
¿Que probabilidad hay de que, en un NetKey, como el de la foto, los 4 numero, sean identicos a los 4 ultimos, y ademas este numero coincida con tu NIP del cajero?
2427
Es casi imposible. La probabilidad de que los primero 4 numeros
coincidan con los ultimos 4 son de 1 entre 10,000, y que de que el
numero coidida con tu NIP es de 1 entre 10,000. Y de que ambas cosas
ocurran a la vez es de 1 entre 10,000*10,000 es decir 1 entre 100,000,000.
Unos entre cien millones.
La probabilidad es muy baja, tanto que me hace dudar del metodo en que son generados los numeros. (Por cierto ya cambie mi NIP).

La foto es es de un NetKey del banco Banamex, que desde hace unos pocos meses, es necesario para accesar a la banca electronica.
El cliente.
Para supuestamente mayor seguridad, los bancos ahora proporcionan este tipo de dispositivos.
La verdad es que no se como funcionan, pero puedo imaginarlo. Supongo que generan un numero pseudo aleatorio basado en dos cosas.
1.- En primer lugar un numero unico para cada cliente, este numero queda almacenado en el el NetKey y lo diferencia de otros, haciendo que cada dispositivo tenga un numero diferente, supongo que es imposible que aparir de este numero pueda ser identificado el numero de cuenta, lo mejor seria haberlo generado al azar y asociarlo en la base de datos del banco a nuestra cuenta.
2.- Y segundo, un numero generado con un contador, el cual se incrementa cada vez que usamos el dispositivo.
Con base en estos dos numero se genera un nuevo numero de 8 cifras, como se muestra en la foto. Este nuevo numero tendria que ser generado con ayuda de un algoritmo que no tenga retorno, es decir que no permita obtener los dos numero originales a partir del numero recien generado. Lo cual es bien facil de hacer.
Luego, en el portal bancario, hay que teclear el numero de cuenta, un password escogido por el usuario y este numero generado por NetKey.
En el banco.
Este numero de 8 cifras puede ser generado en el banco sin ningun problema, dado que se cuanta con todos los datos necesarios para generarlo.
1.- En primer lugar el numero asociado al cliente, dado que sabemos quien es el cliente, por el numero de cuenta tecleado.
2.- El contador.
3.- Y el algoritmo para combinar ambos numeros.
Finalmente el numero generado en el banco se compara con el numero que el cliente copio del NeyKey. Ademas de comparar los passwords, o mas bien el hash del password.
Puede ser que en realidad en el banco no se tenga el dato del contador, pero si inicializamos el contador a partir de la ultima vez que se logueo el usuario (esto hace que el numero solo pueda usarse una vez, porque en la siguiente ocasion ya no sera valido) y vamos incrementado el contador y generando numeros con el, bastarian solo unos cuantos intentos para encontrar el contador del NetKey del usuario. Pero no demasiado intentos, porque si hicieramos 99,999,999 intentos uno de ellos al final coincidiria por azar.
Este post ya se esta alargando mucho.
La combinacion de estos tres datos hace necesario que quien teclea, no solo deba saber el numero de cuenta, el cual es publico y facil de averiguar. sino que tambien debe conocer un password, el cual tambien es relativamente facil de averiguar, si por ejemplo se instala un KeyLoguer que capture los teclazos, o simplemente mirando sobre el hombro de quien teclea. Y finalmente debe conocer un numero valido generado por el KeyNet. Que puede conocerse si el NetKey es robado fisicamente al dueño de la cuenta o bien contar con un NetKey clonado.
La cosa es que... aqui bien lo interesante....
¿Cual es la probabilidad de que el KeyNet arroje un numero de 8 cifras, donde las primeras cuatro son identicas a las siguientes cuatro y ademas ese numero de 4 cifras coincida con tu numero de NIP?, el cual por cierto (lo repito) ya cambie.
No se si fue buena o mala suerte, debi jugar loteria ese dia, aunque segun he leido, las posibilidades son aun mas bajas :) -
Web Services en C# consumidos con Delphi
No suelo escribir sobre programacion porque es aburrido(No para mi, sino para otras personas). Pero.. pues igual ya era aburrido este blog, asi que no puede empeorar :P
El tema es que estamos haciendo un proyecto, para el cual hace falta hacer un Web Service escrito en C#, esta web service va a estar en un servido publico, para que pueda ser consumido desde internet. Entonces hemos estado haciendo algunos clientes en varios lenguajes, no hubo problemas con el cliente escrito en C#, este pudo consumir el web service sin problemas, pero no asi el cliente hecho con Delphi 2006.
Es decir, al intentar hacer que Delphi consumiera un WebService hecho con Web Developer 2005, usando C#, Delphi daba el siguiente error.
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
Despues de buscar en montones de pagina, porque al parecer a pocas personal les interesa algo asi, encontre lo siguiente, resulta que hay que poner esto en la seccion register del codigo:
InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap),ioDocument);
Lo cual le indica al WebService que lo que se le envia es un documento.
No me gusta Delphi, una de las muchas razones es, la dificultad para encontrar a otros usuarios de Delphi que tengan problemas similares. Cada dia hay menos usuarios de Delphi. En cambio C++Builder que tambien es de Borlad me gusta mas, aunque tambien se sufre con la misma falta de usuarios.
Por cierto el proyecto en el que estamos trabajando, pronto se podra ver en www.dcod.com.mx




Comentarios Recientes