F1 Help! La solución que buscabas

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

viernes, 26 de septiembre de 2008

MSCONFIG

Herramienta de Microsoft Windows que permite configurar el inicio del sistema operativo. MSConfig es un programa que viene en todos los Windows desde 1995 exceptuando Windows 2000.

MSConfig permite modificar los programas que se iniciarán junto con el sistema operativo, editar algunos archivos de configuración y controlar básicamente los servicios de Windows que se ejecutan al iniciar el sistema operativo.

Lo podemos cargar desde Ejecutar... ("Tecla windows + R" o "Inicio >>> Ejecutar...") y ahi ejecutamos el comando "msconfig" (obviamente sin comillas). Se nos cargará la siguiente ventana, que es el msconfig en sí.


Bueno en la solapa general, tenemos la posibilidad de elegir tres opciones.

1-Inicio normal :: que carga todos los componentes, dispositivos y servicios, es el inicio normal.

2- Inicio con diagnosticos :: Carga solo lo basico, es como lo que esta en el medio de cargar el sistema en "modo seguro" o "modo a prueba de fallos" y el inicio normal. En esta opción desabilita lo que el SO cree que esta de más y lo que no es necesario para diagnosticar.

3- Inicio Selectivo :: En este modo, el usuario hace la selección de lo que se carga y de lo que no. Para empezar podemos elegir que archivos cargar al inicio.
Tenemos
System.ini y Win.ini :: especialmente necesario desde XP hacia atrás, están en vias de ser eliminados
Servicios :: Son los servicios que se cargan al iniciar (ej: servicio de red)
Programas al inicio :: los programas que se cargan al iniciarse el SO

Solapa boot.ini

Aca podemos editar el archivo de booteo de windows, en caso de tener mas de un windows instalado o mas de una opción distinta de booteo, podrían editarse desde esta solapa, osea modifica el menu de booteo al iniciar, por ejemplo podemos agregar una opción para cargar el sistema a modo a prueba de fallos.
Las opciones para el booteo son:
/SAFEBOOT. Si marcamos esta opción Windows se inicia en el llamado Arranque a prueba de fallos; inicia el mínimo de controladores, servicios y dispositivos y nos permite borrar manualmente un virus, un archivo bloqueado por Windows, arreglar algún problema que nos da Windows en su inicio normal, etc.

/NOGUIBOOT. Al marcar esta opción deshabilita la pantalla en la que aparece el logo de XP al cargarse éste. Sin embargo, aunque desaparece dicha pantalla, no veremos qué pasa "detrás" de ella. Para eso, tiene que aplicarse el modificador /SOS que veremos más adelante.

/BOOTLOG. Con esta opción se crea un archivo log de carga cuando se inicia Windows, con todas las incidencias de dicho inicio. Este archivo está ubicado en el directorio raíz de Windows y tendrá por nombre "ntbtlog.txt" (por tanto, puede abrirse con el bloc de notas).

/BASEVIDEO. Con este modificador conseguiremos que se cargue el controlador "base" de video, es decir, a 16 colores y a una resolución de 640x480. Esto es útil cuando hemos instalado un driver para la tarjeta gráfica que no es el adecuado. Para conseguir arrancar XP (si por ejemplo tampoco podemos hacerlo en modo seguro) tendríamos que colocar ese modificador entrando a la consola de recuperación.

/SOS. Nos permite visualizar la carga de los drivers cuando inicia Windows. Nótese que no tiene la misma función que /noguiboot, ya que éste desactivaba la pantalla con el logo de Windows y nada más. /SOS permite no sólo desactivar dicha pantalla sino ver también los drivers y archivos que se cargan.

Solapa Servicios

Desde esta solapa modificamos los servicios que se cargan al iniciar el sistema, para saber cual podemos desabilitar deberíamos tener un buen conocimiento de que es loq eu usamos en cuanto a servicios y que no. O consultar en internet o a alguien si un determinado servicio es necesario o no.


Solapa Inicio


Muestra los programas diferentes a los del sistemas, que son ejecutados una ves iniciado el sistema. Ahi veremos progrmas como antivirus y chiches de otros soft, para saber que es malo y que es normal o bueno, consulten en internet o google con el nombre del archivo


Recordar para ver cualquier cambio, necesitaremos reiniciar el sitema opertivo.

lunes, 22 de septiembre de 2008

Defragamentación del disco

Hasta de hablar de este tema definamos que es fragmentación (gracias wikipedia)

La fragmentación es el efecto que se produce al irse escribiendo y borrando archivos continuamente en el disco duro, éstos tienden a no quedar en áreas contiguas, así, un archivo puede quedar "partido" en muchos pedazos a lo largo del disco, se dice entonces que el archivo está "fragmentado". Al tener los archivos esparcidos por el disco, se vuelve ineficiente el acceso a ellos.

La desfragmentación es el proceso mediante el cual se acomodan los archivos de un disco de tal manera que cada uno quede en un área contigua y sin espacios sin usar entre ellos.

La fragmentación es un problema que surge debido al ordenamiento interno de los datos en algunos sistema de archivos. Se da muy comúnmente en el sistema operativo Windows aunque también afecta a otras plataformas pero en una escala mucho menor. También se produce fragmentación dentro de la memoria del computador (memoria RAM) cuando se asignan los procesos a los diferentes bloques de memoria.

En Windows la presencia de archivos inamovibles del sistema, o que el desfragmentador no moverá para simplificar su tarea (sobre todo con el archivo de intercambio, o swap file), puede impedir un buen porcentaje de desfragmentación en el disco.

Ciertos sistemas de archivos son más susceptibles a cambios por desfragmentación que otros. Por ejemplo, una partición del tipo FAT se fragmenta más rápido que una de partición del tipo NTFS, ambos propios del sistema Windows. Todo lo contrario ocurre en muchos sistemas de archivos del tipo Unix que no requieren desfragmentaciones en general, debido a que buscan que la fragmentación se mantenga en un punto donde no sea necesario desfragmentar mediante el uso de nodos de posición.

En otros tiempo el defragmentador mas usado era el defrag de Microsoft Windows, pero con el paso de las versiones este se fue volviendo cada vez mas ineficiente y teniendo más limitaciones.

  • En Windows 2000 y sistemas posteriores, el Desfragmentador de Disco ha sufrido las siguientes limitaciones:
  • No desfragmenta archivos de la papelera de reciclaje. Tampoco puede desfragmentar archivos en uso.
  • No se puede analizar más de un volumen a la vez, ni pueden ejecutarse dos instancias de la aplicación a la vez.
  • Sólo pueden desfragmentarse los volúmenes locales; no se soportan volúmenes extraíbles o de red.
  • Las versiones GUI anteriores a la incluida con Windows Vista no se pueden ejecutar como tareas programadas; sin embargo, la utilidad de línea de comandos desde Windows XP puede ser ejecutada como tarea programada.
  • Los archivos de sistemas y archivos de intercambios son inamovibles

Ahora sí, entrados en el tema (este es muy amplio y da para mucha discución asi que lo voy a dejar acá). les traigo dos propuesta gratuitas (un software libre y otro no) para que puedan defragmentar su disco a mayor velocidad y sin todas esas limitaciones.

El mejor de todo es JkDefrag ( http://www.kessels.com/Jkdefrag/ ), a favor tiene su tremenda velocidad para defragmentar, en contra tiene su pobre interfaz, sin opciones, sin nada, lo haces correr y listo, el hace su trabajo.

Otra muy buena opcion es Auslogic Disk Defrag ( http://www.auslogics.com/disk-defrag ), esta si con una muy linda interfaz pero sin toda  la potencia del Jk.

Espero que estas aplicaciones le sean utiles



domingo, 21 de septiembre de 2008

Manejo de Archivos en Smalltalk V y Express

1 - Para crear un archivo de salida:
  File newFile: nombreArchivo

  Ejemplo: 
  | archi |
  archi := File newFile: ' c:\ pruebas.txt'.  

   
2- Para cerrar un archivo de salida:
  NombreArchivo close

  Ejemplo:
  | archi |
  archi := File newFile: ' c:\ pruebas2.txt'.
  archi close  



3- Para guardar datos en un archivo:
  nombreArchivo nextPutAll: dato

  Ejemplo: 
  | archi |
  archi := File newFile: ' c:\ pruebas2.txt'.
  archi nextPutAll:'Esta es una prueba'; cr.  
  archi close  


4- Para guardar datos en un archivo, desde una colección:
nombreArchivo nextPutAll: coleccion

Ejemplo:

| archi col col2|
archi := File newFile:'c:\prueba.dat'.
archi nextPutAll:'Este es mi archivo de prueba';cr.
col := #( 1 2 3 4 5).
col do:[ :k | archi nextPutAll: k printString ;cr].
col2 := #( $A $B $C).
archi nextPutAll: col2.
archi close.



5- Para leer un archivo:
File pathName: nombreArchivo

Ejemplo:

| archi col |
archi := File pathName:'c:\prueba.dat'.
col := archi contents.
archi close.
^col


SOLO EN SMALLTALK EXPRESS

1 - Para determinar si un archivo ya existe :
File exists: nombreArchivo
Ejemplo:

File exists: 'c:\personal.dat'
File exists:'c:\prueba.dat'



2 - Para guardar los datos de una colección en un archivo:

ObjectFiler dumpAll: coleccion newFile: nombreArchivo

Ejemplo:
| col |
col := #( 1 2 3 4 5).
ObjectFiler dumpAll:col newFile: 'c:\datos.dat'.




3- Para cargar datos en una colección desde un archivo:
ObjectFiler loadAllFromPathName: nombreArchivo

Ejemplo:
| coldat |
coldat := ObjectFiler loadAllFromPathName: 'c:\datos.dat'.
^coldat

sábado, 20 de septiembre de 2008

Comando uname

El comando uname en *nix, imprime informacion acerca del sistema

Uso

$ uname -parametro

Estas son las opciones

-a, --all

imprime la informacion de todo el sistema

-s, --kernel-name

imprime el nombre del kernel

-n, --nodename

imprime el nombre del nodo en la red donde se encuentra conectada

-r, --kernel-release

imprime el nombre de la realise del kernel

-v, --kernel-version

imprime la version del kernel

-m, --machine

imprime el nombre de la arquitectura del hardware

-p, --processor

imprime el tipo de procesador


-i, --hardware-platform

imprime la plataforma de hardware

-o, --operating-system

imprime el sistema operativo que corre

urpmi database locked - Solución -

En caso de que te ocurra esto, que la base de datos de urpmi te queda trabada, podemos seguir estos pasos para solucionarlos.

# killall urpmi urpmi.update urpme rpm urpmi.addmedia

Este comando matará a cualquier comando referido a urpmi que este corriendo todavía.


# rm -f /var/lib/urpmi/.LOCK

# rm -f /var/lib/urpmi/.RPMLOCK

Estos comando eliminarán los archivos ocultos .LOCK y .RPMLOCK que son los que dejan trabada la base de datos si el programa se cerro mal.



miércoles, 3 de septiembre de 2008

Hacer un backup de Blogger

Surfeando la web, no habia encontrado la manera de hacerle un backup a nuestro blog en el servicio de Blogger, pero despues de mucho buscar encontre un articulo de como hacerlo, aca les digo la solución que se utilizó.

Hay que acceder a nuestro panel de blogger desde http://draft.blogger.com  (blogger en borrador en castellano)

Esto dice la pagina sobre lo que es:

 Blogger en borrador es una versión especial de Blogger en la que puedes probar nuevas funciones antes de su lanzamiento público. Entra y echa un vistazo a nuestras novedades.

En resumen, es como una versión beta, donde se prueban funcioanlidades no del todo pulidas

2º Vamos a entrar a nuestro clásico panel de control de blogger.

Ahi vamos a la opción de "Configuración"

3º Ahora tenemos que hacer click en "Exportar blog"

4º Elegimos el destino de la exportación y listo, hemos hecho un backup a nuestro disco de nuestro blog.

Esta info fue obtenida desde el siguiente blog: http://www.tecnologiadiaria.com/2008/06/como-hacer-backup-blogger.html

Calcular edad en C#

class Persona
  {

  public string nya;

  public DateTime fechanac;

  public int dameEdad()

  {
  TimeSpan z = DateTime.Now.Subtract(fechanac);
  return (z.Days/365);
  }

  }

/* Esta es una implementación de un metodo que ingresada la fecha de nacimiento devuelve la edad de la persona   */

 static void main () 
{
 Persona pers1 = new Persona();
 Console.WriteLine("Dime tu nombre:");
 pers1.nya = Console.ReadLine();
 Console.WriteLine("dime tu fecha nac (dd/mm/aaaa):");
 pers1.fechanac = Convert.ToDateTime(Console.ReadLine());
 int edad = pers1.dameEdad();
 Console.WriteLine("{0} tiene {1} años", pers1.nya, edad);
 Console.ReadKey();
}

Muestra de lo que sale en consola: