Saturday, 11 December 2010

Undervolt en procesadores AMD K10

¿Que es Undervolt?

Basicamente traducido al español es como decir bajo-voltaje

¿Porque Undervolt?

Si tienes un portatil o PC de escritorio y te preocupan las altas temperaturas o si quieres ayudar al planeta, aparte de tener un buen case/caja ventilada puedes conseguir temperaturas de entre 20° o 30° segun tambien la temperatura ambiente

Por ejemplo ahora mismo en mi cuarto con aire acondicionado a 18° los cores del Phenom II X4 que tengo estan a 29°, sin el aire acondicionado estarian como en 40°, que considero que son altas





Bien el programa del que les hablo es de:


K10STAT


La version por ahora es la 1.41, lo descargas y luego descomprimes el contenido del zip a la carpeta que quieras y ejecutas el archivo K10STAT.exe

Asi tengo configurado los estados del procesador con su voltaje, bueno lo he dejado como esta en K10STAT, no he tocado nada ya que considero que esta bien asi





Puedes crear perfiles, obviamente tiene que probar que es mejor para ti, tambien puedes verlo en la barra de tareas





El icono cuadrado verde indica que esta en estado con el voltaje mas bajo, el icono cambia de color segun el voltaje que tengas configurados en los p-states

NOTA: Por defecto la aplicacion no controla el voltaje asi que si hacemos click derecho sobre el icono y clickeas en Enable Clock Control el programa pasa a tomar el control del voltaje

Vamos a configurarlo para que cada vez que inicies el PC o portatil se ejecute el K10STAT con una configuracion determinada para hacerle undervolt al procesador


  1. Crea un acceso direto del ejecutable K10STAT en el escritorio, tan solo haz click derecho sobre el archivo Click en Enviar -> Escritorio (acceso directo)

  2. Click derecho sobre el acceso directo recien creado click en Propiedades

  3. En el cuadro de texto Destino escribe al final de la esa ruta

  4. 3.1 -ClkCtrl:1 -nw -StayOnTray

    C:\RUTA\AL\K10STAT\K10STAT.exe -ClkCtrl:1 -nw -StayOnTray

    NOTA: recuerda que si la ruta tiene espacios debes usar comillas, ejemplo:

    "C:\RU TA\A L\K10 STAT\K10STAT.exe" -ClkCtrl:1 -nw -StayOnTray


  5. Luego Corta&Pega el acceso directo en la carpeta Inicio del Menu Inicio

  6. C:\Users\[USUARIO_AQUI]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

    NOTA: puede ser distinto en tu PC


  7. Listo!!


Significado de la linea de comandos:

-ClkCtrl:#(0-4) - Enable Clock Control

  • 0: No Control

  • 1: Control clock of each core.

  • 2: Control clock of all cores together (Criterion is most loaded core).

  • 3: Control clock of all cores together (Criterion is average of all cores).

  • 4: Control clock of all cores together (Criterion is least loaded core).


-StayOnTray mostrar icono en la barra de tareas

-nw no mostrar la ventana inicial


Publicado en tttony.blogspot.com

Sunday, 28 November 2010

BlueScreenView lector de archivos .dmp

Me he encontrado con esta utilidad llamada BlueScreenView, que la considero primordial para leer los archivos .dmp que se crean cuando hay una pantalla azul ya sea de Windows XP / Wondows Vista / Windows 7 (32 o 64bits)





Descargar BlueScreenView (pagina oficial) y ademas es portable


Publicado en tttony.blogspot.com

Monday, 23 August 2010

Convertir codigo de C# a VB.NET y de VB.NET a C#

Existe un utilidad en la web del conocido elGuille que te ayuda a convertir tu codigo de C# a VB.NET y viceversa

Aqui lo puedes encontrar, te bajas el ejecutable y luego te bajas las dos librerias(no se porque no coloco todo junto)

La utilidad no es 100% fiable, todavia le falta por pulir muchas cosas, yo lo uso para convertir los codigos de C# a VB.NET y tiene muchos errores, mas que todo cuando hay comentarios /* ESTE ES UN COMENTARIO EN C# */ que no los parsea bien

Tambien puedes usarlo via web: C# a VB.NET y de VB.NET a C#

Otra buena utilidad online para convertir codigo esta aqui

ACTUALIZACION: 09/08/2011

Me he encontrado una aplicacion online mucho mejor, ya que permite subir un archivo o varios archivos .zip al servidor el cual contenga los archivos .vb para VB.NET o .cs para C# que quieras convertir

http://converter.telerik.com/Default.aspx


Publicado en tttony.blogspot.com

Sunday, 22 August 2010

Encriptar contraseñas con MD5 en C# y VB.NET (Obsoleto)

ADVERTENCIA!!! la encriptacion con la funcion md5() es insegura, es mejor usar la encriptacion BCrypt
Para encriptar contraseñas en tu base de datos lo mas comun es usar la ecriptacion MD5

Codigo C#:

public string GetMD5Hash(string input)
{
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] bs = Encoding.UTF8.GetBytes(input);
bs = x.ComputeHash(bs);
StringBuilder s = new StringBuilder();
foreach (byte b in bs)
{
s.Append(b.ToString("x2").ToLower());
}
string password = s.ToString();
return password;
}


Codigo VB.NET:

Public Function GetMD5Hash(input As String) As String

Dim x As New MD5CryptoServiceProvider()
Byte() bs = Encoding.UTF8.GetBytes(input)
bs = x.ComputeHash(bs)
Dim s As New StringBuilder()
For Each b As Byte in bs

s.Append(b.ToString("x2").ToLower())

Next
Dim password As String = s.ToString()
Return password

End Function


Publicado en tttony.blogspot.com

Sistema de login en C# con Access 2007

He mejorado un poco el sistema y ademas lo puedes descargar como archivo de proyecto para VS2010

Sistema de login

Es facil de usar solo tienes que configurarlo dependiendo de como tengas la base de datos de los usuarios

NUEVO: agregada opcion de encriptacion de contraseña con Bcrypt

La contraseña de la base de datos login.accdb es: test

Ejecuta el proyecto pero modo Debug ya que la base de datos login.accdb esta en el directorio Debug e introduce estos datos:


Usuario: prueba
Contraseña: 5555

El codigo esta documentado


ACTUALIZADO 11/11/12


Publicado en tttony.blogspot.com

Manejar errores en C#

Los errores en las aplicaciones son un dolor de cabeza, no sirve de mucho usar:



try
{
// codigo aqui
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}


Es mejor hacer un log, osea escribir en un archivo el error lanzado, en internet me encontre con este

Cada vez que haya una excepcion tienes la opcion de guardar el error en archivo propio .log o al archivo log del sistema



try
{
// codigo aqui
}
catch(Exception ex)
{
if (!ErrorLog.ErrorRoutine(false, ex))
MessageBox.Show("No es posible escribir en el archivo de error");
}


Fuente: http://www.codeproject.com/KB/dotnet/logger.aspx


Publicado en tttony.blogspot.com

Encriptar/Decriptar cadenas con Base64 en C#

Me he encontrado un codigo para encriptar y decriptar cadenas con Base64:


static class EncryptClass
{

// http://www.codeproject.com/KB/cs/Cryptography.aspx

///
/// Encrypt a string using dual encryption method. Return a encrypted cipher Text
///

/// string to be encrypted
/// use hashing? send to for extra secirity
///
public static string Encrypt(string toEncrypt, bool useHashing)
{
byte[] keyArray;
byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

string key = Properties.Settings.Default.SecurityKey; //<-- crealo en tu configuracion

if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key);

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
///
/// DeCrypt a string using dual encryption method. Return a DeCrypted clear string
///

/// encrypted string
/// Did you use hashing to encrypt this data? pass true is yes
///
public static string Decrypt(string cipherString, bool useHashing)
{
byte[] keyArray;
byte[] toEncryptArray = {0};

try
{
/*
* La longitud de cadena enritptada con Hashing es de 24
* si es menor de 24 lanza una excepcion, asi que hay que pasar de ella
*/
toEncryptArray = Convert.FromBase64String(cipherString);
}
catch (Exception)
{
return null;
}

string key = Properties.Settings.Default.SecurityKey;

if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key);

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

tdes.Clear();
return UTF8Encoding.UTF8.GetString(resultArray);
}
}



Creas un valor de configuracion llamado SecurityKey en tu proyecto y le asignas un valor aleatorio

Fuente: http://www.codeproject.com/KB/cs/Cryptography.aspx

Publicado en tttony.blogspot.com