F1 Help! La solución que buscabas

Desarrollo, programación, tips, consejos y soluciones para los usarios de PC

miércoles, 18 de agosto de 2010

Inicio de sesion automatico en Windows XP/Vista/7

Nos molesta mucho tener que escribir la contraseña que cada vez que prendemos la sesion. Pues aqui les paso un truquito para iniciar automatica.

Vamos a inicio, ejecutar, y escribimos: (por lo general en windows vista o seven no aparece el boton ejecutar, simplemente en el buscador ponemos "Ejecutar")

control userpasswords2

Escojemos la cuenta de usuario que queremos utilizar y destildamos la opcion “Los usuarios deben introducir un nombre de usuario y contraseña para utilizar el ordenador”.

Aqui nos pediran la contraseña del usuario y listo. Damos en aceptar... Apartir de ahora se iniciara sesion automaticamente.

jueves, 12 de agosto de 2010

Montar imagenes .iso .nrg en Linux

Aqui les paso dos rapidos comandos, para montar Iso y NRG (archivo imagen del Nero) desde la consola de linux:

mount -t iso9660 -o loop archivo.iso /directorio/de/montaje

Para montar los NRG debemos agregar un pequeño offset para asi saltaernos datos que solo le importan al Nero.

sudo mount -t iso9660 -o loop,offset=307200 imagen.nrg /directorio/de/montaje

domingo, 25 de julio de 2010

Convertir cadenas de caracteres a fecha en Excel

Microsoft Excel - Todas las Versiones

Muchas veces se dá al estar trabajando con distintos sistemas de información que al exportar la información desde el sistema a Excel para producir informes resulta que las fechas, no vienen en un formato legible para Excel, provocandonos un dolo de cabeza para nosostros. Aca voy a compartir con uds una simple formula para convertir las siguientes tipos de cadenas de texto a fechas:
  • dd-mm-aaaa
  • dd.mm.aaaa
Para ello podemos utilizar la siguiente formula:

=FECHANUMERO(CONCATENAR(EXTRAE(Celda;1;2);"/";EXTRAE(Celda;4;2);"/";EXTRAE(Celda;7;4)))

Donde Celda representa la celda donde esta la cadena a convertir.
Finalmente seteamos el formato de la celda como fecha.

Para convertir las siguientes tipo de cadenas:
  • dd-mm-aa
  • dd.mm.aa
 En este caso podemos utilizar la siguiente formula:

=FECHANUMERO(CONCATENAR(EXTRAE(Celda;1;2);"/";EXTRAE(Celda;4;2);"/";EXTRAE(Celda;7;2)))


Donde Celda representa la celda donde esta la cadena a convertir.

Finalmente seteamos el formato de la celda como fecha.

Y el ultimo caso es para fechas con el siguiente formato:
  • ddmmaaaa
En ese caso utilizamos:

=FECHANUMERO(CONCATENAR(EXTRAE(Celda;1;2);"/";EXTRAE(Celda;3;2);"/";EXTRAE(Celda;5;4)))


Donde Celda representa la celda donde esta la cadena a convertir.

Finalmente seteamos el formato de la celda como fecha.

Desactivar la reproduccion automatica de CD/DVD y Pendrive en Windows XP

Esta cansado de que muchos virus le infecten la maquina porque conectar un Pendrive en su computadora. Sos de lo que trabajan en la escuela o el trabajo y traes informacion en el pendrive y se te infectan la maquina.

La mayoria de estos virus se instalan en un archivo conocodi como "autorun.inf" que windows esta acostumbrado a ejecutar cuando se conecta un dispositivo. Por eso te recomendamos desactivar esta opcion de la siguiente mantera:

Primero hacemos click en inicio y vamos a ejecutar. Despues tipeamos gpedit.msc. En la ventana que se abrio debemos ir, en la barra de la izquierda, a
Configuración del equipo/Plantillas Administrativas/Sistema y luego buscamos la opcion Desactivar reproducción automática.

Al hacer esto saldra una ventana que nos dejara elegir entre varias opciones. Hacemos click en Habilitada y en "Desactivar reproduccion automaticab en:" elegimos la opcion en todos los dipositivos.

Una vez hecho esto, para no esperar a reiniciar hay que ejecutar el siguiente comando: gpupdate

Y Listo!! Con eso desactivamos las reproducciones automaticas!

Cómo modificar el espacio reservado en disco a Restaurar sistema en Windows Vista

Como pudimos observar, en Windows XP modificar este tamaño era simple. Accediamos a mi PC, propiedades, ibamos a la solapa Restaurar Sistema. Elegiamos uno de los disco y podiamos modificar el tamaño.

Pero desde Windows Vista esta opcion se ah modificado y no se encuentra mas ahi. Desde ahora hay que hacerlo desde la consola. Por eso aqui unos comandos utiles para poder resolver esto:

Para ver cuál es el espacio máximo asignado a las copias sombra, siga estos pasos:

1) Hacemos click en inicio y y vamos a busqueda rapida.

2) Escriba cmd y seleccione el programa ofrecido tras finalizar la búsqueda con el botón derecho del mouse. Haga clic sobre Ejecutar como administrador.

3) Proporcione credenciales administrativas o haga clic sobre Continuar, lo que proceda.

4) En la ventana de línea de comandos, tipee lo siguiente y pulse INTRO:
vssadmin list shadowstorage
Observe en la salida del comando la línea Espacio máximo del almacenamiento de la instantánea:. Ese el espacio máximo reservado.

Si somos de esas personas que cuidamos la pc y no precisamos tanto espacio para restaurar el equipo, por lo tanto queremos reducirlo debe hacer lo siguiente:

En la misma consola que abrimosanteriormente tipeamos:
vssadmin resize shadowstorage /on=C: /For=C: /MaxSize=5GB
(reemplazamos C por la unidad correspondiente y tambie modificamos MaxSize por el valor deseados)

Vssadmin devolverá el siguiente mensaje: Se cambió correctamente el tamaño de la asociación de almacenamiento de instantáneas.

Tener en cuanta que en la unidad donde este instalado el sistema es donde mayor tiene que ser el espacio reservado. A demas, cuanto menos espacio alla menor va a ser la cantidad de instantaneas. Por lo que no se podra vovler varios dias atras.

jueves, 22 de julio de 2010

Acceso web desde Python

Este tutorial se trata de acceder a una pagina web desde Python, obtener su codigo de fuente, y asi poder realizar ciertas acciones.

Empecemos por un codigo simple pero efectivo:
import urllib2,urllib
f = urllib2.urlopen("https://www.google.com.ar")
print f.read()
f.close()
Con ese simple codigo veremos que se imprime en la consola el codigo de fuente de la pagina de google.
Ahora un poco mas avanzado. Veremos como pasar informacion por metodo "POST" muy util para llenar formularios automaticamente. O tambien logins.
import urllib2,urllib
params = urllib.urlencode({"email": "xxxxxxxxxxxxxx@gmail.com", "pass": "xxxx"})
f = urllib2.urlopen("https://login.facebook.com/login.php?login_attempt=1",params)
print f.read()
f.close()
Como veran añadimos una variable mas al codigo con la informacion del metodo POST. Por lo general se debe guardar el nombre del objeto seguido con la informacion. Pero para esto sugiero leer tutoriales de programacion web.
Ademas pueden ver que añadimos la variable con los datos al metodo "urlopen" como un parametro mas.
Fijense que estamos tratando de loguernos con facebook. Por lo que busque los nombre de los campos de usuario y contraseña, como tambien la pagina a la que es redireccionado el explorador al tocar el boton de login.

Pero son necesarias un par mas de cosas para poder loguernos en facebook. Necesitamos activar las cookies; sino nos rechazaran. Para esto miren este codigo:
import urllib
import urllib2
datos = urllib.urlencode({'email':'tu_correo','pass':'tu_contrasenia'})
o = urllib2.build_opener(urllib2.HTTPCookieProcessor)
res = o.open('https://login.facebook.com/login.php?login_attempt=1', datos)
Aqui lo que hacemos previamente es crear un objeto "opener" de la libreria urllib pero le seteamos ciertos campos antes de abrir una pagina. No como antes que abriamos la paginade una. Simplemente este campo es para activar las Cookies.

Pero se llevaran una gran sorpresa si lo prueban con facebook. Ya que facebook tiene cierta restriccion con las cookies. Al ingresar a la pagina principal de facebook, se setean ciertas cookies que son necesarias para loguearse. Por lo tanto, pueden observar que no funcionan las cookies con facebook, en cambio, si funciona con otras paginas.

Pero siempre existe una solucion para esto. La idea es acceder primero a la pagina principal de facebook, obtener las cookies. Y luego loguearnos. Asi quedara el codigo:
import urllib
import urllib2
datos = urllib.urlencode({'email':'tu_correo','pass':'tu_contrasenia'})
o = urllib2.build_opener(urllib2.HTTPCookieProcessor)
o.open('https://www.facebook.com')
res = o.open('https://login.facebook.com/login.php?login_attempt=1', datos)

martes, 20 de julio de 2010

Instalar placa wireless Realtek RTL8101E/RTL8102E

Yo, como uno entre otros, hemos tenido problema al instalar este tipo de placa wifi en una Notebook. Despues de unos dias de lucho logre encontrar la solucion.

Buscando por internet me topaba siempre con los driever de mi placa. Los compilaba pero nada sucedia...mi placa parecia ser detectada, veia las redes pero a la hora de conectar nada sucedia.

Por eso decidi cambiar mi distribucion hacia Debian. Durante la instalacion el mismo sistema me advirtio que iba a tener problema con cierto driver porque no era 100% software libre. Asi que me recomendo agregar las ramas contrib y non-free al siguiente repositorio:
deb http://ftp.de.debian.org/debian/ squeeze main
Nuestro repositorio deberia quedar asi:
deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
Esto se puede hacer desde Synaptics o desde el archivo /etc/apt/sources.list.
Una vez que tenemos esto, debemos actualizar los repositorios (aptitude update). Y ahora con los nuevos paquetes detectados debemos buscar el paquete: firmware-realtek.

Este paquetes nos instala el driver de la placa de red. Justamente, esto era lo que me faltaba antes para que terminara de funcionar.

Como acababa de hacer una instalacion limpia de debian, todavia me faltaban los driver de mi placa de red wifi. Asi que volvi a entrar a esta pagina: www.realtek.com , Buscamos los driver de nuestra placa y los decargamos.

Luego los descomprimimos, ya vienen instalados programas visuales para hacer esto.
En la carpeta que descomprimimos vamos a una consola, y ahi tipeamos como superusuario:
make
make install
Con esto ya tenemos instalado el driver. Solo nos faltaria rebootear la Pc o desde la consola escribir:
modprobe r8192se_pci
Y eso es todo.

Por si no encuentran el firware desde el synaptics, por problemas de versiones (yo lo instale en la version squeeze) aca el dejo el link del paquete: Firmware-realtek

lunes, 26 de abril de 2010

Guia rapida SVN - Subversion

Subversion es lo que se llama un sistema de control de versiones centralizado (como CVS). Esto se usa con muchísima frecuencia en la industria del software. Su uso -tal como su nombre lo indica- es para ir controlando las distintas versiones del código fuente. Para explicarlo de manera sencilla digamos que hay un repositorio que tiene el código de una aplicación X y 3 miembros (A, B y C).

En una primera instancia los 3 miembros descargan el código fuente y “A” modifica un archivo y luego lo sube al servidor. Así, en el servidor tendremos lo que se llama una nueva revisión del proyecto. El miembro B “actualiza” y se le indica que hay un archivo que ha sido modificado y se descarga en su equipo. Le parece bien el cambio, pero le hace un arreglo y edita otro archivo y luego actualiza la versión del servidor. Un rato después el último miembro actualiza el proyecto y se encuentra con 2 nuevos archivos que han sido modificados.* Así cada miembro del proyecto puede acceder cada vez que va a trabajar a los cambios que han hecho los demás.*

Instalación
Si queremos llegar a alguna parte primero necesitamos descargar la herramienta. Como es habitual, podemos encontrarla en los repositorios con el nombre de subversion.

Sistema > Administración > Gestor de paquetes Synaptic
Buscamos subversion y lo instalamos

O lo instalamos de manera fácil:

sudo apt-get install subversion

Conceptos
Para utilizar las funciones básicas de Subversion tenemos que manejar algunos conceptos:
  • Repositorio: Lugar de la red donde se almacena el código fuente del proyecto.
  • Check-out (co): Descargar el código fuente desde el repositorio.
  • Check-in o commit (ci): Subir los archivos modificados al repositorio.
  • Update (up): Comparar el código de mi equipo con el del repositorio y descargar sólo las modificaciones.
Uso en Consola
Lo primero será descargarnos el código del proyecto con el siguiente comando (en la carpeta donde pensamos trabajar posteriormente):

$ svn checkout http://svn2.assembla.com/svn/nalga

Luego de la descarga subiremos nuestras modificaciones:

$ svn commit

Puede ser que se abra tu editor de texto (en mi caso Nano) para escribir un mensaje que acompañe la revisión y cuando salgas del editor tu archivo se enviará al repositorio.

Lo más probable que para poder subir archivos necesites tener una cuenta que te será entregada por el admin del servidor y este será el momento que te la soliciten (Nombre de Usuario y Contraseña).

Si acaso quieres agregar un mensaje y evitar que se abra el editor de texto puede agregar el modificador -m:

$ svn commit -m mensaje

En tu segundo día vas a seguir trabajando, pero antes debes comprobar si algún miembro hizo alguna modificación. Podrías descargar nuevamente todo el código, pero no tendría mucho sentido ya que seguramente no existirán cambios en todos los archivos; por esto Subversion cuenta con nuestra tercera función básica:

$ svn update

Como no nos gusta gastar nuestros dedos de más podemos utilizar abreviaciones para estas funciones: checkout (co), commit (ci) y update (up). Otras funciones útiles son:

log: Muestra los mensajes de las revisiones
diff (di): Muestra las diferencias entre la revisión seleccionada
help: La nunca bien ponderada ayuda (que por cierto, fue la que me enseño)

miércoles, 10 de marzo de 2010

Escuchar mp3 y ogg desde la consola

Con mpg123 podemos reproducir archivos MP3 desde la consola. Solo debemos instalar este paquete desde los repositorios de debian:

apt-get install mpg123



Luego simplemente tipeamos:

mpg123 mi.mp3

Se puede agregar el simbolo "&" al final de la sentencia para poner el reproductor en segundo plano y asi tener libre la consola:

mpg123 mi.mp3 &


Si queremos cargar un lista de reproduccion usamos la opcion "-@" mas el archivo con la lista de MP3:

mpg123 -@"lista.m3u"


SOLUCION AL PROBLEMA FALTA NTLDR

Para solucionar el problema de Falta el archivo NTLDR hay seguir el procedimiento siguiente:

1.- Arrancar el pc con el disco de Windows XP metido.
2.- Cuando nos salga el asistente de instalación de Windows Xp elegir la opción de Reparar Sistema.
(En caso de que no salga el asistente significa que el sistema no ha podido arrancar desde el CD. Prueba a ponerlo en otra unidad y volver a arrancar).
Si sigue igual, entra en la BIOS y comprueba que la primera unidad en la secuencia de arranque es alguna de tus unidades de CD/DVD.
3.- Una vez que tengamos en pantalla el editor con C:\Windows, teclear 1 y pulsar Intro
4.- Nos pedirá la Clave de administrador. Si hemos puesto una clave la tecleamos. Si no hemos puesto clave pulsamos Intro.
5.- Una vez que estemos en C:\Windows teclear FIXMBR y pulsar Intro.
6.- El sistema nos advierte de que si queremos continuar y ponemos S y pulsamos Intro.

Una vez que estamos en el punto 6, tenemos que copiar dos archivos, debido que en dicha pérdida se arrastra también otro que es el ntdetect, por lo tanto hay que copiar ntldr y ntdetect en nuestro disco duro.

Para ello escribiremos lo siguiente:
copy D:\i386\ntldr C:\
copy D:\i386\ntdetect.com C:\

(Donde D:\ sería la unidad lectora donde se encuentra el cd de Windows XP y C:\ es la unidad de arranque donde tenemos instalado Windows).

Con respecto a este problema debemos tener unas cuestiones en cuenta:

Si el sistema anterior falla no tenemos más remedio que reinstalar Windows, pero eliminando la particion, volviendola a crear y formateando de nuevo (es recomendable utilizar el formateo normal, NO el formateo rápido. Con esto se perderan todos nuestros datos, por lo que es conveniente que tengamos una copia de estos.

martes, 16 de febrero de 2010

Chatea en Facebook con Pidgin

Facebook mas que un pagina con todos “tus amigos” es casi toda la vida de algunas personas, tienen todos hay, música, fotos, vídeos, amigos y chat, pues bueno ahora no tendrán que meterse al facebook.com para poder hablar con tus amigos ahora y gracias al protocolo XMPP o Jabber que utiliza pidgin y es muy fácil- Por tanto, los clientes que usen como aplicación de mensajería instantánea iChat, Adium, Pidgin o cualquier otra compatible podrán chatear con sus contactos de Facebook directamente sin pasar por la página de la red social. Además han anunciado la integración con Facebook Connect para desarrolladores que deseen incluirlo en webs, aplicaciones de escritorio o aplicaciones móviles.


Para configurar el programa de mensajería (si aun no permite la autentificación directa) tendremos que hacerlo de este modo:
  • Abrimos el programa de mensajería instantánea y vamos al menú adecuado para agregar cuentas nuevas (“Preferencias” o “Configuración”, normalmente).
  • Introducimos la siguiente información para crear una cuenta nueva:
Protocolo: XMPP or Jabber
Nombre de usuario:
Dominio: chat.facebook.com
Identificador de Jabber: @chat.facebook.com
Contraseña:
  • Introducimos los datos siguientes:
Puerto: 5222
Servidor: chat.facebook.com
Usar SSL/TLS: no
Permitir la autenticación de texto sin formato

martes, 2 de febrero de 2010

Cerrar aplicaciones colgadas

Para los novatos que no saben como cerrar una aplicacion que se ha colgado. O para aquellos que no la pueden identificar. Con este pequeño truco lo podran solucionar.

Para ello usaremos el programa taskkill que localizara todas las aplicaciones colgadas y las cerrara.

Para ello debemos crear un acceso directo, y cuando nos pida la ubicacion del programa escribimos lo siguiente:

taskkill.exe /f /fi "status eq not responding"

Cada vez que se nos cuelga algun programa, de ahora en mas, solo deberemos ejecutar este acceso directo.

sábado, 30 de enero de 2010

Ordenamiento por inserción - Insertion sort

El ordenamiento por inserción (insertion sort en inglés) es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria.
Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos.

El algoritmo en pseudocódigo (con listas que empiezan por 0) debería ser como el siguiente:

algoritmo insertSort( A : lista de elementos ordenables )
para i=1 hasta longitud(A) hacer
index=A[i]
j=i-1
mientras j>=0 y A[j]>index hacer
A[j + 1] = A[j]
j = j - 1
fin mientras
A[j + 1] = index
fin para
fin algoritmo

Ahora una implementacion en C:
typedef int element;

void insertionsort(element *a, int n){

int i,j;
element t;
for(i=1;i
=0 && a[j]>t;j--) {
a[j+1] = a[j];
}
a[j+1] = t;
}
return;
}


La funcion insertionsort toma un puntero a la lista de elementos, y un entero que representa la cantidad de elementos a ordenar.

Ordenamiento de Burbuja - Bubble Sort

El Ordenamiento de Burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada.

Este es una implementacion en C:

typedef int element;

void intercambio(element *a, int i, int j)
{
element p;
p = a[i];
a[i] = a[j];
a[j] = p;
return;
}

void bubblesort(element *a, int n)
{
int i,j;
for(i=n-1;i>=0;i--)
for(j=0;j a[j+1]) {
intercambio(a,j,j+1);
}
}
return;
}





En este ejemplo suponemos que estamos ordenando numeros. Pero definimos un nuevo tipo "element" como int (entero) para diferenciar lo que seria elemento con un variable entera comun.

La idea del ordenamiento Burbuja es simple. Mientras que vamos recorriendo la lista, intercambiamos si el de la derecha es menor al de la izquierda. De esta forma al pasar una vez por todo la lista el mayor de todo quedara al final. Asi recorremos nuevamente la lista para mandar el segundo mas grande al fondo. Esto procedimiento debemos realizarlo el numero de elementos que tenga la lista.

La funcion bubblesort toma dos argumento. El primero un puntero a la lista de elementos a ordenar. El segundo el tañaño de la lista.

La funcion intercambio, toma un puntero a la lista y dos indices. E intercambia estos dos valores.

Crear Filtros en Gmail

Esta opcion de Gmail esta bastante implicita. Pero esto se debe a que en Gmail podemos crear otras acciones, ademas de la de separar los mail en carpetas.

Pero el fin de esta nota es agrupar los mail que tengan el mismo parametros en una misma carpeta. Por ejemplo los mail recividos de Facebook.

Gmail no utiliza carpeta, sino que tiene un sistema de etiquetas para organizar los mail. La idea es entonces, que Gmail etiquete automáticamente ciertos mail recibidos y los oculte de la casilla de entrada.

Para esto debemos ir a la parte de configuracion:



Luego a la solapa Filtros, y hacemos Click en "Crear un filtro nuevo".



En esta parte podemos elegir las características que tendran los mail a filtras. Por ejemplo si queremos filtrar los mail de Facebook en el campo "De:" escribimos Facebook. Tambien se pueden filtrar los mail que contengan ciertas palabras.



Terminado este paso hacemos Click en "Paso siguiente". En esta parte podemos elegir las acciones que veamos conveniente. Para nuetros objetivo, debemos marcar la opcion "Omitir Recibidos (Archivarlo)" (no mostrara los mail filtrados en la bandeja de entrada) y "Aplicar la etiqueta", elegimos la etiqueta que queramos. Podemos crear una etiqueta desde ahí.


Tambien podemos elegir varias opciones mas, como marcarlos como leidos, reenviarlo a otro mail, borrarlos, etc.

Cuando terminamos, hacemos click en "Actualizar filtro".

Ahora para acceder a la "carpeta" vemos que en la barra de la izquiera hay varios enlaces a las diferentes etiquetas creadas. Haciendo click en la etiqueta correspondiente podemos visualizar los mails filtrados.