2007-12-28

Nombres de versiones

Éste es un mal que afecta a, por lo menos, el 97% de los desarrolladores: siempre que pensamos que una versión "supuestamente" cerrada es la final, aparece una nueva corrección que contradice la suposición anterior. De esto se desprende la siguiente nomenclatura para los entregables:

Producto_1.0.zip
Producto_1.0.Final.zip
Producto_1.0.FinalArreglado.zip
Producto_1.0.FinalFinal.zip
Producto_1.0.FinalUsarEste.zip
Producto_1.0.LOS.ANTERIORES.NO.SIRVEN.zip
Producto_1.0.LOS.ANTERIORES.NO.SIRVEN.FIXED.zip

Y la lista continua...

2007-12-21

jPod: Toxic Meetings

Cita extraida del libro jPod, de Douglas Coupland:

Here’s my theory about meetings and life; the three things you can’t fake are erections, competence and creativity. That's why meetings become toxic. They put uncreative people in a situation in which they have to be something they can never be. And the more effort they put into concealing their inabilities, the more toxic the meeting becomes. One of the most common creativity-faking tactics is when someone puts their hands in prayer position and conceals their mouth while they nod at you and say, "Mmmmmm. Interesting." If pressed, they’ll add, "I’ll have to get back to you on that." Then they don’t say anything else.


La proxima vez que le mandes una invitación a una reunion a alguien... pensalo dos veces. Puede ser que por ésto, ese alguien muera un poquito por dentro :)

2007-12-18

Heladera último modelo: Instalando Leopard en la Laptop

Después de unas semanas usando Mac OS X 10.4.10 (Tiger) decidí que era hora de ir un paso mas allá e instalar Leopard (10.5).

Haciendola corta, les comento lo que hice:

1. Instalar Tiger.

2. Una vez que esta instalado, upgradearlo a Leopard (obviamente, no formatear en el proceso). Yo usé el DVD de ToH RC2 que esta dando vueltas por la red.

3. Una vez que esta todo andando, instalar el PC EFI, que nos permitirá instalar las actualizaciones de OS X sin usar un kernel patcheado, sino que el original de Apple (vanilla). Pueden ver como hacerlo aca. (usar la ultima version. Yo use la 8.0)

4. Usar el system update y actualizar todo (ahora si, sin miedo gracias al PC EFI)

5. Para los drivers de video, usar estos archivos.

6. Para usar teclado en español, usar este layout.

7. El resto, veanlo del post anterior.

Un saludo!

Z

PD: Hoy salió un DVD llamado IATKOS que, al parecer es una recopilacion mas bonita para instalar Leopard desde 0, con PC EFI y toda la bola. Si alguien la prueba, comenteme que onda.

2007-12-06

Abajo las PCs, arriba las heladeras: Usando Mac OS X en una Hackintosh

Por algun motivo, el cual nunca sabré, me volvió a picar el bichito de curiosidad sobre instalar una versión hackeada de OS X en mi ThinkPad T60p para ver que era eso que siempre asocié mas a un electrodoméstico que a una computadora, y aún asi tanta gente me recomendaba.

Esta vez, baje una versión un poco mas actualizada del sistema: Mac OS X Tiger 10.4.10 (la última vez habia bajado la 10.4.8).

A diferencia de lo que se puede leer en posts anteriores, una vez instalado el sistema operativo (siempre hablando de mi disco externo) no fue necesario entrar en modo consola y borrar extenciones o cosas similares: todo anduvo relativamente bien. Recalco el relativamente ya que el sistema recien instalado se parecía mas a un XP recien instalado que a la felicidad computacional la cual me habían comentado: la resolución era de 1024x768, no habian drivers de video, sonido o wireless. Aunque sea, OS X reconoció las particiones NTFS donde tengo Windows XP instalado y las montó (como solo-lectura). Lo que no tuve problemas para usar out-of-the-box fue la placa de red, a la cual le conecté el cable e instantaneamente recibí IP.

Bueno, manos a la obra. Para poder usar esto necesitaría, como minimo, poder escuchar música, tener red sin depender de un cable, escribir en mis particiones NTFS (donde tengo todo lo que uso diariamente) y por último, pero no menos por eso, tener una resolución decente con aceleración de video por hardware.

1. El sonido: esto fue bastante fácil, ya que la primera busqueda que hice en InsanelyMac (sitio indispensable para cualquiera que desee tener su Hackintosh. www.insanelymac.com) pude encontrar el driver. Pueden bajarlo desde aca.

2. Red inalámbrica: las cosas empezaban a ponerse feas en este punto. Por lo que estuve leyendo en los foros, no existen drivers para la placa de red inalámbrica que traen las Thinkpad T60p y similares. Hay gente desarrollandolos, pero el proceso es lento y parece que todavía falta bastante hasta que podamos hacer uso de el. Por suerte para mi, hace un tiempo me compré un MSI USB Wireless Stick. En la página de MSI no dicen nada de un driver para OS X. Sin embargo, buscando por internet me enteré de que el stick es practicamente igual a otro Ralink o algo asi... La cosa es que ese si tiene driver y funciona a la perfección!. Dejo aca el driver para bajarlo.

3. NTFS: Esto fue probablemente lo mas facil de todo. Dado que abajo del OS X hay un BSD, parece que resulta bastante facil portar muchas aplicaciones hechas para Linux hacia el sistema operativo de Mac y una de ellas es FUSE, herramienta que permite cargar drivers para filesystems (como el de NTFS) en espacio de usuario. Teniendo Mac-FUSE y el driver NTFS-3G para Mac, ya estaba solucionado el asunto de las particiones.

4. El video: La correcta configuración de la placa de video fue, por mucho, lo mas complicado que tuve que hacer para tener funcionando el sistema operativo. El gran problema gran es que la T60p trae una ATI FireGL V5250 como placa de video, la cual no posee drivers para Mac. La única esperanza era encontrar drivers para la x1700 que, basicamente es la misma placa, pero con otro ID. Tampoco hay drivers. Después de mucho tiempo, mucha investigación y edicion de archivejos en hexa, pude armar el driver que necesitaba, modificando unos drivers hechos para la X1600 (creo) que aparecieron en InsanelyMac. Para los que lo necesiten, dejo aca para bajar las extensiones que hay que agregar/sobreescribir, para que puedan tener la placa de video funcionando con aceleración por hardware y 1680x1050 de resolución. Una vez reemplazadas, hay que ir a la consola y modificar los permisos y ownership de estos archivos (que tienen que estar en /System/Library/Extensions).
Para modificar los permisos hacemos: chmod -R 755 ExtensionAModificar
Para modificar el ownership hacemos: chown -R 0:0 ExtensionAModificar
Finalmente, hacemos: touch /System/Library/Extensions para avisar que cambio el directorio y listo! Tenemos el video andando.

Si haciendo algo con drivers o similar llevan a la maquina a un estado que no pueda terminar de arrancar, presionen F8 al arranque y cuando le pide las opciones para booteo pongan: -v -s -f y los va a llevar al modo consola, donde pueden volver todo al estado anterior.

Con esto finalice la instalación de drivers. Lo que quedaba por hacer era empezar a instalar soft y a ver que se podía hacer. En este momento ya van 3 días desde que lo instalé y, la verdad, no dan ganas de volver!!!

Software que les recomiendo:
- Vmware Fusion: versión de Vmware para OS X, con el feature Unity, el cual permite "sacar" ventanas de la maquina virtual y usarlas como si fuesen una ventana mas de OS X. Muy groso!
- Adium: cliente multiprotocolo de IM. Esta muy bueno, pero todavía estoy decidiendome si uso solo ese, o el Messenger para Mac (que es medio feucho) y el iChat para GTalk.
- VLC: excelente reproductor multimedia. Dale una feta de jamon y te la saca como audio y video. Se banca cualquier cosa.
- Firefox: en general, uso Safari como browser, pero alguno sitios como Blogger o GMail o Managerzone no andan del todo bien o con todos sus features ahi, asi que el viejo y querido lobo de fuego viene al rescate.

Software que NO les recomiendo, pero que es necesario:
- Microsoft Office 2004: anda lento, mal y es horrible. Sin embargo, necesito el Word para editar varios documentos en el laburo y la integración que tiene Entourage (version Mac del Outlook) con Exchange es un poco mejor que la de las herramientas que trae OS X (tal vez no el mail, pero el address book no lo pude hacer sincronizar con exchange sin Entourage). Otro gran problema es que no hay Universal Binaries de Office 2004, por lo que es bastante mas lento que el resto de las aplicaciones. Por suerte, dentro de un mes ya sale Office 2008. Esperemos que sea bastante mejor que éste.

Bueno, con esto cierro el post (que, de hecho, fue escrito desde OS X, usando internet inalámbrica, mientras escucho musica en el iTunes :D). Cualquier duda consultenme y voy a hacer lo posible en darles una mano.

Z en la heladera, digo, OS X :D

2007-11-21

Windows Vista me destruyó la PC 2 veces en menos de 2 días y otra vez… vuelvo a XP

El domingo, luego de instalar una actualización que se bajó de Windows Update, mi PC dejó de funcionar. Restauré una imagen de Ghost que tenía creada, pero se ve que algo malo tenía, porque no andaba Windows Update y tiraba algunos errores, por lo que decidí reinstalar. El lunes estuve todo el dia instalando Windows Vista y bajando drivers. Una vez que estuvo todo andando, abrí los updates y bajé todo lo que había para actualizar y… reinicie. Esa fue la última vez que Windows Vista pudo arrancar.

Teniendo mas ira que un ejercito de vikingos en puerta de vírgenes, decidí contar hasta 10, pensar en la tumba de quien no terminó de probar los updates y agarrar la imagen de Windows XP.

Otra vez en el viejo y querido OS lanzado en 2001 por Microsoft, espero terminar mis idas y venidas por Vista y XP, al menos hasta que salga el SP2 de Vista.

PD: Encontré para usar con XP un programa que simula (y muy bien) el Exposé (o como se escriba) de OS X. Lo pueden conseguir en http://www.reflexvision.net/

Z

2007-11-08

Post descolgado: Para los fanas de DragonBall y nostálgicos del Lemmings… LBZ3D!

Gente, les dejo aca un excelente jueguito de pelea en 3D basado en los personajes de DragonBall Z… hechos lemmings!

Es medio exigente con la placa de video, pero el juego esta muy bueno: HomePage

Z

2007-11-05

Copy as HTML en Visual Studio

Para toda la gente que tenga un blog o similar y tenga que pegar código, le recomiendo que use el CopySourceAsHtml y a olvidarse de los problemas de Blogger, Word 2007 o Live Writer cuando pegás un pedazo de código!. (Gracias Mariano!)

Lo pueden bajar de aca.

Z

Accediendo dinamicamente a WebServices

Hoy estábamos viendo con uno de los chicos del laburo que necesitaba poder acceder a distintos WebServices (desconocidos para el en tiempo de compilación) y queríamos encontrar una forma cómoda de hacerlo.

Después de buscar un poco, encontramos una solución que pareció bastante piola: usando el WSDL del WebService, generar la clase proxy en runtime y usar los WebMethods por Reflection. Está claro que no es la solución óptima en términos de velocidad, pero con unas clases helper que hice, resulta muy cómodo para usar.

El siguiente código lee el WSDL y genera la nueva clase en runtime:




try

{

    //Get the web service description

    Uri uri = new Uri(wsdlUrl);

 

    WebRequest webRequest = WebRequest.Create(uri);

    System.IO.Stream requestStream = webRequest.GetResponse().GetResponseStream();

    ServiceDescription sd = ServiceDescription.Read(requestStream);

    string sdName = sd.Services[0].Name;

 

    //Create the ServiceDescriptionImporter

    ServiceDescriptionImporter sdImporter = new ServiceDescriptionImporter();

    sdImporter.AddServiceDescription(sd, String.Empty, String.Empty);

    sdImporter.ProtocolName = "Soap";

    sdImporter.CodeGenerationOptions = CodeGenerationOptions.GenerateProperties;

 

    CodeNamespace codeNamespace = new CodeNamespace(DefaultNamespace);

    CodeCompileUnit compileUnit = new CodeCompileUnit();

    compileUnit.Namespaces.Add(codeNamespace);

 

    //Import the ServiceDescription

    ServiceDescriptionImportWarnings warnings = sdImporter.Import(codeNamespace, compileUnit);

 

    if (warnings == 0) //No warnings

    {

        CSharpCodeProvider codeProvider = new CSharpCodeProvider();

        codeProvider.GenerateCodeFromNamespace(codeNamespace, new StringWriter(), new CodeGeneratorOptions());

 

        //Compile the assembly

        string[] assemblyReferences = new string[2] { "System.Web.Services.dll", "System.Xml.dll" };

        CompilerParameters param = new CompilerParameters(assemblyReferences);

        param.GenerateExecutable = false;

        param.GenerateInMemory = true;

        param.TreatWarningsAsErrors = false;

        param.WarningLevel = 4;

 

        CompilerResults results = codeProvider.CompileAssemblyFromDom(param, compileUnit);

        Assembly assembly = results.CompiledAssembly;

 

        Type[] types = assembly.GetExportedTypes();

        //Get the generated Type

        return new DynamicProxyClass(types[0], GetMethodNames(sd.PortTypes[0].Operations));

    }

    else

    {

        throw new Exception(String.Format("Importing has warnings: {0}", warnings.ToString()));

    }

}

catch (Exception ex)

{

    throw new Exception("Couldn't generate proxy class (see inner exception)", ex);

}



Acá se puede ver que lo que devuelvo es una DynamicProxyClass. Esta clase lo que hace es wrappear la clase generada y exponer solo los métodos del WebService, sus tipos de retorno y sus parámetros.

Si les interesa jugar con esto, dejo para bajar el código completo de la solución.


Z

2007-10-08

C# 3 y Linq – Parte 2

Les dejo la segunda parte del artículo, donde se ven más ejemplos y una implementación de Linq hecha sobre una clase propia.

Lo pueden bajar de acá.

¡Hasta la próxima!

Z

C# 3 y Linq – Parte 1

Hace unos meses, con Ariel Neisen y Javier Argüello hicimos un artículo explicando los nuevos features incluidos en C# 3 y Linq para publicar en la revista .Code. El artículo ya había sido enviado, sin embargo hace unos días nos enteramos de que la publicación de la revista fue suspendida (aparentemente for good). Como el artículo ya estaba hecho, decidí publicarlo en el blog.

La primera parte hace una introducción a las nuevas herramientas del lenguaje y a Linq. La pueden bajar de acá.

En un rato estaré publicando la segunda parte.

¡Hasta la próxima!

Z

2007-09-03

SvnBridge: TFS a través de un cliente de SubVersion

Gente, para quienes tengan que usar TFS en sus proyectos, pero estén acostumbrados a herramientas para control de versión menos invasivas como el SVN o CVS, les recomiendo el SvnBridge: un programita que pone un mini-server de SVN en la maquina local, que lo único que hace es wrappear los comandos de SVN a otro server de TFS. Yo lo estoy usando para subir las cosas a Codeplex. Parece funcionar un poco lento, aunque no se si es por el server de TFS o este programa. Muy bueno

Pueden obtener el código fuente desde acá: http://www.codeplex.com/SvnBridge

Saludos!

Z

2007-09-02

Key Simulator – Voice Commander

Gente, para quienes quieran tener la última versión del Voice Commander que estoy haciendo, pueden bajárselo de http://www.codeplex.com/KeySimVoiceCommander

Saludos!

Z

2007-08-31

Feedback sobre los posts anteriores

Al parecer, lo que mostre en el post anterior funciona "como viene" nada mas con Windows Vista. Tendría que sentarme a ver bien que pasa sobre XP.


Saludos!

Z

2007-08-29

Cool & Useless: Creando nuestra propia aplicación para manejar la PC por medio de la voz, (casi) todo desde código manejado (Parte 2)

En el post anterior vimos hace para usar el motor de reconocimiento de voz usando el .Net Framework 3.0 para reconocer las frases que nosotros queremos. Sin embargo, para hacer esto estábamos usando el motor de reconocimiento predeterminado del sistema. Haciendo un pequeño retoque, veremos que es posible usar el motor en cualquier otro idioma.

El primer requerimiento será bajar el MUI Pack del idioma que queremos usar. El Windows Vista Ultimate que yo tengo instalado trae ya instalado el motor para inglés americano y británico. Desde Windows Update, baje el MUI Pack de español y con esto, se instaló el motor de reconocimiento en español.

Como comenté en el post anterior, Windows no permite el uso del reconocimiento de voz en un idioma distinto al que se está usando en el sistema. Sin embargo, con las siguientes líneas de código es posible inicializar la clase SpeechRecognitionEngine con cualquier otro motor instalado.

Este ejemplo busca algún motor que esté en español y empieza a reconocer voz con el idioma elegido:



static void Main(string[] args)
{
SpeechRecognitionEngine sre = null;
foreach (RecognizerInfo config in SpeechRecognitionEngine.InstalledRecognizers())
{
if (config.Culture.TwoLetterISOLanguageName == "es")
{
sre = new SpeechRecognitionEngine(config);
}
}

Choices choises = new System.Speech.Recognition.Choices(
new string[] { "hola", "como", "estas", "mi nombre es Pablo" });

GrammarBuilder gb = choises.ToGrammarBuilder();
gb.Culture = sre.RecognizerInfo.Culture;
Grammar grammar = new Grammar(gb);


sre.LoadGrammar(grammar);
sre.SpeechRecognized += new EventHandler(sre_SpeechRecognized);
sre.SetInputToDefaultAudioDevice();
sre.RecognizeAsync(RecognizeMode.Multiple);
}

Debemos recordar que al inicializar el SpeechRecognitionEngine con un idioma distinto al predeterminado, también debemos cambiar la cultura del GrammarBuilder usado para generar la gramática a cargar. El resto del ejemplo es igual a lo ya visto.

Volviendo a nuestro objetivo de manejar cualquier cosa con la voz, lo que necesitamos hacer ahora es poder simular el uso de teclado.

Si bien el .Net Framework trae la clase System.Windows.Forms.SendKeys con el método Send, el cual recibe un String y simula presionar esas teclas, veremos que esto no nos va a servir para simular es uso del teclado en juegos que usen DirectX.

Para poder hacer esto, usé la función SendInput() desde C++ la cual está disponible al incluir el header windows.h . Esta función sirve para simular desde un nivel mas bajo el input desde teclado, mouse o algún otro dispositivo de hardware (más información en http://msdn2.microsoft.com/en-us/library/ms646310.aspx).

A continuación un pequeño ejemplo de cómo usarlo para simular la letra 'A'



void SimulateKeyboard()
{
KEYBDINPUT kb={0};
INPUT Input={0};

kb.wVk = 'A';
Input.type = INPUT_KEYBOARD;
Input.ki = kb;
::SendInput(1,&Input,sizeof(Input));
}


Teniendo esto, creé un nuevo proyecto de DLL en C++ para poder exportarla y usarla desde código manejado.

Una vez obtenida la DLL que exporta el método creé un proyecto de DLL en C# para poder wrappear esta función y usarla cómodamente desde código manejado.

Con esto ya terminé de armar todas las herramientas necesarias para mi aplicación. Solo restó armar una aplicación que levante una configuración desde un archivo XML con las frases que quería decir, asociadas a las combinaciones de teclas a simular y listo! Ya tenía armado mi simulador de teclado manejado por voz.

Acá les dejo un link al código del proyecto entero para que lo bajen. Tengan en cuenta que esto lo hice medio a los apurones así que puede estar bastante buggeado, pero, como diría el Bambino Veira, La Base Está J


Saludos!


Z

2007-08-28

Cool & Useless: Creando nuestra propia aplicación para manejar la PC por medio de la voz, (casi) todo desde código manejado (Parte 1)

Después de gastar horas y horas jugando al Star Trek: Bridge Commander, empecé a pensar que al juego le faltaba algo. En un perfecto simulador de una nave de Star Trek el capitán debería estar hablando con la tripulación de puente, y no picándole la cabeza (traducción al mundo real de hacer click al mirar hacia un tripulante) para que hagan lo que dice, por lo que me propuse lo siguiente: Hacer íntegramente en .Net una aplicación en la cual pueda reconocer comandos de voz, los mapee a hotkeys del juego y simule su uso, para que entonces yo pueda gritar: Red alert! Shields up! Y mi primer oficial levante los escudos y las armas, sin tener que memorizarme los 381273981 hotkeys que trae el juego.

Para lograr mi objetivo, empecé por donde suponía que iba a tener mayores dolores de cabeza: el Reconocimiento de Voz.

Desde hace unos días ya había estado entrenando al motor de reconocimiento de voz en ingles que trae Windows Vista, usando el (pésimo) micrófono incorporado a la laptop. A pesar de todo, el resultado había sido bastante satisfactorio, pudiendo usar con relativa comodidad la maquina mediante órdenes de voz, siempre y cuando este en un ambiente silencioso. La primera vez que instalé Windows Vista había bajado el MUI Pack en español, para poder tener reconocimiento de voz en ese idioma. El problema era que para poder usarlo desde Windows tenía que cambiar el idioma de toda la interfaz de usuario, cosa que prefería evitar, por lo que decidí no bajarlo esta vez.

Investigando en MSDN, encontré que con el Framework 3.0 viene un assembly llamado System.Speech, el cual tiene clases que sirven tanto para el reconocimiento como la síntesis de voz.

Si quieren usar este assembly en un proyecto de Visual Studio 2005 y no aparece en el listado de referencias para agregar, vayan a C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\ (o el equivalente en su máquina) y lo van a encontrar.

Dentro del namespace System.Speech.Recognition encontré las clases SpeechRecognitionEngine y SpeechRecognition, las cuales use para poder empezar a "escuchar" lo que estaba diciendo, dentro del programa (más información en http://msdn2.microsoft.com/en-us/library/system.speech.recognition.aspx).

A grandes rasgos, noté como diferencia de SpeechRecognition y SpeechRecognitionEngine que el primero levanta la aplicación que Windows Vista usa para reconocimiento de voz, por lo que todo lo que yo diga iba a ser "escuchado" por esta aplicación también; entonces si yo decía entre otras cosas "Open Internet Explorer" Windows iba a abrir el Internet Explorer, mientras que usando la clase SpeechRecognitionEngine, solo el motor de reconocimiento es activado, pero todo el control queda a manos del desarrollador.

A continuación, un pequeño ejemplo de cómo usé esta clase:



using System;
using System.Collections.Generic;
using System.Text;
using System.Speech.Recognition;
using System.Threading;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
Choices choises = new Choices(new string[] { "Hello", "Good bye" });

GrammarBuilder grammarBuilder = choises.ToGrammarBuilder();

sre.LoadGrammar(new Grammar(grammarBuilder));

sre.SpeechRecognized += new EventHandler(sre_SpeechRecognized);
sre.SetInputToDefaultAudioDevice();
sre.RecognizeAsync(RecognizeMode.Multiple);

Console.ReadKey();
}

static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Confidence > 0.9)
{
Console.WriteLine("Escuché '{0}' con una certeza del {1}%",
e.Result.Text,
e.Result.Confidence * 100);
}
}
}
}

En el ejemplo se ve como creamos una nueva instancia de la clase Grammar, mediante el uso de la clase Choises, con la cual indicamos que es lo que vamos a querer escuchar desde el programa. Una vez creada la nueva gramática se la podemos agregar a la instancia del SpeechRecognitionEngine. A continuación suscribimos un método nuestro al evento SpeechRecognized para poder hacer algo cuando el SRE reconozca algo. Como el SRE puede escuchar no solamente de un micrófono, sino que también de un archivo de sonido, llamamos al método SetInputToDefaultAudioDevice() para que sepa de donde tiene que escuchar.

Para terminar, llamamos al método RecognizeAsync para poder empezar a reconocer voz de forma asincrónica.

El método sre_SpeechRecognized se fija que el reconocimiento tenga una certeza de más del 90% y en ese caso, escribe lo que reconoció en pantalla.

Con esto, ya tenemos la forma de reconocer los comandos de voz que le vamos a querer mandar a las otras aplicaciones. La próxima les voy a mostrar como poder elegir entre varios idiomas para usar en el reconocimiento de texto y como poder simular el uso de teclado en cualquier aplicación, incluso juegos que usan DirectX!


 

Saludos!

Z

2007-08-11

Windows Vista – Round 2

Después de haberle agregado 1GB más de RAM a la Thinkpad T60p, volví a instalarle Windows Vista (y usarlo sin swap). Por ahora, la maquina está teniendo un excelente tiempo de respuesta y un uso de memoria del 40 a 50 porciento en idle (total: 2GB).

Veremos en estas semanas como se sigue comportando, ahora que mucho mas software es compatible con el nuevo sistema operativo de MS.

Saludos!

Z

2007-07-31

La instalación de Windows Vista no se lleva del todo bien con Linux

Paso a comentarles un problema que tuve y como lo solucioné, al intentar instalar Windows Vista en mi máquina de escritorio.

La historia es asi: la PC donde se iba a instalar Vista es un AMD Sempron 2400+ con 640MB de RAM con una placa de video ATI Radeon 9600XT con 128MB de memoria. Si bien no está arriba de todo con los requerimientos de hard de Vista, se suponía que tenia que andar bien para lo que la iba a usar (Downloader y Central Multimedia). Esa PC tenía instalado un Ubuntu Linux 7.04 y tenía el disco de 120GB particionado en 2: 90GB en NTFS para datos, 29GB en EXT3 para sistema y 1GB para swap.

Luego de quemar el DVD de Windows Vista me dispongo a instalarlo en la PC. Pongo el DVD, reinicio la máquina. Empieza a bootear desde el DVD, aparece el cartel de Windows Vista y la barrita moviéndose al cargar y… puf! Pantalla en negro. Uno, dos… cinco… diez… treinta minutos sin hacer nada. Reinicio. Vuelvo a intentar. Lo mismo. Empezamos mal.

Como primer problema, sospeché que podía haber algún problema con el DVD, entonces agarre la notebook e intenté instalar Vista en una VM. Instaló sin problemas y en tiempo record. Después, se me ocurrió que podía llegar a ser problemas del monitor LCD (nuevo) que tenía. Algun problema de resoluciones, tasa de refresco o algo asi. Probé con el CRT y tampoco: sin respuesta.

Mi próximo target fue la placa de video. Busque mucho en internet y no parecía haber nada reportado sobre incompatibilidades de mi Motherboard - Placa de Video - Procesador con Windows Vista. Hasta que finalmente se me ocurrió: ¿Será algún problema con la partición EXT3 que tengo? ¿O con la partición NTFS en la cual Linux estuvo trabajando todo este tiempo?

Ahí probé correr el GPartEd (Gnome Partition Editor), borrar las particiones Linux y dejar la NTFS solamente. Volví a correr la instalación de Vista y, pese a no poder instalar, la cosa había mejorado un poco: la instalación mostraba una pantalla mas (la que se ve el fondo azul) y me mostraba el puntero del mouse, pero nada mas (y tardaba mucho en poder hacer esto). Lo bueno es que sabia por donde venia el problema: resultaba que una vez (usando Linux) se cortó la luz en mi casa y la partición NTFS quedó marcada como que tenia que ser escaneada por errores (sin embargo, siempre anduvo bien). Esto todavía no se puede hacer desde Linux, asi que nunca lo hice. La forma de solucionarlo fue correr la instalación de Windows XP (que anduvo sin problemas), crear una partición NTFS en el espacio que había quedado al borrar la partición EXT3, correr el verificador de unidades y recién ahí, volver a instalar Vista, esta vez sin problemas.

Asi que si a alguien le pasa que la instalación se le queda en una pantalla negra, o en la pantalla con fondo azul, puntero del mouse y nada mas, vea si no hay algún problema con las particiones.


 

Un saludo!

Z

2007-06-17

Finalmente, Mac OS X andando en la Thinkpad T60p

Después de varios intentos de instalar OS X sobre la T60p y 2 DVDs de Mac OS X bajados, pude instalar el flamante sistema operativo de Mac en la notebook.

Por si alguien está teniendo los mismos problemas, les cuento los detalles de esta máquina, como hice para instalarlo y que quedo andando y que no.

Detalles de la máquina, Lenovo Thinkpad T60p

  • Procesador: Intel® Core™2 Duo T7200 (2GHz)
  • Memoria: 1GB RAM PC2-5300 667MHz DDR2
  • Disco Duro: 100GB 7200rpm HD SATA 150
  • Unidad Óptica: CDRW/DVDRW Multiburner
  • Pantalla: 15.4" 1680x1050 LCD Widescreen anti-glare
  • Conectividad: Intel® 802.11abg Wireless, Bluetooth/Modem, 1Gb Ethernet
  • Otros: 256MB ATI® Fire GL™ V5250, Ultranav, Thinklight™, Secure Chip, Fingerprint Reader, Batería 9 celdas Li-Ion, Ports: Three USB 2.0 / external DB-15 monitor / infrared (4Mbps) / RJ-11 (modem) / RJ-45 (ethernet)

Instalación:

El DVD que me bajé es el de Mac OS X JaS 10.4.8. La instalación es bastante fácil de seguir. Tiene una utilidad para particionar discos que no trae grandes complicaciones (yo lo instalé en un disco externo conectado por USB y anduvo de 10). En el momento de elegir que paquetes instalar, hay que marcar el de Intel SSE3, y los que tengan que ver con el hardware de la maquina (creo que ninguno mas para mi caso).

Una vez terminada la instalación, no hay que sacar el DVD de la lectora y volver a arrancar la instalación. Cuando ya cargó de nuevo, abrir una consola (creo que está en el menú de utilidades), ir al directorio: /Volumes/NombreDelDiscoDondeInstalaronMacOsX/System/Libraries/Extensions/

Estando ahí, borrar (o mover a algún otro lugar):

  • ATI*
  • ApplePCCardATA
  • ApplePCCardATA16 (Este creo que se llama distinto…)
  • IOPCCardFamily (Este decía que había que borrarlo, pero nunca lo tuve)
  • AppleHDA

Una vez hecho esto, salir del programa de instalación, sacar el DVD y bootear felizmente Mac OS X (si no borramos esto, tira un Kernel Panic, indicando que hay que reiniciar la máquina).

Al iniciar Mac OS X, vamos a tener la PC con la red Ethernet funcionando, pero con una resolución de 1024x768 y sin sonido.

Para conseguir tener sonido busquen el siguiente driver en la página http://forum.insanelymac.com/ : Conexant_HD_Audio.pkg.zip

Aparentemente, todavía no hay drivers para la placa de video, FireGL v5250 (mismo chip que la X1700) asi que lo mejor que pude conseguir fue subir la resolución a 1400x1050, y no 1680x1050, como debería ser. Tampoco pude activar los efectos 3D por el mismo motivo.

Sobre la placa de red wireless el asunto es similar: recién hace poco empezaron a desarrollar un driver que funcione con la placa que trae esta máquina, asi que habrá que esperar unos meses hasta tenerlo andando.

Para más información busquen en el foro de InsanelyMac que hay mucha gente que pasó por lo mismo.

Ah, si alguien consigue drivers, o como hacer andar bien la placa de video, por favor avíseme!!!

Saludos,

Z

PD: Si lo instalan, con el Beta de VMWare Fusion pueden correr su instalación de Windows alojada en otra partición como si fuese una máquina virtual y con el nuevo feature Unity pueden tener las ventanas de Windows directamente en el escritorio de Mac! (pretty cool, ha!)

2007-06-09

OS X se niega a instalar

Estuve todo el sabado a la tarde tratando de hacer andar Mac OS X en mi Thinkpad T60p, pero finalmente tuve que resignarme: no hubo forma de hacerlo andar. Siempre que terminaba de instalar, reiniciaba la PC y todo terminaba con un kernel Panic. Ahora me estoy bajando una versión mas nueva, a ver si con ese puedo instalarlo bien (ahora voy a tratar de hacerlo sobre el disco externo, para no tener que volver a destruir mi partición de XP…). Todo sea por poder usar el VMWare Fusion :D

Z

2007-05-21

Generics con tipos anonimos en C# 3.0

Hace unas semanas bajé el Beta 1 de Visual Studio Code Name Orcas, el cual trae soporte para el .NET Framework 3.5 y las herramientas de lenguaje para C# 3.0

Jugando un poco, primero con LINQ y después con los nuevos chiches de los tipos anónimos me encontré con el siguiente problema: pese a que haciendo queries de LINQ los valores de retorno podían venir como un tipo anónimo, yo no podía hacer lo mismo para mis clases.

Básicamente mi motivación era no tener que crear una clase para, por ejemplo, tener una colección de tuplas <Int, String> para poder hacer algo como esto:

(este código no compila. La notacion List<{Int, String}> es product de mi imaginación :D)

List<{Int, String}> miLista = new List<{Int, String}>();
miLista.Add(new { Elem1 = 1, Elem2 = "A" });
miLista.Add(new { Elem1 = 2, Elem2 = "B" });
miLista.Add(new { Elem1 = 3, Elem2 = "C" });

foreach (var tupla in miLista)
{
    Console.WriteLine(tupla.Elem1);
    Console.WriteLine(tupla.Elem2);
}



Le comenté esta duda a Diego Gonzalez y después de unos días me averiguó la forma de poder hacer esto y por que no funcionaba mi idea original. Me dijo que el problema es que los tipos genéricos no pueden ser inferidos en el constructor y es por eso que no se pueden crear las List<T> de esta forma.

Para poder crearlas hubo que hacer una clase auxiliar que infiere los tipos desde métodos estáticos y crea las instancias de las clases genéricas con los tipos ya inferidos (por si no se entendió, aca va un ejemplo):

(este código SI compila!)

using System;
using System.Collections.Generic;
using System.Text;

namespace CollectionsTest
{
    public class CollectionGenerator
    {
        public static List<T> NewList<T>(T witness)
        {
        return new List<T>();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var miLista = CollectionGenerator.NewList(
            new { Elem1 = 1, Elem2 = "A" });

            miLista.Add(new { Elem1 = 1, Elem2 = "A" });
            miLista.Add(new { Elem1 = 2, Elem2 = "B" });
            miLista.Add(new { Elem1 = 3, Elem2 = "C" });

            foreach (var tupla in miLista)
            {
                Console.WriteLine(tupla.Elem1);
                Console.WriteLine(tupla.Elem2);
            }
        }
    }
}


Básicamente, lo que hace el método NewList de la clase CollectionGenerator es inferir el tipo de un testigo de una clase genérica y construir una lista del tipo inferido. Una vez hecho esto, ya podemos usar nuestra lista de objetos de un tipo anónimo!

Espero que les sea útil.

Un saludo!

Z

2007-05-10

VMWare Workstation 6 (o Player 2) vs. Virtual PC 2007

Hace poco me bajé el Beta 1 de Visual Studio Orcas y prefería no destruir mi PC en el intento de probarlo me incliné por la opción de la virtualización.

Como cada vez que hago esto desde Windows, llegué a la dicotomía de si debía usar VMWare (el cual siempre supo dar buenos resultados en el pasado), o el nuevo Virtual PC 2007, del cual me habían hablado muy bien.

Para empezar, me bajé (de forma gratuita) el Virtual PC 2007 y creé una nueva máquina virtual con Windows XP SP2, todas las actualizaciones y Visual Studio Orcas. Para mi sorpresa (y en comparación con las versiones anteriores de Virtual PC) teniendo una VPC con sólo 256MB de RAM, se podía trabajar con total fluidez y soltura, sin frenadas ni grandes tiempos de carga (y decir eso sobre Visual Studio no es poca cosa). Lo único que podía notar a veces es que la máquina host se notaba un poco lenta.

Para mi suerte, después de 2 días (y por pura casualidad) salió la nueva versión de VMWare. Como andaba con un poco de tiempo, decidí probar cual era el mejor de los dos para lo que quería hacer (de por sí, el VMWare arrancaba con la ventaja de que corre Linux sin problemas, cosa que necesito a veces para la facultad). Bajé el VMWare Player 2.0 para Windows y el trial de VMWare Workstation para Linux (después verán para que). El único asunto es que el VMWare Player no tiene ninguna tool para crear nuevas máquinas virtuales. Aquí es donde www.easyvmx.com entra en juego: una página donde uno puede configurar una maquina virtual como quiere, y la genera! Con esto, ya podemos tener una maquina virtual similar a la creada para VPC. Una vez bajada la VM, procedí a instalar Windows XP.

Una vez ya instalado el sistema operativo salta a la luz otra diferencia del VMWare Player con la versión Workstation o Server: la falta de las VMWare Tools, instalables en la máquina Guest. Igualmente, esto tiene una muy simple solución: vamos al archivo .tgz que bajamos de la versión trial para Linux de VMWare Workstation y si buscamos un poco vamos a encontrar un archivo llamado Windows.iso o Linux.iso, los cuales son las imágenes de CD de las VMWare tools para Windows y Linux respectivamente. Montamos la imagen en la VM e instalamos las tools.

Ahora si, ya estamos en igualdad de condiciones para comparar los dos productos. Para ver que me convenía más, decidí correr unos benchmarks. Pese a que estuvieron bastante más parejos que los benchmarks anteriores, VMWare sigue superando a Virtual PC en performance.

Una cosa loca que me paso con los benchmarks es que al hacer un benchmark de disco, VPC sacó incluso más puntaje que la maquina nativa, por lo que pienso que debe estar haciendo alguna trampa en esa categoría…

Como todavía no quería cerrar el veredicto, me puse a usar la VM para ver como era el tiempo de respuesta y usabilidad. En una palabra, excelente. Como dato extra, la maquina host queda bastante más viva al correr la VM que con VPC.

Por lo tanto el veredicto final es: VMWare sigue ofreciendo superior performance, pero ahora es seguido bastante más de cerca por Virtual PC.

¡Hasta la próxima!

Z

2007-04-22

Vuelta al Blog, vuelta a XP

Hace una banda que no escribo nada!!

Ya que es un blog bastante nerd, solo voy a poner las cosas nerd-reelevantes:

  • Volví a XP. Vista es muy lindo y todo lo que quieran, pero todavía esta verde. Para las cosas de desarrollo y, en general, el uso de la red todavía anda mal. Más aún, con la IBM, XP vuela. Pero vuela en serio.
  • Pude usar bien (tanto en Vista como XP) el acelerómetro de la Thinkpad. En unos días subo unos ejemplos de unos jueguitos tontos que hice.
  • Salió Ubuntu 7.04 – Feisty Fawn! Ya lo tengo corriendo y configurado en mi máquina desktop. 10 puntos…
  • Salió el custom firmware 3.30 OE para la PSP. Para quienes quieran bajarlo, vayan a la página que recomendé hace unos posts.


 

Otro tema: para quienes tengan problemas para ver DVDs en la notebook porque se les escucha muy bajito (en WMP), les paso 2 tips:

  1. Usen el VLC. Si le ponen el volumen al taco, se escucha bastante bien.
  2. Bajense el ultimo AC3Filter, pongan que tienen salida stereo de 2.0 y suban el volumen de ahí. La diferencia es abismal.


 

Un saludo!!

Z

2007-03-20

New Toy: PSP

Desde el día de hoy soy un feliz poseedor de una PSP (también conocida como Gameboy con Esteroides).

Este minibichito tiene de 3 a 8 horas de autonomía (dependiendo del volumen, brillo y cosas extras como el WiFi) y capacidad de proceso similar (si no, superior) a la de una PSOne.

Lo mejor de todo es que como vino con un Firmware menor al 2.81 (2.60) pude actualizarlo perfectamente para que use un firmware custom, que permite correr libremente juegos backupeados, para decirlo de alguna forma y… todos mis juegos de PSOne con una imagen de CD desde un MemoryStick Pro Duo! (si… me compré uno de esos), aparte de emuladores y un montón de cosas mas.

Bueno, para quienes la tengan y quieran saber como actualizar su firmware o cosas similares, les dejo unas páginas que me fueron muy útiles:

http://homepage.eircom.net/~pspcalo/index.html - Todo sobre como actualizar a cada firmware, con guías paso a paso. Muy útil.

http://foro.tales-tra.com/viewtopic.php?t=109 – Popstation. Programa para pasar las imágenes de CD de PSOne al format de la PSP. Must Have.


 

Hasta la próxima!

Z

2007-03-19

Si fuese un superheroe sería Superman (o Spider-Man) y si fuese un supervillano, sería Dr. Doom

Dando vueltas por la red encontré unas páginas muy piolas: http://www.thesuperheroquiz.com/villain/ y http://www.thesuperheroquiz.com/


Con unas cuantas preguntas, te dicen que superheroe o supervillano serías. ¡A mi me salió Superman (y Spider-Man en segunda instancia) - ahora entiendo por que esos dos son mis superheroes favoritos :D - y como supervillano Dr. Doom!


You are Superman


You are mild-mannered, good,
strong and you love to help others.




Superman 80%
Spider-Man 70%
Green Lantern 70%
Robin 62%
Supergirl 50%
The Flash 50%
Batman 45%
Hulk 40%
Iron Man 35%
Wonder Woman 30%
Catwoman 25%


You are Dr. Doom


Blessed with smarts and power but burdened by vanity.



Dr. Doom 61%
Riddler 60%
Juggernaut 53%
Apocalypse 52%
Dark Phoenix 52%
The Joker 47%
Lex Luthor 43%
Magneto 42%
Mystique 37%
Green Goblin 33%
Two-Face 33%
Catwoman 29%
Kingpin 28%
Mr. Freeze 26%
Poison Ivy 23%
Venom 19%


Zaiden

2007-03-13

Ordenando los DVDs

Ayer se me dio por ponerme a ordenar los DVDs de casa.


Mala idea.


No me había dado cuenta que llegué a tener tantos DVDs. Decidí que la mejor forma de organizarlos es poniéndolos en carpetas en vez de cajas. Lo que pasa ahora es que no se que voy a hacer con las cajas (si a alguien le interesa comprar unas 200 – 300 cajas de DVD, avíseme J).


Ordenando DVDs


Zaiden

2007-03-07

Problema con software de Thinkpad y Internet Explorer

Gente, si alguien tiene una Thinkpad con todo el soft de Lenovo instalado y está teniendo problemas con el IE7 (los tabs tardan muchísimo en abrirse), pruebe desinstalar el ThinkVantage Client Security Solution for Vista. Eso lo arregla.

Zaiden

2007-03-05

Instalando Ubuntu Linux 6.10 en un disco USB o Pendrive

En este post voy a explicar cómo instalar Ubuntu Linux 6.10 (y probablemente cualquier versión posterior) en un disco externo USB o Pendrive (siempre y cuando tenga suficiente capacidad).

Primero que todo, configuramos en el BIOS que el orden de booteo tenga antes que el disco interno, el CD/DVD y el booteo por USB. Arrancamos la máquina con el CD de Ubuntu colocado e iniciamos el LiveCD. Antes de iniciar la instalación, conectamos el Disco o Pendrive a la computadora (nota al margen: en mi caso, tengo un disco de notebook conectado por un cable IDE-To-USB. Para que este funcione tuve que jumpearlo para que sea Master ya que con Cable Select no lo detectaba). Iniciamos la instalación y cuando nos pregunta en que disco instalar, elegimos el disco externo (en mi caso, /dev/sdb2). Cuando pregunta donde instalar GRUB, cambiamos (hd0) por el dispositivo en el que instalamos Ubuntu (en mi caso, sería /dev/sdb, sin los paréntesis y sin ningún número). Cuando termina la instalación, reiniciamos la maquina recordando sacar el CD de instalación antes de que vuelva a bootear.

Al volver a iniciar la computadora, el disco externo ya debe encontrarse conectado y si todo salió como esperábamos aparecerá el menú de GRUB para iniciar el Linux.

En mi caso, me paso que al seleccionar cualquier opción de Ubuntu en GURB me decía "Error 17". Esto ocurre porque al bootear desde el disco externo, el disco pasa a ser la primera unidad, entonces su denominación cambia por /dev/sdb1. Para solucionar esto presionen "E" sobre la opción que quieren usar y nuevamente E sobre la línea que dice: "root        (hd1,1)" (o similar) y cambien el primer 1 por un 0. Les debería quedar así: "root        (hd0,1)".

Una vez editado, toquen B para arrancar (creo que es B) y... tadaaaa! Ubuntu debería estar arrancando.

Para no tener que tocar el menú de arranque cada vez que inicia la máquina, desde su Ubuntu editen en archivo /boot/grub/menu.lst y cambien lo mismo que cambiaron recién en el menú de GRUB, pero en este archivo.

Cualquier duda, comenten acá. No me manden mails así otras personas también se benefician con su pregunta.

Un saludo!!


 

Zaiden

2007-02-27

A mover esas Notebooks!

Desde que Jony me dijo que las ThinkPad nuevas traen un sensor para poder medir la inclinación de la notebook, estoy con ganas de hacer alguna aplicación tonta que lo use.

Resulta que ya hubo gente a la que se le ocurrió, y si buscan en YouTube van a encontrar videos de gente manejando el TuxRace (famoso juego de carrera de pingüino en 3D de Linux) con el movimiento de la ThinkPad.

Habiendo visto esto, me emocioné bastante ya que confirmaba que lo que yo quería se podía hacer perfectamente.

Buscando por internet encontré la pagina de un flaco que hizo un programita de ejemplo en Python que usa el driver de este acelerómetro y obtiene los valores. Buscando un poco mas también pude encontrar casi el mismo ejemplo en C++ y C# (voy a dejar el ejemplo en C++)

El único problema, fue que al ejecutar el DeviceIoControl me tira un error y no puedo leer los valores. Si alguien llega a tener una idea de que puede ser lo que pasa, por favor digame. Igualmente ya le pregunté al flaco que lo hizo en Python, a ver si me puede dar una mano.

El ejemplo en C++ (compilado en VC++ 2005):

#include
"stdafx.h"

#include
<iostream>


 

using
namespace std;


 

//.........jun hirabayashi............................

// this C++ class was ported and modified from C# class

// http://www.ussg.iu.edu/hypermail/linux/kernel/0412.1/0974.html


 

#include
"windows.h"

#include
<iostream>


 

struct ShockData

{


int status;


short
int x0;


short
int y0;


short
int x1;


short
int y1;


short
int x2;


short
int y2;


short
int x3;


short
int y3;


short
int x4;


short
int y4;


short
int x5;


short
int y5;


short
int x6;


short
int y6;


short
int x7;


short
int y7;


short
int x8;


short
int y8;


short
int x9;


short
int y9;


short
int x10;


short
int y10;


short
int x11;


short
int y11;


short
int x12;


short
int y12;


short
int x13;


short
int y13;


short
int unknown0;


short
int unknown1;

};


 

class Accelerometer{


private:

HANDLE hFile;

     ShockData AccelerometerData;


int OffsetX;


int OffsetY;


protected:


public:

Accelerometer();

~Accelerometer();


bool GetAccelerometerData(void);


int Status(void);


int X;


int Y;

};


 

Accelerometer::Accelerometer()

{


try

{

hFile = CreateFile(L"\\\\.\\ShockMgr", GENERIC_READ,

FILE_SHARE_READ | FILE_SHARE_WRITE,

             NULL, OPEN_EXISTING, 0, NULL);


if(hFile == INVALID_HANDLE_VALUE)


throw
"Failed to open ShockMgr.";

}


catch(...){}

OffsetX = 0;

OffsetY = 0;


if ( GetAccelerometerData() )

{

OffsetX = -X;

OffsetY = -Y;

GetAccelerometerData();

}

}


 

Accelerometer::~Accelerometer()

{

CloseHandle(hFile);

}


 

bool Accelerometer::GetAccelerometerData(void)

{


unsigned
long ulRead = 0;


try

{


if( !DeviceIoControl( hFile, 0x733fc, NULL, 0, // via IOCTL(0x733fc)

(void *)&AccelerometerData, 0x24, &ulRead, NULL))


throw
"Failed to DeviceIoControl";

X = AccelerometerData.x0 + OffsetX;

Y = AccelerometerData.y0 + OffsetY;


return
true;

}


catch(...)

{


return
false;

}


return
false;

}


 

int Accelerometer::Status(void)

{


return AccelerometerData.status;

}


 


 

int _tmain(int argc, _TCHAR* argv[])

{

    Accelerometer *pAccel = new Accelerometer();

    pAccel->GetAccelerometerData();


 

    cout << "X: " << pAccel->X << " Y: " << pAccel->Y << endl;


 

    system("pause");

}

Si llego a saber cómo solucionarlo, prometo postearlo.

Zaiden

2007-02-26

El regreso de los muertos vivos (o por que el Firewall de Vista se reactiva solo)

Pese a los reiterados intentos de desactivar el Firewall que Windows Vista instala de forma predeterminada, el mismo vuelve a activarse de forma sospechosamente aleatoria luego de un tiempo.

Si realmente no quieren usar el Firewall de Windows Vista, primero que todo, desactívenlo de la forma tradicional y luego de hacer esto hagan click derecho sobre Computer => Manage, van a la parte de servicios, doble click en Windows Firewall y cambien el tipo de inicio a Disabled.

Sé que es algo bastante tonto, pero ya vi mucha gente a la que se le reactiva solo el Firewall y ni siquiera se da cuenta.

¡Hasta la próxima!

Zaiden

2007-02-24

Cortito: ¡Pude volver a postear desde Word 2007!

Desde hacer un tiempo que el posteo desde Word 2007 había dejado de andar para Blogger, pero por suerte ya está operativo nuevamente :D

No sé si habrá sido una actualización de Office, o de Blogger ¡Pero la cosa es que anda!

Zaiden

New Toy! Lenovo ThinkPad T60p

Como sabrán por mi último post, la querida notebook HP COMPAQ V2069 cumplió su ciclo el día que decidió inmolarse cerca de mi persona.

Estuve cerca de un mes sin laptop, lo que me llevó a volver a usar la desktop para algo más que rockola o MuleComputer. En esa máquina tengo instalado un Ubuntu Linux 6.10 y aprovechando que tengo instalada una veterana pero todavía potente placa 3D (una ATI Radeon 9600XT) aproveché para ver a la nueva niña bonita del mundo Linux: Beryl, XGL y demás yerbas.

¡Simplemente agregué los repositorios de Beryl, 2 clicks en el Synaptic y listo! Me tomé mí tiempo y terminé dejando al Ubuntu como un bello Mac OSX lleno de efectos 3D, jeje :D.

Varias semanas pasaron, hasta que finalmente el chiche nuevo llego: Una Lenovo ThinkPad T60p con las siguientes specs:

  • Procesador Intel Centrino Duo (Core 2 Duo) T7200 (2Ghz).
  • 1GB RAM DDR2.
  • ATI FireGL V5250.
  • HD 100GB, 7200 RPM.
  • Pantalla wide de 15"4 a una increíble resolución de… ¡1680 x 1050! (¡Se ve bárbaro desde cualquier lado!).
  • Grabadora de CD/DVD.
  • Batería extendida de 9 celdas.
  • Y demás chiches (Lector de huellas digitales, Bluetooth, IR, Red Wireless, etc…).

Apenas llego, hice los DVDs de recovery (por cualquier cosa) y… ¡Zas! Instalé Windows Vista. Debo admitir que fui un poco miedoso y me mantuve en la versión para x86 (32 bits). Sin embargo, RodoF fue más valiente y se mando directamente a la versión x86-64, ya que este procesador implementa la arquitectura desarrollada originalmente por AMD, pero que Intel llama Intel64 (en contraparte de AMD64).

Al principio pensé que teniendo 1GB de RAM iba a notar demasiado acceso al disco por swapping, pero para mi sorpresa la máquina anda con mucha soltura, incluso usando muchas aplicaciones a la vez (el único problema que noté hasta ahora es que tarda bastante en prender y en apagar, pero estoy sospechando que el culpable de eso es alguno de los programas de ThinkPad. Tendré que investigar al respecto).

Bueno, esto es todo por ahora. Hasta el próximo post!

Zaiden

PD1: En 2 semanas quemé una notebook, una desktop, un disco e hice que otro tirara errores de S.M.A.R.T. ¡Juro que fue sin querer!

PD2: Le voy a decir a Jony que se postee algo, porque hace mucho que no escribe nada.

Dato Loco: El cerebro no procesa negativos. Ej.: NO pienses en un elefante rosa… ¡Viste!

2007-01-24

Notebook Explosion!

Hola! Vengo hoy a contar la historia de como sobreviví al segundo atentado contra mi vida en menos de un mes (el primero fue la bomba colocada por la ETA en el aeropuerto de Madrid, al cual llegue solo dos horas mas tarde de que ocurriera la explosion)

Ese lunes parecia ser un lunes como cualquier otro lunes de verano: los pajaros cantaban, la temperatura del asfalto era superior a la del sol y la red de Quantum andaba mas lenta que tortuga liciada.
Dado que estaba laburando por RDP sobre otra máquina (y como ya dije, la red wireless no estaba en sus mejores momentos) decidí probar suerte cambiandome de lugar en la oficina, para ver si lograba tener una mejor recepción.

Una vez encontrado el nuevo lugar (pero aún manteniendo el mismo enchufe para la notebook, ya que estaba conectada en una zapatilla ubicada entre las dos locaciones) enchufé la computadora portatil.

Como casi siempre uso una maquina por RDP, suelo conectar un monitor extra a la notebook, asi puedo ver ambas computadoras a la vez. En mi lugar original ya tenia un monitor, pero para el nuevo "spot" iba a tener que trasladarlo, hasta que me di cuenta que al lado mio ya se encontraba un monitor, enchufado y andando, pero que nadie usaba, por lo que procedí a conectarlo.
En el momento que acerqué la ficha del monitor al conector de la notebook, lo primero que vi fue una especie de "relampago localizado", seguido de una bola de fuego (todo esto sobre mi mano).

La computadora se apagó instantaneamente. Y lo que siguió fue... olor a pistola de cebitas.

El resultado del nuevo atentado (nuevamente planeado para que "parezca un accidente") fue: La notebook ya no prende. El conector para docking station quemado-derretido y - por suerte - la preservación de los 5 dedos de mi mano izquierda.

La cosa es que por ahora estoy sin máquina, pero espero que en estos dias se solucione.

Hasta la próxima!

Zaiden

2007-01-19

Existe un lugar mejor, y se llama "London"

Hace unos días volví de mis vacaciones por europa. Me fui dos semanas para pasear por Inglaterra y Holanda.

Los primeros 10 días (incluido Año Nuevo) los pasé en Inglaterra. 3 días cerca de Norwich y una semanita en London.

London es, sencillamente, espectacular: la vista, las cosas, los lugares, la gente... todo! El único problema que tenía era la guita. Considerando que el cambio esta 6 a 1 con los Pounds y el Peso argentino, estaba un poco limitado en el factor shopping. El tema es que ahi se encuentran todo tipo de cosas que nunca van a llegar para aca (como ediciones de coleccion de DVD de Star Trek, modelos para armar, y mil cosas mas). Lo que noté es que, pese a lo que yo pensaba, no estamos tan atrasados aca en materia de celulares. Allá la mayoria de la gente usa las mismas porquerías que usamos aca (por ejemplo, mi celular - que tiene mas de 2 años - con Windows Mobile 2003 es muchisimo mejor que el 95 % de los celulares que venden ahi).

Después de London me fui para Amsterdam por 3 días, donde me encontré con mi amigo Chavito. También... espectacular! Muy muy lindo, aunque el clima nos arruinó un poco la vista los primeros dos dias.

Bueno, eso es todo. Quería escribir algo porque si no, el blog queda medio muerto. Cuando vea algo copado, lo posteo.

Zaiden