viernes 23 de octubre de 2009

Mi primer día con Windows 7

Hoy se entregó oficialmente al mercado el nuevo Windows 7 del que se han hablado tantas cosas y que parece por fin arreglar todos los inconvenientes que tenía Vista…Hoy a sido mi primer día usando Windows 7, aquí les dejo las cosas para las que me alcanzó el primer día y que ya sin duda me hacen ver que me harán tener una mejor experiencia que con Vista.

Performance: Aunque tampoco es algo milagroso si se siente mas “ligero” que Vista se ven menos esos interminables cursores de espera y ya no piensa tanto para hacer las cosas…al menos eso parece primera Vista.

Calculadora: Puede parecer algo menor, pero creo que ya era tiempo de que Microsoft le hiciera justicia a está tan popular utilería… entre las cosas nuevas es que tiene dos tipos nuevos (programmer y estadística) además del estándar y científica así como una sección de historial y un track de las operaciones que has realizado para llegar a un resultado

 image

Paint: Otro que se mejoró con todo y su Ribbon a la Office 07…image

La TaskBar:

image 

Lo nuevo aquí es que puedes hacerle un “pin” que es como  agregar un tipo menú de acceso rápido, bastante útil, además de que aparece un pop-up con las instancias de esa misma aplicación.

Los backgrounds intercambiables: Ahora puedes crear un tema que contiene una serie de imágenes que pueden ir cambiando aleatoriamente cada determinado tiempo y así tener un tipo de slideshow en el desktop.

Los jumplist:

image

En el menu de inicio ahora además de tener las aplicaciones favoritas cerca podemos poner el cursos sobre esas flechas y ver la lista de los archivos mas recientes que han sido manipulados por ese programa en particular… (Disculpen esa rola de la emo de Avril Lavigne era la primera en la lista del media center).

Resource Monitor: Fue esta utilería lo que más disfrute de Vista y en 7 hace de nuevo su aparición con algunas mejoras, especialmente en la sección de memoria donde se muestra gráficamente el estado de la RAM.

image

Y también la sección de Networking, donde podemos revisar las conexiones TCP así como los puertos que están escuchando y saber específicamente que programas están utilizando recursos de Red…este resource monitor es de hecho también mi antivirus ñ_ñ

image

Snipping Tool: Otra utilería que faltaba y que le viene bien al Win 7 es está que te permite capturar pantallas y aunque hay varias mejores en el mercado, la que se incluye con este OS está bastante decente.

image

Y pues esto es lo más destacado que encontré en las primeras horas de uso con Win 7, esperemos a ver que otras monerías encontramos.

Nota: Yo lo instalé como Upgrade a Vista y funciona muy bien, ninguna de mis aplicaciones dejo de funcionar, ningún driver, no hubo problemas de compatibilidad, a pesar de que marcaba un warning con iTunes no pasó nada.

Saludos!

jueves 8 de octubre de 2009

Polymorphism for dummies


(aka: Polimorfismo pa los pasguatones)
No deja de sorprenderme las cosas que los reclutadores o head hunters les preguntan en entrevistas a candidatos para desarrolladores senior en Java o .NET.

Ya van varias veces que me toca reírme de experiencias de amigos que fueron cuestionados sobre cosas tan básicas como “Qué es herencia?”, “Permite C# herencia múltiple…y Java?”, “Una clase sealed se puede heredar?”… Todas estas cosas son preguntas que un candidato a ese puesto debería considerar sencillas y casi rayar en lo grosero.

Sin embargo hay varios amigos que los han agarrado en curva con la pregunta “Cómo defines tú el polimorfismo?” y siendo uno de los pilares de la OOP es elemental entenderlo. Sin embargo aunque muchos entienden como usarlo, la definición se torna complicada aún para los “expertos”.
He aquí pues una breve reseña del polimorfismo narrada en “mexicano” para los que les de flojera entender lo que encuentran en Google o que simplemente encuentran los textos y ejemplos muy aburridos y difíciles.

Así lo dijo Wikipedia
In computer science, polymorphism is a programming language feature that allows
values of different data types to be handled using a uniform interface. The
concept of parametric polymorphism applies to both data types and functions. A
function that can evaluate to or be applied to values of different types is
known as a polymorphic function. A data type that can appear to be of a
generalized type (e.g., a list with elements of arbitrary type) is designated
polymorphic data type like the generalized type from which such specializations
are made.

Parece muy largo para una definición…así que sigamos buscando algo más sencillo

Ven los pajaritos que están en la imagen de arriba (sin albur), bueno pues ahí está el ejemplo más claro de polimorfismo y que la naturaleza nos deja apreciar gratis. Es fácil darse cuenta que las tres aves son de la misma especie, sin embargo sus colores y plumaje varia un poco esto los hace diferentes unos de otros, eso es el polimorfismo.

Tenemos una clase base Humano que será abstracta, en nuestro ejemplo esto significa que todas aquellas acciones que puede hacer un humano pueden ser redefinidas por sus clases concretas, es decir los tipos de humanos que definamos, en el ejemplo serán 2 clases de humanos: Hombre y Mujer

Hay una publicidad de cerveza muy buena que usaré como ejemplo.

Este será nuestro método HaveSex


Este otro es el GoToBathroomWhileParty



Y por ultimo el HaveDrink




Esta es la definición de nuestra clase base.

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

namespace Polymorphism
{
public abstract class Human
{
public abstract void HaveSex();
public abstract void GoToBathroomWhileParty();
public abstract void HaveDrink();
}
}


Hombres y mujeres hacemos las mismas cosas pero vean como lo hace un hombre


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

namespace Polymorphism
{
class Man : Human
{
public override void HaveSex()
{
DrinkBeer();
GetGirl();
GetBed();
}

public override void GoToBathroomWhileParty()
{
DrinkBeer();
FindBathroom();
TakeALeak();
}



public override void HaveDrink()
{
JustGoGetIt();
}
}
}


…Y como lo hace una mujer


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

namespace Polymorphism
{
class Women:Human
{
public override void HaveSex()
{
SexRating howGoodisHe;
FindADrink();
FindABoy();
howGoodisHe = FindBed();
switch (howGoodisHe)
{
case SexRating.Gentleman:
GetRomanticDate();
WaitRing();
GetMarried();
HaveAFamily();
break;
case SexRating.Heartbreaker:
HaveAnIceCream();
break;
case SexRating.JustSex:
WaitForCall();
FindItWasJustSex();
HaveAnIceCream();
break;
}
}

public override void GoToBathroomWhileParty()
{
Boolean isEnoughPaper = false;
FindADrink();
WaitsASit(new TimeSpan(0,10,0)); //Ten minutes!
TalkSillyThingWithFriend(new TimeSpan(0, 5, 0)); // Five minutes!
if (isEnoughPaper)
CleanYourSit();
else
DontEvenTouchTheSit();
WaitYourSillyFriend();

}

public override void HaveDrink()
{
Boolean HasBeenThreeHours= false;
while (!HasBeenThreeHours)
{
TryToGetDressed();
}
ChooseADrink();
}

enum SexRating
{
Gentleman,
Heartbreaker,
JustSex
}


}
}


Esto es un claro ejemplo de polimorfismo, ambos géneros hacemos lo mismo, pero vaya que hay “implementaciones” complicadas.

Dicho esto podemos decir del polimorfismo:

Es la capacidad de una clase concreta para renegar de la voluntad de su clase abstracta padre y hacer las cosas como se le pegue la gana.


Ya por último me atrevo a medio recomendar esto, un ejemplo grotesco…pero eficaz y cuando aprendes a programar a los 17, este tipo de ejemplos sin duda ayudan bastante.


Saludos!





domingo 26 de julio de 2009

Ya sabía yo que un día iba a pasar….

usb

Hace unos días estaba cenando con algunos familiares, hay un pequeño primo (como 7 u 8 años) y me empezó a preguntar cosas,bastante despierto el engendro…

Y a estos niños ya les interesa saber de tecnología desde pequeños (tienen wii, psp, laptop, facebook, messenger, twitter, etc etc) por lo tanto alguna vez le estuve explicando como hacer textos en Word, ya saben sólo lo básico.

Y pues una de las lecciones que le di fue el cortar y pegar (nadie puede sobrevivir sin eso en la actualidad). El niño entendió rápido que el icono de la tijeras era cortar y que el que estaba a un lado era pegar (aunque no esta tan claro que imagen es).

Y cuando le dije como guardar me dijo…

Oye y ese cuadrito de guardar, ¿qué es?

En ese momento comprendí que acababa de suceder lo que tanto temí…había envejecido =(

Y es que le tuve que explicar…

Antes las computadoras tenían unos disquitos así como de plástico, donde podías guardar tus trabajos, les decían discos de 3 y media

El niño me observo, pensó unos segundos y me dijo…

Ahhh, es como una memoria USB??

Y yo… ¬¬

Ándale igual, sólo que no le cabía tanto, ni siquiera una canción

Y me dice el muy maldito…

Ah ps que chafa, yo en mi Ipod traigo como 1000

Y pues sí, yo a su edad tenía un walkman…de cassetes.

Moraleja: Desarrolladores, pongan una USB en sus barras de comandos y botones de “Guardar” sino, las nuevas generaciones no entenderán que demonios es el cuadrito ese…

Saludos

viernes 19 de junio de 2009

¿Qué hará usted este 5 de julio?

Estimados 5 lectores, ya antes, con muchos meses de antelación había yo comentado de lo que se avecinaba el 5 de julio.

Sin embargo ahora la cosa se pone más tensa, y la verdad es una elección sosa, sin personas reales solo rostros por ahí y por allá, en el fondo impera el vacío y la censura.

Nos pregunta Jesús Silva Herzog Márquez

¿Cuál es el lema más ofensivo de esta campaña?

  • "Elige creer." PRI
  • "Yo voy a votar por mantener la estabilidad." PAN
  • "Porque nos importa tu vida, pena de muerte." Partido "Verde."

Y la verdad nos la pone muy difícil. Este tipo de propaganda hueca sólo alimenta la desolación que nos azota como mexicanos, entre la influenza, la crisis, guarderías quemadas y demás señales inequívocas del fin del mundo; nuestros líderes no representan ni ínfimamente una luz al final del túnel.

Es triste de verdad, que en este país sólo se interesan en la política los analistas (a los que los jóvenes consideran “viejillos aburridos”), los políticos y demás sabuesos buscadores de hueso, y una mínima parte de la población que se preocupa por el futuro del país y que está totalmente desprovista de herramientas para manifestarse.

No nos vengan con la jodedera de que el voto es tu voz!! en las circunstancias actuales y con nuestras lustrosas opciones, no hay a quién elegir, es la realidad, tenemos el valor contundente de sólo un voto más para sus clientelismos.

Es por esto que aunque no me convence del todo el voto nulo, me sumo a ésta, al menos significa algo, una purga de los demónios internos, me gustaría defecar sobre la boleta y meterla así a la urna, al menos sería algo divertido para subir a YouTube. 

Súmese pues amable lector a la iniciativa del buen Ademyr, y exprésese!!

Ahora que sí usted es un ferviente fan de la partidocracia aquí le dejo estas tentadoras ofertas, directamente traídas del HECF

diputable_1

Como si fuese buffet…insisto, al menos me vomitaré en la boleta, finalmente la inspiración para el vómito es basta.

Saludos

jueves 18 de junio de 2009

Natal Project

En estas semanas pasadas mucho se habló sobre el E3 y sus impactos en la vida de millones de gamers alrededor del mundo, ahora veo con gusto y un poco de sarcasmo como mucha gente escribe en blogs y comenta en tertulias geek acerca del fabuloso Natal Project como si se tratará del cutting edge del 2009.

Y no es para menos, la verdad es impresionante ver los videos con los que lo promocionan, y aunque el tiempo ya no me permite ser tan intenso en el mundo de los videojuegos, a mi no me pareció taaaaaaan novedoso como a la mayoría de la audiencia. Mas sabe el diablo por viejo que por diablo…

Yo ya había hablado de esto en otra entrega de este su noble blog, hace más de un año, y ahora veo con gusto como Microsoft lo ha implementado de manera brillante, lo que resultara en una nueva guerra de consolas, la única guerra que se revive con más ardor cada 5 años…aquí les dejo el video del Natal Project.

Y recuerde…la verdadera novedad la vio usté primero por estos lares.

Saludos