Mostrando las entradas con la etiqueta tecnica. Mostrar todas las entradas
Mostrando las entradas con la etiqueta tecnica. Mostrar todas las entradas

jueves, 22 de diciembre de 2011

Kindle 4 como autoregalo de fin de año

No pensaba comprarlo ya que en este momento estoy con gastos varios, pero era seguir leyendo libros del celu y en algún momento comprar anteojos, o comprarme un ebook reader. Y digno de mi forma de ser, fui a lo segundo :D


Características principales del modelo 4 con Wi-Fi:

  • Pantalla de alto contraste de 6'' en alta resolución.
  • No produce reflejo por el tipo de pantalla, ideal para leer al sol.
  • 241 gramos de peso, o sea, nada.
  • Cambio veloz de página.
  • Como dije antes de empezar, Wi-Fi integrado para entrar a Amazon o cualquier sitio.
  • De tres a cuatro semanas de duración de la batería, según el nivel de uso y si Wi-Fi está activado, cosa que come bastante (se desactiva y listo).
  • Formatos soportados de lectura: AZW, TXT, PDF, MOBI, PRC, y tambien HTML, DOC (convirtiendo el formato, cosa que no me interesa ya que genero PDF o PRC y listo).

Hace poco lo empecé a usar, y por el momento su uso me conforma. Aunque encuentro las siguientes contras:
  • El teclado en pantalla es medio molesto al tener que manejarlo con el cursor cuadrado. Aunque no lo uso mucho, pero es medio molesto.
  • La navegación web es para acceder a páginas de un primer nivel de click o mediante algún menú propio de la página en la que me encuentre. Si, por ejemplo, cargo la web de un diario y quiero acceder a una nota clickeando, no me deja.
  • No soporta EPUB, formato abierto y que es aceptado por casi el resto de los readers digitales.
  • Es un producto privativo de Amazon, por lo que se entiende por qué EPUB no es aceptado. Pero dicen por ahí que futuras versiones lo van a soportar. Igualmente voy a buscar algun hack o algo para poder usarlo. Y sino, convierto a PDF o PRC y listo. Tampoco es la muerte de nadie.
  • Mete publicidades a lo loco. Digno de todo producto de Amazon.

Tendría que haber comprado un Nook que tiene las mismas características y soporta otros formatos, pero los precios eran otros.

Así que por lo tanto y si comparo el precio y el servicio brindado por el aparativo privativo (que cuando tenga tiempo voy a jugar y ver de sacar las molestas publicidades Amazonianas), me resulta un buen producto.

viernes, 27 de mayo de 2011

Instalando Windows y Ubuntu en una misma maquina

En el mes de Mayo, van tres personas que me preguntaron algo así: "¿Como hago para instalar Windows y Ubuntu en la misma máquina? ¿Que necesito hacer en el disco? ¿Con que sistema de archivos lo formateo? bla, bla, bla".


Como es mi costumbre, trato de "ubuntizarlos" antes de empezar. A veces lo logro, otras veces no. Hay casos donde el uso de windows es un mal necesario y contra eso no se puede luchar, así que no insisto más para no ser pesado.

No me molesta explicar todo lo que se debe hacer en este tipo de cuestiones técnicas, porque aunque es una pavada, es una de las cosas que más me gusta dentro de la computación. Y si lo dejo documentado, queda disponible para cualquiera que lo necesite y "no hace falta que me consulten" :P

Para empezar y suponiendo que el disco es grande respecto a la capacidad (cosa que actualmente es algo normal), lo ideal es partir lógicamente el disco en tres partes: 25% para instalar Windows (formato NTFS), 25% para instalar Ubuntu (sin formato) y 50% para datos compartidos (formato NTFS) entre ambos sistemas. Estas proporciones podrían variar según la necesidad de lo que uno tenga que instalar (si se tiene una idea aproximada de lo que necesita y lo que puede llegar a ocupar) en uno u otro sistema operativo. Pero digamos que lo ideal serían estos porcentajes.

Para hacer esto, sugiero poner el disco de instalación de Ubuntu e ingresar para probar el sistema operativo sin instalar. Una vez adentro, ejecutar el Editor de Particiones GParted y hacer lo indicado anteriormente. Finalmente aplicar los cambios y ahora empezamos con lo divertido.

Poner el disco de instalación del Windows que a uno más le guste (XP, Vista, 7). Da lo mismo, total son todos la misma mierda con diferente GUI. Hacer la instalación normalmente. En el punto que pregunta donde instalar, obviamente, hacerlo en la partición NTFS más chica y preparada para tal fin. Continuar con la instalación hasta terminar. Más adelante instalamos los programas y todo eso.

Ahora poner el disco o pen de instalación de la última versión de Ubuntu o la versión que uno quiera instalar. Esta vez, le indicamos que queremos instalarlo en el disco. Cuando pregunta donde instalar, indicar que lo haga en el siguiente espacio contiguo y no formateado. O acceder a la instalación personalizada. Si se opta por esto último, de la partición sin usar hay que asignar al menos 1GB para swap y el resto formatearlo con ext4 e indicarle que el raíz de la unidad es "/". Seguir con la instalación confirmando todo lo que pida hasta terminar el proceso.

Dentro de Windows, instalar los drivers y todas las aplicaciones que sean necesarias según la necesidad del usuario. Probar que funcione todo. Cuando este todo listo, googlear (o del amigo Taringa) para bajar e instalar Deep Freeze o Shador User para tener la máquina congelada y que cada vez que se inicie, esté como el primer día de instalación. Ambos programas son buenos, aunque cada uno tiene sus particularidades. El primero es el más usado en los cibers, el segundo permite descongelar determinados directorios del disco congelado. Pero como tenemos una partición NTFS grande exclusivamente para guardar cosas y que no va a ser congelado, este último programa no debería ser necesario. En general, recomiendo el primero. Pero eso queda a gusto de cada uno.

Antivirus: queda a criterio del usuario y detallo los motivos. Si instalamos el programa para congelar la maquina, en principio no haría falta. Por más que Windows se "embiche", solo es cuestión de reiniciar la computadora y siempre va a estar como nueva. Aunque el problema es que si por algún motivo, mientras está infectada y todavía no se reinició la computadora, se altera algún documento o archivo importante de la partición de datos, pudiendo luego copiar un archivo infectado a un pen y llevarlo por todos lados. En estos casos, sería conveniente instalarlo.

Por eso, lo que YO recomiendo es que Windows tenga la conexión a internet deshabilitada y se use solamente para usar los programas específicos que necesitan usar. Y luego cuando inician sesión el Ubuntu, usan la web y el resto de las cosas. Así nos evitamos contagiar Windows innecesariamente y evitamos instalar un antivirus, que en general bajan elrendimiento del tonto sistema operativo de MicroShit.

Finalmente, entrar a Ubuntu y con el amigo Synaptic, instalar las aplicaciones necesarias para el uso habitual de la computadora.

domingo, 20 de marzo de 2011

isos, mavericks, lucids y pendrives


Complicado y accidentado fin de semana el que tuve. Esto, hablando de una netbook exo.

Tuve un pequeño problemita con esta netbook y tenía que volver a instalar Ubuntu. Puse Maverick, la última versión. Pero al igual que últimamente pasa con algunas placas inalámbricas, detecta las redes wifi pero no se conecta a nada.

Al final me canse de googlear respecto a este fucking asunto y puse lucid que ya se que, una vez instalado, si toco lo siguiente, anda seguro y sin problemas:

- Editar el siguiente archivo:
sudo vim /etc/modprobe.d/blacklist.conf

- Agregar esto al final del archivo, guardar y reiniciar la netbook:
blacklist rt2800usb


Como primer paso, bajé la imagen de 10.04 de la página de ubuntu y la grabé a un pendrive con el Creador de discos de Arranque desde mi notebook con Ubuntu 10.10 Maverick. Al iniciar la netbook con el pendrive, me dice: Unknown keyword in configuration file: gfxboot. vesamenu.c32: not a COM32R image.

Googleando un poco, encontré que es un bug de Ubuntu al querer hacer una imagen de 10.04 desde un 10.10 instalado. Supuestamente, la solución era usar usb-creator-gtk. Hice la prueba, pero no funcionó. Al bootear me dice: ERROR: No configuration file found. No DEFAULT or UI configuration directive found!

Investigando un poco más, encontré que actualizando la versión de syslinux era posible. Lo hice según las indicaciones, volví a generar la imagen con usb-creator-gtk e incluso con el Creador de Discos de Arranque, y nuevamente el mensaje al bootear es: Unknown keyword in configuration file: gfxboot. vesamenu.c32: not a com32R image. Estaba en el mismo punto de inicio.

Ya no sabía que hacer, y en la lista de ubuntu me tiraron un dato: que probara de correr el programa UNetbootin. Baje la version para linux desde la pagina oficial, lo corrí para hacer la imagen booteable, y.... funcionó!!!

Pude bootear Ubuntu 10.04 Lucid e instalar dicho sistema en la netbook.

lunes, 6 de diciembre de 2010

Problema de Capa 8

Insisto:



El problema está en la capa 8 del modelo OSI.

No hay duda que el carneware falla y nos quieren echar la culpa a nosotros, los pobres laburantes informáticos.

martes, 23 de noviembre de 2010

No funcionan cuentas de hotmail

Como de costumbre, estos mogolicos de Micro$ hacen cosas sin importar las consecuencias de los "no windows".


En estos días hicieron cambios en el protocolo de uso de mensajería y los que usamos Pidgin o programas similares, no podemos conectarnos a nuestras cuentas de hotmail y msn.

Pero por suerte ya hay un parche para solucionar este problemita. Se puede bajar de la página del proyecto, o apetegueteando si tenés los repos actualizados:

sudo apt-get install msn-pecan

Luego es cuestión de reiniciar pidgin, cambiar el protocolo por WLM y listo.

viernes, 5 de noviembre de 2010

Windows con Impresoras USB y programa que usa puerto paralelo

Si bien en la web hay variadas formas de resolver el famoso problema de las viejas aplicaciones que solo funcionan con el Puerto Paralelo y hay que hacerlas funcionar en compus nuevas sin este puerto, dejo para la posteridad los pasos que en mi caso, resolvieron mi problema.

Una primer solución al problema sería comprar una placa de puerto paralelo y conectarla al mother de la PC. Pero esto se complica cuando estamos hablando de notebooks o netbooks. También podría funcionar comprando el cable Paralelo-USB. Pero en mi caso y dadas las características de lo que necesitaba hacer, no me servía. Entonces, estos pasos van a servir de ayuda.

Primero hay que instalar la impresora con los correspondientes drivers, como cualquier dispositivo habitual. Luego hay que bajar un programa llamado DOSPRINT que se puede bajar de aca o googleando un poco. Ahora hay dos caminos a seguir (solo en este paso):

Para Windows XP:
- Copiar el archivo DOSPrint.exe dentro de la carpeta C:\WINDOWS\system32. Abrir una consola de comandos CMD.exe para ejecutar e instalar la aplicación:

cd C:\WINDOWS\system32
dosprint install
net start dosprint

Para Windows Vista o Windows 7:

- Copiar el archivo DOSPrintUI.exe en la carpeta raíz del disco C, o sea, dentro de: Equipo > Disco Local(C:)

- Abrir el programa “Programador de Tareas” y clickear en “Biblioteca del Programador de tareas”. Crear una nueva tarea con las siguientes características:

--> En la solapa General dejar marcado: Ejecutar sólo cuando el usuario haya iniciado sesión; Ejecutar con los privilegios más elevados; Configurar para Widows Vista y Server 2008.

--> En la solapa Acciones agregar: Iniciar un programa "C:\DOSPrintUI.exe".

--> En la solapa Configuración: Marcar el Permitir que la tarea se ejecute a petición.


A partir de ahora, es igual para cualquiera de las tres versiones de Windows. Reiniciar la PC. Va a aparecer un icono del programa DOSPrint como programa residente y con un icono rojo y verde a la derecha de la barra inferior. Al hacer doble click sobre el icono, se abre una ventana:

Clickeando dos veces sobre LPT1, se va a abrir un menú con la lista de impresoras instaladas en la computadora. Seleccionar la impresora deseada.

En el caso de Windows XP, funciona todo sin problemas. Ahora, para el turro de Vista o 7, a veces no levanta el DOSPrint y hay que hacer doble click al programa del C:\ para abrirlo.

También puede llegar a pasar en Windows Vista o 7 que aunque instales el driver de la impresora y configures el DOSPrint como corresponde, no funcione. Ante esto no encontré la solución definitiva, pero desinstalando y volviendo a instalar, en algún momento engancha.



PD: Si, hice un posteo relacionado con Windows y no fue para bardear. ¿Y que? Que no me guste no quiere decir que no lo use por temas laborales. Lamentablemente es un mal necesario que algún día dejará de reinar. Pero mientras tanto, hay que soportarlo.

miércoles, 6 de octubre de 2010

Sacar mensaje WGA molesto

Para no buscarlo a cada rato, lo dejo escrito en el blog asi queda más accesible.

Cuando se instala una máquina con Windows XP (SP1 o SP2) y al hacer las actualizaciones, si uno no es cuidadoso, se aplica el parche de verificación de originalidad de Windows. Esto provoca que salga el famoso cartelito "Podría ser víctima de una falsificación de software" y todas esas huevadas. Bueno, no huevadas, pero no me interesa que salga este mensaje tan molesto.

Si bien ese mensaje es molesto y tras revolver en internet no pude hacer una activación definitiva con las claves y parcheadores que andan dando vueltas por la web, me cansé y simplemente voy a sacar el mensaje para que no aparezca aunque Windows no esté activado.

Solo hay que ingresar a "C:\Windows\system32\" y buscar los archivos "WgaLogon.dll" y "WgaTray.exe". Con solo cambiar el nombre de los archivos a, por ejemplo, "WgaLogon_old.dll" y "WgaTray_old.exe", alcanza.

Ahora hay que reiniciar la compu y listo.

miércoles, 25 de agosto de 2010

Mi nuevo Samsung GT s5230

Finalmente me compré un celu con pantalla touch. Hace rato que estaba caliente con comprarme uno. Y lo hice con el SAMSUNG GT S5230.


En realidad no era el que quería comprar, porque mi objetivo era un NOKIA 5230. Pero me salía $120 más, y el plan mínimo al que me tenía que cambiar era de $99 por dos años, cuando con el Samsung el plan es de $59 por dos años.

En general, el teléfono me deja conforme respecto a la usabilidad: el menú es simple de usar, la sensibilidad la veo correcta, tiene buen sonido, el acelerómetro anda bien y las aplicaciones predeterminadas están bien para cualquier usuario básico.

Pero hay algunos "peros". Y esos peros son los que me hicieron decir: "y si, un nokia es un nokia".

Para empezar, la vibración no es muy intensa que digamos. Estuve en lugares medios ruidosos y no me di cuenta que me llamaban o me mandaban un mensaje. Justamente, la vibración es para cuando no se llega a oír. Y aunque lo tuviera en su funda agarrada al cinto o en el bolsillo, nunca me di cuenta de los avisos.

Lo que me molesta bastante es la instalación de aplicaciones. En los nokia es cuestión de copiar el archivo JAR y ejectuarlo. En este teléfono, hay que hacer un montón de pasos para copiarlo y registrarlo. En los siguientes links se explica todo lo que hay que hacer:




Pero hay algunas cosas que no dice. Como por ejemplo, que las aplicaciones hay que instalarlas de a una. Si se instalan dos o más juntas y luego quiero borrar al menos una, la otra aplicación queda rota.

Otra cosa que me jode es que además de necesitar el archivo JAR, necesito el JAD. Para windows, está el JADGEN para generar este archivo. Y para linux se puede usar el script indicado en ESTA PAGINA para crear dichos archivos.

En general es un teléfono recomendable. Del uno al diez, le doy: 7

-- Update 30/09/2010: La cámara es una cagada.

lunes, 12 de julio de 2010

Cambiar lineas dentro de un HTML

Ante un determinado problema X, tenía que modificar un determinado dato de muuuuchos archivos HTML. No tenía ganas de ponerme a investigar como hacerlo con bash, así que lo solucioné con el amigo Python:

import os, glob, shutil

origen = '/Leyes sin encriptar/a Nuevo/'
origen_2 = '/Leyes\ sin\ encriptar/a\ Nuevo/'
destino = "/Leyes sin encriptar/a Nuevo/html_procesado/"
destino_2 = "/Leyes\ sin\ encriptar/a\ Nuevo/html_procesado/"

for archivo_actual in glob.glob(os.path.join(origen, '*.htm')):
....archivo_entrada = open(archivo_actual,"r")
....archivo_salida = open(archivo_actual + ".1","w")

....print "Archivo Actual: " + archivo_actual
....for linea in archivo_entrada:
........if linea.startswith("
............archivo_salida.write("'\n'")

........elif linea.endswith('charset=utf-8">\n') or linea.endswith('charset=utf-8">\n'):
............archivo_salida.write('\n')

........else:
............archivo_salida.write(linea)
archivo_salida.close()

#######################################
for archivo in os.listdir(origen):
....if archivo.endswith(".1"):
........print "Copiando: " + archivo[:-2]
........shutil.copyfile(origen + archivo, destino + archivo[:-2])
os.system('rm '+ origen_2 + '*.1 ')

jueves, 1 de julio de 2010

Convertir archivos NRG a ISO

Me da por las bolas cuando bajo algo y es formato de imagen de Nero. Pero por suerte es simple el hecho de convertirlo a ISO para grabar una imagen "normal".


Primero instalo el programa:

sudo apt-get install nrg2iso

Y luego convierto la imagen de Nero a ISO:

nrg2iso disco_01.nrg disco_01.iso

Y listo. A grabar!!!

domingo, 27 de junio de 2010

Escritorio remoto y compiz

No es nuevo, pero es nuevo para mí.

Recordar siempre esto:


En una misma red si me quiero conectar con el Visor de Escritorios Remotos de Linux a otra máquina con Linux, debo asegurarme que la máquina a la que me conecto no tiene activado Compiz.
Caso contrario solo veo el movimiento del mouse y nada más.

lunes, 14 de junio de 2010

Configuracion D-Link DWA-125 en Ubuntu 10.04

Bueno, tras más de tres meses de no escribir en el blog, vuelvo al ataque. Y no para escribir huevadas, sino para dejar constancia de algo que técnicamente merece ser posteado.


Se me hincharon las bolas de tantos cables en la compu. Y para eliminar al menos el cable de red entre la PC y el router wireless, acabo de comprarme el Adaptador Wireless D-Link DWA-125 USB.

Inicialmente quise comprar el modelo DWA-110 que según esta pagina está soportado perfectamente. Miro en la página del proveedor y había stock. Pero al llegar me dice que en la página está desactualizado y solo quedaba el modelo 125. Así que compré otro que no estaba seguro si estaba soportado o no. Y al llegar y mirar el listado de la página de compatibilidades, ni siquiera figuraba ese modelo :(

Entonces empecé a navegar por todos lados en búsqueda de info técnica respecto al bichito y casos de otras personas que le hubiera pasado lo mismo. Estuve en este link, en este otro, y unos cuantos más. Instalé los drivers oficiales y todo. Pero nada sirvió, incluso tuve que desinstalar los drivers oficiales ubicandome en la carpeta donde están los drivers:

sudo make uninstall; sudo make clean

Hasta que finalmente y después de muchas vueltas fui a parar a esta dirección:


Me pareció un poco largo el procedimiento, pero ya no tenía nada que perder. Así que empecé. Y funciono!!! Paso a explicar lo que hice. Pasando en limpio los pasos, fueron estos:

1. Buscar el id del adaptador. Esto se hace usando el comando 'lsusb'. En ni caso dice así:

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 07d1:3c0d D-Link System
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

2. Lo que me interesa es el número '07d1:3c0d', el cual uso en el siguiente script (sin poner el ':'):

echo 'install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "07d1 3c0d" > /sys/bus/usb/drivers/rt2870/new_id' | sudo tee /etc/modprobe.d/rt2870sta.conf

La indicación de 'rt2870' es para especificar el driver del aparatito. Por todos lados dice que es 'rt3070'. Pero en el fondo el 'rt3070' termina usando el 'rt2870', así que lo configuro con el primero y listo.

3. Posiblemente haya otros drivers jodiendo las bolas (de hecho, generaban conflicto con los nuevos), así que me puse a eliminar algunos:

sudo modprobe -rf rt2800sta
sudo modprobe -rf rt2x00sta
sudo modprobe -rf rt2800usb
sudo modprobe -rf rt2870sta

4. Tras la limpieza, apliqué los siguientes comandos:

sudo modprobe -rf rt2870sta
sudo modprobe rt2870sta
dmesg | egrep 'rt28|usb|Phy'

Y finalmente verificar si se cargó 'ra0' haciendo 'iwconfig', devolviendo algo similar:

lo no wireless extensions.

eth0 no wireless extensions.

ra0 RT3070 Wireless ESSID:"11n-AP" Nickname:"RT3070STA"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Link Quality=10/100 Signal level:0 dBm Noise level:-115 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Listo!!! Habemus conexión inalámbrica!!!

Solo me faltaba poner el comando que carga los drivers cada vez que arranque la máquina. Editando el 'rc.local':

sudo vim /etc/rc.local

Agrego lo siguiente:

sudo modprobe rt2870sta


UPDATE 29/03/2011: Volví a hacerlo, ya que tuve que reinstalar la PC y nuevamente puse Ubuntu 10.04, y funcionó

miércoles, 10 de marzo de 2010

Aviso de archivo no adjunto en Gmail

Cosa curiosa me pasó hoy. Estaba redactando un mail a un cliente y en el cuerpo del mismo junto con el resto del texto, escribí la frase "archivo adjunto". Hasta acá vamos bien.


Cuando quiero enviar el mail, me sale un cartel de advertencia. ¿Un cartel? Y el mismo decía lo siguiente:

¿Deseas adjuntar algún archivo?
En el mensaje has escrito archivo adjunto, pero no hay ningún archivo ajunto. ¿Deseas enviarlo de todos modos?

O sea, la amigable gente de google tiene en cuenta este tipo de detalles dentro de la aplicación. Que loco, ¿no? Yo por lo menos no me lo esperaba.

sábado, 31 de octubre de 2009

Usando Aprobo para comparar documentos

En este momento me encuentro desarrollando (y ya casi terminando) un trabajo de investigación respecto a las señales inalámbricas (especialmente las Wi-Fi) y como las mismas afectan a la salud.


Y según tengo entendido, debe ser un trabajo que no sea "copipasteado" ni nada de eso. Yo no soy de hacer ese tipo de cosas. Bueno, maso. Pero no soy tan animal que lo pego en crudo. Sino que hago un análisis del material y expreso lo que interpreto. Pero así y todo me pasaron el dato de la pagina APROBO.

Básicamente es una pagina donde uno sube un documento (por ejemplo un archivo de Word o similar) y la pagina tiene un motor que analiza el texto y busca en toda la fucking red si ese texto o ese párrafo figura en algún otro lugar. De manera de detectar "copipasteadas" por parte del autor.

Es una buena herramienta para profesores, y detectar si el alumno toma el camino facil de las cosas.

Pero mas alla de eso, es una interesante herramienta. Recomendable.

miércoles, 28 de octubre de 2009

Windows 7 Esta Entre Nosotros

Y finalmente salió el "tan ansiado" Windows 7. Tanto anuncio, tanta parafernaria, tanto tirar mierda para arriba... y esta entre nosotros ese hijo de puta.

Como siempre pasa, al poco tiempo de estar a la venta, está dando vueltas por internet. Así que lo bajé por medio de los amigos de Taringa y lo instalé en una maquina virtual. Y si, no soy tan suicida para mandarlo en la física. Así que lo clavé en un VMWare.

La instalación fue limpia, rápida, facil. Punto a favor.

La usabilidad, en general es mas o menos lo mismo que (EL HIJO DE MIL PUTA DEL) Vista. Pero tiene algunos detalles que me resultaron que fuera amigable.

Me detectó la red del laburo y accede sin problemas. Aunque no se por qué no me detecta la compartida que hice a mano con VMWare.

Instalé unas pocas aplicaciones y no me hizo lio. Se colgó todo al querer instalar una aplicacion directo por la red, pero luego lo copié localmente y listo. Tampoco jode tanto con el tema de estar preguntando 200 veces si estoy seguro de lo que estoy haciendo.

Al montar un CD, lo detecta pero no abre nada. Como si los archivos estuvieran dañados. Pero el disco está bien.

Como se puede apreciar, cuando algo anda bien, también lo digo. Pero el hecho de tirar casi completamente lo hecho con Vista y rehacer muuuucho codigo para lograr lo que lograron, es para destacar. No por eso bailo en una pata y me voy a amigar con esta mierda. Porque en el fondo sigue siendo una mierda privativa y por mas bien que funcione, es el GRAN punto en contra que va a tener eternamente.

Pero así y todo, reconozco que Windows 7 puede tener futuro. O al menos es lo que me dejó la primer impresión.

Igualmente mi querido Ubuntu no lo suelto por nada. Además, mañana sale la nueva versión (9.10 Karmik Koala) que estoy esperando ansiosamente para actualizar.

viernes, 24 de julio de 2009

Problemas con Javascript

Hay veces que la programación y diseño de sistemas web es divertido. Otras veces, no lo es. Y hoy es un día que realmente no lo fue. Todo por culpa del maldito JAVASCRIPT.

Estaba laburando en el rediseño del funcionamiento del sistema de boleterías de VIATICKET, unidad de negocio de la empresa donde me desempeño laboralmente. Desde ayer que estaba desdoblando el pago del importe final en dos: el importe de las entradas, y el importe del Cargo por Servicio (el famoso Service Charge). Eso es fácil, ya que tengo que crear un campo mas en el HTML para guardar este dato. Hasta este punto vamos bien.

El problema surge cuando quiero aplicar el descuento. La onda es que el descuento se aplica en el importe de los tickets y no en el service charge. Bien. O sea: aplico descuento en el importe de las entradas y luego sumo el cargo por servicio. Bien. La teoria esta perfecta. Pongo manos a la obra. Este es el codigo antes de los cambios:

function CalculaDescuento() {
....var subtotal_local = form.SubTotal.value
....var descuento_local = form.Descuento.value
....var importe_con_descuento = subtotal_local - (subtotal_local * descuento_local / 100)
....form.Total.value = (Math.round(importe_con_descuento*100)/100).toFixed(2);
....if (descuento_local == 0) {
........form.Total.value = (Math.round(subtotal_local*100)/100).toFixed(2);
....}
}

Con toda felicidad, aplico los cambios en el formulario y cambio el Javascript para que haga esto. Bien. Seguimos con las pruebas. Lo pruebo y... no anda. Bueno, lo reviso. Pero esta todo bien. Lo reviso nuevamente y miro a ver que falla. Y esta todo bien. La felicidad dejo de estar en mi cara.

Hoy estoy toda la mañana con el puto Javascript y nada. Cambio la función para que o haga de otra manera, y nada. Aplico los métodos 'int()' y 'parseInt()' para convertir la variable en formato numérico (por si el idiota no entiende el formato de lo obtenido), y nada. Convierto todas las variables en 'int', y nada. Uso el método 'alert' por todos lados para debugear, y no veo nada malo. Ya me estaba desesperando y empezando a putear al jodido codigo.

Estuve googleando por todos lados y lo que estaba haciendo era lo correcto. Entonces: ¿por que mierda estaba fallando?

Ya cerca de la desesperación y agarrar el monitor para revolearlo por las escaleras del décimo piso mientras lo voy escupiendo, hago lo que se hace en casos donde la lógica no tiene sentido: aplicar cosas que seguramente no sirven.

Entre tantas cosas probadas, se me da por multiplicar la variable conflictiva y que deberia ser tomada, por 1. Quedando la linea de la siguiente manera:

var importe_con_descuento = cargos_local*1 + subtotal_local*1 - (subtotal_local * descuento_local / 100)

¿Y que paso? El hijo de puta funcionó. Si, funcionó. Con ese cambio boludo, funciono. Este es el codigo final:

function CalculaDescuento() {
....var cargos_local = form.TotalCargos.value
....var subtotal_local = form.SubTotal.value
....var descuento_local = form.Descuento.value
....var importe_con_descuento = cargos_local*1 + subtotal_local*1 - (subtotal_local * descuento_local / 100)
....form.Total.value = (Math.round(importe_con_descuento*100)/100).toFixed(2);
....if (descuento_local == 0) {
........form.Total.value = (Math.round((subtotal_local*1 + cargos_local*1)*100)/100).toFixed(2);
...}
}

La verdad no me gusta como quedó. Pero anda. Tengo que seguir con otras cosas, asi que no lo voy a depurar ahora. Pero cuando pueda, lo retoco para que quede mejor.

Y espero que funcione bien...

domingo, 28 de junio de 2009

Ventanas inteligentes de Gnome 3.0

Simplemente: belleza!!!!!!!!

lunes, 1 de junio de 2009

Lista de comando utiles

Por medio de Google Reader y de la mano de los posteos de Viva Linux, me encuentro con una lista de comandos útiles para la consola linuxera.

Algunos de ellos ya los conozco y de vez en cuando los uso. Otros no los conocía y creo que los voy a usar. Y ya que estamos, agrego algunos de los que habitualmente uso. Primero van los de Viva Linux:

Matar a una aplicación actualmente en ejecución:
killall [programa]

Mostrar el espacio disponible en el disco rígido:
df –h

Ubicar el directorio de instalación de un programa:
whereis [programa]

Montar una imágen ISO:
mount /path/to/file.iso /mnt/cdrom –oloop

Capturar un video con tu escritorio:
ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

Mostar el Universally Unique Identifier (UUID) de tus particiones:
ls /dev/disk/by-uuid/ -alh

Mostrar los 10 primeros procesos ordenados por la memoria que consumen:
ps aux | sort -nrk 4 | head

Sonar una alarma cuando una dirección IP apareza online:
ping -i 60 -a IP_address

Ejecutar el último comando como superusuario:
sudo !!

Crear una estructura de directorios con un solo comando:
mkdir -p tmp/a/b/c


Y estos son los mios:

Ver el crecimiento del tamaño de un archivo en tiempo real (útil cuando necesito saber cuanto falta para que se copie algo y lo monitoreo):
watch -n 1 ls -lh *.dat

Obtener el tamaño de un directorio, incluyendo los subdirectorios:
du -h /home/fernando/data

Navegar por un archivo de texto con avance y retroceso de pagina, sin tener que usar Vim:
less archivo.txt

Dividir un archivo en partes de 1 mega y después volver a generarlo:
split -b1m msa.tgz parte_

cat parte_* > completo.tgz

jueves, 14 de mayo de 2009

Lista de archivos instalados con DPKG

Cuando actualizo mi querido Ubuntu de una versión a otra vía internet, en general lo hace sin problemas.

Ese "en general" lo digo porque cuando lo hice en mi desktop para ir de Hardy a Intrepid, en el momento del reinicio de lo ya bajado e instalado (despues de casi tres horas en total entre bajada y proceso), no me iniciaba el entorno gráfico. A pesar de ver los logs y buscar en internet alguna solución de lo que estaba pasando (desde la laptop que todavía estaba con Hardy, claro), despues de mas de dos horas se me hincharon las pelotas y tuve que hacer una instalación "limpia" del sistema.

No vino mal porque aprovecho para hacer depuración de cosas que ya no estaban en uso. Pero era molesto acordarse y tener que estar instalando todas las aplicaciones útiles de vuelta. Pero mas allá del proceso de instalación, me resultaba molesto el hecho de no recordar que tenia instalado sin olvidarme de nada. A partir de ese momento y con cada actualización, tomaba nota en papel y lápiz (si, papel y lapiz) de los programas mas importantes que estaban instalados. Cosa que si había algún problema, lo tenia anotado.

Hasta que me dí cuenta que en vez de hacer esas boludeces, lo puedo guardar en un archivo y obtener la lista exacta de todos y cada uno de los paquetes instalados. Con solo hacer lo siguiente, alcanzaba:

sudo dpkg -l > paquetes.txt

Pero en el caso anterior, solo los lista. Después me dí cuenta que hay una forma mejor de hacerlo e instalar todo de una. Con la ayuda de ESTE LINK encontré esta alternativa bastante piola que paso a resumir. Primero hago un listado de lo instalado actualmente con este comando:


dpkg --get-selections | grep -v deinstall> paquetes.txt

Y con lo siguiente, cargo todo de nuevo:

sudo apt-get install dselect


sudo dpkg --set-selections <paquetes.txt

sudo dselect install


martes, 10 de marzo de 2009

Documentacion de SchemaSpy

Hoy a la mañana un compañero me da un dato de una aplicación que genera "automágicamente" documentación de PostgreSQL. Se baja de esta pagina. Seguramente deben haber muchas otras y conociéndome, de vago no lo voy a hacer :P Pero así y todo me resultó muy completa.

Pero con bajarse eso solo no alcanza. En la pagina no dice que hay que usar una pequeña aplicacion llamada postgresql-8.3-604.jdbc4.jar que veo que se puede bajar de este lugar. Ahora si, tengo todo lo necesario.

Una vez obtenido todo lo necesario, me queda ir por linea de comandos al lugar donde guarde ambos archivos, crear una carpeta llamada, por ejemplo, doc en ese mismo lugar donde estan los archivos, y ejecutar lo siguiente ingresando la clave (que no pienso mostrar):

java -jar schemaSpy_4.1.1.jar -dp postgresql-8.3-604.jdbc4.jar -t pgsql -db pycobranzas -all -host ren.msa -port 5432 -u fernando -p CLAVE -charset UTF-8 -o doc/ -ahic -hq

El resultado es un archivo index.html en la carpeta destino (doc) que nos llevara a navegar por una web muy completa dando, en forma dinámica, toda la info necesaria respecto a la estructura de la base.
Altamente recomendable.